Course overview
- Study period
- Semester 2, 2025 (28/07/2025 - 22/11/2025)
- Study level
- Postgraduate Coursework
- Location
- St Lucia
- Attendance mode
- In Person
- Units
- 2
- Administrative campus
- St Lucia
- Coordinating unit
- Elec Engineering & Comp Science School
Introduction to programming focusses 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 programming, using the Python programming language. Emphasis is placed on problem solving using computational techniques, creating algorithms and designing abstractions.
This course introduces fundamental concepts in programming, using the Python programming language. Emphasis is placed on problem solving using computational techniques, creating algorithms and designing classes.
The following aspects of the course have been changed from last semester, in response to student feedback:
- The weightings of Assignment 1 and Assignment 2 have been adjusted to better reflect the difficulty and effort required for these assessments.
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, CSSE1001, ENGG1001
Course contact
Course staff
Lecturer
Timetable
The timetable for this course is available on the UQ Public Timetable.
Additional timetable information
Note that applied classes and practical sessions start in Week 2. You need to sign-on for one of the practical group streams and one of the applied classes. Students may attend additional applied classes, beyond the one to which they are allocated. Practical sessions tend to become very crowded close to assignment due dates. If there are too many students in the room for the demonstrators to manage, they may limit attendance to only those allocated to the session to ensure that the session is manageable.
Lectures will be recorded and available on the course Blackboard site. However, physical attendance at the lecture is strongly recommended, with recordings used to revise content.
An In-Semester Exam will be scheduled on one of the following dates: Saturday, 6 September (end of week 6) or Saturday, 13 September (end of week 7) or Saturday, 20 September (end of week 8)
The exact date and time of the In-Semester Exam will be announced via email and on the course Blackboard site later during the semester.
Aims and outcomes
This course aims to provide students with foundation level programming skills. Taking this course will teach you the fundamental techniques that are common to good programming practice, independent of the programming language. After completing this course you should be able to transfer the programming skillsets you learn to other programming languages which employ similar paradigms. This includes understanding of data types, data structures, functions, building abstractions to hide details, separating a specification from an implementation and establishing conventional interfaces to allow the creation of standard extendable software modules. Programming practice is necessary to achieve the learning outcomes of the course. You will be using Python to practice coding and for your assessment as it is well-suited to understanding fundamental programming ideas and practices. Upon 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 two major paradigms: imperative and object-oriented programming.
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,
LO7.
understand and implement basic cybersecurity measures, including input validation and format checking, in programming.
Assessment
Assessment summary
Category | Assessment task | Weight | Due date |
---|---|---|---|
Computer Code | Computer exercise 1 (Assignment 1) | 15% |
12/09/2025 3:00 pm |
Examination |
In-semester Exam
|
20% |
In-semester Saturday 6/09/2025 - 20/09/2025
The In-semester Exam will be scheduled on one of the following dates: Saturday, 6 September (end of week 6) or Saturday, 13 September (end of week 7) or Saturday, 20 September (end of week 8) |
Computer Code |
Computer exercise 2 (Assignment 2)
|
25% |
24/10/2025 3:00 pm |
Computer Code, Practical/ Demonstration |
Computer exercise 2 (Interview)
|
Pass/Fail |
27/10/2025 - 31/10/2025
During your assigned practical session for the week. |
Examination |
End of semester exam
|
40% |
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
Computer exercise 1 (Assignment 1)
- Mode
- Written
- Category
- Computer Code
- Weight
- 15%
- Due date
12/09/2025 3:00 pm
Task description
Students will implement a small program based on a provided specification. This part assesses topics covered in teaching weeks one through four, including functions, strings, lists, tuples, loops, and conditional statements (if statements). While this assessment, students must work independently, without viewing anyone else's code or sharing their own code with others. Students must understand code which they submit for this assessment.
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.
All assignments are to be worked on individually and must be your own work except where the use of code written or provided by other entities (AI tools, etc.) is explicitly permitted by the assignment specification, and any such code is referenced in the manner required in the assignment specification. All submitted code will be subject to electronic plagiarism and collusion detection. Assignments with no academic merit will be awarded a mark of zero. You may have to verbally answer questions about your submission as part of the assignment marking process.
Submission guidelines
Online via Gradescope unless otherwise specified for a particular assessment item. Students should submit their code regularly to Gradescope as they progress in the assignment. Detailed submission instruction will be provided on the Blackboard site of the course.
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.
Detailed solutions with feedback will be released to students within 7 days.
Late submission
You will receive a mark of 0 if this assessment is submitted late.
Consistent with industry practice around presentations to clients/industry partners, no late submissions will be accepted and a 100% late penalty applies.
This has been approved by the Associate Dean (Academic)
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 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.
In-semester Exam
- Identity Verified
- In-person
- Mode
- Written
- Category
- Examination
- Weight
- 20%
- Due date
In-semester Saturday
6/09/2025 - 20/09/2025
The In-semester Exam will be scheduled on one of the following dates: Saturday, 6 September (end of week 6) or Saturday, 13 September (end of week 7) or Saturday, 20 September (end of week 8)
Task description
This is a closed book and identity verified examination 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.
This exam is compulsory and covers up to Week 5 (inclusive). Question formats may include multiple choice, short answer and calculations, and programming tasks.
This exam will be scheduled at a fixed time for all students.
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.
The In-Semester Saturday Deferred Exam will be held on Saturday 11th of October (Week 10).
Computer exercise 2 (Assignment 2)
- Hurdle
- Mode
- Written
- Category
- Computer Code
- Weight
- 25%
- Due date
24/10/2025 3:00 pm
Task description
Students will implement an object oriented program based on a provided specification. This assessment covers topics from teaching week one through eleven. While completing this assignment, students must work independently, without viewing anyone else's code or sharing their own code with others. Students must understand code which they submit for this assessment.
Your achievement in the Computer exercise 2 interview will contribute to the mark for this assessment item, according to the rubric.
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.
All assignments are to be worked on individually and must be your own work except where the use of code written or provided by other entities (AI tools, etc.) is explicitly permitted by the assignment specification, and any such code is referenced in the manner required in the assignment specification. All submitted code will be subject to electronic plagiarism and collusion detection. Assignments with no academic merit will be awarded a mark of zero. You may have to verbally answer questions about your submission as part of the assignment marking process.
Hurdle requirements
If students do not pass Computer exercise 2 interview, their mark will be capped at 50% of the maximum mark for the assignment.Submission guidelines
Assignment 2 will be submitted on-line via Blackboard (Gradescope). Students should submit their code regularly to Gradescope as they progress in the assignment 2. Detailed submission instruction will be provided on the Blackboard site of the course.
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.
Detailed solutions with feedback will be released to students within 7 days.
Late submission
You will receive a mark of 0 if this assessment is submitted late.
Consistent with industry practice around presentations to clients/industry partners, no late submissions will be accepted and a 100% late penalty applies.
This has been approved by the Associate Dean (Academic)
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 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.
Computer exercise 2 (Interview)
- Hurdle
- Identity Verified
- Mode
- Oral
- Category
- Computer Code, Practical/ Demonstration
- Weight
- Pass/Fail
- Due date
27/10/2025 - 31/10/2025
During your assigned practical session for the week.
- Other conditions
- Secure.
Task description
This item forms the secure element of Computer exercise 2.
You will be required to attend an interview for the Computer exercise 2 assessment during your allocated practical session in Week 13. The teaching staff will conduct interviews with students about their submissions to establish genuine authorship.
- If you write your own code, you have nothing to fear from this process. If you legitimately use generated codes by AI (following the usage/referencing requirements in the assignment specification) then you are expected to understand that code.
- If you are not able to adequately explain the design of your solution and/or adequately explain your submitted code and/or be able to make simple modifications to your solution as requested at the interview, then your assignment mark will be scaled down based on the level of understanding you are able to demonstrate and/or your submission may be subject to a misconduct investigation where your interview responses form part of the evidence.
Failure to attend will result in a failing grade for this assessment task.
Your performance in this session will contribute to your Computer exercise 2, as specified in the Assignment 2 task sheet.
Hurdle requirements
If students do not pass Assignment 2 Interview, their overall mark for Assignment 2 will be capped at 50%.Submission guidelines
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.
If you are unable to attend your allocated practical session, one reschedule is permitted. To apply for a reschedule, you need to apply for an extension via my.UQ.
If approved, students will need to attend the make-up session during SWOTVAC week. The exact date and time of the make-up session will be communicated via email and the course’s Blackboard site.
Late submission
You will receive a mark of 0 if this assessment is submitted late.
As time is provided within the practical class to complete this task, no late submissions will be accepted and a 100% late penalty applies.
This has been approved by the Associate Dean (Academic)
End of semester exam
- Hurdle
- Identity Verified
- In-person
- Mode
- Written
- Category
- Examination
- Weight
- 40%
- Due date
End of Semester Exam Period
8/11/2025 - 22/11/2025
- Other conditions
- Secure.
Task description
This is a closed-book, identity-verified examination 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.
The final exam is compulsory and covers the entire course.
The final exam will be scheduled at a fixed time for all students.
Hurdle requirements
Exam >= 50% required for Grade 4Exam 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) | 1 - 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: Total Mark of at least 20%. |
3 (Marginal Fail) | 47 - 49 |
Demonstrated evidence of developing achievement of course learning outcomes Course grade description: Total Mark of at least 47% and achieve at least 40% in the Final Exam. |
4 (Pass) | 50 - 64 |
Demonstrated evidence of functional achievement of course learning outcomes. Course grade description: Total Mark of at least 50% and achieve at least 45% in the Final Exam. |
5 (Credit) | 65 - 74 |
Demonstrated evidence of proficient achievement of course learning outcomes. Course grade description: Total Mark of at least 65% and achieve at least 60% in the Final Exam. |
6 (Distinction) | 75 - 84 |
Demonstrated evidence of advanced achievement of course learning outcomes. Course grade description: Total Mark of at least 75% and achieve at least 70% in the Final Exam. |
7 (High Distinction) | 85 - 100 |
Demonstrated evidence of exceptional achievement of course learning outcomes. Course grade description: Total Mark of at least 85% and achieve at least 80% in the Final Exam. |
Additional course grading information
A mark in this course is calculated from the following four assessments in this course:
1. Assignment 1 (A1)
2. In-semester exam (ME)
3. Assignment 2 (A2)
4. Final Exam (FE)
Supposing A1, ME, A2, FE are percentages in [0%, 100%] then your mark is
MARK = MAX(M1, M2)
where:
M1 = (0.15*A1) + (0.25*A2) + (0.20*ME) + (0.40*FE)
M2 = (0.15*A1) + (0.25*A2) + (0.10*ME )+ (0.50*EF)
The decimal numbers are the weightings of each assignments.
This means that poor performance on the in-semester exam can be mitigated by performing well on the final exam.
The final grade for the course will be initially constructed from the individual grades according to assessment weightings. Your mark will be computed using two digits precision, then rounded to the nearest whole number. At the discretion of the course coordinator, final grades may be moderated.
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 through Gradescope auto-grader tests in Computer Exercise 1 (Assignment 1). The auto-grader tests will be available when Assignment 1 is released. They will also receive feedback from their demonstrators by completing Weekly Coding Exercises during their practical sessions.
Having Troubles?
If you are having difficulties with any aspect of the course material, you should seek help. Speak to your teaching team and/or the course coordinator.
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 EECS Director of Teaching & 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, tutorial 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 having read the weekly notesᅠprovided on Blackboard and Ed Lessons beforehand.
This course will make use of Weekly Code Challenges in Ed Lessons platform.ᅠCode Challenge is a tutorial system that automatically checks your answers and gives you feedback.
Facilities
Practical work for this course will take place in the PC labs. 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 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 lessons
This course will use Ed Lessons.
Ed discussion forum
The course will use the Ed Discussion as a Q&A forum. Students are encouraged to ask questions on this discussion board and answer questions of their peers. Do not publicly post assessed items on the forum as this may result in Academic Misconduct. If you are unsure, ask before posting.
Gradescope
Assignments will be submitted via the Gradescope platform. You can access this via a link in Blackboard throughout the semester as it is released for each assignment. Ensure that you upload your submissions early and regularly and check that what you submitted to Gradescope is what you intended, and not, for example, an out of date submission. Some feedback will be available immediately after submission, ensure there are no failures that prevent your submission from being tested.
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 (28 Jul - 03 Aug) |
Lecture |
Week 1 Course introduction. Learning outcomes: L01 |
Multiple weeks From Week 2 To Week 13 |
Practical |
Practicals Weekly practicals start from Week 2 |
Applied Class |
Applied Class Weekly Applied Classes start from Week 2. |
|
Week 2 (04 Aug - 10 Aug) |
Lecture |
Week 2 Control Structures (if statement and While loop). |
Week 3 (11 Aug - 17 Aug) |
Lecture |
Week 3 Strings, For loops, and Functions |
Week 4 (18 Aug - 24 Aug) |
Lecture |
Week 4 Tuples and Lists - Strings and Lists methods |
Week 5 (25 Aug - 31 Aug) |
Lecture |
Week 5 Dictionary , Scope |
Week 6 (01 Sep - 07 Sep) |
Lecture |
Week 6 File Processing, Debugging and Testing |
Week 7 (08 Sep - 14 Sep) |
Lecture |
Week 7 Exceptions and Intro to OOP |
Week 8 (15 Sep - 21 Sep) |
Lecture |
Week 8 Dunder/Magic methods. Inheritance and Polymorphism. |
Week 9 (22 Sep - 28 Sep) |
Lecture |
Week 9 Advanced Inheritance and Composition, MVC Design Pattern |
Week 10 (06 Oct - 12 Oct) |
Lecture |
Week 10 Introduction to cyber security (Guest Lecturer) and Cyber security in Python |
Week 11 (13 Oct - 19 Oct) |
Lecture |
Week 11 Functional Programming |
Week 12 (20 Oct - 26 Oct) |
Lecture |
Week 12 Recursion |
Week 13 (27 Oct - 02 Nov) |
Lecture |
Week 13 Revision. |
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
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: