Computing Science Course Outlines

Course Outline - CMPT 276 - Introduction to Software Engineering

Information

Subject

Catalog Number

Section

Semester

Title

Instructor(s)

Campus

CMPT

276

D100

2015 Spring (1151)

Introduction to Software Engineering

Nick Sumner   

Surrey Campus

Calendar Objective/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, installation, support, and maintenance. Project management issues are also introduced.

Instructor's Objectives

The theory and practice of software development are introduced using the Android operating system as a target device. Students will learn the standard methodologies underlying software development, plus gain experience using a number of software development tools such as the Eclipse IDE and a revision control system. Assignments will cover learning to effectively use development tools and producing small applications using established development techniques. The focus of the course is on preparing students to be effective members of a software development team.

Prerequisites

One W course, CMPT 225, MACM 101, MATH 151 (or MATH 150). MATH 154/157 with at least B+ may substitute for MATH 151 (or MATH 150). Cannot receive credit for both CMPT 275 and CMPT 276.

Topics

  • Software Process: software life cycle, Agile vs plan-driven development.
  • Requirements: system analysis and modeling, requirements specification
  • High-level Design: UML, architectural, design patterns
  • Implementation: coding style, code review, pair programming
  • Quality assurance: unit & integration testing
  • Development tools: IDE, debugger, revision control
  • Android application development and debugging
  • Ethics of software development

Grading

Assignment & small project: 30% Midterm: 25% Final: 45% To be confirmed in the first week of class.

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

Required Books

  • Sams Teach Yourself Android Application Development in 24 Hours, 3rd ed, Carmen Delessio, Lauren Darcey, Shane Conder , SAMS, 2013, 9780672334443

Reference Books

  • Software Engineering, Ian Sommerville, Addison Wesley, 2010, 9780137035151

Academic Honesty Statement

Academic honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty will be handled in accordance with the SFU Academic Honesty and Student Conduct Policies ( http://www.sfu.ca/policies/gazette/student.html ).

Data Last Updated: