Design smarter software solutions for a digital world
University of Gloucestershire’s 100% online MSc Computer Science with Software Engineering builds your skills in the design, development, testing, and deployment software applications across a wide range of industries. You’ll gain a deep understanding of the full software development life cycle (SDLC) and explore architecture strategies that support successful, scalable solutions.
You'll also learn quality assurance and testing techniques throughout the course to ensure software products meet business goals and user requirements at every stage of development.
Designed to flex around your professional and personal commitments, this MSc course prepares you to lead software innovation across sectors—from global enterprises to agile start-ups and cutting-edge tech ventures.
Course overview
This course gives working professionals the tools to design, develop, and maintain high-quality software systems. You’ll build a strong foundation in software development life cycle (SDLC) methods, architecture design, and quality assurance, with a focus on delivering scalable, efficient, and user-focused solutions.
From Agile project planning to system testing and performance validation, the course equips you to contribute confidently at every stage of the development process. Practical, real-world scenarios prepare you to meet organisational goals while aligning with modern engineering standards and practices.
Skills and knowledge
Graduates of this course will be able to:
Solve computing problems by identifying business-focused software solutions
Apply architectural knowledge to evaluate system trade-offs effectively
Create software test cases to ensure functional accuracy
Apply innovative solutions to meet software quality standards
Define architecture decisions impacting performance and future growth
Entry requirements
To study Gloucestershire’s 100% online MSc Computer Science with Software Engineering, you will need to have completed:
A 2:2 undergraduate honours degree, or a comparable professional qualification. (Applicants with significant work experience but without a formal Level 6 qualification will also be considered.)
OR
A minimum of three years of relevant work experience (CV required, including one reference).
English language requirements
If English is not your first language, or if your most recent education or work experience was not conducted in English, you must demonstrate proficiency through an approved English language test. This includes IELTS (minimum overall score of 6.0, with no individual component below 5.5) or an equivalent qualification.
Modules
Principles of Programming Languages
Explore the evolution of programming languages and the core abstractions they use, including data types and control structures. This module introduces key paradigms through practical examples from languages like Java and Lisp, while also covering advanced features such as exceptions and polymorphism. You will gain a foundational understanding of how programming languages are structured and the rationale behind their design.
Software Engineering
Evaluate the various phases of the software development lifecycle to ensure the production of high-quality software. You will master the techniques of assessing software requirements using established standard methodologies and design robust software systems by harnessing the power of object-oriented methodology and UML. You will explore, in depth, the principles of quality assurance and understand the nuances of testing to ensure that software systems meet the highest standards and align with stakeholder expectations. By the conclusion of this module, you will be equipped to craft a detailed project plan, setting the foundation for successful software development projects.
Software Testing and Quality
Explore advanced methods of ensuring software reliability and integrity through comprehensive testing and quality management practises. You will learn to evaluate different types of software errors and apply both white box and black box testing techniques to identify and debug them effectively. Through practical projects, you will develop test cases using the software testing life cycle and assess essential principles of software quality. By the end of the module, you will be equipped to implement strategic testing interventions and contribute meaningfully to software quality management, ensuring the delivery of high-standard software systems.
Software Architecture
Explore foundational principles and practises of software architecture, focusing on designing and evaluating robust, scalable, and maintainable systems. You will analyse how IT architecture components interact to meet organisational needs, evaluate object-oriented principles, and assess various architectural styles for addressing complex requirements. By the end of the module, you will be prepared to design architectures that support modern software systems.
Algorithms & Data Structures
Learn to design and evaluate the algorithms and data structures that form the backbone of effective software development. This module focuses on analysing efficiency, understanding core data objects such as arrays, stacks, queues, trees, and graphs, and implementing algorithmic patterns. You'll also explore techniques for enhancing code performance, reusability, and optimisation to support scalable software solutions.
Computer Architecture
Examine how computer systems are designed and how their architecture supports business and technical needs. You’ll explore hardware and software components, system functionality, and decision-making strategies for implementing performance-optimised, usable solutions. By the end of the module, you'll be able to assess architectural designs aligned with organisational requirements.
Operating Systems
Gain a comprehensive understanding of how operating systems function, including process and memory management, file systems, device drivers, and concurrency. This module explores both design principles and practical implementations across systems like Windows, iOS, Linux, and distributed networks. Case studies will help you evaluate OS choices and their implications for system design and software development.
Computer Network Security
Develop a solid foundation in the principles and practices of network security. You’ll analyse vulnerabilities in LANs, WANs, databases, and operating systems while exploring risk assessment, intrusion detection, encryption, authentication, and access control. This module equips you to design secure systems and apply the right security measures for diverse communication environments.
Machine Learning
This module is an introduction to machine learning with R. The students will learn how to process and analyse various data sets. Topics covered include exploratory data analysis (EDA), unsupervised learning (e.g., PCA, k-means), and supervised learning (e.g., linear regression, logistic regression). Machine learning techniques such as test-train-split, k-fold cross-validation, and regularisation will also be covered. By the end of the module, students will be able to write code to apply machine learning techniques and methodologies mentioned above to real data sets.
Research Methods for Computer Science
Develop your ability to conduct academic research in computer science. You’ll explore research design, methodology, and epistemological frameworks, while learning how to critically review literature, develop a proposal, and ensure ethical compliance. The emphasis is on creating a robust foundation for a future research project or dissertation.
Applied Research for Computer Science (30 credits)
Apply your research knowledge to a real-world computer science problem by developing a thesis or project. Building on your research methods training, you'll define a problem, design and execute a research strategy, collect and analyse data, and present solutions or insights, demonstrating your ability to conduct independent, applied research.
Begin your online learning journey with Gloucestershire 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