Contents

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 https://webcms3.cse.unsw.edu.au/ENGG1811/22T1/ (For lecture materials, recordings; lab materials)
Moodle https://moodle.telt.unsw.edu.au/course/view.php?id=65059 (For online labs, forum)
Handbook Entry http://www.handbook.unsw.edu.au/undergraduate/courses/current/ENGG1811.html

Course Welcome and Teaching Arrangements for 22T1

Welcome to ENGG1811 from Dr Ashesh Mahidadia your lecturer. I hope you are ready to begin your journey with us to get to learn some computing this term. Term-1 will begin shortly and details of the course plans are being added here at the moment. All the lectures will be online on Blackboard Collaborate. You can access live lectures or recordings from the Moodle page for this course , follow the link named " Online Lectures, Labs and Help Sessions ". Regarding the labs, seven of nine labs are face-to-face labs and two are online labs.

Most of the resources that you need for ENGG1811 are placed at this course website but we also use two other web sites for other purposes. The following table summarises where the resources are located:

Activities Where is it?
Live Lectures and recordings The online lectures are conducted on Blackboard Collaborate. You can access live lectures or recordings from the Moodle page for this course , follow the link named " Online Lectures, Labs and Help Sessions ".
Lab The lab exercises can be accessed via the "Labs" menu item on this course website.

The online labs are conducted using the Blackboard Collaborate. You can find the links via the ENGG1811 Moodle Page .
Forum The course forum can be accessed via the ENGG1811 Moodle Page .
Assignments Will be posted on this course website.


COVID-19 related information

The University understands that this is a difficult time for everyone and has made every effort to support its students. If you need any support, emotional or financial support, please contact the Nucleus: Student Hub . For current up-to-date information on university's response to COVID-19, please see this information page for the current students .

Your health and the health of those in your class is critically important. You must stay at home if you are sick or have been advised to self-isolate by NSW health or government authorities. Current alerts and a list of hotspots can be found here . You will not be penalised for missing activity due to illness or a requirement to self-isolate. We will work with you to ensure continuity of learning during your isolation and have plans in place for you to catch up on any content or learning activities you may miss. Where this might not be possible, an application for fee remission may be discussed.

If you are required to self-isolate and/or need emotional or financial support, please contact the Nucleus: Student Hub .

If you are unable to complete an assessment, or attend a class with an attendance or participation requirement, please let your teacher know and apply for special consideration through the Special Consideration portal .

To advise the University of a positive COVID-19 test result or if you suspect you have COVID-19 and are being tested, please fill in this form .

UNSW requires all staff and students to follow NSW Health advice. Any failure to act in accordance with that advice may amount to a breach of the Student Code of Conduct. Please refer to the Safe Return to Campus guide for students for more information on safe practices. (from UNSW edtech page )

The lecturer and tutors for ENGG1811 want to ensure you are safe and healthy throughout your time here so please follow the guidance carefully for your health and those around you.

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:

Assessment

Please note that the following schedule is subject to change.

Item Topics Due Marks Notes
Labs All topics 8 labs during Weeks 1 to 10 during your lab classes. In addition, two self-directed labs due in Week 8 and Week 10. 20%
  • 8 labs (weeks 2, 3, 4, 5, 7, 8, 9, 10). Each lab is marked out of 3 marks: one mark for an on-line multiple choice question, and two marks for satisfactorily demonstrating your lab work during the respective lab. (16% for 8 labs, 2% each lab). Note your mark out of 3 will be scaled to a mark out of 2
  • Each self-directed lab (aka "virtual lab") is marked out of 2 marks. There are two virtual labs. (4% for two self-directed lab)
Assignment 1
Week 7 20%
Assignment 2
Week 10 20%
Final Exam All topics Exam period 40%


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.

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 (20) + Assignment-1 (20) + Assignment-2 (20) + Final exam (40).

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)

6 ---

---
7 Numpy (Data analysis). File Handling. Numpy (Elementwise computation, Boolean)

Assignment 1 due.
Assignment 2 available.
8 Simulations. Numpy (Broadcast)
Self-Directed Lab 1 due
9 Algorithms. Machine Learning.

10 Course Review.
Assignment 2 due.
Self-Directed Lab 2 due.

** Please note that the above deadlines are subject to change.

Online Modules : There are two online modules and Self-Directed (aka "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 Friday of Week 10. 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.

Every term, student feedback is requested in a survey using UNSW's myExperience online survey system where the feedback will be used to make improvements to the course.

Students are also encouraged to provide informal feedback during the session, and to let course staff know of any problems as soon as they arise. Suggestions will be listened to openly, positively, constructively, and thankfully, and every reasonable effort will be made to address them.

Feedback from last offering suggested that the course was very well received, in particular newly introduced "Live Coding Sessions" each week were popular with students needing extra support, and as a result of that, we will continue with one hour of "Live Coding Sessions" each week. We also plan to introduce more practical exercises on Machine Learning.

Resource created Sunday 06 February 2022, 05:58:17 PM, last modified Tuesday 08 February 2022, 11:06:20 AM.


Back to top

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