Masters Degree in Software Engineering

» Global-Ready Skills in 6 months

» 18 Months International Work Experience

» Debt-free-degree


Reasons Why You Should Consider Our Master’s Degree Program

Program Overview

Work Based Master’s Degree

Software Engineering (computing)

Our Work-based masters degree in Software Engineering enables you to advance your career in the IT world, equipping you with digital and future ready skills along with significant work experience.

What do I Get?

Acquire Range of Computing Skills

Acquire Range of Computing Skills

Equip students with a range of critical and practical skills for the analysis of computer-based problems and the design and production of computer-based solutions to these problems.

Attain Competent in Software Implementation Skills

Attain Competent in Software Implementation Skills

Learn front-end programming skills such as JavaScript, HTML 5, CSS, Angular JS as well as back-end skills such as Java, JSP and Servlets skills to prepare yourself for a Full-Stack Developer job roles.

Instructor & Mentor Lead Blended Learning Delivery

Instructor & Mentor Lead Blended Learning Delivery

We deliver blended learning through a combination of self-paced e-learning, instructor-led flipped classes and personalized mentoring with industry practitioners to greatly increase your efficiency and effectiveness in acquiring knowledge and skills.

Attain International University Master Degree

Attain International University Master Degree

Acquire Master of Science in Computing conferred by University of Roehampton

Audience and Certificates

Target Audience

Target Audience

  • Candidates who would like to attain University Master degree in Computing
  • Matured candidates with relevant work experience and willing to get Master degree


Academic Requirements:

    • Minimum second-class bachelor degree in any field from a recognized University and
    • IELTS – 6.5 (with no elements lower than 5.5)
    • Letter from College/University clearly stating the medium of instruction of the highest qualification to be English
    • Equivalent

    *Note: All applications are subject to University approval.

    Graduation Requirements

    Graduation Requirements

    • Minimum attendance of 75% for all sessions in each of the modules of the course
    • Should achieve a minimum pass grade in the summative assessment of each module of the course


    • Master of Science in Computing conferred by University of Roehampton

    Blended Learning Journey
    (1200 Hours)

    Flipped Class/Mentoring

    Projects / Assignments

    Self Learning


    Software Development 1

    Software Development 1 introduces students to the fundamental concepts, methodologies, and techniques of software development. Programming is a key component of computer science and is an in-demand skill for the workplace inside and outside of the IT industry. Software Development 1 introduces the fundamental principles of software development, including syntax and semantics, variables and primitive data, expressions and assignment, input-output, conditions, iteration, functions, recursion, and an introduction to algorithms. The module details how to build programs using these techniques and how to apply problem-solving strategies in the design and implementation of simple programs. Students will practise the skills of programming. They will work in a high-level language, using the tools to design, implement, build, execute, and test software applications.

    Software Development 1 provides students with core programming competencies. The aim of Software Development 1 is to develop students’ fluency in programming languages and software development. The module will require students to both implement their own programmess and trace the behaviour of existing programmes.


    Learning Outcome

    Students will be able to:

    • Design, implement, test, and debug a program that uses each of the following fundamental programming constructs – basic computation, simple I/O, standard conditional and iterative structures, the definition of functions, and parameter passing.
    • Analyse and explain the behaviour of simple programs involving the fundamental programming constructs – variables, expressions, assignments, I/O, control constructs, functions, parameter passing, and recursion.
    • Identify the relative strengths and weaknesses among multiple designs or implementations for a problem.
    • Use a programming language to implement, test, and debug algorithms for solving simple problems.

    Software Development 2

    Software Development 2 builds on the foundation delivered in Software Development 1 by examining in detail the programming paradigms of object-oriented and event-driven. With regard to the object-oriented paradigm, students will examine object design, inheritance, and encapsulation.       For event-driven programming, students will learn about event handlers and the development of Graphical User Interfaces (GUI) applications. The module has a thread of software design running through all blocks, including design paradigms and design patterns. In addition, as the module incorporates GUI programming, students will be introduced to fundamental concepts of graphics and visualization. Due to the requirements of GUI programming, the students will gain in-depth knowledge of an industrial standard Integrated Development Environment such as Microsoft Visual Studio or JetBrains’ IntelliJ.

    Students will undertake the work in this module as a development team. They will work together in practical labs and deliver their coursework as a team. Elements of agile project management will be delivered to support this approach to assessment.

    The aim of Software Development 2 is to strengthen students’ capabilities in programming and software development. The module will require students to implement and debug their own programs and utilize modern software development tools, such as Integrated Development Environments and debuggers.


    Learning Outcome

    Students will be able to:

    • Compare and contrast the procedural/functional approach and the object-oriented approach. Understand both as defining a matrix of operations and variants.
    • Write event-handler for use in reactive systems, such as GUIs.
    • Construct models of the design of a simple software system that are appropriate for the paradigm used to design it.
    • Construct a simple user interface using a standard API.
    • Describe the relative advantages and disadvantages among several major process models (e.g., waterfall, iterative, and agile).
    • Work as a member of a development team recognising the different roles within a team and different ways of organising teams.
    • Demonstrate the capability to use software tools in support of the development of a software product of medium size.

    Computer Systems

    Computer Systems introduces students to the fundamental concepts, methodologies, and techniques of computer systems and hardware. Understanding how a computer operates is key to understanding many aspects of computer science, and incorporates ideas of logic design, state machines, and network communications. Computer Systems introduces the fundamental principles of computer systems, including logic design, state machines, assembly level representation, performance evaluation, parallel systems, and network organization. Students will investigate how computer systems operate, including writing small assembly language programs and designing state machines.

    The aim of Computer Systems is to develop students’ fluency in systems understanding and design. The module will require students to both implement their own systems designs and understand existing systems designs.


    Learning Outcome

    Students will be able to:

    • Design a logic circuit using the fundamental building blocks of logic design.
    • Develop state machine descriptions for problem statement solutions (e.g., traffic light sequencing, pattern recognisers).
    • Write assembly language program segments.
    • Use software tools to profile and measure program performance.
    • Evaluate performance of sequential and parallel versions of a program with different problem sizes and be able to describe the speed-ups achieved.
    • Articulate the organisation of the Internet.


    The Databases module builds foundational knowledge in the modelling, access, and modification of data. The module examines how database systems function in the general case, as well as providing specific topics focused on relational data storage. Databases will examine data modelling using concept models (e.g., entity relationship), spreadsheet models, relational data models, and object-oriented models. SQL will be the core language used throughout the module, with content covering selection, joining, and grouping queries.

    The Databases module will also examine the legal, social, and ethical context of data storage. Considering information systems as socio-technical systems, ideas of GDPR and Freedom of Information shall be introduced. Furthermore, the module will examine how database systems can be secured from attack, such as from SQL injections.

    The aim of Databases is to develop students’ fluency in data. The module will require students to specify, access, and modify data stored in relational databases.

    Learning Outcome

    Students will be able to:

    • Compare and contrast information with data and knowledge.
    • Compare and contrast appropriate data models, including internal structures, for different types of data.
    • Evaluate a set of query processing strategies and select the optimal strategy.
    • Create a relational database schema in SQL that incorporates key, entity integrity, and referential integrity constraints.
    • Use SQL to create tables and retrieve (SELECT) information from a database.
    • Apply relevant legal, social, and ethical considerations in the management of data.

    Computing and Society

    Computing and Society module examines the role computing takes in society. The module incorporates ideas from ethical practice, usability and accessibility, sustainability, and an introduction to the legal frameworks related to computing. Understanding people (users) and their needs is fundamental to the modern computer scientist, who develops systems for people. Furthermore, ethical concerns on computer use and the professional requirements surrounding these concerns are essential in the modern IT workplace. Computing and Society introduces computing in a social context, examining initially ethical arguments surrounding computer usage in modern society. Accessibility and sustainability of computer systems is also explored. Professionalism, and in particular professional conduct and interaction are examined via digital collaboration tools. Finally, an introduction to legal frameworks – specifically intellectual property – is undertaken.

    Computing in Society provides students with the legal, social, ethical, and professional frameworks that allow them to be responsible IT practitioners. The understanding delivered in this module is fundamental when working in areas of software engineering, artificial intelligence, data science, and cyber-security within computer science.

    The aim of Computing and Society module is to develop students’ fluency in professional and ethical practice. The module will require students to examine various case studies of computing use to undertake ethical argumentation surrounding best practice.

    Learning Outcome

    Students will be able to:

    • Evaluate the efficacy of a given design and implementation using empirical data.
    • Evaluate ethical/social trade-offs in technical decisions.
    • Create and conduct a usability test for an existing software application.
    • Illustrate global social and environmental impacts of computer use and disposal (e- waste).
    • Compare the HCI issues in individual interaction with group interaction.
    • Compare and contrast various collaboration tools.
    • Characterise and contrast the concepts of copyright, patenting, and trademarks

    Cyber Security

    Cyber Security module explores the risks and mitigations inherent to computer use. The module incorporates ideas from ethical practice, risk management, legal considerations, and technology- based solutions to address computer security issues. Cyber Security begins by examining the concept of privacy from a philosophical, legal, and ethical standpoint, before exploring some of the technology used to protect an individual’s privacy. The module then continues by introducing foundational principles of computer security, including policies, legal frameworks, CIA (Confidentiality, Integrity, Availability), threats, and attacks. With these principles in place, the module explores secure design and the use of cryptography in computer systems. Finally, human- factors, including interface design and governance are explored.

    Cyber Security brings together concepts covered in a range of modules throughout computing, including Computing and Society, Software Development 2, and Databases. Cyber-Security explores how the issues introduced in other modules fit within current computer security definitions. The module also explores the technology to support computer security throughout.

    The module will require students to undertake evaluation of systems to understand vulnerabilities and mitigations. This will best place students to understand the requirements of security as they enter the workplace.

    Learning Outcome

    Students will be able to:

    • Evaluate solutions to privacy threats in transactional databases and data warehouses.
    • Investigate measures that can be taken by both individuals and organizations including governments to prevent or mitigate the undesirable effects of computer crimes and identity theft.
    • Analyse the trade-offs of balancing key security properties (Confidentiality, Integrity, and Availability).
    • Evaluate risks to privacy and anonymity in commonly used applications.

    MSc Project

    The MSc Project allows students to explore a topic of their choosing based on their own interests as agreed and supported via a member of the academic team. The project provides an opportunity for  students to research and deliver a significant piece of individual work that incorporates the practical and analytical skills presented in their programme.

    The MSc Project will enable students to explore a topic of their choice. There are four project- types planned:

    • Student-defined.
    • Academic-defined (research-based).
    • Industry-defined.
    • Social enterprise

    All projects will be signed-off by an academic supervisor. The students’ goal is to produce a product and supporting report.


    Learning Outcome

    Students will be able to:

    • Self-manage a significant piece of individual work using appropriate project management techniques.
    • Synthesise information, ideas, and practices to define a quality solution to a problem.
    • Apply practical and analytical skills present in computer science as a whole.
    • Produce a project deliverable that meets a real need in a wider context.
    • Critically self-evaluate the overall project process and deliverables.
    • Recognise the legal, social, ethical, and professional issues relevant to a project.
    • Produce a report that describes and summarises the entire project deliverable and process, including evaluation.

    About eduCLaaS

    • 100 campuses across Asia
    • Accredited by the Singapore government as a CET Centre (Continuing Education and Training)
    • EduTrust certified  by SkillsFuture Singapore & Committee for Private Education (CPE)
    • Internationally accredited by Pearson UK and Scottish Qualifications Authority (SQA)

    Awards & Accreditations

    • Microsoft Global Learning Partner of the Year Award (Finalist)​​
    • Pearson’s BTEC College of the Year 2019 Award for Asia​​​
    • dun&bradstreet’s Business Eminence Award 2020
    • Flame Innovation Award 2019 by SkillsFuture Singapore
    • APAC CIO Outlook’s Top 10 Provider of Education Tech Solution​

    Collaboration with over 2000+ Employers