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 Software Engineering through programming with particular focus 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
This course introduces fundamental concepts in software engineering, using the Python programming language. Emphasis is placed on problem-solving using computational techniques, creating algorithms and designing classes.
Course requirements
Assumed background
No prior knowledge ofᅠprogramming is assumed.
Incompatible
You can't enrol in this course if you've already completed the following:
COMP1502, CSSE7030, ENGG1001
Course contact
Course staff
Lecturer
Timetable
The timetable for this course is available on the UQ Public Timetable.
Additional timetable information
Lectures will be recorded and available on the course Blackboard site. However, attendance at the physical lecture is strongly recommended, with recordings used to revise content.
Aims and outcomes
This course focuses on the organising ideas of software design and construction. Because software systems are highly complex structures, special effort and techniques are needed to control that complexity and make them understandable by humans, not simply machines. Taking this course will teach you such techniques, which are common to good software engineering design, independent of the programming language, and include building abstractions to hide details, separating specification from implementation and establishing conventional interfaces to allow the creation of standard modules. Programming practice is necessary to the course, and you'll be using Python as it is well-suited to understanding fundamental computing ideas and practices.
At course completionᅠyou will be able to analyse a problem and design and implement a computational solution to the problem.ᅠYou will make use of three major programming paradigms: structured, object-oriented and event-driven.
Learning outcomes
After successfully completing this course you should be able to:
LO1.
apply program constructs such as variables, selection, iteration and sub-routines
LO2.
apply basic object-oriented concepts such as classes, instances and methods
LO3.
read and analyse code written by others
LO4.
analyse a problem and design an algorithmic solution to the problem,
LO5.
read and analyse a design and be able to translate the design into a working program,
LO6.
apply techniques for testing and debugging,
Assessment
Assessment summary
| Category | Assessment task | Weight | Due date |
|---|---|---|---|
| Computer Code | Assignment 1 | 15% |
24/04/2026 3:00 pm |
| Examination |
In-semester exam
|
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 |
End of semester exam
|
40% |
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
- 15%
- Due date
24/04/2026 3:00 pm
- Learning outcomes
- L01, L03, L04, L06
Task description
Students will implement a small program based on a specification. This assessment covers topics from teaching week one through four. Namely: functions, list, tuples, dictionaries, loops, and if statements. 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.
This task has been designed to be challenging, authentic and complex. Whilst students may use AI and/or MT technologies, successful completion of assessment in this course will require students to critically engage in specific contexts and tasks for which artificial intelligence will provide only limited support and guidance.
A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
To pass this assessment, students will be required to demonstrate detailed comprehension of their written submission independent of AI and MT tools. See additional assessment information below for more information.
Submission guidelines
Assignment submitted on-line via Gradescope. Students must submit their code regularly to Gradescope as they progress in the assignment to evidendence authenticity of their authorship.
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.
Extensions are limited to 7 days as feedback will be provided within 14 days.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.
In-semester exam
- Identity Verified
- In-person
- Mode
- Written
- Category
- Examination
- Weight
- 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, L03, L04, L05, L06
Task description
This is a closed book and identity-verified examination that is written on campus.
This exam is compulsory and covers up to Week 4.
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 |
| Exam platform | Paper based |
| Invigilation | Invigilated in person |
Submission guidelines
Deferral or extension
You may be able to defer this exam.
Assignment 2
- Mode
- Product/ Artefact/ Multimedia, Written
- Category
- Computer Code
- Weight
- 20%
- Due date
22/05/2026 3:00 pm
- Learning outcomes
- L01, L02, L03, L04, L05, L06
Task description
Students will implement a small program based on a specification. This assessment covers topics from teaching week one through eleven. 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.
This task has been designed to be challenging, authentic and complex. Whilst students may use AI and/or MT technologies, successful completion of assessment in this course will require students to critically engage in specific contexts and tasks for which artificial intelligence will provide only limited support and guidance.
A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
To pass this assessment, students will be required to demonstrate detailed comprehension of their written submission independent of AI and MT tools. See additional assessment information below for more information.
Submission guidelines
Assignment submitted on-line via Gradescope. Students must submit their code regularly to Gradescope as they progress in the assignment to evidendence authenticity of their authorship.
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.
Extensions are limited to 7 days as feedback will be provided within 14 days.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.
End of semester exam
- Hurdle
- Identity Verified
- In-person
- Mode
- Written
- Category
- Examination
- Weight
- 40%
- Due date
End of Semester Exam Period
6/06/2026 - 20/06/2026
- Other conditions
- Secure.
- Learning outcomes
- L01, L02, L03, L04, L05, L06
Task description
This is a closed book and identity-verified examination that is written on campus.
The final exam is compulsory and covers the entire course.
The final exam will be scheduled at a fixed time for all students.
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
Exam >= 40% required for Grade 3 and above.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 Marks | Description |
|---|---|---|
| 1 (Low Fail) | 0 - 19 |
Absence of evidence of achievement of course learning outcomes. |
| 2 (Fail) | 20 - 46 |
Minimal evidence of achievement of course learning outcomes. |
| 3 (Marginal Fail) | 47 - 49 |
Demonstrated evidence of developing achievement of course learning outcomes Course grade description: Hurdle: FINAL EXAM >= 40% |
| 4 (Pass) | 50 - 64 |
Demonstrated evidence of functional achievement of course learning outcomes. Course grade description: Hurdle: FINAL EXAM >= 40% |
| 5 (Credit) | 65 - 74 |
Demonstrated evidence of proficient achievement of course learning outcomes. Course grade description: Hurdle: FINAL EXAM >= 50% |
| 6 (Distinction) | 75 - 84 |
Demonstrated evidence of advanced achievement of course learning outcomes. Course grade description: Hurdle: FINAL EXAM >= 60% |
| 7 (High Distinction) | 85 - 100 |
Demonstrated evidence of exceptional achievement of course learning outcomes. Course grade description: Hurdle: FINAL EXAM >= 70% |
Additional course grading information
A mark in this course is calculated from the following four assessments in this course:
1. Assessment 1 (A1)
2. In-semester exam (EM)
3. Assessment 2 (A2)
4. End-of-semester Exam (EF)
Supposing A1, EM, A2, EF are percentages in [0%, 100%] then your mark is
MARK = MAX(M1, M2)
where
M1 = 0.15*A1 + 0.20*A2 + 0.25*EM + 0.40*EF
M2 = 0.15*A1 + 0.20*A2 + 0.10*EM + 0.55*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 to the nearest integer.
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
Assessment Interviews
Students must be able to demonstrate detailed comprehension of their submitted code independent of AI and machine-translation (MT) tools. The Course Coordinator reserves the right to require any student to participate in an oral examination regarding any assessment submission. During such an examination, students may be required to explain and/or modify their submitted code and/or solve new, related programming problems to demonstrate understanding. Assessment marks are provisional and subject to confirmation following any such examination. A student's assessment mark may be adjusted, including reduced to zero, based on the level of understanding demonstrated during this examination.
During the examination, students may not use notes or modified code and must work exclusively from the code exactly as submitted, except where instructed to solve new problems. Failure to attend a scheduled examination without an approved reason, or failure to meaningfully participate, will be treated as unsatisfactory performance and may result in the relevant assessment mark being reduced, including to zero. Oral examinations will be scheduled on a case-by-case basis.
Census Date
Though no summative grades are released until Week 8, feedback is available throughout the first six weeks. The weekly formative Ed Lesson assessments provide immediate feedback and GradeScope offers feedback even for partially completed submssions.
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
Find the required and recommended resources for this course on the UQ Library website.
Additional learning resources information
Blackboard
There are extensive video modules, readings, examples, contact exercises, assignments and other resources that can be accessed via Blackboard.
Online Material
Lecture related notes can be accessed via Blackboard. Lectures will be example-driven, demonstrating the application of the concepts covered in the weekly readings. You need to be prepared for the lectures for this course by reading the weekly notes beforehand. This course will make use of ShiFoo. ShiFoo is a programming exercise system that automatically checks your answers and gives you feedback.
Facilities
Practical work for this course will take place in PC labs or classrooms. If your practical session is in a classroom, you will need to bring a laptop computer with you to work in these sessions. Several slots have been booked for this course, when you will have priority in the lab. A demonstrator will be present to answer questions and help with any problems - this includes any problems you are having with any of the online material. You should be aware that you will need to do more work independently of the 2 hours per week that is set aside for practicals. The required software, libraries and documentation are on the the machines in the PC labs and instructions for downloading for home use can be accessed via Blackboard. For details of the Occupational Health and Safety requirements of the labs, refer to the EECS Student Guide.
Handouts
Notes, assignments, solutions, etc. will be made available through Blackboard.
Distribution of Notices
Important notices will appear on Blackboard.
Ed discussion forum
This course will use Ed Discussion forum.
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 |
|---|---|---|
Week 1 |
Lecture |
Week 1 Course introduction. Learning outcomes: L01 |
Multiple weeks From Week 2 To Week 13 |
Applied Class |
Applied Class A class where students work through a programming task. Feedback is provided by the casual demonstrator. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Practical |
Practicals A time to obtain support on assessments from a casual demonstrator. Learning outcomes: L01, L02, L03, L04, L05, L06 |
|
Week 2 (02 Mar - 08 Mar) |
Lecture |
Week 2 Python Memory Model and Primitive Data. Learning outcomes: L01, L03, L04, L06 |
Week 3 (09 Mar - 15 Mar) |
Lecture |
Week 3 Functions and If-Statements. Learning outcomes: L01, L03, L04, L05, L06 |
Week 4 (16 Mar - 22 Mar) |
Lecture |
Week 4 While-Loops and Data. Learning outcomes: L01, L03, L04, L05, L06 |
Week 5 (23 Mar - 29 Mar) |
Lecture |
Week 5 For-Loops and List Comprehensions. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 6 (30 Mar - 05 Apr) |
Lecture |
Week 6 IO, String Methods, and Testing and Debugging Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 7 (13 Apr - 19 Apr) |
Lecture |
Week 7 Exceptions, Scope, and Intro to OOP. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 8 (20 Apr - 26 Apr) |
Lecture |
Week 8 Dunder Methods and Representation Invariants. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 9 (27 Apr - 03 May) |
Lecture |
Week 9 Compostion and Inheritance. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 10 (04 May - 10 May) |
Lecture |
Week 10 Unified Modelling Language Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 11 (11 May - 17 May) |
Lecture |
Week 11 Design Patterns and MVC. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 12 (18 May - 24 May) |
Lecture |
Week 12 Recursion. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Week 13 |
Lecture |
Week 13 Complexity and Sorting. Learning outcomes: L01, L02, L03, L04, L05, L06 |
Additional learning activity information
There are 12 formative programming tasks in Ed Lessons that receive immediate feedback.
GradeScope (the assessment submission portal) gives immediate feedback about the correctness of the submission.
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: