Course coordinator
Please email the course coordinator to schedule an appointment for in-person or on-line consultation.
Students work in teams on a studio-based software development project to gain an understanding of the processes, techniques and tools used to manage and deliver large, complex software systems. The course covers software engineering, design, project management and team work processes. Students will learn techniques and tools used to manage complex software projects. These techniques and tools will be applied to software design, verification and validation, configuration management and documentation.
Real software is complex; too complex to be kept in the mind of a single developer. Almost all software used in the real world is constructed by teams of developers, often large teams. In order to manage this team-based development process, it is important to ensure not only that the software behaves as it should when it is originally built, but that it continues to do so as it evolves over time to incorporate new features, respond to new requirements and cater to new users.
During the course, you will be working in groups to improve a common code base. This gives you practical exposure to many of the problems and difficulties of developing software on realistic projects -- people in other teams breaking your code or changing your design, working with difficult existing code, managing change in the code base, and other issues. Alongside this, the lectures teach the techniques and tools we use (and that we will be using throughout the course) to make complex software development manageable: version control, build systems, continuous integration, test-driven development, mocks, refactoring, API design, testing and code coverage, program analysis, debugging and more.
Course Changes in Response to Previous Student Feedback
Minor improvements have been made to both the lecture and applied class content.
A hurdle requirement has been introduced for the group assessment to encourage greater individual contribution to teamwork.
You should
You'll need to complete the following courses before enrolling in this one:
CSSE2002
You can't enrol in this course if you've already completed the following:
DECO2800
Please email the course coordinator to schedule an appointment for in-person or on-line consultation.
The timetable for this course is available on the UQ Public Timetable.
All course activities, lectures, studios and applied classes, start in week one.
After successfully completing this course you should be able to:
LO1.
Apply collaboration skills to work effectively as a part of small and large teams on large software projects, including management of versions and merging with the work done by others.
LO2.
Employ inspection techniques to explore, understand and then contribute to complex software systems.
LO3.
Identify the roles of different tools and techniques in large systems, and use them to improve project outcomes.
LO4.
Conduct design in the context of a large project, taking into account other, potentially conflicting, features.
LO5.
Apply refactoring techniques where appropriate, e.g. to reconcile decisions with other developers working on the same software.
LO6.
Analyse complex problems and apply design patterns to design contextually appropriate solutions.
LO7.
Apply techniques for validating and ensuring the quality of the software, both during development and in the prevention of regression.
LO8.
Select and employ appropriate software tools for managing the development and maintenance of complex software.
Category | Assessment task | Weight | Due date |
---|---|---|---|
Computer Code |
GIT Exercise
|
Pass/Fail |
22/08/2025 3:00 pm |
Project |
Sprint Submissions
|
50% |
Week 6 Week 8 Week 10 Week 12 Submission is due at 3:00 pm the day before your studio session in the indicated weeks. |
Portfolio | Individual Portfolio | 20% |
31/10/2025 3:00 pm |
Examination |
Final Exam
|
30% |
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.
22/08/2025 3:00 pm
Complete the three git modules on edX, and push a non-breaking commit to the HelloSE project on GitHub during your applied class in week 4.
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.
Submission is in your applied classes, by showing a demonstrator your contribution to the HelloSE project on GitHub.
You cannot defer or apply for an extension for this assessment.
Extensions are not available for this assessment item as feedback is given to students very rapidly.
Assignment is auto marked and/or solutions and marked assessment will be released within 3 days of the due date to permit students to progress with follow up assignments.
You will receive a mark of 0 if this assessment is submitted late.
100% Late Penalty after 1 hour grace period.
The one-hour grace period is recorded from the time the submission is due. The modified late penalty applies as the assessment is auto marked and/or solutions and marked assessment will be released within 3 days of the due date to permit students to progress with follow up assignments.
This has been approved by the Associate Dean (Academic)
Week 6
Week 8
Week 10
Week 12
Submission is due at 3:00 pm the day before your studio session in the indicated weeks.
Feature teams must deliver one or more improvements to the software in each development sprint.
The project will be submitted via four sprints over the course of the semester. These sprint submissions are:
Your feature team must have contributed an important component of the game in each sprint. Your submission is due at 15:00 the day before your studio session in each of the weeks indicated above. All project artefacts (code, tests, documentation, audio and image resources) are to be pushed to the source code repository. Project documentation must be in the ticket management system or project wiki. You will also submit a summary of your team's achievements for each sprint via a link that will available on BlackBoard.
Your work will be assessed for its
You will also be assessed based on how effectively you have contributed as a member of your feature team, and the studio as a whole. Your contribution to your feature team's submission will also be evaluated by a peer assessment. Details about marking criteria for each sprint will be made available on Blackboard. The course coordinator reserves the right to vary group marks for each group member in the event of varied contributions to the team effort.
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.
Code, artefacts and other materials, such as evidence of design activities are to be submitted via the course source code repository and associated facilities (wiki, issue tracker) on GitHub. A summary of your team's achievements for each sprint will be submitted via a link that will available on BlackBoard.
You cannot defer or apply for an extension for this assessment.
Extensions are not available for this assessment item.
Extensions for groupwork are typically not available as this impacts on all members of the team. However, if a group encounters extraordinary difficulties in meeting a deadline, they should contact the Course Coordinator in advance of the due date. Groups will be asked to meet with the Course Coordinator, and be prepared to present their work, as it stands.
You will receive a mark of 0 if this assessment is submitted late.
All team submissions received after the one-hour grace period will either; (1) receive a zero mark (or failing grade), or (2) if an earlier snapshot of the team’s work was submitted then this will instead be graded.
Consistent with industry practice where late submission of documentation etc is not accepted, the stated late penalty applies.
This has been approved by the Associate Dean (Academic)
31/10/2025 3:00 pm
You will prepare an individual portfolio describing the contributions you have made to the project over the entire semester. You should not list everything you have done, you need to select work items that demonstrate your contributions over the entire semester. Your portfolio should highlight the quality of your work and the consistency of your contributions to the project. The portfolio can include sketches, notes and other materials used during design or implementation.
Your portfolio should reflect on the work you have done, including challenges faced, solutions considered and employed, and on what has or has not worked, both from the perspective of addressing technical requirements, and from the point of view of working within your team.
You will submit the portfolio via a link on Blackboard. More details will be provided during semester.
You should be developing and documenting this portfolio throughout the semester. Do not wait until the last week of semester to try and create your entire portfolio.
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.
Submission via Blackboard
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.
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 Period
8/11/2025 - 22/11/2025
The final exam will be an on-campus, invigilated paper-based exam. Specified materials permitted: Two A4 double-sided sheets of handwritten or typed notes. No other materials or computing/communication devices are permitted. You are required to cite resources that you use in answering questions.
This exam will assess your ability to reflect on the content of the course and identify connections between the various topics covered. The exam will also confirm that skills developed in the projects have been retained. Simple verbatim quoting of resource material that does not demonstrate understanding of the question topic will not obtain a passing mark for the question.
This assessment task evaluates 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 or MT technologies to develop responses is strictly prohibited and may constitute student misconduct under the Student Code of Conduct.
Planning time | 10 minutes |
---|---|
Duration | 120 minutes |
Calculator options | No calculators permitted |
Open/closed book | Closed book examination - specified written materials permitted |
Materials | Two A4 sheets of handwritten or typed notes, double-sided, are permitted |
Exam platform | Paper based |
Invigilation | Invigilated in person |
You may be able to defer this exam.
Full criteria for each grade is available in the Assessment Procedure.
Grade | Cut off Percent | 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 |
4 (Pass) | 50 - 64 |
Demonstrated evidence of functional achievement of course learning outcomes. |
5 (Credit) | 65 - 74 |
Demonstrated evidence of proficient achievement of course learning outcomes. |
6 (Distinction) | 75 - 84 |
Demonstrated evidence of advanced achievement of course learning outcomes. |
7 (High Distinction) | 85 - 100 |
Demonstrated evidence of exceptional achievement of course learning outcomes. |
Your final mark will be calculated by adding up your marks for the course assessment (out of 100), and you will be awarded a grade between 1-7 inclusive as described above.Your final mark will be rounded to the nearest whole number (e.g., 79.45 is rounded to 79, 79.5 is rounded to 80) before grade cutoffs apply. The course coordinator reserves the right to moderate marks.
For team projects, peer assessment in terms of quality and quantity of the work, reliability, and communication and collaboration may be used to adjust individual marks. Peer assessments will be moderated by the teaching team and their observations of individual's contributions during contact sessions may also be used during the moderation process.
The following hurdles apply to your final grade.
Your final grade will be capped at 2 in any of the following three conditions:
Your final grade will be capped at 3 in any of the following two conditions:
Supplementary assessment is not available for some items in this course.
Supplementary assessment will not be available to students whose failing grade is due to failing team assessment items.
Permitted Use of Open Source Code
The use of the following is permitted in this course only with full disclosure of how it was used and with proper attribution, you must make clear what is your teams and/or your own work:
Please note the following things class as misconduct:
Having Troubles?
If you are having difficulties with any aspect of the course material, you should seek help and 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.
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.
Find the required and recommended resources for this course on the UQ Library website.
Important resources include:
Students will need a GitHub account.
The learning activities for this course are outlined below. Learn more about the learning outcomes that apply to this course.
Filter activity type by
Learning period | Activity type | Topic |
---|---|---|
Multiple weeks From Week 1 To Week 10 |
Applied Class |
Applied Classes These are opportunities to explore how the lecture content can be applied in practice so that you can use the material effectively in your project work. |
Multiple weeks From Week 1 To Week 12 |
Studio |
Studio Sessions These are an active learning environment requiring your participation throughout the semester. |
Lecture |
Lectures |
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.
You'll also need to be aware of the following policies and procedures while completing this course:
Your school has additional guidelines you'll need to follow for this course: