Skip to main content

Offered Courses

Last updated on 2023/07/05

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)

warning

Disclaimer​

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 Requirements​

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.

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-2650
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-1047, COMP-2057
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-1720Differential 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βœ…βœ…βœ…πŸ“šπŸŽ“πŸ“²πŸ’½βš™πŸ‘”πŸŒ

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.