Computer Science 340: Introduction to Software Engineering
Document Title: Course Syllabus
Author: Bob Matthews
Purpose:
This document gives a general outline for the course, discusses
prerequisites, and gives a draft schedule for readings and assignments.
Change History
- 9/29/03: Initial submission.
- 10/4/03: Created a link to the assignments page (to clean up the
course home page a bit)
Table of Contents:
Administrivia
Meeting times
- 11:00 - 11:50 MWF
- 11:30 - 12:20 Tuesday
Class meets in Thompson 322
Final Exam:
- The final exam for this class (meets 11:00 MTWF) is scheduled for 12:00
Tuesday, Dec. 16. Instead of an exam, we will use this time for
final project presentations. All project material will be due at that time.
The academic calendar for this year can be found here.
Instructor: Bob
Matthews
- Bob Matthews (email matthews@ups.edu)
- Thompson 501 (in the Thompson Hall Tower)
- Extension 3561
- Office hours (tentative)
- 2:00 - 2:50 MTWF
- 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
an email.
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:
- 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
review.
- 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, and it still has (here)
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
of change.
- Institute for Software Research International
- Risks Digest Links:
Evaluation:
- 3 one hour exams: 30% - 40%
- One of these exams will be in the last full week of the
term
- Assignments: 20% - 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.
- Group assignments (with randomly assigned and changing
groups), generally larger assignments such as:
- Requirements analysis and definition exercises
either taken from the
textbook or from some other source.
- Design exercises: ER, DFD, OOD, Functional,
etc.
- Other exercises in the UML and Rational
Rose and using Viseo2002
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.
- Term
Paper: 10%
- Group
Project: 30%
Notes:
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