MSc Software Engineering

+ About this course
+ Career options
+ MSc projects
+ Academic and student voice
+ View full course listing website

The MSc in Software Engineering is designed to help you gain a practiced understanding of complex systems and both user behaviours and interactions.

Be it developing award-winning software verification tools or exploring the application of ubiquitous computing techniques, our research in software engineering continually pushes development forward.

Versatile and needed across many sectors, software engineers have been consistently in wide demand for many years. Not only that, but this is also a specialisation known for its collaborative and creative nature – working within teams to build new solutions.

Teaching on this course unit is organised into four themes composed of two course units each. Three mandatory themes include: Sofware Systems, Human-Computer Systems and Secure Software Engineering. You can tailor the rest of your study with optional units, selecting the remaining theme (two course units) from topics ranging from artificial intelligence and machine learning to data engineering and cyber security.

One of the most rewarding elements of this course is the Master’s Project, which enables students to carry out a substantial technical task in an area of interest. Students can choose from a portfolio of specialised software engineering projects that allow for more in-depth exploration and application of techniques from the taught course units.

As a postgraduate of this course, you will enter, or re-enter, the world of work with sought-after advanced technical skills and an enviable knowledge of emerging technologies and techniques.

Course duration 12 months (full-time)

Total self-study time Approx. 30 hrs/week (taught units) | 40 hrs/week (Master’s project) including reading, multimedia content, and practical exercises.

Teaching time Approx. 12 hours per week (inc. pre-recorded and live lectures, and practical classes)

WHAT CAREER PATHWAYS ARE AVAILABLE TO ME?

The MSc in Software Engineering provides an excellent opportunity to develop specialised expertise in modern computer science. It is ideal for those aiming for a practical career in industry as well as for those interested in industrial or academic research. Software engineers are versatile professionals in high demand across many sectors. This specialisation is also known for its collaborative and creative nature, enabling you to work within teams to design and deliver innovative solutions. We prepare students to thrive in a rapidly evolving tech landscape and to make a lasting impact on society.

WHAT ROLES COULD GRADUATES SECURE?

Graduates of the MSc in Software Engineering can pursue opportunities across a wide range of industries, as software engineering skills are central to almost every modern organisation. Graduates may go on to roles such as:

  • Software Engineer
  • Software Development Engineer
  • Security Software Developer
  • User Experience Designer

…and many more across the rapidly evolving tech sector.

OUR STUDENTS' MSc PROJECTS

The MSc project is one of the most exciting parts of a master’s degree — you are paired with an expert supervisor and get a chance to dive deep into a topic you’re passionate about, solve real-world problems, and bring your ideas to life. It’s where everything you’ve learned comes together, showcasing your skills, creativity, and potential to stand out in your field. Here are some projects that our MSc graduates have worked on:

🔎 Fuzz Testing a Web-Based Software Bill of Materials System

Fuzz testing tools aim to find bugs and vulnerabilities in software systems by automatically generating a range of input values and user actions and running them against the system to see if they elicit a crash or other problematic behaviour. This project aims to apply two or more fuzz testing tools to a web-based system for managing Software Bills of Materials (a Software Bill of Materials is a comprehensive inventory of all components that make up a software application).

🔎 Visualising Trends in Tech Choices for Software Development This project aims to create a tool that can search the public GitHub repositories for examples of usage of specific technical artefacts or techniques and report on them in a form that can assist developers with tool choices.

🔎 Slackware Linux Package Manager with Dependency Tracking Slackware Linux is renowned for its simplicity and minimalism, which includes a package management system (pkgtool) that does not handle dependency resolution. This project aims to develop a package manager for Slackware that incorporates optional dependency tracking including a dependency database, algorithms for dependency resolution, and a user-friendly interface for managing package operations.

🔎 Enhancing the Usability of Tools for Analysing and Visualising Graphlets Graphlets are small subgraphs of a given graph that are utilised in diverse domains (e.g., biomedicine, environmental governance). In this project, the student will develop a novel tool for the exploration, analysis and/or visualisation subgraphs.

Dr Sarah Clinch Senior Lecturer

ACADEMIC'S VOICE


xxx

Discover our full range of Computer Science master's courses

View our courses

Explore essential information on accommodation, fees, scholarships, and careers

Visit the full taught master's brochure

See detailed information about our courses and department

Visit our website
Visit The University of Manchester homepage

The University of Manchester Oxford Rd Manchester M13 9PL UK