Master of Science in Software Systems Engineering

  • Type: Graduate
  • Credit Hours: 30hrs
  • Language : English
  • Campuses: Al Ain & Abu Dhabi

Overview

Master of Science in Software Systems Engineering is a program designed to cultivate top-quality graduates in the dynamic domain of Software Systems Engineering. It aims at preparing graduates to become highly skilled professionals and competent researchers who can develop complex systems and conduct high caliber research in the field of Software Systems Engineering.


Vision


The program aspires to be a leading program in the region through excellence in education and research.


Mission


The program’s mission is to produce high-quality Software Systems Engineering graduates, innovative  research, by a diverse community of instructors and students, and positive engagement with diverse sectors of the community. 


Objectives


The following are the MSc. Software Systems Engineering program’s educational objectives (PEOs):
1. Demonstrate excellent professional competencies in Software Systems Engineering
2. Demonstrate an ability to function independently and/or in multidisciplinary teams to show comprehensive leadership in Software Systems Engineering
3. Contribute to the progress of local and regional societies.
4. Demonstrate an ability to conduct effective research to be implemented in workforce leading to advancing societies.

 

Learning Outcomes

 

On successful completion of this program, the graduate will be able to:

 

#

Program Learning Outcome

1

Demonstrate an understanding of advanced knowledge of the practice of software systems engineering, from vision to analysis, design, validation, and deployment.

2

Apply advanced software systems engineering knowledge, standards, and best practices suitable for the development of software systems in a professional manner.

3

Apply appropriate research methodologies and skills to develop a research-centric and innovative project while considering relevant ethical factors.

4

Communicate effectively and professionally both in writing and by means of presentations to both specialists and a general audience.

5

Recognize security, human, social, and ethical matters while developing advanced software systems.

6

Function independently and take responsibility for professionally managing software systems.

7

Acquire skills that facilitate continuing professional development and personal initiative.

8

Demonstrate skills related to the initiation and management of professional activities individually or within a team in a complex environment.

 

 

Job Opportunities 

  • Software Engineer / Developer
    • Role: Design, code, test, and maintain complex software systems.
    • Skills Applied: Advanced system analysis, design, validation, and deployment practices.
  • Software Architect / Systems Architect
    • Role: Oversee the high-level design of software systems to ensure they meet business and technical requirements.
    • Skills Applied: Translating vision into system architecture and ensuring alignment with industry standards.
  • DevOps Engineer / Infrastructure Engineer
    • Role: Integrate software development with IT operations to ensure smooth deployment and system performance.
    • Skills Applied: Deployment automation, continuous integration/continuous deployment (CI/CD), and system management.
  • Systems Analyst / Business Analyst
    • Role: Bridge the gap between business requirements and technical implementation.
    • Skills Applied: Analyzing and modeling complex systems to recommend effective software solutions.
  • Project Manager / Program Manager
    • Role: Manage projects from conception to deployment, ensuring team coordination and quality standards.
    • Skills Applied: Leadership, team coordination, and the management of complex, multidisciplinary projects.
  • Research Scientist / R&D Engineer
    • Role: Conduct innovative research to solve advanced problems in software systems.
    • Skills Applied: Applying research methodologies and ethical considerations to explore novel approaches in software development.
  • Quality Assurance (QA) Engineer / Test Engineer
    • Role: Ensure that software systems meet quality and performance standards through rigorous testing.
    • Skills Applied: Implementing test cases, bug tracking, and quality improvement techniques.
  • Technical Consultant / Solutions Architect
    • Role: Provide expert guidance on leveraging software systems to meet business objectives.
    • Skills Applied: Communication, problem-solving, and translating complex technical concepts for diverse audiences.

Admission Requirements

  • A bachelor’s degree in software engineering, computer science or related fields with a minimum (GPA) of (3 out of 4) point scale, or its equivalent on the Bachelor's level.
  • A valid English Language Proficiency Certificate with a minimum score of 5 in IELTS, 500 in TOEFL, or an equivalent. *

*An exception to this requirement applies to students whose mother tongue is English and who finished a bachelor’s degree from an institution where English is the language of instruction in an English-speaking country

 

