|
Section | Day | Time | Exam Date | Delivery |
---|
CS 051 - Computer Science Co-op Work Term |
Four-month co-op work term approved by the department and arranged by the co-op co-ordinator. |
001 |
|
- |
|
|
CS 052 - Computer Science Co-op Work Term |
Four-month co-op work term #2 approved by the department and arranged by the co-op coordinator.
*** Prerequisite: CS 051 *** |
001 |
|
- |
|
|
CS 053 - Computer Science Co-op Work Term |
Four-month co-op work term #3 approved by the department and arranged by the co-op coodinator.
*** Prerequisite: CS 052 *** |
001 |
|
- |
|
|
CS 054 - Computer Science Co-op Work Term |
Four-month co-op work term #4 approved by the department and arranged by the co-op coordinator.
*** Prerequisite: CS 053 *** |
001 |
|
- |
|
|
CS 055 - Computer Science Co-op Work Term |
Four-month co-op work term #5 approved by the department and arranged by the co-op coordinator.
*** Prerequisite: CS 054 *** |
001 |
|
- |
|
|
CS 100 - Introduction to Computers |
Introduction to the development of computers and computer applications. Topics will include: impact of computers on society, computer organization and operation, construction and representation of algorithms, and applications of computers in the problem-solving process.
*Note: This class may not be taken for credit if credit has been received for any course numbered above CS 100* |
001 |
T |
7:00pm - 9:45pm |
15-APR-25 |
RMTE |
087 |
W |
11:30am - 1:20pm |
|
RMTE |
088 |
F |
11:30am - 1:20pm |
|
RMTE |
089 |
M |
2:30pm - 4:20pm |
|
RMTE |
090 |
M |
12:30pm - 2:20pm |
|
RMTE |
091 |
T |
1:30pm - 3:20pm |
|
RMTE |
092 |
R |
5:30pm - 7:20pm |
|
RMTE |
093 |
T |
4:00pm - 5:50pm |
|
RMTE |
094 |
W |
5:30pm - 7:20pm |
|
RMTE |
095 |
R |
2:30pm - 4:20pm |
|
RMTE |
S01 |
TR |
10:00am - 11:15am |
17-APR-25 |
|
S02 |
TR |
10:00am - 11:15am |
17-APR-25 |
|
S03 |
R |
2:30pm - 4:20pm |
|
|
S04 |
T |
2:30pm - 4:20pm |
|
|
S05 |
W |
09:30am - 11:20am |
|
|
S06 |
W |
12:30pm - 2:20pm |
|
|
S07 |
M |
12:30pm - 2:20pm |
|
|
S10 |
TR |
10:00am - 11:15am |
17-APR-25 |
VIDEO |
S11 |
T |
2:30pm - 4:20pm |
|
RMTE |
CS 110 - Programming and Problem Solving |
An introduction to problem-solving techniques, the fundamental concepts of programming, and the software design process. Topics will include: data types, control structures, scope rules, functions, files, and the mechanics of running, testing and debugging. Problems will be drawn from various science disciplines. ***Prerequisite: Precalculus 30, Calculus 30, or Math 102***
*Note: CS majors who have mastered the course material in CS 110 through other means are eligible to write the CS 110 bypass exam.* |
001 |
MWF |
10:30am - 11:20am |
22-APR-25 |
|
081 |
F |
2:30pm - 4:20pm |
|
|
082 |
F |
12:30pm - 2:20pm |
|
|
083 |
W |
2:30pm - 4:20pm |
|
|
084 |
R |
09:30am - 11:20am |
|
|
085 |
R |
5:30pm - 7:20pm |
|
|
086 |
W |
6:00pm - 7:50pm |
|
|
087 |
M |
6:30pm - 8:20pm |
|
|
092 |
W |
11:30am - 1:20pm |
|
|
093 |
R |
2:30pm - 4:20pm |
|
|
094 |
T |
09:30am - 11:20am |
|
|
095 |
T |
2:30pm - 4:20pm |
|
|
096 |
M |
4:30pm - 6:20pm |
|
|
097 |
M |
11:30am - 1:20pm |
|
|
CS 115 - Object-Oriented Design |
This course focuses on the concepts of object-oriented programming. Topics include data abstraction, classes, composition and inheritance, subtyping, dynamic binding, polymorphism and dynamic memory management. Other topics include type systems, two-dimensional arrays, records, references, searching and sorting algorithms, language translation. Software engineering: comprehensibility, correctness, efficiency, refactoring.
***Prerequisite: CS 110 with a minimum grade of 65% and one of MATH 110 (may be taken concurrently) or MATH 103 with a minimum grade of 80%.*** |
001 |
MWF |
10:30am - 11:20am |
26-APR-25 |
|
002 |
MWF |
4:30pm - 5:20pm |
26-APR-25 |
RMTE |
081 |
F |
11:30am - 1:20pm |
|
|
082 |
W |
10:30am - 12:20pm |
|
|
083 |
F |
2:30pm - 4:20pm |
|
|
084 |
R |
11:30am - 1:20pm |
|
|
085 |
R |
6:30pm - 8:20pm |
|
|
086 |
T |
6:00pm - 7:50pm |
|
|
092 |
M |
11:30am - 1:20pm |
|
|
093 |
R |
2:30pm - 4:20pm |
|
|
094 |
F |
4:30pm - 6:20pm |
|
|
095 |
M |
4:30pm - 6:20pm |
|
|
096 |
M |
2:30pm - 4:20pm |
|
|
097 |
W |
2:30pm - 4:20pm |
|
|
098 |
T |
10:30am - 12:20pm |
|
|
099 |
R |
09:30am - 11:20am |
|
|
CS 207 - Building Interactive Gadgets |
An introduction to building and controlling interactive devices for multimedia art and DIY projects. Build robots, new musical instruments, wearable computers and more. Learn about sensots and actuators: WiFi, Bluetooth, GPS; hardware platforms such as the Arduino; and software platforms such as Processing and MaxMSP. ***Prerequisite: CS 100 or CS 110 or completion of 30 credit hours.*** |
001 |
MWF |
5:30pm - 6:20pm |
26-APR-25 |
|
090 |
R |
11:30am - 1:20pm |
|
|
091 |
M |
5:30pm - 7:20pm |
|
|
092 |
T |
2:30pm - 4:20pm |
|
|
093 |
W |
1:30pm - 3:20pm |
|
|
CS 210 - Data Structures and Abstractions |
This course introduces data abstraction, data structures and their implementations, the basics of algorithmic analysis, and the fundamental computing algorithms. Topics include stacks, queues, heaps, recursion, Master Theorem, asymptotic notation, computational complexity, empirical performance measurement, recursion based sorting algorithms, hashing, and trees (including binary trees, B-trees, and AVL trees).
*** Prerequisite: CS 115 and MATH 110 *** |
001 |
TR |
7:00pm - 8:15pm |
15-APR-25 |
|
090 |
T |
11:30am - 1:20pm |
|
|
091 |
W |
5:30pm - 7:20pm |
|
|
092 |
W |
09:30am - 11:20am |
|
|
093 |
M |
10:30am - 12:20pm |
|
|
094 |
M |
4:00pm - 5:50pm |
|
|
095 |
T |
09:30am - 11:20am |
|
|
096 |
R |
09:30am - 11:20am |
|
|
097 |
W |
3:30pm - 5:20pm |
|
|
CS 215 - Web and Database Programming |
This course shows how interactive database-driven web applications are designed and implemented. Appropriate protocols and languages for web and database programming will be discussed, with a focus on client-server architectures, interface design, graphics and visualization, event-driven programming, information management, data modeling, and database systems.
***Prerequisite: CS 210*** |
091 |
W |
09:30am - 11:20am |
|
BLEND |
092 |
R |
09:30am - 11:20am |
|
BLEND |
093 |
R |
11:30am - 1:20pm |
|
BLEND |
094 |
W |
11:30am - 1:20pm |
|
BLEND |
095 |
R |
1:30pm - 3:20pm |
|
RMTE |
397 |
T |
11:30am - 12:45pm |
22-APR-25 |
BLEND |
397 |
|
- |
22-APR-25 |
BLEND |
CS 265 - Introduction to Data Science |
This course introduces data science including current programming languages and libraries for performing data analysis. Topics include data exploration and preparation, data visualization and presentation, computing with data, and an introduction to data modeling and predictive analysis. Technical and communication skills used by data scientists will be introduced.
***Prerequisites: CS 110 and STAT 160.*** |
001 |
MWF |
2:30pm - 3:20pm |
14-APR-25 |
|
CS 280 - Risk and Reward in the Information Society |
Social context of computing. Case study: human-computer interfaces and their evaluation. Methods and tools of analysis. Professional and ethical responsibilities. Risks and liabilities of computer-based systems. Intellectual property, privacy and civil liberties. Professional communication. Sustainability. Cybercrime.
***Prerequisite: ENGL 100 and CS 110 *** |
001 |
MW |
2:30pm - 3:45pm |
14-APR-25 |
|
CS 301 - Digital Systems Architecture |
Latency and bandwidth, cache memory, virtual memory, data compression, fault handling. Fundamentals of I/O, interrupts, external storage, buses, networks, multimedia support. Multiprocessor and parallel architectures, parallel decomposition, pipelining, shared memory systems, interconnection networks, cache consistency, memory consistency. Computational paradigms, performance evaluation, and effect of proximity.
*** Prerequisite: CS 201 *** |
001 |
TR |
7:00pm - 8:15pm |
15-APR-25 |
|
091 |
T |
11:30am - 1:20pm |
|
|
092 |
W |
11:30am - 1:20pm |
|
|
093 |
R |
11:30am - 1:20pm |
|
|
094 |
W |
6:00pm - 7:50pm |
|
|
095 |
F |
6:00pm - 7:50pm |
|
|
096 |
R |
1:30pm - 3:20pm |
|
|
CS 310 - Discrete Computational Structures |
Finite and discrete algebraic structures relating to computers; sets, functions, relations. Machine-oriented logic. Combinatorial problems and algorithms. Finite automata and formal language theory.
***Prerequisite: One of MATH 110 or 105; and MATH 122, MATH 221, and CS 210.***
*Note: It is recommended that students take STAT 160 or STAT 200 in addition to the prerequisite before attempting CS 310.* |
001 |
M |
6:00pm - 8:50pm |
21-APR-25 |
|
CS 330 - Introduction to Operating Systems |
Overview of operating systems: functionality, and design issues. Operating system principles: structures, abstractions, APIs, resource allocation, proximity, virtualization. Concurrency: process state, context switches, process communication, synchronization. Scheduling: preemption, schedulers, processes, and threads. Memory management. Security and protection. File systems. User interface. Distributed algorithms: consensus, termination, and fault tolerance.
*** Prerequisite: CS 210 *** |
001 |
MWF |
4:30pm - 5:20pm |
26-APR-25 |
|
093 |
M |
09:30am - 11:20am |
|
|
094 |
T |
1:30pm - 3:20pm |
|
|
095 |
M |
11:30am - 1:20pm |
|
|
096 |
T |
4:00pm - 5:50pm |
|
|
097 |
M |
2:30pm - 4:20pm |
|
|
098 |
W |
5:30pm - 7:20pm |
|
|
099 |
W |
12:30pm - 2:20pm |
|
|
CS 340 - Advanced Data Structures and Algorithm Design |
Fundamental algorithms: depth- and breadth-first traversals, pattern matching, and graph algorithms. Algorithmic strategies: brute-force, greedy, divide-and-conquer, backtracking, branch-and-bound, dynamic programming, and randomized. Algorithm analysis, complexity theory, performance evaluation. Parallelism: fundamentals, algorithms, communication.
*** Prerequisite: CS 210 *** |
001 |
T |
10:00am - 11:15am |
15-APR-25 |
BLEND |
001 |
|
- |
15-APR-25 |
BLEND |
CS 350 - Programming Language Concepts |
Programming language genealogy and design. Imperative, functional, and object-oriented language paradigms. Context-free grammars and syntax trees. Data types, control structures, exception handling, data abstraction, information hiding, and non-determinism. Program representation, translation, and execution. Functional programming: advantages, constructs, closures, and higher-order operations. Parallel programming.
*** Prerequisite: CS 210 *** |
001 |
MW |
11:30am - 12:45pm |
21-APR-25 |
|
CS 372 - Software Engineering Methodology |
Fundamental principles of designing programs and developing large software systems that meet specifications and that are safe, secure, reliable and maintainable. Software process models, software project management, requirements engineering, software design, software construction, software verification and validation, software tools and environments, software evolution, software reliability.
*** Prerequisite: CS 215 *** |
001 |
M |
1:00pm - 2:15pm |
23-APR-25 |
BLEND |
001 |
|
- |
23-APR-25 |
BLEND |
CS 405 - Computer Graphics |
Advanced topics in computer graphics, including special modeling techniques for natural phenomenon, advanced illumination models and rendering algorithms.
*** Prerequisite: CS 315 *** |
001 |
TR |
1:00pm - 2:15pm |
17-APR-25 |
|
CS 412 - Algorithm Analysis |
A formal algorithmic language. Measures of complexity for time and space. Worst-case, average-case, and best-case analysis. Lower and upper bounds of algorithms (techniques include comparison trees, adversary arguments, and reduction). P and NP classes. NP-hardness and NP- completeness. Introduction to parallel computational models and algorithms.
*** Prerequisite: CS 310 and 340 *** |
001 |
W |
7:00pm - 9:45pm |
23-APR-25 |
|
CS 421 - Advanced Artificial Intelligence |
Advanced Artificial Intelligence approaches to approximate reasoning and machine learning. Decision trees and other selected data-based knowledge models. Topics may include logic programming and PROLOG, LISP, Artificial Intelligence in games, data mining, natural language processing, pattern recognition, and planning.
*** Prerequisite: CS 310, 320, and 340 *** |
001 |
M |
11:30am - 12:45pm |
21-APR-25 |
BLEND |
CS 428 - Human Computer Communications |
This course stresses the importance of good interfaces and the relationship of user interface design to human-computer interaction. Other topics include: interface quality and methods of evaluation; interface design examples; dimensions of interface variability; dialogue genre; dialogue tools and techniques; user-centered design and task analysis; prototyping and the iterative design cycle; user interface implementation; prototyping tools and environments; I/O devices; basic computer graphics; color and sound.
***Prerequisite: CS 215 and CS 280***
*Note: Students may not receive credit for more than one of CS 305 and CS 428* |
001 |
TR |
10:00am - 11:15am |
17-APR-25 |
RMTE |
CS 458 - Virtual and Augmented Reality |
Design and implementation of software in virtual and augmented reality environments. Development practices, assets and avatars, interaction, locomotion, psychological effects, audio, multiplayer considerations, applications. Limitations and future developments.
***Prerequisite: CS 340.***
*Additional Fee: $10.* |
001 |
MW |
10:00am - 11:15am |
16-APR-25 |
|
CS 476 - Software Development Project |
Software development projects following all the phases of the software process. Project planning and scheduling. Surveys on architectural styles, design patterns and components. Semester-long group projects with real-world applications. Projects will be integrative, require evaluation of potential solutions, and require work on a larger scale than typical course projects.
***Prerequisite: CS 372*** |
001 |
T |
11:30am - 12:45pm |
22-APR-25 |
BLEND |
CS 498 - Honours Oral |
All honours computer science students are required to register for this course in the semester in which they plan to do their oral examination. The course will be graded C (credit) or N (no credit). |
001 |
|
- |
|
|
CS 499 - Honours Seminar |
This course is to be taken by all honours computer science students in both semesters of their fourth year. The student is required to attend all seminars and, in addition, to present a topic that will be determined in consultation with a faculty member in Computer Science. |
001 |
MWF |
3:30pm - 4:20pm |
|
|
002 |
MWF |
3:30pm - 4:20pm |
|
|