Skip to menu Skip to content Skip to footer
Course profile

Programming in the Large (CSSE2002)

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

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) with specific application to file IO and GUIs in Java.

To effectively manage the complexity of large software systems, higher-level language constructs are required. In particular, classes to implement independent abstractions with robust and compact interfaces are required. This course utilizes the Java programming language to introduce students to the details of concepts such as object-oriented programming, data abstraction, design, refactoring and unit testing. These concepts are used to refine the quality of ones individual code contributions such that the contribution is suitable to be integrated with large software systems.

Course Changes in Response to Previous Student Feedback

  • Structure of course material has been refined.
  • Code reviews have been removed from programming exercises.
  • Secure practical demonstrations have been included with assignments.

Course requirements

Assumed background

You are expected to have successfully completed at least one programming course in a high-level object-oriented programming language (e.g. Python, C#, JavaScript, etc.) and be familiar with programming constructs such as variables, control structures, functions/methods, objects, classes, and inheritance.

Prerequisites

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

CSSE1001 or ENGG1001

Incompatible

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

COMP2500 or COMP7908 or CSSE7023

Course contact

Course coordinator

Mr Brae Webb

For consultations, please use the booking link on Blackboard.

Course staff

Lecturer

Mr Brae Webb

Timetable

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

Additional timetable information

You must sign up for one practical and one applied class session.

Lectures begin in week 1. Practical and applied classes begin in 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 data abstraction, genericity and exception handling).

Assessment

Assessment summary

Category Assessment task Weight Due date
Computer Code, Tutorial/ Problem Set Problem Sets
  • Online
10%

5/08/2025 - 28/10/2025

The due day and time for submissions will be 1pm Tuesday, unless otherwise specified.

Computer Code Assignment 1
  • Hurdle
20%

12/09/2025 1:00 pm

Computer Code, Practical/ Demonstration Assignment 1 Practical
  • Hurdle
  • Identity Verified
  • In-person
Pass/Fail

15/09/2025 - 19/09/2025

During your assigned practical session.

Computer Code Assignment 2
  • Hurdle
25%

24/10/2025 1:00 pm

Computer Code, Practical/ Demonstration Assignment 2 Practical
  • Hurdle
  • Identity Verified
  • In-person
Pass/Fail

27/10/2025 - 31/10/2025

During your assigned practical session for the week.

Examination Final Exam
  • Hurdle
  • Identity Verified
  • In-person
45%

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

Problem Sets

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

5/08/2025 - 28/10/2025

The due day and time for submissions will be 1pm Tuesday, unless otherwise specified.

Learning outcomes
L01, L02, L03, L04

Task description

Problem sets may include implementing solutions to programming problems, reviewing code quality, refactoring existing code, or developing test cases. Refer to the assessment task sheet.

A schedule of activities and due dates will be included in the task sheet.

You may also be asked to attend an interview about your submission (see the Additional assessment information section below).

Students may appropriately use Artificial Intelligence (AI) and/or Machine Translation (MT) in completing this assessment task. Students must clearly reference any use of AI or MT, as specified by the task sheet. A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.

Submission guidelines

Submission will be via the Ed Lessons platform, unless otherwise specified.

Deferral or extension

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

Because only the best 6 of 8 will contribute to the mark for this assessment item and results/answers are released soon after the due date, no extensions are permitted.

Late submission

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

Because

• the results/answers are released soon after the due date, and

• only the best 6 of 8 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)

Assignment 1

  • Hurdle
Mode
Product/ Artefact/ Multimedia, Written
Category
Computer Code
Weight
20%
Due date

12/09/2025 1:00 pm

Learning outcomes
L01, L02, L03, L05

Task description

This assignment will provide practice at implementing and testing Java programs to a given specification.

You may also be asked to attend an interview about your submission (see the Additional assessment information section below).

Students may appropriately use Artificial Intelligence (AI) and/or Machine Translation (MT) in completing this assessment task. Students must clearly reference any use of AI or MT, as specified by the task sheet. A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.

Hurdle requirements

In order to receive marks for Assignment 1, students must pass Assignment 1 Practical.

Submission guidelines

Online via Gradescope, unless otherwise specified.

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.

Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 7-14 days, where the earlier time frame applies if no extensions.

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 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
  • In-person
Mode
Activity/ Performance, Product/ Artefact/ Multimedia
Category
Computer Code, Practical/ Demonstration
Weight
Pass/Fail
Due date

15/09/2025 - 19/09/2025

During your assigned practical session.

Other conditions
Secure.

See the conditions definitions

Learning outcomes
L01, L02, L03, L05

Task description

This item forms the secure element of Assignment 1.

In your allocated practical session, you will be asked to modify, extend, or re-implement code relating to Assignment 1.

Students must attend their allocated practical session with a WIFI-enabled computer capable of running the development environment (specified in the Learning Resources section) for the duration of the session. Failure to do so 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.

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

In order to receive marks for Assignment 1, students must pass Assignment 1 Practical.

Submission guidelines

Deferral or extension

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

As time is provided within the practical class to complete all work, no extension are permitted. If you are unable to attend your allocated practical session, one reschedule is permitted. To arrange a reschedule, please follow the procedure outlined in the task sheet.

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 all work, no late submissions will be accepted and a 100% late penalty applies.

This has been approved by the Associate Dean (Academic)

Assignment 2

  • Hurdle
Mode
Product/ Artefact/ Multimedia, Written
Category
Computer Code
Weight
25%
Due date

24/10/2025 1:00 pm

Learning outcomes
L01, L02, L03, L04, L05

Task description

This assignment will provide practice at implementing/reviewing software in Java, as well as debugging software based on automated test feedback and refactoring software to be more maintainable, readable, and re-usable. Additionally, you may be required to write a report on design/implementation decisions you made to improve the software.

