Course overview
- Study period
- Semester 2, 2024 (22/07/2024 - 18/11/2024)
- 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 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 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.
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
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 contact session.
Lectures begin in week 1. Contact sessions and practical 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 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 |
---|---|---|---|
Tutorial/ Problem Set |
Online problems (ShiFoo)
|
10% |
Week 2 Tue - Week 13 Tue
The due date and time will be 1:00pm each Tuesday, commencing week 2 unless otherwise indicated. |
Computer Code |
Individual Assignment 1
|
20% |
27/08/2024 1:00 pm |
Computer Code |
Individual Assignment 2
|
20% |
15/10/2024 1:00 pm |
Examination |
Final Exam
|
50% |
End of Semester Exam Period 2/11/2024 - 16/11/2024 |
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 (ShiFoo)
- Online
- Mode
- Written
- Category
- Tutorial/ Problem Set
- Weight
- 10%
- Due date
Week 2 Tue - Week 13 Tue
The due date and time will be 1:00pm each Tuesday, commencing week 2 unless otherwise indicated.
- Learning outcomes
- L01, L02, L03, L04
Task description
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 ShiFoo online environment. Each set of problems will reinforce concepts delivered in the course. In addition to implementing solutions to the problems, the problems may include components of reviewing code quality. Refer to the assessment description on Blackboard.
A link to this environment is available on Blackboard.
Submission guidelines
These problem sets will be delivered and submitted via the ShiFoo 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.
No extensions are possible for the weekly online quizzes (results and feedback are released immediately). To accommodate unforeseen circumstances such as illness, your quiz score will be based on the best 10 out of 12 submissions.
Late submission
You will receive a mark of 0 if this assessment is submitted late.
Individual Assignment 1
- Hurdle
- Mode
- Written
- Category
- Computer Code
- Weight
- 20%
- Due date
27/08/2024 1: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.
Hurdle requirements
Refer to course grading informationSubmission 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.
Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 14-21 days where the earlier time frame applies if no extensions.
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
15/10/2024 1: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.
Hurdle requirements
Refer to course grading informationSubmission 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.
Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 14-21 days where the earlier time frame applies if no extensions.
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
2/11/2024 - 16/11/2024
- Other conditions
- Time limited.
- 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
Refer to course grading informationExam details
Planning time | 10 minutes |
---|---|
Duration | 120 minutes |
Calculator options | No calculators permitted |
Open/closed book | Closed Book examination - specified written materials permitted |
Materials | One A4 sheet of handwritten or typed notes, double sided, is 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 - 44 |
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 assignment marks, your overall mark will be capped to at most 44 marks. The assignment marks are the two assignments added together. |
3 (Marginal Fail) | 45 - 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 assignment marks AND the weighted average of your combined overall assessments must be at least 45% 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 assignment marks, your overall mark will be capped to at most 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 assignment marks 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 assignment marks, your overall mark will be capped to at most 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 assignment marks 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 progressive assessment and the final exam to successfully complete this course. 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.
If you achieve less than 20% of the assignment marks (both assignments combined) OR less than 20% of the final exam marks, your overall mark will be capped at 44 and your grade will be capped at a 2. Students with a grade of 2 or less are not eligible to apply for supplementary assessment in this course.
If you achieve at least 20%, but less than 40% of the assignment marks OR at least 20%, but less than 40% of the final exam marks, your overall mark will be capped at 49 and your grade will be capped at a 3. Students with a grade of 3 may be eligible to apply for supplementary assessment in this course (see below).
If you achieve at least 40%, but less than 50% of the assignment marks OR at least 40%, but less than 50% of the final exam marks, your overall mark will be capped at 64 and your grade will be capped at a 4.
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.
Your overall mark (only) will then be rounded to the nearest whole number before any grade cutoffs apply. Individual assessment component marks and weighted values are not rounded.
In other words, where A1, A2, S, and E represent your mark as a percentage (between 0-100 inclusive) on Assignment 1, Assignment 2, ShiFoo, and the Final Exam respectively, your overall mark out of 100, M, will be:
M = ROUND(0.2 × A1 + 0.2 × A2 + 0.1 × S + 0.5 × E)
The course coordinator reserves the right to moderate marks.
Supplementary assessment
Supplementary assessment is available for this course.
Additional assessment information
Plagiarism and the use of Artificial Intelligence (AI) or Machine Translation (MT)
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, 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. You may have to verbally answer questions about your submission as part of the assignment marking process.
All assessment tasks evaluate students' abilities, skills and knowledge without the aid of generative Artificial Intelligence (AI) or Machine Translation (MT). Students are advised that the use of AI technologies to develop responses is strictly prohibited and may constitute student misconduct under the Student Code of Conduct.
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 fix 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.
ShiFoo The course uses the ShiFoo 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
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 |
Tutorial |
Tutorials There will be weekly tutorials starting in week 2. Learning outcomes: L01, L02, L03, L04, L05 |
Practical |
Practicals There will be weekly prac sessions 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:
- Student Code of Conduct Policy
- Student Integrity and Misconduct Policy and Procedure
- Assessment Procedure
- Examinations Procedure
- Reasonable Adjustments - 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: