Picture of Stonehenge

CS 400 Computer Science Capstone

The purpose of this course is to teach you how to BUILD software. The computer science courses you've taken so far have been concerned with fundamental computer science principles. In the capstone course, you will apply these fundamentals to the development and delivery of software. In this course, you will:

- Understand the sad state of modern software development

- Examine software development projects from the past

- Derive and specify software requirements

- Design a software system using UML

- Build a sofware system from your design

- Verify your software system against your requirements

- Document the software system for users

- Explore other important topics in Software Engineering including:

+ Project Planning

+ Configuration Management

+ Human Factors

+ Software Performance Engineering

+ Component Based Development

+ Ethics

 

 

Team Websites:

Textbooks:

Online References

Description
Download
Documentation
Documentation Models[requirements], [design], [user manual] 
CVSNT Code Repository[download][wiki], [documentation]
Java 2 SE JDK 1.4.2_X[download][documentation]
JRun4 J2EE Application Server[download][documentation]
DB/2 8.2 Relational Database[download][documentation]
Eclipse 3.1 IDE[download][documentation]
Java Server Pages (JSP) 2.0 [documentation]

Writing Resources:

Syllabus (tentative):

Overview (Sommerville 1-4, Brooks)
   Class Notes
   Book Notes
   Programmers and Problems Card Game
   FBI Software Failure
   Standish Group Report (Full)
   Standish Group Report (Statistics Only)
Human Factors (Sommerville 16)
   Class Notes
   Book Notes
   Temperature Logbook Application
   Temperature Logbook Problem
   BIG Usability Website
   National Cancer Institute's Usability Guidelines
   WWW Consortium Accessibility Guidelines
      Good/Bad Web Page
   Color Vision Deficiency Test
   Commercial Website Example

Requirements (Sommerville 6-10)
   Class Notes [overview, process, models]
   Book Notes
   Square Root Structured Language Specification
   Denim User Interface Sketch System
   CRC Methodology
       Beck & Cunningham's CRC Paper
       Cockburn's CRC Web Page
   Documenting Requirements
       Almstrum's Requirements Document Format
       Almstrum's Requirements Document Examples

Verification and Validation (Sommerville 22-23)
   Class Notes
   Book Notes
   Coding Standards Example (Java)
.NET Programming
    Class Notes
    Book Notes
    Model/View/Controller Design Pattern
    Tic-Tac-Toe:
       Congratulations Image
       First Attempt
       Using MVC Design Pattern
       Using MVC and new View/Controller
    Book Reader:
       Small Play
       Book 1
       Book 2
       Using Listbox and File Classes
       Using FileDialog
    Pocket Access:
       Application Incomplete
       Application
       Pocket PC 2003 Pocket Access DB File
       Pocket PC 2002 Pocket Access DB File
    MW-140BT Printer:
       Printer Documentation
       SDK Documentation
       Processor Independent SDK DLL (#1)
       PocketPC Emulator SDK DLL (#2)
       PocketPC 2003 SDK DLL (#2)
       Ticket Image
       Bob 300 Pixel Image
       PrintIdImage Application (Empty)
       PrintIdImage Application (Complete)
       PrintIdImageAndText Application (Complete)
Software Performance Engineering
    Class Notes
    Book Notes

Design & UML (Sommerville 11-14, Fowler)
    Class Notes
    Book Notes
    Rational XDE & .NET:
       Class Diagram Tutorial
       Sequence Diagram Tutorial
       C# Application Example
    Documenting Design
       Almstrum's Design Document Format
       Almstrum's Design Document Examples
   

Component Based Development (Sommerville 19)
   Class Notes
   Book Notes
  

Ethics
   Class Notes
   Book Notes
   ACM Code of Ethics
   Challenger Disaster

Configuration Management (Sommerville 29)
   Class Notes
   Book Notes
Life 101
   Fidelity Retirement Calculator
   Compound Growth Spreadsheet
   Monthy Budget Spreadsheet
   

Week by Week:

WEEK Bob (Tuesday) Virginia (Wednesday) Bob (Thursday)
1 --- NO CLASS --- MMM and Diagnostic Test MMM
2 Grammar (Virginia) Workshop MMM Introduction
3 Guest Lecture: Gary Hammon, CIO MMM Draft Due, SRD Structure, Interview Questions Requirements I
4 Interview Client MMM Final Draft Due, Workshop SRD Requirements II
5 Students Present Storyboard to Class SDD Structure Nerdly Things
6 Students Present Storyboard to Client Final Draft SRD Due Nerdly Things
7 Design I Workshop SDD Design II
8 --- NO CLASS --- --- NO CLASS --- --- NO CLASS ---
9 Design III Final Draft SDD Due Ethics I
10 Students Present Design to Client Workshop Ethics Paper --- NO CLASS ---
11 Ethics II Final Draft Ethics Paper Due, User Manual Structure Human Factors I
12 Human Factors II Workshop User Manual Performance I
13 Performance II User Manual Due Testing I
14 Testing II --- NO CLASS --- Demo @ Academic Development Day Workshop Program
15 Workshop Program Final Grammar Quiz Present to Client
16 Workshop Program --- NO CLASS --- Meet with students as needed Life 101
17
Final Presentation Friday May 9th @ 11AM in Stanger 308

 

Course Logistics:
Lectures with Bob Dugan are held Tu,Thu 1:00-2:15 in Stanger 308.

Lectures with Virginia Polanski are held W 8:00-9::15 in Stanger 203.

The Lab - Stanger 308:

Technically, you don't need to use the lab because you can install Visual Studio on your own computer at home. However, working up in the lab on these programming assignments is a great way to meet other people in the course, ask me questions if I'm around. The lab is open from 8AM to 12AM during the week. During some of that time the lab is used as a classroom. You can find the schedule here.

Grading Policy:
Your grade will be based on the following evaluations:

EvaluationWeight DueMaxMean (Raw)StdDev (Raw)

Homeworks & Quizzes

30%    

     Brooks Essay

    100    

Final Project

70%    

     Requirements Document

20% of project grade  100    

     Design Document

20% of project grade  100    

     User Manual

10% of project grade  100    

     Delivery

50% of project grade  100    
TOTAL100%  100    

Homework will be turned in at the beginning of class on the day they are due. Late homeworks will not be accepted. This policy is firm because homework solutions will be handed out on the due day.

Exams are to be taken at the specified date and time. If you miss the exam, you will receive a 0.

Sometimes things happen. If there are circumstances that prevent you from meeting your obligations for this course, you need to talk to me to make arrangements IN ADVANCE.

Dropping the Course


I want you to stay in the course! Please talk to me before you decide to drop.

Getting Help:

Instructor: Bob DuganInstructor: Virginia Polanski
Bob DuganVirginia Polanski
officeStanger 206
office hours

W,F 2:15-4:00
Stanger 206 or
Stanger 308

office phone508-565-1682
e-mailbdugan@stonehill.edu
aol imdrbobdugan
officeStanger 305
office hours

By appointment

office phone508-565-1087
e-mailvpolanski@stonehill.edu