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:

  1. College Code

College / Code
Information Technology / 09
  1. Specialization Code

Specialization / Code
Computer Science / 01
Computer Information Systems / 02
Management Information Systems / 04
  1. CourseNumbers Format

0 / 2 / 2 / 01 / 09

    

Sequence Number / Course Field Code / Level (Year) / Specialization / College Code
  1. 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 / Prerequisite
0901710 / 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 / Prerequisite
0901711 / 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 Sequence

First Year

Second Semester / First Semester
Hours / 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 Semester
Hours / Subject Name / Subject No. / Hours / Subject Name / Subject No.
3 / MS Thesis (Thesis defended) / 0901799 / 3 / Elective / ------
3 / Elective / ------

Third Year

Second Semester / First Semester
Hours / 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 Hours
1. / 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