Computer Science Department, Bucknell University

Course Information
CSCI 476 Senior Design Project

Spring 2004 MW 3-5 PM in 165 Breakiron

Professor Dan Hyde
338 Dana; 577-1281
hyde at
(Email is a great way to contact me.)

Overview of Spring Semester of Course

CSCI 476 is a continuation of "Computer Science Senior Design Project" (CSCI 475), that Computer Science and Engineeering seniors took in the Fall semester.

There are a number of differences between the fall and spring sessions of Senior Design. In particular, the spring session is a full-credit course (with expectation of an honest 10 hours a week of effort) in which most of your effort will be put into building, testing, and documenting your system for your Customer. You will be spending less time in class talking about the process, and more time with your Team working on the project. As a result, there are a number of procedures I want to implement in order to make sure that communications and the software development process go smoothly:

The class will continue to use modern software engineering techniques including eXtreme Programming (XP), an agile (light-weight) methodology which requires pair programming, unit testing, timely interactions with a Customer as well as other aspects. Each Team is teamed with an outside Customer who will specify through XP stories the details of the actual system to be designed.

Milestones in the form of XP iterations (every two weeks) and releases (every four weeks) are due during the semester. In XP, an "Iteration" is a short period of time (in this case two weeks) where the Team designs, implements and tests a part of the product as specified by the stories selected by the Customer. The Customer tries out the system and provides feedback. Also, the Customer selects the next set of stories (or part of a story) for the next Iteration. A "Release" is a major milestone. A Release might mean that a suitable but not quite complete product is given to real Customers to try out. In our case, a Release means a working product, associated documents (e. g., user manual, javadoc web pages, report) and 10-minute class presentation.

At the end of the semester, each Team presents a formal 20-minute talk and writes a paper which includes a technical manual for the software and where they reflect on the process of using XP and working on Teams. Each Team will be required to maintain a Project Notebook that will be periodically graded by the instructor. Each Team will create a Team contract of expected Team behavior. From their Team contract, each Team will create an evaluation form. This form will be used to assess each individual's participation several times during the semester and will be worth 10% of the student's grade.

Each Team member must act in an ethical, legal and professional manner.

Students take the course as a Bucknell University Half Course (equivalent to two-credit hours) in the first semester in their Senior year and a Full Course (equivalent to four-credit hours) in the second semester.

Many seniors in the past have found that the senior design project was a very rewarding experience as they found they could study an area in depth. Also, they say the senior design project was a great vehicle for discussion during job interviews and gave them an edge in the job market. Also, from the research experience on your senior design project, you may decide to attend graduate school.

Course Structure

The course meets twice a week for two hours.


The same as last semester.
  1. Extreme Programming Installed by Ron Jeffries, Ann Anderson, Chet Hendrickson, Addison Wesley, 2001.

  2. Java: How to Program by H. M. Deitel and P. J. Deitel, 6th edition, Prentice Hall, 2004. The 4th or 5th edition is OK as well.

  3. The Team: Memory Jogger, A Pocket Guide for Team Members, GOAL/QPC-Joiner Publication.

  4. UML Distilled, by Martin Fowler, 3rd edition, Addison-Wesley, 2004.



Since there are no exams in the course (however, maybe a quiz if I feel you need it), attendance and participation in class is required and counts 5% of your grade.

Assignments are due in class on the day assigned. No late assignments will be accepted.

Since this is a Full Course, I expect an honest ten (10) hours a week spent on the course outside of class. With the demands of your other courses and activities, it is easy to let work on your design project slip by.

We suggest you keep a laboratory notebook (daily journal) where you scribble your thoughts and comments, for example, while reading the assigned readings and journal articles. Also, the Team must keep a Project Notebook which contains all the material pertaining to the project. This will be collected and graded several times during the semester. A good place to store the Project Notebook is in the assigned Team Locker in room 124 Dana.

You must use a word processor for all your memoranda, papers and documents handed in. The documents may be attached to email messages.


All but the first two items are Team activities. Individual and Team activities will be graded by the Instructor.

Page maintained by Dan Hyde, hyde at Last update January 17, 2005

Back to Back to CS475's Home page.