Course Details

Course Code ENGG1811
Course Title Computing for Engineers
Convenor Dr Ashesh Mahidadia
Lecturer Dr Ashesh Mahidadia
Admin Mei Cheng Whale
Classes Timetable for all classes
Consultations To be announced in Timetable for all classes
Units of Credit 6
Course Website
Handbook Entry

Course Summary

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.

Assumed Knowledge

This course assumes that the students have taken HSC level Maths. No prior knowledge on computing is required.

Student Learning Outcomes

After completing this course, students should be able to:

  1. Design algorithms to solve computation problems
  2. Implement algorithms using the Python programming language
  3. Able to write Python programs to automate many different tasks
  4. Have some knowledge on using numerical computation packages of Matlab and Excel

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 -

Teaching Strategies

  • Lectures: introduce concepts and principles, demonstrate with example code, students working to solve problems
  • Lab Work: provides an opportunity for students to solve some well-defined problem in order to practice problem solving and programming skills
  • Assignments: provide opportunities for students to work on an extended programming work

Teaching Rationale

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.

Student Conduct

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.

If you have any concerns, you may raise them with your lecturer, or approach the School Ethics Officer , Grievance Officer , or one of the student representatives.

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.

Item Topics Due Marks Notes
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%
  • 7 labs (weeks 2, 3, 4, 5, 7, 8, 9). Each lab is marked out of 2 marks: one mark for an on-line multiple choice question, and one mark for satisfactorily demonstrating your lab work during the respective lab. (14% for 7 labs).
  • Each virtual lab is marked out of 2 marks. There are two virtual labs. (4% for two virtual labs)
Week05 Assessment Weeks 1-4 (Lectures) and Weeks 1-4 (Labs) Week 5 12% Week05 Assessment will be during your week 5 lab class
Assignment 1
Week 7 10%
Assignment 2
Week 10 10%
Week10 Assessment
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.

Important : 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.

Course Schedule

The following course schedule is subject to change.

Week Lectures Notes
1 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.
2 Control structure. Software development. Functions.
List. Plotting.
3 For-loop, list comprehension,
List indexing and slicing. String processing and formatting.
Assignment 1 available.
4 List data processing using for-loops. Import. Main. Exception handling.

Program testing and debugging.
5 While loops. Function arguments. Numpy (arrays)
Week05 Assessment during your lab time.
6 ---

7 Numpy (Data analysis). File Handling.

Assignment 1 due.
Assignment 2 available.
8 Simulatio. Numpy (Elementwise computation, Boolean selection, broadcast, etc.)
Virtual Lab 1 due
9 Algorithms. Machine Learning.

10 Course Review.
Week10 Assessment during your lab time.
Assignment 2 due.
11 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.

Resources for Students

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:

  • John Zelle. Python Programming: An Introduction to Computer Science. 3rd edition.
  • An online book on How To Think Like a Computer Scientist (Interactive edition)
    • For HTML and PDF versions of a similar book with the title Think Python , click here

We will provide additional resources on the class web page to cover other many useful topics.

Course Evaluation and Development

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.

Back to top

ENGG1811 20T2 (Computing for Engineers) is powered by WebCMS3
CRICOS Provider No. 00098G