uwloo

Software Engineering (SE)

19 undergraduate courses in the 2025–26 Undergraduate Calendar.

SE 101 Introduction to Methods of Software Engineering0.25 units

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.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 102 Seminar

General seminar.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 201 Seminar

General seminar.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 202 Seminar

General seminar.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 212 Logic and Computation0.50 units

Formal logic. Proof systems and styles. Rudimentary model theory. Formal models of computation. Logic-based specification. Correctness proofs. Applications in software engineering.

Prerequisites
  • Must have completed the following:
    • CS138 - Introduction to Data Abstraction and Implementation (0.50)
    • MATH135 - Algebra for Honours Mathematics (0.50)
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CS245 - Logic and Computation (0.50)
    • CS245E - Logic and Computation (Enriched) (0.50)
    • ECE208 - Discrete Mathematics and Logic 2 (0.50)
    • PMATH330 - Introduction to Mathematical Logic (0.50)

Archived calendar entryRequirements, Fall 2025Course outlines

SE 301 Seminar

General seminar.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 302 Seminar

General seminar.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 350 Operating Systems0.50 units

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.

Prerequisites
  • Complete all of the following
    • Must have completed the following:
      • ECE222 - Digital Computers (0.50)
    • Must have completed at least 1 of the following:
      • CS240 - Data Structures and Data Management (0.50)
      • CS240E - Data Structures and Data Management (Enriched) (0.50)
    • Must have completed at least 1 of the following:
      • CS246 - Object-Oriented Software Development (0.50)
      • CS246E - Object-Oriented Software Development (Enriched) (0.50)
      • CS247 - Software Engineering Principles (0.50)
    • Enrolled in H-Software Engineering
Antirequisites
  • Complete all of the following
    • Not completed nor concurrently enrolled in any of the following:
      • CS350 - Operating Systems (0.50)
      • MTE241 - Introduction to Computer Structures and Real-Time Systems (0.50)
    • Not completed nor concurrently enrolled in:
      • ECE254
      • ECE354

Archived calendar entryRequirements, Fall 2025Course outlines

SE 380 Introduction to Feedback Control0.50 units

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.

Prerequisites
  • Must have completed the following:
    • MATH213 - Signals, Systems, and Differential Equations (0.50)
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • ECE380 - Analog Control Systems (0.50)
    • ME360 - Introduction to Control Systems (0.50)
    • MTE360 - Automatic Control Systems (0.50)
    • SYDE352 - Introduction to Control Systems (0.50)

Archived calendar entryRequirements, Fall 2025Course outlines

SE 390 Design Project Planning0.50 units

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.

Prerequisites
  • Complete all of the following
    • Must have completed the following:
      • PD10 - Professional Responsibility in Computing (0.50)
    • Must have completed at least 1 of the following:
      • CS240 - Data Structures and Data Management (0.50)
      • CS240E - Data Structures and Data Management (Enriched) (0.50)
    • Must have completed at least 1 of the following:
      • CS246 - Object-Oriented Software Development (0.50)
      • CS246E - Object-Oriented Software Development (Enriched) (0.50)
      • CS247 - Software Engineering Principles (0.50)
    • Enrolled in H-Software Engineering

Archived calendar entryRequirements, Fall 2025Course outlines

SE 401 Seminar

General seminar.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 402 Seminar

General seminar.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 463 Software Project Management, Requirements, and Analysis0.50 units

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. Students undertake a substantial customer-driven group project as part of SE 490/SE 491 design-project sequence covering all major phases of the software engineering life cycle; they decide on a project concept, complete a project-approval process, and develop high-level requirements for the project using all the tools covered in the course. Social, legal, and economic factors are considered.

Prerequisites
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CS445 - Software Requirements Specification and Analysis (0.50)
    • ECE451 - Software Requirements Specification and Analysis (0.50)

Archived calendar entryRequirements, Fall 2025Course outlines

SE 464 Software Design and Architectures0.50 units

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.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CS246 - Object-Oriented Software Development (0.50)
      • CS246E - Object-Oriented Software Development (Enriched) (0.50)
      • CS247 - Software Engineering Principles (0.50)
    • Enrolled in H-Software Engineering
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CS446 - Software Design and Architectures (0.50)
    • ECE452 - Software Design and Architectures (0.50)

Archived calendar entryRequirements, Fall 2025Course outlines

SE 465 Software Testing and Quality Assurance0.50 units

Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CS246 - Object-Oriented Software Development (0.50)
      • CS246E - Object-Oriented Software Development (Enriched) (0.50)
      • CS247 - Software Engineering Principles (0.50)
    • Enrolled in H-Software Engineering
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CS447 - Software Testing, Quality Assurance, and Maintenance (0.50)
    • ECE453 - Software Testing, Quality Assurance, and Maintenance (0.50)

Archived calendar entryRequirements, Fall 2025Course outlines

SE 490 Design Project 10.50 units

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.

Prerequisites
  • Complete all of the following

Archived calendar entryRequirements, Fall 2025Course outlines

SE 491 Design Project 20.50 units

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.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 498 Advanced Topics in Software Engineering0.50 units

See the course offerings list for topics available.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines

SE 499 Project0.50 units

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.

Prerequisites

Archived calendar entryRequirements, Fall 2025Course outlines