Skip to menu Skip to content Skip to footer
Course profile

Object Oriented Programming (CSSE7023)

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
Postgraduate Coursework
Location
St Lucia
Attendance mode
In Person
Units
2
Administrative campus
St Lucia
Coordinating unit
Elec Engineering & Comp Science School

Working on complex software systems and ensuring those systems remain maintainable requires disciplined, individual software development practices. Software must be well-specified, well-implemented and well-tested. This course covers concepts and techniques in modern programming languages that help support good software development practice (such as OO concepts, genericity and exception handling) with specific application to file IO and GUIs in Java.

To effectively manage the complexity of large software systems, higher order language constructs are required. In particular, classes to implement independent modules with robust and small interfaces are required. This course utilises the Java programming language to introduce students to the details of concepts such as object-oriented programming, data abstraction, specification and unit testing. The lecture topics include Object-Oriented Programming (OOP) (classes and objects), Java's use of the stack and heap, inheritance and polymorphism, packages, enumerated types, collections, exception handling, unit testing, programming by contract, Java I/O, parsing files and folders, GUIs (event handlers, buttons, tables, lists, etc.), design quality, coupling, cohesion, GUI design principles, model-view-controller variants, generics, lambda expressions, streams, recursion and iteration, sorting, and textual analysis.

The following aspects of the course have been changed from last semester, in response to student feedback:

  • The presented theory in the lectures has been re-worked to reduce the initial complexity and provide greater explanation of the concepts, so as to enhance student understanding of the examinable material.
  • The assignments have been reduced in complexity in order to concentrate specifically on the aspects of data abstraction and isolation in OOP for Individual Assignment 1, and on the model-view-controller elements of Java Swing GUIs for Individual Assignment 2.
  • The use of current industry tools and workflows has been increased to involve code repositories in addition to the existing use of IDEs to keep student practice relevant to the workplace.
  • Increased lecture time has been allocated to the essential theory assessment components in preparation for the students’ final exam.

Course requirements

Assumed background

You are expected to have successfully completed at least one programming course in a modern programming language, and be familiar with programming constructs such as variables, control structures, functions/procedures/methods, objects and classes.

Prerequisites

You'll need to complete the following courses before enrolling in this one:

CSSE7030

Incompatible

You can't enrol in this course if you've already completed the following:

COMP2500 or CSSE7908 or CSSE2002

Course contact

Course staff

Lecturer

Dr David Ross
Dr Ashley Stewart

Timetable

The timetable for this course is available on the UQ Public Timetable.

Additional timetable information

You must sign up for one weekly Practical class and one weekly Applied class.

Lectures and the "Ed Lessons" on-line weekly assignments begin in Week 1. Practical classes and applied classes begin in Week 2.

A lecture or class that would have been scheduled on a public holiday will not occur and will not be substituted for another date. The course schedule has been planned to accommodate the missing dates. There is no lecture in Week 10, however all practical classes and applied classes will continue that week, and every week from Week 2.

Aims and outcomes

Working on large and complex software systems and ensuring those systems remain maintainable requires disciplined, individual practices. Software must be well-specified, well-implemented and well-tested. This course covers concepts and techniques in modern programming languages that help support good practice (such as OO concepts, genericity and exception handling) in Java.

Learning outcomes

After successfully completing this course you should be able to:

LO1.

Implement object-oriented programs according to their specifications.

LO2.

Design, implement and document object-oriented programs using language features such as inheritance, interfaces, polymorphism, exceptions and I/O.

LO3.

Design and implement test components for object-oriented programs.

LO4.

Analyse code to judge whether it follows good programming practice.

LO5.

Write, interpret and critique specifications for program modules (e.g. classes or interfaces).

Assessment

Assessment summary

Category Assessment task Weight Due date
Computer Code, Quiz, Tutorial/ Problem Set Online problems (Ed Lessons)
  • Online
10%

4/08/2025 - 27/10/2025

Submission due date and time is 3:00pm Monday each week, commencing Week 2 unless otherwise indicated. 

  • Due to the public holiday on Monday 6th October, the Week 9 set will instead be due before 3:00pm on Tuesday 7th October.
Computer Code Individual Assignment 1
  • Hurdle
20%

29/08/2025 5:00 pm

Computer Code Individual Assignment 2
  • Hurdle
20%

24/10/2025 5:00 pm

Examination Final Exam
  • Hurdle
  • Identity Verified
  • In-person
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

Online problems (Ed Lessons)

  • Online
Mode
Written
Category
Computer Code, Quiz, Tutorial/ Problem Set
Weight
10%
Due date

4/08/2025 - 27/10/2025

Submission due date and time is 3:00pm Monday each week, commencing Week 2 unless otherwise indicated. 

  • Due to the public holiday on Monday 6th October, the Week 9 set will instead be due before 3:00pm on Tuesday 7th October.
