0% found this document useful (0 votes)
37 views

MS CS Semester I (Session Fall 2024-2026) - Morning SOS 2023

scheme of studies for masters in computer sciences

Uploaded by

Muhammad Atique
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

MS CS Semester I (Session Fall 2024-2026) - Morning SOS 2023

scheme of studies for masters in computer sciences

Uploaded by

Muhammad Atique
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 94

Curriculum / Scheme of Studies

of
Master of Science in Computer Science

(MS Computer Science)

(2023)

Division of Science and Technology


University of Education, Lahore
Table of Contents
MS Computer Science .................................................................................................................. 3
Introduction:........................................................................................................................................... 3
Program Vision Statement ..................................................................................................................... 3
Program Mission Statement ................................................................................................................... 3
Program Objectives ................................................................................................................................ 3
Admission Requirements: ...................................................................................................................... 3
Medium of Instruction and Examination: .............................................................................................. 4
Program Design ............................................................................................................................ 5
Program Layout: ........................................................................................................................... 5
Compulsory Courses ..................................................................................................................... 5
Elective Courses ........................................................................................................................... 5
Semester Breakup ......................................................................................................................... 7
Course Outlines ............................................................................................................................ 8
(Compulsory Courses) .................................................................................................................. 8
Course Outlines .......................................................................................................................... 18
(Elective Courses)....................................................................................................................... 18
Artificial Intelligence and Computer Visualization Elective...................................................... 18
Database Electives ...................................................................................................................... 50
Software Engineering Electives .................................................................................................. 59
Computer Network Electives...................................................................................................... 70
Course Outlines .......................................................................................................................... 85
(Deficiency Courses) .................................................................................................................. 85
MS Computer Science
Introduction
The MS Computer Science program comprises of four semesters which is spread over two years, with two
semesters in a year. The additional major areas may be added in the list of specialization as appropriate to
university keeping in view the resources available.

Program Vision Statement


The MS Computer Science program aspires to innovate, broaden, publish and impart the advanced knowledge
of computer science enabling students to participate and contribute in their field locally, nationally and globally
through academia, research and applications.

Program Mission Statement


The mission of the program is to impart modern, quality, comprehensive and effective theoretical as
well as applied research in various domains of Computer Science. Also, to instill high degree
professionalism in student by developing his/her research skills, communication, real life problem
solving and technical skills in order to meet modern and future challenges.

Program Objectives
The MS Computer Science (MSCS) is a research-based degree program for the candidates with at
least sixteen years of education in the field of Computer Science. The MSCS aimed to provide a state-
of-the-art research facility to the candidates who are interested in pursuing to extend their knowledge
that reflects the current research trends in various Computer Science disciplines. The program not
only prepares the students for the industry but also would give them the required knowledge to pursue
for the doctoral level degrees. Although, the MSCS is an independent program, however, research
work developed in this program can be extended and made more comprehensive to serve as the
research base for a PhD in Computer Science. The MSCS will enable the students to:

• impart skills with advanced theoretical and practical knowledge.


• have substantial exposure to latest research trends in software engineering, computer networks,
computer architecture, computer vision, machine learning, operating systems and other related
areas.
• increase the opportunities for advanced positions in computing profession.

Admission Requirements

Sixteen years of education with CGPA of at least 2.5 (on scale of 4.0) in degree program of BS
(SE/CS/IT/CE) or equivalent from HEC recognized university or degree awarding institute. An entry
test will be conducted as part of the admission criteria or as per University of Education requirements.

Page 3 of 94
The following core courses are recommended to be completed before entering the MS (CS) program.

1. Analysis of Algorithms
2. Assembly Lang. /Computer Architecture
3. Computer Networks
4. Computer Programming
5. Data Structures
6. Database Systems
7. Operating Systems
8. Software Engineering
9. Theory of Automata

A student selected for admission having deficiency in the above stated courses may be required to
study a maximum of FOUR courses, which must be passed in the first two semesters. Deficiency
courses shall be determined by the Graduate Studies Committee, before admitting the student. A
student cannot register in MS courses, unless all specified deficiency courses have been passed.

Note: Deficiency Course outlines are present at the end of SOS and available in the Bachelor of
Science in Computer Science (Proposed in August 2023- as per HEC requirement) document.

Medium of Instruction and Examination


The medium of instruction and examination shall be ENGLISH. For languages, the medium of
instruction and examination shall that language.

Page 4 of 94
Program Design
Sr. No. Course Categories No. of Courses Credit Hours
1. Compulsory courses 4 12
2. *Elective courses 4 12
3. Thesis 1 6
4. Research Methods 1 Non-Credited
(Seminars)
Total 30
* Elective courses will be chosen from the list of elective courses depending upon the
availability of the experts.

Program Layout:
Compulsory Courses
Sr. No. Course Code Course Title Credit
Hours
1. COMP5111 Advanced Theory of Programming 3(3+0)
Languages
2. COMP5112 Advanced Algorithm Analysis 3(3+0)
3. COMP5113 Advanced Operating Systems 3(3+0)
4. COMP5114 Advanced Computer Architecture 3(3+0)

Elective Courses
Artificial Intelligence and Computer Visualization Electives
Sr. No. Course Code Pre. Req. Course Title Cr. Hrs.
1. COMP5115 COMP1112 Functional Programming 3(3+0)
2. COMP5116 None Game Theory 3(3+0)
3. COMP5117 None Graph Theory & Algorithms 3(3+0)
Parallel Processing: Algorithms and 3(3+0)
4. COMP5118 COMP5112
Architectures – I
Parallel Processing: Algorithms and 3(3+0)
5. COMP5119 COMP5118
Architectures – II
6. COMP5120 None Fuzzy Logic 3(3+0)

Page 5 of 94
7. COMP5121 None Expert Systems 3(3+0)
8. COMP5122 None Stochastic Systems 3(3+0)
9. COMP5123 COMP5122 Stochastic Processes 3(3+0)
10. COMP5124 ITEC4119 Machine Learning 3(3+0)
11. COMP5125 None Neural Networks 3(3+0)
12. COMP5126 None Deep Learning 3(3+0)
13. COMP5127 None Natural Language Processing 3(3+0)
14. COMP5128 None Knowledge-Based Systems 3(3+0)
15. COMP5129 ITEC4124 Big Data Analytics 3(3+0)
16. COMP5130 None Bioinformatics 3(3+0)
Multimedia Systems Theory & 3(3+0)
17. COMP5131 None
Principles
18. COMP5132 None Digital Image Processing 3(3+0)

19. COMP5133 COMP5813 Computer Vision 3(3+0)

20. COMP5134 None Web Mining 3(3+0)

21. COMP5135 None Text Mining 3(3+0)

Database Electives
Sr. No. Course Code Pre. Req. Course Title Cr. Hrs.
22. COMP5136 None Information Retrieval 3(3+0)
23. COMP5137 COMP2114 Multimedia Databases 3(3+0)
24. COMP5138 COMP2114 Distributed Database Systems 3(3+0)
25. COMP5139 COMP2114 Advanced Database Systems 3(3+0)
26. COMP5140 COMP2115 Distributed Operating System 3(3+0)
Software Engineering Electives
Sr. No. Course Code Pre. Req. Course Title Cr. Hrs.
27. COMP5141 None Intelligent Agents Technology 3(3+0)
28. COMP5142 COMP5141 Intelligent Multi Agent Systems 3(3+0)
29. COMP5143 None Formal Methods 3(3+0)
30. COMP5144 COMP2112 Software Requirements Engineering 3(3+0)
31. COMP5145 None Software Security Testing and Code Assessment 3(3+0)
32. COMP5146 COMP2112 Advanced Software Engineering 3(3+0)
33. COMP5147 None Software System Design and Architecture 3(3+0)
Computer Network Electives
Sr. No. Course Code Pre. Req. Course Title Cr. Hrs.
34. COMP5148 COMP3112 Advanced Computer Networks 3(3+0)
35. COMP5149 None Information Theory I 3(3+0)
36. COMP5150 COMP5149 Information Theory II 3(3+0)

Page 6 of 94
37. COMP5151 None Service-Oriented Architecture 3(3+0)
38. COMP5152 None Internet of Things (IoT) 3(3+0)
39. COMP5153 ITEC4111 Advanced Network Security 3(3+0)
40. COMP5154 None Mobile and Wireless Networks 3(3+0)
41. COMP5155 None Distributed Computing 3(3+0)
42. COMP5156 None Distributed System 3(3+0)
43. COMP5157 None Quantum Computing 3(3+0)

**More elective course can also be added subject to the availability of relevant faculty.

Semester Breakup
Semester-I
Sr. No. Course Code Course Title Cr. Hrs.
1. COMP5111 Advanced Theory of Programming 3(3+0)
Languages
2. COMP5112 Advanced Algorithm Analysis 3(3+0)
3. COMP5113 Advanced Operating Systems 3(3+0)
Total 9

Semester-2
Sr. No. Course Code Course Title Cr. Hrs.
1. COMPXXXX Elective I 3(3+0)
2. COMPXXXX Elective II 3(3+0)
3. COMP5114 Advanced Computer Architecture 3(3+0)
4. COMP5158 Research Methods 1
Total 9

Semester-3
Sr. No. Course Code Course Title Cr. Hrs.
1. COMP6111 Thesis/Project (partial registration) 3(0+3)
2. COMPXXXX Elective III 3(3+0)
Total 6

Semester-4
Sr. No. Course Code Course Title Cr. Hrs.
1. COMP6111 Thesis/Project (partial registration) 3(0+3)
2. COMPXXXX Elective IV 3(3+0)
Total 6

Page 7 of 94
Course Outlines
(Compulsory Courses)

Page 8 of 94
Course Title: Advanced Theory of Programming Languages
Course Code: COMP5111
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
Thousands of different programming languages have been designed by different people over the
last 60 years. The major content of this is different programming languages paradigm and
implementation issues. Some objectives of this course are:
 To study programming language constructs and features.
 To become familiar with language design principles.
 To become familiar with the different semantic issues of programming languages.
 To become competent in problem solving using different language paradigms.
 To become proficient in implementing a lexical analyzer for a programming language
based on its specification.
 To become familiar with the principal methods of formal semantics: operational,
denotational, and axiomatic.
 To experience a diverse range of programming languages, constructs, and
implementation issues.
 To introduce students to programming language theory including predicate calculus, the
lambda calculus, and semantic algebras.

Course Syllabus:
Influences on Language Design, Computer Architecture Influence, Programming Methodologies
Influences, Language Categories, Language Design Trade-Offs, Implementation Methods,
Programming Environments, Evolution of the Major Programming Languages including Short
History of Programming Languages, Genealogy of Common Languages, Minimal Hardware
Programming: Pseudocodes, Functional Programming, The Beginnings of Timesharing, The
Beginning of Data Abstraction, Object-Oriented Programming, Combining Imperative ad Object-
Oriented Features, Scripting Languages for the Web, .NET languages, Describing syntax and
Semantics:The General Problem of Describing Syntax: Terminology, Formal Definition of
Languages, Formal Methods of Describing Syntax, Backus-Naur Form (BNF), Context-Free
Grammars, Derivation, Parse Tree, Extended BNF, Attribute grammar, Describing the Meanings of
Programs, Semantics, Name, Bindings, Type Checking, and Scopes:Names and Design issues,
length, Case sensitivity, Special words, Variables and their Name, Address, Value, Type, Lifetime,
Scope, The Concept of Binding, Possible Binding Times, types of Binding, TypeChecking, Strong
Typing, Name Type Compatibility, Structure Type Compatibility, Scope and Lifetime, Referencing
Environments, Named Constants, Data Types:Primitive Data Types, Character String Types, User-
Defined Ordinal Types, Array Types, Associative Arrays, Record Types, Definition & references,
operation, implementation, Union Types, Pointer and Reference Types, Design issues, operation,
problems, evaluation, representation, heap management, Expressions and Assignment Statements,
Arithmetic Expressions, design issues, operator types and their Precedence Rules, Conditional
Expressions, Evaluation Order, Overloaded Operators, Type Conversions, narrowing and widening
conversion, Relational and Boolean Expressions, Operator Precedence, Short-Circuit Evaluation,
Assignment Statements, Conditional Targets, Unary Assignment Operators, Compound Operators,
Assignment as an Expression, Mixed-Mode
Page 9 of 94
Assignment, Statement-Level Control Structures, Selection Statements, design issues, , nested
selectors, Two-Way and Multiple-Way selection statements, Iterative Statements, design issues,
Counter-Controlled and logically-Controlled Loops, Nested loops, User-Located Loop Control
Mechanisms, Data Structures Based Iteration, Unconditional Branching, Guarded Commands,
Conclusions, Subprograms, Fundamentals of Subprograms, definition, Design Issues, Local
Referencing Environments, Parameter-Passing Methods for major languages, Multidimensional
Arrays as Parameters, Design Considerations, Parameters That Are Subprogram Names,
Overloaded Subprograms, Generic Subprograms, Design Issues for Functions, User-Defined
Overloaded Operators, CoroutinesImplementing Subprograms, The General Semantics of Calls and
Returns, Implementing “Simple” Subprograms, Implementing Subprograms with Stack- Dynamic
Local Variables, Nested Subprograms, Blocks, Implementing Dynamic Scoping, Abstract Data
Types and Encapsulation Concepts, The Concept of Abstraction, Introduction to Data Abstraction,
Design Issues for Abstract Data Types, Language Examples, Parameterized Abstract Data Types,
Encapsulation Constructs, Naming Encapsulations, Support for Object- Oriented Programming,
Object-Oriented Programming, Design Issues for Object-Oriented Languages, Support for Object-
Oriented Programming in Smalltalk, Support for Object-Oriented Programming in C++, Support
for Object-Oriented Programming in Java, Support for Object- Oriented Programming in C#,
Support for Object-Oriented Programming in Ada 95, The Object Model of JavaScript,
Implementation of Object-Oriented Constructs, Concurrency, Introductionto Subprogram-Level
Concurrency, Semaphores, Monitors, Message Passing, Java Threads, C# Threads, Statement-
Level Concurrency, Exception Handling and Event Handling, Introduction to exception handling,
Exception handling in Ada, Exception Handling in C++, Exception Handling in Java, Introduction
to event handling, Event Handling with Java,

Reference Material:
 Concepts of Programming Languages, Robert W. Sebesta, 8th ed, Addison-Wesley Higher
Education, 2008, ISBN-10: 0-321-49362-1
ISBN-13: 978-0-321-49362-0
 Programming Languages: Paradigm & Practice, Appleby, VandeKopple, 2th Edition,
McGraw-Hill
 Programming Languages Concepts, Carlo Ghezzi and Mehdi Jazayeri, 3rd ed, John Wiley &
Sons

Page 10 of 94
Course Title: Advanced Algorithm Analysis
Course Code: COMP5112
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
This is an advanced course in design and analysis of algorithms covering topics typically not
covered in undergraduate algorithms. In this course the students will learn how to : (i) design and
implement „new‟ algorithms in the real world. (ii) map problems to algorithmic problems. (iii)
read and understand algorithms published in journals. (iv) develop writing skills to present your
own algorithms (v) collaborate and work together with other people to design new algorithms.

Course Syllabus:
Dynamic Programming, Greedy Algorithms, Amortized Analysis, Fibonacci Heaps, van Emde
Boas Trees, Single-Source Shortest Paths, All-Pairs Shortest Paths, Maximum Flow,
Multithreaded Algorithms, String Matching Algorithms, Approximation Algorithms, and
Parallelism Parallel Graph Algorithms.

Course Outline:
1. Dynamic Programming: Rod Cutting, Matrix-Chain Multiplication, Elements of Dynamic
Programming, Longest Common Subsequence, Optimal Binary Search Trees. [TB1:
Ch.15]
2. Greedy Algorithms: An Activity-Selection Problem, Elements of the Greedy Strategy,
Huffman Codes, Matroids and Greedy Methods, A Task-Scheduling Problem as A
Matroid. [TB1: Ch.16]
3. Amortized Analysis: Aggregate Analysis, The Accounting Method, The Potential Method,
Dynamic Tables. [TB1: Ch.17]
4. Fibonacci Heaps: Structure Of Fibonacci Heaps, Mergeable-Heap Operations, Decreasing
a Key and Deleting a Node, Bounding the Maximum Degree. [TB1: Ch.19]
5. vanEmde Boas Trees: Preliminary Approaches, A Recursive Structure, The Van Emde
Boas Tree. [TB1: Ch.20]
6. Single-Source Shortest Paths: The Bellman-Ford Algorithm, Single-Source Shortest Paths
In Directed Acyclic Graphs, Dijkstra’s Algorithm, Difference Constraints and Shortest
Paths, Proofs of Shortest-Paths Properties. [TB1: Ch.24]
7. All-Pairs Shortest Paths: Shortest Paths and Matrix Multiplication, The Floyd-Warshall
Algorithm, Johnson’s Algorithm for Sparse Graphs. [TB1: Ch.25]
8. Maximum Flow: Flow Networks, The Ford-Fulkerson Method, Maximum Bipartite
Matching, Push-Relabel Algorithms, The Relabel-To-Front Algorithm. [TB1: Ch.26]
9. Multithreaded Algorithms: The Basics Of Dynamic Multithreading, Multithreaded Matrix
Multiplication, Multithreaded Merge Sort. [TB1: Ch.27]
10. String Matching: The Naive String-Matching Algorithm, The Rabin-Karp Algorithm,
String Matching With Finite Automata, The Knuth-Morris-Pratt Algorithm. [TB1: Ch.
32]
11. Approximation Algorithms: The Vertex-Cover Problem, The Traveling-Salesman
Problem, The Set-Covering Problem, Randomization And Linear Programming, The
Subset-Sum Problem. [TB1: Ch.35]

Page 11 of 94
12. Parallel Algorithms: Parallelism, The PRAM Model, Simple Parallel Operations, Parallel
Searching, Parallel Sorting, Parallel Numerical Algorithms, Parallel Graph Algorithms.
[TB2: Ch.9]

Reference Material:
 Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L.
Rivest and Clifford Stein, The MIT Press; 3rd Edition (2009). ISBN-10:0262033844
 Analysis of Algorithms: an active learning approach by Jeffrey J. McConnell, Jones &
Bartlett Pub; 2nd Edition (November 2, 2007). ISBN-10:0763707821
 Approximation Algorithms by Vijay V. Vazirani, Springer (December 1, 2010). ISBN-
10: 3642084699
 Algorithms and Theory of Computation Handbook, Second Edition, Volume 2: Special
Topics and Techniques, Chapman and Hall/CRC; 2nd Edition (November 20, 2009).
ISBN-10:1584888202

Page 12 of 94
Course Title: Advanced Operating Systems
Course Code: COMP5113
Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3(3+0)
Prerequisite: None

Course Objectives:
The students will learn about advanced OS concepts, design and internal processes

Course Syllabus:
Operating System Architecture, Multitasking, Multiuser, Multiprocessing, Multi- Threading OS,
Operating System Services For Process Management, Process Scheduling Concepts, System Calls
For Process Management, Process Communication And Synchronization Concepts, Memory And
I/O Management Overview, UNIX Commands For System Administration. Multitasking OS.
Multiprocessor Systems. Memory Management. Unit V I/O Systems. File System.

Course Outline:
1. Introduction: Operating System Architecture, Multitasking, Multiuser, Multiprocessing,
Multi- Threading OS, Operating System Services for Process Management, Process
Scheduling Concepts, System Calls for Process Management, Process Communication
And Synchronization Concepts, Memory and I/O Management Overview, UNIX
Commands for SystemAdministration.
2. Multitasking OS :Design and Implementation Kernel Of Multitasking OS :Services,
Process State Transitions, Functional Specification, Implementation Considerations,
System List, Ready List And Its Manipulation, IPC and Synchronization, Process
Management , InterruptManagement
3. Multiprocessor Systems: Introduction, Parallel Hardware And Interconnections, Types of
Multiprocessor OS, Sharaing OS, Mutiprocesor OS Design Considerations, Threads,
Thread Scheduling, Kernel Mode Processes, Multiprocessor Synchronization,
Implementation of MutualExclusion.
4. Memory Management: Overview, Pages, Zones, Kmalloc, Vmalloc, Slab Layer, Slab
Layer Allocator, Deallocator, Statically Allocating on The Stack, High Memory Mapping.
Non Contiguous MemoryManagement.
5. Unit V I/O Systems: I/O Device Types, I/O Structure, Driver Interfaces, Disk Device
Driver Access Strategies, Unification Of Files And I/O Devices, Generalized Disk Device
Drivers, Disk Caching, I/OScheduler.
6. File System: File System Organization, Operations, Implementation, File Descriptors, File
Blocks Allocaton, Mapping of File Blocks, System Calls For The File System: Open,Read,
Write, Lseek, Close. Mounting and Un Mounting File Systems, Link, Unlink, File System
Abstractions, VFS, File System Maintenance, FileSecurity.
Reference Material:
 Operating systems Concepts and design by Milan Milenkovic, McGraw Hill Higher
Education (1992). ASIN: B000OGSITU
 Operating systems a design oriented approach by charlescrowly, Irwin Professional
Publishing (November 1, 1996). ISBN-10:0256151512
 The design of the UNIX Operating System by Maurice J. Bach, Prentice Hall; 1st Edition

Page 13 of 94
(June 6, 1986). ISBN-10:0132017997
 Understanding the Linux kernel Daniel Bovet and Marco Cesati, 3 O'Reilly Media; 3rd
Edition (November 2005). ISBN-10:0596005652
 Modern Operating Systems by Andrew S. Tanenbaum, Prentice Hall; 3rd Edition
(December 21, 2007). ISBN-10:0136006639
 Operating Systems Design and Implementation by Andrew S Tanenbaum and Albert S
Woodhull, Prentice Hall; 3rd Edition (January 14,2006)
 Unix Network Programming, Volume 1: The Sockets Networking API W. Richard
Stevens, BillFenner, and Andrew M. Rudoff, ISBN-978-81-203-0749-0, PHI.
 Linux Kernel Development by Robert Love, Addison-Wesley Professional; 3rd Edition
(July 2, 2010). ISBN-10:0672329468
 UNIX Systems Programming: Communication, Concurrency and Threads by Kay A.
Robbins and Steve Robbins, Prentice Hall; 2nd Edition (June 27, 2003). ISBN-10:
0130424110

Page 14 of 94
Course Title: Advanced Computer Architecture
Course Code: COMP5114
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
To develop an understanding of high-performance computer architecture, as a foundation for
advanced work in computer architecture.

Course Syllabus:
Introduction to Advanced Computer Architecture and Parallel Processing, Multiprocessors
Interconnection Networks, Performance Analysis of Multiprocessor Architecture, Shared Memory
Architecture, Message Passing Architecture, Abstract Models, Network Computing, Parallel
Programming in the Parallel Virtual Machine, Message Passing Interface (MPI), Scheduling and
Task Allocation.

Course Outline:
1. Introduction to Advanced Computer Architecture and Parallel Processing:
History,Flynn’sTaxonomy of Computer Architecture, SIMD Architecture, MIMD
Architecture, Interconnection Networks. [TB: Ch.1]
2. Multiprocessors Interconnection Networks: Interconnection Networks Taxonomy, Bus-
Based Dynamic Interconnection Networks, Switch-Based Interconnection Networks, Static
Interconnection Networks, Analysis and Performance Metrics. [TB: Ch.2]
3. PerformanceAnalysisofMultiprocessorArchitecture:ComputationalModels,An Argument for
Parallel Architectures, Interconnection Networks Performance Issues, Scalability of Parallel
Architectures, Benchmark Performance. [TB: Ch. 3]
4. Shared Memory Architecture: Classification of Shared Memory Systems, Bus-Based
Symmetric Multiprocessors, Basic Cache Coherency Methods, Snooping Protocols,
Directory Based Protocols, Shared Memory Programming. [TB: Ch.4]
5. Message Passing Architecture: Introduction to Message Passing, Routing in Message Passing
Networks, Switching Mechanisms in Message Passing, Message Passing Programming
Models, Processor Support for Message Passing, Example Message Passing Architectures,
Message Passing Versus Shared Memory Architectures. [TB: Ch.5]
6. Abstract Models: The PRAM Model and Its Variations, Simulating Multiple Accesses on an
EREW PRAM, Analysis of Parallel Algorithms, Computing Sum and All Sums, Matrix
Multiplication, Sorting, Message Passing Model, Leader Election Problem, Leader Election
in Synchronous Rings. [TB: Ch.6]
7. Network Computing: Computer Networks Basics, Client/Server Systems, Clusters,
Interconnection Networks, Cluster Examples, Grid Computing. [TB: Ch.7]
8. Parallel Programming in the Parallel Virtual Machine: PVM Environment and Application
Structure, Task Creation, Task Groups, Communication Among Tasks, Task
Synchronization, Reduction Operations, Work Assignment. [TB: Ch.8]
9. Message Passing Interface (MPI): Communicators, Virtual Topologies, Task Communication,
Synchronization, Collective Operations, Task Creation, One-Sided Communication. [TB:
Ch.9]
10. Scheduling and Task Allocation: The Scheduling Problem, Scheduling DAGs without

Page 15 of 94
Considering, Communication, Communication Models, Scheduling DAGs with
Communication, The NPCompleteness of the Scheduling Problem, Heuristic Algorithms,
Task Allocation, Scheduling in Heterogeneous Environments. [TB: Ch.10]
11. [Instructors need to devise a contents delivery plan]

Reference Material:
 Advanced Computer Architecture and Parallel Processing by Hesham El-Rewini,
MostafaAbd-El-Barr, Wiley-Interscience; 1st Edition (January 18, 2005). ISBN-10:
012383872X
 Advanced Computer Architectures by Sajjan G. Shiva, CRC Press (2005). ISBN-10:
0849337585
 Advanced Computer Architecture by ByAmit Kumar Mishra, S K Kataria& Sons
(2010). ISBN-10:9380027494
 Advanced Computer Architecture: A Design Space Approach by DezsoSima, Terence
Fountain, Peter Kacsuk, Addison-Wesley; 1st Edition (July 7, 1997). ISBN-10:
0201422913
 Scalable Parallel Computing Technology, Architecture, Programming by Kai Hwang,
ZhiweiXu, McGraw-Hill Science/Engineering/Math; 1st Edition (February 1, 1998).
ISBN-10:0070317984

Page 16 of 94
Course Title: Research Methods
Course Code: COMP5158
Course Structure: Lectures: 1/Labs: 0 Credit Hours: Non credited
Prerequisites: None

Course Objectives:
This course will prepare students for advanced research by examining how to plan, conduct and
report on empirical investigations. The course will cover techniques applicable to each of the
steps of a research project, including formulating research questions, theory building, data analysis
(using both qualitative and quantitative methods), building evidence, assessing validity, and
publishing. It will particularly focus on research involving software, developing statistical tools to
measure software performance and the ways in which people interact with software tools.

Course Outline:
The following topics will be covered through seminars
1. Problem identification in computer science, application domains in computer science like
Simulation modeling, Software Engineering, Algorithm Analysis, Human Computer
Interaction, Cybersecurity, Stochastic Modeling and Optimization etc
2. Reading articles, resources for CS students,Types of papers (survey, position, research, etc.)
3. Reviewing the existing literature and citations
4. Proposal Writing
5. Experiment design/Frameworks, Research question and hypotheses
6. Writing short and long papers
7. Literature reviewing
8. Paper preview
9. Data processingtools and statistics
10. Graphs and visualization
11. Conduct of Research including Ethics, Plagiarism, Intellectual property, Legal issues
12. Thesis writing and formatting
13. Oral presentations

Reference Materials
 The following course either does not have a course package or the textbooks are open source
material and available to students by teachers presenting seminar.

Page 17 of 94
Course Outlines
(Elective Courses)

Artificial Intelligence and Computer


Visualization Electives

Page 18 of 94
Course Title: Functional Programming
Course Code: COMP5115
Course Structure: Lectures: 3 / Labs:0 Credit Hours: 3(3+0)
Prerequisites: COMP1112 (Programming Fundamentals)

Course Objectives:
The students will gain an applied understanding of the concepts and practice of functional
programming. The will be:
 to use the language to implement algorithms and data types to solve problems.
 to explain common errors in sample programs and offer corrections.
 to discuss functional programming and functional programs more generally:

Course Syllabus:
Computers and modeling, Pictures and functions, Types, The Haskell programming language,
Haskell Interpreter, Implementing a Prime Number Test, Haskell Type Declarations, Identifiersin
Haskell, Haskell Types, The Prime Factorization Algorithm, The map and filter Functions, Haskell
Equations and Equational Reasoning. Mathematical Objects: Logical Connectives and their
Meanings, Logical Validity and Related Notions, Making Symbolic Form Explicit. Lambda
Algebra. The Use of Logical Proof. Sets, Types and Lists Operations. Relations. Functions.
Induction and Recursion. Induction and Recursion over Trees. Induction and Recursion over Lists.
Polynomials. Corecursion.

Course Outline:
1. Introducing functional programming: Computers and modeling, Pictures and functions,
Types, The Haskell programming language, Haskell Interpreter, Implementing a Prime
Number Test, Haskell Type Declarations, Identifiers in Haskell, Haskell Types, The Prime
Factorization Algorithm, The map and filter Functions, Haskell Equations and Equational
Reasoning.
2. Mathematical Objects: Logical Connectives and their Meanings, Logical Validity and
Related Notions, Making Symbolic Form Explicit.
3. Lambda Abstraction, Definitions and Implementations, Abstract Formulas and Concrete
Structures, Logical Handling of the Quantifiers, Quantifiers as Procedures.
4. The Use of Logical Proof: Proof Style, Proof Recipes, Rules for the Connectives, Rules
for the Quantifiers, Strategic Guidelines, Reasoning and Computation with Primes.
5. Sets, Types and Lists: Sets, Paradoxes, Types and Type Classes, Special Sets, Algebra of
Sets, Pairs and Products, Lists and List Operations.
6. Comprehension and Database Query, Using Lists to Represent Sets, A Data Type for
Sets.
7. Relations: The Notion of a Relation, Properties of Relations, Implementing Relations as
Sets of Pairs.
8. Implementing Relations as Characteristic Functions, Equivalence Relations, Equivalence
Classes and Partitions, Integer Partitions.
9. Functions: Basic Notions, Surjections, Injections, Bijections, Function Composition,
Inverse Function, Partial Functions, Functions as Partitions, Products, Congruences.
10. Induction and Recursion: Mathematical Induction, Recursion over the Natural Numbers,
The Nature of Recursive Definitions.
Page 19 of 94
11. Induction and Recursion over Trees, Induction and Recursion over Lists, Some Variations
on the Tower of Hanoi, Induction and Recursion over Other Data Structures.
12. Polynomials: Difference Analysis of Polynomial Sequences, Gaussian Elimination,
Polynomials and the Binomial Theorem, Polynomials for Combinatorial Reasoning.
13. Corecursion: Corecursive Definitions, Processes and Labeled Transition Systems, Proof by
Approximation, Proof by Coinduction, Power Series and Generating Functions,
Exponential Generating Functions.

Reference Material:
 The Haskell Road to Logic, Maths and Programming by KeesDoets and Jan van
Eijck, College Publications (May 7, 2004). ISBN-10:0954300696
 Functional Programming: Practice and Theory by Bruce J. MacLennan Addison-
Wesley Professional; 1st Edition (January 11, 1990). ISBN-10:0201137445
 Haskell: The Craft of Functional Programming by Simon Thompson, Haskell,
Addison- Wesley Professional; 3rd Edition (October 2, 2011). ISBN-10:0201882957

Page 20 of 94
Course Title: Game Theory
Course Code: COMP5116
Course Structure: Lectures: 3/ Labs: 0 Credit Hours: 3(3+0)
Pre-requisites: None

Course Syllabus:
Introduction To Game Theory, The Two-Person, Zero-Sum Game With Equilibrium Points, The
General, Two-Person, Zero-Sum Game. Utility Theory, The Two Person, Non-Zero-Sum Game,
The N-Person Game. Strategic Games. Infinite Games and Automata Theory. Back and Forth
between Logic and Games. Graph Searching Games. Beyond Nash Equilibrium.

Course Outline:
1. Introduction To Game Theory, The Two-Person, Zero-Sum Game With Equilibrium
Points, The General, Two-Person, Zero-Sum Game.
2. Utility Theory, The Two Person, Non-Zero-Sum Game.
3. The N-Person Game
4. Strategic Games: Basic Concepts, Iterated Elimination Of Strategies, Mixed Extension,
Variations on the Definition of Strategic Games, Mechanism Design, Pre-Bayesian Games
5. Infinite Games and Automata Theory: Basic Notations And Definitions, Transformation
of Winning Conditions, Tree Automata, Beyond Finite Automata.
6. Algorithms for Solving Parity Games: Games on Graphs, Solving Repeated Reachability
and Eventual Safety Games, Solving Parity Games.
7. Back and Forth Between Logic and Games: Introduction, Reachability Games and Parity
Games, Reachability Games And Logic, Logics With Least And Greatest Fixed-Points,
Definability Of Winning Regions in Parity Games, Inflationary Fixed-Point Logic and
BacktrackingGames.
8. Graph Searching Games: Introduction, Classifying Graph Searching Games, Variants Of
Graph Searching Games, Monotonicity of Graph Searching, Obstructions,An Application
to Graph-Decompositions, Complexity of Graph Searching.
9. Beyond Nash Equilibrium: Solution Concepts for The 21st Century: Robust and Resilient
Equilibrium, Taking Computation into Account, Taking (Lack Of) Awareness into
Account, Iterated RegretMinimization.

Reference Material:
 Game Theory: A Nontechnical Introduction by Morton D. Davis, Dover Publications
(July 1, 1997). ISBN-10:0486296725
 Lectures in Game Theory for Computer Scientists by Krzysztof R. Apt (Ed) and Erich
Grädel (Ed), Cambridge University Press; 1st Edition (February 14,2011).
 Games, Puzzles, and Computation by Robert A.Hearnand Erik D. Demaine,
ISBN-10: 1568813228
 Game Theory by Drew Fudenberg and Jean Tirole, The MIT Press (August 29,
1991). ISBN-10:0262061414

Page 21 of 94
Course Title: Graph Theory & Algorithms
Course Code: COMP5117
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
The course is aimed to develop students‟ understanding of various techniques of graph theory and
its applications.

Course Syllabus:
Fundamental Concepts of Graphs, Sub-Graphs, Connected Graphs, Trees, Non-separable Graphs,
Connectivity, Planar Graphs, Vertex Colorings, Edge Colourings, Hamilton Cycles, Eigenvalues
of Graph, Coverings and Packings in Directed Graphs. Integer Flows and Coverings.

Course Outline:
• Fundamental Concepts of Graphs: What is A Graph, Simple Graphs, Graph and Their
Representations, Isomorphism and Auto morrphisms, Labelled Graphs, Graphs Arising
From Other Structures, Incidents Graphs, Union and Intersection Graphs, Cartesian
Product, Directed Graphs.
• Sub-Graphs: Sub-Graphs and Subparagraphs, Spanning and Induced Sub-Graphs,
Decomposition and Coverings, Edge Cuts and Bonds, Even Sub-Graphs, Graph
Reconstruction.
• Connected Graphs: Walks and Connection, Cut Edges, Connection to Diagraphs, Cycle
Double Covers.
• Trees: Forests and Trees, Spanning Tree, Calay’s Formula, Fundamental Cycles
AndBonds, Co-Tree, Trees and Distance. Applications of Tree.
• Non-separable Graphs: Cut Vertices, Separations and Blocks, Ear Decompositions,
Strong Orientations, Directed Ear Decompositions, Even Cycles Decompositions.
• Connectivity: Vertex Connectivity, Fan Lemma, Edge Connectivity, Three-Connected
Graphs, Submodularity, Determining, Chordal Graphs, Simplicial vertices.
• Planar Graphs: Plane and Planar Graphs, Duality, Euler’s Formula, Bridges,
Kuratowski’sTheorem.
• Vertex Colorings: Chromatic Numbers, Critical Graphs, Girthand Chromatic Number,
Perfect Graphs, List Colourings, TheAdjacency Polynomial, Chromatic Polynomial.
Applications of VertexColourings.
• Edge Colourings: Edge Colouring Number, Vizing’sTheorem, Snarks, Covering
ByPerfectMatchings, List Edge Colouring, ApplicationsofEdgeColourings.
• Hamilton Cycles: Hamiltonian and non-Hamiltonian graphs, Non-Hamiltonian Planar
Graphs, Path Exchanges parity, Hamilton Cycles inGraphs.
• Eigenvalues ofGraph,
• Coverings and Packings in DirectedGraphs.
• Integer Flows and Coverings.

Reference Material:
• Graph Theory by J.A Bondy and U.S.R Murty, Springer; 1st Edition (2008). Corr. 3rd

Page 22 of 94
printing 2008 Edition (August 14, 2008). ISBN-10:1846289696
• A First Course in Graph Theory by Gary Chartr and Ping Zhang, Dover Publications
(February 15, 2012). ISBN-10:0486483681
• Graph Theory and Complex Networks: An Introduction by Maarten van Steen, Maarten
van Steen (April 5, 2010). ISBN-10:9081540610
• Graphs & Digraphs by Gary Chartrand , Linda Lesniak, and Ping Zhang, Chapman and
Hall/CRC; 5th Edition (October 19, 2010). ISBN-10:1439826277

Page 23 of 94
Course Title: Parallel Processing: Algorithms and Architectures-I
Course Code: COMP5118
Course Structure: Lectures: 3/Labs: 0 Credit Hours:3(3+0)
Prerequisites: COMP5112 (Advanced Algorithm Analysis)

Course Objectives:
The course covers the needed perspective, taxonomy, and analysis tools for the understanding key
concepts of parallel processing. It also delimits the models of parallel processing which has
become quite important in recent years.

Course Syllabus:
Introduction to Parallelism. Types of parallelism. Parallel Algorithms. Parallel Algorithm
Complexity. P RAM and Basic Algorithms. Shared-Memory Algorithms. Sorting and Selection
Networks. Circuit-Level Examples. Sorting on a 2-D Mesh or Torus. Routing on a 2-D Mesh or
Torus. Numerical 2-D Mesh Algorithms. Other Mesh-Related Architectures.

CourseOutline:
1. Introduction to Parallelism: Why parallel processing? Parallel processing ups and downs,
Types of parallelism: A taxonomy, Constraints of parallel processing, Effectiveness of
parallel processing. Introduction to Parallel Algorithms: Some simple computations, some
simple architectures, Algorithms for a linear array, Algorithms for a binary tree,
Algorithms for a 2D mesh, Algorithms with shared variables.
2. Parallel Algorithm Complexity: Asymptotic complexity, Algorithm optimality and
efficiency, Complexity classes, Parallelizable tasks and the NC class, Parallel
programming paradigms, Solving recurrences. Models of Parallel Processing:
Development of early models, SIMD versus MIMD architectures, Global versus
distributed memory, The PRAM shared-memory model, Distributed-memory or graph
models, Circuit model and physical realizations.
3. PRAM and Basic Algorithms: PRAM sub models and assumptions, Data broadcasting,
Semi group or fan-in computation, Parallel prefix computation, Ranking the elements of a
linked list, Matrix multiplication. More Shared-Memory Algorithms: Sequential rank-
based selection, A parallel selection algorithm, A selection-based sorting algorithm,
Alternative sorting algorithms, Convex hull of a 2-D point set, Some implementation
aspects.
4. Sorting and Selection Networks: What is a sorting network? Figures of merit for sorting
networks,Design ofsortingnetworks,Batchersortingnetworks,Otherclassesofsorting
networks, Selection networks. Other Circuit-Level Examples: Searching and dictionary
operations, A tree-structured dictionary machine, Parallel prefix computation, Parallel
prefix networks, The discrete Fourier transform, Parallel architectures for FFT.
5. Sorting on a 2-D Mesh or Torus: Mesh-connected computers, The shear sort algorithm,
Variants of simple shear sort, Recursive sorting algorithms, A non-trivial lower bound,
Achieving the lowerbound,
6. Routing on a 2-D Mesh or Torus: Types of data routing, Useful elementary operations,
Data routing on a 2-D array, Greedy routing algorithms, Other classes of routing
algorithms, Wormholerouting
7. Numerical 2-D Mesh Algorithms: Matrix multiplication, Triangular system of equations,

Page 24 of 94
Tri diagonal system, Arbitrary system of linear equations, Graph algorithms, Image-
processingalgorithms
8. Other Mesh-Related Architectures: Three or more dimensions, Stronger and weaker
connectivity, Meshes augmented with non-local links, Meshes with dynamic links,
Pyramid and multi-grid systems, Meshes oftrees

Reference Material:
• Introduction to Parallel Processing: Algorithms and Architectures by BehroozParhami,
Springer; 1st Edition (January 31, 1999). ISBN-10:0306459701
• Parallel Algorithms and Architectures by Michel Cosnard and Denis Trystram,Intl
Thomson Computer Pr (Sd) (September 1996). ISBN-10:0534946070
• Parallel Processing and Parallel Algorithms: Theory and Computation by
SeyedHRoosta, Springer; 1st Edition (December 10, 1999). ISBN-10:0387987169
• Introduction to Parallel Algorithms by Joseph JaJa, Addison-WesleyProfessional;
1stEdition (April 3, 1992). ISBN-10:0201548569

Page 25 of 94
Course Title: Parallel Processing: Algorithms and Architectures-II
Course Code: COMP5119
Course Structure: Lectures: 3/Labs: 0 Credit Hours:3(3+0)
Prerequisites: COMP5118(Parallel Processing: Algorithms and Architectures – I)

Course Objectives:
The course is the 2nd part of the Parallel Processing. It continue covering the needed perspective,
taxonomy, and analysis tools for the understanding key concepts of parallel processing. It also
delimits the models of parallel processing which has become quite important in recent years.
Course Syllabus:
Hypercubes and Their Algorithms. Sorting and Routing on Hypercubes. Sampler of other
Networks: Performance parameters for networks, Star and pancake networks, Ring-based
networks, Composite or hybrid networks, Hierarchical (multi-level) networks, Multi-stage
interconnection networks. Emulation and Scheduling. Data Storage, Input, and Output. Reliable
Parallel Processing. Shared-Memory MIMD Machines. Data-Parallel SIMD Machines.

Course Outline:
1. Hypercubes and Their Algorithms: Definition and main properties, Embeddings and their
usefulness,Embeddingofarraysandtrees,Afewsimplealgorithms,Matrix multiplication,
Inverting a lower triangular matrix.
2. Sorting and Routing on Hypercubes: Defining the sorting problem, Bitonic sorting,
Routing problems on a hypercube, Dimension-order routing, Broadcasting on a hypercube,
Adaptive and fault-tolerant routing. Other Hypercubic Architectures: Modified and
generalized hypercubes, Butterfly and permutation networks, Plus-or- minus-2i network,
The cube-connected cycles, Shuffle and shuffle-exchangenetworks.
3. Sampler of Other Networks: Performance parameters for networks, Star and pancake
networks, Ring-based networks, Composite or hybrid networks, Hierarchical (multi- level)
networks, Multi-stage interconnection networks. Emulation and Scheduling: Emulations
among architectures, Distributed shared memory, The task scheduling problem, A class of
scheduling algorithms, Some useful bounds for scheduling, Load balancing and
dataflowsystems
4. Data Storage, Input, and Output: Data access problems and caching, Cache coherence
protocols, Multi-threading and latency hiding, Parallel I/O technology, Redundant disk
arrays, Interfaces andstandards.
5. Reliable Parallel Processing: Defects, faults, failures, Defect-level methods, Fault-level
methods, Error-level methods, Malfunction-level methods, Degradation-level methods.
System and Software Issues: Coordination and synchronization, Parallel programming,
Software portability and standards, Parallel operating systems, Parallel file systems,
Hardware/softwareinteraction
6. Shared-Memory MIMD Machines: Variations in shared memory, MIN-based BBN
Butterfly, Vector-parallel Cray Y-MP, Latency-tolerant Tera MTA, CC-NUMA Stanford
DASH, SCI-based Sequent NUMA-Q. Message-Passing MIMD Machines: Mechanisms
for message passing, Reliable bus-based Tandem NonStop, Hypercube-based nCUBE3,
Fat-tree-based Connection Machine, Omega-network-based IBM SP2, Commodity- driven
BerkeleyNOW.
7. Data-Parallel SIMD Machines: Where have all the SIMDs gone? The first

Page 26 of 94
supercomputer: ILLIAC IV, Massively parallel Goodyear MPP, Distributed Array
Processor (DAP), Hypercubic Connection Machine, Multi-connected MasPar MP-2. Past,
Present, and Future: Milestones in parallel processing, Current status, issues, and debates,
TFLOPS, PFLOPS, and beyond, Processor and memory technologies, Interconnection
technologies, The future of parallelprocessing.

Reference Material:
 Introduction to Parallel Processing: Algorithms and Architectures by
BehroozParhami, Springer; 1st Edition (January 31, 1999). ISBN-10:0306459701
 Parallel Algorithms and Architectures by Michel Cosnard and Denis Trystram, Intl
Thomson Computer Pr (Sd) (September 1996). ISBN-10: 0534946070
 Parallel Processing and Parallel Algorithms: Theory and Computation by Seyed H
Roosta, Springer; 1st Edition (December 10, 1999). ISBN-10:0387987169
 Introduction to Parallel Algorithms by Joseph JaJa, Addison-Wesley Professional; 1st
Edition (April 3, 1992). ISBN-10:0201548569

Page 27 of 94
Course Title: Fuzzy Logic
Course Code: COMP5120
Course Structure: Lectures: 3/Labs: 0 Credit Hours:3(3+0)
Prerequisites: None

Course Objectives:
Fuzzy Logic is an important area having multiple applications in Computing. The course will
introduce students with key concepts of Fuzzy Logic.

Course Syllabus:
Introduction Fuzziness, Examples of Fuzziness, Modeling of Fuzziness, Operations on Fuzzy Sets,
Fuzziness as Uncertainty. Algebra of Fuzzy Sets. Fuzzy Quantities, Fuzzy Numbers, Fuzzy
Intervals. t – Norms, Generators of t – Norms, Isomorphisms of t – Norms, Negations, t – Conorms,
Strict De – Morgan Systems, Nilpotent De Morgan Systems, Non-uniqueness ofNegations In Strict
De Morgan Systems. Fuzzy Implications, Averaging Operators and Negations, Averaging
Operators and Nilpotent t-Norms, De Morgan Systems With Averaging Operators, Power of t-
Norms, Sensitivity of Connectives. Fuzzy Relations: Binary Fuzzy Relations, Operations On
Fuzzy Relations, Approximate Reasoning, Approximate Reasoning In Expert Systems, Modulus
Ponens. Universal Approximations: Fuzzy Rule Bases,Desing Methodologies, Approximation
Capabilities. Partial Knowledge: Belief Functions, Indicence Algebras, Monotonicity, Beliefs,
Densities and Allocations, Möbius Transform, Reasoning with Belief Functions, Decision Making
With Belief Functions.

Course Outline:
1. Fuzziness: Introduction, Examples of Fuzziness, Modeling of Fuzziness, Operations on
Fuzzy Sets, Fuzziness asUncertainty
2. Algebra of Fuzzy Sets: Boolean Algebra and Lattices, Equivalence Relations and
Partitions, Composing Mappings, Isomorphism, and Homomorphisms, Alpha Cuts,
Images of Alpha Level Sets.
3. Fuzzy Quantities, Fuzzy Numbers, FuzzyIntervals.
4. Basic Connectives: t – Norms, Generators of t – Norms, Isomorphisms of t – Norms,
Negations, t – Conorms, Strict De – Morgan Systems, Nilpotent De Morgan Systems,
Non-uniqueness of Negations InStrict De MorganSystems.
5. Fuzzy Implications, Averaging Operators and Negations, Averaging Operators and
Nilpotent t-Norms, De Morgan Systems With Averaging Operators, Power of t-Norms,
Sensitivity ofConnectives.
6. Fuzzy Relations: Binary Fuzzy Relations, Operations On Fuzzy Relations, Approximate
Reasoning, Approximate Reasoning In Expert Systems, ModulusPonens.
7. Universal Approximations: Fuzzy Rule Bases, Design Methodologies, Approximation
Capabilities
8. Partial Knowledge: Belief Functions, Incidence Algebras, Monotonicity, Beliefs,
Densities and Allocations, Möbius Transform, Reasoning with Belief Functions, Decision
Making With BeliefFunctions.

References Material:
 AFirstCourseinFuzzyLogicbyHungT.NguyenandElbertA.Walker,Chapmanand Hall/CRC;
Page 28 of 94
3rd Edition (October 6, 2005).ISBN-10: 1584885262
 Introduction to the Basic Principles of Fuzzy Set Theory and some of its Applications
Communication and Cognition, Gent,1991
 Fuzzy Set Theory and its Applications by H. J. Zimmermann, Springer; 4th Edition
(October 15, 2001). ISBN-10:0792374355
 Fundamentals of Fuzzy Sets by Didier DuboisandHenriPrade, Springer; 1st Edition
(January 1, 2000). ISBN-10:079237732X

Page 29 of 94
Course Title: Expert Systems
Course Code: COMP5121
Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
The course concentrates on an analysis of the architecture, knowledge and problem-solving style
of expert system.

Course Syllabus:
Introduction to Expert Systems. Major Characteristics of Expert Systems. Knowledge
Representation. Prolog Programming. Developing Meta Interpreters in Prolog. Inference
Techniques. MYCIN. Rule-Based Expert Systems. Backward-Chaining Rule- Based Systems.
Designing Backward-Chaining Rule-Based Systems. Forward-Chaining Rule- Based Systems.
Designing Forward-Chaining Rule-Based Systems. Frame-Based Expert Systems. Designing a
Frame-Based Expert Systems.

Course Outline:
1. Introduction to ExpertSystems.
2. Major Characteristics of ExpertSystems.
3. KnowledgeRepresentation.
4. PrologProgramming.
5. Developing Meta Interpreters inProlog.
6. Inference Techniques.
7. MYCIN.
8. Rule-Based ExpertSystems.
9. Backward-Chaining Rule-BasedSystems.
10. Designing Backward-Chaining Rule-BasedSystems.
11. Forward-Chaining Rule-BasedSystems.
12. Designing Forward-Chaining Rule-BasedSystems.
13. Frame-Based ExpertSystems.
14. Designing a Frame-Based ExpertSystems.

Reference Material:
 Expert Systems: Design and Development by Durkin, J., Prentice Hall, New York, NY,
1994.
 Introduction To Expert Systems by Peter Jackson, Addison-Wesley; 3rdEdition (December
23, 1998). ISBN-10: 0201876868
 Expert Systems Programming: Practical Techniques for Rule-Based Systems by Ken
Pedersen, Wiley; 1st Edition (May 8, 1989). ISBN-10:0471600695
 Introduction to Artificial Intelligence and Expert Systems by Dan W. Patterson, Prentice
Hall (April 1990). ISBN-10:0134771001
 An Introduction To Expert Systems by James P. Ignizio, Mcgraw-Hill College; (January 1,
1991). ISBN-10:0079097855
 Expert Systems by Nikolopoulos, CRC Press; 1st Edition (January 10, 1997). ISBN-10:
0824799275
Page 30 of 94
Course Title: Stochastic Systems
Course Code: COMP5122
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
The course will introduce students with key concepts of Stochastic Systems.

Course Syllabus:
Overview of Probability. The Axioms of Probability. Repeated Trials. Random Variable.
Distribution and Density Functions, Specific Random Variables, Conditional Distributions,
Asymptotic Approximations for Binomial Random Variable. Functions of One Random Variable.
Two Random Variables. Sequences of Random Variables. Stochastic Convergence and Limit
Theorems, Random Numbers, Meaning and Generation. Statistics.

Course Outline:
1. Overview of Probability: Introduction, Definitions, Probability and Induction, Causality
Versus Randomness.
2. The Axioms of Probability: Set Theory, Probability Space, Conditional Probability.
3. Repeated Trials: Combined Experiments, Bernoulli Trials, Bernoulli’s Theorem and
Games of Chance.
4. The Concept of a Random Variable: Introduction, Distribution and Density Functions,
Specific Random Variables, Conditional Distributions, Asymptotic Approximations for
Binomial RandomVariable.
5. Functions of One Random Variable: The Random Variable g(x), The Distribution ofg(x),
Mean and Variance, Moments, Characteristic Functions.
6. Two Random Variables: Bivariate Distributions, One Function of Two Random Variables,
Two Functions of Two Random Variables, Joint Moments, Joint Characteristic Functions,
Conditional Distributions, Conditional Expected Values.
7. Sequences of Random Variables: General Concepts, Conditional Densities, Characteristic
Functions, and Normality, Mean Square Estimation, Stochastic Convergence and Limit
Theorems, Random Numbers: Meaning and Generation.
8. Statistics: Introduction, Estimation, Parameter Estimation, Hypothesis Testing.

Reference Material:
 Probability, Random Variables and Stochastic Processes by Athanasios Papoulis and S.
UnnikrishnaPillai, McGraw-Hill Europe; 4th Edition (January 1, 2002). ISBN-10:
0071226613
 Dynamics of Stochastic Systems by V. I. Klyatskin, Elsevier Science; 1st Edition
(December 15, 2005). ISBN-10:0444517960
 Stochastic systems by George Adomian, Academic Press (May 28, 1983). ISBN-10:
012410956X

Page 31 of 94
Course Title: Stochastic Processes
Course Code: COMP5123
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: COMP5122 (Stochastic Systems)

Course Objectives:
The course will introduce students with key concepts of Stochastic Processes.

Course Syllabus:
Review of basic probability. Systems with Stochastic Inputs, The Power Spectrum, Discrete- Time
Processes, Continuity, Differentiation, Integration, Shift Operators and StationaryProcesses.
Finite Markov Chains. Branching Processes. Renewal Theory. Markov Processes. Brownian
Motion. Random Walks and Other Applications. Mean Square Estimation.

Course outline:
1. Review of basic probability: Sample space, event, conditional probability, independent
events,Baye‟sformula,randomvariable,distribution,cumulativedistribution,Bernoulli
distribution, binomial distribution, Poisson distribution, geometric distribution, density
function, exponential distribution, gamma distribution, expectation, variance, standard
deviation, joint distribution, covariance, correlation, mean, moment generating function,
Chebyshev’s inequality, Law of large numbers, central limittheorem.
2. General Concepts: Definitions, Systems with Stochastic Inputs, the Power Spectrum,
Discrete-Time Processes, Continuity, Differentiation, Integration, Shift Operators and
Stationary Processes.
3. Finite Markov chains: basics, examples, 1-step and n-step transition probabilities, stationary
distributions, classifying states, periodicity of classes, absorption of transient states,
reversibility, ruin problem.
4. Branching processes: probability generating function, compound distribution, generations
of offspring, extinction, total progeny, generalizations.
5. Renewal theory: sequence generating function, pattern generation, consecutive successes,
mean number of trials, breaking even, mean number of occurrences, comparison of patterns,
and probability of winning, expected duration.
6. Markov processes: Poisson processes, extensions, pure birth processes, Yule process, pure
death processes, birth and death processes, linear case, linear growth with immigration,
M/M/infinity queue, power supply problem, stationary distributions, examples, absorption,
continuous time Markov chains, n-state case.
7. Brownian motion: definition, no drift case, reaching a point, avoiding zero, returning to zero,
drift.
8. Random Walks and Other Applications: Random Walks, Cyclostationary Processes, The
Poisson Sum Formula, The Schwarz Inequality.
9. Mean Square Estimation: Introduction, Prediction.

Reference Material:
 Classical and Spatial Stochastic Processes by Rinaldo B. Schinazi, Birkhäuser; 1999
Edition (May 1, 1999). ISBN-10:1461272033.
 Probability,RandomVariablesandStochasticProcessesbyAthanasiosPapoulisandS.
Page 32 of 94
Unnikrishna Pillai, McGraw-Hill Europe; 4th Edition (January 1, 2002). ISBN-10:
0071226613
 Basic Stochastic Processes: A Course Through Exercises by ZdzislawBrzezniak, Tomasz
Zastawniak, Springer (September 6, 2000). ISBN-10: 3540761756
 Stochastic Processes with Applications by Rabi N. Bhattacharya and Edward C.
Waymire, Society for Industrial & Applied (August 5, 2009).ISBN-10:0898716896
 Stochastic Processes: with Applications to Reliability Theory by Toshio Nakagawa,
Springer; 1st Edition (June 9, 2011). ISBN-10:0857292730

Page 33 of 94
Course Title: Machine Learning
Course Code: COMP5124
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: ITEC4119 (Artificial Intelligence)

Course Objectives:
By the end of this course students will be able to understand the difference between supervised
and unsupervised learning.

Course Outline:
Basic concepts of Machine Learning; Supervised learning; Supervised learning setup. Logistic
regression; Perceptron; Generative learning algorithms; Gaussian discriminant analysis; Support
vector machines; Model selection and feature selection; Evaluating and debugging learning
algorithms; Learning theory; Bias/variance tradeoff; Union and Chernoff/Hoeffding bounds;
Unsupervised learning; K-means Clustering; EM algorithm. Factor analysis; PCA (Principal
components analysis); ICA (Independent components analysis); Reinforcement learning and
control; Bellman equations; Value iteration and policy iteration; Linear quadratic regulation; Q-
learning; Value function approximation
`
Reference Material:
 Pattern Recognition and Machine Learning, Bishop, C.,2006
 Machine Learning, Mitchell, T., McGraw-Hill,(1997)
 The Elements of Statistical Learning, Hastie, T., Tibshirani, R., andFriedman,
 J., Neural NetworksforPattern Recognition, 2009Bishop, C.,1995

Page 34 of 94
Course Title: Neural Networks
Course Code: COMP5125
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
Upon successfully completing the course, the student will be able to:
 Understand generic machine learning terminology
 Understand motivation and functioning of the most common types of deep neural
networks
 Understand the choices and limitations of a model for a given setting
 Apply deep learning techniques to practical problems
 Critically evaluate model performance and interpret results
 Write reports in which results are assessed and summarized in relation to aims, methods
and available data

Course Outline:
1. Introduction (Chapter 1)
2. Neuron Model and Network Architectures (Chapter 2)
3. An Illustrative Example (Chapter 3)
4. Perceptron Learning Rule (Chapter 4)
5. Background on Linear Algebra (Chapters 5 & 6)
6. Supervised Hebbian Learning (Chapter 7)
7. Background on performance surfaces and optimization (Chapters 8 & 9)
8. Widrow-Hoff Learning (Chapter 10)
9. Backpropagation (Chapters 11 & 12)
10. Associative Learning (Chapter 13)
11. Competitive Networks (Chapter 14)

Reference Material:
 Jacek M. Zurada, Introduction to Artificial Neural Systems, PWS Publishing
Company, 1995.
 Simon Haykin, Neural Networks: A Comprehensive Foundation, Macmillan College
Publishing Company, 1994.
 Mohamad H. Hassoun, Foundamentals of Artificial Neural Networks, The MIT Press,
1995.
 LaureneFausett, Fundamentals of Neural Networks: Architectures, Algorithms, and
Applications, Prentice Hall International, Inc., 1994.
 B. D. Ripley, Pattern Recognition and Neural Networks, Cambridge University Press.,
1996.

Page 35 of 94
Course Title: Deep Learning
Course Code: COMP5126
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
Deep Learning is one of the most highly sought after skills in AI. In this course, you will learn the
foundations of Deep Learning, understand how to build neural networks, and learn how to lead
successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM,
Adam, Dropout, BatchNorm, Xavier/He initialization, and more.

Course Outline:
Introduction to Deep learning and Image Classification, Linear classification: SupportVector
Machine, SoftMax (parametric approach, bias trick,hingeloss,cross-entropy loss,L2
regularization) Optimization: Stochastic Gradient Descent (optimization landscapes, local search,
learning rate, analytic/numerical gradient), the Backpropagation algorithm, Introduction to
Neural Networks (Affine Layers, Nonlinear Layers (Sigmoid, ReLU, Tanh, etc), neural net
architectures, representational power), Making Neural Networks Work (Setting up the Data and
preprocessing, weight initialization, regularization, Batch Normalization, dropout, loss functions)
. Implementing Neural Networks inTensorFlow .Advanced Optimization Methods (SGD,
Momentum, Adagrad/RMSprop, ADAM), Convolutional Neural Networks (Architectures,
Convolution / Pooling Layers, spatial arrangement, layer patterns, layer sizing patterns) .
Convolutional Neural Network case studies (AlexNet, VGGNet, Inception, ResNet),
Understanding and Visualizing Convolutional Neural Networks (tSNEembeddings, deconvnets,
data gradients, fooling Convent’s, human comparisons), Transfer Learning and Fine-tuning
Convolutional Neural Networks, Convent’s For Localization, Detection, Segmentation,
Implementing ConvnetsinTensor flow . Introduction to Natural Language Processing and simple
Word Vector representations: word2vec (CBOW and Skip- Gram), Recurrent neural networks
(RNNs and LSTMs) and their architectures, Applications of RNN in NLP tasks (Name Entity
Recognition, POS Tagging, etc.), Sequence to Sequence Networks (Seq2Seq), Memory Networks,
Introduction to Chatbots, IntroductiontoReinforcement Learning.
Reference Material:
 Deep Learning, YoshuaBengio, Ian Goodfellow, Aaron Courville, MITPress
 Neural networks and deeplearning Hands‑On Machine Learning with Scikit‑Learn and
TensorFlow

Page 36 of 94
Course Title: Natural Language Processing
Course Code: COMP5127
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
 To introduce the fundamental concepts and techniques in textual natural language
processing
 To provide experience in the implementation and evaluation of NLP algorithms
 To introduce NLP resources and application areas

Course Outline:
1. Basic Text Processing
2. Edit Distance and Text Similarity
3. Language Modeling
4. Text Classification and Sentiment Analysis
5. Information Extraction
6. POS Tagging
7. Parsing
8. Semantics and Text Resources
9. Question Answering

Reference Material:
 Speech and Language Processing, 3rd Edition, Jurafsky and Martin, Stanford University,
https://web.stanford.edu/~jurafsky/slp3/, 2017.
 Natural Language Processing with Python, Bird and Klein, O’Reilly Media, 2009.

Page 37 of 94
Course Title: Knowledge-Based Systems
Course Code: COMP5128
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
At the end of the course the participant will:
 Be able to understand the knowledge-based systems representation.
 Be able to understand automatic reasoning.
 Be able to understand inductive and deductive learning.
 Be able to implement a small knowledge- based system

Course Outline:
Introduction: Knowledge-Based Systems (KBS), Expert Systems (ES),
Data/Information/Knowledge. Knowledge Representation: Semantic Nets, Rules, Frames, Scripts,
Logic, RDF. Reasoning and Inference: Predicate Logic, Description Logics, Inference Methods,
Resolution. Reasoning and Inference: Inference Methods, Resolution. ECLiPSe-specific Language
features: Structure, Iteration, Loops, I/O. Reasoning with Uncertainty: Probability, Bayesian
Decision Making, Dempster-Shafer Theory. Reasoning with Uncertainty: Approximate Reasoning:
Fuzzy Logic, Midterm Exam. Semantic Web Technologies. Semantic WebTechnologies. KBS Case
Studies.

Reference Material:
 Engineering of Knowledge-Based Systems. Avelino J. Gonzalez, Douglas D. Dankel,
Prentice Hall (2000), ISBN-10: 0130189731.
 Expert Systems: Principles and Programming, Fourth Edition.Joseph C. Giarratano,
Gary D. Riley, 2004, ISBN-10: 0534384471

Page 38 of 94
Course Title: Big Data Analytics
Course Code: COMP5129
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: ITEC4124 (Data Mining)

Course Objectives:
Access and Process Data on Distributed File System. Manage Job Execution in Hadoop
Environment. Develop Big Data Solutions using Hadoop Eco System. Analyze Infosphere Big
Insights Big Data Recommendations.

Course Outline:
Introduction Hadoop and Map Reduce, Association Rules: Frequent item sets and association rule
mining, similar item sets and LSH, Near Neighbor Search in High Dimensional Data,
Recommender systems, Link analysis: Personalized PageRank, Hubs and Authorities, Web spam
and Trust Rank, Clustering, Descriptive analytics -- clustering, Dimensionality reduction: SVD a,
Machine learning with massive datasets, Mining streaming data, Analysis of very large graphs,
Time series data and streaming, Other application areas, Proximity search on Graphs: Random
Walks with Restarts, Web Advertising,

Reference Material:
 Mining of Massive Datasets, 1st Edition, AnandRajaraman and Jeffrey Ullman.

Page 39 of 94
Course Title: Bioinformatics
Course Code: COMP5130
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
Introduce students to the current bioinformatics concepts and their implementations.

Course Syllabus:
The genetic material. Gene structure and information content. Open reading frames, Introns and
exons. Protein structure and function. The nature of chemical bonds. Electronegativity,
Hydrophilicity and hydrophobicity. Molecular biology tool. Polymerase chain reaction (PCR),
DNA sequencing. Genomic information content. Data Searches and Pairwise Alignments.
Substitution Patterns. Estimating substitution numbers. Kimura's two-parameter model, Models
with even more parameters, Substitutions between protein sequences. Variations in substitution
rates between genes. Molecular clocks. Distance-Based Methods of Phylogenetics. Distance
matrix methods. Character-Based Approaches to Phylogenetics: Parsimony, Strategies for faster
searches, Consensus trees. Tree confidence. Molecular phylogenies. Genomics and Gene
Recognition. Prokaryotic gene structure. GC-content. Prokaryotic gene density. Eukaryotic
genomes. Eukaryotic gene structure. Open reading frames. GC-content. Gene expression.
Transposition. Repetitive elements. Eukaryotic gene density. Protein Folding: Polypeptide
composition. Secondary structure, Tertiary and quaternary structure, Protein folding, Structure
prediction, Threading. Proteomics: From genomes to proteomes. Protein classification,
Experimental techniques. Inhibitors and drug design. Ligand screening. Docking. Database
screening. X-ray crystal structures. Empirical methods and prediction techniques. Postranslational
modification prediction.

Course Outline:
1. Molecular Biology And Biological Chemistry: The Genetic Material: Nucleotides,
Orientation, Base Pairing, The Central Dogma Of Molecular Biology. Gene Structure and
Information Content: Promoter Sequences, The Genetic Code. Open Reading Frames,
Introns and Exons. Protein Structure and Function: Primary Structure, Secondary, Tertiary
and Quaternary Structure. The Nature of Chemical Bonds: Anatomy of An Atom, Valence.
Electronegativity, Hydrophilicity and Hydrophobicity. Molecular Biology Tool:
Restriction Enzymes, Gel Electrophoresis, Blotting, Hybridization and Microarrays,
Cloning. Polymerase Chain Reaction (PCR), DNA Sequencing. Genomic Information
Content: C Value Paradox, Reassociation Kinetics.
2. DataSearchesandPairwiseAlignments:DotPlots.SimpleAlignments.Scoring.Gaps: Simple
Gap Penalties, Origination and Length Penalties. Scoring Matrices. Dynamic Programming:
The Needleman AndWunsch Algorithm. Local and Global Alignments: Global and Semi-
Global Alignments, The Smith-Waterman Algorithm. Database Searches: BLAST and Its
Relatives, Other Algorithms. Multiple Sequence Alignments.
3. Substitution Patterns: Patterns of Substitutions Within Genes: Mutation Rates. Functional
Constraint. Synonymous Vs. Non-synonymous Changes, Indels and Psuedogenes,
Substitutions Vs. Mutations, Fixation. Estimating Substitution Numbers: Jukes/Cantor
Model, Transitions and Transversions. Kimura's Two-Parameter Model, Models

Page 40 of 94
WithEven More Parameters, Substitutions Between Protein Sequences. Variations In
Substitution Rates Between Genes. Molecular Clocks: Relative Rate Tests, Causes Of Rate
Variation In Lineages. Evolution in Organelles.
4. Distance-Based Methods of Phylogenetics: History of Molecular Phylogenetics.
Advantages to Molecular Phylogenies. Phylogenetic Trees: Terminology of Tree
Reconstruction, Rooted and Unrooted Trees, Gene Vs. Species Trees, Character and
Distance Data. Distance Matrix Methods: UPGMA. Estimation of Branch Lengths.
Transformed Distance Method, Neighbor's Relation Method, Neighbor-Joining Methods.
Maximum Likelihood Approaches. Multiple SequenceAlignments.
5. Character-Based Approaches to Phylogenetics: Parsimony: Informative and
Uninformative Sites, Unweighted Parsimony, Weighted Parsimony. Inferred Ancestral
Sequences. Strategies for Faster Searches: Branch and Bound, Heuristic. ConsensusTrees.
Tree Confidence: Bootstrapping, Parametric Tests. Comparison of Phylogenetic Methods.
Molecular Phylogenies: The Tree of Life, Human Origins.
6. Genomics and Gene Recognition: Prokaryotic Genomes. Prokaryotic Gene Structure:
Promoter Elements, Open Reading Frames, Conceptual Translation, Termination
Sequences. GC-Content. Prokaryotic Gene Density. Eukaryotic Genomes. Eukaryotic
Gene Structure: Promoter Elements, Regulatory Protein Binding Sites. Open Reading
Frames: Introns And Exons, Alternative Splicing, Cpg Islands. GC-Content: Isochores,
Codon Usage Bias, Gene Expression: Cdnas And Ests, Serial Analysis of Gene Expression
(SAGE), Microarrays. Transposition. Repetitive Elements. Eukaryotic Gene Density.
7. Protein Folding: Polypeptide Composition: Amino Acids. Backbone Flexibility, Phi and
Psi. Secondary Structure: Accuracy of Predictions, Chou-Fasman/GOR Method. Tertiary
and Quaternary Structure: Hydrophobicity, Disulfide Bonds, Active Structures Vs. Most
Stable Structures. Protein Folding: Lattice Models, Off-Lattice Models, Energy Functions
and Optimization. Structure Prediction: Comparative Modeling, Threading: Reverse
Protein Folding. Predicting RNA Secondary Structures.
8. Proteomics: From Genomes to Proteomes. Protein Classification: Enzyme Nomenclature,
Families and Super-Families, Folds. Experimental Techniques: 2D Electrophoresis, Mass
Spectrometry, Protein Microarrays. Inhibitors and Drug Design. Ligand Screening:
Docking, Database Screening. X-Ray Crystal Structures. Empirical Methods and
Prediction Techniques. Postranslational Modification Prediction: Protein Sorting,
Proteolytic Cleavage, Glycosylation, Phosporylation and Sulfation.

Textbook(s):
 Fundamental Concepts of Bioinformatics by Dan E. Krane and Michael L. Raymer,
Benjamin Cummings; 1st Edition (September 22, 2002). ISBN-10:0805346333

References Material:
 Bioinformatics For Dummies by Jean-Michel Claverie Ph. D. and Cedric Notredame
Ph.D., For Dummies; 2nd Edition (December 18, 2006). ISBN-10:0470089857
 Essential Bioinformatics by Jin Xiong, Cambridge University Press; 1 Edition (March
13, 2006). ISBN-10:0521600820
 Introduction to Bioinformatics by Arthur Lesk, Oxford University Press, USA; 3rd
Edition (June 2, 2008). ISBN-10: 0199208042

Page 41 of 94
Course Title: Multimedia Systems Theory & Principles
Course Code: COMP5131
Course Structure: Lectures: 3/ Lab: 0 Credit Hours:3(3+0)
Prerequisites: None

Course Objectives:
The course introduces students with theory and principles of multimedia contents constituting
multimedia system.

Course Syllabus:
Introduction to Multimedia and Tools, Graphics and Image Data Representations, Color in Image
and Video, Basics of Digital Audio, Lossless Compression Algorithms, Lossy Compression
Algorithms, Image Compression Standards, Basic Video Compression Techniques, MPEG Video
Coding MPEG-1, 2, 4-7; Basic Audio Compression Techniques, MPEG Audio Compression.

Course Outline:
2. Introduction to Multimedia: What is Multimedia? Multimedia and Hypermedia,Overview
of Multimedia Software Tools.
3. Graphics and Image Data Representations: Graphics/Image Data Types, Popular File
Formats.
4. Color in Image and Video: Color Science, Color Models in Images, Color Models in Video
Fundamental Concepts in Video: Types of Video Signals, Analog Video, Digital Video.
5. Basics of Digital Audio: Digitization of Sound, MIDI: Musical Instrument Digital
Interface, Quantization and Transmission of Audio.
6. Lossless Compression Algorithms: Introduction, Basics of Information Theory, Run-
Length Coding, Variable-Length Coding (VLC), Dictionary-Based Coding, Arithmetic
Coding, Lossless Image Compression.
7. Lossy Compression Algorithms: Distortion Measures, The Rate-Distortion Theory,
Quantization, Transform Coding, Wavelet-Based Coding, Wavelet Packets.
8. Image Compression Standards: The JPEG Standard, The JPEG2000 Standard, The JPEG-
LS Standard.
9. Basic Video Compression Techniques: Introduction to Video Compression, Video
Compression Based on Motion Compensation, Search for Motion Vectors, H.261, H.263.
10. MPEG Video Coding MPEG-1 and2.
11. MPEG Video Coding MPEG-4,7.
12. Basic Audio Compression Techniques: ADPCM in Speech Coding, G.726 ADPCM,
Vocoders.
13. MPEG Audio Compression: Psychoacoustics, MPEG Audio.

Reference Material:
 Fundamentals of Multimedia by Z. M. Li and M. S. Drew, Prentice Hall (2004), ISBN:
0- 13-127256-X
 Digital Multimedia by N. Chapman and J. Chapman. 2nd Edition, Wiley 2004, ISBN: 0-

Page 42 of 94
470-85890-7
 The Technology of Video and Audio Streaming by David Austerberry, Focal Press;
2ndEdition (2004). ISBN-10: 0240805801
 Multimedia Security: Watermarking, Steganography, and Forensics by Frank Y. Shih,
CRC Press; 1st Edition (2012), ISBN-10:1439873313
 Multimedia Computing by Daniel Cunliffe and Geoff Elliott, Lexden Publishing Ltd
(2005). ISBN-10: 1904995055
 Multimedia Foundations: Core Concepts for Digital Design by Vic Costello, Ed
Youngblood and Susan Youngblood, Focal Press; 1st Edition (2012). ISBN-10:
0240813944

Page 43 of 94
Course Title: Digital Image Processing
Course Code: COMP5132
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
This course provides an introduction to basic concepts, methodologies and algorithms of digital
image processing.

Course Syllabus:
Introduction to Digital Image Processing. Fundamental Steps in Digital Image Processing,
Components of an Image Processing System, Elements of Visual Perception, Light and the
Electromagnetic Spectrum, Image Sensing and Acquisition. Image Sampling and Quantization,
Some Basic Relationships between Pixels, An Introduction to the Mathematical Tools Used in
Digital Image Processing. Intensity Transformations and Spatial Filtering. Spatial Frequency,
Fourier Theory, The Discrete Fourier Transform, Investigating Spectra. Filtering of Images,
Deconvolution. Color Fundamentals, Color Models. Storage Media, File Formats. Segmentation
Fundamentals, Point Line and Edge Detection. Non-contextual techniques. Morphological Image
Processing Introduction. Compound Operations, Morphological Filtering, Greyscale Morphology.
Image Compression. Representation, Boundary Descriptors, Regional Descriptors, Use of
Principal Components for Description, Relational Descriptors.

Course Outline:
1. What Is Digital Image Processing? The Origins of Digital Image Processing, Examples of
Fields that Use Digital Image Processing.
2. Fundamental Steps in Digital Image Processing, Components of an Image Processing
System, Elements of Visual Perception, Light and the Electromagnetic Spectrum, Image
Sensing and Acquisition.
3. Image Sampling and Quantization, Some Basic Relationships between Pixels, An
Introduction to the Mathematical Tools Used in Digital Image Processing.
4. Intensity Transformations and Spatial Filtering Background, Some Basic Intensity
Transformation Functions, Histogram Processing, Fundamentals of Spatial Filtering.
5. Smoothing Spatial Filters, Sharpening Spatial Filters, Combining Spatial Enhancement
Methods, Using Fuzzy Techniques for Intensity Transformations and Spatial Filtering.
6. Spatial Frequency, Fourier Theory, the Discrete Fourier Transform, Investigating Spectra.
7. Filtering of Images, Deconvolution.
8. Color Fundamentals, Color Models.
9. Storage Media, File Formats, The PBM, PGM, PPM Formats, The Portable Network
Graphics (PNG)Format.
10. Segmentation Fundamentals, Point Line and Edge Detection.
11. A Simple Non-contextual Technique: Thresholding, Contextual Techniques,
Segmentation using Other Image Properties.
12. Morphological Image Processing Introduction, Basic Concepts, Fundamental Operations.
13. Compound Operations, Morphological Filtering, Greyscale Morphology.
14. Image Compression Introduction, Redundancy, Performance Characterisation, Lossless
Compression Techniques, Lossy Compression Techniques, Compression of Moving

Page 44 of 94
Images.
15. Representation, Boundary Descriptors, Regional Descriptors, Use of Principal Components
for Description, Relational Descriptors.

Reference Material:
 Digital Image Processing by Rafael C. Gonzalez, PrenticeHall,3rd Edition,
(2008), ISBN0-13-168728-x
 Digital Image Processing a practical Introduction using Java by Nick Efford,
Addison Wesley,(2000).
 The Image Processing Handbook by John C. Russ, Taylor &Fransic, 5th Edition,
(2007). ISBN 13:978‑0‑8493‑7254‑4

Page 45 of 94
Course Title: Computer Vision
Course Code: COMP5133
Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
The course concentrates on the knowledge of Computer Vision and its importance in Computing
area having multiple applications.

Course Syllabus:
Introduction to Computer Vision, Image formation, Processing, Feature Detection andMatching,
Alignment, Image Stitching, Dense Motion Estimation, Structure from Motion, Recognition,
Computational Photography, Stereo Correspondence, 3D Reconstruction, Image- based
Rendering, Statistical Texture Description, Methods Based on Spatial Frequencies, Laws‟ Texture
Energy Measures, Texture Recognition Method Applications.

Course Outline:
1. Computer Vision an Introduction.
2. Image formation.
3. Image Processing.
4. Feature Detection and Matching.
5. Feature-based Alignment.
6. Image Stitching.
7. Dense Motion Estimation.
8. Structure from Motion.
9. Recognition.
10. Computational Photography.
11. Stereo Correspondence.
12. 3DReconstruction.
13. Image-based Rendering.
14. Statistical Texture Description, Methods Based on Spatial Frequencies, Co- occurrence
Matrices, Edge Frequency, Primitive Length (Run Length).
15. Laws‟ Texture Energy Measures, Fractal Texture Description,
MultiscaleTextureDescription – Wavelet Domain Approaches, other Statistical
Methods of Texture Description, Syntactic Texture Description Methods, Shape Chain
Grammars, Graph Grammars, Primitive Grouping in Hierarchical Textures, Hybrid
Texture Description methods, Texture Recognition Method Applications.

Reference Material:
 Computer Vision Algorithms and Applications by Richard Szeliski, Springer, (2011),
ISBN-13:978-1848829343
 Image Processing, Analysis, and Machine Vision by Milan Sonka, CL Engineering,
3rd Edition, (2008), ISBN-13: 9780495082521
 Computer Vision: Models, Learning, and Inference by Dr Simon J. D. Prince,
Cambridge University Press, (2012), ISBN-13:978-1107011793

Page 46 of 94
Course Title: Text Mining
Course Code: COMP5135
Course Structure: Lectures: 3/Labs:0
Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
 Describe basic concepts and methods in text mining, for example text representation, text
classification and clustering, and topic modeling;
 Use the text mining concepts and methods to model real-world problems into text mining
tasks, develop technical solutions, and evaluate the effectiveness of the solutions.
 Communicate text mining process, result, and major findings to various audience including
both experts and laypersons.

Course Outline:
Introduction to text mining, Structuring Text, Normalization, Stop words, Stemming, part-of-
speech tagging, phrase chunking, relation finding, and named-entity recognition. Document-Term
Matrix Formation Processing, and Manipulations, Latent Semantic Indexing, Searching, Topic
Modeling, Clustering and Classification, Spam Detection. Using different software tools such as
Weka, GATE, covering programming and tuning existing modules.

Reference Material:
 Mining Text Data. Charu C. Aggarwal and ChengXiangZhai, Springer, 2012.2.
 Speech & Language Processing. Dan Jurafsky and James H Martin, Pearson EducationIndia,
2000.3.
 Introduction to Information Retrieval. Christopher D. Manning, PrabhakarRagha-van, and
HinrichSchuetze, Cambridge University Press, 2007.

Page 47 of 94
Course Title: Web Mining
Course Code: COMP5134
Course Structure: Lectures: 3/Labs:0
Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
 Introduce students to the basic concepts and techniques of Information Retrieval, Web
Search, Data Mining, and Machine Learning for extracting knowledge from the web.
 Develop skills of using recent data mining software for solving practical problems of Web
Mining.
 Gain experience of doing independent study and research.

Course Outlines:
1. Data Mining and Knowledge Discovery including The KDD process and methodology, Data
preparation for knowledge discovery, Overview of data mining techniques, Market basket
analysis, Classification and prediction, Clustering, Memory-based reasoning, Evaluation and
Interpretation.
2. Web Usage Mining Process and Techniques including Data collection and sources of data,
Data preparation for usage mining, Mining navigational patterns, Integrating e-commerce
data, Leveraging site content and structure, User tracking and profiling, E-Metrics:
measuring success in e-commerce, Privacy issues.
3. Web Mining Applications and Other Topics including Data integration for e-commerce,
Web personalization and recommender systems, Web content and structure mining, Web
data warehousing, Review of tools, applications, and systems.

Reference Materiel:
 Data Mining Techniques for Marketing, Sales, and Customer Relationship Management,
Third Edition, by Michael Berry and Gordon Linoff, John Wiley, 2011.
 Data Mining: Practical Machine Learning Tools and Techniques, by Ian Witten and Eibe
Frank, 3rd Ed., Morgan Kaufmann, 2011
 Web Data Mining: Exploring Hyperlinks, Content, and Usage Data, by Bing Liu, 2nd
Edition, , Springer, 2011

Page 48 of 94
Database Electives

Page 49 of 94
Course Title: Information Retrieval
Course Code: COMP5136
Course Structure: Lectures: 3/ Labs: 0 Credit Hours: 3(3+0)
Pre-requisites: None

Course Objectives:
The deals with IR representation, storage, organization & access to information items

Course Syllabus:
Basic Concepts of IR, IR System Block, Diagram. Automatic Text Analysis, Indexing and
Classification. Measures of Association. Clustering Algorithms. File Structures. IR Models.Search
Strategies. Performance Evaluation. Online IR Systems &Interfaces Standards. Taxonomy and
Ontology. Distributed and Parallel IR. Query Processing. Multimedia IR Models & Languages-
Data Modeling Techniques to Represent Audio and Visual Document, Query Languages Indexing
& Searching- Generic Multimedia Indexing Approach, Query Databases of Multimedia
Documents, Display the Results of Multimedia Searches, One Dimensional Time Series, Two
Dimensional Color Images, Automatic Feature Extraction. Searching the Web, Challenges,
Characterizing the Web, Search Engines, Browsing, Mata Searchers, Web Crawlers, Robot
Exclusion, Web Data Mining, Metacrawler, Collaborative Filtering, Web Agents (Web Shopping,
Bargain Finder,..), Economic, Ethical, Legal and Political Issues.

Course Outline:
1. Introduction: Basic Concepts of IR, Data Retrieval & Information Retrieval, IR System
Block, Diagram. Automatic Text Analysis, Luhn's Ideas, Conflation Algorithm, Indexing
and Index Term Weighing, Probabilistic Indexing, Automatic, Classification. Measures
of Association, Different Matching Coefficient, Classification Methods, Cluster
Hypothesis. Clustering Algorithms, Single Pass Algorithm, Single Link Algorithm,
Rochhio's Algorithm and Dendograms.
2. File Structures, Inverted File, Suffix Trees & Suffix Arrays, Signature Files, Ring
Structure, IR Models, Basic Concepts, Boolean Model, Vector Model, and Fuzzy Set
Model. Search Strategies, Boolean Search, Serial Search, and Cluster based Retrieval,
Matching Function
3. Performance Evaluation- Precision and Recall, Alternative Measures Reference Collection
(TREC Collection), Libraries &Ibliographical System- Online IR System, Opacs, Digital
Libraries - Architecture Issues, Document Models, Representation &Access, Prototypes,
Projects & Interfaces, Standards.
4. Taxonomy and Ontology: Creating Domain Specific Ontology, Ontology Life Cycle,
Distributed and Parallel IR: Relationships Between Documents, Identify Appropriate
Networked Collections, Multiple Distributed Collections Simultaneously, Parallel IR –
MIMD, Architectures, Distributed IR – Collection, Partitioning, Source Selection, Query
Processing.
5. Multimedia IR Models & Languages- Data Modeling, Techniques to Represent Audio and
Visual Document, Query Languages Indexing & Searching- Generic Multimedia Indexing
Approach, Query Databases of Multimedia Documents, Display the Results of Multimedia
Searches, One Dimensional Time Series, Two Dimensional Color Images, Automatic
Feature Extraction.

Page 50 of 94
6. Searching the Web, Challenges, Characterizing the Web, Search Engines, Browsing, Mata
Searchers, Web Crawlers, Robot Exclusion, Web Data Mining, Metacrawler,
Collaborative Filtering, Web Agents (Web Shopping, Bargain Finder,..), Economic,
Ethical, Legal and Political Issues.
Reference Material:
 Modern Information Retrieval: The Concepts and Technology behind Search by Ricardo
Baeza-Yates and BerthierRibeiro-Neto, Addison-Wesley Professional; 2nd Edition (February
10, 2011). ISBN-10:0321416910
 The Geometry of Information Retrieval by C. J. van Rijsbergen, Cambridge University Press
(September 13, 2004). ISBN-10:0521838053
 Managing Gigabytes: Compressing and Indexing Documents and Images by Ian H. Witten,
Alistair Moffat, & Timothy C. Bell, Morgan Kaufmann; 1st Edition (May 17, 1999)
 Information Retrieval: Algorithms and Heuristics by D. Grossman and O. Frieder, Springer;
2nd Edition (December 20, 2004). ISBN-10:1402030045
 An Introduction to Search Engines and Web Navigation by Mark Levene, Wiley; 2ndEdition
(October 18, 2010). ISBN-10:047052684X
 Multimedia information System by V. S. Subrahamanian, Satish K. Tripathi, Springer,
(December 3, 2010). ISBN-10:1441950427
 Multimedia mining A highway to intelligent multimedia documents by ChabaneDjeraba,
Springer; 1st Edition (November 30, 2002). ISBN-10:1402072473
 IntroductiontoInformationRetrievalbyChristopherD.Manning,PrabhakarRaghavan,
&HinrichSchütze, Cambridge University Press; 1st Edition (July 7, 2008). ISBN-10:
0521865719
 Search Engines: Information Retrieval in Practice by Bruce Croft, Donald Metzler, & Trevor
Strohman, Addison-Wesley; 1st Edition (February 16, 2009). ISBN-10: 0136072240
 Information Retrieval: Data Structures and Algorithms by William B. Frakesand Ricardo
Baeza-Yates, Prentice Hall; 1st Edition (June 22, 1992). ISBN-10: 0134638379

Page 51 of 94
Course Title: Multimedia Databases
Course Code: COMP5137
Course Structure: Lectures: 3/Labs: Credit Hours: 3(3+0)
Prerequisites: COMP2114 (Database Systems)

Course Syllabus:
Introduction to Multimedia Databases, Multimedia Data, The Human Sensory System and
Multimedia, Introduction to SQL and Multimedia, Querying Multimedia Data, Modeling
Multimedia Databases, Using Multimedia Metadata, Multimedia Database Architecture and
Performance, Multimedia and the Internet, Quality-of-service Issues, Dealing with Text
Databases, Content-dependent Metadata, Dealing with Image Databases, Dealing with Video
Databases.

Course Outline:
1. Introduction to Multimedia Databases: Introduction, Essential of Database Systems,
Multimedia Data, Multimedia Applications.
2. Multimedia Data: Multimedia Data Size, Real-time Nature of Multimedia, Problems with
Semantic Nature of Multimedia Data.
3. The Human Sensory System and Multimedia: Human Information Processing, Human Brain
and Multimedia Information, The Senses, Converting Data into Sensory Perception.
4. An Introduction to SQL and Multimedia: Introduction to SQL, Methods Using PL/SQL
Stored Procedures, Manipulating Large Objects.
5. Querying Multimedia Data: Manipulating Multimedia Data, Classification Problem.
6. Modeling Multimedia Databases: Issues of Designing Multimedia Database Management
Systems, Semantic Data Modeling, Object-oriented Design, Object Methods, Object-
relational Approach.
7. Using Multimedia Metadata: Classifying Metadata, Generating and Extracting Metadata, The
Role of Metadata Standards, Digital Rights Management, Domain-dependent Metadata,
Developing Ontologies.
8. Multimedia Database Architecture and Performance: Introduction to Multimedia Architecture
Requirements, Performance Issues in Specific Implementations, Content Management.
9. Multimedia and the Internet: The Internet, Delivery of Multimedia Data, Media Streams,
Network Protocols, User Datagram Protocol.
10. Quality-of-service Issues - Internet Service Models, Packets and Datagrams - Sequence and
Loss, Network Architecture, Requirements of Applications Involving Multicasting and
Interactivity.
11. Dealing with Text Databases: Querying Character Data Using SQL, Statistical Methods for
Text Analysis, Querying Multimedia Text.
12. Content-dependent Metadata, Metadata Standards, Indexing Technologies for Text.
13. Dealing with Image Databases: Technologies for Image Processing, The Role of Feature
Extraction, Retrieval Methods, Image Analysis and Object Recognition, Image Classification,
Image Database Software, Developing Image Media Databases.
14. Dealing with Video Databases: Video Analysis and Segmentation, Storage of Video Objects,
Disk Scheduling, Dealing with Moving Images, Metadata for Speech, Metadata for Video,
Manipulating Video Data, Video Query Process, Video Applications.

Page 52 of 94
Reference Material:
 Multimedia Databases: An Object-Relational Approach by Lynne Dunckley, Pearson
Education (January 31, 2003). ISBN-10:0201788993
 Multimedia Database Systems: Design and Implementation Strategies by Kingsley C.
Nwosu, B. Thuraisingham and P. Bruce Berra, Springer; (October 28, 2011). ISBN-10:
146138060X
 Principles of Multimedia Database Systems by V.S. Subrahmanian, Morgan Kaufmann
Publishing Company, San Fransisco, CA. 1998. ISBN: 1558604669.
 Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21 by
HaraldKosch, CRC Press; 1st Edition (November 24, 2003). ISBN-10:0849318548
Multimedia Data Mining: A Systematic Introduction to Concepts and Theory by Zhongfei
Zhang and Ruofei Zhang, Chapman and Hall/CRC; 1st Edition (December 2, 2008). ISBN-
10:1584889667

Page 53 of 94
Course Title: Distributed Database Systems
Course Code: COMP5138
Course Structure: Lectures: 3 / Labs: Credit Hours: 3(3+0)
Prerequisites: COMP2114 (Database Systems)

Course Syllabus:
Distributed Data Processing, Distributed Database Systems, Design Issues, Distributed DBMS
Architecture. Distributed Database Design. Database Integration. Data and Access Control. Query
Processing. Query Decomposition and Data Localization. Optimization of Distributed Queries.
Multi-database Query Processing. Transaction Management. Distributed Concurrency Control.
Distributed DBMS Reliability. Data Replication.

Course Outline:
1. Distributed Data Processing, Distributed Database Systems, Data Delivery Alternatives,
Promises of DDBSs, Complications Introduced by Distribution, Design Issues, Distributed
DBMS Architecture.
2. Distributed Database Design: Top-Down Design Process, Fragmentation, Allocation,
Data Directory.
3. Database Integration: Bottom-Up Design Methodology, Schema Matching, Schema
Integration, Schema Mapping, Data Cleaning.
4. Data and Access Control: View Management, Data Security, Semantic Integrity Control.
5. Overview of Query Processing: Query Processing Problem, Objectives of Query
Processing, Complexity of Relational Algebra Operations, Characterization of Query
Processors, Layers of Query Processing.
6. Query Decomposition and Data Localization: Query Decomposition, Localization of
Distributed Data.
7. Optimization of Distributed Queries: Query Optimization, Centralized Query
Optimization, Join Ordering in Distributed Queries, Distributed Query Optimization.
8. Multi-database Query Processing: Issues in Multi-database Query Processing, Multi-
database Query Processing Architecture, Query Rewriting Using Views, Query
Optimization and Execution, Query Translation and Execution.
9. Transaction Management: Definition of a Transaction, Properties of Transactions, Types
of Transactions.
10. Distributed Concurrency Control: Serializability Theory, Taxonomy of Concurrency
Control Mechanisms, Locking-Based Concurrency Control Algorithms, Timestamp-
Based Concurrency Control Algorithms, Optimistic Concurrency Control Algorithms,
“Relaxed” Concurrency Control.
11. Distributed DBMS Reliability: Reliability Concepts and Measures, Failures in Distributed
DBMS, Local Reliability Protocols, Distributed Reliability Protocols, Dealing with Site
Failures, Network Partitioning, Architectural Considerations.
12. Data Replication: Consistency of Replicated Databases, Update Management Strategies,
Replication Protocols, Group Communication, Replication and Failures, Replication
Mediator Service.

Page 54 of 94
Reference Material:
 Principles of Distributed Database Systems by M. Tamer Özsu and Patrick Valduriez,
Springer, 3rd Edition, (March 2, 2011). ISBN-10:1441988335
 Distributed Database Management Systems: A Practical Approach by Saeed K. Rahimi,
and Frank S. Haug, Wiley-IEEE Computer Society Pr; 1st Edition (May 23, 2011). ASIN:
B005CDYQSC
 Distributed Systems: Principles and Paradigms by Andrew S. Tanenbaum and Maarten
van Steen, Prentice Hall; US Edition (January 15, 2002). ISBN-10:0130888931
 Distributed Systems: Concepts and Design by Jean Dollimore, Tim Kindberg and George
Coulouris, Addison Wesley; 4th Edition (May 20, 2005). ISBN-10:0321263545
 Distributed Database Systems by Chhanda Ray, Pearson (October 3, 2012). ASIN:
B009NEMZ0W

Page 55 of 94
Course Title: Advanced Database Systems
Course Code: COMP5139
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: COMP2114 (Database Systems)

Course Objectives:
Upon successful completion of this module, candidates will be able to demonstrate their
competence in, and their ability to:
• Critically assess new developments in database technology
• Interpret and explain the impact of emerging database standards
• Evaluate the contribution of database theory to practical implementations of database
management systems.

Course Outline:
Advance Normal Forms such as Multivalued Dependency, 4th and 5 th normal forms, Domain Key
normal form, Hierarchical structure of DBMS, Storage and File Organization, Storage Indexing and
Hashing, Relational Calculus, Query Processing Transaction processing, ACID properties,
Serializability, Recoverability, Concurrency control and Recovery, Protocols (Lock-based, Graph-
based, Timestamp-based, Validation-based), Deadlock Handling techniques andprevention, Log-
based Recovery, Failure with loss of Nonvolatilestorage.

Reference Material:
 Fundamentals of Database Systems, By R. Elmasri and S. Navathe, 6th Edition,2011.
 Database Management Systems, By R. Rama krishnan, J. Gehrke,3rd Edition,2003.
 Database System Concepts, By Abraham Silberschatz, Henry F. KorthS. Sudarshan, 6th
Edition,2010.
 Database Systems, The Complete Book. By H. Garcia-Molina, J. D. Ullman, and J. Widom;
Prentice Hall,2002.
 Database Systems, C. J. Date, 8th Edition, 2004

Page 56 of 94
Course Title: Distributed Operating System
Course Code: COMP5140
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: COMP2115 (Operating Systems)

Course Objectives:
The course presents advanced concepts related to special classes of operating systems, with
particular regards to distributed Operating Systems.

Course Syllabus:
Introduction and Review of Operating Systems, Communication, Processes, Threads, Naming,
Synchronization, Consistency and Replication, Fault Tolerance, Security, Distributed Object-
Based Systems: CORBA, Distributed COM, GLOBE, Comparison of CORBA, DCOM, AND
GLOBE, Distributed File Systems.

CourseOutline:
1. Introduction and Review of Operating Systems: Definitions, Hardware concepts, Software
concepts, The client-server model, Design Issues in distributed operating systems.
2. Communication: Layered protocols, Remote procedure call, Remote object invocations,
Message-oriented communication, Stream-oriented communication.
3. Processes: Threads, Clients, Servers, Code migration, Software agents.
4. Naming: Naming entities, Locating mobile entities, Removing unreferencedentities.
5. Synchronization: Clock synchronization, Logical clocks, Global state, Election
algorithms, Mutual exclusion, DistributedTransactions.
6. Consistency and Replication: Distribution protocols, Consistencyprotocols.
7. Fault Tolerance: Introduction to fault tolerance, Process resilience, Distributed commit,
Recovery.
8. Security: Introduction to security, Secure channels, Access Control, Security
Management.
9. Distributed Object-Based Systems: CORBA, Distributed COM, GLOBE, Comparison of
CORBA, DCOM, AND GLOBE.
10. Distributed File Systems: Sun Network File System, The Coda File System, Other
Distributed File Systems, Comparison Of Distributed FileSystems.
Reference Material:
• Distributed Operating Systems by Andrew S. Tanenbaum, Prentice Hall; US Edition
(January 15, 2002). ISBN-10:0130888931
• Distributed Systems: Concepts and Design, Fifth Edition by George Coulouris, Jean
Dollimore, Tim Kindberg and Gordon Blair. Addison-Wesley (2012), ISBN-10: 0-13-
214301-1, ISBN-13:9780132143011.
• Distributed Operating Systems: Concepts and Design by Pradeep k. Sinha, Wiley-IEEE
Press; 1st Edition (December 1, 1996). ISBN-10:0780311191
• Modern Operating Systems by Andrew S. Tanenbaum, Prentice Hall; 3rd Edition
(December 21, 2007). ISBN-10:0136006639
• Advanced Concepts in Operating Systems bySinghal and Shiviratri, McGraw Hill, (1994).

Page 57 of 94
Software Engineering Electives

Page 58 of 94
Course Title: Intelligent Agents Technology
Course Code: COMP5141
Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
After passing this course students will be able to understand about software agent technology
including:
 What is agent technology?
 Technological contexts.
 Trends and drivers.
 Agent technologies and tools.
 Applications.
 Challenges.
 Technology road maps.

Course Syllabus:
Basics of Intelligent Agents. Intelligent Agents Application. Desktop Agents. Internet Agents.
Web search Agents, Information Filtering Agents, Personalized Newspaper, Offline Delivery
Agents, URL-minder, Bargain Finder. Intranet Agents. Mobile Agents. Technology of Intelligent
Agents. Agent Machinery. Agent Content. Agent Access. Agent Security. Developing Agent
Applications.

Course Outline:
1. Intelligent Agents: Attributes of Intelligent Agents, Task level Skills, Knowledge,
Communication Skills, End user Taxonomy of Agents, Types of Agents: Desktop Agents,
Internet Agents. Mobile agents, Intranet Agents.
2. Desktop Agents: Operating System Agents - An Intelligent Utility System Agent, Interface
Agent, Application Agents, Email Agent, Search Agent, Application SuiteAgents, Benefits
of Desktop Agents.
3. Internet Agents: Web search Agents, Benefits of Search Agents, Information Filtering
Agents, Benefits of Information Filtering Agents, Offline Delivery Agents, Benefits of
offline Delivery Agents, Notification Agents, URL-minder, Benefits of Notification Agent.
4. Intranet Agents: Intranet Search Agents, Informational Filtering Agents, Collaboration
Agents, Lotus Notes Agents, Process Automation Agents – Edify work force; A Process
Automation Agent, Database Agents DSS Agent – A Database Agent, Mobile Agents –
Cyber Agent; A Java based mobile Agent System, Tabriz Agent Ware.
5. Technology of Intelligent Agents: the historical view, technical view, Intelligence &
Agency, Machinery, Content, Access & Security, Development Model, Steps towards
Automation, Steps Towards Agent-based Application.
6. Agent Machinery: Principles of Reasoning – Inferencing Systems, Rules of Inferencing,
Sensors & Actors, RAISE: An Inferencing System for Agents, The Trouble with Rules,
Adaptive Inferencing, Learning for Intelligent Agents –Sources of Data for Learning.
7. Agent Content: Knowledge Representation, Agent Communication, World Views – World
views for Agents, Classes of World-Views, World Views Models for your

Page 59 of 94
business, Knowledge Representation & Agent Access, Intelligent Databases, An Agent
Content Framework, Agent Communication Languages, The Knowledge Sharing Effort,
Knowledge sharing & Manipulation Language (KQML), Agent Content Creation, Sources
of Content in your Business.
8. Agent Access: A Framework for Intelligent Agent Access, Agent Access for Existing
Applications –Wrappering, Client/Server Applications, Database & File System Interfaces,
User Interface, User Access –Conversational User Interfaces, User Events & Actions,
Mobile Agents, Mobile Agent Languages, Mobile Agent Principles, Motivationsfor Using
Mobile Agents, Mobile Agent Scenario, Languages for Mobile Agents, Mobile Agent
Issues, Internet Access, Access in your Business.
9. Agent Security: What does Security Do? Security for Agents, Security Basics, Delegation
for Agents –Controlled Delegation, Limiting Resource Consumption, Security Issues for
Mobile Agents –Delegation & Authentication, Agent Privacy, Security Minded Languages
for Agents, Security for Mobile Agents, Trusting Agents – Testing & Training, Training
Human Agents, Verification, Reputation.
10. Developing Agent Applications: Learning Interface Agents, Learning Agent Functional
Architecture, Event Modeling, Learning Engine, Fact Interpretation, Observations,
Instructions, Inference.

Reference Material:
 Intelligent Agent Source book by Caglayan, Alper, John Wiley and Sons Ltd (1997).
ISBN:9780471153276
 Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence by Gerhard
Weiss, The MIT Press (July 31, 2000). ISBN-10:0262731312
 Design of Agent-Based Models by Tomas Salamon, Tomas Bruckner (September 1, 2011).
ISBN-10:8090466117
 Intelligent Software Agents: Foundations and Applications by Walter Brenner,
RüdigerZarnekow, Hartmut Wittig and A.S. Rudd, Springer, (July 31, 2012). ISBN-10:
3642804861
 Agent Technology for E-Commerce by Maria Fasli, Wiley; 1st Edition (March 6, 2007).
ISBN-10:0470030305

Page 60 of 94
Course Title: Intelligent Multi Agent Systems
Course Code: COMP5142
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: COMP5141(Intelligent Agents Technology)

Course Objectives:
Intelligent Multi Agent Systems is an important area having multiple applications in Computing.
The course will introduce students with key concepts and knowledge of Intelligent Multi Agent
Systems.

Course Syllabus:
Basics of Intelligent Agents, Multi agent Systems, Agent Interaction Protocols, Distributed
Problem Solving & Planning, Distributed Planning, Search Algorithm for Agents, Distributed
Rational Decision Making, Learning in Multi agent Systems, Computational Organization Theory,
Formal Methods in Distributed Artificial Intelligence (DAI), Industrial and Practical Applications
of DAI, Design: The Conceptual Context, The Process, System Implementation, System
Operation, Development Tools. Groupware and Computer Supported Cooperative Work.
Distributed Models for Decision Support. Concurrent Programming for DAI.

Course Outline:
1. Intelligent Agents: What are Agents, Intelligent Agents, Agents& Expert Systems,
Abstract Architecture for Intelligent Agents, Concrete Architecture for Intelligent Agents,
Agent Programming, METATEM Multi Agent systems.
2. Multi agent Systems: Characteristics of Multi agent Environment, Agent Communications,
Knowledge Query & Implementation Language (KQML), Knowledge Interchange Format
(KIF), Ontologies.
3. Agent Interaction Protocols: Coordination & Cooperation Protocol, Contract-net,
blackboard systems, Multi agent belief Maintenance, Market Mechanism.
4. Distributed Problem Solving & Planning: Task Structure, Task Sharing, Result Sharing.
5. Distributed Planning: Centralized Planning for Distributed Plan, Distributed Planning for
Centralized Plans, Distributed Planning for Distributed Plans, Distribution Plan
Representation &Execution.
6. Search Algorithm for Agents: Filtering Algorithm, Hyper Resolution Based Consistency
Algorithm, Asynchronous Backtracking & Weak Commitment Search, Path Finding
Problem: Asynchronous Dynamic Programming, A*, Moving Target Search, Real Time
Bidirectional Search, Real Time Multi Agent System.
7. Distributed Rational Decision Making: Evaluation Criteria, Voting, Auctions, Bargaining,
General Equilibrium Market Mechanism, Contract Nets, Coalition Formation.
8. Learning in Multi agent Systems: General Characterization, Learning & Activity
Coordination, Learning About & From Other Agents, Learning &Communication.
9. Computational Organization Theory: Organization, Computational Organization Theory,
Modeling Organizations Concepts, Agent and Agency, Organizational Design, Task,
Technology, Dynamics, Methodological Issues: Virtual Experiments and Data Collection,
Validation and Verification, Computational Frameworks.

Page 61 of 94
10. Formal Methods in DAI (Distributed Artificial Intelligence): Logic-Based Representation
and Reasoning, Cognitive Primitives, BDI Implementations: Coordination,
Communications; Social Primitive; Tools and Systems: Direct Implementations & Partial
Implementations, Traditional Approaches.
11. Industrial and Practical Applications of DAI: Overview of the Industrial Life-Cycle, Use
of Agents in the Life Cycle, Agents in Product Design, Agents in Planning and Scheduling,
Agents in Real-Time Control, Industry Constrains in the Life Cycle of an Agent-Based
System: Requirements, Positioning, and Specification, Design: TheConceptual Context,
Design: The Process, System Implementation, System Operation, Development Tools.
12. Groupware and Computer Supported Cooperative Work: Groupware, Computer Supported
Cooperative Work, Aspects of Groupware, Keepers, Coordinators, Communicators, Team-
Agents, Agent Models, Multi-Aspect Groupware, Social and Group Issues in Designing
Groupware Systems, Supporting Technologies and Theories, Keepers, Coordinators,
Communicators, Team-Agents, Other Taxonomies of Groupware, Space/Time Matrix,
Application Area, Groupware and Internet, Internet as Infrastructure Internet as Presumed
Software.
13. Distributed Models for Decision Support: Decision Support Systems, The Decision
Support Problem, Knowledge-Based Decision Support, Distributed Decision Support
Models, An Agent Architecture for Distributed Decision Support Systems, Information
Model, Knowledge Model, Control Model, Application Case Studies, Environmental
Emergency Management, Energy Management, Road Traffic Management.
14. Concurrent Programming for DAI: Defining Multi-agent Systems, Actors, Semantics of
Actors, Equivalence of Actor Systems, Actors and Concurrent Programming, Representing
Agents as Actors, Mobility of Actors, Resource Model, Agent Ensembles, Customizing
Execution Contexts, Interaction Protocols, Coordination, Naming and Groups.

Reference Material:
 Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence by
Gerhard Weiss, The MIT Press (July 31, 2000). ISBN-10:0262731312
 Design of Agent-Based Models by Tomas Salamon, Tomas Bruckner (September 1,
2011). ISBN-10:8090466117
 Intelligent Software Agents: Foundations and Applications by Walter Brenner,
RüdigerZarnekow, Hartmut Wittig and A.S. Rudd, Springer; Softcover reprint of the
original 1st Edition (July 31, 2012). ISBN-10:3642804861
 Agent Technology for E-Commerce by Maria Fasli, Wiley; 1st Edition (March 6, 2007).
ISBN-10:0470030305

Page 62 of 94
Course Title: Formal Methods
Course Code: COMP5143
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
Modern software development inevitably requires the design and analysis of a number of different
artifacts. Formal methods allow the mathematically precise formulation of some of these artifacts.
This course is an introduction to the use of formal methods for the specification, design, and
automatic analysis of software systems.

Course Syllabus:
Introduction to Formal methods, Introducing Z, Elements of Z, Logic, Using Predicates in Z,
Schemas and Schema Calculus, Formal Reasoning, Rule-Based Programming, Graphical User
Interface, Safety-Critical Protection System, Modeling Large Systems, Converting Z into Code.

Course Outline:
1. Formal methods: What are FM? What FM are not, When, How, and Why use FM? Popular
Fallacies and Alternatives. Formal Methods and Project Management: Gathering
Requirement, From Information Requirement to Formal Specifications, Validating Formal
Specifications. [TB: Ch.1,2,3]
2. Introducing Z: What is Z? Informal Requirements, Data Flow Diagrams, State Transition
Diagram, State Transition Diagram, State Transition tables. Introducing schemas: Basic
Types and Abbreviations, Axiomatic Descriptions, State Schemas, Operation Schemas,
Implicit preconditions, Schema Calculus. [TB: Ch. 4,5, 6,7]
3. Elements of Z: Sets and Types, Declarations, Variables, Expressions, Operators,
Predicates, Equations and Laws. Structure: Tuple, Records, Relations, Tables, Databases,
Pairs and Binary Relations, Functions, Sequences, Operators. [TB: Ch.8,9]
4. Logic: Basic Predicates, Using Predicates in Z, Relations as Predicates, Logical
Connectives, Logic and Natural Language, Quantifiers, Z and Boolean Types, Predicates
and undefined Expressions. Synthesis: Set Comprehensives, Lambda Expressions, Formal
Specifications, Conveniences and shortcuts, Modeling Systems and Change. [TB: Ch. 10,
11]
5. Schemas and schema calculus: Conjunctions and Disjunctions, Other Schema Operators.
Schema types and Bindings: Generics & Free Types [TB: Ch. 12,13,14]
6. Formal Reasoning: Calculation and proof, Laws, Checking Specifications, Preconditions,
Formal Reasoning and Intuition, Machine-Checked proof. [TB:Ch.15]
7. Graphical User Interface: Events, Display and Dialogs, Selecting a Display, Changing
Setting Value, Z and State Transition Systems, Changing the Machine State. [TB: Ch.21]
8. Safety-Critical Protection System: Partition, Refinement, Enforcing the Safety
Requirements. [TB: Ch.22]
9. Modeling Large Systems: A Single Subsystem, Many Subsystems, Useful Idioms,
Subsystems, Conditions, and Modes. [TB: Ch.23].
10. Converting Z Specification intoCode.

Page 63 of 94
Textbook(s):
 The Way of Z: Practical Programming with Formal Methods by Jonathan Jacky,
Cambridge University Press (November 28, 1996). ISBN-10:0521559766

Reference Material:
 Z: An Introduction to Formal Methods by Antoni Diller, Wiley; 2ndEdition (July 27, 1994).
ISBN-10:0471939730
 Model Checking by Edmund M. Clarke Jr., OrnaGrumberg, Doron A. Peled , MIT Press,
1st Edition (1999). ISBN-13:978-0262032704.
 Reactive Systems: Modelling, Specification and Verification by Luca Aceto, Anna
Ingólfsdóttir, Kim Guldstrand Larsen and Jiri Srba, Cambridge University Press (August
13, 2007). ISBN-10:0521875463
 FundamentalsofAlgebraicSpecifications:EquationsandInitialSemantics,H.Ehrig&
B. Mahr, Springer-Verlag (1985), ISBN 0-387-13718-1.
 Systems and Software Verification: Model-Checking Techniques and Tools. By B.
Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, and P. Schnoebelen,
Springer, 1st Edition , (2001). ISBN-10:3642074782
 Algebraic Specifications in Software Engineering by I. Van Horebeek& J. Lewi, Springer;
1st Edition (December 19, 1989). ISBN-10:3540516263

Page 64 of 94
Course Title: Software Requirements Engineering
Course Code: COMP5144
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: COMP2112 (Software Engineering)

Course Objectives:
1. Understand the basics of requirements engineering.
2. Understand the social, cultural, political and technical issues in requirements engineering.
3. Understand activities in requirements engineering (requirements elicitation, analysis and
negotiation, validation and management).
4. Understand requirements traceability.
5. Understand requirements documentation.
6. Understand use-case modeling, object-oriented static modeling, functional modeling and
dynamic modeling techniques applicable in requirement engineering.
7. Understand the need for research in selected topics in requirement engineering.
8. To know how to apply the learnt concepts, knowledge and techniques to solve real world
problems.
Course Outline:
Introduction to Software Requirements Engineering, Non-functional Requirements, Kinds of
Software Requirements, Requirements from the user/Customer’s Perspective, Process Models and
Requirement Engineering Process, Actors and Stakeholders in the Requirements Engineering
Process, Social and Cultural issues in Requirements Engineering, Requirements Elicitation- Stages,
Basics of Knowledge Acquisition, Knowledge Structuring Techniques, Specific elicitation
Techniques: Interviewing, Scenarios, prototyping and Participant Observation, Requirements
Analysis and Negotiation, Requirements Validation, Requirement Errors, Error prevention in
Requirements, Defect Removal, Requirements Validation, Requirements Management: Stable and
Volatile Requirements, Requirements Identification Techniques, Change Management,
Requirements Traceability , prototyping, Writing Requirements, Requirements Documents, Quality
Attributes of Requirements Documents, use Case Modeling (case study: Banking System),
Software Modeling, Object-oriented Modeling using UML, Object-Oriented Static Modeling (case
study: Banking System), Requirements Engineering for Agile Methods, Requirements Engineering
for Web-Based Systems, Requirements Engineering for Product Lines, Requirements
Prioritization. Functional Modeling, Dynamic Modeling.

Reference Material:
 Neville, Colin, Complete Guide to Referencing and Avoiding Plagiarism, 2010

Page 65 of 94
Course Title: Software Security Testing and Code Assessment
Course Code: COMP5145
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
1. Security risk management: Students will be able to assess the security risk of a system under
development. Risk management will include the development of formal and informal misuse
case and threat models. Risk management will also involve the utilization of securitymetrics.
2. Security testing: Student will be able to perform all types of security testing, including fuzz
testing at each of these levels: white box, grey box, and black box/penetration testing.
3. Secure coding techniques: Students will understand secure coding practices to prevent
common vulnerabilities from being injected into software.
4. Security requirements, validation and verification: Students will be able to write security
requirements (which include privacy requirements). They will be able to validate these
requirements and to perform additional verification practices of static analysis and security
inspection.
5. Vulnerability Assessment: Students will be able to evaluate a medium-sized web application
for vulnerabilities and generate a report on the evaluation and its results.
Course Outline:
Security Risks, Role of Risk Assessment in Security Testing, Analysis of Risk Assessment
Techniques, Information Security Policies and Procedures, Understanding Security Policies and
Procedures, Security Auditing and its Role in Security Testing, Purpose of Security Audit, Risk
Identification, Assessment and Mitigation, People, Process and Technology, Security Testing: the
purpose of security testing, the organizational context, security testing objectives, the alignment
of security testing goals, Identification of Security Test Objectives, the scope and coverage of
security testing objectives, security testing approaches, stakeholder identification, ISTQB Security
Testing process, Security Test Design, Security Test Execution, Importance of Planning and
Approval in Security Testing, Security Test Evaluation, Security Test Maintenance, The Role of
Security Testing in Design, Testing Security Mechanisms, System Hardening, Authentication and
Authorization, Testing the Effectiveness of Authentication and Authorization Mechanisms.

Reference Material:
 Security Testing: A Survey, Michael Felderer, Matthias Buchler,Martin Johns, Alexander
Pretschner, March 2016.
 Security Testing Tools: When and How to Use Them, Thomas Scanlon, July, 2018

Page 66 of 94
Course Title: Advanced Software Engineering
Course Code: COMP5146
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: COMP2112 (Software Engineering)

Course Objectives:
1. Derive models of software systems and express them in a language such as UML.
2. Understand the differences between different types of software architecture.
3. Derive cost estimation tables delineating the tasks to be performed, and the cost, effort, and
time involved for each task.
4. Identify risks associated with a given software project, and develop plans to mitigate and
manage these risks.
5. Manage software projects by identifying the sequence of tasks that will enable the project to
complete in time, assigning responsibility for each task, and adapting the schedule asvarious
risks become reality.
Course Outline:
Software architecture, Software project scheduling, Software cost estimation, Software metrics and
software performance, A recapitulation of software engineering process models, A recapitulation
of the basic techniques for requirements engineering and design, Project management, Process and
project metrics, Estimation for software projects, Project scheduling, Risk management,
Maintenance and reengineering, Dependability of systems, Reliability engineering, Safety
engineering, Security engineering, Resilience engineering.

Reference Material
 Ian Sommerville, Software Engineering (10th Edition), Pearson; 10 edition (March 242015).
 Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Refactoring:
Improving the Design of Existing Code, Addison-Wesley Professional; 1 edition (June 28
1999).

Page 67 of 94
Course Title: Software System Design and Architecture
Course Code: COMP5147
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
1. Work effectively with a team of software project stakeholders, including customers and
members of the development team.
2. Demonstrate object-oriented design basics like domain models, class diagrams, and
interaction (sequence and communication) diagrams.
3. Recognize the differences between problems and solutions and deal with their interactions.
Department of Computer Science and Software Engineering
4. Use fundamental design principles, methods, patterns and strategies in the creation of a
software system and its supporting documents.
5. Identify criteria for the design of a software system and select patterns, create frameworks,
and partition software to satisfy the inherent trade-offs.
6. Analyze and explain the feasibility and soundness of a software design.
Course Outline:
Security testing frameworks and methodologies, Legal aspects of performing penetration testing,
Network security and its vulnerabilities, including how these vulnerabilities may be exploited,
Computer security covering operating systems and access control vulnerabilities, and how to
exploit and mitigate these vulnerabilities, Internet based applications, web services, protocols,
languages (e.g. SQL) and how these may be exploited using for example SQLinjection and cross-
site scripting; how to exploit these vulnerabilities, and how to mitigate these vulnerabilities.

Reference Material:
 Professional Penetration Testing, Thomas Wilhelm, 2nd Ed.
 Kali Linux: Assuring Security by Penetration Testing, Lee Allen, TediHeriyanto, and
Shakeel Ali.
 Gray Hat Hacking, BrankoSpasojevic, 3rd Ed.
 The Web Application Hacker’s Handbook: Discovering and Exploiting Security Flaws,
DafyddStuttard and Marcus Pinto, 2nd Ed.

Page 68 of 94
Computer Network Electives

Page 69 of 94
Course Title: Advanced Computer Networks
Course Code: COMP5148
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: COMP3112 (Computer Communication and Networks)

Course Objectives:
Summarize functionalities of different Layers. Combine and distinguish functionalities of different
Layers. Describe and Analysis of basic protocols of computer networks, and how they can be used
to assist in network design and implementation.

Course Outline:
Network architecture, Networking principles, Network services and Layered architecture, Future
Networks. Advanced Technologies. Performance of Networks. Advanced Routing: Routing
architecture, Routing between peers (BGP), IP switching and Multi-Protocol Label Switching
MPLS), MPLS Architecture and related protocols, Traffic Engineering (TE) and TE with MPLS,
NAT and Virtual Private Networks (L2, L3, and Hybrid), CIDR – Introduction, CIDR addressing,
CIDR address blocks and Bit masks. Mobile IP- characteristics, Mobile IP operation, Security
related issues. Mobility in networks. Voice and Video over IP (RTP, RSVP, QoS) IPv6: Why IPv6,
basic protocol, extensions and options, support for QoS, security, etc., neighbor discovery, auto-
configuration, routing. Changes to other protocols. Application Programming Interface for IPv6.
Ad Hoc Networking: An Introduction, A DOD Perspective on Mobile Ad Hoc Networks, DSDV:
Routing over a Multihop Wireless Network of Mobile Computers, Cluster-Based Networks, DSR:
The Dynamic Source Routing Protocol for Multihop Wireless Ad Hoc Networks.

Reference Material:
 Computer Networks: A Systems Approach by Larry L. Peterson, Bruce S, Morgan
Kaufmann; 5th Edition (March 25, 2011). ISBN-10: 0123850592.
 Internetworking with TCP/IP Vol –I by Douglas E. Comer, Addison- Wesley; 5th Edition
(July 10, 2005). ISBN-10: 0131876716.
 High Performance Communication Networks by Jean Walrand and PravinVarniya, Morgan
Kaufmann; 2nd Edition (October 25, 1999). ISBN-10 1558605746

Page 70 of 94
Course Title: Information Theory I
Course Code: COMP5149
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
The course will introduce students with key concepts of Information Theory.

Course Syllabus:
Information Sources. Pair Processes. Block Independent Channels. Entropy. The Entropy Ergodic
Theorem. Distortion and Approximation. Approximating Random Vectors and Processes.
Distortion and Entropy. Relative Entropy. Information Rates. Distortion and Information. Ergodic
Theorems for Densities. Source Coding Theorems. Asynchronous Block Codes, Sliding-Block
Source Codes, Geometric Interpretation, Properties of Good Source Codes, Optimal and
Asymptotically Optimal Codes, Block Codes Sliding-Block Codes.

Course Outline:
1. Information Sources: Probability Spaces and Random Variables, Random Processes and
Dynamical Systems, Distributions, Standard Alphabets, Expectation, Asymptotic Mean
Stationarity, Ergodic Properties.
2. Pair Processes: Channels, Codes, and Couplings, Pair Processes, Channels, Stationarity
Properties of Channels, Extremes: Noiseless and Completely Random Channels,
Deterministic Channels and Sequence Coders, Stationary and Sliding-Block Codes,Block
Codes, Random Punctuation Sequences, Memoryless Channels, Finite-Memory
Channels, Output Mixing Channels.
3. Block Independent Channels, Conditionally Block Independent Channels, Stationarizing
Block Independent Channels, Primitive Channels, Additive Noise Channels, Markov
Channels, Finite-State Channels and Codes, Cascade Channels, Communication Systems,
Couplings, Block to Sliding-Block: The Rohlin-Kakutani Theorem.
4. Entropy: Entropy and Entropy Rate, Divergence Inequality and Relative Entropy, Basic
Properties of Entropy, Entropy Rate, Relative Entropy Rate, Conditional Entropy and
Mutual Information, Markov Approximations, Relative Entropy Densities.
5. The Entropy Ergodic Theorem: Stationary Ergodic Sources, Stationary Nonergodic
Sources, AMS Sources, The Asymptotic Equipartition Property.
6. Distortion and Approximation: Distortion Measures, Fidelity Criteria, Average Limiting
Distortion, Communications Systems Performance, Optimal Performance, Code
Approximation.
7. Approximating Random Vectors and Processes, The Monge/Kantorovich/Vasershtein
Distance. Variation and Distribution Distance, Coupling Discrete Spaces with the
Hamming Distance, Process Distance and Approximation, Source Approximation and
Codes, d-bar Continuous Channels.
8. Distortion and Entropy: The Fano Inequality, Code Approximation and Entropy Rate,
Pinsker‟sandMarton‟sInequalities,EntropyandIsomorphism,AlmostLosslessSource
Coding, Asymptotically Optimal Almost Lossless Codes, Contents xv, Modeling and
Simulation.

Page 71 of 94
9. Relative Entropy: Divergence, Conditional Relative Entropy, Limiting Entropy Densities,
Information for General Alphabets, Convergence Results.
10. Information Rates: Information Rates for Finite Alphabets, Information Rates for General
Alphabets, A Mean Ergodic Theorem for Densities, Information Rates of Stationary
Processes, The Data Processing Theorem, Memoryless Channels and Sources,
11. Distortion and Information: The Shannon Distortion-Rate Function, Basic Properties,
Process Definitions of the Distortion-Rate Function, The Distortion-Rate Function as a
Lower Bound, Evaluating the Rate-Distortion Function.
12. Ergodic Theorems for Densities: Stationary Ergodic Sources, Stationary Nonergodic
Sources, AMS Sources, Ergodic Theorems for Information Densities.
13. Source Coding Theorems: Source Coding and Channel Coding, Block Source Codes for
AMS Sources, Block Source Code Mismatch, Block Coding Stationary Sources, Block
Coding AMS Ergodic Sources Subadditive Fidelity Criteria.
14. Asynchronous Block Codes, Sliding-Block Source Codes, Geometric Interpretation,
Properties of Good Source Codes, Optimal and Asymptotically Optimal Codes, Block
Codes Sliding-BlockCodes.

Reference Material:
 Entropy and Information Theory by Robert M. Gray, Springer;2nd Edition. Edition
(February 3, 2011). ISBN-10:1441979697
 Information and Coding Theory by Gareth A. Jones, J.Mary Jones, Springer; 2000
Edition (July 31, 2000). ISBN-10:1852336226
 Information Theory And Evolution by John Scales Avery, World Scientific Publishing
Company; 2nd Edition (July 16, 2012). ISBN-10:9814401234
 Elements of Information Theory by Thomas M. Cover, Joy A. Thomas, Wiley-
Interscience; 2nd Edition (July 18, 2006). ISBN:0-471-24195-4

Page 72 of 94
Course Title: Information Theory II
Course Code: COMP5150
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: COMP5149 (Information Theory I)

Course Objectives:
The course will introduce students with advanced concepts of Information Theory

Course Syllabus:
Entropy, Relative Entropy, and Mutual Information: Entropy, Joint Entropy and Conditional
Entropy. Relative Entropy and Mutual Information, Relationship Between Entropy and Mutual
Information. Chain Rules for Entropy, Relative Entropy, and Mutual Information. Inequality.
Asymptotic Equipartition Property. Entropy Rates of a Stochastic Process. Data Compression.
Gambling and Data Compression. Channel Capacity. Symmetric Channels. Differential Entropy.

Course Outline:
1. Entropy, Relative Entropy, and Mutual Information: Entropy, Joint Entropy and
Conditional Entropy. Relative Entropy and Mutual Information, Relationship Between
Entropy and Mutual Information.
2. Chain Rules for Entropy, Relative Entropy, and Mutual Information, Jensen’s Inequality
and its Consequences.
3. Log Sum Inequality and Its Applications, Data-Processing Inequality, Sufficient
Statistics, Fano’s Inequality.
4. Asymptotic Equipartition Property: Asymptotic Equipartition Property Theorem,
Consequences of the AEP: Data Compression, High-Probability Sets and the Typical Set.
5. Entropy Rates of a Stochastic Process: Markov Chains, Entropy Rate, Example: Entropy
Rate of a Random Walk on a Weighted Graph, Second Law of Thermodynamics,
Functions of Markov Chains.
6. Data Compression: Examples of Codes, Kraft Inequality, Optimal Codes, Bounds on the
Optimal Code Length, Kraft Inequality for Uniquely Decodable Codes, Huffman Codes,
Some Comments on Huffman Codes, Optimality of Huffman Codes, Shannon–Fano–
Elias Coding, Competitive Optimality of the Shannon Code, Generation of Discrete
Distributions from Fair Coins.
7. Gambling and Data Compression: The Horse Race, Gambling and Side Information,
Dependent Horse Races and Entropy Rate, The Entropy of English, Data Compression
and Gambling, Gambling Estimate of the Entropy of English.
8. Channel Capacity: Examples of Channel Capacity, Noiseless Binary Channel, Noisy
Channel with Non overlapping Outputs, Noisy Typewriter, Binary Symmetric Channel,
Binary Erasure Channel.
9. Symmetric Channels: Properties of Channel Capacity, Preview of the Channel Coding
Theorem, Definitions, Jointly Typical Sequences, Channel Coding Theorem, Zero-Error
Codes.
10. Fano’s Inequality and the Converse to the Coding Theorem, Equality in the Conversetothe
Channel Coding Theorem, Hamming Codes, Feedback Capacity, Source– Channel
Separation Theorem.

Page 73 of 94
11. Differential Entropy: Definitions, AEP for Continuous Random Variables, Relation of
Differential Entropy to Discrete Entropy, Joint and Conditional Differential Entropy,
Relative Entropy and Mutual Information, Properties of Differential Entropy, Relative
Entropy, and Mutual Information.

Reference Material:
 Elements of Information Theory by Thomas M. Cover, Joy A. Thomas, Wiley-
Interscience; 2nd Edition (July 18, 2006). ISBN:0-471-24195-4
 Information and Coding Theory by Gareth A. Jones and J.Mary Jones, Springer; 2000
Edition (July 31, 2000). ISBN-10:1852336226
 Information Theory and Evolution by John Scales Avery, World Scientific Publishing
Company; 2nd Edition (July 16, 2012). ISBN-10:9814401234
 Entropy and Information Theory by Robert M. Gray, Springer; 2nd Edition. (February 3,
2011). ISBN-10:1441979697

Page 74 of 94
Course Title: Service-Oriented Architecture
Course Code: COMP5151
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
By the end of this course students will be able to understand SOA, Service Orientation and Web
Services. The will also be able to analyze and design business based on SOA principles.

Course Syllabus:
Introducing SOA. Web Services & Primitive SOA. Web Services & Contemporary SOA (Activity
Management & Composition). Web Services & Contemporary SOA (Advance Messaging,
Metadata & Security). Principles of Service-Orientation. Service Orientation & Contemporary
SOA. SOA Delivery Strategies. Service Oriented Analysis. Service Modelling (Process). Service
Oriented Design. WSDL-Related XML Schema Language. SOAP Language Basic, Service
Interface Design Tools. Service Oriented Design Steps to Composing SOA. Considerations for
Choosing Service Layers, Considerations for Positioning Core SOA Standards (Industry
Standards, & SOA, XML & SOA, The WS-I Baisc Profile, WDSL & SOA, XML Schema & SOA,
SOAP & SOA, Namespaces & SOA, UDDI & SOA) Considerations for Choosing SOA Extensions
(Choosing SOA Characteristics, Choosing WS* Specifications, WS- BPEL & SOA). Entity
Centric Business Service Design, Application Service Design, Service Design Guidelines.

Course Outline:
1. Introducing SOA; Fundamental SOA, Common Characteristics, Common Misperceptions
about SOA: Common Tangible Benefits Of SOA, Common Pitfalls Of Adopting SOA.
2. Web Services & Primitive SOA: The Web Services Framework, Web Services, Service
Descriptions (WSDL), Messaging (With SOAP).
3. Web Services & Contemporary SOA (Activity Management & Composition): Message
Exchange Patterns, Coordination, Atomic Transactions, Business Activities, Orchestration
Choreographies.
4. Web Services & Contemporary SOA (Advance Messaging, Metadata & Security) Addressing
Reliable Messaging, Correlation, Metadata Exchange, Notification &Eventing.
5. Principles of Service-Orientation: Service Orientation & The Enterprise, Anatomy of a Service
Oriented Architecture, Common Principles of Service Orientation, How Services- Orientation
Principles, Service Orientation & Object Orientation, Native Web Service Support for Service
Orientation Principles.
6. Service Orientation & Contemporary SOA: Service Layer Abstraction, Application Service
Layer, Business Service Layer, Orchestration Service Layer, Agnostic Services, ServiceLayer
Configuration Scenarios.
7. SOA Delivery Strategies SOA Delivery Lifecycle Phases, Top Down Strategy, Bottom Up
Strategy, Agile Strategy.
8. Service Oriented Analysis: Introduction, Benefits of a Business Centric SOA, Deriving
Business Services, Deriving Business Services.
9. Service Modelling (Process): Introduction, Modelling Guidelines, Classifying Service Model
Logic, Different Modelling Approaches.

Page 75 of 94
10. Service Oriented Design: Introduction, WSDL-Related XML Schema Language, WSDL
Language(Like Definitions, Types, Message & Part, Porttype, Interface, & Operation
Elements, Input & Output-When Used With Operation, Binding, Input & Output-When Used
With Binding, Service, Port & Endpoint, Import, Documentation), SOAP Language Basic
(Envelop, Header, Body, Fault) Service Interface Design Tools.
11. Service Oriented Design Steps To Composing SOA, Considerations For Choosing Service
Layers, Considerations For Positioning Core SOA Standards (Industry Standards, & SOA,
XML & SOA, The WS-I Baisc Profile, WDSL & SOA, XML Schema & SOA, SOAP & SOA,
Namespaces & SOA, UDDI & SOA) Considerations For Choosing SOA Extensions (Choosing
SOA Characteristics, Choosing WS* Specifications, WS-BPEL &SOA).
12. Service Oriented Design: Overview, Entity Centric Business Service Design, Application
Service Design, Service Design Guidelines.

Reference Material:
 Service-Oriented Architecture (SOA): Concepts, Technology, and Design by ThomasErl,
Prentice Hall (August 12, 2005). ISBN-10:0131858580
 Service-Oriented Architecture (SOA): Concepts, Technology, and Design by ThomasErl,
Prentice Hall (August 12, 2005). ISBN-10:0131858580
 SOA Design Patterns by Thomas Erl, Prentice Hall PTR; 1st Edition (January 9,2009)
 Service-Oriented Architecture (SOA): A Planning and Implementation Guide for Business
and Technology by Eric A. Marks and Michael Bell, Wiley; 1st Edition (April 28, 2006).
ISBN-10:0471768944
 Applied SOA: Service-Oriented Architecture and Design Strategies by Michael Rosen,
Boris Lublinsky, Kevin T. Smith and Marc J. Balcer, Wiley; 1st Edition (June 16, 2008).
ISBN-10:0470223650

Page 76 of 94
Course Title: Internet of Things (IoT)
Course Code: COMP5152
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
1. Able to understand the application areas of IOT.
2. Able to realize the revolution of Internet in Mobile Devices, Cloud & Sensor.
3. Understand the various network protocols used in IoT.
4. Familiar with the key wireless technologies used in IoT systems, such as WiFi, bluetooth
and ZigBee.
5. Understand and be able to explain the role of big data, cloud computing and data analytics in
a typical IoT system.
Course Outline:
Basic Components and Digital Output: General Purpose input output, Basic tools and tools and
electronic components, Digital output, Basic sketch programming, GPIO configuration, working
with breadboard and circuit configuration. Using serial monitor to debug your sketch: Debugging
your sketch using serial monitor, View graph/waveforms using Serial Plotter, Send data using serial
monitor. Digital Input: monitoring input from digital sensors, using built-in pull-up resistors.
Analog input output: Adjustable blink, Pulse-width Modulation and Analog Output: Pulse-width
Modulation (PWM), generating an analog signal from pulse-width modulation, dimming an LED
with PWM. Connect sensors to your IoT: Temperature sensor: LM35, Temperature & Humidity
sensor: DHT series. Webserver Connection: configure web server on raspberry pi 3, configure
apache and MySQL. IoT Connectivity with live API’s: Message Queuing Telemetry Transport
(MQTT), play around with MQTT, publish and subscribe using mobile devices, publish and
subscribe using Micro-Controller (MCU).

Reference Material:
 Learning Internet of Things, Peter Waher.
 Introduction to Internet of Things, Marco Zennaro.
IoT, MA Rehman, 2019

Page 77 of 94
Course Title: Advanced Network Security
Course Code: COMP5153
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: ITEC4111 (Network Security)

Course Objectives:
By the end of the course, it is expected that students will be able to:
1. Shows advanced knowledge of the information security concepts (security protocols,
human-computer interfaces, access control, cryptography and distributed systems issues).
2. Evaluate and apply solution solving developmental, managerial and audit issues including
the review of the related law, evidence collection and security policies.
3. Demonstrate critical and creative thinking to formulate and justify appropriate
recommendations and/or solutions to an information security problem.
4. Present an argument in highly structured format and clearly discuss the central ideas.
5. Contribute to own team’s success by helping the team to move forward, participating in
setting goals, and articulating alternative ways to solve problems.

Course Outline:
Course introduction, Basic hardware, software, internet, Cryptography, Information Security and
Risk Management, Access control, Software Development Security Business Continuity and
Disaster Recovery Planning, Legal, Regulations, Compliance and Investigations, Electronic and
information warfare, Operations Security, Physical and Environmental Security, Security
Architecture and Design, Telecommunication and Network Security, Ten Domains of CISSP
Security, Course review.

Reference Material:
Course will follow the textbook: P. Gregory, CISSP Guide to Security Essentials, Course
Technology, second edition, 2015, ISBN 978-1-285-06042-2 Other useful books:
 M. Whitman and H. Mattord. Principles of Information Security, Thomson - Course
Technology, 2014, Fifth Edition
L. Janczewski, W. Caelli, Cyber Conflicts and Small States, Ashgate, ISBN 978-1-4724-
5219-1

Page 78 of 94
Course Title: Mobile and Wireless Networks
Course Code: COMP5154
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
The learning objectives for Mobile and Wireless Networks are:
1. To develop the concept of systems thinking in the context of mobile and wireless systems
2. To develop knowledge of the interplay of concepts and multiple sub-disciplines in mobile and
wireless systems
3. To develop knowledge and experience in mobile interface and applications design, and
development techniques and methodologies set in the context of a research project addressing
a real-world application
4. To gain knowledge and experience in applying various computation methods and algorithms
as a part of software development
5. To gain experience in evaluating mobile computing applications, computation methods and
algorithms through experiments and simulations
6. To read and understand scientific research papers and present them in a seminar talk.

Course Outline:
Basics of Wireless Local Area Networks. Radio Transmitters and Receivers, Multiple Access
Methods: FDMA, TDMA, CDMA, Random Access, ALOHA, Slotted ALOHA, Reservation- based
ALOHA. Radio Propagation. Antennas and Transmission Lines. Communication Protocols and
Modulation. High- Speed Wireless Data. GSM/Cellular Networks. Indoor Networks. Securityin
Wireless Local Area Networks. Voice Over Wi-Fi and Other Wireless Technologies. MobileAd
Hoc Networks. Wireless Sensor Networks. Reliable Wireless Networks for Industrial Applications.
Applications and Technologies. Conflict and Compatibility, Ultra-wideband Technology.

Reference Material:
 Wireless Networking: Know It All by Praphul Chandra, Daniel M. Dobkin, Dan Bensky, Ron
Olexa, David Lide, and FaridDowla, Newne (September 28, 2007). ISBN-10: 0750685824
(TB1)
 Wireless Communications & Networks by William Stallings, Prentice Hall;184 2nd Edition
(November 22, 2004). ISBN: 0131918354.

Page 79 of 94
Course Title: Distributed Computing
Course Code: COMP5155
Course Structure: Lectures: 3/Labs: 0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
This course covers the architecture and enabling technologies of Peer-2-Peer and distributed
computing systems and their innovative applications.

Course Syllabus:
Centralized and Decentralized Systems, Taxonomy Dependency Considerations. Discovery
Protocols. Structured Document Types. Distributed Security Techniques. Hash Functions. Digital
Signature, Secure Channels, Secure Mobile Code. The Web as Distributed Environment: URI
Templates, HTTP and Security, Representational State Transfer, The Semantic Web. Peer- 2-Peer
Environments. Volunteer Computing. Web Services: Architecture and Development, Service-
Oriented Architecture. Distributed Objects and Agent Technologies. Grid Computing. P2P
Applications Protocols and Architectures. Freenet. Middleware Protocols and Architectures. Web
Services Protocols. Distributed Object Deployment Using Jini. P2P Deployment UsingJxta. Web
Services Deployment.

Course Outline:
1. Introduction to Distributed Systems: Centralized and Decentralized Systems, Taxonomy
Dependency Considerations, Examples of Distributed Applications, Examples of
Middleware. Discovery Protocols: Service and Directory Discovery, Unicast Addressing,
UDP, IP Multicast Addressing, Service Location Protocol.
2. Structured Document Types: HTML, XML, XHTML, Document Modelling and Validation.
Distributed Security Techniques: Introduction, Design Issues, Hash Functions, Signing
Messages with a Digital Signature, Secure Channels, Secure Mobile Code: Creating a
Sandbox.
3. The Web - Distributed Environment -, Naming Things in a Uniform Way, URI Templates,
Shared Representation of Things, Hypertext Transfer Protocol, HTTP and Security,
Representational State Transfer, The Semantic Web. Peer-2-Peer Environments:
Introduction, Historical Peer to Peer, The Shift to New Internet Users, Modern Definition of
Peer to Peer, Social Impacts of P2P, The P2P Environment, P2P Example Applications, True
P2P and Good Distributed Design, Related Projects: Volunteer Computing.
4. Web Services: Introduction, Web Services Architecture and Development, Service-
Oriented Architecture. Distributed Objects and Agent Technologies: What Are Distributed
Objects? CORBA, Mobile Agents, Objects, Services and Resources, Distributing Objects
Using Java, Remote Method Invocation.
5. Grid Computing: Introduction, Social Perspective, History of the Grid, The Grid Computing
Architecture, The Criteria for a Grid, Types of Grid, Grid Computing Toolkit.
6. P2P Applications Protocols and Architectures: Gnutella: History of Gnutella, What Is
Gnutella? A Gnutella Scenario: Discovering Peers, Gnutella in Operation, Searching Within
Gnutella, Gnutella 0.6 Protocol Description, File Downloads, Gnutella Implementations.
Scalability: Performance in P2P Networks, Unstructured P2P, Social Networks, Combining
Network Topologies, The Convergence of the Napster and Gnutella

Page 80 of 94
Approaches, The Structured P2P Approach, New Trends.
7. Freenet: Introduction, Freenet Routing, Freenet Keys, Joining the Network, Current
Developments. BitTorrent: What Is BitTorrent? The BitTorrent Protocol, BitTorrent, Inc.,
New Developments.
8. Middleware Protocols and Architectures: Jini: Introduction, Jini Architecture, Registering
and Using Jini Services, Jini: Tying Things Together, Organization of Jini Services &
Events. Jxta : Background, Jxta Overview and Architecture, Jxta Network Overlay, The Jxta
Protocols, Jxta Environment Considerations, Security, NAT and Firewalls.
9. Web Services Protocols: SOAP, WSDL, UDDI, WS-Extensions. OGSA: Overview, OGSI,
WS-RF, Higher Level Interfaces. Web 2.0: The Web as Platform, Technologies and APIs,
Computing in the Cloud, Ubiquitous Computing.
10. Distributed Object Deployment Using Jini: RMI Security, An RMI Application, A Jini
Application, RunningJini Applications.
11. P2P Deployment Using Jxta: Starting the Jxta Platform, Peer Con_guration Using Jxta,
Using the JxtaCon_gurator; Example Two: Using Jxta Pipes, P2P Environment: The
JxtaApproac.
12. Web Services Deployment: Data Binding, Setup, Container Classes, Server Implementation,
Service WSDL, Client Implementation.

Reference Material:
 From P2P and Grids to Services on the Web: Evolving Distributed Communities by Ian J.
Taylor Ian J. Taylor and Andrew Harrison, Springer; 2ndEdition (November 14, 2008).
ISBN-10:1848001223.
 Peer-to-Peer : Harnessing the Power of Disruptive Technologies by Andy Oram, O'Reilly
Media; 1st Edition (March 15,2001)
 Structured Peer-to-Peer Systems: Fundamentals of Hierarchical Organization, Routing,
Scaling, and Security by Dmitry Korzun and Andrei Gurtov, Springer, (November 12, 2012).
 K. Hwang and Z. Xu, Scalable Parallel Computing, McGraw-Hill, (1998). ISBN 0-07-
031798-4.
 Ian Taylor: From P2P to Web Services and Grids, Springer-Verlag, (2005). ISBN: 1- 85233-
869-5.
 F. Berman, G. Fox, and T. Hey (Editors), Grid Computing, Wiley, (2003). ISBN: 0-470-
85319-0.

Page 81 of 94
Course Title: Distributed System
Course Code: COMP5156
Course Structure: Lectures: 3/ Labs: 0 Credit Hours: 3(3+0)
Pre-requisites: None

Course Objectives:
To help students gain a general understanding of the principles and concepts governing distributed
environment in complex applications.

Course Syllabus:
Goals, Architecture, Examples of Distributed Systems, Characteristics, Hardware and Software
Concepts, Design Issues, Challenges. System Models. Inter-process Communication and
Coordination. Remote Procedural Call. Synchronization and Election. Distributed File Systems.
Distributed Shared Memory. Fault Tolerant and Recovery.

Course Outline:
1. Introduction: Introduction to Distributed Systems: Goals, Architecture, Examples of
Distributed Systems, Characteristics, Hardware and Software Concepts, Design Issues,
Challenges. System Models: Architectural models, fundamental models and Failure
Model.
2. Inter-Process Communication and Coordination: Message Passing Communication:
Communication Primitives, Message Synchronization and Buffering, Pipe, Pipe and
Socket APIs, Group Communication, Multicasting, Remote Procedural Call: Basic
Operation, Implementation and Call Semantics, Failure Handling, LRPC Object Oriented
Distributed Computing Technologies – Basics, Design Issues of Various Technologies
Like RMI and CORBA With Semantics and Executions.
3. Synchronization and Election: Clock Synchronization: Logical and Physical Clocks,
Algorithms and Uses, Mutual Exclusion: Centralize, Distributed and Token Ring
Algorithms, Comparison. Logical Clocks: Lamport‟s Logical Clock, Vector Clocks,
Global State: Needs, Properties and Various Global States Election Algorithm: Bully and
Ring Algorithm.
4. Distributed File Systems: Introduction, Characteristics, File Service Architecture, Sun
Network and Coda File System: Overview of NFS, Communication, Processes, Naming,
Synchronization, Consistency and Replication, Fault Tolerance and Security, Naming
Services: Case Study of Global Name Service and X.500 Directory Service.
5. Distributed Shared Memory: Replication: Introduction, Reasons for Replication, Object
Replication and Scaling Technique, Distributed Shared Memory: Design and
Implementation Issue; Data Centric Consistency Models - Strict, Sequential, Casual, Pram,
Weak, Release, Entry Client-Centric Consistency Models: Eventual, Monotonic Reads,
Monotonic Writes, Read Your Writes, Writes Follow Reads
6. Fault Tolerant and Recovery: Fault Tolerance: Concepts, Failure Models, Failure Masking
by Redundancy, Process Resilience: Design Issues, Failure Masking and Replication,
Agreement in Faulty Systems, Recovery: Introduction, Check-Pointing, Message Logging
– Synchronous and Asynchronous, Adaptive Logging.

Page 82 of 94
Reference Material:
 Distributed Systems – Concept and Design by George Coulouris, Jean Dollimore&
Tim Kindberg, 4th Edition, Pearson (LPE). ISBN –978-81-317-1840-7
 Distributed Systems – Principles and Paradigms by Andrew S. Tanenbaum& Maarten
van Steen, Prentice Hall; 2nd Edition (October 12, 2006) . ISBN- 10:0132392275
 Distributed Computing: Principles, Algorithms, and Systems by Ajay D.
Kshemkalyani and MukeshSinghal, Cambridge University Press; (March 3, 2011).
ISBN- 10: 0521189845
 Distributed Operating System and Algorithm Analysis by Randay Chow and
Theodore Johnson, Pearson (LPE). ISBN –978-81-317-2859-8
 Distributed Algorithms by Nancy A. Lynch, Morgan Kaufmann; 1st Edition (March
15, 1996). ISBN-10:1558603484
 Distributed Systems: An Algorithmic Approach by Sukumar Ghosh, Chapman and
Hall/CRC; 1st Edition (November 22, 2006). ISBN-10:1584885645

Page 83 of 94
Course Title: Quantum Computing
Course Code: COMP5157
Course Structure: Lectures: 3/Labs:0 Credit Hours: 3(3+0)
Prerequisites: None

Course Objectives:
This includes a structural understanding of some basic quantum mechanics, knowledge of important
algorithms such as Grover's and Shor's algorithm and important protocols such as quantum
teleportation. Students would learn the framework of quantum computation, and how that may be
useful for future quantum technologies.

Course Outline:
Hilbert space, Unitary and stochastic dynamics, Probabilities and measurements, Entanglement,
Density operators and correlations, States and measurement, Entangled states, density matrices,
Hermitian operators, commutators, functions of operators, Spins and the Bloch Sphere, Spin
resonance, Two qubit gates, the circuit model, teleportation, Computational complexity, superdense
coding and the Deutsch-Jozsa algorithm, Measurement, Generalized measurement, partial trace,
and distance in state space, Foundations, EPR and Bell's theorem, Introduction to quantum key
distribution, Open quantum systems: quantum process formulation, Open quantum systems:
Hamiltonian formulation and master equations, Error suppression and prevention techniques,
Introduction to quantum error correction, Fault tolerance and the threshold theorem, Grover's
Algorithm, Quantum Fourier Transforms, Quantum phase estimation, finding eigenvalues, Shor's
period (order) finding algorithm and factoring, Entanglement Measures.

Reference Material:
 Benenti, Casati and Strini, Principles of Quantum Computation, v. 1: Basic
Concepts Introductory. See v. 2 for more advanced topics.
 Kaye, LaFlamme and Mosca, An Introduction to Quantum Computing Introductory.
 McMahon, Quantum Computing Explained Undergraduate-oriented text.
 Stolze and Suter, Quantum Computing: a short course from theory to experiment
Physics-oriented introduction with discussion of experimental implementation.
 Mermin, Quantum Computer Science Introductory.
 Nielsen and Chuang, Quantum Computation and Quantum Information An encyclopedic
reference.
 Pittenger, An introduction to Quantum Computing Algorithms
Introduction to algorithms.
 Lo, Popescu and Spiller, Introduction to Quantum Computation and
Information Introductory review chapters to basic concepts and tools.
 Kitaev, Shen and Vyalyi, Classical and Quantum Computation
Advanced

Page 84 of 94
Course Outlines
(Deficiency Courses)

Page 85 of 94
Course Name: Analysis of Algorithms
Course Code: COMP4121
Credit Hours: 3 (3+0)
Pre-requisites: Data Structures
Course Introduction:
Detailed study of the basic notions of the design of algorithms and the
underlying data structures. Several measures of complexity are introduced.
Emphasis on the structure, complexity, and efficiency of algorithms.

CLO No. Course Learning Outcomes Bloom Taxonomy

CLO-1 Explain what is meant by “best”, “expected”,


and “worst” case behavior of an algorithm
CLO-2 Identify the characteristics of data and/or other
conditions or assumptions that lead to different
behaviors.
CLO-3 Determine informally the time and space
complexity of simple algorithms
CLO-4 List and contrast standard complexity classes
CLO-5 Use big O, Omega, Theta notation formally to give
asymptotic upper bounds on time and space
complexity of algorithms
CLO-6 Use of the strategies (brute-force, greedy, divide-
and- conquer, and dynamic programming) to solve
an appropriate problem
CLO-7 Solve problems using graph algorithms,
including single-source and all-pairs shortest
paths, and at least one minimum spanning tree
algorithm
CLO-8 Trace and/or implement a string-matching algorithm
Course Outline:
Introduction; role of algorithms in computing, Analysis on nature of input and size of input
Asymptotic notations; Big-O, Big Ω, Big Θ, little-o, little-ω, Sorting Algorithm analysis,
loop invariants, Recursion and recurrence relations; Algorithm Design Techniques, Brute
Force Approach, Divide-and-conquer approach; Merge, Quick Sort, Greedy approach;
Dynamic programming; Elements of Dynamic Programming, Search trees; Heaps;
Hashing; Graph algorithms, shortest paths, sparse graphs, String matching; Introduction to
complexity classes.
Reference Materials: (or use any other standard and latest books)
1. Introduction to Algorithms (3rd edition) by Thomas H. Corman,
Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
2. Algorithm Design, (1st edition, 2013/2014), Jon Kleinberg, Eva Tardos,
3. Algorithms, (4th edition, 2011), Robert Sedgewick, Kevin Wayne
Page 86 of 94
Course Name: Computer Architecture
Course Code: COMP3147
Credit Hours: 3 (2+1)
Pre-requisites: Computer Organization and Assembly Language
Course Introduction:

The course aims to develop an understanding of design of computer systems and


components, Processor design, instruction set design, and addressing; control structures and
microprogramming; memory management, caches, and memory hierarchies; and interrupts
and I/O structures, Pipelining of processor Issues and Hurdles, exception handling,
Parallelism, Multiprocessor Systems.

CLO No. Course Learning Outcomes Bloom Taxonomy


CLO-1 Understand functionality of major components of C2 Explain
a computer system like CPU, control unit,
memory, I/O and storage.
CLO-2 Understand principles of instruction set design C3 Discuss
including RISC architectures and basic assembly
programming
CLO-3 Understand pipelining and parallelism features C4 Apply
applied in single processor, multiple processors
and multicore architectures
CLO-4 Solve the problems related to computer C3 Apply
architecture

Course Outline:
Digital Hardware Design: Transistors, Digital logic, Hardware description languages
(Verilog). Instruction Set Architecture: Instruction types and mixes, Addressing, RISC vs.
CISC, Exceptions. Scalar Pipelines: Data dependencies, Static scheduling, Performance.
VLIW Pipelines: Local scheduling, Loop unrolling, Software pipelining, Trace scheduling,
Deferred exceptions, Predicated execution, IA64. Dynamic Pipelines: Dynamical
scheduling, Register renaming, Speculative execution, Trace cache. Thread-Level
Parallelism: Cache coherency, Sequential consistency, Multithreading, Symmetric
multiprocessing, Transactional memory. Data-Level Parallelism: GPU programming.
Reference Materials:
1. Hennessy, Patterson, Morgan & Kauffman (2006) Computer Architecture: A
2. Quantitative Approach by Series. (4th. Edition).
3. Dubois et al. (2012). Parallel Computer Organization and Design, Cambridge
4. University Press.
5. Shen,J.P. & Lipasti. H.M. (2005). Modern Processor Design: Fundamentals of
6. Superscalar Processors. (1st edition). McGraw-Hill.
7. Patterson & Hennessy, Morgan & Kauffman Series (2008). Computer Organization
Design. (4th. Edition)
Page 87 of 94
Course Name: Computer Networks
Course Code: COMP2119
Credit Hours: 3 (2+1)
Pre-requisites: None
Course Introduction:
This course introduces the basic concept of computer network to the students.
Network layers, Network models (OSI, TCP/IP) and protocol standards are part
of the course.

CLO No. Course Learning Outcomes Bloom Taxonomy


CLO-1 Describe the key terminologies and technologies of C2 (Describe)
computer networks
CLO-2 Explain the services and functions provided by each layer C2 (Explain)
in the Internet protocol stack.
CLO-3 Identify various internetworking devices and protocols C4 (Identify)
and their functions in a networking
CLO-4 Analyze working and performance of key technologies, C4 (Analyze)
algorithms and protocols
CLO-5 Build Computer Network on various Topologies P3 (Build)

Course Outline:
Introduction and protocols architecture, basic concepts of networking, network
topologies, layered architecture, physical layer functionality, data link layer
functionality, multiple access techniques, circuit switching and packet switching,
LAN technologies, wireless networks, MAC addressing, networking devices,
network layer protocols, IPv4 and IPv6, IP addressing, sub netting, CIDR, routing
protocols, transport layer protocols, ports and sockets, connection establishment,
flow and congestion control, application layer protocols, latest trends in computer
networks.
Reference Materials: (or use any other standard and latest books)
1. Computer Networking: A Top-Down Approach Featuring the Internet, 6th
edition by James F. Kurose and Keith W. Ross
2. Computer Networks, 5th Edition by Andrew S. Tanenbaum
3. Data and Computer Communications, 10th Edition by William Stallings
4. Data Communication and Computer Networks, 5th Edition by Behrouz A. Forouzan

Page 88 of 94
Course Name: Programming Fundamentals
Course Code: COMP1112
Credit Hours: 4 (3+1)
Pre-requisites: None

Course Introduction:

This course provides fundamental concepts of programming to freshmen. The


courses is pre-requisite to many other courses, therefore, students are strongly
advised to cover all contents and try to achieve CLOs to the maximum possible
level. The course may be taught as language independent. Further, it is up to the
university to choose any language for the practical/Lab purpose but that must be
latest and market oriented.

CLO No. Course Learning Outcomes Bloom Taxonomy

CLO-1 Understand basic problem solving steps and logic C2 (Understand)


constructs
CLO-2 Apply basic programing concepts C3 (Apply)
CLO-3 Design and implement algorithms to solve real world C3 (Solve)
problems

Course Outline:
Introduction to problem solving, a brief review of Von-Neumann architecture,
Introduction to programming, role of compiler and linker, introduction to
algorithms, basic data types and variables, input/output constructs, arithmetic,
comparison and logical operators, conditional statements and execution flow for
conditional statements, repetitive statements and execution flow for repetitive
statements, lists and their memory organization, multi-dimensional lists,
introduction to modular programming, function definition and calling, stack rolling
and unrolling, string and string operations, pointers/references, static and dynamic
memory allocation, File I/O operations.

Reference Materials (or use any other standard and latest books):
1. Starting out with Programming Logic & Degins, 4th Edition, Tony Gaddis,
2. The C Programming Language, 2nd Edition by Brian W. Kernighan, Dennis M. Ritchie
3. Object Oriented Programming in C++ by Robert Lafore
4. C How to Program, 7th Edition by Paul Deitel & Harvey Deitel
5. Problem Solving and Program Design in C++, 7th Edition by Jeri R. Hanly & Elliot
B. Koffman

Page 89 of 94
Course Name: Data Structures
Course Code: COMP2117
Credit Hours: 4 (3+1)
Contact Hours: 3+1
Pre-requisites: Programming Fundamentals
Course Introduction:
The course is designed to teach students structures and schemes, which allow them
to write programmer to efficiently manipulate, store, and retrieve data. Students
are exposed to the concepts of time and space complexity of computer programs.

CLO No. Course Learning Outcomes Bloom Taxonomy


CLO-1 Implement various data structures and their algorithms C3 (Apply)
and apply them in implementing simple applications

CLO-2 Analyze simple algorithms and determine their C5 (Analyze)


complexities.
CLO-3 Apply the knowledge of data structure to other application C3 (Apply)
domains.

CLO-4 Design new data structures and algorithms to solve C6 (Design)


problems.

Course Outline:
Abstract data types, complexity analysis, Big Oh notation, Stacks (linked lists and
array implementations), Recursion and analyzing recursive algorithms, divide and
conquer algorithms, Sorting algorithms (selection, insertion, merge, quick, bubble,
heap, shell, radix, bucket), queue, dequeuer, priority queues (linked and array
implementations of queues), linked list & its various types, sorted linked list,
searching an unsorted array, binary search for sorted arrays, hashing and indexing,
open addressing and chaining, trees and tree traversals, binary search trees, heaps,
M-way tress, balanced trees, graphs, breadth-first and depth-first traversal,
topological order, shortest path, adjacency matrix and adjacency list
implementations, memory management and garbage collection.

Reference Materials: (or use any other standard and latest books)
1. Data Structures and Algorithm Analysis in Java by Mark A. Weiss
2. Data Structures and Abstractions with Java by Frank M. Carrano &
Timothy M. Henry
3. Data Structures and Algorithms in C++ by Adam Drozdek
4. Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss
Java Software Structures: Designing and Using Data Structures by
John Lewis and Joseph Chase

Page 90 of 94
Course Name: Database Systems
Course Code: COMP2114
Credit Hours: 4 (3+1)
Pre-requisites: None
Course Introduction:
The course aims to introduce basic database concepts, different data models, data
storage and retrieval techniques and database design techniques. The course
primarily focuses on relational data model and DBMS concepts

CLO No. Course Learning Outcomes Bloom Taxonomy


CLO-1 Explain fundamental database concepts. C2 (Explain)

CLO-2 Design conceptual, logical and physical database schemas C5 (Design)


using different data models.
CLO-3 Identify functional dependencies and resolve database C2 (Identify)
anomalies by normalizing database tables.
CLO-4 Use Structured Query Language (SQL) for database C4 (Use)
definition and manipulation in any DBMS

Course Outline:
Basic database concepts, Database approach vs. file based system, database
architecture, three level schema architecture, data independence, relational data
model, attributes, schemas, tuples, domains, relation instances, keys of relations,
integrity constraints, relational algebra, selection, projection, Cartesian product,
types of joins, normalization, functional dependencies, normal forms, entity
relationship model, entity sets, attributes, relationship, entity-relationship diagrams,
Structured Query Language (SQL), Joins and sub-queries in SQL, Grouping and
aggregation in SQL, concurrency control, database backup and recovery, indexes,
NoSQL systems.

Reference Materials: (or use any other standard and latest books)
1. Database Systems: A Practical Approach to Design,
Implementation, and Management, 6th Edition by Thomas
Connolly and Carolyn Begg
2. Database Systems: The Complete Book, 2nd Edition by Hector Garcia-Molina,
Jeffrey D. Ullman, Jennifer Widom
3. Database System Concepts, 6th Edition by Avi Silberschatz, Henry F. Korth
and S. Sudarshan.
4. Database Management Systems, 3rd Edition by Raghu Ramakrishnan, Johannes Gehrke

Page 91 of 94
Course Name: Operating Systems
Course Code: COMP3142
Credit Hours: 3 (2+1)
Pre-requisites: Data Structures

Course Introduction:

To help students gain a general understanding of the principles and concepts


governing the functions of operating systems and acquaint students with the
layered approach that makes design, implementation and operation of the
complex OS possible.

CLO No. Course Learning Outcomes Bloom Taxonomy

CLO-1 Understand the characteristics of different structures of C2 (Understand)


the Operating Systems and identify the core functions of
the Operating Systems
CLO-2 Analyze and evaluate the algorithms of the core functions C5 (Evaluate)
of the Operating Systems and explain the major
performance issues with regard to the core functions
CLO-3 Demonstrate the knowledge in applying system software C3 (Demonstrate)
and tools available in modern operating systems.

Course Outline:
Operating systems basics, system calls, process concept and scheduling, inter-
process communication, multithreaded programming, multithreading models,
threading issues, process scheduling algorithms, thread scheduling, multiple-
processor scheduling, synchronization, critical section, synchronization hardware,
synchronization problems, deadlocks, detecting and recovering from deadlocks,
memory management, swapping, contiguous memory allocation, segmentation &
paging, virtual memory management, demand paging, thrashing, memory-mapped
files, file systems, file concept, directory and disk structure, directory
implementation, free space management, disk structure and scheduling, swap space
management, system protection, virtual machines, operating system security
Reference Materials: (or use any other standard and latest books)
1. Operating Systems Concepts, 9th edition by Abraham Silberschatz
2. Modern Operating Systems, 4th edition by Andrew S. Tanenbaum
3. Operating Systems, Internals and Design Principles, 9th edition by William StallingsWu

Page 92 of 94
Course Name: Software Engineering
Course Code: COMP2112
Credit Hours: 3 (3+0)
Contact Hours: 3+0
Pre-requisites: None

Course Introduction:

CLO No. Course Learning Outcomes Bloom Taxonomy

CLO-1 Describe various software engineering processes and C1 (Describe)


activates
CLO-2 Apply the system modeling techniques to model a C3 (Apply)
medium size software systems
CLO-3 Apply software quality assurance and testing principles to C4 (Apply)
medium size software systems
CLO-4 Discuss key principles and common methods for software C2 (Discuss)
project management such as scheduling, size estimation,
cost estimation and risk analysis

Course Outline:
Nature of Software, Overview of Software Engineering, Professional software
development, Software engineering practice, Software process structure, Software
process models, Agile software Development, Agile process models, Agile
development techniques, Requirements engineering process, Functional and non-
functional requirements, Context models, Interaction models, Structural models,
behavioral models, model driven engineering, Architectural design, Design and
implementation, UML diagrams, Design patterns, Software testing and quality
assurance, Software evolution, Project management and project planning,
configuration management, Software Process improvement

Reference Materials: (or use any other standard and latest books)
1. Software Engineering, Sommerville I., 10th Edition, Pearson Inc., 2014
2. Software Engineering, A Practitioner‟s Approach, Pressman R. S.& Maxim B.
R., 8th Edition, McGraw-Hill, 2015.

Page 93 of 94
Course Name: Theory of Automata
Course Code: COMP3148
Credit Hours: 3 (3+0)
Pre-requisites: None

Course Introduction:

CLO No. Course Learning Outcomes Bloom Taxonomy


CLO-1 Explain and manipulate the different concepts in automata C2 (Understand)
theory and formal languages such as formal proofs,
automata, regular expressions, Turing machines etc.
CLO-2 Prove properties of languages, grammars and automata C2 (Understand)
with rigorously formal mathematical methods
CLO-3 Design of automata, RE and CFG C3 (Apply)
CLO-4 Transform between equivalent NFAs, DFAs and REs C3 (Apply)
CLO-5 Define Turing machines performing simple tasks C2 (Understand)
CLO-6 Differentiate and manipulate formal descriptions of C3 (Apply)
languages, automata and grammars with focus on
regular and context-free languages, finite automata
and
regular expressions.

Course Outline:
Finite State Models: Language definitions preliminaries, Regular expressions/Regular
languages, Finite automata (FAs), Transition graphs (TGs), NFAs, Kleene‟s theorem,
Transducers (automata with output), Pumping lemma and non-regular language Grammars
and PDA: CFGs, Derivations, derivation trees and ambiguity, Simplifying CFLs, Normal
form grammars and parsing, Decidability, Context sensitive languages, grammars and
linear bounded automata (LBA), Chomsky‟s hierarchy of grammars Turing Machines
Theory: Turing machines, Post machine, Variations on TM, TM encoding, Universal
Turing Machine, Defining Computers by TMs.

Reference Materials:
1 Introduction to computer theory, Daniel I. A. Cohen, 2nd Edition
2 Automata, Computability and Complexity: Theory and Applications, by
Elaine Rich, 2011
3 An Introduction to Formal Languages and Automata, by Peter Linz, 4th edition,
Jones & Bartlett Publishers, 2006
4 Theory of Automata, Formal Languages and Computation, by S. P. Eugene,
Kavier, 2005, New Age Publishers

Page 94 of 94

You might also like