|
Section | Day | Time | Instructor | 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 |
|
- |
Samira Sadaoui-Mouhoub |
|
|
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 |
|
- |
Samira Sadaoui-Mouhoub |
|
|
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 |
|
- |
Samira Sadaoui-Mouhoub |
|
|
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 |
|
- |
Samira Sadaoui-Mouhoub |
|
|
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 |
|
- |
Samira Sadaoui-Mouhoub |
|
|
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 |
M |
7:00pm - 9:45pm |
Lisa Fan |
24-APR-23 |
RMTE |
086 |
M |
2:30pm - 4:20pm |
STAFF |
|
RMTE |
087 |
M |
12:30pm - 2:20pm |
STAFF |
|
RMTE |
088 |
W |
11:30am - 1:20pm |
STAFF |
|
RMTE |
089 |
T |
2:30pm - 4:20pm |
STAFF |
|
RMTE |
090 |
T |
09:30am - 11:20am |
STAFF |
|
RMTE |
091 |
W |
2:30pm - 4:20pm |
STAFF |
|
RMTE |
092 |
R |
5:30pm - 7:20pm |
STAFF |
|
RMTE |
093 |
W |
5:30pm - 7:20pm |
STAFF |
|
RMTE |
094 |
T |
5:30pm - 7:20pm |
STAFF |
|
RMTE |
S01 |
TR |
10:00am - 11:15am |
Richard Dosselmann |
20-APR-23 |
|
S02 |
TR |
10:00am - 11:15am |
Richard Dosselmann |
20-APR-23 |
|
S03 |
W |
2:30pm - 4:20pm |
Vatika Tayal |
|
|
S04 |
T |
2:30pm - 4:20pm |
Vatika Tayal |
|
|
S05 |
M |
10:30am - 12:20pm |
Vatika Tayal |
|
|
S06 |
T |
11:30am - 1:20pm |
Jun Wang |
|
|
S07 |
M |
2:30pm - 4:20pm |
Vatika Tayal |
|
|
S10 |
TR |
10:00am - 11:15am |
Richard Dosselmann |
20-APR-23 |
VIDEO |
S11 |
M |
10:30am - 12:20pm |
Vatika Tayal |
|
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 |
1:30pm - 2:20pm |
Carlos Valenzuela Ruiz |
14-APR-23 |
|
002 |
TR |
1:00pm - 2:15pm |
Vatika Tayal |
14-APR-23 |
|
003 |
MWF |
5:30pm - 6:20pm |
Miriam Boon |
14-APR-23 |
RMTE |
070 |
T |
11:30am - 1:20pm |
STAFF |
|
RMTE |
071 |
R |
11:30am - 1:20pm |
STAFF |
|
RMTE |
072 |
W |
6:30pm - 8:20pm |
STAFF |
|
RMTE |
073 |
T |
6:00pm - 7:50pm |
STAFF |
|
RMTE |
074 |
R |
5:30pm - 7:20pm |
STAFF |
|
RMTE |
075 |
M |
6:30pm - 8:20pm |
STAFF |
|
RMTE |
076 |
W |
09:30am - 11:20am |
STAFF |
|
RMTE |
081 |
R |
09:30am - 11:20am |
STAFF |
|
|
082 |
T |
2:30pm - 4:20pm |
STAFF |
|
|
083 |
W |
4:30pm - 6:20pm |
STAFF |
|
|
084 |
W |
12:30pm - 2:20pm |
STAFF |
|
|
085 |
M |
12:30pm - 2:20pm |
STAFF |
|
|
086 |
R |
2:30pm - 4:20pm |
STAFF |
|
|
087 |
R |
5:30pm - 7:20pm |
STAFF |
|
|
091 |
T |
4:30pm - 6:20pm |
STAFF |
|
|
092 |
T |
09:30am - 11:20am |
STAFF |
|
|
093 |
W |
09:30am - 11:20am |
STAFF |
|
|
094 |
W |
2:30pm - 4:20pm |
STAFF |
|
|
095 |
M |
2:30pm - 4:20pm |
STAFF |
|
|
096 |
M |
4:30pm - 6:20pm |
STAFF |
|
HYBON |
097 |
M |
10:30am - 12:20pm |
STAFF |
|
HYBON |
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 |
1:30pm - 2:20pm |
Howard Hamilton |
19-APR-23 |
|
002 |
MWF |
5:30pm - 6:20pm |
Howard Hamilton |
19-APR-23 |
|
081 |
T |
12:30pm - 2:20pm |
STAFF |
|
|
082 |
T |
6:30pm - 8:20pm |
STAFF |
|
|
083 |
W |
6:30pm - 8:20pm |
STAFF |
|
|
084 |
R |
6:00pm - 7:50pm |
STAFF |
|
|
085 |
W |
2:30pm - 4:20pm |
STAFF |
|
|
091 |
T |
2:30pm - 4:20pm |
STAFF |
|
|
092 |
T |
10:30am - 12:20pm |
STAFF |
|
|
093 |
R |
2:30pm - 4:20pm |
STAFF |
|
|
094 |
R |
11:30am - 1:20pm |
STAFF |
|
|
095 |
R |
09:30am - 11:20am |
STAFF |
|
|
096 |
W |
4:30pm - 6:20pm |
STAFF |
|
|
CS 201 - Introduction to Digital Systems |
Hardware paradigms, logic minimization, sequential and combinational circuits, register transfer notation. Numerical data representation, number bases, floating-point and two’s-complement representation, representation of non-numeric data, records and arrays. Von Neumann architecture, control units, instruction sets, assembly language programming, addressing modes, subroutines, basic building blocks, computer components.
***Prerequisite: CS 110*** |
001 |
TR |
11:30am - 12:45pm |
Shakil Khan |
25-APR-23 |
|
002 |
TR |
7:00pm - 8:15pm |
Sultan Ahmed |
18-APR-23 |
RMTE |
080 |
M |
10:30am - 12:20pm |
STAFF |
|
RMTE |
081 |
R |
09:30am - 11:20am |
STAFF |
|
RMTE |
082 |
R |
11:30am - 1:20pm |
STAFF |
|
RMTE |
083 |
R |
2:30pm - 4:20pm |
STAFF |
|
RMTE |
084 |
T |
11:30am - 1:20pm |
STAFF |
|
RMTE |
085 |
R |
4:30pm - 6:20pm |
STAFF |
|
RMTE |
086 |
W |
09:30am - 11:20am |
STAFF |
|
RMTE |
090 |
R |
2:30pm - 4:20pm |
STAFF |
|
|
091 |
W |
2:30pm - 4:20pm |
STAFF |
|
|
092 |
W |
11:30am - 1:20pm |
STAFF |
|
|
093 |
M |
5:30pm - 7:20pm |
STAFF |
|
|
094 |
W |
5:30pm - 7:20pm |
STAFF |
|
|
095 |
R |
4:30pm - 6:20pm |
STAFF |
|
|
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 |
4:30pm - 5:20pm |
Yan Myo Aung |
14-APR-23 |
|
090 |
T |
12:30pm - 2:20pm |
STAFF |
|
|
091 |
R |
12:30pm - 2:20pm |
STAFF |
|
|
092 |
T |
5:30pm - 7:20pm |
STAFF |
|
|
093 |
R |
5:30pm - 7:20pm |
STAFF |
|
|
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 |
2:30pm - 3:45pm |
Lisa Fan |
18-APR-23 |
|
002 |
TR |
5:30pm - 6:45pm |
Sultan Ahmed |
18-APR-23 |
RMTE |
071 |
T |
08:30am - 10:20am |
STAFF |
|
RMTE |
072 |
W |
12:30pm - 2:20pm |
STAFF |
|
RMTE |
073 |
M |
11:30am - 1:20pm |
STAFF |
|
RMTE |
074 |
T |
3:30pm - 5:20pm |
STAFF |
|
RMTE |
075 |
M |
5:30pm - 7:20pm |
STAFF |
|
RMTE |
090 |
R |
11:30am - 1:20pm |
STAFF |
|
|
091 |
T |
12:30pm - 2:20pm |
STAFF |
|
|
092 |
M |
2:30pm - 4:20pm |
STAFF |
|
|
093 |
W |
09:30am - 11:20am |
STAFF |
|
|
094 |
R |
09:30am - 11:20am |
STAFF |
|
|
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*** |
090 |
T |
09:30am - 11:20am |
STAFF |
|
RMTE |
091 |
W |
2:30pm - 4:20pm |
STAFF |
|
BLEND |
092 |
W |
4:30pm - 6:20pm |
STAFF |
|
BLEND |
093 |
T |
2:30pm - 4:20pm |
STAFF |
|
BLEND |
094 |
W |
09:30am - 11:20am |
STAFF |
|
BLEND |
397 |
R |
11:30am - 12:45pm |
Orland Hoeber |
15-APR-23 |
BLEND |
397 |
|
- |
Orland Hoeber |
15-APR-23 |
BLEND |
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 |
TR |
7:00pm - 8:15pm |
Milton Calnek |
25-APR-23 |
|
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 *** |
002 |
M |
4:30pm - 7:15pm |
Maher Elshakankiri |
14-APR-23 |
RMTE |
081 |
M |
2:30pm - 4:20pm |
STAFF |
|
RMTE |
082 |
T |
7:00pm - 8:50pm |
STAFF |
|
RMTE |
083 |
W |
2:30pm - 4:20pm |
STAFF |
|
RMTE |
084 |
W |
5:30pm - 7:20pm |
STAFF |
|
RMTE |
085 |
R |
2:30pm - 4:20pm |
STAFF |
|
RMTE |
095 |
T |
12:30pm - 2:20pm |
STAFF |
|
RMTE |
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: MATH 110 or 105, 122, 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 |
MWF |
2:30pm - 3:20pm |
Boting Yang |
17-APR-23 |
|
CS 320 - Introduction to Artificial Intelligence |
Foundations and main methods of Artificial Intelligence. Problem characteristics and spaces. Search and optimization techniques with a focus on uninformed and heuristic algorithms. Two player games and constraint satisfaction. Modelling and simulation. Comparison of logic-based, fuzzy, and probabilistic reasoning and knowledge representation methodologies. Machine learning: learning tasks, inductive learning, statistical-based learning, over-fitting, accuracy.
***Prerequisite: CS 210, STAT 160 or 200, and MATH 221***
*Students cannot receive credit for both CS 320 and ENSE 411 (ENSE 496AC).* |
001 |
TR |
4:30pm - 5:45pm |
Qiaoyi Li |
18-APR-23 |
|
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 |
TR |
2:30pm - 3:45pm |
Xue-Dong Yang |
18-APR-23 |
|
092 |
T |
4:30pm - 6:20pm |
STAFF |
|
|
093 |
F |
2:30pm - 4:20pm |
STAFF |
|
|
094 |
F |
12:30pm - 2:20pm |
STAFF |
|
|
095 |
F |
09:30am - 11:20am |
STAFF |
|
|
096 |
W |
09:30am - 11:20am |
STAFF |
|
|
097 |
W |
12:30pm - 2:20pm |
STAFF |
|
|
CS 335 - Computer Networks |
Network architectures and protocols, networked applications, reliable data delivery, routing and forwarding, local area networks, resource allocation, mobility, reliability through redundancy. Security: secure design, defensive programming, threats and attacks, network security, cryptography.
*** Prerequisite: CS 210 (may be taken concurrently), and STAT 160 or 200 (may be taken concurrently) *** |
001 |
TR |
1:00pm - 2:15pm |
Nashid Shahriar |
20-APR-23 |
|
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 |
W |
11:30am - 12:45pm |
Mandana Gholamigazafrudy |
24-APR-23 |
BLEND |
001 |
|
- |
Mandana Gholamigazafrudy |
24-APR-23 |
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 |
TR |
5:30pm - 6:45pm |
Qian Yu |
25-APR-23 |
|
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 |
R |
10:00am - 11:15am |
Samira Sadaoui-Mouhoub |
20-APR-23 |
BLEND |
001 |
|
- |
Samira Sadaoui-Mouhoub |
20-APR-23 |
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 |
10:00am - 11:15am |
Xue-Dong Yang |
20-APR-23 |
|
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 |
MWF |
4:30pm - 5:20pm |
Sultan Ahmed |
14-APR-23 |
|
CS 435 - Cryptography and Network Security |
Classical cryptosystems, data encryption standards, advanced encryption algorithms, public key cryptosystems, digital signatures, IP security, and web security.
*** Prerequisite: CS 335 *** |
001 |
R |
7:00pm - 9:45pm |
Qian Yu |
20-APR-23 |
|
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*** |
001 |
W |
7:00pm - 9:45pm |
Hanlin Hu |
26-APR-23 |
RMTE |
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 |
Samira Sadaoui-Mouhoub |
25-APR-23 |
BLEND |
001 |
|
- |
Samira Sadaoui-Mouhoub |
25-APR-23 |
BLEND |
002 |
W |
5:30pm - 6:45pm |
Sirvan Parasteh |
19-APR-23 |
RMTE |
CS 490CO - Wireless Technologies |
Study and analysis of several wireless communications, such as Bluetooth, RFID and Wi-fi-by including case studies. |
001 |
M |
1:30pm - 4:15pm |
Maher Elshakankiri |
24-APR-23 |
RMTE |
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 |
|
- |
STAFF |
|
|
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 |
Yiyu Yao |
|
|
002 |
MWF |
3:30pm - 4:20pm |
Yiyu Yao |
|
|