Class of 2024 3B

3BÌýClass schedule

3BÌýClass Prof Hour Schedule

Important dates

Class reps

Class Rep Meetings

  • Monday Sep 23 at 5:30, Room: TBD
  • Monday Oct 28 at 5:30, Room: TBD
  • Monday Nov 25 at 5:30, Room: TBDÌý

Class Prof: Victoria Sakhnini

2019 - 2020 Course sequence

Term Course and Title Cls Tut Lab

1A Fall

2019

Ìý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

2020

Ìý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

2020

ÌýSeminar 1 0 0
ÌýChemistry for Engineers 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

2021

Ìý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

2022

Ìý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) 3 + +

3B Fall

2022

Ìý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) 3 + +
ÌýWork-term Report

4A Spring

2023

ÌýSeminar 1 0 0
ÌýSoftware Requirements Specification and Analysis ** 3 1 3
ÌýDesign Project 1 ** 2 0 9
Three Electives (see notes 1 and 2) 3 + +
ÌýWork-term ReportÌý

4B Winter

2024

ÌýSeminar 1 0 0
ÌýDesign Project 2 ** 2 0 2
Four Electives (see notes 1 and 2) 3 + +

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):

Principles of Programming Languages
Compiler Construction
Database Systems Implementation
Human-Computer InteractionÌý
Computer Architecture
Real-time Programming
Distributed Systems
System Performance Evaluation
Computer Security and Privacy
ÌýFormal Languages and Parsing
ÌýAlgorithm Design and AnalysisÌýÌý
Ìý 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

One of the following ECE courses (ECE list):

ÌýCryptography and System Security
Higher Level Network Protocols
Image Processing
Communications Networks
Embedded Computer SystemsÌý
ComputerÌýArchitecture
Distributed Computing
Embedded SoftwareÌý
Ìý Cooperative and Adaptive Algorithms
Fundamentals of Computational Intelligence
Computer Security
Programming for Performance
Digital Control SystemsÌý
Robot Dynamics and Control
Multivariable Control Systems

One additional course from the CS and ECE lists above

Science electives

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:
,Ìý, , (Ìýand ), ,Ìý,Ìý, , , , (and ), , , ,Ìý,Ìý, ,Ìý, , , ,ÌýÌý

Linkage electives

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:
,Ìý List A

One course on Communication:
,Ìý/, , , ,

OneÌýadditional course on Humanities and Social Sciences:
List C

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(s) 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Ìý for descriptions) provisions used in the Faculty of Mathematics to withdraw from extra courses taken above and beyond the degree requirements.
  4. Students may replaceÌý and one of their unrestricted electives with the combination ofÌý and .
  5. 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.

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 Math 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 20, PD 21, and PD 10) and two PD elective courses. Software Engineering students are automatically enrolled in PD 20, PD 21, and PD 10 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.