Learning outcomes
L01, L02, L03, L04

Task description

The due date and time will be before 3:00pm the following Monday of each week, commencing with the first (Week 1) set due before 3:00pm on the Monday of Week 2; and the last (Week 12) set due before 3:00pm on the Monday of Week 13.

  • Due to the public holiday on Monday 6th October, the Week 9 set will instead be due before 3:00pm on Tuesday 7th October.


You will be given sets of simple practical Java programming problems to solve during the semester. These problem sets will be delivered and submitted via the Ed Lessons online environment. Each set of problems will reinforce concepts delivered in the course. Refer to the assessment description on Blackboard.

A link to this environment is available on Blackboard.

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.

Submission guidelines

These problem sets will be delivered and submitted via the Ed Lessons online environment. A link to this environment is available on Blackboard.

Deferral or extension

You cannot defer or apply for an extension for this assessment.

Because the answers are released on the due date, no extensions are permitted.

To accommodate unforeseen circumstances such as late enrolment, illness, or other life events, your mark will be based on your best 10 out of the 12 possible submissions. Any missing submissions are calculated as zero marks for that submission.

If you're unable to complete the required 10 assessment items due to exceptional circumstances, please contact the School at studentenquiries@eecs.uq.edu.au.

Late submission

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

Because 

• feedback and results are immediate, and

• the answers are released on the due date, and

• only the best 10 of 12 will contribute to the mark for this assessment item

a 100% penalty will be applied to late submission.

This has been approved by the Associate Dean (Academic)

Individual Assignment 1

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

29/08/2025 5:00 pm

Learning outcomes
L01, L02, L03, L05

Task description

Assignments are used to assess the practical skills of students on non-trivial, but reasonably well-defined problems.

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.

To pass this assessment, students may be required to demonstrate detailed comprehension of their submission independent of AI and MT tools, as part of the assignment marking process.

All submitted code will be subject to electronic plagiarism and collusion detection. The 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 (teaching staff, etc.) is explicitly permitted by the assignment specification, and any such code is referenced in the manner required in the assignment specification.

Hurdle requirements

There is a hurdle for both assignments combined together for the overall course, not for the individual assignments by themselves. Refer to the "Course grading" section below.

Submission guidelines

Online via Gradescope unless otherwise specified for a particular assessment item. Details will be provided with the assignment specification.

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.

This course uses a progressive assessment approach, where Assignment 2 relies on the work done in Assignment 1. Feedback will be provided after both assignments to allow you to prepare for the following assignment and final exam.

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.

Individual Assignment 2

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

24/10/2025 5:00 pm

Learning outcomes
L01, L02, L03, L04, L05

Task description

Assignments are used to assess the practical skills of students on non-trivial, but reasonably well-defined problems.

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.

To pass this assessment, students may be required to demonstrate detailed comprehension of their submission independent of AI and MT tools, as part of the assignment marking process.

All submitted code will be subject to electronic plagiarism and collusion detection. The 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 (teaching staff, etc.) is explicitly permitted by the assignment specification, and any such code is referenced in the manner required in the assignment specification.

Hurdle requirements

There is a hurdle for both assignments combined together for the overall course, not for the individual assignments by themselves. Refer to the "Course grading" section, below.

Submission guidelines

Online via Gradescope unless otherwise specified for a particular assessment item. Details will be provided with the assignment specification.

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.

This course uses a progressive assessment approach, where feedback will be provided after the assignments to allow you to prepare for the final exam.

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.

Final Exam

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

End of Semester Exam Period

8/11/2025 - 22/11/2025

Other conditions
Time limited, Secure.

See the conditions definitions

Learning outcomes
L01, L02, L03, L04, L05

Task description

The exam will be similar in format to previous semesters and will cover all course content. You may use past exams as practice questions.

Hurdle requirements

Satisfactory performance must be demonstrated in the identity-verified final exam. If you fail to obtain at least 20% of the total possible marks for the exam, your overall mark for this course will be capped to a maximum of 46, corresponding to an overall grade of 2 or lower. If you fail to obtain at least 40% of the total possible marks for the exam, your overall mark for this course will be capped to a maximum of 49, corresponding to an overall grade of 3 or lower. If you fail to obtain at least 50% of the total possible marks for the exam, your overall mark for this course will be capped to a maximum of 64, corresponding to an overall grade of 4 or lower.

Exam details

Planning time 10 minutes
Duration 120 minutes
Calculator options

No calculators permitted

Open/closed book Closed book examination - specified 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.

Course grade description: To achieve a grade of 1, you must attempt at least one assessment item AND not meet the requirement for a higher grade.

2 (Fail) 20 - 46

Minimal evidence of achievement of course learning outcomes.

