Skip to main content

Unit information: Software Engineering Project in 2021/22

Unit name Software Engineering Project
Unit code COMS20006
Credit points 20
Level of study I/5
Teaching block(s) Teaching Block 4 (weeks 1-24)
Unit director Dr. Schien
Open unit status Not open

COMS10016 Imperative and Functional Programming and COMS10017 Object-Oriented Programming and Algorithms I or equivalent.

COMS10014 Mathematics for Computer Science A and COMS10013 Mathematics for Computer Science B or equivalent.

Reasonable proficiency in an imperative programming language.

Working knowledge of Java programming language.



School/department Department of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

The primary aim of this unit is to foster good software engineering practice and to introduce the software development lifecycle and principles of project management. The purpose of this is to instill in the students a professional attitude towards software development and encourage them to adopt a mature and repeatable software process.

This is a practical and experiential unit in which the learning outcomes will be achieved through a team project. The aim of this project will be to specify, design, implement and evaluate a large-scale software system.

The exact nature of the project will be informed by industrial input and, wherever possible, students will have a choice in the project upon which they work.

For more information about the unit in previous years, see the Project website:

Intended Learning Outcomes

On completion of this unit, students will be able to:

  1. Develop software systems within a mature and repeatable Software Development process.
  2. Apply Agile Principles & Practices in the development of systems of significant scale.
  3. Select and employ development support tools (as appropriate to the project being undertaken).
  4. Apply basic principles of project management.
  5. Work effectively within real-world development contexts and with clients.
  6. Collaborate effectively within small teams.
  7. Identify the presence of (and employ techniques to mitigate the impact of) project uncertainty and risk.

Teaching Information

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, group work, practical activities supported by drop-in sessions, and self-directed exercises.

Assessment Information

100% coursework, completed in groups - the mark will be informed by a viva.


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMS20006).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the Faculty workload statement relating to this unit for more information.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. If you have self-certificated your absence from an assessment, you will normally be required to complete it the next time it runs (this is usually in the next assessment period).
The Board of Examiners will take into account any extenuating circumstances and operates within the Regulations and Code of Practice for Taught Programmes.