Master in Software development

Faculty of Information Technology - Department of Software Engineering

b

Description

The Master of Science in Software Development degree aims to equip the student with the professional and technical skills to specify, design, develop and test modern software systems in a variety of contexts and organisational settings. The degree has been designed for those with some, or good, previous background and experience in their first degree of computer programming languages, software design, computer science, software engineering, secure software, web technologies and for those who would like the opportunity to pursue employment or further research in software systems development. Furthermore, The degree combines theories and practices in the design and development of software systems. It covers a wide range of key topics, including Advanced Software Architecture, Design Solutions, Database Design and Management, Big Data, Software Security and Web Technologies, Cloud Deployment, Distributed Programming, Digital Signal and Image Processing (DSIP), Artificial Intelligence, Machine Learning, Gaming Technologies and Design, Computer Graphics and Software Project Management is also included. 

Outcomes

    • Student will develop strong theoretical foundations and practical skills to develop a new software as well as to the customize, integrate and further development of existing software.
    • Enable the students to use the techniques and tools necessary for the identification of requirements, analysis, software design, programming and testing.
    • Improving the ability of students to work systematically with large and complex software systems to control functionality and software qualities important to software development. 

Certificate Rewarded

MSc. 

Entry Reuirements

Study Plan

The Master in Software development prepares students to qualify for Master in Software development. The student studies several subjects which have been carefully chosen in this major to cover its different aspects.

It comprises 2 Semesters of study, in which the student will study a total of 33 units, which include 0 units of general subjects, and 24 major units, 9 of elective units. In addition to a final project in the student's major.

Study plan for this program is shown below:

1st Semester

Code Title Credits Course Type Prerequisite
ITSE511 Advanced Software Architecture 03 Compulsory +

The overall aim of this module is to provide the student with the knowledge and skills to develop well-designed and tested software systems. The module will adopt the Object-oriented (OO) approach to software designed and development and apply industry-standard frameworks and practices. The module will also evaluate different software development paradigms and architecture design patterns for modern software systems development. The module focus on the tools and techniques for each of the software processes, from requirements to automated testing.

ITSE513 Advanced Software Architecture 03 Compulsory +

The overall aim of this module is to provide the student with the knowledge and skills to develop well-designed and tested software systems. The module will adopt the Object-oriented (OO) approach to software designed and development and apply industry-standard frameworks and practices. The module will also evaluate different software development paradigms and architecture design patterns for modern software systems development. The module focus on the tools and techniques for each of the software processes, from requirements to automated testing.

ITSE515 Advanced Programming for Software Development 03 Compulsory +

The module is intended to extend the student's knowledge to encompass a number of important programming techniques necessary for building a modern computing application. The course content will include techniques in Java to deal with a range of issues drawn from the following: program design using an object-oriented programming model; modelling data using programming language type systems; event and exception programming; advanced features of GUI; thread programming; multithreaded programing; persistence; parallel distributed programming; stream Tokenizer; the Java application of e-business programming "advanced features of client-server", remote control, ; and its advanced database; TCP; TCP/IP, HTTP, DES, RSA programming, will be covered as well. It will also cover the underlying Java run time system and techniques that found in other languages.

ITSE517 Software Project Management 03 Compulsory +

This module will provide students with theoretical and practical knowledge of digital products and digital information systems used in project management. It helps in understanding of Information Technology (IT) project management and how it forms an essential backbone for most modern organizations today. The module extends, and enhances student’s knowledge in the derivation, from corporate strategy, of business change programs and their comprising projects, and then the chartering, structuring, and governance of those collections of projects and programs within businesses. There is a strong emphasis on understanding the context of the project and program and the extent to which this can be influenced or shaped by the initiation and agreed planning processes and outputs. look at the differences between traditional project management processes, and the more agile options that are developing in most digital industries.

2nd Semester

Code Title Credits Course Type Prerequisite
ITSE524 Advanced Database Design 03 Compulsory +

The overall aim of this module is to provide the student with theoretical knowledge and practical skills in advanced topics in database systems, big data and modern data-intensive systems. The specific topics include indexing methods, query processing and optimization strategies for relational database systems. Object relational mapping and object database, distributed database systems, data mining on large databases. Parallel and distributed database (topics such as role of NoSQL, map-reduce, hadoop platform, etc.). contemporary issues and emerging technologies such as On-Line analytical processing (OLAP), data warehouse database-as-a-service (DB clouds).

