Computer Science

Computer science is developed to be the systematic study of computing system and computation. The body of knowledge resulting from this discipline contains theories for understanding computer systems and methods design methods, algorithms, and tools methods for testing of concepts methods of analysis and verification and knowledge representation and implementation. Moreover, it goes all the way to cutting-edge developments in robotics, computer vision, intelligent systems, bioinformatics, and other exciting areas. We can think of the work of computer scientists as falling into three categories. They design and implement software. Computer scientists take on challenging programming jobs. They also supervise other programmers, keeping them aware of new approaches. They devise new ways to use computers. Progress in the CS areas of networking, database, and human-computer-interface enabled the development of the World Wide Web. Now CS researchers are working with scientists from other fields to make robots become practical and intelligent aides, to use databases to create new knowledge, and to use computers to help decipher the secrets of our DNA. They develop effective ways to solve computing problems. For example, computer scientists develop the best possible ways to store information in databases, send data over networks, and display complex images. Their theoretical background allows them to determine the best performance possible, and their study of algorithms helps them to develop new approaches that provide better performance. Computer science spans the range from theory through programming. Curricula that reflect this breadth are sometimes criticized for failing to prepare graduates for specific jobs. While other disciplines may produce graduates with more immediately relevant job-related skills, computer science offers a comprehensive foundation that permits graduates to adapt to new technologies and new ideas.

Semester 1    Semester 2    Semester 3    Semester 4    Semester 5    Semester 6    Semester 7    Semester 8   

Semester #1
CodeTitlePrequisitesCourse Material
BA101 Calculus 1 None
BA113 Physics None Course material
CS111 Introduction to Computers None Course material
IS171 Introduction to Information systems None Course material
LH135 English For Specific Purposes I None

Semester #2
CodeTitlePrequisitesCourse Material
BA102 Calculus 2 BA101 Course material
CS143 Introduction to Problem Solving and Programming CS111 Course material
EC134 Fundamentals of Electronics BA113 Course material
GM311 Introduction to Multimedia CS111
LH136 English For Specific Purposes II LH135
NC133 Communication Skills LH135

Semester #3
CodeTitlePrequisitesCourse Material
BA201 Calculus III BA102
BA203 Probability and Statistics BA102
BA216 Advanced Physics BA113
CE216 Digital Logic Design CS111
CS202 Discrete Structures CS111 Course material
CS243 Object Oriented Programming CS143 Course material

Semester #4
CodeTitlePrequisitesCourse Material
CE231 Introduction to Networks CS143
CE243 Intro. to Computer Architecture CE216
CS212 Data Structures and Algorithms CS243 Course material
CS244 Advanced Programming Applications CS243 Course material
IS273 Database Systems CS143 Course material
IT321 Professional Training in Programming I (.Net 1) None
SE291 Introduction to Software Engineering CS243, IS171 Course material

Semester #5
CodeTitlePrequisitesCourse Material
BA301 Advanced Statistics BA203
BA304 Linear Algebra BA102
CS311 Theory of Computation CS202 Course material
CS321 Systems Programming CS243, CE243 Course material
CS333 Web Programming IS273 Course material
CS352 Computer Graphics CS212
IT322 Professional Training in Programming II (.Net 2) IT321

Semester #6
CodeTitlePrequisitesCourse Material
CS301 Numerical Methods BA304, CS143 Course material
CS305 System Modeling and Simulation BA203, CS243
CS312 Computing Algorithms CS212 Course material
CS322 Operating Systems CS212, CE243 Course material
CS366 Introduction to Artificial Intelligence CS212, CS202 Course material

Semester #7
CodeTitlePrequisitesCourse Material
CS401 Project 1 GPA=2 & 96CR or more
CS445 Structure of Programming Languages CS311, CS321 Course material
CS481 Computers & Society 96 CR or more

Semester #8
CodeTitlePrequisitesCourse Material
CS402 Project 2 CS401
CS421 Computer System Security CS322, CE231 Course material
CS451 Human Computer Interaction SE291 Course material


Elective courses
CodeTitlePrequisites
CS449Functional Programming CS445
SE391Project Management SE291
CS475Information Retrieval CS212, BA304
CS469Robotics Applications CS366, CE243
CS468Advanced Artificial Intelligence CS366
CS464Soft Computing CS366
CS461Software Agents CS366
CS454Multimedia Acquisition and Communications CS244, CE231
CS453Virtual Environments CS352
CS353Digital Image Processing CS212, BA201
CS443Game Programming CS243, CS352
CS441Compilers CS321, CS445
CS432Network Protocols & Programming CE231, CS243
CS428Cloud Computing CS322, CE231
CS427Embedded Systems Programming CS143, CE243
CS425Distributed Systems CS322
CS403Optimization Techniques CS301


Elective courses