|
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 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.* |
040 |
MTW |
09:30am - 10:45am |
25-JUN-24 |
|
040 |
MTWR |
09:30am - 10:45am |
25-JUN-24 |
|
091 |
M |
11:30am - 2:50pm |
|
|
092 |
T |
3:30pm - 6:50pm |
|
|
093 |
T |
11:30am - 2:50pm |
|
|
094 |
W |
11:30am - 2:50pm |
|
|
095 |
R |
11:30am - 2:50pm |
|
|
096 |
F |
09:30am - 12:50pm |
|
|
097 |
F |
2:00pm - 5:20pm |
|
|
098 |
W |
3:30pm - 6:50pm |
|
|
099 |
R |
3:30pm - 6:50pm |
|
|
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%.*** |
070 |
MTWR |
09:30am - 10:45am |
20-AUG-24 |
|
090 |
M |
12:30pm - 3:50pm |
|
|
092 |
F |
09:30am - 12:50pm |
|
|
093 |
T |
12:30pm - 3:50pm |
|
|
094 |
W |
12:30pm - 3:50pm |
|
|
095 |
R |
12:30pm - 3:50pm |
|
|
096 |
T |
4:30pm - 7:50pm |
|
|
097 |
W |
4:30pm - 7:50pm |
|
|
099 |
F |
1:30pm - 4:50pm |
|
|
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*** |
040 |
MTWR |
09:30am - 10:45am |
25-JUN-24 |
|
090 |
T |
11:30am - 2:50pm |
|
|
091 |
W |
11:30am - 2:50pm |
|
|
092 |
R |
11:30am - 2:50pm |
|
|
093 |
F |
09:30am - 12:50pm |
|
|
094 |
T |
3:30pm - 6:50pm |
|
|
095 |
W |
3:30pm - 6:50pm |
|
|
096 |
F |
1:30pm - 4:50pm |
|
|
097 |
R |
3:30pm - 6:50pm |
|
|
098 |
M |
11:30am - 2:50pm |
|
|
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 *** |
040 |
MTW |
11:00am - 12:15pm |
26-JUN-24 |
|
040 |
MTWR |
11:00am - 12:15pm |
26-JUN-24 |
|
080 |
T |
12:30pm - 3:50pm |
|
|
081 |
W |
12:30pm - 3:50pm |
|
|
082 |
R |
12:30pm - 3:50pm |
|
|
083 |
F |
12:30pm - 3:50pm |
|
|
084 |
T |
4:30pm - 7:50pm |
|
|
085 |
W |
4:30pm - 7:50pm |
|
|
086 |
R |
4:30pm - 7:50pm |
|
|
087 |
F |
4:30pm - 7:50pm |
|
|
088 |
M |
12:30pm - 3:50pm |
|
|
089 |
M |
4:30pm - 7:50pm |
|
|
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*** |
092 |
TR |
09:30am - 11:20am |
|
RMTE |
093 |
TR |
11:30am - 1:20pm |
|
RMTE |
094 |
TR |
1:30pm - 3:20pm |
|
RMTE |
095 |
TR |
3:30pm - 5:20pm |
|
RMTE |
397 |
MW |
11:30am - 12:45pm |
21-AUG-24 |
BLEND |
397 |
|
- |
21-AUG-24 |
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 *** |
070 |
MTWR |
2:30pm - 3:45pm |
20-AUG-24 |
|
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).* |
040 |
MTWR |
09:30am - 10:45am |
25-JUN-24 |
|
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 *** |
070 |
MTWR |
09:30am - 10:45am |
20-AUG-24 |
|
096 |
F |
09:30am - 12:50pm |
|
|
097 |
T |
12:30pm - 3:50pm |
|
|
098 |
W |
12:30pm - 3:50pm |
|
|
099 |
R |
12:30pm - 3:50pm |
|
|
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) *** |
040 |
MTWR |
1:00pm - 2:15pm |
24-JUN-24 |
|
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 *** |
070 |
MTWR |
1:00pm - 2:15pm |
19-AUG-24 |
|
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 |
4:30pm - 5:45pm |
27-AUG-24 |
BLEND |
CS 490AP - Emerging User Interface Design |
Discover new and emerging principles of UI design. Derive guidelines directly applicable to industrial applications from research in the fields of Psychology, HCI, and Software Engineering Methodologies.
***Prerequisite: CS 428.*** |
040 |
MTWR |
10:00am - 11:15am |
25-JUN-24 |
|
CS 490DG - User Interface Evaluation Methods |
Methods for evaluating user interfaces with human subjects. Topics include research ethics, research methods, experimental design, data collection, and data analysis. |
070 |
MTWR |
10:00am - 11:15am |
20-AUG-24 |
|
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). |
010 |
|
- |
|
|
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. |
010 |
MWF |
3:30pm - 4:20pm |
|
|
020 |
MWF |
3:30pm - 4:20pm |
|
|