S O F T W A R E   E N G I N E E R I N G

Notes

Enrolment in Software Engineering courses is normally restricted to students enrolled in software engineering.

SE 100s


SE 101 LAB,LEC,SEM 0.25
Course ID: 010030
Introduction to Methods of Software Engineering
An introduction to some of the basic methods and principles used by software engineers, including fundamentals of technical communication, measurement, analysis, and design. Some aspects of the software engineering profession, including standards, safety and intellectual property. Professional development including résumé skills, interview skills, and preparation for co-op terms. Safety-orientation training, including WHMIS assessment, is included in this course. [Offered: F]
Prereq: Software Engineering

 
SE 102 SEM 0.00
Course ID: 011339
Seminar
General seminar. [Offered: W]
Prereq: Software Engineering

 

SE 200s


SE 201 SEM 0.00
Course ID: 011341
Seminar
General seminar. [Offered: F]
Prereq: Software Engineering

 
SE 202 SEM 0.00
Course ID: 011330
Seminar
General seminar. [Offered: S]
Prereq: Software Engineering

 
SE 212 LEC,TST,TUT 0.50
Course ID: 010031
Logic and Computation
Formal logic. Proof systems and styles. Rudimentary model theory. Formal models of computation. Logic-based specification. Correctness proofs. Applications in software engineering. [Offered: F]
Prereq: MATH 135; Software Engineering

 

SE 300s


SE 301 SEM 0.00
Course ID: 011335
Seminar
General seminar. [Offered: W]
Prereq: Software Engineering

 
SE 302 SEM 0.00
Course ID: 011336
Seminar
General seminar. [Offered: F]
Prereq: Software Engineering

 
SE 350 LAB,LEC,TUT 0.50
Course ID: 013372
Operating Systems
An introduction to the fundamentals of operating system function, and implementation. Topics include concurrency, synchronization, processes, threads, scheduling, memory management, file systems, device management, and security. [Offered: W]
Prereq: CS 240/240E, (CS 246/246E or 247), ECE 222; Software Engineering.
Antireq: CS 350, ECE 254, 354, MTE 241

 
SE 380 LAB,LEC,TUT 0.50
Course ID: 013373
Introduction to Feedback Control
Introduction to control systems. Advantages of closed-loop feedback systems. The role of the system mathematical model. Block diagrams and signal flow graphs. The basic control system design problem, stability in control systems. Frequency response analysis techniques. Root-locus analysis. Elementary lead-lag compensation. [Offered: F]
Prereq: MATH 213; Software Engineering.
Antireq: ECE 380, ME 360, MTE 360, SYDE 352

 
SE 390 LEC,PRJ 0.50
Course ID: 012940
Design Project Planning
Students undertake a substantial customer-driven group project as part of the SE 390/490/491 design-project sequence covering all major phases of the software-engineering lifecycle. Lectures describe expectations and project-planning fundamentals. Students form groups, decide on a project concept, complete a project-approval process, develop high-level requirements for the project, perform a risk assessment, develop a test plan, and complete a first-iteration prototype. Social, legal, and economic factors are considered. [Offered: F]
Prereq: CS 240/240E, (CS 246/246E or 247);PD 10; Software Engineering

 

SE 400s


SE 401 SEM 0.00
Course ID: 011337
Seminar
General seminar. [Offered: S]
Prereq: Software Engineering

 
SE 402 SEM 0.00
Course ID: 011338
Seminar
General seminar. [Offered: W]
Prereq: Software Engineering

 
SE 463 LAB,LEC,TUT 0.50
Course ID: 010034
Software Requirements Specification and Analysis
Introduces students to the requirements definition phase of software development; models, notations, and processes for software requirements, identification, representation, analysis, and validation. Cost estimation from early documents and specifications.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: S]
Prereq: CS 246/246E or 247; Software Engineering.
Antireq: CS 445, ECE 451

 
SE 464 LAB,LEC,TUT 0.50
Course ID: 010035
Software Design and Architectures
Introduces students to the design, implementation, and evolution phases of software development. Software design processes, methods, and notation. Implementation of designs. Evolution of designs and implementations. Management of design activities.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F]
Prereq: CS 246/246E or 247; Software Engineering.
Antireq: CS 446, ECE 452

 
SE 465 LAB,LEC,TUT 0.50
Course ID: 010036
Software Testing and Quality Assurance
Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: W]
Prereq: CS 246/246E or 247; Software Engineering.
Antireq: CS 447, ECE 453

 
SE 490 LEC,PRJ 0.50
Course ID: 012941
Design Project 1
Continuing from SE 390, students undertake a substantial customer-driven group project. Project groups establish and maintain project control processes, delivering a series of iterations on their initial SE 390 prototype. Adaptive methodologies are encouraged and supported. [Offered: S]
Prereq: SE 390; Software Engineering

 
SE 491 LEC,PRJ 0.50
Course ID: 012942
Design Project 2
Final implementation, testing, and communication of the design project started in SE 390. Technical presentations by groups. Analysis of social, legal, and economic impacts. Final release of the project. Project retrospective. [Offered: W]
Prereq: SE 490; Software Engineering

 
SE 498 LEC 0.50
Course ID: 012292
Advanced Topics in Software Engineering
See the course offerings list for topics available. [Offered: As available]
Prereq: Level at least 3B Software Engineering

 
SE 499 PRJ 0.50
Course ID: 012293
Project
A software engineering project requiring the student to demonstrate initiative and assume responsibility. The student normally proposes their own project, which must involve substantial engineering science or engineering design. The student must find a faculty supervisor. A project report is required at the end of the term. Plan consent required. [Offered: F, W, S]
Department Consent Required
Prereq: Level at least 4A Software Engineering