Final Project

Purpose

The purpose of this project is to bring together all the skills you have learned throughout the course to create a complete application with a novel and complex user interface.

The Problem

You should work in a group of 2-3 people. If you need to find group partners, send an email to lqiu@oswego.edu

Each group will pick a different topic, e.g., a file browser with a color scheme indicating the recency and frequency of the use of folders and files, or a webpage editor that allows the user to easily switch between the source-code view and the brower view. Topics need to include a fair amount of user interface development with novel functionality. Here are some examples of final projects in former classes.

See here for examples of novel user interfaces.

Project proposal

By 2/28/2006, send an email to lqiu@oswego.edu with "CS520 Final project proposal - your group member last names" as the subject.

In the email, indicate your group members and describe your topic. You are encouraged to submit your topic well before the deadline to receive feedback regarding the appropriateness of your topic.

Proposal presentation

3/21, 3/23, in class.

Your presentation needs to include:
  • The current state of similiar applications.
  • The reasons/justification for your project.
  • The intended design and sketch of the user interface and its functionality.
  • The current status of your project, including a mockup of the interface, current working part of your program, etc.
  • Team member roles and responsibilities
  • Document the above issues on a webpage.

    Midpoint demo

    4/18, 4/20 individual group meeting to demo project progress.

    Final presentation

    5/9, 5/11, presentation of the final project to class. It has to include:
  • an overview of your project
  • the current status of your project
  • what can your program do
  • how does your user interface work
  • what are the important features.
  • three course-related issues in your project that your would like the class to learn. For each issue, describe:
  • what is the problem?
  • What did you try and how did you solve it?
  • What is the code to solve the problem?
  • what did you learn from the problem? What is the take-home message for the class?
  • Document the above (including the overview, status, and discussion of issues) on a webpage.

    Submission

    Submit a zip file with your project name as the file name. Include the following in the zip file:
  • a directory called "program" containing the source code and compiled code of your program, and a readme file for how to run your program.
  • a directory called "webpage" containing the webpages describing your project, including:
  • an index.html file as the homepage for your project
  • a demo showing how to use your program. Follow this example.
  • webpages for the project proposal
  • webpages for the final presentation
  • Email your zip file to lqiu@cs.oswego.edu. This file is due on or before 5/14.

    Grading rubrics

    Total: 100
  • final presentation: 15%
  • Good: clear demo of the user interface, meaningful issues with good discussion
  • OK: ok demo with ok issues
  • Weak: difficult to understand the user interface, issues are not important or poorly described
  • webpage documentation: 15%
  • system implementation: 70%