University of Waterloo
200 University Ave W, Waterloo, ON N2L 3G1
Phone: (519) 888-4567
Staff and Faculty Directory
Contact the Department of Software Engineering Engineering
Visit our COVID-19 information website to learn how Warriors protect Warriors.
Schedules: class schedule, midterm schedule, final exam schedule
Pre-requisite diagram for ATEs
Technical presentation milestone
* lunch will be provided for the meetings
Class Prof: Michael Godfrey
IMPORTANT NOTE: Students must normally fulfil the degree requirements described in the undergraduate calendar that is in effect at the time that they started the program. Most students in the class of 2020 need to fulfil the SE degree requirements described in the 2015-2016 calendar. The online calendar defaults to the most recent one, but you can select a different year in the top left of the web page. The SE director has given students in your class the option to choose to satisfy the SE degree requirements in the 2016-2017 calendar. Note that you must meet all of the requirements of whichever calendar you choose. The main differences between the 2016-2017 calendar and the 2015-2016 calendar are:
1A Fall |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
Three Advanced Technical Electives (ATE):
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
Two Science Electives (SCE)
Normally these courses are in the natural sciences, chosen from the list below. Alternate courses may be chosen in consultation with the SE Program Advisors.
Science Elective Courses:
BIOL 110, (BIOL 130 and BIOL 130L), BIOL 165, BIOL 239, BIOL 240, BIOL 273, CHE 161, (CHEM 262 and CHEM 262L), EARTH 121, EARTH 122, PHYS 234, PHYS 263, PHYS 275, PHYS 334, PHYS 375, SCI 238, SCI 250
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 492, Complementary Studies Elective List A
One course on Communication:
ENGL 109, ENGL 129R/EMLS 129R, EMLS 101R, EMLS 102R, SPCOM 100, SPCOM 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.
University of Waterloo
200 University Ave W, Waterloo, ON N2L 3G1
Phone: (519) 888-4567
Staff and Faculty Directory
Contact the Department of Software Engineering Engineering
The University of Waterloo acknowledges that much of our work takes place on the traditional territory of the Neutral, Anishinaabeg and Haudenosaunee peoples. Our main campus is situated on the Haldimand Tract, the land granted to the Six Nations that includes six miles on each side of the Grand River. Our active work toward reconciliation takes place across our campuses through research, learning, teaching, and community building, and is centralized within our Indigenous Initiatives Office.