Schedules: class schedule ,midterm schedule , final exam schedule
Pre-requisite diagram for ATEs
Class Reps
Academic reps:
EngSoc Reps:
SE SocietyReps:
WEEF Rep:
MEFRep:
- Vacant
MathSocRep:
Athletic Rep:
YearbookRep:
Curriculum Rep:
Class rep meetings
- Wednesday Oct 3rd, 12:30-1:20pm, DC 2102
- Wednesday Oct 31, 12:30-1:20pm, DC 2102
- Wednesday Nov 28th, 12:30-1:20pm, (meet in DC 2526 at noon)
* lunch will be provided for the meetings
Class Prof: Werner Dietl
Degree Requirements
IMPORTANT NOTE:Students must normally fulfilthe degree requirements described in the undergraduatecalendar that isin effect at the time that they started the program.Most students in the class of 2020need to fulfilthe SE degree requirements described in the 2015-2016calendar. The defaults to the most recent one, but you can select a different yearin the top left of the webpage.The SE director has given students in your class the option to choose to satisfy the SE degree requirements in the.Note that you mustmeet all of the requirements of whichever calendar you choose.The main differences between the 2016-2017 calendar and the 2015-2016calendar are:
- ATE lists “tightened up” i.e. more restrictive lists
- 1 ATE converted to an open elective
- 1 list C LE converted to an open elective
- PD10 becomes mandatory
- the communication LE list changed slightly
If you wish to opt for the new (2016-2017) calendar, email se-advisor@uwaterloo.caand ask them to update your calendar year onseadvisor.uwaterloo.ca.
2015-2016Course sequence
Term | Course and Title |
Cls
|
Tut
|
Lab
|
---|---|---|---|---|
1A Fall 2015 |
CS Programming Principles |
3
|
1
|
2
|
ECE Physics of Electrical Engineering 1 |
3
|
1
|
0
|
|
ECE Linear Circuits |
3
|
2
|
1
|
|
MATH Linear Algebra for Engineering |
3
|
2
|
0
|
|
MATH Calculus 1 for Engineering |
3
|
2
|
0
|
|
SE Introduction to Methods of Software Engineering** |
1
|
0
|
2
|
|
1B Winter 2016 |
SE Seminar |
1
|
0
|
0
|
CS Introduction to Data Abstraction and Implementation |
3
|
1
|
2
|
|
ECE Physics of Electrical Engineering 2 |
3
|
1
|
1.5
|
|
ECE Digital Circuits and Systems |
3
|
1
|
1.5
|
|
MATH Calculus 2 for Engineering |
3
|
2
|
0
|
|
MATH Algebra for Honours Mathematics |
3
|
1
|
0
|
|
2A Fall 2016 |
SE Seminar |
1
|
0
|
0
|
CHE Chemistry for Engineers |
3
|
2
|
0
|
|
CS Foundations of Sequential Programs |
3
|
1
|
2
|
|
ECE Digital Computers |
3
|
1
|
3*
|
|
SE Logic and Computation |
3
|
1
|
0
|
|
STAT Statistics for Software Engineering |
3
|
1
|
0
|
|
Elective (see note 1) |
3
|
+
|
+
|
|
2B Spring 2017 |
SE Seminar |
1
|
0
|
0
|
CS Data Structures and Data Management |
3
|
0
|
3
|
|
CS Software Engineering Principles *** |
3
|
1
|
3
|
|
MSCI Engineering Economics: Financial Management for Engineers |
3
|
1
|
0
|
|
MATH Advanced Mathematics for Software Engineers |
3
|
1
|
0
|
|
MATH Introduction to Combinatorics |
3
|
1
|
0
|
|
Elective (see note 1) |
3
|
+
|
+ | |
WKRPT Work-term Report | ||||
000 CR/NCR | ||||
3A Winter 2018 |
SE Seminar |
1
|
0
|
0
|
CS Algorithms |
3
|
0
|
3
|
|
CS User Interfaces *** |
3
|
0
|
1
|
|
SE Operating Systems |
3
|
1
|
1.5
|
|
SE Software Testing and Quality Assurance *** |
3
|
1
|
3
|
|
Elective (see note 1) |
3
|
+
|
+
|
|
3B Fall 2018 |
SE Seminar |
1
|
0
|
0
|
CS Concurrent and Parallel Programming |
3
|
0
|
3
|
|
CS Introduction to Database Management |
3
|
0
|
0
|
|
SE Introduction to Feedback Control | 3 | 1 | 1.5 | |
SE Design Project Planning *** |
2
|
0
|
2
|
|
SE Software Design and Architectures *** |
3
|
1
|
3
|
|
Elective (see note 1) |
3
|
+
|
+
|
|
WKRPT Work-term Report | ||||
4A Spring 2019 |
SE Seminar |
1
|
0
|
0
|
ECE Computer Networks |
3
|
1
|
1.5
|
|
SE Software Requirements Specification and Analysis *** |
3
|
1
|
3
|
|
SE Design Project 1 *** |
2
|
0
|
9
|
|
Two Electives (see note 1) |
3
|
+
|
+
|
|
WKRPT Work-term Report | ||||
4B Winter 2020 |
SE Seminar |
1
|
0
|
0
|
SE Design Project 2 *** |
2
|
0
|
2
|
|
Five Electives (see note 1) |
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
- There are eleven electives. As detailed above, these electives must include four advanced technical electives, two science electives, and four linkage electives. For their remaining elective, students may choose to take any of an additional advanced technical elective, an additional science elective, any course from the complementary studies electives lists, a foreign-language linguistics or grammar course, BUS 111W, BUS 121W (see ), , or any other course approved by the SE Program Advisor. Advanced Technical Electives may not be taken before the 3A term; 400-level Advanced Technical Electives may not be taken before the 3B term.
- Students enrolled in Software Engineering will only be permitted to use the WD and WF (see for descriptions) provisions used in the Faculty of Mathematics to withdraw from extra courses taken above and beyond the degree requirements.
- Foreign-language courses must be approved by the SE advisor.
- With the permission of the Program Advisor, may be swapped with a 3A or 3B technical elective if required as a prerequisite for an ATE.
Advanced technical electives (ATEs)
Four Advanced Technical Electives (ATE):
The advanced technical electives comprise primarily 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 pre-requisites. Other courses may be approved by the Program Director. Courses offered by the Department of Systems Design Engineering require instructor consent.
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 473 Medical Image Processing
CS 480 Introduction to Machine Learning
CS 484 Computational Vision
CS 485 Statistical and Computational Foundations of Machine Learning
CS 486 Introduction to Artificial Intelligence
CS 487Introduction 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 417 Image Processing
ECE 418 Communications Networks
ECE 423 Embedded Computer Systems
ECE 429 Computer Structures
ECE 454 Distributed and Network 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
One of
Anadditional course from the CS and ECE lists above
CO 487 Applied Cryptography
CS 462 Formal Languages and Parsing
CS 466 Algorithm Design and Analysis
CS 467 Introduction to Quantum Information Processing
CS 475 Computational Linear Algebra
CS 487 Introduction to Symbolic Computation
CS 489 Advanced Topics in Computer Science
CS 490 Information Systems Management
ECE 406 Algorithm Design and Analysis
SE 498 Advanced Topics in Software Engineering
SE 499 Project - students interested in SE 499 should contact thecoordinator.
SYDE 533 Conflict Resolution
SYDE575 Image Processing
One of
An additional course from the ATE lists above
CS 360 Introduction to the Theory of Computing
CS 365 Models of Computation
CS 370 Numerical Computation
CS 371 Introduction to Computational Mathematics
ECE 207 Signals and Systems
ECE 224 Embedded Microprocessor Systems
ECE 327 Digital Hardware Systems
SYDE 348 User Centred Design Methods
Science electives
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,130 (including 130L), 165, 239, 240, 273, CHE 161, CHEM 262 (including 262L), EARTH 121, 122, PHYS234, 246, 263,275, 334, 375, SCI 238, 250
Linkage electives
Four 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,
One course on Communication: ENGL 109, 119, 140R, 210E, 210F, SPCOM 100, 223, 324, 432
Two additional courses on Humanities and Social Sciences:
Use of this information for the purposes of solicitation of business or contributions is forbidden.