Professor Dan Hyde
338 Dana; 577-1281
hyde at bucknell.edu
(Email is a great way to contact me.)
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:
Minutes should list all attendees, their roles, and explain any absences, excused or unexcused. You should document all issues discussed (technical or organizational), status reports, and decisions. I understand that some things may occur outside of meetings, but they should be reported during the weekly meetings. As with any meeting, reports may be read into the record without taking actual time in the meeting.
At the end of each meeting, a facilitator, recorder, "Devil's Advocate" and, perhaps, a consultant should be selected for the next meeting. The role of the facilitator is to make sure every one attends the next meeting and to run the next meeting. The recorder takes notes and writes up and distributes the minutes. The Devil's Advocate's role is to question all decisions to make sure the Team is not forgotting something. A role of the consultant is to become an expert in some aspect that the Project needs. I encourage that the Team members rotate the roles.
Team A 3:00 - 3:20 PM Team B 3:20 - 3:40 PM Team C 3:40 - 4:00 PM Team D 4:00 - 4:20 PM Team E 4:20 - 4:40 PM Team F 4:40 - 5:00 PMFor scheduling reasons if two Teams decide to swap time slots, that is ok. Just let me know.
I will expect that all changes will be documented in your requirements section of your Team Notebook, that the changes will be indicated as such and dated, and that I will be informed of these changes.
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.
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.