Conditional Requirements

  • Applicants whose Bachelor's degree does not align with the required specialization must complete up to 4 remedial courses (3 CR.H. each) determined by the college on a case-by-case basis based on the applicant's prior degree. These remedial courses are taken outside the curriculum and do not contribute to the cumulative GPA. Specialized courses cannot be taken concurrently with remedial courses. If the applicant has already completed (or holds an equivalent to) any of the remedial courses at the Bachelor's level, they will be exempt from that course. Each exemption allows the applicant to enroll in a specialized course from the designated postgraduate program, which can be completed alongside the remaining remedial courses (up to four).
  • If a holder of a bachelor's degree with a CGPA of (3.00 to 4) or equivalent, and does not meet the English language condition set above, he/she should:
    • Register in no more than (9) credit hours of courses studied for the graduate program during the conditional acceptance period.
    • Achieve at least (3 out of 4) or equivalent, in the first semester of study. Otherwise dismissed from the program.
    • At the end of the first semester of the program, the student will achieve at least B in remedial English Course offered by the university.
  • If a holder of a bachelor's degree with a CGPA less than (3 out of 4) or equivalent, and meets the English language condition, he/she should:
    • Register in no more than (9) credit hours of courses studied for the graduate program during the conditional acceptance period.
    • Achieve at least (3 out of 4) or equivalent, in the first semester of study. Otherwise dismissed from the program.
  • If a holder of a bachelor's degree with a CGPA less than (3 out of 4) or equivalent, and does not meet the English language condition set above, he/she should:
    • Register in no more than (6) credit hours of courses studied for the graduate program during the conditional acceptance period.
    • Achieve at least (3 out of 4) or equivalent, in the first semester of study. Otherwise dismissed from the program.

At the end of the first semester of the program, the student will achieve at least B in remedial English Course offered by the university.

 

Click here to view Admission Requirements

Graduation Requirements

To obtain a “Master of Science in Software Systems Engineering”, a student must successfully complete 30 credit hours, including 24 credit hours of didactic courses, and 6 credit hours of the Thesis with minimum Cumulative Grade Point Average (CGPA) of 3 out of 4.

Study Plan

Code

Course Title

CR.H.

Pre-requisite

 

Core Courses- (18) CR.H.

0103610

Software Systems Engineering Theory and Development Practices

3

 

 

0103611

Software Systems Security and Authentication

3

 

 

0103612

Advanced Research Methods

3

 

 

0103613

Requirements Engineering and Architectural Design

3

0103610

 

0103614

Software Project Management

3

0103610

 

0103615

Systems Testing and Quality Assurance

3

0103613

 

Thesis- (6) CR.H.

0103690

 Master's Thesis (1)

3

Core Courses

(18) CR.H.

 

0103691

 Master's Thesis (2)

3

0103691

 

Elective 2 Courses- (6) CR.H.

0103621

Big Data Analytics 

3

0103610

 

0103621

Machine Learning Systems

3

0103610

 

0103622

Simulation and Model-driven Software Development

3

0103620

 

0103623

System Re-Engineering

3

0103613

 

0103624

Distributed Systems

3

0103610

 

0103625

Human-Computer Interaction

3

0103610

 

0103626

Systems Design Optimization

3

0103613

 

Print

Guidance Plan

 

First Year

Second Year

1st Semester

2nd Semester

1st Semester

2nd Semester

Course name (course code)

Software Systems Engineering Theory and Development Practices

(0103610)

Requirements Engineering and Architectural Design

(0103613)

Systems Testing and Quality Assurance

(0103615)

Elective (2)

Software Systems Security and Authentication

(0103611)

Software Project Management

(0103614)

Advanced Research Methods (0103612)

Elective (1)

Master’s Thesis (1) (0103690)

Master's Thesis (2) (0103691)

Total

9

9

12

18

30

Course Description

Course Code

Course
Name

Course Brief Description

0103610

Software Systems Engineering Theory and Development Practices

 

