Software Engineering MSci (with Foundation Year)UCAS Code: SE21|Duration: 5|Full Time|Hope Park|UCAS Campus Code: L46
Work placement opportunities|International students can apply|Study Abroad opportunities
About the course
Modern society could not function without large software systems. National utilities and infrastructure, energy, communications, health, business and transport all rely on complex and large applications. With the increasing complexity of these software systems comes an increasing difficulty in building and delivering a correct, and robust, solution to customers on time and on budget. Such software cannot be produced successfully, safely and efficiently without following some constraining, and managing, process. This is the domain of the software engineer.
Teaching on this degree is structured into lectures, where all students are taught together, seminars of smaller groups of around 15-20 students, and tutorials which typically have no more than 10 students. During your first year of study, there are approximately 12 teaching hours each week, which reduces to approximately 10 teaching hours in your second and third years. On top of teaching hours, you are also expected to spend a number of hours studying independently each week, as well as studying in groups to prepare for any group assessments that you may have.
Assessment and feedback
During your degree, there are a variety of assessment types to ensure you are given a range of opportunities to demonstrate your knowledge, skills and understanding of the academic and professional components of the degree. These include written exams, portfolios of tasks and activities, and practical coursework. In your final year, there is also a dissertation or extended research project to complete. You will be given written feedback on your assessments, and you will have the opportunity to discuss this with your tutor in more detail.
Basic Software Design
- OOD/OOP Principles
- Reusable Design Patterns (Patterns and anti-Patterns)
- Common Implementations (MVC etc)
- Container Architectures, Orchestration Enterprise Design Patterns
- Design Principles (aspect-oriented programming, inversion of dependencies, SOLID, design by contract)
- Microservice Architectures
- Messaging Middleware (message brokers vs stream platforms)
- RESTful Interfaces, Web-Sockets
- Principles of Cloud Computing and Web Applications
- Platforms, AWS vs Microsoft Azure vs Google Cloud
- Practical Deployment – Firewalls, Security Groups, Virtual Subnets etc.
- Software Process Models
- Process Activities
- Coping with Change
- Improving Processes
Agile Software Development
- Agile Methods
- Agile Development Techniques
- Project Management in an Agile Environment
- Scaling Agile Methodologies
Functional and Non-Functional Requirements
Requirements Engineering Processes
- Change and Change Management
- Text-driven Development
- Testing during Development
- Testing Environments
- Release Testing
- User Testing
- Managing Risk
- Managing People, Teamwork
- Plan-driven Development and Scheduling
- Planning for Agile
- Estimation and Contingency
- Cocomo – Cost Modelling
- Software Quality
- Quality Standards
- Reviews and Inspection
- QM in Agile Development Teams
- Measuring Software Performance
- Version Management
- Release Management – CI/CD Models
- Building Systems
The Foundation Year is a great opportunity if you have the ability and enthusiasm to study for a degree, but do not yet have the qualifications required to enter directly onto our degree programmes. A significant part of the Foundation Year focuses upon core skills such as academic writing at HE level, becoming an independent learner, structuring academic work, critical thinking, time management and note taking.
Successful completion of the Foundation Year will enable you to progress into the first year (Level C) of your chosen honours degree. Further details can be found here.
- Computer Systems
- Algorithm Design
- Computational methods
Computer Networks and Network Security
- The internet
- Application-level Protocols
- Transport Protocols TCP and UDP
- The Network Layer, IP, Routing and Network Management
- LANS and WiFi Networks
- Network Security
- In Web Pages
- Python and Django
- Relational Databases
- No-Sql Databases
- In Memory Data-Grids
Introduction to Object Oriented Software Development:
- OOD using UML
- Practical OOP/OOD using Java and C#
- Design Patterns; Templates for Reusable Code
- Introduction to Enterprise Architecture
Further Software Engineering
- Requirements Analysis and Specification
- The Software Life Cycle
- Introduction to Code Management Systems
- Approaches to Managing Software Delivery
- Introduction to CI/CD
Managing a Project
- The Business Case
- Managing Risk
- Managing People
- Managing the Project
- Agile (Scrum)
- Incremental (PRINCE2)
- Costs and Contingency
- Strategies for Building Large, Integrated Systems
- Microservice Architectures
- Enterprise Middleware: Brokers and Streaming Platforms
- Rest Apis and Websockets
- Advanced Front End Development; React, Angular, Vue etc.
- Security at Application Boundaries
- Introduction to Cloud Deployments
Testing and Quality
- Testing Software; Developer Test, Automated Test, Load Test, Regression Test, Acceptance Test
- Test Driven Development (TDD)
- Software Development Environments
- Managing Issues
- Quality Management
- Reviews and Inspection
- Software Quality in Agile Teams
- Software Quality Standards
Cloud and Distributed Deployments
- Cloud platforms: AWS, Azure, Google, IBM.
- Deployment into ‘the cloud’.
- Managing security in the cloud.
- Cloud models for data persistence.
- Containers and Containerization.
- Orchestrating software in containers; adapting to change.
Software Delivery and DevOps
- Software Configuration
- Building and Deploying Software
- Continuous Integration and Continuous Delivery
- Automation and Tools for CI; Hudson, Jenkins, TeamCity
- Approaches to CD; Docker and Kubernetes
- Monitoring Deployed Solutions
Systems Dependability and Security
- Engineering for Reliability
- Safety Critical Systems
- Engineering Security
- Conceive, specify, design, build and deploy an enterprise scale application onto a platform of the team’s choice.
- The team will manage the development as if it were a commercial deployment using either agile or traditional approaches.
- The team will produce a full document set from business case through to user guidelines.
There may be some flexibility for mature students offering non-tariff qualifications and students meeting particular widening participation criteria.
There is a major skills gap in the software engineering sector, with the Tech Partnership reporting that 85% of hard-to-fill positions are difficult to recruit to because of a lack of specialist skills (Employer Insights: skills survey 2015). Our Software Engineering degree will develop employable graduates, who have experience in practical skills that are highly sought after by industry, including programming in C, C++, Java, Lua, Python, C# and low-level languages, such as x86 and ARM
The Service and Leadership Award (SALA) is offered as an extra-curricular programme involving service-based experiences, development of leadership potential and equipping you for a career in a rapidly changing world. It enhances your degree, it is something which is complimentary but different and which has a distinct ‘value-added’ component. Find out more on our Service and Leadership Award page.
As part of your degree, you can choose to spend either a semester or a full year of study at one of our partner universities as part of our Study Abroad programme. Find out more on our Study Abroad page.
The tuition fees for the 2022/23 academic year are £9,250 for full-time undergraduate courses.
If you are a student from the Isle of Man or the Channel Islands, your tuition fees will also be £9,250.
The University reserves the right to increase Home and EU Undergraduate and PGCE tuition fees in line with any inflationary or other increase authorised by the Secretary of State for future years of study.
We have a range of scholarships to help with the cost of your studies. Visit our scholarships page to find out more.
International tuition fees
The International Tuition fees for 2022/23 are £11,400.
Visit our International fees page for more information.
With Foundation year, this degree is only available to study as a Single Honours course.
Email our enquiries team