Code | Course | Prerequisites / Conditions |
CS111 | Discrete Structures in Computer Science and Computation | |
CS121 | Digital Systems | |
CS131 | Programming Principles | |
CS133 | Object-Oriented Programming | CS131 - Programming Principles |
CS202 | Explorations into Computer Science | |
CS211 | Theory of Computation |
CS111 - Discrete Structures in Computer Science and Computation MAS012 - Calculus I |
CS221 | Computer Organization and Assembly Language Programming | CS121 - Digital Systems |
CS222 | Operating Systems |
CS221 - Computer Organization and Assembly Language Programming CS232 - Programming Techniques and Tools |
CS231 | Data Structures and Algorithms |
CS111 - Discrete Structures in Computer Science and Computation CS133 - Object-Oriented Programming |
CS232 | Programming Techniques and Tools | CS131 - Programming Principles |
CS236 | Algorithms and Complexity | CS231 - Data Structures and Algorithms |
CS324 | Communications and Networks | CS131 - Programming Principles |
CS325 | Parallel Processing | CS221 - Computer Organization and Assembly Language Programming |
CS326 | Systems Security | CS232 - Programming Techniques and Tools |
CS341 | Artificial Intelligence | CS231 - Data Structures and Algorithms |
CS342 | Databases | CS231 - Data Structures and Algorithms |
CS343 | Software Engineering | CS133 - Object-Oriented Programming |
CS344 | Internet Technologies | CS133 - Object-Oriented Programming |
CS371 | System Programming |
CS222-Operating Systems CS231- Data Structures and Algorithms |
CS400 – CS401 | Diploma Project | Approval by Academic Advisor |
CS411 | Programming Languages Semantics | CS211 - Theory of Computation |
CS412 | Logic in Computer Science | CS111 - Discrete Structures in Computer Science and Computation |
CS413 | Computational Geometry | CS231 - Data Structures and Algorithms |
CS420 | Computer Architecture | CS222 - Operating Systems |
CS421 | Systems Programming | CS222 - Operating Systems |
CS422 | Advanced Networks | CS324 - Communications and Networks |
CS423 | Network and Information Security | CS324 - Communications and Networks |
CS424 | Digital Signal Processing |
CS111 - Discrete Structures in Computer Science and Computation MAS016 - Linear Algebra for Computer Science MAS012 - Calculus I |
CS426 | Computer Graphics | CS232 - Programming Techniques and Tools |
CS428 | Internet of Things: Programming and Applications | CS221 - Computer Organization and Assembly Language Programming CS222 - Operating Systems |
CS429 | Theory and Practice of Compilers |
CS211- Theory of Computation CS231 - Data Structures and Algorithms |
CS431 | Synthesis of Parallel Algorithms | CS231 - Data Structures and Algorithms |
CS432 | Distributed Algorithms |
CS211 - Theory of Computation CS231 - Data Structures and Algorithms |
CS433 | Constraint Programming and Satisfaction |
CS111 - Discrete Structures in Computer Science and Computation CS231 - Data Structures and Algorithms |
CS434 | Logic Programming and Artificial Intelligence | CS111 - Discrete Structures in Computer Science and Computation |
CS435 | Human - Computer Interaction | |
CS441 | Advanced Software Engineering | CS343 – Software Engineering |
CS442 | Machine Learning | CS231 - Data Structures and Algorithms |
CS443 | Software Reuse | CS343 – Software Engineering |
CS444 | Computational Intelligence System | |
CS445 | Digital Image Processing |
CS231 - Data Structures and Algorithms MAS016 - Linear Algebra for Computer Science |
CS446 | Advanced Topics in Databases | CS342 - Databases |
CS447 | Computer Vision |
CS231 - Data Structures and Algorithms MAS016 - Linear Algebra for Computer Science |
CS448 | Data Mining on the Web |
CS231 - Data Structures and Algorithms CS342 - Databases |
CS449 | Software Engineering Professional Practice | CS343 - Software Engineering |
CS450 | Network Virtualization and Management | CS324 - Communications and Networks |
CS451 | Software Analysis |
CS211 - Theory of Computation CS232 - Programming Techniques and Tools |
CS481 | Software Engineering for Software as a Service |
CS231 - Data Structures and Algorithms CS343 - Software Engineering |
CS482 | Software Validation, Verification and Quality | CS343 - Software Engineering |
CS483 | Software Analysis, Modelling and Design | CS343 - Software Engineering |
CS499 | Special Issues in Computer Science | Varies |
MAS013 | Calculus II | MAS012 - Calculus I |