BSc Computer Science and Mathematics

Year of entry: 2024

Course unit details:
Software Engineering 2

Course unit fact file
Unit code COMP23412
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
Available as a free choice unit? No

Overview

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.

Pre/co-requisites

Unit title Unit code Requirement type Description
Software Engineering 1 COMP23311 Pre-Requisite Compulsory
Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Aims

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.

Learning outcomes

  • 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

Syllabus

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 and learning 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

Assessment methods

Method Weight
Written exam 30%
Practical skills assessment 70%

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.

Recommended reading

COMP23412 reading list can be found on the Department of Computer Science website for current students.

Study hours

Scheduled activity hours
Practical classes & workshops 20
Work based learning 2
Independent study hours
Independent study 78

Teaching staff

Staff member Role
Mustafa Mustafa Unit coordinator
Markel Vigo Unit coordinator

Additional notes

Course unit materials

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

Return to course details