CS 509 Home Page
Design of Software Systems
Spring, 2006
Instructor:
Diane Kramer
Meeting Times: Thursdays, 4 to 8 PM.
Location: General Dynamics, Taunton
(Building 80, Room 104)
Announcements
- (5/20/06)
-
The Term Project page has once again been updated,
this time to include more information about the Phase
5 assignment due on 5/25/06. The section on Iteration 2
Requirements has also been updated to more specifically
detail the requirements for this phase.
- Last Class Reminders
- Phase 5 assignment due
- Final Project Journal due
- Students will take some time in the beginning of class
to fill out course evaluation forms.
- Some time in class will also be spent on a post-mortem
review of the term project and the course itself.
Comments, criticism and suggestions for improvement
are welcome.
- (5/7/06)
The term project page has been updated to include more
information about the Phase 4 assignment due on 5/11/06,
and the requirements identified in class for potential
inclusion in Iteration 2.
- (4/21/06)
The term project page has been updated to include more
information about the Phase 3 assignment due on 4/27/06.
Also, the User Interface and Business Logic
groups have turned in soft-copy of their designs. Find them
below in the Links section under Information about the Term
Project.
- (4/20/06)
The Database group turned in soft-copy of their design,
as requested. Find their Powerpoint presentation below in the
Links section under Information about the Term Project.
- (4/9/06)
The term project page has again been updated to include more
information, specifically about the requirements work done in
class on 4/6/06 for the first iteration, the Phase 2
assignment, and the arrangement of students into functional
groups.
- (4/7/06)
Matt Hinds was kind enough to share some Powerpoint
slides he put together based on the work we did in class on
4/6/06, including the domain model. For your reference,
you may find his slides
here. Thanks, Matt!
- (3/24/06)
These web pages have been updated to include more information
about the term project. See the last link at the bottom
of the page.
-
It was decided in class on 3/23/06 that the project
journal should be turned in by students a couple of times
throughout the course of the term, rather than just waiting
until the end of the term, to make sure expectations are being
met correctly. Therefore, each student will turn in a project
journal on class #3 (4/6/06) and on class #7 (5/4/06) in
addition to the last day of class (5/25/06).
General Course Information
Required Text:
Applying UML and Patterns, an Introduction to Object-Oriented
Analysis and Design and Iterative Development, by Craig
Larman. Pearson Education Inc., Upper Saddle River, NJ, 2005.
Objectives:
This course will introduce students to the concepts and principles
of software design by simulating the development of a software
project in a "real world" setting.
Prerequisites:
Students are expected to have some programming experience with a
high level language (OO preferred) and knowledge of data
structures. An undergraduate course in Software Engineering is
desirable.
Grading:
- Term Project: 75%
- Class Participation: 20%
- Project Journal: 5%
Grading Policies:
- Term project assignments will be due by the start of
the class period for which they are assigned. No late
assignments will be accepted.
- In-class discussions & activities will include design
& code reviews in addition to reviewing the reading
material. Students are expected to be prepared and voluntarily
participate. If required, students will explicitly be called
upon to participate.
- Refer to the link below for details on the Project Journal.
Student Responsibilities:
- Attend class regularly.
- Read assigned chapters before class.
- Participate in and track time spent on group project.
- Familiarize yourself with and adhere to WPI's
Academic Honesty Policy, and the specific course policy
below.
Academic Integrity Policy for CS 509
You are expected to collaborate in small groups on the term
project for CS 509, and there will be in-class discussions and
activities in which we share ideas about solutions to problems
presented. So what does Academic Integrity mean in this course?
Plagiarism is a breach of academic integrity. It is common
and accepted practice in software development projects to borrow
code from somewhere else. This is known as software reuse.
Perhaps the code comes from a project you worked on previously, or
perhaps it was written by someone else. This is fine, as long as
you adhere to the following guidelines:
-
You must cite the source. If you find code on the web,
include a comment with the URL indicating where you found it.
If you borrow code from a previous project, include a comment
briefly specifying what the project was and who else worked on
it. If you find code in a book, include a comment citing the
source as you would when writing a paper.
-
You must obey any licensing restrictions associated with the
borrowed code. If you are uncertain about the legality of
using someone else's code, either consult the instructor, or
refrain from using the borrowed code.
-
Note that it is not legitimate to simply change some
class/variable/function names in someone else's code and then
claim it as your own. Even if you simply get an idea
about how to approach a problem by using someone else's code
(or design), it is best to state where the idea came from so
there will be no question about integrity.
Links
Last updated 5/20/06 by Diane Kramer