Computer Science Department, Bucknell University

Course Information
CSCI 475 Senior Design Project

Fall 2004 W 3-5 PM in 227 Dana

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

Overview of Course

In this course, "Computer Science Senior Design Project" (CSCI 475), students, organized in teams of three or four, perform all the phases of engineering design on a project. Students will investigate, develop, design, implement and test a year-long project. In the Spring semester, CSCI 476 is the second half of the course.

The class will study and 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 will be 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 six 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 once a week for two hours. We will have access to laptop computers which will allow us to use several instructional modes, e. g., lecture, collaborative learning work and computer lab work in the same class period. The programming language for the class will be Java. However, a Team's project may use other languages, e.g., Php, MySQL, and perl, as dictated by their investigation of their project.


  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 10% of your grade.

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

Since this is a Half Course, I expect an honest five (5) 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 August 22, 2004

Back to Back to CS475's Home page.