MSc Software Engineering
Master the Science and Strategy of Modern Software.
About This Program
Program Description
The Master of Science in Software Engineering develops highly skilled software engineering professionals capable of leading the design, implementation, deployment, and maintenance of sophisticated software systems in modern organizations.
The program begins by strengthening students' understanding of advanced software engineering principles, software architecture, systems design, software quality, and engineering management. Students explore methodologies for designing reliable, scalable, secure, and maintainable software applications using modern engineering frameworks.
Advanced coursework examines enterprise software engineering, distributed systems, cloud-native architectures, DevOps automation, microservices, secure software development, software testing strategies, and software evolution. Students learn to engineer resilient software systems that support digital transformation across multiple industries.
Artificial intelligence, machine learning, data-driven software engineering, and intelligent systems are integrated throughout the curriculum to prepare graduates for rapidly evolving software development environments. Students also investigate emerging technologies including edge computing, serverless computing, containerization, software analytics, and modern development pipelines.
Research forms a central component of the program. Students undertake advanced research methods, critically evaluate current literature, investigate emerging software engineering challenges, and conduct independent research that contributes to the advancement of software engineering knowledge and practice.
Leadership, ethics, innovation, entrepreneurship, and technology management are embedded throughout the curriculum to prepare graduates for strategic decision-making and multidisciplinary collaboration. Students develop competencies in managing software engineering teams, software projects, digital transformation initiatives, and enterprise technology solutions.
The program culminates in a supervised Master's Thesis that enables students to investigate a significant software engineering problem and produce an original research contribution supported by rigorous analysis, implementation, and evaluation.
Graduates are prepared for senior careers in software engineering, enterprise architecture, cloud engineering, DevOps, artificial intelligence, software consulting, technology leadership, research, and doctoral studies.
Specializations
- Advanced Software Architecture
- Cloud-Native Software Engineering
- Enterprise Software Engineering
- DevOps and Platform Engineering
- Artificial Intelligence Engineering
- Distributed Systems
- Secure Software Engineering
- Software Quality Engineering
- Software Project Leadership
- Software Analytics
- Research in Software Engineering
- Technology Innovation and Entrepreneurship
Core Courses
- SWE 601 – Advanced Software Engineering Principles
- SWE 602 – Software Architecture and Design Patterns
- SWE 603 – Advanced Programming Paradigms
- SWE 604 – Enterprise Software Engineering
- SWE 610 – Advanced Database Systems
- SWE 611 – Distributed Systems and Cloud Computing
- SWE 620 – DevOps and Continuous Delivery
- SWE 621 – Secure Software Engineering
- SWE 622 – Software Quality Assurance and Testing
- SWE 630 – Artificial Intelligence for Software Engineers
- SWE 631 – Machine Learning Applications
- SWE 640 – Human-Centered Software Design
- SWE 650 – Software Project Leadership
- SWE 651 – Technology Innovation and Entrepreneurship
- SWE 660 – Research Methods in Software Engineering
- SWE 670 – Software Analytics and Performance Engineering
- SWE 680 – Emerging Topics in Software Engineering
- SWE 690 – Professional Practice and Computing Ethics
- SWE 698 – Industrial Seminar in Software Engineering
- SWE 699 – Master's Thesis in Software Engineering
Admissions
Entry Requirements
Applicants should possess a bachelor's degree in Software Engineering, Computer Science, Information Technology, Computer Engineering, or a closely related discipline from a recognized institution.
Applicants should normally have a minimum of a Second Class Lower Division or its equivalent. Applicants with relevant professional experience may be considered in accordance with the university's postgraduate admission policy.
Applicants should demonstrate competence in English.
Applicants should satisfy the university's postgraduate admission requirements.
Applicants should meet any departmental requirements for admission into the Master of Science in Software Engineering program.
What You'll Achieve
Learning Outcomes
Design and evaluate enterprise-scale software architectures using advanced engineering principles.
Develop secure, scalable, resilient, and maintainable software systems.
Apply modern software engineering methodologies throughout the software development lifecycle.
Design cloud-native applications using distributed computing and microservices architectures.
Implement DevOps practices for continuous integration, continuous delivery, and automated deployment.
Apply advanced software testing, verification, validation, and quality assurance techniques.
Integrate artificial intelligence and machine learning into modern software systems.
Conduct independent software engineering research using rigorous scientific methodologies.
Evaluate emerging technologies and recommend innovative software engineering solutions.
Lead multidisciplinary software engineering teams using effective project and technology management practices.
Apply ethical, legal, and professional standards in software engineering.
Produce an original research thesis that demonstrates advanced analytical, technical, and research competence.
After Graduation
Career Opportunities
A Closer Look
Ready to Enrol in MSc Software Engineering?
Take the first step. Apply today and our admissions team will guide you through every stage.
Admissions Team
24/7 Support
Secure Process