ITSE600 M.Sc. Thesis " Dissertation" 06 Compulsory +

The project is intended to provide the student with the opportunity to demonstrate competence in applying the knowledge and skills acquired during the taught modules.

Elective Subjects

Code Title Credits Course Type Prerequisite
ITSE501 Digital Signal and Image Processing 03 Elective +

The overall aim of this module is to enable a student to consider the applications of signal and image analysis and computational methods for processing digital signals, including images. The emphasis is on the generation of appropriate "software solution" for digital signal and image processing (DSIP) in the time and frequency domains.

ITSE502 Gaming Technologies and Design 03 Elective +

This module aims to provide the students thinking about the structure and depth in a game, the principles, practice, and context of interactive 3D modeling, rendering and animation.This module also enable students to understand both technical and aesthetic aspects of 3D animation and performance capture and CGI production and pipelines. The Using of specialist software such as Unity3D and Unreal engines will be covered. This course provides an opportunity to develop your interest in computer games into a set of skills which will help you start a career in this exciting industry.

ITSE503 Real-Time Computer Graphics 03 Elective +

This module aims to provide the students with graphics programming to include efficient acceleration of rendering of accepted quality images also emphasis the rendering of 3D augmented reality, high-quality graphical applications such as computer games. The students will learn how to research and select appropriate algorithms and techniques to sort out problem and then construct an implementation using Java, C++, a graphics library such as OpenGL or Direct3D, Ray tracing, and shading languages such as GLSL or HLSL.

ITSE504 Artificial Intelligence 03 Elective +

This module introduces the core concepts of artificial intelligence and machine learning. The principal focus of the module will be on the underlying principles such as knowledge representation, search, decision theory, probability, and statistical learning.

ITSE505 Machine Learning 03 Elective +

This module aims to provide the students with the knowledge of data-driven process of constructing mathematical models that can make predictions about future situations or take actions in a future situations to optimize some outcome neutral networks (one form of ML method), the student will study a range of deep learning tools that allow for the efficient construction of very complex neural network models, model evaluation, use of several python-based tools, including tensorflow and keras, backpropagation, timeseries processing, transformer networks, generative models, generative adversarial networks, model interpretation.

ITSE506 Big Data 03 Elective +

This module aims to provide the students with the knowledge of data science, entropy, Regression Models, Various Concepts in Machine Learning Modeling, Classification Models, Classic Classifiers, Model Pathologies and Overfitting, Clustering & Pattern Recognition, Introduction to cloud computing, Natural Language Processing, First neural nets, DL & Big Data Applications, Finally, the module will be also cover Deep learning models.

ITSE507 Software Project Quality Management 03 Elective +

Quality is a highly competitive market in software projects development. Quality is a key measure of project success. The course essentially to clearly define the quality requirements of a software product. Moreover‚ it teaches to plan and perform a systematic set of activities insoftware quality assuranceand use ‘quality filters’ such asformal technical reviewsfor detecting errors. Software quality management module includes: Basic Concepts of software quality, software quality assurance, and formal technical reviews. This course will enable students to explain software quality‚ the factors that impact quality‚ and the metrics used to assess product quality.

ITSE508 Software Cost Management 03 Elective +

This module introduces the student to the applied and advanced concepts and methods of software development and software cost management and cost projects from both a theoretical and a real-world approach. The module content includes measuring the size of a software product that is necessary for estimation and project planning. It is also required for normalizing the data across projects. Approaches used for measuring the size of software products include: Direct measure of the technical size of a product using lines of code, and Indirect measure of the functional size of a product using function points.

ITSE509 Security Management and Governance 03 Elective +

Effective real-world security is an essential topic in modern technological projects. However, this module addresses cyber security management. This module will give students an understanding and appreciation of the need for effective security management. Students will study different approaches to management in practice, including key standardized approaches and the fundamental importance of a risk-based approach. After completing the module, students will also understand key components of practical cyber security management, including the impact of law and regulation, the importance of auditing, and the key role of people in achieving cyber security.