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.
- Initial Submission 8/26/04
Table of Contents:
- 11:00 - 11:50 MWF
- 11:30 - 12:20 Tuesday
- Please Note: We will not use the Tuesday sessions for class meetings
until the later part of September. Please do not arrange other scheduled
activities in the Tuesday time periods however, as we will have a use for them
later in the term.
Class meets in Thompson 322
- The final exam for this class (meets 11:00 MTWF) is scheduled for 8:00 AM Wednesday, December 15. Instead of an exam, we will use this time for
final project presentations. All project material will be due at that time.
- Bob Matthews (email firstname.lastname@example.org)
- Thompson 321B
- Extension 3561
- Office hours (tentative)
- 2:00 - 2:50 MWF
- Or by appointment.
- Email messages
are welcome, and can
be used to ask a question or to set up an appointment. My schedule is posted here.
Hours marked 'open' on my schedule may be available for appointments
(to be made in advance). If none of these times work out for you, please send me
- Ian Sommerville:
Software Engineering (seventh edition)
- I plan to cover chapters 1 - 23, skipping chapters 9 and 15.
- Quatrani, Terry: Visual Modeling with Rational Rose 2002 and UML
- I plan to cover chapters 1 - 9 as demonstrations, but this second book is primarily a reference for you to use. There are also some tutorial resources for Rational Rose.
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
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.
- Home page for our
textbook. Although we will not be using them in lecture, there is an
extensive collection of powerpoint slides on this site that are useful for
- Rational Rose web site. We will
be using the UML (Unified Modeling Language) as implemented in
Rational Rose. At one time the site had a powerpoint presentation
on Rational Rose that could be downloaded,
documentation and a tutorial that you can download and work through.
Rational Rose has now been acquired by IBM, so the web site is in a state
- Institute for Software Research International
- Risks Digest Links:
- 3 one hour exams: 30%
- Please note: One of these exams will be in the last full week of the
- Assignments: 30%
- Homework will be divided into three chunks:
- Textbook assignments (to be done individually). These will be
assigned each Friday from material covered that week, and will be due on
the following Friday. Please note that project documents generally
fall due on Fridays as well.
- Group assignments (with randomly assigned and changing
groups), generally larger assignments such as:
Group exercises will start as in-class exercises
and will include short presentations by each group. Students not
in class when group exercises are done will be given a separate
assignment for partial credit. Group assignments will be announced
in the "this week / next week" links above.
- Requirements analysis and definition exercises
either taken from the
textbook or from some other source.
- Design exercises: ER, DFD, OOD, Functional,
- Other exercises in the UML and Rational
Rose and using Viseo2002
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.
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
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