| Code | Course | Prerequisites / Conditions |
| CS111 |
Discrete Structures in Computer Science and Computation |
|
| CS121 |
Digital Systems |
|
| CS131 |
Programming Principles I |
|
| CS132 |
Programming Principles II |
CS131 |
| CS202 |
Explorations into Computer Science |
|
| CS211 |
Theory of Computation and Complexity |
CS111, MAS017 |
| CS221 |
Computer Organization and Assembly Language Programming |
CS121, CS131
|
| CS222 |
Operating Systems |
CS221 |
| CS231 |
Data Structures and Algorithms |
CS111, CS132 |
| CS233 |
Object-Oriented Programming |
CS231 |
| CS241 |
Systems Analysis and Design |
|
| CS323 |
Theory and Practice of Compilers |
CS211, CS231 |
| CS324 |
Communications and Networks |
CS121, CS131 |
| CS336 |
Algorithms and Complexity |
CS231 |
| CS341 |
Artificial Intelligence |
CS231 |
| CS342 |
Databases |
CS231 |
| CS361 |
Software Engineering |
CS241 |
| CS345 |
Software Engineering Group Project |
CS361 |
| CS370 |
Computer Architecture |
CS222 |
| CS371 |
System Programming |
CS222, CS231 |
| CS372 |
Parallel Programming |
CS222 |
| CS375 |
Advanced Networks |
CS324 |
| CS400-CS401 |
Diploma Project |
Approval by Academic Advisor |
| CS412 |
Logic in Computer Science |
CS111 |
| CS413 |
Computational Geometry |
CS231 |
| CS424 |
Digital Signal Processing |
CS111, MAS016, MAS017 |
| CS425 |
Internet Technologies |
CS233, CS324 |
| CS426 |
Computer Graphics |
CS132 |
| CS429 |
Context-Aware Pervasive Systems |
CS132, CS324 |
| CS431 |
Synthesis of Parallel Algorithms |
CS231 |
| CS432 |
Distributed Algorithms |
CS211, CS231 |
| CS433 |
Constraint Programming and Satisfaction |
CS111, CS231
|
| CS434 |
Logic Programming and Artificial Intelligence |
CS111
|
| CS435 |
Human - Computer Interaction |
|
| CS442 |
Learning Systems |
CS231 |
| CS444 |
Computational Intelligence Systems |
CS442 |
| CS445 |
Digital Image Processing |
CS231, MAS016 |
| CS446 |
Advanced Databases |
CS342 |
| CS447 |
Computational Vision |
CS231, MAS016 |
| CS448 |
Intelligent Agents and Multi-Agent Systems |
CS233 |
| CS450 |
Computational Biology |
CS231, MAS016 |
| CS451 |
Data Mining in the World Wide Web |
CS231, CS342 |
| CS464 |
Software Architectures |
CS233, CS361 |
| CS470 |
Design of Embedded Systems |
CS221 |
| CS475 |
Network and Information Security |
CS324 |
| CS476 |
Mobile Computer Networks |
CS324 |
| MAS013 |
Calculus for Computer Science II |
MAS012 |