% String title="Final Project"; %> <%@ include file="../header.jsp" %>
For the final project in this course, you will work with a group to write a multi-layered community of communities. This handout contains some specific suggested projects, but you may come up with any project that you wish. Whatever project you choose must meet certain criteria:
You may reuse any of the code that we have given you, except for the Wire class. You may also use other publicly available code under the terms of usage with which that code is supplied, provided that you meet the criteria outlined above. As always, you must acknowledge any sources that you use. Unacknowledged use of others' code is a form of intellectual property theft.
In addition, each teammate is expected to add some original code to your project.
Some suggested projects that are appropriately sized are:
Past students have built a variety of networked video games. There are also numerous potentially useful web services that the Olin community might benefit from. You are welcome -- even encouraged -- to come up with your own ideas.
No matter what project you choose, your project must be approved by 8 April. Realism (and a good staged development plan with appropriate worst-case planning) will be a major factor in project approval.
This project has several interrelated aspects with a variety of due dates. You are responsible for designing, implementing, documenting, and presenting your project to the class. The schedule for this project is summarized below.
Project Stage |
Due Date |
---|---|
Select your project team and/or let us know that you want us to select one for you. |
by 6pm 31 March; earlier is preferable. |
Registration of team (members, project name, preliminary project idea); Project conference signup |
|
Email/Blackboard submission of written project proposal. |
|
Project conferences |
in lab Monday 7 April |
Written presentation of project idea |
Sunday night as above; |
Checkpoint 1 |
in lab Monday 14 April |
Checkpoint 2 |
in lab Tuesday 22 April |
Class Demos; peer evaluation |
in lab Monday 28 April |
Oral project presentation |
One of Tuesday April 29, Thursday April 1 |
Final project packet, including documented code, user's manual, and poster |
|
In this project, you have two choices. You may select a group of teammates yourself, or you may ask us to assign you to a team. A team should be no smaller than 2 and no larger than 4. If you wish us to assign you to a team, you need to let us know by 6pm March 31 at the absolute latest. (Talking to us in lab is a viable option :o) )
Also, if you organize your own team but would like an additional member, please let us know by the same time.
Whether you organize your own team or are assigned to one, you should be prepared to provide the following information in class on Thursday, April 3:
The labs during the first three weeks of the project -- April 7, 14, and 22 -- are required project conferences. You will need to sign up for a conference appointment at which all members of your team must be present. We will use these conferences to check your progress on your project and to help you replan as necessary.
In addition to the project conference, you are free to attend any lab sessions that you wish or to work on your project entirely outside of scheduled lab hours. We may announce additional office hours/open lab times or you may certainly request a specific meeting/check-in time.
As always, you will need to build and test your software. Keep a careful record of the work you do so that you will be able to include it in your project writeup.
Prior to lab on April 7 (specifically, by 6pm on Sunday April 6), you will need to email a project proposal to las. You should bring this (on paper or electronically) to your project conference as well. This proposal is described in detail below.
At the first project conference (and each subsequent conference), you should expect to make an oral presentation. You should plan for this to be 5-10 minutes, with lots of questions to follow.
During the second week's lab, you will need to present your project as it exists at that point. Ideally, it should meet the criteria you developed for the first checkpoint. You should also identify any issues that have come up so that we can discuss them and brainstorm their debugging.
Again, expect to make a formal presentation for 5-10 minutes, with lots of questions to follow. You are not expected to provide any material in advance of this meeting, but that of course means that we won't know anything that you don't tell us.
Note that this lab is on a Tuesday, though it's an Olin Monday. At this checkpoint, your project should ideally be exhibiting the minimal complete functionality that you designed. You should expect to spend the next week cleaning up and document your code, preparing the user's manual and poster and putting together a final project presentation.
Again, expect to make a formal presentation for 5-10 minutes, with lots of questions to follow. You are not expected to provide any material in advance of this meeting, but that of course means that we won't know anything that you don't tell us.
In this lab session, you will provide a project demo for (some of) your classmates. You will also be asked to provide peer evaluations for your labmates.
At the beginning of your lab session (or earlier, if possible), you should set up one or more computers running your project. Alternately, if your project is easily run from a generic student laptop, you may simply provide instructions for how to set it up. In addition, you should provide four copies of a self-explanatory user's manual of 1-3 pages as well as a (marketing and/or technical) poster for your project. Note: You will not accompany this demo; you will be otherwise occupied while students try to use your project, so be certain that it's reasonably standalone.
During your lab session, you will be playing with other student projects. In particular, you will be asked to try out between one and three projects and to evaluate each of them on the following criteria:
A specific rubric will be provided.
In lab on Monday 7 April, you will make a formal project presentation. We will schedule presentation conferences in class on Thursday 3 April. Your entire project group is expected to be present at this meeting. This is, in effect, your check-in for the final project.
You should submit electronically by 6pm on Sunday 6 April a (single) project proposal document. This document must contain the following information:
Your writeup should be between two and four pages in length. Only one proposal writeup is due per team, but the writeup should reflect a collaborative effort.
You will also need to describe your project in person at the first project conference. This description should be a team effort. It is, in effect, the check-in for the final project, although you do not need to complete this step before beginning any work. Check-in criteria include a solid understanding of your project and the components involved, a sensible development plan, and a reasonable division of labor. Each of your team members should be prepared to answer questions during the project presentation.
Also at this meeting, you should agree upon an intermediate checkpoint to be demonstrated during the second week of lab.
If there are concerns raised at this presentation meeting, you may be asked to revise your (written) project proposal by the next day.
As described above, during the lab on 28 April your project will be available for demos. In addition, in class on Tuesday or Thursday of that week, you will give a 5-10 minute presentation and demonstration of your project, followed by a brief question and answer period. This presentation should include a demonstration of the major features of your project and highlights of its functionality. You can think of this project as a marketing presentation, though it is fine to go into technical details. Handouts are acceptable but not required.
We expect that these presentations will be prepared, rehearsed, and polished performances. Expect to spend several hours putting together the presentation and any accompanying materials. Practice your presentation for your teammates and friends, or perhaps in front of a mirror. We may ask you to dry run these presentations during lab on 28th.
All teammates should participate in the presentation, though you do not need to give each teammate an equal amount of airtime.
Presentations will be evaluated by your classmates as well as by the course staff. You are responsible for attending and evaluating all of your classmates' presentation.
Your project writeup is due at 5pm on Thursday 1 May. Electronic turn-in is strongly preferred. Your project should include a complete (documented) code listing and a standard writeup including information about what you did in lab, who did what, how the code works, etc. You should also document any difficulties you encountered, any interesting features or experiences, etc. Also indicate credit for any code that you may have used but did not write. In addition to the code, your writeup should be between two and five pages. Only one writeup is due per team; however, the roles of each team member should be clearly indicated in the writeup.
In addition to these standard writeup features, the final project material should include a user's manual and a poster. The user's manual should be designed for someone who does not know or need to know how your project works inside; instead, it should contain enough information to enable others to successfully run your software. This manual should be at least one and no more than ten pages long, depending on the number of illustrations, the novelty of the application, etc. Again, only one user's manual is necessary per team, but include authorship information and division of labor.
The poster is the only part of the final project that need not be turned in electronically. It should be designed to accompany a running project demonstration in the absence of any team member. It may be either marketing or technical in nature, i.e., it can tell about your project and what it does or it can tell about how it works. In either case, it should communicate some of what you have learned during this semester. Although it will be used in the project demo on 28 April, its primary target is the class exhibition during Gates Week, when external visitors will be coming to campus.
You should also include a self-assessment checksheet for each member of the group. This will be provided during the last week of the semester.
<%@ include file="../footer.jsp" %>