Please note that the project counts for 25% of the overall grade in this course. This means that the project should be a fairly substantial effort, with a duration of roughly 3 weeks. The good news is that you already have many of the pieces needed to develop your project. You may use any of the examples given in the lectures and homework as a starting point, or you might conceivably choose to add new functionality to existing software (such as a research code.) If you do decide to build on software that has already been developed by someone else, please be sure to clearly identify which part of the software has been written by you. The use of automatic code generation tools is strongly discouraged. The litmus test is that you should be able to explain how every single line of code in your program works, if asked to do so.
The intention is that the projects will be small group efforts i.e. 3 people or less. Our reasons for not wanting larger groups is that first, there is relatively little time for proper group coordination and second, it is often difficult to decompose the problem in such a way that the workload distribution is truly even. Your project should be appropriate for the size of your group. We encourage you to be ambitious, but also to be aware of resource and time constraints. In planning group projects, we suggest that you break the project down into well defined tasks so that each individual has a clear role in the project. Be sure to plan properly for the integration of the various components of your project.
If you prefer to do an individual project instead, this is quite acceptable. We expect that a person's level of effort will be independent of group size for the most part, so individual projects will typically be smaller in scope.
We hope that you will find the project a useful learning exercise.
Please feel free to stop by and discuss your individual project ideas at any
time.
This should be a short description (anywhere from two sentences to a
paragraph) of what you plan to do. The goal of the proposal is to
help you crystallize your ideas into a concrete plan of action. You
may find that your ideas change as you become more deeply immersed in the
project. This is perfectly acceptable. The bottom line is that
we want to make sure you work on something that is of reasonable scope
for a three week project and that it has a good chance of completion.
The project proposal is for your own benefit - it will not be graded!
Project presentations will be held during the last three lectures.
This is where you will demonstrate your software to prospective investors
(i.e. the rest of the class). As a guide to the length of your group's
presentation, please plan
3 minutes to change over and to introduce the project + 3 minutes per
person
Thus a three person group will have 12 minutes to present and an individual
will have 6 minutes to present.
There will be a sign up sheet for presentations and we will do our best
to accommodate preferences for specific dates and times. We understand
that there is a weeks difference between the start and the end of the
presentations. However, please sign up early - you will be able to
continue to work on your project until the last day of classes.
We would also like to have a short project report (we suggest about 5 web pages per person) to accompany your software. These could be the web pages that you use in your presentation. A suggested format for your report is as follows: