Computer Science 340: Introduction to Software Engineering

Document Title:  Course Syllabus

Author:  Bob Matthews


This document gives a general outline for the course, discusses prerequisites, and gives a draft schedule for readings and assignments.

Change History

Table of Contents:



Meeting times

Class meets in Thompson 322

Final Exam:

The academic calendar for this year can be found here.


Instructor: Bob Matthews

Text: Ian Sommerville: Software Engineering (sixth edition)

I plan to cover chapters 1 - 15, 19 - 20, 22 - 24 (and as much of 26-29 and 16-18, 21 as time permits, in that order).

Prerequisites: At least one 300 level computer science course. It would be helpful to have written at least one program of more than 500 lines (more for COBOL, less for Forth).

Brief course description:

Software Engineering is concerned with long-term programming projects, and can be thought of as the development, care, and feeding of large software systems. This course will be project-oriented and will involve a group project and a term paper (these links are currently under development). Lectures and the group project will cover topics in software engineering, management, problem specification and analysis, system and program design techniques, testing, and user interface concerns.

Because of the number of topics we must cover, not all topics in all chapters will be discussed in class. I will assign specific sections for you to read. Homework assignments may cover topics not discussed in class.

Some links:




Programming exercises will be graded on style and documentation as well as correctness. Programs must include header documentation as well as adequate internal documentation unless otherwise specified. Written exercises should be produced on word processing software except (perhaps) for diagrams, which should be neatly drawn. Late assignments will be accepted (with an increasing penalty) until the graded exercise is returned to the class, but no extension of deadline for the term paper or for the group project can be given. All assignments turned in must represent individual effort: except where a group effort is a clearly stated part of the assignment (as in the group project). All students in Computer Science classes at the University of Puget Sound are responsible for the material contained in the document on academic honesty published by the Department of Mathematics and Computer Science and included in the Academic Handbook (Logger).

I will make every effort to return homework, exams, and project documents a week (or less) after they have been submitted / taken.

A syllabus for the course can be found here.

The schedule of exams and readings for the course can be found here.

Return to my home page