This course familiarizes the student with both the theory and practice of software systems engineering to design an optimal solution that meets expected users’ requirements within available resources. The course discusses open-ended problems solving, creativity employment, problem formulation, requirements management, alternative solutions examination, concurrent engineering design, and consideration of a set of practical constraints, such as reliability, safety, economic factors, ethics, environmental and social impacts. This course intends to introduce traditional and advanced software systems engineering theory, methods, and tools.

0103611

Software Systems Security and Authentication

This advanced software security course is designed to provide students with an in-depth exploration of security issues encountered throughout the software systems lifecycle, from conception and requirements to long-term maintenance and even re-engineering. This course offers a holistic view of software systems security, encompassing not only technical aspects but also the organizational and social contexts in which security strategies are developed and executed. Upon completion of this course, students will have the skills and knowledge necessary to tackle complex software systems security challenges, implement security best practices, and contribute significantly to enhancing the security posture of organizations operating in an ever-evolving digital landscape.

0103612

Advanced Research Methods

This course is designed to equip postgraduate engineering students with advanced research skills and methodologies necessary for conducting high-quality research in engineering disciplines. The course covers a wide range of topics, from research design and data analysis to ethics and the effective communication of research findings. This course will introduce students to more complex study designs and higher-level critical appraisal. Several research methods will be explored in depth with consideration of both quantitative, qualitative and mixed methods designs. During the course, the students will be guided and supported to develop the skills required by professional researchers to disseminate research plans and findings in a range of contexts. The course will equip the students with knowledge and skills to evaluate the utility of different research designs to address specific research questions.

0103613

Requirements Engineering and Architectural Design

The course trains students in the fundamental principles and latest techniques in systems requirements engineering and software architecture. The course covers the software requirements process, from requirements elicitation and analysis, through specification and architectural design. The course shows how to refine these requirements and design a reliable and robust solution. Various concepts, principles, techniques, and tools are introduced, including software requirements, system models, requirements validation, requirements evolution and architectural design. Although the emphasis will be on modern methodologies, some Conventional requirements engineering approaches are also discussed. Requirements analysis includes organizational objectives, conceptual models, technologies, functional features, and use cases. The architectural design emphasizes on the use of structure, objects, aspects, and patterns in architectural design specifications. The course encompasses analysis and design of a software system for a real-world organization.

0103614

Software Project Management

This course covers the fundamentals of Software Project Management (SPM), including project planning, risk management, cost estimation, and quality assurance. Students will learn both agile and traditional management approaches and gain hands-on experience with industry tools. The course emphasizes teamwork, leadership, and ethical considerations, preparing students to effectively manage software projects from start to finish.

0103615

Systems Testing and Quality Assurance

Since software testing and analysis is a core challenge in developing high quality software systems, this course focuses on the processes, principles, and techniques of software testing and analysis. It covers a full range of topics from basic principles and underlying theory of testing to organizational and process issues in real-world applications. The Attention is on the selection of practical techniques to achieve a suitable level of quality at a tolerable cost. This course will provide software engineering professionals with pragmatic approaches for dependable and cost-effective software testing.

0103690

 

Master's Thesis (1)

 

This course enables the student to demonstrate the understanding and possession of knowledge and skills acquired during the course of the program. This course will be performed by each student individually by choosing a real-world problem in any domain related to the program. The student will be expected to conduct the study using theoretical research methodologies and experimentation. The work will be presented in the form of a thesis which will detail the identification of a real-world problem, implementation of research methodologies, a detailed literature review and implementation of stat-of-the-art software design and implementation methodologies.

0103691

 

Master's Thesis (2)

 

This course enables the student to demonstrate the understanding and possession of knowledge and skills acquired during the course of the program. This course will be performed by each student individually by choosing a real-world problem in any domain related to the program. The student will be expected to conduct the study using theoretical research methodologies and experimentation. The work will be presented in the form of a thesis which will detail the identification of a real-world problem, implementation of research methodologies, a detailed literature review and implementation of stat-of-the-art software design and implementation methodologies

0103620

Big Data Analytics

