- UCAS course code
- G405
- UCAS institution code
- M20
Bachelor of Science (BSc)
BSc Computer Science with Industrial Experience
- Typical A-level offer: A*A*A including specific subjects
- Typical contextual A-level offer: AAA including specific subjects
- Refugee/care-experienced offer: AAB including specific subjects
- Typical International Baccalaureate offer: 38 points overall with 7,7,6 at HL, including specific requirements
Fees and funding
Fees
Tuition fees for home students commencing their studies in September 2025 will be £9,535 per annum (subject to Parliamentary approval). Tuition fees for international students will be £36,000 per annum. For general information please see the undergraduate finance pages.
Policy on additional costs
All students should normally be able to complete their programme of study without incurring additional study costs over and above the tuition fee for that programme. Any unavoidable additional compulsory costs totalling more than 1% of the annual home undergraduate fee per annum, regardless of whether the programme in question is undergraduate or postgraduate taught, will be made clear to you at the point of application. Further information can be found in the University's Policy on additional costs incurred by students on undergraduate and postgraduate taught programmes (PDF document, 91KB).
Scholarships/sponsorships
The University of Manchester is committed to attracting and supporting the very best students. We have a focus on nurturing talent and ability and we want to make sure that you have the opportunity to study here, regardless of your financial circumstances.
For information about scholarships and bursaries please visit our undergraduate student finance pages .
Course unit details:
Software Engineering 2
Unit code | COMP23412 |
---|---|
Credit rating | 10 |
Unit level | Level 2 |
Teaching period(s) | Semester 2 |
Available as a free choice unit? | No |
Overview
This course prepares you to build interactive, real-world web applications using modern development frameworks and team-based agile practices. You will work in a simulated software company, with weekly requirements from ‘customers’ (your lecturers) that range from precise to deliberately ambiguous – just like the real world.
Working in teams, you will learn to break down requirements, clarify ambiguity through customer engagement, and deliver high-quality software through continuous integration and testing. Along the way, you will develop fluency in an industry-standard framework, navigating documentation and architectural patterns to solve evolving challenges.
What you will gain:
- Real-world experience in team-based software engineering.
- Confidence working with a modern web development framework.
- Skills in requirements analysis, rapid learning, and iterative development.
- The ability to build and test usable, robust web applications.
- Hands-on experience working with APIs – both consuming and creating them.
You will leave the course ready to hit the ground running in a professional development team.
Pre/co-requisites
Unit title | Unit code | Requirement type | Description |
---|---|---|---|
Software Engineering 1 | COMP23311 | Pre-Requisite | Compulsory |
Aims
Software Engineering II aims to familiarise students with industrial software engineering scenarios, dynamics, tools of the trade and practices. The course unit simulates the engineering of an enterprise web application using a widespread development framework that maps into the MVC design pattern.
Learning outcomes
Apply user interface guidelines when designing web applications. - 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 to provide common functionality to multiple software projects.
- Use third party libraries to incorporate functionalities to the web application.
Syllabus
1. Introduction I: using an IDE
2. Introduction II: Web frameworks
3. Data modeling
4. Designing the user interface
5. Specification by example
6. Testing functionality in isolation
7. Providing a REST API
8. Using external APIs
9. Integrating external services
10. Catching up with requirements
11. Exam practice
12. Showcase
Teaching and learning methods
The asynchronous online lectures are delivered weekly and are the first theoretical contact with the week's topic. There is a dedicated forum to discuss any questions from the lecture materials. Some weeks include examinable readings, including scientific articles and blog posts on the weekly topics. The labs are structured in three stages and take place every week:
Stage 1
In week 1 and 2, students work individually. In week 1, they get the first contact with an industrial IDE and learn how to navigate, build, run and test an existing codebase. In week 2, students learn the MVC design paradigm and the implementation that Spring makes of it. To become familiarised with the framework, students are guided by a heavily scripted lab manual that follows the test-driven development paradigm. There is academic and GTA support to troubleshoot and to provide pedagogical explanations of the choices to be made and the solutions.
Stage 2
Students get in teams of 6-8 members and receive new requirements every week to work on the team coursework. These requirements are typically related to the week’s theoretical topic. Students must derive issues from the requirements, populate the distributed version control system with issues, distribute them, and integrate them after completion. This typically happens between weeks 3 and 10. We closely monitor team performance and workload distribution with GitLab analytics.
We run two checkpoints to ensure students are working according to plan and the distribution of work is fair according to hard data retrieved from GitLab analytics. Students not contributing receive a penalty. There is academic and GTA support to provide continuous feedback, troubleshoot and provide pedagogical explanations for the choices to be made and the debugging strategies to follow.
The team study sessions run along Stage 2 and consist of an extra hour to carry on working on the week’s requirements. There is academic and GTA support during these sessions.
Stage 3
After submitting their coursework, we run a project showcase in week 12. GTAs and academics run acceptance tests against their project and provide face-to-face feedback on the marks achieved and lost. Teams anonymously nominate the best team members in a poll to award their contributions through extra marks.
Employability skills
- Analytical skills
- Group/team working
- Innovation/creativity
- Leadership
- Project management
- Problem solving
- Research
Assessment methods
Method | Weight |
---|---|
Written exam | 50% |
Project output (not diss/n) | 50% |
Feedback methods
- Individual labs: Formative feedback during the week lab in weeks 1 and 2.
- Team coursework: team-level formative face to face feedback between weeks 2-10. Team-level summative face to face feedback at the showcase taking place on week 12.
- Exam: Cohort-level feedback after marking
Recommended reading
The examinable articles are introduced during the course.
Study hours
Scheduled activity hours | |
---|---|
Assessment written exam | 1 |
Demonstration | 1 |
Lectures | 10 |
Practical classes & workshops | 22 |
Supervised time in studio/wksp | 8 |
Independent study hours | |
---|---|
Independent study | 58 |
Teaching staff
Staff member | Role |
---|---|
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.