AI University — Northgate, ON
← Back to Programs
UndergraduateFaculty of Science

BSc Computer Science

4 years

A rigorous four-year program covering the mathematical foundations and engineering practice of computing. Students develop deep expertise in algorithms, systems, and software, with stream options in Artificial Intelligence & Machine Learning, Distributed Systems, Cybersecurity, and Human-Computer Interaction. Graduates are prepared for careers in software engineering, research, and technology leadership, or for graduate study at top institutions worldwide.

Program Highlights

  • Major, Minor, and Honours options
  • Streams: AI/ML, Distributed Systems, Cybersecurity, HCI
  • Joint stream with Engineering for CEAB-accredited Software Engineering
  • Access to AI & ML Lab, Cybersecurity Lab, and HCI Lab
  • Co-op option available (16-month extended program)

Course Listing

CodeCourse NameCr.YearPrerequisitesDescription
CS 101Introduction to Computer Science3Y1NoneComputational thinking and programming using Python. Algorithms, data structures, problem decomposition, and software development practices.
CS 201Data Structures3Y2CS 101Abstract data types, linked lists, trees, heaps, hash tables, graphs, and their algorithmic applications.
CS 210Computer Organization & Architecture3Y2CS 101Digital logic, assembly language, memory hierarchy, I/O, pipelining, and processor design.
CS 220Discrete Mathematics for CS3Y2MATH 101Logic, proof techniques, sets, functions, combinatorics, graph theory, and number theory.
CS 301Algorithms & Data Structures3Y3CS 201, MATH 201Algorithm design paradigms: divide & conquer, dynamic programming, greedy. Complexity theory, P vs NP, graph algorithms, network flow.
CS 310Operating Systems3Y3CS 210Processes, threads, scheduling, memory management, file systems, concurrency, and security.
CS 320Software Engineering3Y3CS 201Requirements, design patterns, agile methods, testing, version control, and project management.
CS 330Introduction to Artificial Intelligence3Y3CS 301, MATH 202Search, constraint satisfaction, logic, planning, probabilistic reasoning, and machine learning basics.
CS 401Machine Learning3Y4CS 330, STAT 201Supervised and unsupervised learning, neural networks, deep learning, evaluation, and ethical considerations.
CS 410Distributed Systems3Y4CS 310Distributed architectures, consistency, consensus (Raft, Paxos), fault tolerance, replication, and cloud computing.
CS 420Cybersecurity3Y4CS 310Threat models, cryptography, network security, web security, secure coding, penetration testing, and privacy.
CS 490Senior Research Project6Y4Department approvalTwo-term supervised research or software project. Culminates in a written report and public presentation.

Assessment

ComponentWeightNotes
Weekly assignments (CS 101)20%Due Fridays at 11:59 PM
Lab participation (CS 101)10%Attendance + in-lab exercises
Midterm exam (CS 101)25%Week 7, in-class, open notes
Final project (CS 101)20%Groups of 2; presentations Week 12
Final exam (CS 101)25%Scheduled during exam period

CS 101 Weekly Schedule

Textbook: Guttag, J.V. (2021). Introduction to Computation and Programming Using Python (3rd ed.). MIT Press. ISBN: 978-0262542364

WeekTopicReading
1What is computing? Python basicsCh. 1–2
2Variables, expressions, I/OCh. 2–3
3Branching and iterationCh. 3
4Functions and scopeCh. 4
5RecursionCh. 4–5
6Strings and I/OCh. 6
7MIDTERM + ExceptionsCh. 7
8Lists and mutabilityCh. 5
9Dictionaries and hashingCh. 5
10OOP: classes and objectsCh. 8
11Algorithmic complexityCh. 9
12Searching and sortingCh. 10
13Project presentations
14Review + Course wrap-up
Apply NowContact Admissions← All Programs