|
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 |
12-DEC-23 |
RMTE |
080 |
M |
09:30am - 11:20am |
|
RMTE |
081 |
T |
1:30pm - 3:20pm |
|
RMTE |
082 |
W |
09:30am - 11:20am |
|
RMTE |
083 |
T |
4:00pm - 5:50pm |
|
RMTE |
084 |
F |
5:30pm - 7:20pm |
|
RMTE |
086 |
R |
5:30pm - 7:20pm |
|
RMTE |
092 |
M |
11:30am - 1:20pm |
|
RMTE |
S01 |
MW |
11:30am - 12:45pm |
18-DEC-23 |
|
S02 |
MW |
11:30am - 12:45pm |
18-DEC-23 |
|
S03 |
F |
12:30pm - 2:20pm |
|
|
S04 |
F |
09:30am - 11:20am |
|
|
S05 |
R |
12:30pm - 2:20pm |
|
|
S06 |
R |
09:30am - 11:20am |
|
|
S07 |
W |
2:30pm - 4:20pm |
|
|
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 |
12:30pm - 1:20pm |
13-DEC-23 |
|
003 |
MWF |
4:30pm - 5:20pm |
13-DEC-23 |
RMTE |
070 |
T |
1:30pm - 3:20pm |
|
RMTE |
071 |
T |
11:30am - 1:20pm |
|
RMTE |
072 |
T |
5:30pm - 7:20pm |
|
RMTE |
073 |
T |
09:30am - 11:20am |
|
RMTE |
074 |
M |
5:30pm - 7:20pm |
|
RMTE |
075 |
M |
1:30pm - 3:20pm |
|
RMTE |
076 |
M |
11:30am - 1:20pm |
|
RMTE |
077 |
W |
5:30pm - 7:20pm |
|
RMTE |
081 |
T |
11:30am - 1:20pm |
|
|
082 |
T |
09:30am - 11:20am |
|
|
083 |
M |
3:30pm - 5:20pm |
|
|
084 |
T |
3:30pm - 5:20pm |
|
|
085 |
F |
6:30pm - 8:20pm |
|
|
086 |
F |
4:30pm - 6:20pm |
|
|
087 |
R |
5:30pm - 7:20pm |
|
|
089 |
W |
1:30pm - 3:20pm |
|
|
090 |
T |
1:30pm - 3:20pm |
|
|
091 |
M |
12:30pm - 2:20pm |
|
|
092 |
R |
09:30am - 11:20am |
|
|
093 |
W |
7:00pm - 8:50pm |
|
|
094 |
R |
2:30pm - 4:20pm |
|
|
095 |
R |
11:30am - 1:20pm |
|
|
096 |
M |
5:30pm - 7:20pm |
|
|
098 |
W |
09:30am - 11:20am |
|
|
991 |
MWF |
4:30pm - 5:20pm |
13-DEC-23 |
|
S01 |
MW |
10:00am - 11:15am |
13-DEC-23 |
|
S02 |
MW |
10:00am - 11:15am |
13-DEC-23 |
|
S03 |
M |
3:30pm - 5:20pm |
|
|
S04 |
M |
11:30am - 1:20pm |
|
|
S05 |
T |
3:30pm - 5:20pm |
|
|
S06 |
T |
11:30am - 1:20pm |
|
|
S07 |
W |
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%.*** |
002 |
MWF |
4:30pm - 5:20pm |
15-DEC-23 |
|
081 |
W |
1:30pm - 3:20pm |
|
|
082 |
F |
10:30am - 12:20pm |
|
|
083 |
W |
10:30am - 12:20pm |
|
|
084 |
T |
10:30am - 12:20pm |
|
|
085 |
T |
12:30pm - 2:20pm |
|
|
091 |
F |
1:30pm - 3:20pm |
|
|
092 |
W |
5:30pm - 7:20pm |
|
|
093 |
R |
2:30pm - 4:20pm |
|
|
094 |
T |
2:30pm - 4:20pm |
|
|
095 |
M |
09:30am - 11:20am |
|
|
096 |
M |
5:30pm - 7:20pm |
|
|
991 |
MWF |
5:30pm - 6:20pm |
15-DEC-23 |
|
CS 165 - Introduction to Programming with Python |
An introduction to problem-solving techniques using Python. This course will introduce fundamental programming principles and topics: data types, expressions, control structures, elementary data structures, functions, files, and the mechanics of running, testing and debugging. These concepts will be applied to problem solving and applications in data analysis.
***Prerequisite: Foundations of Mathematics 30, Precalculus 20, Math B30, Math C30, or PMTH 092.***
*Note: Students may receive credit for one of CS 165 or STAT 165.* |
001 |
MW |
2:30pm - 3:45pm |
11-DEC-23 |
|
090 |
R |
10:30am - 12:20pm |
|
|
091 |
R |
1:30pm - 3:20pm |
|
|
092 |
F |
10:30am - 12:20pm |
|
|
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 |
10:00am - 11:15am |
18-DEC-23 |
|
089 |
F |
1:30pm - 3:20pm |
|
|
090 |
F |
11:30am - 1:20pm |
|
|
091 |
R |
12:30pm - 2:20pm |
|
|
092 |
F |
09:30am - 11:20am |
|
|
093 |
R |
2:30pm - 4:20pm |
|
|
094 |
T |
11:30am - 1:20pm |
|
|
095 |
M |
11:30am - 1:20pm |
|
|
096 |
M |
5:30pm - 7:20pm |
|
|
097 |
W |
5:30pm - 7:20pm |
|
|
098 |
W |
1:30pm - 3:20pm |
|
|
099 |
T |
5:30pm - 7: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 *** |
090 |
W |
11:30am - 1:20pm |
|
|
091 |
W |
3:30pm - 5:20pm |
|
|
092 |
R |
09:30am - 11:20am |
|
|
093 |
M |
09:30am - 11:20am |
|
|
094 |
M |
1:30pm - 3:20pm |
|
|
095 |
W |
09:30am - 11:20am |
|
|
096 |
M |
3:30pm - 5:20pm |
|
|
097 |
T |
2:30pm - 4:20pm |
|
|
098 |
T |
09:30am - 11:20am |
|
|
991 |
MWF |
6:00pm - 6:50pm |
19-DEC-23 |
|
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 |
|
BLEND |
091 |
W |
09:30am - 11:20am |
|
BLEND |
092 |
T |
1:30pm - 3:20pm |
|
BLEND |
093 |
W |
1:30pm - 3:20pm |
|
BLEND |
397 |
|
- |
19-DEC-23 |
BLEND |
397 |
R |
11:30am - 12:45pm |
19-DEC-23 |
BLEND |
CS 261 - Methods in Numerical Analysis |
Topics will include number systems and errors, solutions of polynomial and other nonlinear equations, interpolation, numerical differentiation and integration, and the cubic spline.
***Prerequisite: CS 110 or 115, MATH 111 and 122***
*Note: Students will receive credit for only one of CS 261 or MATH 261* |
001 |
MWF |
11:30am - 12:20pm |
18-DEC-23 |
|
098 |
M |
09:30am - 11:20am |
|
|
099 |
M |
12:30pm - 2: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: 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 |
5:30pm - 6:20pm |
08-DEC-23 |
|
CS 315 - Introduction to Computer Graphics |
Introduction to graphics hardware and software. Two-dimensional graphics rendering algorithms. Basic three-dimensional modeling, transformations, viewing geometry, lighting and shading, hidden surface removel, and texture mapping.
*** Prerequisite: CS210 and MATH 122 *** |
001 |
TR |
2:30pm - 3:45pm |
12-DEC-23 |
|
090 |
T |
09:30am - 11:20am |
|
|
091 |
R |
09:30am - 11:20am |
|
|
093 |
W |
09:30am - 11:20am |
|
|
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 |
MWF |
6:30pm - 7:20pm |
11-DEC-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 |
|
- |
|
|
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 |
4:30pm - 5:45pm |
21-DEC-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 |
|
- |
15-DEC-23 |
BLEND |
001 |
F |
09:30am - 10:45am |
15-DEC-23 |
BLEND |
002 |
M |
10:00am - 11:15am |
15-DEC-23 |
BLEND |
002 |
|
- |
15-DEC-23 |
BLEND |
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 |
TR |
7:30pm - 8:45pm |
19-DEC-23 |
|
CS 375 - Database and Information Retrieval |
Information management: concepts and applications. Motivation for database systems. Components of database systems. Data modeling: conceptual, spreadsheet, relational, object-oriented, and semi-structured models. Querying and database query languages. Caching and transaction processing. Other topics include distributed databases, physical database design, and information retrieval systems.
*** Prerequisite: CS 215 *** |
001 |
TR |
6:00pm - 7:15pm |
21-DEC-23 |
|
CS 409 - Interactive Entertainment Software |
This course teaches the design and implementation of interactive entertainment software, including computer games. Topics include history of interactive software, social factors, principles of interactive entertainment, hardware platforms, current software development tools, game design, game architecture, game physics, collision detection, game graphics, artificial intelligence for games, audio, game production and business aspects.
***Prerequisite: One of CS 315, CS 320, CS 330, or CS 340. *** |
001 |
MWF |
10:30am - 11:20am |
08-DEC-23 |
|
CS 411 - Computability and Formal Languages |
The notion of effective procedure and Turing machine. The universal Turing machine. Nondeterministic Turing machine. Recursive functions and other computable functions. The halting problem and unsolvability. Grammar and formal language. Finite automata and regular grammars. Context-free grammars and push-down automata. Post correspondence problem. The Chomsky hierarchy of languages and context-sensitive language.
*** Prerequisite: CS 310 *** |
001 |
MWF |
2:30pm - 3:20pm |
11-DEC-23 |
|
CS 425 - Image Processing |
Introduction to image processing systems. Image transformation. Image enhancement. Image coding and compression. Feature extraction and image segmentation.
*** Prerequisite: CS 340, MATH 111 and 122 *** |
001 |
TR |
10:00am - 11:15am |
21-DEC-23 |
|
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 |
|
- |
19-DEC-23 |
BLEND |
001 |
T |
11:30am - 12:45pm |
19-DEC-23 |
BLEND |
CS 490DB - Applications in Natural Sciences |
This course investigates one or more topics related to the application of Computer Science in research in the natural sciences, such as astronomy, biology, chemistry/biochemistry, geology, physics, etc. Projects may include: problem definition, requirements analysis, software design, implementation, experimental design, summarization of results, data analysis. Project presentation, demonstration, and report. |
001 |
|
- |
|
|
CS 490DI - Knowledge Representation and Reasoning |
The course examines some of the techniques used to represent knowledge in artificial intelligence, and the associated methods of automated reasoning. The emphasis will be on the compromises involved in providing a useful but tractable representation and reasoning service to a knowledge-based system.
***Prerequisite: CS 310.*** |
001 |
TR |
1:00pm - 2:15pm |
14-DEC-23 |
|
CS 490DJ - Topics in Cybersecurity |
This course will introduce a broad spectrum of cybersecurity topics including security principles, incident response and recovery, access control, network security, data security and privacy, and security operations. |
001 |
MW |
7:30pm - 8:45pm |
11-DEC-23 |
|
CS 490DL -
Topics in Computer Simulation |
This course investigates one or more topics in computer simulation in depth. Topics may include: discrete-event simulation, queuing systems, queuing models, population models, random variate generation, verification and validation, and evaluation. Project.
***Prerequisite: CS 215*** |
001 |
|
- |
14-DEC-23 |
|
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 |
|
|