Class of 2021 1B

Winter 2017 Class reps

Divisional meetings

Course sequence

Term Course and Title Cls Tut Lab

1A Fall 2016

CS 137 Programming Principles 3 1 2
ECE 105 Physics of Electrical Engineering 1 3 1 0
ECE 140 Linear Circuits 3 2 1
MATH 115 Linear Algebra for Engineering 3 2 0
MATH 117 Calculus 1 for Engineering 3 2 0
SE 101 Introduction to Methods of Software Engineering 1 0 2

1B Winter 2017

SE 102 Seminar 1 0 0
CS 138 Introduction to Data Abstraction and Implementation 3 1 2
ECE 106 Physics of Electrical Engineering 2 3 1 1.5
ECE 124 Digital Circuits and Systems 3 1 1.5
MATH 119 Calculus 2 for Engineering 3 2 0
MATH 135 Algebra for Honours Mathematics 3 1 0

2A Fall 2017

SE 201 Seminar 1 0 0
CHE 102 Chemistry for Engineers 3 2 0
CS 241 Foundations of Sequential Programs 3 1 2
ECE 222 Digital Computers 3 1 3*
SE 212 Logic and Computation 3 1 0
STAT 206 Statistics for Software Engineering (see note 5) 3 1 0
Communication Elective (see note 6) 3 + +

2B Spring 2018

SE 202 Seminar 1 0 0
CS 240 Data Structures and Data Management 3 0 3
CS 247 Software Engineering Principles *** 3 1 3
MSCI 261 Engineering Economics:  Financial Management for Engineers 3 1 0
MATH 213 Advanced Mathematics for Software Engineers 3 1 0
MATH 239 Introduction to Combinatorics 3 1 0
Elective (see note 1) 3 + +
WKRPT 200 Work-term Report
TPM 000 CR/NCR

3A Winter 2019 

SE 301 Seminar 1 0 0
CS 341 Algorithms 3 0 3
CS 349 User Interfaces *** 3 0 1
SE 350 Operating Systems 3 1 1.5
SE 465 Software Testing and Quality Assurance *** 3 1 3
Elective (see note 1) 3 + +

3B Fall 2019

SE 302 Seminar 1 0 0
CS 343 Concurrent and Parallel Programming 3 0 3
CS 348 Introduction to Database Management 3 0 0
SE 380 Introduction to Feedback Control 3 1 1.5
SE 390 Design Project Planning *** 2 0 2
SE 464 Software Design and Architectures *** 3 1 3
Elective (see note 1) 3 + +
WKRPT 300 Work-term Report

4A Spring 2020

SE 401 Seminar 1 0 0
ECE 358 Computer Networks  3 1 1.5
SE 463 Software Requirements Specification and Analysis *** 3 1 3
SE 490 Design Project 1 *** 2 0 9
Two Electives (see notes 1 and 2) 3 + +
WKRPT 400 Work-term Report 

4B Winter 2021

SE 402 Seminar 1 0 0
SE 491 Design Project 2 *** 2 0 2
Five Electives (see notes 1 and 2) 3 + +

* Alternate weeks
** One hour seminar per week
*** lab is not scheduled and students are expected to find time in open hours to complete their work

Notes:

  1. There are eleven electives. As detailed above, these electives must include three advanced technical electives, two science electives, and three linkage electives. For their remaining three electives, students may choose to take additional courses from the elective lists above or any other 0.5 credit course for which they meet the requisites. Advanced Technical Electives may not be taken before the 3A term.
  2. Students may choose to take three electives in 4A and four electives in 4B, instead of two in 4A and five in 4B. 
  3. Students enrolled in Software Engineering will only be permitted to use the WD and WF (see Grading System for descriptions) provisions used in the Faculty of Mathematics to withdraw from extra courses taken above and beyond the degree requirements.
  4. With the permission of the Program Advisor, ECE 358 may be taken in 3A or 3B and replaced with a technical elective in 4A if required as a prerequisite for an ATE.
  5. Students may replace STAT 206 and one of their unrestricted electives with the combination of STAT 230and STAT 231.
  6. The Linkage elective on Communication is normally taken in the 2A term. It must be completed with a grade of at least 60% prior to enrolling in the 3A term.

Advanced technical electives (ATEs)

The advanced technical electives comprise fourth-year course offerings in CS or ECE. Students are advised to plan ahead when selecting ATEs. Most ATEs are not offered every term, and some ATEs have other ATEs as prerequisites. Other courses may be approved by the Program Director.

One of the following CS courses (CS List):

CS 442 Principles of Programming Languages 
CS 444 Compiler Construction
CS 448 Database Systems Implementation
CS 449 Human-Computer Interaction 
CS 450 Computer Architecture 
CS 452 Real-time Programming 
CS 454 Distributed Systems
CS 457 System Performance Evaluation
CS 458 Computer Security and Privacy
CS 462 Formal Languages and Parsing
CS 466 Algorithm Design and Analysis   
CS 484 Computational Vision
CS 485 Machine Learning: Statistical and Computational Foundations
CS 486 Introduction to Artificial Intelligence
CS 487 Introduction to Symbolic Computation  
CS 488 Introduction to Computer Graphics

One of the following ECE courses (ECE list):

ECE 409 Cryptography and System Security
ECE 416 Higher Level Network Protocols
ECE 418 Communications Networks
ECE 423 Embedded Computer Systems 
ECE 429 Computer Architecture 
ECE 454 Distributed Computing
ECE 455 Embedded Software 
ECE 457A  Cooperative and Adaptive Algorithms
ECE 457B Fundamentals of Computational Intelligence
ECE 458 Computer Security
ECE 459 Programming for Performance
ECE 481 Digital Control Systems  
ECE 486 Robot Dynamics and Control 
ECE 488 Multivariable Control Systems

An additional course from the CS and ECE lists above

Science electives

Linkage electives

Three Linkage Electives (LE)

At least one from each of the areas of Societal Issues, Humanities and Social Sciences, and Communications, as specified below. Students should be aware that these courses may have enrolment limits, or may not fit their schedules.

One course on Societal Issues: 
CS 492Complementary Studies Elective List A

One course on Communication:
ENGL 109ENGL 129R/EMLS 129REMLS 101REMLS 102RSPCOM 100SPCOM 223

One additional course on Humanities and Social Sciences:
Complementary Studies Elective List C


Use of this information for the purposes of solicitation of business or contributions is forbidden.