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.
The program aspires to be a leading program in the region through excellence in education and research.
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.
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.
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. |
*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
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.
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.
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 |
|
|
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 Code |
Course |
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. |
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