Skip to main content

Offered Courses

Last updated on 2025/01/04

Requirements Legend​

πŸ“š Bachelor of Computer Science (General)
πŸŽ“ Bachelor of Computer Science (Honours)
πŸ“² Bachelor of Computer Science (Honours Applied Computing)
πŸ’½ Bachelor of Science (Honours Computer Information Systems)
βš™ Bachelor of Science (Honours Computer Science with Software Engineering Specialization)
πŸ‘” Bachelor of Commerce (Honours Business Administration and Computer Science)
πŸ“ Bachelor of Mathematics (Honours Mathematics and Computer Science)
🌐 Bachelor of Information Technology (BIT)

Limitations​

The required courses listed here are limited to Computer Science and Math/Stats courses that are common in CS programs. For all course requirements for your program, see the current Undergraduate Calendar.

More Information​

For more information about each courseβ€”including past syllabusesβ€”click on the course code in the first column.

warning

The offering sequence of the courses listed in this table is an estimate based on previous years' data and the typical annual offering table offered by the School of Computer Science. The Computer Science Society cannot guarantee the offering of any courses that are listed below, so it is best to consult an academic advisor about your course sequencing every semester.

Course Offering Table
Course Code
Course Name
Fall
Winter
Summer
Required
Prerequisite(s)
Search:
COMP-1000Key Concepts in Computer Scienceβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“πŸŒ
COMP-1047Computer Concepts for End-Usersβœ…βœ…βœ…πŸŒ
COMP-1400Intro to Programming and Algorithms Iβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“
COMP-1410Intro to Programming and Algorithms IIβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“COMP-1000 or MATH-1720, COMP-1400
COMP-2057Intro to the Internetβœ…βœ…βœ…πŸŒCOMP-1047 or COMP-2067 or COMP-1400
COMP-2067Programming for Beginnersβœ…βœ…βœ…πŸŒ
COMP-2077Problem Solving and Information on the Internetβœ…βŒβœ… COMP-1047, COMP-2057
COMP-2087Programming for Beginners IIβœ…βœ…βŒπŸŒCOMP-2067
COMP-2097Social Media and Mobile Technology for End Usersβœ…βœ…βœ…πŸŒ
COMP-2120Object Oriented Programming Using Javaβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“COMP-1410 or COMP-2087
COMP-2140Computer Languages, Grammars and TranslatorsβŒβœ…βŒπŸŽ“βš™πŸ“COMP-1000, COMP-2120
COMP-2310Theoretical Foundations of Computer Scienceβœ…βœ…βŒπŸŽ“βš™πŸ“COMP-1000, MATH-1020
COMP-2540Data Structures and Algorithmsβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“COMP-1000, COMP-1410
COMP-2547Applied Algorithms and Data Structuresβœ…βŒβŒπŸŒCOMP-1000, COMP-2087
COMP-2560System Programmingβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“COMP-1410 or COMP-2087
COMP-2650Computer Architecture Iβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“COMP-1400 or COMP-2087
COMP-2660Computer Architecture IIβœ…βœ…βŒπŸ“šπŸŽ“πŸ“²πŸ’½βš™COMP-2650
COMP-2707Advanced Website Designβœ…βœ…βœ…πŸŒCOMP-2057
COMP-2750Selected Topicsβœ…βŒβŒ COMP-1000 or MATH-1720, COMP-1410 or COMP-2087
COMP-2800Software DevelopmentβŒβœ…βŒβš™COMP-2120
COMP-3037Information Security for ITβœ…βŒβŒπŸŒCOMP-2057 or COMP-2067
COMP-3057Cyber-Ethicsβœ…βœ…βœ…πŸŒCOMP-2057 or COMP-2540
COMP-3067Applied Databases❌❌❌🌐COMP-2547
COMP-3077Web-Based Data ManagementβŒβœ…βŒπŸŒCOMP-2707
COMP-3110Introduction to Software Engineeringβœ…βŒβŒπŸŽ“βš™COMP-2120, COMP-2540 or COMP-2547
COMP-3150Database Management Systemsβœ…βœ…βŒπŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“COMP-2560 or COMP-2650, COMP-2540
COMP-3220Obj Oriented Software Analysis and Designβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™COMP-2540, COMP-2120
COMP-3250Data Analytics IβŒβœ…βŒπŸŒCOMP-2547 or COMP-2540, STAT-2910
COMP-3300Operating System FundamentalsβŒβœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”COMP-2540, COMP-2120, COMP-2560, COMP-2650 or COMP-2660
COMP-3340WWW Information System DevelopmentβŒβœ…βœ…πŸ“šπŸ“²πŸ’½πŸ‘”COMP-2540, COMP-2120
COMP-3400Advanced Object Oriented System Design Using C++βŒβœ…βŒπŸ“²πŸ’½COMP-2560, COMP-2120
COMP-3500Introduction to Multimedia Systemsβœ…βŒβŒ COMP-2540, COMP-2650
COMP-3520Introduction to Computer GraphicsβŒβœ…βŒ COMP-2540, MATH-1250
COMP-3540Theory of Computationβœ…βŒβŒπŸŽ“βš™COMP-2540, COMP-2310, COMP-2140
COMP-3670Computer Networksβœ…βŒβœ…πŸŽ“πŸ“²βš™πŸ‘”COMP-2120, COMP-2540 or COMP-2547, COMP-2560, COMP-2650
COMP-3680Network PracticumβŒβœ…βŒ COMP-3300, COMP-3670
COMP-3710Artificial Intelligence ConceptsβŒβœ…βŒ STAT-2910 or STAT-2920, COMP-2540
COMP-3770Game Design, Development, and Toolsβœ…βŒβŒ COMP-2540, COMP-2120
COMP-4110Software Verification and TestingβŒβœ…βŒβš™COMP-3110, COMP-3300
COMP-4150Advanced and Practical Database Systemsβœ…βŒβŒπŸ“²COMP-3150, COMP-3300
COMP-4200Mobile Application DevelopmentβŒβœ…βŒπŸ“²COMP-3150, COMP-3220
COMP-4220Agile Software Developmentβœ…βŒβŒπŸ“²COMP-3220
COMP-4250Big Data Analytics and Database Designβœ…βŒβŒπŸ“²πŸ‘”COMP-3150 or COMP-3250
COMP-4400Principles of Programming Languagesβœ…βœ…βŒπŸŽ“βš™COMP-2140, COMP-2310, COMP-2540
COMP-45003D Multimedia System DevelopmentβŒβœ…βŒ Other requirements (see [1])
COMP-4540Design and Analysis of Algorithmsβœ…βœ…βŒπŸŽ“βš™COMP-2310, COMP-2540
COMP-4670Network Securityβœ…βŒβŒ COMP-3670
COMP-4680Advanced NetworkingβŒβœ…βŒ COMP-3670, COMP-3680
COMP-4730Advanced Topics in AI Iβœ…βŒβŒ COMP-3710
COMP-4740Advanced Topics in AI IIβŒβœ…βŒ COMP-3710
COMP-4770Artifical Intelligence for GamesβŒβœ…βŒ COMP-3770
COMP-4800Selected Topics in Software EngineeringβŒβœ…βŒβš™COMP-3110, COMP-3220, COMP-3300
COMP-4960Research Projectβœ…βœ…βŒπŸŽ“βš™
COMP-4990Project Management: Techniques and Toolsβœ…βœ…βŒπŸŽ“πŸ“²πŸ’½βš™πŸŒ
MATH-1020Mathematical FoundationsβŒβœ…βœ…πŸŽ“βš™πŸ“COMP-1000 or MATH-1250 or MATH-1260 or MATH-1270
MATH-1250Linear Algebra Iβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“
MATH-1260Vectors and Linear Algebraβœ…βŒβŒπŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“Ontario Grade 12 Advanced Functions (MHF4U)
MATH-1270Linear Algebra (Engineering)βœ…βœ…βŒMATH-1280 or both Ontario Grade 12 Advanced Functions (MHF4U) and Calculus and Vectors (MCV4U)
MATH-1280Access to Linear AlgebraβŒβœ…βŒ
MATH-1720Differential Calculusβœ…βœ…βŒπŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“
MATH-1760Functions and Differential Calculusβœ…βœ…βŒπŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸ“
MATH-1730Integral CalculusβŒβœ…βœ…πŸŽ“βš™πŸ“MATH-1760 or MATH-1720
MATH-3940Numerical Analysis for Computer Scientistsβœ…βŒβŒπŸŽ“MATH-1250 or MATH-1260 or MATH-1270, COMP-1410, MATH-1730
STAT-2910Statistics for the Sciencesβœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸŒ
STAT-2920Introduction to Probabilityβœ…βŒβŒπŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸŒMATH-1730

note

Special Instructions​

  • [1] The only requirements for enrolling in COMP-4500 is to be in Year 3/4 standing in Computer Science or Communication, Media, and Film or Visual Art programs. In addition, you need the consent of the instructor to enroll in the course.
  • [2] MATH-1250 can be substituted by MATH-1260, and MATH-1720 can be substituted by MATH-1760.