N | Code | Name | Credit Hours | Pre-requisite | Course Specification | Short Description |
---|---|---|---|---|---|---|
1 | CPCS353 | Software Engineering Practice | 3 | CPCS351 | NA |
View Short DescriptionThis 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 DescriptionThis 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 DescriptionThe 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 DescriptionTopics: 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 DescriptionTopics: 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 DescriptionThe 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 DescriptionThis 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 DescriptionTopics: 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 DescriptionThis 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 DescriptionThis 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 DescriptionThis 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 DescriptionThis 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 DescriptionThe 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 DescriptionThis 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 DescriptionThis 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 DescriptionThis 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 DescriptionThis 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 DescriptionThis course aims to familiarize students with the fundamentals of performance and computer systems modelling. |
19 | CPCS466 | System programming | 3 | CPCS361 | NA |
View Short DescriptionThis course gives students knowledge about design, development and operation of system applications. |
20 | CPCS473 | Computer networks practice | 3 | CPCS371 | NA |
View Short DescriptionThis 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 DescriptionThis 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 DescriptionThis 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 DescriptionTopics 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. |