Disclaimer
This page is intended for convenience for students/advisors to determine suitable courses for degree requirements. Please note that the table is updated manually and irregularly.
If there is a question of interpretation or a discrepancy, the Undergraduate Calendar always takes precedence.
Course outlines
For more detailed information about how a course is delivered, including textbooks, assessments, grading scheme, etc. we recommend that students search for a previous Course Outline on the University's outline repository.
The most recent offering can give you an idea of what you can expect if you were to enroll but the delivery of a course is subject to change based on the term it is offered and the instructors who are teaching it.
Course | Title / Calendar Description | Pre-requisites / Co-requisites1 | Successors2 | Terms offered3 | Open to CS majors4 | Open to non-CS majors4 |
---|---|---|---|---|---|---|
CS 100 | Introduction to Computing Through Applications | None | None | Fall/Winter/Spring | No | Yes |
CS 105 | Introduction to Computer Programming 1 | None | CS106, CS330 | Fall/Winter | No | Yes |
CS 106 | Introduction to Computer Programming 2 | CS 105 | CS330 | Winter | No | Yes |
CS 114 | Principles of Computer Science | None | CS115, CS116, CS135, CS230, CS231, CS234, CS330, CS335 | Winter/Fall | No | Yes |
CS 115 | Introduction to Computer Science 1 | None | CS116, CS136, CS230, CS231, CS234, CS330, CS335 | Fall/Winter/Spring | Yes | Yes |
CS 116 | Introduction to Computer Science 2 | One of CS 115/135/145 | CS136, CS230, CS231, CS234, CS330, CS335, CS371 | Fall/Winter/Spring | Yes | Yes |
CS 135 | Designing Functional Programs | None | CS116, CS136, CS230, CS231, CS234, CS330, CS335 | Fall/Winter | Yes | Yes |
CS 136 | Elementary Algorithm Design and Data Abstraction | One of: i. 90% in CS 115 ii. 70% in CS 116 iii. 60% in CS 135 iv. CS 145 Co-requisite: CS136L |
CS230, CS231, CS234, CS241, CS245, CS246, CS251, CS330, CS335, CS371 | Fall/Winter/Spring | Yes | Yes |
CS 136L | Tools and Techniques for Software Development | One of: i. 90% in CS 115 ii. 70% in CS 116 iii. 60% in CS 135 iv. CS 145 Co-requisites: CS136/146 |
CS230, CS231, CS234, CS241, CS245, CS246, CS251, CS330, CS335, CS371 | Fall/Winter/Spring | Yes | Yes |
CS 137 | Programming Principles | None | CS 138 | Fall | No | No |
CS 138 | Introduction to Data Abstraction and Implementation | CS 137 | CS230, CS231, CS234, CS241, CS245, CS246, CS251, CS330, CS335, CS371 | Winter | No | No |
CS 145 | Designing Functional Programs (Advanced Level) | Department Consent | CS116, CS136, CS230, CS231, CS234, CS330 | Fall | Yes | Yes |
CS 146 | Elementary Algorithm Design and Data Abstraction (Advanced Level) | 75% in CS 145 Co-requisite: CS136L |
CS230, CS231, CS234, CS241, CS245, CS246, CS251, CS330, CS335, CS371 | Winter | Yes | Yes |
CS 200 | Concepts for Advanced Computer Usage | None | Winter/Spring | No | Yes | |
CS 230 | Introduction to Computers and Computer Systems | One of: i. CS 116/136/138/146 ii. (60%+ in CS 114) and CS 115/135/145 |
CS338, CS436 | Winter/Spring | No | Yes |
CS 231 | Algorithmic Problem Solving | One of: i. CS 116/136/138/146 ii. (60%+ in CS 114) and CS 115/135/145 |
CS338, CS370, CS431, CS487 | Spring | No | Yes |
CS 234 | Data Types and Structures | One of: i. CS 116/136/138/146 ii. (60%+ in CS 114) and CS 115/135/145 |
CS338, CS370, CS487 | Fall/Spring | No | Yes |
CS 240 | Data Structures and Data Management | All of: i. CS 245/245E or SE 212 ii. CS 241/241E/246/246E iii. STAT 206/230/240 |
CS341, CS348, CS350, CS360, CS365, CS383, CS398, CS399, CS442, CS449, CS487, CS492 | Fall/Winter/Spring | Yes | No |
CS 240E | Data Structures and Data Management (Enriched) | 85%+ in CS 136/138/146 Co-requisite: STAT 206/230/240 |
CS341, CS348, CS350, CS360, CS365, CS383, CS398, CS399, CS442, CS449, CS487, CS492 | Winter/Spring, as permitted by demand and available resources | Yes | No |
CS 241 | Foundations of Sequential Programs | CS 138/246/246E or (85%+ in CS 136/146) | CS240, CS247, CS349, CS350, CS360, CS365, CS370, CS436, CS449 | Fall/Winter/Spring | Yes | No |
CS 241E | Foundations of Sequential Programs (Enriched) | CS 138 or (85%+ in CS 136/146) | CS240, CS247, CS349, CS350, CS360, CS365, CS370, CS436, CS449 | Fall, as permitted by demand and available resources | Yes | No |
CS 245 | Logic and Computation | CS 136/138/146 and MATH 135/145 | CS240, CS341, CS450 | Fall/Winter/Spring | Yes | Yes |
CS 245E | Logic and Computation (Enriched) | 85%+ in CS 136/146 | CS240, CS341, CS450 | Fall, as permitted by demand and available resources | Yes | No |
CS 246 | Object-Oriented Software Development | One of: i. 60%+ in CS 136/138 ii. CS 146 |
CS240, CS241, CS338, CS350, CS370, CS398, CS399, CS436, CS457 | Fall/Winter/Spring | Yes | Yes |
CS 246E | Object-Oriented Software Development (Enriched) | 85%+ in CS 136/146 | CS240, CS241, CS338, CS350, CS370, CS398, CS399, CS436, CS457 | Fall, as permitted by demand and available resources | Yes | No |
CS 247 | Software Engineering Principles | CS 241/241E | CS346 | Spring | No | No |
CS 251 | Computer Organization and Design | CS 136/138/146 | CS350, CS431, CS436 | Fall/Winter/Spring | Yes | No |
CS 251E | Computer Organization and Design (Enriched) | 85%+ in CS 136/146 | CS350, CS431, CS436 | No term specified | Yes | No |
CS 330 | Management Information Systems | Level 2B and one of: i. CS 106/116/136/138/146 ii. (60%+ in CS 114) and CS 115/135/145 |
CS338, CS430, CS431, CS432 | Fall/Winter/Spring | No | Yes |
CS 335 | Computational Methods in Business and Finance | All of: i. (60%+ in CS 114) and CS 115/135/145 or CS 106/116/136/138/146 ii. (70%+ in MATH 106) or MATH 136/146 iii. MATH 237/247 iv. STAT 206/231/241 |
None | Fall/Winter | No | Yes |
CS 338 | Computer Applications in Business: Databases | One of: i. CS 230/231/234/246/246E/330 ii. CS 116/136/146 and AFM 341 |
None | Fall/Winter/Spring | No | Yes |
CS 341 | Algorithms | All of: i. CS 240/240E ii. CS 245/245E or SE 212 iii. MATH 239/249 iv. STAT 206/230/240 |
CS431, CS445, CS451, CS466, CS480, CS482, CS485, CS486, CS488, CS493 | Fall/Winter/Spring | Yes | No |
CS 343 | Concurrent and Parallel Programming | CS 350 or SE 350 | None | Fall/Winter | Yes | No |
CS 346 | Application Development | CS 246/246E/247 | None | Fall/Winter | Yes | No |
CS 348 | Introduction to Database Management | Co-requisite: CS 240 | CS448, CS451 | Fall/Winter/Spring | Yes | No |
CS 349 | User Interfaces | CS 241/241E and MATH 115/136/146 | None | Fall/Winter/Spring | Yes | No |
CS 350 | Operating Systems | All of: i. CS 240/240E ii. CS 241/241E iii. CS 246/246E iv. CS 251/251E or ECE 222 |
CS343, CS444, CS445, CS446 CS447, CS448, CS450, CS451, CS452, CS453, CS454, CS456, CS458, CS459, CS488, CS490, CS493 | Fall/Winter/Spring | Yes | No |
CS 360 | Introduction to the Theory of Computing | All of: i. CS 240/240E ii. CS 241/241E iii. MATH 239/249 |
CS462 | Fall/Winter/Spring | Yes | No |
CS 365 | Models of Computation | All of: i. CS 240/240E ii. CS 241/241E iii. MATH 239/249 |
CS462 | Winter | Yes | No |
CS 370 | Numerical Computation | All of: i. MATH 106/114/115/136/146 ii. MATH 118/119/128/138/148 iii. CS 231/234/241/241E/246/246E |
CS475, CS476, CS484, CS488 | Fall/Winter/Spring | Yes | Yes |
CS 371 | Introduction to Computational Mathematics | All of: i. CS 116/136/138/146 ii. MATH 235/245 iii. MATH 237/247 Cross-listed: AMATH 242 |
CS475, CS476, CS484, CS488 | Winter/Spring | Yes | Yes |
CS 383 | Computational Digital Art Studio | CS 240/240E and FINE 228/247 Cross-listed: FINE 383 |
None | Winter | Yes | Yes |
CS 398 | Topics in Computer Science | CS 240/240E and CS 246/246E/247 | None | On demand | Yes | No |
CS 399 | Readings in Computer Science | All of: i. CS 240/240E ii. CS 246/246E/247 iii. Completion of CS399 Agreement Form (PDF) |
None | On demand | Yes | No |
CS 430 | Applications Software Engineering | Level 3A and CS 330 | None | Fall/Winter | No | Yes |
CS 431 | Data-Intensive Distributed Analytics | CS 231/234/341 and CS 251/251E/330 | None | Winter/Spring | No | Yes |
CS 432 | Business Systems Analysis | -- | -- | Currently not offered | -- | -- |
CS 436 | Networks and Distributed Computer Systems | CS 230/241/241E/246/246E/251/251E | None | Winter | No | Yes |
CS 442 | Principles of Programming Languages | CS 240/240E | None | Winter | Yes | No |
CS 444 | Compiler Construction | CS 350 or SE 350 | None | Winter | Yes | No |
CS 445 | Software Requirements Specification and Analysis | CS 341/350 Cross-listed: ECE 451 |
None | Fall/Winter/Spring | Yes | No |
CS 446 | Software Design and Architectures | CS 350 | None | Winter/Spring | Yes | No |
CS 447 | Software Testing, Quality Assurance and Maintenance | CS 350 | None | Winter | Yes | No |
CS 448 | Database Systems Implementation | CS 350 | None | Winter | Yes | No |
CS 449 | Human-Computer Interaction | All of: i. Level 3B ii. CS 240/240E iii. CS 241/241E |
None | Fall/Spring | Yes | No |
CS 450 | Computer Architecture | All of: i. CS 245/245E or SE 212 ii. CS 350 or SE 350 |
None | Winter | Yes | No |
CS 451 | Data-Intensive Distributed Computing | CS 341, CS 348, and (CS 350 or SE 350) | None | Winter/Spring | Yes | No |
CS 452 | Real-Time Programming | CS 350 or SE 350 | None | Winter/Spring | Yes | No |
CS 453 | Software and Systems Security | CS 350 or SE 350 | None | Fall | Yes | No |
CS 454 | Distributed Systems | CS 350 or SE 350 | None | Winter/Spring | Yes | No |
CS 456 | Computer Networks | CS 350 or SE 350 | None | Fall/Winter/Spring | Yes | No |
CS 457 | System Performance Evaluation | CS 246/246E/247 and STAT 206/231/241 | None | No term specified | Yes | No |
CS 458 | Computer Security and Privacy | -- | -- | Currently not offered | -- | -- |
CS 459 | Privacy, Cryptography, Network and Data Security | (CS 350 or SE 350) and MATH 135/145 | None | Fall | Yes | No |
CS 462 | Formal Languages and Parsing | CS 360/365 | None | Currently not offered | Yes | No |
CS 466 | Algorithm Design and Analysis | CS 341 | None | Fall/Spring | Yes | No |
CS 467 | Introduction to Quantum Information Processing | Level 3A and 80% in MATH 235/245 | None | Winter | Yes | Yes |
CS 475 | Computational Linear Algebra | CS 370/371 or AMATH 242 | None | Spring | Yes | Yes |
CS 476 | Numeric Computation for Financial Modeling | All of: i. CS 370/371 or AMATH 242 ii. (60%+ in STAT 206) or STAT 231/241 |
None | Winter | Yes | Yes |
CS 479 | Neural Networks | All of: i. CS 335/370/371 or AMATH 242 ii. (60%+ in STAT 206) or STAT 230/240 |
None | Winter | Yes | Yes |
CS 480 | Introduction to Machine Learning | CS 341 and STAT 206/231/241 | None | Fall/Winter/Spring | No | No |
CS 482 | Computational Techniques in Biological Sequence Analysis | CS 341 and one of: i. 70%+ in STAT 206 ii. 60%+ in STAT 231 iii. STAT 241 |
None | Winter | Yes | Yes |
CS 484 | Computational Vision | STAT 206/230/240 and one of: i. CS 370/371 ii. AMATH 242 iii. MATH 235/245 |
None | Fall/Winter | Yes | No |
CS 485 | Statistical and Computational Foundations of Machine Learning | CS 341 and STAT 206/230/240 | None | Fall | Yes | No |
CS 486 | Introduction to Artificial Intelligence | CS 341 Co-requisite: STAT 206/231/241 |
None | Fall/Winter/Spring | Yes | No |
CS 487 | Introduction to Symbolic Computation | CS 231/234/240/240E | None | Winter | Yes | Yes |
CS 488 | Introduction to Computer Graphics | All of: i. CS 341 ii. CS 350 or SE 350 iii. CS 370/371 |
None | Fall/Winter/Spring | Yes | No |
CS 489 | Advanced Topics in Computer Science | Level at least 3B | None | Fall/Winter/Spring | Yes | No |
CS 490 | Information Systems Management | CS 350 or SE 350 | None | Winter/Spring | Yes | No |
CS 492 | The Social Implications of Computing | CS 240/240E | None | Winter/Spring | Yes | No |
CS 493 | Team Project 1 | CS 341 and CS 350 | CS494 | Fall | Yes | No |
CS 494 | Team Project 2 | CS 493 | None | Winter | Yes | No |
CS 497 | Multidisciplinary Studies in Computer Science | Level at least 3B | None | No term specified | Yes | No |
CS 499R | Readings in Computer Science | Level at least 3B and completion of CS499R Agreement Form (PDF) | None | On demand | Yes | No |
CS 499T | Honours Thesis | Department Consent, i.e. completion of CS499T Agreement Form (PDF) | None | On demand | Yes | No |