Course grade description: To achieve a grade of 2, the weighted average of your combined overall assessments must be at least 20% of the total possible marks for the course and not meet the requirement for a higher grade. Assessments that have not been submitted are included in the weighted average with a value of zero for that assessment. If you achieve less than 20% of the exam marks OR you achieve less than 20% of the combined marks for both assignments added together, your overall mark will be capped to a maximum of 46 marks.

3 (Marginal Fail) 47 - 49

Demonstrated evidence of developing achievement of course learning outcomes

Course grade description: To achieve a grade of 3, you must achieve at least 20% of the exam marks AND you must achieve at least 20% of the combined marks for both assignments added together AND the weighted average of your combined overall assessments must be at least 47% of the total possible marks for the course. If you achieve less than 40% of the exam marks OR you achieve less than 40% of the combined marks for both assignments added together, your overall mark will be capped to a maximum of 49 marks.

4 (Pass) 50 - 64

Demonstrated evidence of functional achievement of course learning outcomes.

Course grade description: To achieve a grade of 4, you must achieve at least 40% of the exam marks AND you must achieve at least 40% of the combined marks for both assignments added together AND the weighted average of your combined overall assessments must be at least 50% of the total possible marks for the course. If you achieve less than 50% of the exam marks OR you achieve less than 50% of the combined marks for both assignments added together, your overall mark will be capped to a maximum of 64 marks.

5 (Credit) 65 - 74

Demonstrated evidence of proficient achievement of course learning outcomes.

Course grade description: To achieve a grade of 5, you must achieve at least 50% of the exam marks AND you must achieve at least 50% of the combined marks for both assignments added together AND the weighted average of your combined overall assessments must be at least 65% of the total possible marks for the course.

6 (Distinction) 75 - 84

Demonstrated evidence of advanced achievement of course learning outcomes.

Course grade description: To achieve a grade of 6, the weighted average of your combined overall assessments must be at least 75% of the total possible marks for the course.

7 (High Distinction) 85 - 100

Demonstrated evidence of exceptional achievement of course learning outcomes.

Course grade description: To achieve a grade of 7, the weighted average of your combined overall assessments must be at least 85% of the total possible marks for the course.

Additional course grading information

This course is assessed in two distinct and equally important parts. Half of the assessment is composed of practical progressive assessments during the semester. The other half of the assessment is a closed-book paper-based final exam at the end of the semester. Adequate performance is required in both the progressive assessment and the final exam to successfully complete this course. Hurdles apply to your overall performance in the two main practical assignments (combined together as a single total, not for each individual assignment) and also to your performance in the final exam. Particularly poor performance in either of these two areas will impose limits on your overall mark and hence your final grade.

The overall mark is between 0-100 inclusive and you will be awarded a grade between 1-7 inclusive as described above.

Your overall mark will be the weighted sum of the marks for all assessment components, based on the weighting in the Assessment Items table above.

If any of the performance hurdles above apply, your overall mark will be capped, as described above, before the next step.

If your overall mark (only) finishes with a fractional component, that fraction will be rounded up to the next whole number before any grade cutoffs apply. Individual assessment component marks and weighted values are not rounded.

In other words, where A1, A2, L, and E represent your mark as a percentage (between 0-100 inclusive) on Assignment 1, Assignment 2, Ed Lessons, and the Final Exam respectively, your overall mark out of 100, M, will be:

M = ROUND(0.2 × A1 + 0.2 × A2 + 0.1 × L + 0.5 × E) any final mark fraction rounded up, not down.

The course coordinator reserves the right to moderate marks.

Supplementary assessment

Supplementary assessment is available for this course.

Additional assessment information

Assignment remarking

If there are administrative errors (e.g., marks added up incorrectly) in your grade or feedback - speak to a member the course teaching staff. and we will seek to resolve it. For all other remarking requests refer to Querying a result on my.UQ: https://my.uq.edu.au/querying-result

Support

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 The course Blackboard site (learn.uq.edu.au) will be the entry point for access to all course resources. Important announcements will be made on this blackboard. Check the announcements regularly; at least once a week and more often in the week before assignments are due.

Ed Discussion 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.

Ed Lessons The course uses the Ed Lessons online environment for weekly programming assessment. This is available via a link in Blackboard.

Development Environment Students will be required to write programs in Java. You should install an Integrated Development Environment (IDE), such as JetBrains IntelliJ. An IDE provides access to a sophisticated development environment, as well as the standard compilation tools.

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
Multiple weeks

From Week 1 To Week 13

Lecture

Lectures

Lectures will be mainly used to introduce new material. Learning materials are available on Blackboard.

Learning outcomes: L01, L02, L03, L04, L05

Multiple weeks

From Week 2 To Week 13

Practical

Practical Classes

There will be weekly practical programming classes starting in Week 2.

Learning outcomes: L01, L02, L03, L04, L05

Applied Class

Applied Classes

There will be weekly applied knowledge and problem solving classes starting in Week 2.

Learning outcomes: L01, L02, L03, L04, L05

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: