Al Al-Bayt University
Prince Hussein bin Abdullah College for Information Technology
Department of Computer Science
Program of Study for the MS Degree in Computer Science
-Thesis Option-
2015-2014
Program of Study for the Master of Science Degree in Computer Science
-Thesis Option-
1)Course Numbering System:
- College Code
College / Code
Information Technology / 09
- Specialization Code
Specialization / Code
Computer Science / 01
Computer Information Systems / 02
Management Information Systems / 04
- CourseNumbers Format
0 / 2 / 2 / 01 / 09
Sequence Number / Course Field Code / Level (Year) / Specialization / College Code- Course Field Code
Field Name / Field Code / Field Name / Field Code
Algorithms / 5 / Computer Fundamentals / 0
Modeling and Simulation / 6 / Programming Languages / 1
Artificial Intelligence / 7 / Computer Networks / 2
Computer Architecture / 8 / Computer Systems / 3
Thesis/Seminar / 9 / Software Design / 4
The requirements for obtaining the MS degree in Computer Science with thesis consist of the following:
2)Departmental Mandatory Courses
The mandatory courses consist of (15) credit hours of coursework, distributed as follows:
Course Number / Course Name / Credit Hours / Prerequisite0901710 / Programming Languages Structures / 3 / -
0901720 / Advanced Computer Networks / 3 / -
0901750 / Analysis of Algorithms / 3 / -
0901780 / Advanced Computer Architecture / 3 / -
0901791 / Seminar / 3
3)Departmental Electives
The student selects (9) credit hours from the following:
Course Number / Course Name / Credit Hours / Prerequisite0901711 / Parallel Programming / 3 / 0901710
0901721 / Wireless Networks / 3 / 0901720
0901722 / Computer Network Security / 3 / 0901720
0901730 / Distributed Operating Systems / 3
0901732 / Advanced Database Systems / 3
0901740 / Object Oriented Software Development / 3 / 0901710
0901741 / Advanced Software Engineering / 3
0901770 / Advanced Artificial Intelligence / 3
4)The student must defend an MS thesis (0901799) that counts for (9) credit hours.
Recommended Courses SequenceFirst Year
Second Semester / First SemesterHours / Subject Name / Subject No. / Hours / Subject Name / Subject No.
3 / Seminar / 0901791 / 3 / Programming Languages Structures / 0901710
3 / Advanced Computer Architecture / 0901780 / 3 / Advanced Computer Networks / 0901720
3 / Elective / ------/ 3 / Analysis of Algorithms / 0901750
Second Year
Second Semester / First SemesterHours / Subject Name / Subject No. / Hours / Subject Name / Subject No.
3 / MS Thesis (Thesis defended) / 0901799 / 3 / Elective / ------
3 / Elective / ------
Third Year
Second Semester / First SemesterHours / Subject Name / Subject No. / Hours / Subject Name / Subject No.
6 / MS Thesis (Thesis defended) / 0901799
MSc Courses in the Computer Science Department
No. / Course Number / Course Name / Credit Hours1. / 0901710 / Programming Languages Structures / 3
2. / 0901711 / Parallel Programming / 3
3. / 0901720 / Advanced Computer Networks / 3
4. / 0901740 / Object Oriented Software Development / 3
5. / 0901750 / Analysis of Algorithms / 3
6. / 0901780 / Advanced Computer Architecture / 3
7. / 0901721 / Wireless Networks / 3
8. / 0901722 / Computer Network Security / 3
9. / 0901730 / Distributed Operating Systems / 3
10. / 0901732 / Advanced Database Systems / 3
11. / 0901741 / Advanced Software Engineering / 3
12. / 0901770 / Advanced Artificial Intelligence / 3
13. / 0901791 / Seminar / 3
Description of Courses
0901710 Programming languages Structures
Prereq: -
Characteristics and categories of programming languages. Syntax and semantics. Formal methods of syntactic specification of programming languages. Semantic aspects: typing, scoping, binding, and parameter passing. Modularity and abstraction mechanisms. Object-oriented programming. Exception handling. Concurrency. Declarative programming languages. Examples using modern programming languages such as C++, Lisp and Ada. Programming projects.
0901711 Parallel Programming
Prereq: 0901710
Applications of parallel programming. Shared memory and distributed memory parallel computers. Models of parallel computation. Development of parallel programs: functional and data decomposition, agglomeration, and task mapping. Performance parameters of parallel applications. Multiprocessors, multicomputers and interconnection networks. Message passing. Wormhole routing.. Selected parallel programming languages and tools, such as PVM, PARIX and LINDA. Programming assignments on a parallel machine.
0901720 Advanced Computer Networks
Prereq: -
Organization and components of computer networks. TCP/IP and OSI layers. Distributed routing. Transport layer and services. Network programming. IP layer and interconnecting heterogeneous networks. IPv6. Error, flow and congestion control. Presentation layer. Network security. Example networks: Ethernet, Gigabit Ethernet and 802.11. Delay models in computer networks: M/M/1, M/G/1 and G/G/1. Programming projects in network programming and simulation of parts of reference network layers.
0901721 Wireless Networks
Prereq: 0901720
Introduction to the protocol architecture of the physical layer, data link layer, network layer and transport layer for wireless networking. Operation and management of medium access control in wireless local area networks. 802.11. Mobile IP. Mobile TCP. Wireless application protocol. Ad hoc networks.
0901730 Distributed Operating Systems
Prereq: 0901332 or equivalent
Functions of operating systems. Main characteristics of distributed systems. The client/server distributed computing model. Heterogeneity. Network operating systems. Distributed computing environments. Inter-process communication and remote procedure calls. Distributed objects. Multithreading. Synchronization and concurrency control. Distributed file systems. Examples, such as CORBA and Sun NFS.
0901732Advanced Database Systems
Prereq: 090331 or equivalent
Database models. Query languages. Database schema design. Storage, access methods, and query processing. Transaction management and concurrency control. Database security. Distributed database systems. Data warehousing and data mining.
090740 Object Oriented Software Development
Prereq: 0901710
Principles of object-oriented programming. Methods and tools used in the development and testing of software: architectural design, component design, interface specification, and data and algorithm specification and design. Object-oriented design using current tools (e.g., UML). Distributed object architectures. Specification and design project.
0901741 Advanced Software Engineering
Prereq: Departmental consent
Software Engineering: The software crisis, principles of software engineering, programming-in-the-small vs. programming-in-the-large.
Software process: The software lifecycle, the waterfall model and variations, risk-driven approaches, introduction to evolutionary and prototyping approaches, agile process models, system classifications
Project management: Relationship to lifecycle, project planning, project control, project organization, risk management, cost models, configuration management, version control, quality assurance, metrics
Software requirements: Requirements analysis, functional and non-functional requirements elicitation, analysis tools, requirements definition, requirements specification, static and dynamic specifications, requirements review.
Software design: Design for reuse, design for change, design notations, design evaluation and validation
Implementation and Maintenance: Programming standards and procedures, modularity, data abstraction, static analysis, unit testing, integration testing, regression testing, verification and validation, tools for testing, fault tolerance. The maintenance problem, the nature of maintenance, planning for maintenance
090750 Analysis of Algorithms
Prereq: 0901340 or equivalent
Asymptotic notation. Algorithm analysis methods. Greedy algorithms and divide-and-conquer algorithms. Dynamic programming. Probabilistic algorithms. Applications to sorting, scheduling, and graphs. Theoretical models for computing computational complexity. NP-complete and NP-hard problems. Approximation algorithms.
0901770 Advanced Artificial Intelligence
Prereq: 0901470 or equivalent
Overview. Search rules (informed(heuristic) search strategies and un-informed search strategies). Knowledge and knowledge representation. Expert systems. Uncertain knowledge and reasoning. Parallel and distributed deductive systems. Neural networks. Learning. Planning. Fuzzy logic. Genetic algorithms. Natural language processing. Applications using AI languages, such as Prolog or Lisp.
0901780-Advanced Computer Architecture
Prereq: 0901320 or equivalent
Basic Building Blocks: Boolean logic and Boolean algebra, tri-state logic; flip-flops, counters, shift registers, adders, substractor, encoders, decoders, multiplexors, demultiplexors
Register Transfer and Micro Operations: Bus and memory transfers, arithmetic, logic shift micro operations; basic computer organization: common bus system, instructions, instruction cycle, input/output configuration, CPU organization, micro programmed control unit, register organization, stack organization, instruction formats; RISC architecture; microprocessor architecture.
Memory Unit: Primary memory, secondary memory, associative memory, sequential access, direct access storage devices.
Input-Output Architecture: Input/Output devices; data transfer schemes – programmed I/O and DMA transfer; data transfer schemes for microprocessors.
0901791Seminar
Prereq: Passing 9 graduate-level credit hours
MS thesis proposal writing. Simulation and analytical and experimental research methods. Review of recent research papers from the literature. Analyzing and summarizing research papers. Components of MS thesis. Presentations by current graduate students of their research. Project: writing a proposal for scientific research.
0901799MS Thesis
Prereq: as per university regulations
1