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:

Instructor: Bob Matthews


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 (this link is 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 produced using either the UML or Visio tools provided or 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 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.

Attendance Policies:

Although I do not usually take formal attendance (my reading of names is generally to get to know everyone), this is a project class, and the performance of your group depends on your full participation.  Attendance problems in class or lack of participation in your group may result in your removal from the class.


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