Department of
Computer Science

 

CS 420/520: Object-Oriented Programming

 

Project Proposals

Set: Monday 2nd November 2009

Proposals due: Monday 9th November 2009 at 16:00

 

What’s this about a term project?

Term projects will be "free form", that is, you first propose what you want to do, I approve it or ask for modifications, and then, once we have reached an agreement, you execute the proposal.

The reason for this "free form" project is the very wide range of backgrounds and abilities of the students in the class.  I don’t think that I could come up with further assignments and an exam that would be within the capabilities of those with weaker backgrounds, yet still challenging  to the more advanced students. The project process will let you form a team and select a project that is a learning experience for your team, interesting to all of you, and yet doable before the end of the quarter.

Groups

It is best to do this project as a pair. I will also accept projects from individuals. Groups of three or more are NOT PERMITTED.

Project Grading

The project will be graded mostly on code quality, using criteria similar to those on the rubrics that we have been using throughout the course.  The scope and ambition of the project will be taken into account; however, a modest project nicely executed will get a better grade than an ambitious project whose code I can’t read.

Project Proposals

You have one week from today to form a team and write a one- or two-page project proposal. There should be enough information in the proposal for me to accept or reject it; specifically, you should tell me what you propose to deliver.  It's a good idea to have several phases, so if, for example, you run out of time to complete phase 3, you will at least have phases 1 and 2 written and tested.

I won't be surprised if the scope of the project at the end of the quarter is different from the scope described in the proposal, but I expect the project to be recognizably the same.  All projects should be executed in Smalltalk. Project proposals should list the team name, the team members,  the context of the project (e.g., a multiplayer internet game, a tool to enhance the Pharo development environment), and some brief user stories describing interactions with the project.  

You should feel free to come up with a proposal all of your own, or to select or adapt one of these project suggestions.

Schedule

Project Assigned Monday 2 November 2009
Proposals due Monday 9 November 2009
Feedback from Instructor on Proposals Friday 13th November 2009
Completed Projects Due Wednesday 2nd December 2009    
Project Demonstrations Week of 7th December (Exam week).

Deliverables

The completed project should consist of a Montocello version that can be loaded into the developers Pharo image, a copy of your proposal, and a short report outlining
  1. The overall architecture of the project: the objects you created and their responsibilities.  This is intended only as an overview; the details should be in the code. (2 pages maximum).
  2. The challenges that you faced and how you overcame them. (1 page maximum)
  3. Anything that you are especially proud of (or embarrassed about). (1 page maximum)

You will see that I'm asking you to keep yout write-ups very short. The code itself is the main

Submitting your work

Submit your project proposal as a text file (rich text (rtf) is OK, Microsoft mumble files are not OK) or a pdf to

Subject: [CS520 Project Proposal] Wilma Flintstone and Barny Rubble

Most recently modifed by Andrew P. Black on Monday 2 November 2009