Course overview
- Study period
- Semester 1, 2026 (23/02/2026 - 20/06/2026)
- Study level
- Undergraduate
- Location
- St Lucia
- Attendance mode
- In Person
- Units
- 2
- Administrative campus
- St Lucia
- Coordinating unit
- Elec Engineering & Comp Science School
Introduction to programming for engineers focusing on the fundamentals of computing and programming, using an exploratory problem-based approach. Building abstractions with procedures, data and objects; data modelling; designing, coding and debugging programs of increasing complexity. Applying programming techniques to the analysis of real world data.
This course introduces fundamental concepts in engineering programming, using the Python programming language. Emphasis is placed on problem solving using computational techniques, creating algorithms,ᅠdesigning classes, data analysisᅠand visualisation. The course provides a Help Center where students can "drop in" Monday to Friday and get advice from the teaching team on assignments - student feedback suggests this to be a very helpful resource.
Course requirements
Assumed background
No background in computer programming is assumed
Incompatible
You can't enrol in this course if you've already completed the following:
CSSE1001
Restrictions
Restricted to students enrolled in BE, BE(Hons), BE(Hons) and Duals, BE/ME, BE/ME Exchange, ME (32), ME(48) and Study Abroad
Course contact
Course coordinator
Course staff
Lecturer
Timetable
The timetable for this course is available on the UQ Public Timetable.
Aims and outcomes
This course aims to provide students with the basic programming skills that are needed by engineers. These skills include file processing, robust program design with functions and classes, data analyis,ᅠvisualisation and applied engineering programming.ᅠ
Learning outcomes
After successfully completing this course you should be able to:
LO1.
Differentiate and apply program constructs such as variables, selection, iteration and sub-routines
LO2.
Recognise and apply basic object-oriented design methodologies, along with associated concepts such as classes, instances and methods
LO3.
Read and analyse programs written by others
LO4.
Interpret an engineering problem and design an algorithmic solution to the problem
LO5.
Read and analyse an algorithmic design and be able to translate the design into a working program
LO6.
Apply techniques for program testing and debugging
LO7.
Apply sound programming techniques to the solution of real world engineering problems
LO8.
Analyse and visualise engineering data
Assessment
Assessment summary
| Category | Assessment task | Weight | Due date |
|---|---|---|---|
| Computer Code | Assignment 1 | 10% |
27/03/2026 4:00 pm |
| Examination |
In semester exam
|
10% or 25% |
In-semester Saturday 27/03/2026 - 3/05/2026
A personal exam timetable will be emailed to your student email address with the date and time of your exam. |
| Computer Code | Assignment 2 | 20% |
22/05/2026 3:00 pm |
| Examination |
Final exam
|
60% or 45% |
End of Semester Exam Period 6/06/2026 - 20/06/2026 |
A hurdle is an assessment requirement that must be satisfied in order to receive a specific grade for the course. Check the assessment details for more information about hurdle requirements.
Assessment details
Assignment 1
- Mode
- Written
- Category
- Computer Code
- Weight
- 10%
- Due date
27/03/2026 4:00 pm
- Learning outcomes
- L01, L04, L05, L06, L07, L08
Task description
In writing this assignment (and other assessment items) students must not look at anyone else's code or show anyone else their own code. Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance. A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
See assignment sheet for details.
Submission guidelines
Assignment submitted on-line via Gradescope. Students should submit their code regularly to Gradescope as they progress in the assignment.
Deferral or extension
You cannot defer or apply for an extension for this assessment.
Extensions are not available for this assessment item as feedback is given to students very rapidly.
Assignment is auto marked and solutions will be released within 3 days of the due date to permit students to progress with follow up assignments.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours (or part thereof) from the deadline (or your extended deadline, if applicable) for up to 3 days. After 3 days (72 hours), you will receive a mark of zero.
The modified late penalty applies as the assessment is auto marked and solutions will be released within 3 days of the due date to permit students to progress with follow up assignments.
This has been approved by the Associate Dean (Academic)
In semester exam
- Identity Verified
- Mode
- Written
- Category
- Examination
- Weight
- 10% or 25%
- Due date
In-semester Saturday
27/03/2026 - 3/05/2026
A personal exam timetable will be emailed to your student email address with the date and time of your exam.
- Other conditions
- Secure.
- Learning outcomes
- L01, L02, L06, L07, L08
Task description
The exam will test understanding of the concepts covered up until the exam.
The exam will be an invigilated multiple choice and short coding tasks exam. The exam will be conducted on-campus.
This assessment task is to be completed in-person. The use of generative Artificial Intelligence (AI) or Machine Translation (MT) tools will not be permitted. Any attempted use of AI or MT may constitute student misconduct under the Student Code of Conduct.
Exam details
| Planning time | 10 minutes |
|---|---|
| Duration | 90 minutes |
| Calculator options | (In person) Casio FX82 series only or UQ approved and labelled calculator |
| Open/closed book | Closed book examination - no written materials permitted |
| Materials | None |
| Exam platform | Paper based |
| Invigilation | Invigilated in person |
Submission guidelines
Deferral or extension
You may be able to defer this exam.
Assignment 2
- Mode
- Written
- Category
- Computer Code
- Weight
- 20%
- Due date
22/05/2026 3:00 pm
- Learning outcomes
- L01, L02, L03, L04, L05, L06, L07, L08
Task description
In writing this assignment (and other assessment items) students must not look at anyone else's code or show anyone else their own code. Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance. A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
See assignment sheet for details.
Submission guidelines
Assignment submitted on-line via Gradescope. Students should submit their code regularly to Gradescope as they progress in the assignment.
Deferral or extension
You cannot defer or apply for an extension for this assessment.
Extensions are not available for this assessment item as feedback is given to students very rapidly.
Assignment is auto marked and solutions will be released within 3 days of the due date to permit students to progress with follow up assessments.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours (or part thereof) from the deadline (or your extended deadline, if applicable) for up to 3 days. After 3 days (72 hours), you will receive a mark of zero.
The modified late penalty applies as the assessment is auto marked and solutions will be released within 3 days of the due date to permit students to progress with follow up assessments.
This has been approved by the Associate Dean (Academic)
Final exam
- Hurdle
- Identity Verified
- Mode
- Written
- Category
- Examination
- Weight
- 60% or 45%
- Due date
End of Semester Exam Period
6/06/2026 - 20/06/2026
- Other conditions
- Secure.
- Learning outcomes
- L01, L02, L03, L04, L06, L07, L08
Task description
End of semester exam. The exam will test understanding of the concepts covered over the entire course.
The exam will be an invigilated multiple choice and short coding tasks exam. The exam will be conducted on-campus.
This assessment task is to be completed in-person. The use of generative Artificial Intelligence (AI) or Machine Translation (MT) tools will not be permitted. Any attempted use of AI or MT may constitute student misconduct under the Student Code of Conduct.
Hurdle requirements
Students must obtain at least 40% on the final exam to get a grade of 3 or more. Students must obtain at least 45% on the final exam to get a grade of 4 or more.Exam details
| Planning time | 10 minutes |
|---|---|
| Duration | 120 minutes |
| Calculator options | (In person) Casio FX82 series only or UQ approved and labelled calculator |
| Open/closed book | Closed book examination - no written materials permitted |
| Exam platform | Paper based |
| Invigilation | Invigilated in person |
Submission guidelines
Deferral or extension
You may be able to defer this exam.
Course grading
Full criteria for each grade is available in the Assessment Procedure.
| Grade | Cut off Percent | Description |
|---|---|---|
| 1 (Low Fail) | 0 - 19 |
Absence of evidence of achievement of course learning outcomes. Course grade description: Conditions for Grade of 2 not satisfied. |
| 2 (Fail) | 20 - 46 |
Minimal evidence of achievement of course learning outcomes. Course grade description: MARK >= 20% (Please refer to additional information below) |
| 3 (Marginal Fail) | 47 - 49 |
Demonstrated evidence of developing achievement of course learning outcomes Course grade description: MARK >= 47% and Final Exam >= 40% (Please refer to additional information below) |
| 4 (Pass) | 50 - 64 |
Demonstrated evidence of functional achievement of course learning outcomes. Course grade description: MARK >= 50% and Final Exam >= 45% (Please refer to additional information below) |
| 5 (Credit) | 65 - 74 |
Demonstrated evidence of proficient achievement of course learning outcomes. Course grade description: MARK >= 65% and Final Exam >= 55% (Please refer to additional information below) |
| 6 (Distinction) | 75 - 84 |
Demonstrated evidence of advanced achievement of course learning outcomes. Course grade description: MARK >= 75% and Final Exam >= 65% (Please refer to additional information below) |
| 7 (High Distinction) | 85 - 100 |
Demonstrated evidence of exceptional achievement of course learning outcomes. Course grade description: MARK >= 85% and Final Exam >= 75% (Please refer to additional information below) |
Additional course grading information
Assessment items will be weighted as listed in the table above, with your in-semester/final exam marks being weighted 10/60 or 25/45 depending on which gives you the greater overall mark.
A mark in this course is calculated from the following four assessments in this course:
1. Assignment 1 (A1)
2. In-semester exam (EM)
3. Assignment 2 (A2).
4. Final Exam (EF)
Supposing A1, EM, A2, EF are percentages in [0%, 100%] then your mark is
MARK = MAX(M1, M2)
where
M1 = 0.10*A1 + 0.20*A2 + 0.25*EM + 0.45*EF
M2 = 0.10*A1 + 0.20*A2 + 0.10*EM + 0.60*EF
This means that poor performance on the in-semester exam can be mitigated by performing well on the final exam.
Your mark will be computed using two digits precision, then rounded UP.
At the discretion of the course coordinator, marks for the assessment items may be adjusted upwards (uniformly across the class), but not downwards.
Supplementary assessment
Supplementary assessment is available for this course.
Additional assessment information
Early feedback
Students will have the opportunity to receive feedback on their performance early in the semester via Gradescope auto-grader tests in Assignment 1. These autograder test results will be available at least a week before Assignment 1 is due.
Having Troubles?
If you are having difficulties with any aspect of the course material you should seek help. Speak to the course teaching staff.
If external circumstances are affecting your ability to work on the course, you should seek help as soon as possible. The University and UQ Union have organisations and staff who are able to help, for example, UQ Student Services are able to help with study and exam skills, tertiary learning skills, writing skills, financial assistance, personal issues, and disability services (among other things).
Complaints and criticisms should be directed in the first instance to the course coordinator. If you are not satisfied with the outcome, you may bring the matter to the attention of the School of EECS Director of Teaching and Learning.
Learning resources
You'll need the following resources to successfully complete the course. We've indicated below if you need a personal copy of the reading materials or your own item.
Library resources
Library resources are available on the UQ Library website.
Learning activities
The learning activities for this course are outlined below. Learn more about the learning outcomes that apply to this course.
Filter activity type by
Please select
| Learning period | Activity type | Topic |
|---|---|---|
Multiple weeks From Week 1 To Week 13 |
Applied Class |
Weekly tutorials Learning outcomes: L01, L02, L03, L04, L05, L06, L07, L08 |
Week 1 |
Lecture |
Week 1 Introduction to course and Python programming, arithmetics, variables and types, multiline programs Learning outcomes: L01, L04 |
Week 2 |
Lecture |
Week 2 Functional decomposition and control structures Learning outcomes: L01, L03, L06 |
Multiple weeks From Week 3 To Week 12 |
Applied Class |
Daily Help sessions (Monday-Friday 10am-5pm, Weeks 3-12). Students can drop in to the Help Center (78-217) any time between 10am to 5pm to seek guidance from the teaching team. Learning outcomes: L01, L02, L03, L04, L05, L06, L07, L08 |
Week 3 |
Lecture |
Week 3 Manipulating data structures (Strings, Lists and Tuples) Learning outcomes: L01, L03, L06 |
Week 4 |
Lecture |
Week 4 Intro to classes and objects (string and list methods), Dictionaries, File IO Learning outcomes: L01, L02, L03, L06 |
Week 5 |
Lecture |
Week 5 Scope, Intro to Numpy Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 6 |
Lecture |
Week 6 Array creation, vectorisation Learning outcomes: L01, L02, L03, L04, L05, L06, L07 |
Week 7 |
Lecture |
Week 7 Data visualisation and further numpy examples Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 8 |
Lecture |
Week 8 Introduction to data analysis Learning outcomes: L01, L02, L03, L04, L05, L06, L07 |
Week 9 |
Lecture |
Week 9 Analysis of engineering data Learning outcomes: L01, L02, L03, L04, L05, L06, L07, L08 |
Week 10 |
Lecture |
Week 10 Object orientation, implementation and application of classes, inheritance Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 11 |
Lecture |
Week 11 Engineering applications, random walks Learning outcomes: L01, L02, L03, L04, L05, L06, L07, L08 |
Week 12 |
Lecture |
Week 12 Engineering applications, diffusive processes Learning outcomes: L01, L02, L03, L04, L05, L06, L07, L08 |
Week 13 |
Lecture |
Week 13 Engineering applications, course review Learning outcomes: L01, L02, L03, L04, L05, L06, L07, L08 |
Policies and procedures
University policies and procedures apply to all aspects of student life. As a UQ student, you must comply with University-wide and program-specific requirements, including the:
- Student Code of Conduct Policy
- Student Integrity and Misconduct Policy and Procedure
- Assessment Procedure
- Examinations Procedure
- Reasonable Adjustments for Students Policy and Procedure
- AI for Assessment Guide
Learn more about UQ policies on my.UQ and the Policy and Procedure Library.
School guidelines
Your school has additional guidelines you'll need to follow for this course: