Software Engineering (with a year in industry) MEng (Hons)
UCAS Code: SE15|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
Year one provides a broad introduction to computing in general with a particular focus on practical programming. Topics you will study include:
- Principles of problem solving using Python
- Introduction to web development
- Study skills
- Principles of software development
- Introduction to data structures and formal algorithms using Java
- Introduction to software source control management systems
- Mathematics for computing
In year two you will build significantly on skills and knowledge acquired in year one. You will start to study the principles of software design and management. Your year will follow 4 main threads:
- Object Oriented Software Development using C++
- Introduction to the theory of Software Engineering
- Website development using PHP
- Practical Software Engineering:
- Comparative database technologies
- Java design patterns
- Introduction to software testing and monitoring
- Introduction to enterprise systems
You'll spend your third year in an industry placement
Your fourth year will explore many practical aspects of software engineering in depth. You will be learning in-demand skills that should prove immediately useful in your first jobs after university:
- Web Innovations: Go beyond the basics and immerse yourself in the latest web technologies. Learn about modern frameworks, tools, and best practices that drive today's most dynamic and responsive websites.
- IoT and Mobile development: You will study the internet of things, gaining practical experience using Lua and then look at mobile development for Android devices using Java.
- Advanced database: We look at the disconnect between the object-oriented style of software development and the structure of relational databases. We’ll look at how systems interact with databases using simple SQL connectivity, object relational models and alternatives to relational databases such as document oriented systems and in memory data-grids.
- Managing software deployment: How is software deployed at scale. We’ll look at Linux server basics, and get practical experience of virtualization, enterprise containers, containerization, software orchestration and continuous integration and deployment using the school’s teaching cluster.
- Software Management: We look at the management of software projects from the business case to the final deployment.
- Software Architecture: ‘Don’t reinvent the wheel’ we’ll look at reusable software patterns, and then look at modern software architectures, component based engineering, distributed engineering, service oriented engineering, systems engineering, and embedded systems.
- Cloud Computing: You’ll look at cloud computing and associated technologies such as Hadoop and Map Reduce.
You will also study cybersecurity. In an era defined by digital transformation and an ever-evolving threat landscape, the need for robust cybersecurity practices has never been more critical. Cybersecurity is no longer just an IT issue; it's a business imperative. As businesses and organizations increasingly rely on technology to operate and store sensitive data, they face escalating risks from cyber threats, making cybersecurity a top priority.
This course is an eight-session course designed to equip you with the essential knowledge and skills needed to navigate the complex world of cybersecurity. In this course, we will delve deep into the core pillars of cybersecurity, ensuring that you not only understand the concepts but can apply them effectively to secure your organization's digital assets.
Over the eight sessions, we will explore the following crucial topics:
- Authentication and Authorization by and for Service Endpoints: Learn how to control access to your systems, services, and data by implementing robust authentication and authorization mechanisms.
- Secure Configuration Management: Discover the importance of securely configuring your systems and applications to minimize vulnerabilities and reduce attack surfaces.
- Secure Deployment: Understand the best practices for securely deploying software and infrastructure in both on-premises and cloud environments.
- Secure Software Development Life Cycle: Explore how to integrate security into every stage of the software development process, from design to deployment.
- Intrusion Detection Systems (IDS): Gain insights into identifying and responding to potential threats with advanced intrusion detection systems.
- Incident Response: Develop the skills necessary to effectively respond to cybersecurity incidents and mitigate their impact on your organization.
- Testing Security: Learn the art of ethical hacking and penetration testing to proactively identify vulnerabilities before malicious actors can exploit them.
- Professional Standards and Bodies (ISO, etc.) for Cybersecurity: Explore industry standards and best practices, including ISO certifications, and understand their role in establishing a strong cybersecurity framework.
By the end of this course, you will not only be well-versed in these critical cybersecurity topics but also prepared to take proactive steps to protect your organization's digital assets and uphold professional standards in the field.
In year five you will look at modern paradigms for enterprise level software development, deployment, monitoring and maintenance. You will study:
- Computing in the cloud
- Solutions architectures focussing on microservice architectures
- Enterprise integration patterns
- Software containerization and orchestration
- DevOps and monitoring in the cloud
- Hybrid cloud architectures
- Continuous integration and continuous delivery
You will undertake a significant project and produce an associated dissertation.
|UCAS Tariff Points
|104 UCAS Tariff points must come from a minimum of two A Levels (or equivalent). Additional points can be made up from a range of alternative qualifications
|Access to HE
|104 Tariff Points
|Irish Leaving Certificate
|104 Tariff Points from Higher Level qualifications only
|This qualification can only be accepted in conjunction with other relevant qualifications
|No specific subject requirements
International entry requirements
|Specific Country Requirements
|Select your country
6.0 overall (with reading and writing at 6.0) and no individual score lower than 5.5. We also accept a wide range of International Qualifications. For more information, please visit our English Language Requirements page.
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 2024/25 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 2024/25 are £12,500.
Visit our International fees page for more information.
This degree is only available to study as a Single Honours.