Course | Title | Prereqs. | Coreqs. | Successors | Terms offered | Open to CS majors | Open to non-CS majors |
---|---|---|---|---|---|---|---|
CS 100 | Introduction to Computing Through Applications | None | None | Fall/Winter/Spring | No | Yes | |
CS 105 | Introduction to Computer Programming 1 | None | None | CS 106, CS 330 | Fall/Winter | No | Yes |
CS 106 | Introduction to Computer Programming 2 | CS 105 | None | CS 330 | Winter | No | Yes |
CS 114 | Principles of Computer Science | None | None | CS 115, CS 116, CS 135, CS 230, CS 231, CS 234, CS 330, CS 335 | Winter/Fall | No | Yes |
CS 115 | Introduction to Computer Science 1 | None | None | CS 116, CS 136, CS 230, CS 231, CS 234, CS 330, CS 335 | Fall/Winter/Spring | Yes | Yes |
CS 116 | Introduction to Computer Science 2 | None | CS 136, CS 230, CS 231, CS 234, CS 330, CS 335, CS 371 | Fall/Winter/Spring | Yes | Yes | |
CS 135 | Designing Functional Programs | None | None | CS 116, CS 136, CS 230, CS 231, CS 234, CS 330, CS 335 | 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 |
CS 136L | CS 230, CS 231, CS 234, CS 241, CS 245, CS 246, CS 251, CS 330, CS 335, CS 371 | 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 |
CS 136/146 | CS 230, CS 231, CS 234, CS 241, CS 245, CS 246, CS 251, CS 330, CS 335, CS 371 | Fall/Winter/Spring | Yes | Yes |
CS 137 | Programming Principles | None | None | CS 138 | Fall | No | No |
CS 138 | Introduction to Data Abstraction and Implementation | CS 137 | None | CS 230, CS 231, CS 234, CS 241, CS 245, CS 246, CS 251, CS 330, CS 335, CS 371 | Winter | No | No |
CS 145 | Designing Functional Programs (Advanced Level) | Department Consent | None | CS 136, CS 146, CS 230, CS 231, CS 234, CS 330 | Fall | Yes | Yes |
CS 146 | Elementary Algorithm Design and Data Abstraction (Advanced Level) | 75% in CS 145 | CS 136L | CS 230, CS 231, CS 234, CS 245, CS 246, CS 251, CS 330, CS 335, CS 371 | Winter | Yes | Yes |
CS 200 | Concepts for Advanced Computer Usage | None | 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 |
None | CS 338, CS 436 | 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 |
None | CS 338, CS 370, CS 431, CS 487 | 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 |
None | 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 |
None | CS 341, CS 348, CS 350, CS 360, CS 365, CS 383, CS 398, CS 399, CS 442, CS 449, CS 487, CS 492 | Fall/Winter/Spring | Yes | No |
CS 240E | Data Structures and Data Management (Enriched) | 85%+ in CS 136/138/146 | STAT 206/230/240 |
CS 341, CS 348, CS 350, CS 360, CS 365, CS 383, CS 398, CS 399, CS 442, CS 449, CS 487, CS 492 |
Winter/Spring as permitted by demand and available resources | Yes | No |
CS 241 | Foundations of Sequential Programs | None |
CS 240, CS 247, CS 349, CS 350, CS 360, CS 365, CS 370, CS 436, CS 449 |
Fall/Winter/Spring | Yes | No | |
CS 241E | Foundations of Sequential Programs (Enriched) | CS 138 or (85%+ in CS 136/146) | None | CS 240, CS 247, CS 349, CS 350, CS 360, CS 365, CS 370, CS 436, CS 449 | Fall as permitted by demand and available resources | Yes | No |
CS 245 | Logic and Computation | CS 136/138/146 and MATH 135/145 | None | CS 240, CS 341 CS 450 | Fall/Winter/Spring | Yes | Yes |
CS 245E | Logic and Computation (Enriched) | 85%+ in CS 136/146 | None | CS 240, CS 341, CS 450 | Fall as permitted by demand and available resources | Yes | No |
CS 246 | Object-Oriented Software Development | None | CS 240, CS 241, CS 338, CS 350, CS 370, CS 398, CS 399, CS 436, CS 457 | Fall/winter/spring | Yes | Yes | |
CS 246E | Object-Oriented Software Development (Enriched) | 85%+ in CS 136/146 | None | CS 240, CS 241, CS 338, CS 350, CS 370, CS 398, CS 399, CS 436, CS 457 | Fall as permitted by demand and available resources | Yes | No |
CS 247 | Software Engineering Principles | CS 241/241E | None | CS 346 | Spring | No | No |
CS 251 | Computer Organization and Design | CS 136/138/146 | None | CS 350, CS 431, CS 436, | Fall/Winter/Spring | Yes | No |
CS 251E | Computer Organization and Design (Enriched) | 85%+ in CS 136/146 | None | CS 350, CS 431, CS 436, | As permitted by demand and available resources | Yes | No |
CS 330 | Management Information Systems |
Level 2B and one of: |
None | CS 338, CS 430, CS 431, CS 432 | Fall/Winter/Spring | No | Yes |
CS 335 | Computational Methods in Business and Finance | All of: i. One of CS 106/116/136/138/146 or (60%+ in CS 114) and CS 115/135/145 ii. (70%+ in MATH 106) or MATH 136/146 iii. MATH 237/247 iv. STAT 206/231/241 |
None | None | Fall/Winter | No | Yes |
CS 338 | Computer Applications in Business: Databases |
One of: |
None | None | Fall/Winter/Spring | No | Yes |
CS 341 | Algorithms |
All of: |
None | CS 431, CS 445, CS 451, CS 466, CS 480, CS 482, CS 485, CS 486, CS 488, CS 493 | Fall/Winter/Spring | Yes | No |
CS 343 | Concurrent and Parallel Programming | CS 350 or SE 350 | None | None | Fall/Winter | Yes | No |
CS 346 | Application Development | CS 246/246E/247 | None | None | Fall/Winter | Yes | No |
CS 348 | Introduction to Database Management | None | CS 240 | CS 448, CS 451 | Fall/Winter/Spring | Yes | No |
CS 349 | User Interfaces | None | None | Fall/Winter/Spring | Yes | No | |
CS 350 | Operating Systems |
All of: |
None | CS 343, CS 444, CS 445, CS 446, CS 447, CS 448, CS 450, CS 451, CS 452, CS 453, CS 454, CS 456, CS 458, CS 459, CS 488, CS 490, CS 493 | 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 |
None | CS 462 | Fall/Winter/Spring | Yes | No |
CS 365 | Models of Computation | All of: i. CS 240/240E ii. CS 241/241E iii. MATH 239/249 |
None | CS 462 | 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 |
None | CS 475, CS 476, CS 484, CS 488 | 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 |
None | CS 475, CS 476, CS 484, CS 488 | Winter/Spring | Yes | Yes |
CS 383 | Computational Digital Art Studio | CS 240/240E and FINE 228/247 | None | None | Winter | Yes | Yes |
CS 398 | Topics in Computer Science | CS 240/240E and CS 246/246E/247 | None | None | On demand | Yes | No |
CS 399 | Readings in Computer Science | CS 240/240E and CS 246/246E/247 | None | None | On demand | Yes | No |
CS 430 | Applications Software Engineering | Level 3A and CS 330 | None | None | Fall/Winter | No | Yes |
CS 431 | Data-Intensive Distributed Analytics | CS 231/234/341 and CS 251/251E/330 | None | 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 | None | Winter | No | Yes |
CS 442 | Principles of Programming Languages | CS 240/240E | None | None | Winter | Yes | No |
CS 444 | Compiler Construction | CS 350 or SE 350 | None | None | Winter | Yes | No |
CS 445 | Software Requirements Specification and Analysis | CS 341/350 | None | None | Fall/Winter/Spring | Yes | No |
CS 446 | Software Design and Architectures | CS 350 | None | None | Winter/Spring | Yes | No |
CS 447 | Software Testing, Quality Assurance and Maintenance | CS 350 | None | None | Winter | Yes | No |
CS 448 | Database Systems Implementation | CS 350 | None | None | Winter | Yes | No |
CS 449 | Human-Computer Interaction | Level 3B, CS 240/240E, and CS 241/241E | None | 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 | None | Winter | Yes | No |
CS 451 | Data-Intensive Distributed Computing | CS 341, CS 348, and (CS 350 or SE 350) | None | None | Winter/Spring | Yes | No |
CS 452 | Real-Time Programming | CS 350 or SE 350 | None | None | Winter/Spring | Yes | No |
CS 453 | Software and Systems Security | CS 350 or SE 350 | None | None | Fall | Yes | No |
CS 454 | Distributed Systems | CS 350 or SE 350 | None | None | Winter/Spring | Yes | No |
CS 456 | Computer Networks | CS 350 or SE 350 | None | None | Fall/Winter/Spring | Yes | No |
CS 457 | System Performance Evaluation | CS 246/246E/247 and STAT 206/231/241 | None | 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 | None | Fall | Yes | No |
CS 462 | Formal Languages and Parsing | CS 360/365 | None | None | Currently not offered. | Yes | No |
CS 466 | Algorithm Design and Analysis | CS 341 | None | None | Fall/Spring | Yes | No |
CS 467 | Introduction to Quantum Information Processing | Level 3A and 80% in MATH 235/245 | None | None | Winter | Yes | Yes |
CS 475 | Computational Linear Algebra | CS 370/371 or AMATH 242 | None | None | Spring | Yes | Yes |
CS 476 | Numeric Computation for Financial Modeling |
All of: |
None | 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 | None | Winter | Yes | Yes |
CS 480 | Introduction to Machine Learning | CS 341 and STAT 206/231/241 | None | 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 | None | Winter | Yes | |
CS 484 | Computational Vision | All of: i. CS 370/371 or AMATH 242 or MATH 235/245 ii. STAT 206/230/240 |
None | None | Fall/Winter | Yes | No |
CS 485 | Statistical and Computational Foundations of Machine Learning | CS 341 and STAT 206/230/240 | None | None | Fall | Yes | No |
CS 486 | Introduction to Artificial Intelligence | CS 341 | STAT 206/231/241 | None | Fall/Winter/Spring | Yes | No |
CS487 | Introduction to Symbolic Computation | CS 231/234/240/240E | None | 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 | None | Fall/Winter/Spring | Yes | No |
CS 489 | Advanced Topics in Computer Science | Level at least 3B | None | None | Fall/Winter/Spring | Yes | No |
CS 490 | Information Systems Management | CS 350 or SE 350 | None | None | Winter/Spring | Yes | No |
CS 492 | The Social Implications of Computing | CS 240/240E | None | None | Winter/Spring | Yes | No |
CS 493 | Team Project 1 | CS 341 and CS 350 | None | CS 494 | Fall | Yes | No |
CS 494 | Team Project 2 | CS 493 | None | None | Winter | Yes | No |
CS 497 | Multidisciplinary Studies in Computer Science | Level at least 3B | None | None | No term specified | Yes | No |
CS 499R | Readings in Computer Science | Level at least 3B | None | None | On demand | Yes | No |
CS 499T | Honours Thesis | Department Consent | None | None | On demand | Yes | No |