* Good University Guide 2024, The Times and Sunday Times ** Good University Guide 2025, The Times and Sunday Times *** National Student Survey 2024
Make your next career move and learn how to design and build software solutions for business
Aberystwyth University’s 100% online MSc Computer Science in Software Engineering equips you with the knowledge and technical skills needed to design, develop, test, and launch software applications and products across various industries. As a student, you will explore the full software development life cycle (SDLC), developing both practical and theoretical expertise in creating successful software solutions.
You will develop your understanding of software architecture strategies, learning how to design implementations that meet business needs. Throughout the programme, you will also focus on quality testing approaches at every phase, ensuring the developed application or product meets all scope requirements.
This programme is designed to fit around important life commitments including work, family and friends, preparing you for advanced roles in software engineering, enabling you to drive innovation and excellence in the technology sector.
What will you study?
Explore the stages of the software development life cycle and learn how engineers design solutions. As a student, you’ll gain expertise in writing structured documentation, understand project management methodologies, and examine the role of software engineers in teams. Additionally, you’ll study ethical principles essential to responsible software development and industry practices.
Key knowledge and skills taught on this course:
Identify stages and activities in the Software Development Life Cycle
Analyse software design through real-world examples
Create structured technical and functional documentation
Explore project management and software engineering roles
Understand ethical principles in software development
Admission requirements
Entry requirements
To study Aberystwyth’s 100% online MSc Computer Science with Software Engineering you will need to have completed:
A recognised undergraduate or postgraduate degree (or equivalent qualification) from an accredited college, institution, or university, equivalent to or higher than a UK bachelor’s degree with honours.
OR
2 years’ minimum relevant work experience
English language requirements
Applicants whose first language is not English, or who haven’t recently studied or undertaken work experience in English, will need to demonstrate proficiency by completing an approved English language test such as IELTS (6.0 overall with no individual sub-scores under 5.5), or equivalent.
Modules
Principles of Programming Languages
Examine the origins and evolution of programming languages, studying how different languages like Java and Lisp implement abstractions, including data types and control structures. This module also covers advanced programming features such as exceptions and polymorphism, and the role these features play in creating robust, flexible applications. Additionally, you will explore various programming paradigms and their core concepts.
Operating Systems
Gain insight into the core aspects of operating system design and implementation. Topics include system concepts such as process and memory management, coordination, device drivers, and file systems. You will examine how different operating system types - batch, multitask, distributed, and mobile - affect coding decisions and how their design influences system functionality. Case studies will help you understand the real-world applications of various operating systems and their impact on software development.
Algorithms & Data Structures
Learn how to analyse and design computer algorithms and data structures. The focus is on evaluating algorithm efficiency and implementing data objects, programming styles, and performance expectations. Key topics include understanding algorithmic design patterns, such as data concepts, arrays, stacks, queues, trees, and graphs. You will explore how these concepts contribute to effective programming and problem-solving in coding design. Additionally, you’ll study methods for optimising software performance to ensure solutions are scalable and reusable for growth.
Computer Architecture
Explore how to evaluate technological solutions and select the appropriate computer architecture to support organisational needs. By understanding both hardware and software components, you’ll learn how to design solutions that meet usability and performance requirements. You will also study how to make architecture decisions for successful implementations, focusing on building systems that integrate seamlessly with organisational objectives.
Data Warehousing and Data Mining
Explore the fundamentals of data warehousing and data mining, focusing on techniques like big data analysis, prediction, classification, and clustering. You will understand how data mining integrates with databases to uncover patterns and insights. By working with tools and techniques for querying and manipulating databases, you’ll learn how to apply these methods to real-world business applications and decision-making.
Machine Learning
Learn the fundamentals of machine learning, exploring key algorithms and how they apply to real-world data. The module covers essential techniques like regression, classification, neural networks, and deep learning. You will gain practical experience structuring data into models and using machine learning tools to solve business challenges, with a focus on creating systems that can learn from data and make informed predictions.
Software Engineering
Examine software engineering principles and the stages of the software development life cycle (SDLC). The focus is on understanding the tasks and models required to deliver successful software projects. You will enhance your skills in writing requirements documentation, functional specifications, and technical documentation. Additionally, you will explore project management methodologies like Agile and Waterfall, and learn about software project management, release planning, and software engineering ethics.
Software Testing and Quality
Learn software testing principles, techniques, and best practices to ensure high-quality software development. You will explore different types of testing, including unit, system integration, user acceptance, and non-functional testing like load and performance testing. You will gain hands-on experience creating test plans, test cases, and understanding the importance of code reviews and quality assurance checks to ensure the final product meets business and user requirements.
Software Architecture
Learn about different software architecture approaches, focusing on how to design and structure supportable systems. Topics include architectural styles such as object-oriented, data-centric, client/server, and layered architectures. You will examine the impact of architectural decisions on software performance and scalability, and how to evaluate technology stacks and design choices based on business needs and software processes.
Network Security
Study key security concepts in computer and mobile networks, exploring issues such as LAN and WAN security, encryption, authentication, and risk mitigation. You will examine the infrastructure designs and security flaws that can impact networks and learn how to assess and strengthen network security. With a focus on troubleshooting and implementing security protocols, you will develop a deep understanding of how to protect and maintain network systems.
Research Project
Engage in an independent research project, applying the skills and knowledge gained throughout your studies. This module provides the opportunity to explore a specific area of interest in depth, allowing you to demonstrate your ability to design, analyse, and implement a solution to a real-world problem.
Start your online learning journey with Aberystwyth today
The information below is required for social login
Login to your Account
JOIN FOR FREE
Let’s begin with setting up your account to keep track of your progress