Home Page

M.Sc. Program Course Syllabus

0750784 Formal Methods ( 3 Credit Hours)

Aims: In this course MSc students will be seamlessly introduced to theoretical issues and  practical applications of formal methods within the software development process with the broad aim of understanding how the use of such methods even if pragmatically applied might conduct to the construction of  maintainable and high quality software systems while keeping acceptable development costs.

Synopsis: Role of formal specification and analysis techniques in the software development process; program assertion languages and analysis approaches; formal approaches to software modeling and analysis; tools in support of formal methods.

Textbook: V.S. Alagar, K. Periyasamy: Specification of Software Systems, Graduate Texts in Computer Science, Springer-Verlag, 2 nd Edition, 2011.


0750785  Software Evolution and Maintenance   (3 Credit Hours)

Aims: This course aims to provide students the skills and techniques required to undertake Software Maintenance at MSc level and present theoretical and a practical techniques, tools, and methodologies that help software developers to achieve this unavoidable task with a maximum of success. The practical aspect should be emphasized.

Synopsis: software maintenance: software change (introduction to software maintenance methods and tools: corrective, adaptive , perfective, and preventive maintenance methods and tools), change management (software configurations management scm:  concepts, repository, changes set, workspace,  system/product model, composition,  database, long transaction, versioning, tools, researches, …), program comprehension – reverse engineering (code reading: code reading, top down reading, unfamiliar pl code reading;  code understanding: software architecture, software understanding tools), evolution of legacy systems (fundamentals and re-engineering by migration: characteristics o f legacy systems, challenges for their evolution, the re-technologies: reverse-engineering, re-structuring,  and re-engineering by migration; restructuring methods and tools:  error avoidance tools, architectural tools, reuse tools, application; change impact analysis methods and tools: static analysis, dependency graph, slicing), looking to the future.


  1.  Model-based development and evolution of information systems: a quality approach. Author: John Krogsti. Published by  Springer, 2012

  1.  Software evolution, Authors: Tom Mens, Serge Demeyer, Published by Springer, 2008.

  1. Software maintenance, concepts and practice, Authors: Penny Grubb, Armstrong A. Takang. Published  by World Scientific, 2003


0750712 Modern Compiler Design Course ( 3 Credit Hours)

Aims: This course aims to provide students with deep theoretical and practical knowledge on modern compilers. It covers basic topics of compilers (compilers structure, lexical/syntactic analysis, semantic analysis, code generation) and then focuses on more advanced concepts such as: optimization techniques; translators for imperative, object oriented, functional, logic and distributed programming languages.

Synopsis: Lexical/syntactic analysis, semantic analysis, intermediate code  and code generation ; code optimization techniques; translators for imperative, object oriented, functional, logic and distributed programming languages.

Textbook: Modern Compiler Design, Author: Dick Grune,  Kees van Reeuwijk,  Henri E. Bal,  Ceriel J.H. Jacobs, Koen   Langendoen, Published by  Springer; 2nd ed. 2012.


0750724  Algorithms and Advanced Data Structures ( 3 Credit Hours)

Aims: This course aims to expand students' abilities to analyses, critique, design, and implement advanced data structures and algorithms. 

Synopsis: This course offers the advanced skills in Problem Solving, analyze running time for many kinds of algorithms, design divide-and-conquer algorithms, design dynamic programming algorithms, design network flow-based algorithms, write linear / integer programs, apply large-scale search / heuristic algorithms, efficiently store and answer queries about data 8. prove a problem is NP-complete.

Textbooks: Data Structures and Algorithms in Java, Authors: Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Published by Wiley  6th  edition, 2014. ISBN-13: 978-1118771334


0750734 Operating System ( 3 Credit Hours)

Aims: The aim of this module is to study, learn, and understand the main concepts of advanced operating systems (parallel processing systems, distributed systems, real time systems, network operating systems, and open source operating systems); Hardware and software features that support these systems.

Synopsis: Centralized and distributed operating systems; distributed system structures; synchronization in distributed systems; processes and processors in distributed systems; distributed shared memory; protection and security. Distributed file systems.

Textbook: Distributed Systems: Concepts and Design (5th Edition), Authors: George Coulouris,  Jean Dollimore), Tim Kindberg), Gordon Blair. Published by Addison Wesley, May 2011. ISBN 0-13-214301-1


0750735  Computer Architecture ( 3 Credit Hours)

Aims: This course provides an in-depth study of the design, engineering, and evaluation of modern parallel computers.  It begins with an overview of the field focusing on the convergence of many diverse architectural approaches around the communication architecture. A sound basis is built up in workload-driven evaluation, with a brief overview of parallel programming.  It studies small-scale shared memory multiprocessors in some detail to lay groundwork for understanding large-scale designs.

Synopsis: It extracts fundamental design issues: naming, replication, synchronization, latency, overhead, and bandwidth and explores these across the spectrum of modern machines.   It then examines scalable multiprocessors thoroughly, including realizing programming models via network transactions, directory-based cache coherence, interconnection network design, software-based virtual shared memory, COMA techniques, and latency tolerance through multithreading and other means. Lectures will be interactive, drawing on readings from a new text- Parallel Computer Architecture: a Hardware/Software Approach.              

Textbooks: Parallel Computer Architecture:  a Hardware/Software Approach .Author: David E. Culler, Published by Morgan Kaufmann


0750743  Information Security  ( 3 Credit Hours)

Aims: This course provides a comprehensive study of the principles and practices of computer system security including the survey of state-of-the art technology used to address security problems.

Synopsis: Information Security including operating system security, network security, software security and web security. Topics include common attacking techniques such as virus, Trojan, worms and memory exploits; the formalisms of information security such as the access control and information flow theory; the common security policies such as BLP and Biba model; the basic cryptography, RSA, cryptographic hash function, and password system; the real system implementations, with case study of UNIX, SE-Linux, and Windows; network intrusion detection; software security theory; web security; legal and ethical issues in computer security.

Textbook: Computer Security: Principles and Practice, Author:  William Stallings, Lawrie Brown. Published by  Pearson ,  2nd Edition, 2012, ISBN13: 9780132775069 


750744 Computer Network  ( 3 Credit Hours)

Aims: The course aims mainly to discuss advanced topics in computer network including: computer architecture, virtual networks, multimedia networking, network managements and quality of service.

Synopsis: This course discusses Computer Networks in different advanced fields including:  Computer Network architecture layering: Data Link Layer, Network Layer, Transport Layer Options (Silly Window Syndrome, Delayed ACK , Selective Acknowledgments, Selective Retransmission Request (SRR), Time Stamp, Window Scale);  Virtual Local Area Networks (VLANs);  Advanced Multimedia Networking Protocols: Real-time Transmission Protocol (RTP), Real-time Transmission Control Protocol (RTCP), Session Initiation Protocol (SIP);  Network-Management Protocols: Simple Network Management protocol (SNMP), Structure of Management Information (SMI), Management Information Base (MIB);  Quality of Service (QoS): Integrated Services (Intserv), Resource Reservation protocol (RSVP), Differentiated Service (Diffserv); Asynchronous Transfer Mode (ATM).


1-Computer Networks : A system approach. Authors: L. Peterson and  B. Daive, Published by 5th edition, Morgan Kaufmann, 2011.

2-Computer networks. Author: Tanenbaum, Published by Prentice Hall 5th edition, 2013.


0750745 Wireless and Mobile network ( 3 Credit Hours)

Aims: This course highlights state-of-the-art research concerning the key issues surrounding current and future challenges associated with the software engineering of mobile systems and related emergent applications. This handbook addresses gaps in the literature within the area of software engineering and the mobile computing world.

Synopsis: This course covers the following topics: Design of Mobile Geo-Applications, Interoperability of Mobile Agents, Map-based and Location-aware Applications, Mobile and Wireless Sensor Networks, Mobile Cognitive Radio Systems, Mobile Web Applications Development, Model-Driven Techniques, P2P Networking, Quality of Service (QoS) for mobile systems, Software Engineering and Design, Ubiquitous computing, Wireless Ad Hoc Networks.

Text book: Wireless and Mobile Networks: Concepts and Protocols, Author: Sunilkumar S. Manvi, Mahabaleshwar S. Kakkasageri, Publisher:  Wiley, 2010. ISBN: 9788126520695


0750754 Intelligent Systems ( 3 Credit Hours)

Aims: The aim of the Intelligent Systems is to convey knowledge and skills that enable students to analyze,  design and develop complex cognitive systems. Such cognitive systems are  characterized by the fact that they can perceive their environment and react accordingly in an intelligent manner. Another significant feature of these intelligent systems is their ability to learn and to thereby adapt to complex and changing environments, requirements and users. Such systems are especially relevant in the areas of robotics, virtual agents, multimedia and web information systems. Students are  guided increasingly to work independently following scientific principles and methodologies.  The program is explicitly  designed to convey practical skills and abilities.

Synopsis: Cognitive systems, complex and changing environments, requirements and users, virtual agents, development of autonomous systems (robots, avatars, dialog systems, intelligent assistants), virtual agents, computer game industry and scientific research.

Textbook: Advances in Computer Science, Intelligent Systems and Environment, Authors: Sally Lin, David Jin, Published by Springer, 2011


0750755  Soft Computing ( 3 Credit Hours)

Aims: The aim of this course is to provide students with deep theoretical and practical knowledge on neural networks, fuzzy systems, and optimization algorithms concepts and their relations.

Synopsis: Neural Networks, Fuzzy Set Theory, Genetic Algorithm, Rough Set, Neuro Fuzzy Modeling, Neuro-Genetic Information Processing For Optimization, Machine Learning, Applications Of Computational Intelligence.

Textbook: Soft Computing and Its Applications: Volumes One and Two, Author:  Kumar S. Ray, Published by Apple Academic Press, 2014, ISBN 1771880473 978177188047


0750763  Database Systems ( 3 Credit Hours)

Aims:This course aims to provide students  skills and techniques required to undertake Database techniques at MSc leve and to emphases the concepts  different advanced DB models. The practical aspect should be emphasized.

Synopsis: Database management has evolved from a specialized computer application to a central component of a modern computing environment, and, as a result, knowledge about database systems has become an essential part of an education in computer science. This course aims to offer advanced skills in DB, we present the fundamental concepts of database management focusing on their advanced and practical aspects. So, the goal is to study some advanced technologies in the database area that have been adopted in real applications and to survey products and applications that embody these technologies.  Advanced topics from the following will be covered: Relational Database, Object Oriented and Object Relational Databases; XML/Semi-structured Data Management; Querying, Transaction and Distributed Databases; Data mining and Information Retrieval Techniques. The practical aspect should be emphasized

Textbooks: Database System Concepts, Authors: Abraham Silberschatz , Henry F. Korth, and S. Sudarshan, Published by McGraw Hill,  6th Edition,  2010.


0750762  Data Mining ( 3 Credit Hours)

Aims: The aim of this module is to study:

1. Provide the student with an understanding of the concepts of data warehousing and data mining.

2. Study the dimensional modeling technique for designing a data warehouse

3. Study data warehouse architectures, OLAP and the project planning aspects in building a data warehouse

4. Explain the knowledge discovery process

5. Describe the data mining tasks and study their well-known techniques

6. Develop an understanding of the role played by knowledge in a diverse range of intelligent systems.

7. Test real data sets using popular data mining tools such as WEKA

8. Advanced topics in Data mining.

Synopsis: Data Warehouse; Data preprocessing; What is data mining?; Data Mining Techniques; Cluster analysis; Data mining and neural network; DM and GA; DM and distributed data;  DM and Bid data.

Textbook: Data Mining: Concepts and Techniques, Morgan Kaufmann, Authors: Han, J. and Kamber, M., Published by  2012.


0750773 Computer Vision ( 3 Credit Hours)

AimsThe aims of this course are to introduce the principles, models and applications of computer vision, as well as some mechanisms used in biological visual systems that may inspire design of artificial ones. The course will cover: image formation, structure, and coding; edge and feature detection; neural operators for image analysis; texture, colour, stereo, and motion; wavelet methods for visual coding and analysis; interpretation of surfaces, solids, and shapes; data fusion; probabilistic classifiers; visual inference and learning. Issues will be illustrated using the examples of pattern recognition, image retrieval, and face recognition.

