Computer Science Courses (CSC)

Undergraduate Courses

Courses offered by the Faculty of Engineering are also found under the following course codes: BME (Biomedical Engineering), CENG (Computer Engineering), CIVE (Civil Engineering), ELEC (Electrical Engineering), ENGR (Engineering), MECH (Mechanical Engineering) and SENG (Software Engineering).


100-level courses
100 Elementary Computing
101 Untangling the Web by Analyzing and Architecting Digital Solutions
105 Computers and Information Processing
106 The Practice of Computer Science
110 Fundamentals of Programming I
111 Fundamentals of Programming with Engineering Applications
115 Fundamentals of Programming II
116 Fundamentals of Programming with Engineering Applications II
130 World Wide Web and Mobile Applications
167 Game Strategy, Interaction and Design

200-level courses
205 2D Computer Graphics and Image Processing
225 Algorithms and Data Structures I
226 Algorithms and Data Structures II
230 Introduction to Computer Architecture
299 Undergraduate Directed Project

300-level courses
305 Introduction to Computer Graphics
320 Foundations of Computer Science
322 Logic and Programming
330 Programming Languages
349A Numerical Analysis
350 Computer Architecture
355 Digital Logic and Computer Organization
360 Operating Systems
361 Computer Communications and Networks
370 Database Systems
371 Data Management and Visualization
375 Introduction to Systems Analysis

400-level courses
421 Introduction to Artificial Intelligence
422 Graph Algorithms
423 Randomized Algorithms
425 Analysis of Algorithms
426 Computational Geometry
428A Combinatorial Algorithms
429 Cryptography
435 Compiler Construction
445 Operations Research: Linear Programming
446 Operations Research: Simulation
449 Numerical Linear Algebra
454 Fault Tolerant Computing
460 Design and Analysis of Real-time Systems
461 Multimedia Systems
462 Distributed Computing
463 Wireless and Mobile Networks
464 Concurrency
466 Overlay and Peer-to-Peer Networking
467 Switching, Network Traffic and Quality of Service
471 Fundamentals of Computer Rendering.
472 Fundamentals of Computer Modelling
473 Fundamentals of Computer Animation
475 Music Retrieval Techniques
482A Topics in Algorithms
482B Topics in Algorithms
482C Topics in Algorithms
482D Topics in Algorithms
483A Topics in Programming Methodology
483B Topics in Programming Methodology
483C Topics in Programming Methodology
483D Topics in Programming Methodology
484A Topics in Scientific Computing
484B Topics in Scientific Computing
484C Topics in Scientific Computing
484D Topics in Scientific Computing
485A Topics in Systems
485B Topics in Systems
485C Topics in Systems
485D Topics in Systems
485E Topics in Systems
485F Topics in Systems
485G Topics in Systems
485H Topics in Systems
486A Topics in Graphics
486B Topics in Graphics
486C Topics in Graphics
486D Topics in Graphics
490 Directed Studies
497 Interdisciplinary Project
498 Bioinformatics Project
499 Honours Seminar and Project

Graduate Courses


500-level courses
505 Computer Graphics
510 Advanced Human-Computer Interaction
511 Information Visualization
520 Analysis of Algorithms
522 Graph Algorithms
523 Randomized Algorithms
524 Computational Complexity
525 Computational Biology Algorithms
526 Computational Geometry
528 Combinatorial Algorithms
529 Cryptography
535 Compiler Construction
540 Numerical Analysis I
545 Operations Research I
546 Operations Research II
552 Advanced Switching Theory
554 Fault Tolerant Computing
560 Design and Analysis of Real-Time Systems
561 Multimedia Systems
562 Distributed Computing
564 Concurrency
565 Massive Data Sets, Scalability and Concurrency
567 Switching, Network Traffic and Quality of Service
569 Wireless and Mobile Networks
571 Advanced Databases
575 Music Retrieval Techniques
578A Topics in Software Applications
578B Topics in Software Applications
578C Topics in Software Applications
578D Topics in Software Applications
579 Overlay and Peer-to-Peer Networking
581A Topics in Artificial Intelligence
581B Topics in Artificial Intelligence
581C Topics in Artificial Intelligence
581D Topics in Artificial Intelligence
582A Topics in Theoretical Computer Science
582B Topics in Theoretical Computer Science
582C Topics in Theoretical Computer Science
582D Topics in Theoretical Computer Science
583A Topics in Programming Languages
583B Topics in Programming Languages
583C Topics in Programming Languages
583D Topics in Programming Languages
584A Topics in Numerical Analysis and Operations Research
584B Topics in Numerical Analysis and Operations Research
584C Topics in Numerical Analysis and Operations Research
584D Topics in Numerical Analysis and Operations Research
585A Topics in Hardware and Computer Architecture
585B Topics in Hardware and Computer Architecture
585C Topics in Hardware and Computer Architecture
585D Topics in Hardware and Computer Architecture
586A Topics in Computer Systems and Software
586B Topics in Computer Systems and Software
586C Topics in Computer Systems and Software
586D Topics in Computer Systems and Software
586E Topics in Computer Systems and Software
586F Topics in Computer Systems and Software
589A General Topics in Computer Science
589B General Topics in Computer Science
589C General Topics in Computer Science
589D General Topics in Computer Science
591 Directed Studies
595 Research Skills
597 Industrial Master's Project
598 Master's Project
599 Master's Thesis

600-level courses
693 PhD Candidacy
699 PhD Dissertation