|Course Title||Computing for Engineers|
|Convenor||Dr Ashesh Mahidadia|
|Lecturer||Dr Ashesh Mahidadia|
Mei Cheng Whale
|Classes||Timetable for all classes|
|Consultations||To be announced in Timetable for all classes|
|Units of Credit||6|
Computing is an integral part of modern engineering. Computing is used in the design, automation, experimentation, monitoring, diagnosis, data collection, data analysis, visualisation and many other aspects of engineering. A very important skill for engineers is to be able to use computers to help them to solve problems efficiently. The aim of this course is to give an introduction to computing for engineers with an emphasis on computational problem solving. In order to realise this aim, the students will learn to use the Python programming language and some its many packages to solve problems. Since the course is designed primarily for engineers, the computing examples are often presented together with an engineering context to help the students to appreciate the applications of computing in engineering. This course also includes a minor component in Matlab and spreadsheet.
This course assumes that the students have taken HSC level Maths. No prior knowledge on computing is required.
After completing this course, students should be able to:
The assessment are designed to assess your skills in solving problems and implementing your solution in a programming language.
This course contributes to the development of the following graduate capabilities:
|Graduate Capability||Acquired in|
|Scholars capable of independent and collaborative enquiry, rigorous in their analysis, critique and reflection, and able to innovate by applying their knowledge and skills to the solution of novel as well as routine problems||Lectures, labs and assignments|
|Entrepreneurial leaders capable of initiating and embracing innovation and change, as well as engaging and enabling others to contribute to change||Assignments|
|Professionals capable of ethical, self- directed practice and independent lifelong learning||Labs and assignments|
|Global citizens who are culturally adept and capable of respecting diversity and acting in a socially just and responsible way||-|
Problem solving and programming are practical skills that can be acquired through practice. The aim of the lecture is to introduce problem solving strategies and programming concepts. Examples will be used in the lecture to illustrate the concepts discussed. Students are encouraged to bring their laptop to the lectures so that they can work on the problem together.
Laboratory exercises are provided so that students can apply what they have learn in the lectures to solve problems. Surveys consistently rate lab classes as the most valuable learning experience in the course. This is because problem solving and programming skills can only be acquired by the students actually attempting, and perhaps sometimes agonising over, the problems.
Students are supported in various ways. Labs are supported by tutors and assistant tutors. Help sessions supported in tutors are run at various times in the week for students to drop in to ask questions. Additional help sessions will be run for assignments.
The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to provide an experience consistent with the University's values and guiding principles. A condition of enrolment is that students inform themselves of the University's rules and policies affecting them, and conduct themselves accordingly.
In particular, students have the responsibility to observe standards of equity and respect in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person as well as behaviour on social media, for example Facebook groups set up for the purpose of discussing UNSW courses or course work. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another's privacy or causing any person to fear for their personal safety is serious misconduct and can lead to severe penalties, including suspension or exclusion from UNSW.
Plagiarism is defined as using the words or ideas of others and presenting them as your own. UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism. In particular, you are also responsible that your assignment files are not accessible by anyone but you by setting the correct permissions in your CSE directory and code repository, if using. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.
UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.
If you haven't done so yet, please take the time to read the full text of
The pages below describe the policies and procedures in more detail:
You should also read the following page which describes your rights and responsibilities in the CSE context:
Please note that the following schedule is subject to change.
|Labs||All topics||7 labs during Weeks 1 to 10 during your lab classes. In addition, two virtual labs due in Week 8 and Monday Week 11.||18%||
|Week05 Assessment||Weeks 1-4 (Lectures) and Weeks 1-4 (Labs)||Week 5||12%||Week05 Assessment will be during your week 5 lab class|
||Weeks 1-9 (Lectures) and Weeks 1-9 (Labs)||Week 10||20%||
Week10 Assessment will be during your week 10 lab class
|Final Exam||All topics||Exam period||30%||
If your performance in your final exam is significantly different (as a percentage, >= 30%) to your performance in your Week-05 and Week-10 Assessments, you will be required to take further assessment which may include online interactive or face-to-face assessment. In this case, your final exam marks will be derived from your performance in the further assessment.
Labs : You need to answer one multiple choice question during your lab time, and demonstrate your lab work during your lab time for the respective week.
Week05 and Week10 Assessments: Your tutor will inform you regarding your time slot (during your lab time) for one-to-one interactive session to ask you specific questions and award you marks. You will be asked questions on the topics covered prior to the corresponding week. Interactive sessions will be on Microsoft Teams or Blackboard Collaborator and will be recorded for future reference.
: You need to answer questions in a specified time period. If you cannot answer questions, or don't show up at the allocated time on the required platform (Microsoft Teams or Blackboard Collaborator) as specified, you will receive zero mark for that lab assessment.
The questions will be related to (and not the same as) the prior lab questions. Please note that you must briefly justify your answers. Based on your justifications and answers, your tutor will award you marks. You don't need to offer long answers, as far as you convey your logic correctly and your tutor understands it, that's fine.
Assignments are to be completed in your own time. To maximise the learning benefits from doing assignments, it is essential that you start work on assignments early. Do not leave your assignments until the last minute. If you submit an assignment late, the maximum available mark is reduced by an amount (usually 15%) per day that it is late. Assignments are submitted using a link from the class website. Submissions will not be accepted 3 days after the assignment deadline.
Calculations of final mark :
You receive the sum of the component marks described above in the table.
Final mark = Labs (18) + Week05 Assessment (12) + Week10 Assessment (20) + Assignment-1 (10) + Assignment-2 (10) + Final exam (30).
You need to get 50 or more marks to pass the course.
The following course schedule is subject to change.
Course introduction. Introduction to Python.
Assignment and variables. Operators and Precedence.
Writing the first computer program.
The math library. Data types. Boolean.
Labs start from Week-01.
Control structure. Software development. Functions.
For-loop, list comprehension,
List indexing and slicing. String processing and formatting.
Assignment 1 available.
List data processing using for-loops. Import. Main. Exception handling.
Program testing and debugging.
While loops. Function arguments. Numpy (arrays)
||Week05 Assessment during your lab time.|
Numpy (Data analysis). File Handling.
Assignment 1 due.
Assignment 2 available.
Simulatio. Numpy (Elementwise computation, Boolean selection, broadcast, etc.)
Virtual Lab 1 due
Algorithms. Machine Learning.
Week10 Assessment during your lab time.
Assignment 2 due.
Virtual Lab 2 due Monday.
** Please note that the above deadlines are subject to change.
Online Modules : There are two online modules and virtual labs that have to be completed. These two online modules are on Spreadsheet and Matlab respectively. The online module for Spreadsheet will be available in Week 5 and should be completed by Week 8. The online module for Matlab will be available in Week 7 and should be completed by Monday of Week 11. Please note that the weeks for availability and submissions may change.
Lecture notes, sample programs, lab exercises will be available at the course web-site.
This course is customised for engineering students to learn problem solving and programming in an engineering context. It will also introduce some computing science concept. There is no textbook that covers all these topics. However, here is a selection of some general references:
We will provide additional resources on the class web page to cover other many useful topics.
This course is evaluated each session using the myExperience system.
In this session, the lecturer will improve the lecture materials and to provide more practice problems for the students to work on.
Resource created Tuesday 19 May 2020, 11:08:28 AM, last modified Monday 01 June 2020, 11:39:56 PM.