At last, a chance to show off your creativity! For the final project, you will work in small groups and write a program involving some of the concepts discussed in the second half of the semester. The exact nature of your project will be determined by you and the other members of your group. Project topics should be selected from the project list. You may choose a project not on the list, but you must obtain instructor approval prior to December 2.
There are several possible projects listed below. The projects at the top of the list are most directly related to material covered in class. If you feel that you have had or are having some difficulty grasping material covered in the second half of the course, definitely do one these projects --- it will help solidify your knowledge of the material and assist in preparation for the final exam. The projects further down on the list are not necessarily more difficult, but involve new or novel ideas.
Some of the projects require auxiliary reading; some require reading ahead in order to start now.
In all cases, a project is, in some sense, an open ended grade. If you meet the basic requirement for the final project, it will count just like any other programming project. However, you can add to your project as much as you'd like, so, a great deal of extra credit is possible. If you have been dissatisfied with your grades thus far, now is your chance.
To run the Standard ML compiler environment, you can type:
~cs367-3/public/bin/ml
Target size for groups is three people. I will allow groups of up to four and as small as two. Part of the point of the project is to learn to work with others. Solo projects will be allowed, but require instructor permission prior to December 2. In order to make demonstration scheduling `reasonable', I would like to have no more than 25 groups total.
Choosing the group that's right for you: Please work with people who are at the same level of experience (or feel the same level of ease) with using C++. I expect groups to divide the work fairly among group members
Remember, the idea of working in a group is to divide the labor --- it is expected that each member of the group will have worked on at least one aspect of the project by herself/himself.
Demonstrations will take place at the following times:
Monday (12/15) from 11am-1pm Tuesday (12/16) from 11am-1pm and 2pm-4pm Wednesday (12/17) from 11am-1pm Thursday (12/18) from 11am-1pm and 2pm-4pm Friday (12/19) from 11am-1pmDemonstrations will be in room 1358 (one of the Vega Labs) on machines Vega23 and Vega24.
You must sign up for a demonstration in advance. Sign up by sending me e-mail. All group members must attend the demonstration.
If you cannot make any of the above times, let me know ASAP.
Time will be alloted for demonstrations based on the number of people participating in the project, roughly five minutes per person. You must be prepared to show me all the features of your project within the alloted amount of time. Please practice in advance. All group members should be ready to answer any questions relevant to their project.
Requirements
Each group must:
Grading
The final project will be graded on an one-hundred point scale, distributed
roughly (it might vary for different projects --- more details will follow) as:
For more information on grading policy, click here.
Final project submission directories are now available.
As usual, the naming convention is:
~cs367-3/Submissions/Four/where
However, there is effectively one directory for each group.
In each directory, there is a file called group which states the alphabetically first login name of the group, the topic of that groups' final project, and the logins for the other members of the group.
For example if Marc Dreyfuss (login md) and Michael Siff (login siff) were working together on trees, the directory
~cs367-3/Submissions/Four/mdand the directory
~cs367-3/Submissions/Four/siffboth refer to the same directory. In that directory would be a file called group that would look like:
md trees siff
Please note: there is only one submission directory for each group so do not erase or change files in the submission directory without permission from the other members of the group.
Also, when submitting progress reports, feel free to put a copy of whatever you've done so far in your submission directory so I may see how you are doing (that copy will not effect your grade at all).
Solution
There are many possible projects and many possible solutions. No one
solution is correct.
Late Policy
This is your final project. No late work will be accepted.