Skip to menu Skip to content Skip to footer
Course profile

Programming for Engineers (ENGG1001)

Study period
Sem 2 2025
Location
St Lucia
Attendance mode
In Person

Course overview

Study period
Semester 2, 2025 (28/07/2025 - 22/11/2025)
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 staff

Lecturer

Dr Peter O'Shea
Dr Kasra Khosoussi
Professor Kate O'Brien
Dr Mehmet Yildirimoglu

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
  • Hurdle
20%

29/08/2025 3:00 pm

Computer Code, Practical/ Demonstration Assignment 1 Practical
  • Hurdle
  • Identity Verified
Pass/fail

Week 6 Mon - Week 6 Thu

Computer Code Assignment 2
  • Hurdle
30%

24/10/2025 3:00 pm

Computer Code, Practical/ Demonstration Assignment 2 Practical
  • Hurdle
  • Identity Verified
Pass/fail

Week 13 Mon - Week 13 Thu

Examination End of semester exam
  • Hurdle
  • Identity Verified
50%

End of Semester Exam Period

8/11/2025 - 22/11/2025

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

  • Hurdle
Mode
Written
Category
Computer Code
Weight
20%
Due date

29/08/2025 3: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. They must also refrain from copying code from the internet or other sources. See assignment sheet for details.

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.

Students will need to attend a compulsory interview in the week after the due date, and will be required to sign up for an interview time slot. If students fail to get at least 50% for the interview, their assignment mark will be capped at 50% of the total available marks for the assignment, If students cannot attend the scheduled interview for a legitimate reason (with appropriate documentation) there will be a make up session in Week 13.

Hurdle requirements

If students do not obtain at least 50% on the interview they mark will be capped at 50% of the maximum mark for the assignment.

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 may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Solutions will be released 7 days after the due date.

Late submission

You will receive a mark of 0 if this assessment is submitted late.

Assignment submissions received after the due time (or any approved extended deadline) will be subject to a 100% late penalty. A one-hour grace period applies to the due time after which time (4:00:00pm) the 100% late penalty will be imposed. This grace period is designed to deal with issues that might arise during submission (e.g. delays with Blackboard or Gradescope) and should not be considered a shift of the due time.

Assignment 1 Practical

  • Hurdle
  • Identity Verified
Mode
Oral
Category
Computer Code, Practical/ Demonstration
Weight
Pass/fail
Due date

Week 6 Mon - Week 6 Thu

Learning outcomes
L01, L02, L06, L07, L08

Task description

This item forms the secure element of Assignment 1.

You will sign up for an interview slot and in the interview you will be asked questions about your code for Assignment 1. You must bring your student card.

Failure to attend may result in a failure.

Your performance in this session will contribute to your Assignment 1 mark, as specified in the Assignment 1 task sheet.

Hurdle requirements

If students do not pass Assignment 1 Practical their overall mark for Assignment 1 will be capped at 50%.

Submission guidelines

Deferral or extension

You may be able to apply for an extension.

Discretionary extensions are not available for this task.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

If there is a legitimate reason non-attendance (along with appropriate documentation) a make up session will be run in Week 13.

Late submission

You will receive a mark of 0 if this assessment is submitted late.

Assignment 2

  • Hurdle
Mode
Written
Category
Computer Code
Weight
30%
Due date

24/10/2025 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. They must also refrain from copying code from the internet or other sources. See assignment sheet for details.

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.

Students will need to attend a compulsory interview in the week after the due date, and will be required to sign up for an interview time slot. If students fail to get at least 50% for the interview, their assignment mark will be capped at 50% of the total available marks for the assignment. If students cannot attend the scheduled interview for a legitimate reason (with appropriate documentation) there will be a make up session in Week 13.

Hurdle requirements

If students do not obtain at least 50% on the interview they mark will be capped at 50% of the maximum mark for the assignment.

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 may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Solutions will be released 7 days after the due date.

Late submission

You will receive a mark of 0 if this assessment is submitted late.

Assignment submissions received after the due time (or any approved extended deadline) will be subject to a 100% late penalty. A one-hour grace period applies to the due time after which time (4:00:00pm) the 100% late penalty will be imposed. This grace period is designed to deal with issues that might arise during submission (e.g. delays with Blackboard or Gradescope) and should not be considered a shift of the due time.

Assignment 2 Practical

  • Hurdle
  • Identity Verified
Mode
Oral
Category
Computer Code, Practical/ Demonstration
Weight
Pass/fail
Due date

Week 13 Mon - Week 13 Thu

Learning outcomes
L01, L02, L06, L07, L08

Task description

This item forms the secure element of Assignment 2.

You will sign up for an interview slot and in the interview you will be asked questions about your code for Assignment 2. You must bring your student card.

Failure to attend may result in a failure.

Your performance in this session will contribute to your Assignment 1 mark, as specified in the Assignment 2 task sheet.

Hurdle requirements

If students do not pass Assignment 1 Practical their overall mark for Assignment 1 will be capped at 50%.

Submission guidelines

No submission required.

Deferral or extension

You may be able to apply for an extension.

Discretionary extensions are not available for this task.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

If there is a legitimate reason non-attendance (along with appropriate documentation) a make up session will be run in Week 13.

Late submission

You will receive a mark of 0 if this assessment is submitted late.

End of semester exam

  • Hurdle
  • Identity Verified
Mode
Written
Category
Examination
Weight
50%
Due date

End of Semester Exam Period

8/11/2025 - 22/11/2025

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 exam. The exam will be conducted on-campus.

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 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 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 Exam >= 60% (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 Exam >= 70% (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 Exam >= 80% (Please refer to additional information below)

Additional course grading information

To calculate your final grade and mark, we use the overall mark (MARK), the mark for the exam (EXAM) and the marks for the assignments (A1, A2)ᅠwith each of these marks given as a percentage.

MARK = A1 * 0.2 + A2 * 0.3 + Exam * 0.5

Overall percentages will be rounded to the nearest integer before grade cut-offs are applied.

Your final grade and final mark are then the highest grade for which your component results satisfy the criteria in the above table.

At the discretion of the course coordinator, final grades and marks may be scaled upwards, 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.

Use of AI

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.

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

Find the required and recommended resources for this course 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
Clear filters
Learning period Activity type Topic
Week 1
Lecture

Week 1

Introduction to course and Python programming, variables and types, multiline programs

Learning outcomes: L01, L04

Multiple weeks

From Week 2 To Week 12

Applied Class

Weekly tutorials

Learning outcomes: L01, L02, L03, L04, L05, L06, L07, L08

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, file I/O

Learning outcomes: L01, L03, L06

Week 4
Lecture

Week 4

Intro to classes and objects, lists, variable scope

Learning outcomes: L01, L02, L03, L06

Week 5
Lecture

Week 5

Dictionaries, 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:

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: