Professor Dan Hyde
338 Dana; 577-1281
hyde at bucknell.edu
(Email is a great way to contact me.)
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.
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.