Synopsis: Image representation,  enhancement of digital images;  concepts and methodologies for image analysis,  mathematical and artificial intelligence methodologies required for image analysis and computer vision,  implementation of image analysis and computer vision algorithms,  recent research in image retrieval in digital libraries and medical image analysis,  image acquisition, digitization, digital image concepts and preprocessing, introduction to colour fundamentals, texture analysis and morphological processing, review of mathematical concepts in statistics and neural networks, image segmentation, classification and decision making, and also their application involving, image retrieval in digital libraries and medical image analysis.

Textbook: Computer Vision: Algorithms and Applications, Author: Richard Szeliski, Published by Springer,  2011, ISBN: 978-1-84882-934-3 (Print) 978-1-84882-935-0 (Online)


0750774  Modeling and Simulation ( 3 Credit Hours)

Aims: The course aims at giving the students knowledge of the concepts in the area of modeling and simulation for both discrete and continuous system.

Synopsis: Discrete Event Simulation: Basic simulation concepts and terms, queuing theory models for discrete event systems, structure of discrete event simulations, problem formulation and specification, input data representation, output data analysis, verification and validation, and the design of simulation experiments. Continuous Simulation: differential equation representation of systems, formulation of state variable equations, numerical integration, and techniques for numerical solution of differential equations including the Taylor algorithm and the methods of Runge-Kutta. Application domains considered include physical and biological systems.

Textbook: Discrete and Continuous Simulation: Theory and Practice, Authors: Susmita Bandyopadhyay, Ranjan Bhattacharya, Published by CRC Press, 2014. ISBN 9781466596399


0750792 Scientific Research Methodology (3 Credit Hours)

Aims: This course aims to offer a grounding in various aspects of research and project management, from the most theoretical (philosophy of science), through the subject-specific (how to choose, refine and develop a research topic), to practical advice on undertaking research, including how to contribute to research, manage research projects, cope with the day-to-day research activity, etc. students will acquire insight into the philosophical and methodological fundamentals of scientific research. Such knowledge is necessary in order to complete a higher degree programme. In scientific theory, students will gain understanding and basic knowledge of central scientific paradigms and approaches. The intention is that students will develop the ability to understand and reflect on the demands of scientific research, how knowledge is defined and how it is verified. In this way, they will be able to evaluate the premises for knowledge production, its limits and possibilities. This knowledge will also form a basis for launching and pursuing individual student research efforts, and will also facilitate critical reflection on the research of others. Through instruction in research techniques, students will acquire an understanding of the ethical standards which must be satisfied in the planning and execution of research projects. Students will also learn about qualitative and quantitative methods, including the interpretation and application of statistical material.

Synopsis: The Research Process, Questions & Ethics, MSc Research Guidelines, Finding Articles, Reading & Evaluating Papers, Preparing & Making a Research Presentation, Measurements and Variables, Statistical Analysis of Data, Naturalistic and Case-Study Research, Correlational and Differential Research, Hypothesis Testing, Validity, and Threats to Validity, Controls to Reduce Threats to Validity, Experiment Design, Writing a Paper, Field Research & Surveys.


  1. Anthony M. Graziano and M. L, Raulin, Research Methods: A process of Inquiry, Pearson International Edition, 2007

  2. B. Hughes and M. Cotterell. Software Project management. 5th edition, McGraw-Hill, 2009.


0750797 Advanced Topics in Computer Systems  (3 Credit Hours)

Aims: Contemporary topics and research directions in computer systems.


0750799  Thesis (9 Credit Hours)

Aims: The aims of the thesis are to:

  1. Put into practice theories and concepts learned on the programme;

  2. provide an opportunity to study a particular topic in depth;

  3. Show evidence of independent investigation;

  4. Combine relevant theories and suggest alternatives;

  5. Enable interaction with practitioners (where appropriate to the chosen topic);

  6. Show evidence of ability to plan and manage a project within deadlines.

  7. Define, design and deliver an academically rigorous piece of research;

  8. Understand the relationships between the theoretical concepts taught in class and their application in specific situations;

  9. Show evidence of a critical and holistic knowledge and have a deeper understanding of their chosen subject area;

  10. Appreciate practical implications and constraints of the specialist subject;

  11. Understand the process and decisions to be made in managing a project within strict deadlines

Synopsis: Preparation of an academic research under the supervision of a faculty member, work must be non-trivial,  ability to write a dissertation,  A successful defense of the thesis.