Professor Dan Hyde
338 Dana; 577-1281
hyde at bucknell.edu
(Email is a great way to contact me.)
The Arts and Science College Capstone course CSCI 479 is entitled "Capstone Computer Science Design" and is aimed at BS and BA computer science seniors.
CSCI 479 is similar to CSCI 475 ``Senior Design Project'' required of senior Computer Science Engineer majors. For example, in this "300-level" elective students will work in teams of two to four to investigate, develop, design, implement and test a semester-long project. The project will be a client-server application developed in the programming language Java.
The class will study and use modern software engineering techniques including eXtreme Programming (XP), a light-weight methodology which requires pair programming, unit testing, weekly interaction with a Customer as well as other aspects. Each Team will be assigned a Customer who will specify through XP stories the details of the actual system to be designed.
Milestones in the form of XP iterations (every week) and releases (every month) are due during the semester. In XP, an "Iteration" is a short period of time (in this case a week) 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, prepares a poster, 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.
http://java.sun.com/javase/6/docs/api/
http://www.eg.bucknell.edu/~cs479/
Since there are no exams in the course (however, a few announced quizzes), 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 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.
You must use a word processor, such as MS Word, for all your memoranda, papers and documents handed in.
All but the first three items are Team activities. Individual and Team activities will be graded by the Instructor.