Your achievement in the Assignment 2 Practical item will contribute to the mark for this assessment item, according to the rubric.

You may also be asked to attend an interview about your submission (see the Additional assessment information section below).

Students may appropriately use Artificial Intelligence (AI) and/or Machine Translation (MT) in completing this assessment task. Students must clearly reference any use of AI or MT usage, as specified by the task sheet. A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct

Hurdle requirements

In order to receive marks for Assignment 2, students must pass Assignment 2 Practical.

Submission guidelines

Online via Gradescope unless otherwise specified for a particular assessment item.

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.

Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 7-14 days, where the earlier time frame applies if no extensions.

Late submission

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.

Assignment 2 Practical

  • Hurdle
  • Identity Verified
  • In-person
Mode
Activity/ Performance, Product/ Artefact/ Multimedia
Category
Computer Code, Practical/ Demonstration
Weight
Pass/Fail
Due date

27/10/2025 - 31/10/2025

During your assigned practical session for the week.

Learning outcomes
L01, L02, L03, L04, L05

Task description

This item forms the secure element of Assignment 2.

In your allocated practical session, you will be asked to modify, extend, or re-implement code relating to Assignment 2.

Students must attend their allocated practical session with a WIFI-enabled computer capable of running the development environment (specified in the Learning Resources section) for the duration of the session. Failure to do so may result in a failure.

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

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

In order to receive marks for Assignment 2, students must pass Assignment 2 Practical.

Submission guidelines

Deferral or extension

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

As time is provided within the practical class to complete all work, no extension are permitted. If you are unable to attend your allocated practical session, one reschedule is permitted. To arrange a reschedule, please follow the procedure outlined in the task sheet.

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 all work, no late submissions will be accepted and a 100% late penalty applies.

This has been approved by the Associate Dean (Academic)

Final Exam

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

End of Semester Exam Period

8/11/2025 - 22/11/2025

Learning outcomes
L01, L02, L03, L04, L05

Task description

The final exam will be an on-campus, invigilated paper-based exam.

The exam has specified materials permitted. One A4 sheet of handwritten or typed notes double-sided is permitted. You may use a Casio fx-82 or UQ approved and labelled calculator. Rough paper will be provided.

The exam covers all course materials from the whole semester. Question formats may include multiple choice, short answer, calculations, and programming tasks.

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

≥ 40% is required for an overall grade of 3 or above. ≥ 45% is required for an overall grade of 4 or above. ≥ 60% is required for an overall grade of 5 or above. ≥ 70% is required for an overall grade of 6 or above. ≥ 80% is required for an overall grade of 7 or 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 - 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.

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 >= 45%

5 (Credit) 65 - 74

Demonstrated evidence of proficient achievement of course learning outcomes.

Course grade description: Hurdle: FINAL EXAM >= 60%

6 (Distinction) 75 - 84

Demonstrated evidence of advanced achievement of course learning outcomes.

Course grade description: Hurdle: FINAL EXAM >= 70%

7 (High Distinction) 85 - 100

Demonstrated evidence of exceptional achievement of course learning outcomes.

Course grade description: Hurdle: FINAL EXAM >= 80%

Additional course grading information

Your overall mark is calculated as a weighted sum of all assessment components. Only the final overall mark will be rounded to the nearest whole number before applying grade cutoffs.

Specifically, your final mark M (out of 100) is calculated as:

M = ROUND(0.1 × PE + 0.2 × A1 + 0.25 × A2 + 0.45 × E)

Where:

  • PE = Programming Exercises mark
  • A1 = Assignment 1 mark (includes A1 Practical)
  • A2 = Assignment 2 mark (includes A2 Practical)
  • E = Final Exam mark


If you do not attend and pass the Assignment 1 Practical and/or Assignment 2 Practical, you will receive a zero for the corresponding assignment. Your Assignment 1 and 2 Practicals contribute your Assignment 1 and 2 grades.

In addition, to achieve each grade, your final mark must meet the following minimum thresholds:

  • ≥ 40% for a grade of 3 or higher
  • ≥ 45% for a grade of 4 or higher
  • ≥ 60% for a grade of 5 or higher
  • ≥ 70% for a grade of 6 or higher
  • ≥ 80% for a grade of 7


The course coordinator reserves the right to moderate marks.

Supplementary assessment

Supplementary assessment is available for this course.

Additional assessment information

Plagiarism and Generative AI

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 (teaching staff, 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.

Assessment Interviews

For the assignments and programming exercises, the teaching staff will conduct interviews with a subset of 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 permitted code from other sources (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.

Interview invitations will be issued by email to your student email account at any time up until the end of week one of the exam period. Failure to respond to an interview invitation by the deadline stated in the invitation (which will be at least one week after the invitation is sent) or failure to attend a scheduled interview may result in zero marks for the assignment unless exceptional circumstances can be demonstrated with supporting evidence.

Grade Integrity

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

Moderation

In accordance with the Assessment Procedure, marks may be moderated, and grade cutoffs may be lowered if academically justified.

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.

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

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.

Development Environment Students will be required to write programs in Java. The course will use the latest Long-Term Support (LTS) version of Java, which is Java 21. You should install an Integrated Development Environment (IDE), such as JetBrains IntelliJ (recommended). 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

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

Multiple weeks

From Week 2 To Week 13

Applied Class

Applied Class

Applied classes explore theoretical aspects of the course via exercises.

A computer is not required for these classes.

Learning outcomes: L02, L03, L04, L05

Practical

Practicals

Practical classes involve writing, extending, and refactoring code.

Students must bring their own device capable of running the software requirements specified by the "Development Environment" under Learning Resources.

Learning outcomes: L01, L02, L03, 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: