Skip to navigation | Skip to main content | Skip to footer

This is an archived syllabus from 2021-2022

COMP23412 Software Engineering 2 syllabus 2021-2022

COMP23412 materials

COMP23412 Software Engineering 2

Level 2
Credits: 10
Enrolled students: 380

Course leader: Markel Vigo

Additional staff: view all staff


  • Pre-Requisite (Compulsory): COMP23311

Additional requirements

  • Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Assessment methods

  • 30% Written exam
  • 70% Practical skills assessment
Sem 2 w20-27,31-34 Lab 1.8+1.10 Tue 16:00 - 18:00 F
Sem 2 w20-27,31-34 Lab 1.8+1.10 Thu 16:00 - 18:00 G
Sem 2 w20-27,31-34 Lab G23 Fri 16:00 - 18:00 H
Sem 2 w20-27,31-33 TEAM STUDY Engineering Building A 1A.011 Computer Cluster 1 Fri 10:00 - 11:00 -
Sem 2 w20-27,31-33 TEAM STUDY Engineering Building A 1A.016 Computer Cluster 2 Fri 10:00 - 11:00 -
Sem 2 w20-27,31-33 TEAM STUDY Engineering Building A 2A.021+2A.024 Computer Clusters 4&5 Fri 10:00 - 11:00 -
Sem 2 w20-27,31-33 TEAM STUDY 2.25 (A+B) Fri 10:00 - 11:00 -
Sem 2 w20-27,31,33-34 ONLINE Lecture Mon 10:00 - 11:00 -
Themes to which this unit belongs
  • Software Engineering
  • Agile Methods


In this course unit students work in teams to build their own web application, with a focus on architecture, planning, and meeting requirements through extensive testing. Students will get to grips with the Model-View-Controller architecture through the Spring web framework, integrating functionality from Twitter and Google maps, and developing their own API.

This course unit detail provides the framework for delivery in 20/21 and may be subject to change due to any additional Covid-19 impact.  Please see Blackboard / course unit related emails for any further updates.


By the end of the course unit students will be able to:

  • Work in a team to deliver a new software product.
  • Implement a robust architecture for a web application.
  • Understand and break down requirements.
  • Ensure acceptance tests are met through unit and integration tests.
  • Work with APIs.


Working with the Model-View-Controller architecture User interface design Data modelling Specification by example Unit and integration testing Internal APIs Consuming REST APIs Providing a REST API

Teaching methods

The course unit is entirely lab-based. The first 30 minutes is a lecture/demonstration, the remaining 1.5 hours is a chance to apply the techniques in practice in assessed coursework, with the support of lecturers and TAs.

1 lecture each week

2 hour lab each week

1 hour team study sessions

Use of online quizzes

Feedback methods

Feedback is provided on a continuous basis; as students implement requirements, they can check that these meet client expectations in the lab each week.

Study hours

  • Practical classes & workshops (20 hours)
  • Work based learning (2 hours)

Learning outcomes

On successful completion of this unit, a student will be able to:

  • Apply the ‘golden rules’ of user interface design to a web application
  • Design a data model to efficiently represent entities and relationships within a software system
  • Map from acceptance tests to unit and integration tests to ensure a system meets specifications and is robust against regression
  • Use and develop REST APIs
  • In a team, design and develop a library to provide common functionality to multiple software projects

Reading list

No reading list found for COMP23412.

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.