Computer Sciences Program
Elective Courses Details

N Code Name Credit Hours Pre-requisite Course Specification Short Description
1 CPCS353 Software Engineering Practice 3 CPCS351 NA
View Short Description

This course aims to provide students with the procedures of implementing software engineering projects. It particularly emphasizes on the practical and operational aspects.

2 CPCS372 Computer Network 2 3 CPCS371 NA
View Short Description

This course introduces the students to Wireless Networks. The course covers history of wireless networks, Multiple Access, Spreading, GSM and AMPS Architectures and WLANS.

3 CPCS403 Internet Application programming 3 CPCS371 And CPCS324 NA
View Short Description

The aim of this course is to introduce the students the fundamentals of Internet Software Applications and to provide students with the knowledge and skills necessary to recognize concepts of Internet Application Programming, and to learn some internet programs such as HTML, CSS, PHP and MySQL.

4 CPCS404 Component based computing 3 CPCS351 NA
View Short Description

Topics: Recent researches related to Component-Based Computing; Rationale of using component-based computing and their standard criteria; Components fundamentals; Recent techniques used in Component-Based Computing; Issues related to the components-based technology; Estimating the production costs; The various tools of the Component-Based Computing; The future of the Component-Based Computing.

5 CPCS405 Software technology topic 3 CPCS351 NA
View Short Description

Topics: Software and programming Technologies; Programming languages, software designing models, Unified Modelling Language (UML), software components, distributed object-oriented technology; Applications related to the above topics.

6 CPCS413 Computer Architecture 2 3 CPCS214 NA
View Short Description

The objective of this course is to explain how computers are designed and how they work. Students are introduced to modern computer principles using a typical processor. They learn how efficient memory systems are designed to work closely with the processor, and how input/output (I/O) systems bring the processor and memory together with a wide range of devices. The course emphasizes system-level issues and understanding program performance. Topics include instructions sets, assembly language, internal data representation, computer arithmetic, processor data path and control, memory hierarchy, I/O devices and interconnects, and an introduction to parallel processing.

7 CPCS414 Hight performance computing 3 CPCS361 NA
View Short Description

This course provides an in-depth overview of the current state of the art in high-performance computing. In addition to providing them with more information about the architecture of high performance computers.

8 CPCS424 Theory of Computation 3 CPCS212 And CPCS222 NCAAA Course Spec.
View Short Description

Topics: The concept of the Theory of Computation and its significance; In addition to (grammars, mechanisms, languages, and properties).

9 CPCS425 Information security 3 CPCS361 And CPCS371 NCAAA Course Spec.
View Short Description

This course considers the technical and operational issues of information and computer network security. The course investigates the threats to network security including schemes for breaking security, and techniques for detecting and preventing security violations. Emphasis will be on conventional and public-key cryptosystems and their applications to achieve various security goals.

10 CPCS432 Artificial Intelligence 2 3 CPCS331 NA
View Short Description

This course aims to introduce to the students advanced topics concerning Artificial Intelligence and teaching the students a programming language related to this course.

11 CPCS433 Artificial Intelligence Topic 3 CPCS331 NA
View Short Description

This course introduces the students with recent topics related to the Artificial Intelligence and the latest advances in this field.

12 CPCS442 Database 2 3 CPCS241 NCAAA Course Spec.
View Short Description

This course will introduce principles and foundations of distributed databases including: transactions, recovery, query processing and optimization, concurrency control.

13 CPCS454 Object oriented analysis and design 3 CPCS351 NA
View Short Description

The objective of this course is to familiarize students with the fundamental foundations of Object-Oriented Approach in relation to systems and advantages of this method. This course covers understanding various approaches and methodologies used in different phases of software development life cycle, including requirements, analysis and specification, software design, software construction, software maintenance, and software process.

14 CPCS457 Software Engineering theory 3 CPCS351 NA
View Short Description

This course teaches the advanced concepts in software engineering. In the first place it covers the concepts of sociotechnical system – a system that includes people, software, and hardware. It includes a system perspective on security and dependability. In the second place, advance software engineering concepts such as software reuse, component-based software, distributed systems, service-oriented architecture, embedded systems, and aspect-oriented systems are introduced.

15 CPCS462 Operating Systems 2 3 CPCS361 NA
View Short Description

This course aims to familiarize students with the modern alternative operating models such as: Distributed Processing, Parallel Processing, and Real-Time Processing.

16 CPCS463 Computing System Security 3 CPCS361 And CPCS371 NA
View Short Description

This course aims to introduce to the students the fundamental basics of Computer Security Systems and the potential risks, and Vulnerabilities in these systems. Course Learning Outcomes (CLOs)

17 CPCS464 Dependable Computing 3 CPCS463 NA
View Short Description

This course aims to acquaint students with the high-reliability computer systems used in critical applications which are fault-intolerant.

18 CPCS465 Performance and modeling of Computing Systems 3 CPCS324 And CPCS361 NA
View Short Description

This course aims to familiarize students with the fundamentals of performance and computer systems modelling.

19 CPCS466 System programming 3 CPCS361 NA
View Short Description

This course gives students knowledge about design, development and operation of system applications.

20 CPCS473 Computer networks practice 3 CPCS371 NA
View Short Description

This course aims to introduce topics related to the practical aspects of networks so that students will be able to be familiar with the various network components.

21 CPCS474 TCP/IP & Web Networking 3 CPCS371 NA
View Short Description

This course aims to introduce the fundamentals of TCP/IP networks and the Web. Upon finishing this course, students will gain a specialist knowledge about TCP/IP networks and the Web.

22 CPCS482 Multimedia & User Interface Design 3 CPCS381 NCAAA Course Spec.
View Short Description

This course aims to explore the fundamentals of multimedia and the use of multimedia in user interface design. The course is intended to give students both a theoretical understanding of, and practical experience with, designing multimedia products and the user interface design.

23 CPCS494 Special/Selected Topics 3 Department Approval NCAAA Course Spec.
View Short Description

Topics are selected from different areas in Computer Sciences that are not covered in the description of the courses listed in the curriculum. This course will cover subjects of recent issues and trends in computer science and may be let to the willing of the instructor, and must cover but not limited to the following advanced subjects: new trends in the Web technology, new trends in distributed and mobile computing, new trends in Artificial intelligence, new trends in software engineering, etc. Students are assigned individual projects in these specific fields: Project Reports and seminars, so to demonstrate their ability in research and oral presentations. Projects are discussed in workgroups so to involve the whole class in these subjects.

Students have to choose 3 different courses from the above list.