Useful Links:
- Sample 1A scheduleÌý
- (course material)
- Quest (transcripts and schedules)
- Cohort schedule (including proposed times for viewing videos)
- University Important DatesÌý(when classes start, when is reading week, when are exams, etc)Ìý
- Email (check this daily once the term starts)
- (for course Q&A)
- First-year students
- Learning online in university
Fall 2021 Class reps
Academic reps:
EngSoc Reps:
MathSoc Reps:
SE Society Reps:
WiSE:
WEEF Reps:
Athletic Reps:
Yearbook Rep:
DivisionalÌýmeetings
- Monday September 27th, 2:30-1320pm
- Monday October 25th 2:30-3:30pm
Join upper-year reps for class rep meeting: Monday Nov 29th 10:30-11:30pm
2021 - 2022 Course sequence
Term | Course and Title | Cls | Tut | Lab |
---|---|---|---|---|
1A Fall 2021 |
ÌýProgramming Principles | 3 | 1 | 2 |
Classical Mechanics | 3 | 1 | 1.25 | |
ÌýLinear Algebra for Engineering | 3 | 2 | 0 | |
ÌýCalculus 1 for Engineering | 3 | 2 | 0 | |
ÌýAlgebra for Honours Mathematics | 3 | 1 | 0 | |
ÌýIntroduction to Methods of Software Engineering* | 1 | 0 | 2 | |
1B Winter 2022 |
ÌýSeminar | 1 | 0 | 0 |
ÌýIntroduction to Data Abstraction and Implementation | 3 | 1 | 2 | |
Electricity and Magnetism | 3 | 1 | 1.25 | |
ÌýDigital Circuits and Systems | 3 | 1 | 1.25 | |
ÌýLinear Circuits | 3 | 2 | 1.25 | |
ÌýCalculus 2 for Engineering | 3 | 2 | 0 | |
2A Fall 2022 |
ÌýSeminar | 1 | 0 | 0 |
ÌýChemistry for Engineers (see note 7) | 3 | 2 | 0 | |
ÌýFoundations of Sequential Programs | 3 | 1 | 2 | |
ÌýDigital Computers | 3 | 1 | 1.25 | |
ÌýLogic and Computation | 3 | 1 | 0 | |
ÌýStatistics for Software Engineering (see note 5) | 3 | 1 | 0 | |
Communication Elective (see note 6) | 3 | + | + | |
2B Spring 2023 |
ÌýSeminar | 1 | 0 | 0 |
ÌýData Structures and Data Management | 3 | 0 | 3 | |
ÌýSoftware Engineering Principles ** | 3 | 1 | 3 | |
ÌýIntroduction to Database Management | 3 | 0 | 0 | |
Engineering Economics and Impact on Society | 2 | 1 | 0 | |
ÌýIntroduction to Combinatorics | 3 | 1 | 0 | |
Elective (see note 1) | 3 | + | + | |
ÌýWork-term Report | ||||
3A Winter 2024 |
ÌýSeminar | 1 | 0 | 0 |
ÌýAlgorithms | 3 | 0 | 3 | |
ÌýUser Interfaces ** | 3 | 0 | 1 | |
ÌýAdvanced Mathematics for Software Engineers | 3 | 1 | 0 | |
ÌýOperating Systems | 3 | 1 | 1.25 | |
ÌýSoftware Testing and Quality Assurance ** | 3 | 1 | 3 | |
Elective (see note 1 and 2) | 3 | + | + | |
3B Fall 2024 |
ÌýSeminar | 1 | 0 | 0 |
ÌýConcurrent and Parallel Programming | 3 | 0 | 3 | |
ÌýComputer NetworksÌý | 3 | 1 | 1.5 | |
ÌýIntroduction to Feedback Control | 3 | 1 | 1.25 | |
ÌýDesign Project Planning ** | 2 | 0 | 2 | |
ÌýSoftware Design and Architectures ** | 3 | 1 | 3 | |
Elective (see note 1 and 2) | 3 | + | + | |
ÌýWork-term Report | ||||
4A Spring 2025 |
ÌýSeminar | 1 | 0 | 0 |
ÌýSoftware Requirements Specification and Analysis ** | 3 | 1 | 3 | |
ÌýDesign Project 1 ** | 2 | 0 | 9 | |
Three Electives (see notes 1 and 3) | 3 | + | + | |
ÌýWork-term ReportÌý | ||||
4B Winter 2026 |
ÌýSeminar | 1 | 0 | 0 |
ÌýDesign Project 2 ** | 2 | 0 | 2 | |
Four Electives (see notes 1 and 3) | 3 | + | + |
Advanced technical electives (ATEs)
The three Advanced Technical Electives comprise fourth-year CS or ECE course offerings. Students are advised to plan ahead when selecting ATEs. Most ATEs are not offered every term, and some ATEs have other ATEs as prerequisites. The academic advisors may approve other courses.
The SE Enrichment Opportunities web page gives some guidance on selecting electives strategically.
CS List
One of the following CS courses:
- ÌýIntroduction to the Theory of Computing
- ÌýModels of Computation
- ÌýNumerical Computation
- ÌýIntroduction to Computational Mathematics
- ÌýPrinciples of Programming Languages
- ÌýCompiler Construction
- ÌýDatabase Systems Implementation
- ÌýHuman-Computer Interaction
- ÌýComputer Architecture
- ÌýData-Intensive Distributed Computing
- ÌýReal-time Programming
- ÌýDistributed Systems
- ÌýSystem Performance Evaluation
- ÌýComputer Security and Privacy
- ÌýFormal Languages and Parsing
- ÌýAlgorithm Design and Analysis
- ÌýNeural Networks
- ÌýIntroduction to Machine Learning
- ÌýComputational Vision
- ÌýStatistical and Computational Foundations of Machine Learning
- ÌýIntroduction to Artificial Intelligence
- ÌýIntroduction to Symbolic Computation
- ÌýIntroduction to Computer Graphics
- ÌýAdvanced Topics in Computer Science
ECE List
One of the following ECE courses:
- ÌýDigital Signal Processing
- ÌýComputer Architecture
- ÌýDigital Hardware Systems
- ÌýElectronic Circuits 2
- ÌýCryptography and System Security
- ÌýAdvanced Topics in Networking
- ÌýImage Processing
- ÌýEmbedded Computer Systems
- ÌýDistributed Computing
- ÌýEmbedded Software
- ÌýCooperative and Adaptive Algorithms
- ÌýFundamentals of Computational Intelligence
- ÌýReinforcement Learning
- ÌýComputer Security
- ÌýProgramming for Performance
- ÌýDigital Control Systems
- ÌýRobot Dynamics and Control
- ÌýMultivariable Control Systems
- ÌýSpecial Topics in Electrical and Computer Engineering
- ÌýAutonomous Vehicles
One additional course from the CS and ECE Lists above, or from the Extended List below.
Extended List
- ÌýCoding Theory
- ÌýIntroduction to Graph Theory
- ÌýNetwork Flow Theory
- ÌýComputational Discrete Optimization
- ÌýNonlinear Optimization
- ÌýIntroduction to Game Theory
- ÌýIntroduction to Quantum Information Processing
- ÌýThe Mathematics of Public-Key Cryptography
- ÌýApplied Cryptography
- ÌýHuman-Computer Interaction
- ÌýIntroduction to Machine Learning
- ÌýAnalytics and User Experience
- ÌýAutonomous Mobile Robots
- ÌýMulti-Sensor Data Fusion
- ÌýAdvanced Topics in Software Engineering
- ÌýComputational Inference
- ÌýStatistical Learning - Classification
- ÌýData Visualization
- ÌýStatistical Learning - Advanced Regression
- ÌýConflict Resolution
- ÌýCognitive Ergonomics
- ÌýUser-Centred Design Methods
- ÌýComputational Neuroscience
- ÌýSimulating Neurobiological Systems
- ÌýImage Processing
Science electives
Natural science courses --- including cognitive science. Alternate courses may be chosen in consultation with the SE academic advisors.
The SE Enrichment Opportunities web page gives some guidance on selecting electives strategically.
Two of
- ,Ìý, (ÌýandÌý),Ìý,Ìý,Ìý,Ìý, (ÌýandÌý),Ìý,Ìý, (ÌýandÌý)
- (ÌýandÌý),Ìý, (ÌýandÌý),Ìý, (ÌýandÌý),Ìý,Ìý,Ìý
- ,Ìý,Ìý,Ìý,Ìý,Ìý
- ,Ìý,Ìý,Ìý
- ,Ìý,Ìý,Ìý,Ìý,Ìý,Ìý,Ìý,Ìý,Ìý
- Cognitive Science: , , , Ìý
- ,Ìý
Linkage electives
Three courses, 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.
The SE Enrichment Opportunities web page gives some guidance on selecting electives strategically.
One course on Societal Issues:
- ÌýList A,Ìý
One additional course on Humanities and Social Sciences:
- ÌýList C
One course on Communications:
- /
Notes
- There are 10 electives. These electives must include three Advanced Technical Electives, two Science Course Electives, and three Linkage Electives. For their remaining two electives, students may choose to take additional courses from the elective lists above or any other 0.5 credit course(s) for which they meet the requisites. Advanced Technical Electives may not be taken before the 3A term.
- Students must take one elective in third year, but can choose to take it in either 3A or 3B. Students may take electives in both terms if they choose.
- Students may choose to take three electives in 4A and four electives in 4B, instead of two in 4A and five in 4B.
- 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 the degree requirements.
- Students may replaceÌýÌýand one of their unrestricted electives with the combination ofÌýÌýandÌý.
- 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.
- Ìýis treated as an elective for the purpose of reduced load; that is, students may takeÌýÌýeither before or after their 2A term. Students may takeÌýÌýinstead ofÌý.
Communication Skills Requirement
Strong communication skills are essential to academic, professional, and personal success. As such, Software Engineering students must take a course from the Linkage Elective Communication List in the 2A term. This elective list parallels the Mathematics Communication Skills Requirements List 1. Communication skills are further developed and evaluated in three work-term reports (described below) and inÌý,Ìý,Ìý, andÌý.
ThreeÌýWork-term Reports (WKRPT)
Work term reportsÌýare listed as part of the Software Engineering curriculum; they are treated as courses that a BSE student must successfully complete to satisfy the plan requirements. They appear on all grade reports and transcripts, but they are not used in calculating term averages.
Each work-term report requirement is satisfied by earning a grade of satisfactory or better on a work-term report related to the previous term's co-op employment. Each work-term report must be submitted at the beginning of the academic term in which it is listed as a course; it is due seven days after the first official day of lectures. Reports submitted after the due date will receive a failing grade and will be evaluated the following academic term.
Failed work-term reports contribute to a student's accumulated failed-course count. They also appear on a student's transcript. Once a failure has cleared, the original grade will still be listed on the transcript but will be annotated with a credit (CR) in the "sup" field.Ìý
Five Professional Development (PD) Courses
Five professional development courses are required as described in the BASc and BSE specific degree requirements section onÌý. Two core PD courses are specified for all engineering students:ÌýÌýandÌý. Due to the importance of understanding the legal and ethical ramifications of software development, Software Engineering students are also required to takeÌý. This course replaces one of the PD electives, such that Software Engineering students have three core PD courses (PD 10, PD 19, and PD 20) and two PD elective courses. Software Engineering students are automatically enrolled in PD 10, PD 19, and PD 20 but must enrol in the elective PD courses using the normal Quest enrolment process.Ìý
Use of this information for the purposes of solicitation of business or contributions is forbidden.