Skip to menu Skip to content Skip to footer
Course profile

Software Engineering Studio: Design, Implement & Test (CSSE3200)

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

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.


Course requirements

Assumed background

You should

  • be comfortable reading and writing simple, though non-trivial, programs (not necessarily in Java).
  • be familiar with object-oriented concepts such as object, classes and inheritance.
  • be familiar with design concepts, including iterative improvement and evaluation.
  • have some experience working in project teams and coordinating activities between team members.

Prerequisites

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

CSSE2002

Incompatible

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

DECO2800

Course contact

Course coordinator

Dr Guowei Yang

Please email the course coordinator to schedule an appointment for in-person or on-line consultation.

Course staff

Lecturer

Timetable

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

Additional timetable information

All course activities, lectures, studios and applied classes, start in week one.

Aims and outcomes

  • Teach students professional software development practices and the theory behind them.
  • Give students experience of those practices on a project of realistic scale.
  • Provide students with positive experiences of collaborative learning and appreciation of the need for life-long learning skills.

Learning outcomes

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.

Assessment

Assessment summary

Category Assessment task Weight Due date
Computer Code GIT Exercise
  • Hurdle
Pass/Fail

22/08/2025 3:00 pm

Project Sprint Submissions
  • Hurdle
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
  • Hurdle
  • Identity Verified
  • In-person
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.

Assessment details

GIT Exercise

  • Hurdle
Mode
Activity/ Performance
Category
Computer Code
Weight
Pass/Fail
Due date

22/08/2025 3:00 pm

Task description

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.

Hurdle requirements

Your final result will be capped with a grade of 2, if do not pass this assessment.

Submission guidelines

Submission is in your applied classes, by showing a demonstrator your contribution to the HelloSE project on GitHub.

Deferral or extension

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.

Late submission

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)

Sprint Submissions

  • Hurdle
Mode
Product/ Artefact/ Multimedia
Category
Project
Weight
50%
Due date

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.

Task description

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:

  • Week 6: Minimum Viable Product (MVP) — The studio must deliver a game that demonstrates the feasibility of your overall design and core game play mechanics.
  • Week 8: Core Game Features — The studio must deliver a playable game with an end condition that demonstrates the core features of your game design.
  • Week 10: Full Game Delivery — The studio must deliver a complete game that includes all aspects of game play.
  • Week 12: Polished Game — The studio must deliver a refined game that delivers the entire game play experience from your design.


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

  • quantity (in terms of how much it contributes to the system as a whole),
  • quality (including data and functional design, code style, etc),
  • how well the work is integrated into the system,
  • appropriate use of software design, implementation and validation techniques and tools (based on evidence of design activities, use of patterns, etc),
  • testing,
  • documentation, and
  • whether your work, and manner of working, facilitated the progress of the overall project.


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.

Hurdle requirements

Your final grade will be capped at 2 if you fail to obtain at least 30% of the mark for the Sprint Submissions. Your final grade will be capped at 3 if you fail to obtain at least 40% of the mark for the Sprint Submissions.

Submission guidelines

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.

Deferral or extension

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.


Late submission

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)

Individual Portfolio

Mode
Written
Category
Portfolio
Weight
20%
Due date

31/10/2025 3:00 pm

Task description

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 guidelines

Submission via Blackboard

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.

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
30%
Due date

End of Semester Exam Period

8/11/2025 - 22/11/2025

Other conditions
Time limited.

See the conditions definitions

Task description

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.

Hurdle requirements

Your final grade will be capped at 2 if you fail to obtain at least 30% of the mark for the final exam. Your final grade will be capped at 3 if you fail to obtain at least 40% of the mark for the final exam.

Exam details

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

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) 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.

Additional course grading information

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:

  • You do not pass the Git Exercise assessment,
  • Your Sprint Submissions result is less than 30%,
  • Your Final Exam result is less than 30%.


Your final grade will be capped at 3 in any of the following two conditions:

  • Your Sprint Submissions result is less than 40%,
  • Your Final Exam result is less than 40%.


Supplementary assessment

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.

Additional assessment information

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:

  • Open Source code and libraries (excluding previous and current CSSE and DECO projects)
  • Open data sets
  • Royalty free, free to use icons, images, and audio files
  • Use of generative AI or MT tools such as ChatGPTᅠ with clear reference in each instance


Please note the following things class as misconduct:

  • Any use of the above tools, libraries, icons, images, audio files, and style sheets that are not properly disclosed/acknowledged.
  • Any plagiarism of previous and current CSSE and DECO projects from open GIT repositories and other external websites.
  • Copying and pasting any UQ copywrite content, task sheets, rubrics, project descriptions into Large Language Models.


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.

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

Important resources include:

  • Course ticket management, source code repository, and build actions (on GitHub).
  • Quality monitoring tools (SonarCloud).
  • Java development environment (e.g. IntelliJ, VS Code or Eclipse).
  • Git

Students will need a GitHub account.

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 10
(28 Jul - 12 Oct)

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
(28 Jul - 26 Oct)

Studio

Studio Sessions

These are an active learning environment requiring your participation throughout the semester.

Lecture

Lectures

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.

You'll also need to be aware of the following policies and procedures while completing this course:

  • Placement
  • Working with Children
  • Laboratory Occupational Health and Safety
  • Fitness to Practise
  • Immunisation
  • Work Integrated Learning and Work Experience
  • Incidental Student Fees and Charges
  • Student Travel

School guidelines

Your school has additional guidelines you'll need to follow for this course: