CSCI 4440 Software Design & Documentation
FALL 2000

Time & Place:
Section Two::: 4:00 - 5:50 Mondays & Thursdays in Troy 2015
and
Section One::: 12:00 - 2:50 Tuesdays & Fridays in Troy 2015

Instructor:
Edwin Rogers
Office: 124 Amos Eaton
Phone: ext. 6909
Email: rogere@rpi.edu
Office Hours: Tuesday 2:00 - 3:30 pm or by appointment
Course Description

This course widens the view of software development to systems of a size and importance that their design, implementation and lifetimes require the cooperative effort of many people. Issues include need and market analysis, requirements analysis, specification of functionality, design methodology, verification and testing, communication and documentation, development team organization, version control for software and documentation, and maintenance.

The student will be expected to understand the issues in large-scale software development, write specifications for modest systems, apply object-oriented design techniques to describe such systems, refine designs to a point at which coding can be undertaken confidently, and convey essential technical and user information in writing.

This course serves as a "writing intensive" course for the Computer Science curriculum.

Text:

Object-Oriented Software Engineering, by B.Bruegge & A.H.Dutoit; Prentice-Hall, 2000.

Using UML, by P.Stevens, updated version, Addison Wesley, 2000.

Web Site:

http://www.cs.rpi.edu/courses/fall00/SDD

Assignments:

• The three major assignments will require papers (this is a writing intensive course, after all). One paper will be done individually, the others by teams.

• Papers will be turned in first for constructive review and second (after revision) for critical review and a grade. While there will be no grade given on the first draft, there will be a penalty applied to the final grade if no significant draft had been submitted when required.

• First drafts will be reviewed by the instructor and possibly other students and clients. Final papers will be reviewed by the instructor. Papers will be graded on style and content. The instructor will do grading.

• Reviews of drafts will be returned a few days before final papers are due.

• Three major papers are planned:

1... User documentation (individual)
2... Requirements analysis & software specification (team)
3... Object-oriented software design (team)
• Each team will make oral progress reports on a regular basis and a final oral presentation of its work.

• In addition, there will be two homework sets and various in-class exercises.

Grading:

Team & class participation 15%
Individual paper 20%
Team reports, papers & presentations 50%
Homework 15%
Class participation will be judged by your contribution to class discussions and work on in-class exercises. Make coming to class a habit! The homework may be done with no more than one partner and submitted jointly. Team participation will be judged in part by team self-assessments.

Academic Integrity:

Relationships between instructor and student and among students are built on trust. For instance, students must trust that the instructor has made appropriate decisions about the structure and content of the course, and the instructor must trust that the work turned in by students is their own or done in fair proportion with their partners. Moreover, students must trust that their peers treat them fairly in reviewing drafts, and that their teammates will give their best effort on joint work.

Most importantly, being trusted makes one responsible to live up to that trust. Violation of this responsibility undermines the educational process.

The Rensselaer Handbook defines various forms of academic dishonesty and procedures for dealing with them. All forms are violations of trust. Students should familiarize themselves with this portion of the Rensselaer Handbook and note that the penalties for plagiarism and other forms of cheating can be quite harsh.

Each assignment must be your own work or the work of your own team. Clearly, discussion of an assignment with others is permitted, but the work of this class is largely open-ended and creative. You will get the most out of it and enjoy it most, if you pursue your own ideas.

The penalty for any act of flagrant academic dishonesty is an F for the course.