Project Requirements
This is the list of Project Teams.
Possible Projects
You may choose your own topics for your final project. Your project should
have sufficient complexity (see System Justification) and there must be at
least two people who are interested (i.e., no individual projects).
A few project ideas:
- Bike training log. Keep a log of dates and times on a training log. The
log should include a map that can be annotated with the route.
- Garden planner. Allow the user to outline an irregularly-shaped garden
area. Plants should be placed on the map. Two views would be nice, one which
has static pictures of plants, the other which will somehow represent the state
of the garden in various months. It would also be nice to have some guidance
with placing plants of different heights.
- Crowdsourcing the 14ers (or other hiking trails). Display a trail map.
Allow users to submit photos of areas that are hard to navigate or
where specific flowers have been spotted or where wildlife has been
spotted, etc.
- Android recipe planner. You're at the store, need an idea of what to
cook. Quickly find a recipe based on flexible search criteria (e.g., I
want something made with rice, etc.). Should include a way to check off items
as you put them in your cart. Alternate: weekly meal planner, define
common meals, list of ingredients. Show weekly calendar, allow selection
of pre-defined meal or ability to enter ingredients. Program
combines all ingredients into a shopping list. Items can be crossed off
as placed in cart.
- Professor website template. Easy way for professors to create/update their
websites, especially the list of publications. Should include look-and-feel.
Or a utility that makes it easy to add assignments to a course calendar.
- Projects related to CollEdge could be good.
System Justification
The final program is worth 65 points. To "justify" your project, create
a description of how you will earn points in the following areas.
- (5) Goals. Clearly identify the goals for your product. Why would
someone use it? What are they trying to acccomplish?
- (40) Functionality/features. Provide a list of functions/tasks that your program will
provide. You will be responsible for this functionality, unless you
get prior approval to modify the list (I do realize this is a course
project and that, especially if you are dealing with new technology,
you may not be able to predict all the stumbling blocks).
- (10) Adhere to UI principles. Provide a list of at least five ways
that your design will adhere to principles discussed in class. Be as
specific as you can (design details may of course change, as you get
into implementation).
- (10) Challenging. Your project should not be trivial. Things that
you can list for the "challenging" points include working with new
technology, integrating your program with an existing system, learning a language that
is not familiar to all (or almost all) of the team members, etc.
If you have 3 or more people, your justification should list
roughly what each person will be responsible for. The purpose of
this is to ensure that larger teams have correspondingly larger
requirements.
You may want to review this example
justification based on a project done in a previous semester.
Bring a hard-copy of your justification to class on November 3.
Implementation
The system implementation component has 3 major milestones:
- Usability test 1. The team will demonstrate a working prototype of
the software to me. In addition to being a usability test, one purpose of
this is to ensure adequate progress is being made. These tests will be
scheduled either during the week of Nov 22 or early in the week of Nov 29.
- Usability test 2. You should do a second usability test with another
user. Based on the results, you may want to make
some changes to your software. The results of your tests will be submitted
on BB as described below.
- Final program. The final program will be turned in on CD and
presented to the class (see Presentations below).
System Usability Test (10 points) DUE: Wednesday December 7
Your usability report should include:
- (2) Clear description of the method you used (e.g., describe
what task you will use for a think-aloud)
- (2) Describe the usability test condition (e.g., number of users,
how close they are to your target audience, etc.).
- (6) Describe the results of the test (e.g., what issues did you uncover,
changes would you make to the system, what positive feedback did you receive,
etc.).
Submit your usability test on Blackboard by
December 7
FINAL PROJECT DUE: Wednesday December 7 (65 points)
Final projects will be presented the last week of class. Each
team should also submit a CD containing the project code and a text
file with brief instructions for using the product.
You should submit your System Justification along with your
project. If needed, get prior approval and update your system justification
based on what you
actually accomplished.
The Presentation(10 points) DUE: December 8
This presentation consists of short demonstrations of the product,
along with discussion of: how this product adheres to good UI
principles, tools used, what was easy, what was difficult, lessons learned, etc.
You should update your System Justification and bring a
hard copy to the presentation. Provide detail - this is your
chance to justify your grade for the final project.
Length: ~10 minutes (depends on the number of teams)
NOTE: Since we won't have much time, you should do most of your
discussion of how you adhere to UI principles while you
do your demo. You will probably have one slide with your team name,
one slide with the user goals for your system, then a demo. During
the demo you can talk about tools you used, what you had trouble with,
etc. as well what UI principles you followed. You may follow up with
one slide on usability results, or you may want to talk about
your usability results during the demo.
Peer and Project Evaluations (5 points) DUE: December 7
To ensure that all team members have contributed equitably, download
and fill out this Peer Evaluation
form. Submit the .doc file on Blackboard.