Summer 2025 - CMPT 276 D100

Introduction to Software Engineering (3)

Class Number: 3792

Delivery Method: In Person

Overview

  • Course Times + Location:

    May 12 – Aug 8, 2025: Tue, 1:30–2:20 p.m.
    Burnaby

    May 12 – Aug 8, 2025: Thu, 12:30–2:20 p.m.
    Burnaby

  • Exam Times + Location:

    Aug 15, 2025
    Fri, 12:00–3:00 p.m.
    Burnaby

  • Prerequisites:

    One W course, CMPT 225, (MACM 101 or (ENSC 251 and ENSC 252)) and (MATH 151 or MATH 150), all with a minimum grade of C-. MATH 154 or MATH 157 with at least a B+ may be substituted for MATH 151 or MATH 150.

Description

CALENDAR DESCRIPTION:

An overview of various techniques used for software development and software project management. Major tasks and phases in modern software development, including requirements, analysis, documentation, design, implementation, testing,and maintenance. Project management issues are also introduced. Students complete a team project using an iterative development process. Students with credit for CMPT 275 may not take this course for further credit.

COURSE DETAILS:

The focus is preparing students to be effective members of an industrial software development team.  The theory and practice of software development is introduced.  Students will learn various SW development methodologies.  And learn multi-person team and project challenges.

The term-long project will use approximately 4-person teams.  Each team will produce 5 major document/code drops, one every two weeks, during the last 10 weeks of the course.



Topics

•             The software lifecycle, and challenges including estimation, maintenance/updates, and revision control.  Waterfall/plan-driven vs. agile project management.

•             Requirements gathering/elicitation, including use cases, data, states, flows. 

•             Systems analysis, with some object-oriented data normalization.  Modelling with some UML notation.  Writing a requirements specification.

•             Software and documentation revision control.

•             User/external interface design (briefly).  Write user documentation as a system external spec, before writing code.

•             High level/architectural design principles, UML notation, design patterns (briefly).  Writing module interfaces first, that others on your team can call/write to.

•             Object-oriented design (briefly), implementation, coding style.

•             Quality Assurance: Code reviews, unit and integration testing.

•             Time permitting:  Maintenance/update issue tracking systems.

Grading

NOTES:

•             20% Midterm exam

•             40% Final exam

•             40% Team project.  Including documentation quality (e.g. spelling/grammar/version control).  Other project marking details discussed in the first week of class.

Students must attain an overall passing grade on the weighted average of the exams in order to obtain a clear course pass (C- or better).

Materials

MATERIALS + SUPPLIES:

Textbook and Required Materials:

•Required:  A purchased “course pack” of materials may become available, and if so would be downloadable from the SFU bookstore.

REQUIRED READING NOTES:

Your personalized Course Material list, including digital and physical textbooks, are available through the SFU Bookstore website by simply entering your Computing ID at: shop.sfu.ca/course-materials/my-personalized-course-materials.

Registrar Notes:

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS

At SFU, you are expected to act honestly and responsibly in all your academic work. Cheating, plagiarism, or any other form of academic dishonesty harms your own learning, undermines the efforts of your classmates who pursue their studies honestly, and goes against the core values of the university.

To learn more about the academic disciplinary process and relevant academic supports, visit: 


RELIGIOUS ACCOMMODATION

Students with a faith background who may need accommodations during the term are encouraged to assess their needs as soon as possible and review the Multifaith religious accommodations website. The page outlines ways they begin working toward an accommodation and ensure solutions can be reached in a timely fashion.