This comprehensive Big Data Analytics course aims to provide students with a profound understanding of advanced analytics techniques, large-scale data processing, and leading frameworks in the field. Focusing on the intersection of big data and business intelligence, the curriculum emphasizes hands-on experiences, enabling students to apply theoretical knowledge to real-world problems. With a strong emphasis on practical proficiency, students will explore cutting-edge technologies, scalable data processing frameworks, and advanced analytics methodologies, including machine learning and predictive modeling. By the end of the course, participants will emerge equipped with both theoretical insights and practical skills, ready to tackle complex challenges and contribute to industries increasingly reliant on data-driven decision-making.

0103621

Machine Learning Systems

This course serves as an entry point into the dynamic field of machine learning systems. The course will cover the machine learning algorithms and will include the business requirements that gave birth to the ML project, the interface where users and developers interact with your system and the logic for developing, monitoring, focusing on both the theoretical foundations and practical applications. The course introduces supervised and unsupervised learning including Linear and logistic regression, Decision trees, Support vector machines, Neural networks, Feature selection and transformation methods, and Reinforcement learning. Throughout the course, emphasis is placed on hands-on implementation of machine learning techniques. Students will delve into practical applications in diverse domains such as bioinformatics, image processing, natural language processing, business intelligence, and e-commerce. A dedicated segment will be devoted to discussing the limitations and challenges associated with applying machine learning techniques in various domains, fostering a critical awareness of the constraints and ethical considerations involved.

0103622

Simulation and Model-driven Software Development

In this course, foundations, techniques, and tools for the application of model-driven software development will be taught.  The students will be introduced to the advanced topics related to modelling notations, meta-modelling, and model-transformation. Domain-specific languages will also be introduced with basic structure of these languages. Reverse engineering of system using model-transformation techniques will also be studied. The code generation techniques from models will also be studied. The course also introduces concepts, logic, and modelling of simulation of software systems. The students will also practice simulation of a software system using a discrete event-based software package.  

0103623

System Re-Engineering

Today, reliable software systems are the basis of any business or company. The continuous further development of those systems is the central component in software evolution. It requires a huge amount of time- manpower- as well as financial resources. This course addresses software evolution: the inherent problems and uncertainties in the process. It provides students with practical, in-depth techniques for software reverse engineering. The course contains two parts, the first part deals with software reengineering and software migration. The second part deals with the security-related reverse engineering. In addition, it explores the modern reversing tools.

0103624

Distributed Systems

The knowledge of distributed computing and middleware has become essential in today's network-centric computing environment. This course will give the students both the fundamental knowledge and hands-on practice, make the students to be more current with the industry practices, and prepare the students for active research at the forefront of these areas. The topics covered in this course include fundamentals of distributed computing, software agents, naming services, synchronization, consistency and replication, fault tolerance, shared memory, distributed object-based systems, distributed file systems distributed transactions, and security management.

0103625

Human-Computer Interaction

In this course, students are introduced to the fundamental theories and concepts of human computer interaction (HCI). HCI is an interdisciplinary field that integrates theories and methodologies across many domains including cognitive psychology, neurocognitive engineering, computer science, human factors, and engineering design. Students will gain theoretical knowledge and practical experience in the fundamental aspects of human perception, cognition, and learning as relates to the design, implementation, and evaluation of interfaces. Topics covered include: interface design, usability evaluation, universal design, multimodal interfaces (touch, vision, natural language and 3-D audio), virtual reality, and spatial displays. In addition to lectures, students will work on individual assignment and team project to design, implement, and evaluate various interactive systems and user interfaces based on knowledge culled from class material and additional research.

0103626

Systems Design Optimization

This course covers both fundamental and advanced optimization theory and algorithms. It covers a wide range of numerical methods and topics, including both gradient-based and gradient-free algorithms, multidisciplinary design optimization, and uncertainty, with instructions on how to determine which algorithm should be used for a given application. It also provides an overview of models and how to prepare them for use with numerical optimization, including derivative computation.

Financial Information

 

Click here to view Financial Information

Facts and Figures

Contact us

Director of Computer Engineering Program

College of Engineering
Al Ain University 

P.O.Box: 64141
Al Ain - UAE

Phone No: +971 3 7024888
Fax No: +971 3 7024777

E-mail(Al Ain): Computer.Engineering@aau.ac.ae
E-mail(Abu Dhabi): Computer.Engineering_ad@aau.ac.ae