CPSC 481: Foundations of HCI

James Tam (instructor)

Final Term Project


 

Handouts

Description

The term project is a continuation of the interface you started developing in Assignment 1. For this assignment you will be working on two or more design evolutions (i.e., Part I & Part II of the project will be the absolute minimum number of iterations or versions that you should be producing for the final term project).  The project's main purpose is to give you hands-on experience applying some of the design concepts you have been taught in class, and to give you experience developing a moderately robust interface. As part of this project, you will learn how to program using a graphical user interface toolkit, and perhaps gain practical experience in conducting a heuristic evaluation.   To give you an idea of what students have done in the past, here is an example.  It's a walk up and use Dinosaur information system (there are two snapshots of it: screen one and screen two; and another group created a Home Finder system that allows people to search for homes to buy in the city of Calgary.

Part I. Implement a horizontal prototype, plus a re-design Rationale (you make a presentation during tutorials during the week of March 16 - 22 and you hand in a brief written report on Monday March  24 with the written report from Part I to be included in your project portfolio for Part II).

Part II. Implement a Vertical prototype, and do an evaluation  of this prototype (this is due April 15th at 4 PM)

Grading. Grades are based on the quality, sophistication and creative elements of the evolving design and its implementation, and the professional nature of the written submissions. Remember that you are implementing both a horizontal and vertical medium fidelity prototype and the balance between the two depends on your design . It should contain enough implementation to show what it would be like to interact with the real thing. Grades are not based on the complexity of underlying application code (hidden back-end code that I talked about at the beginning of the term) that have little to do with the interface (the front-end GUI code).

You are emphatically cautioned against taking on more than your group has time for! A modest carefully implemented project often scores much higher than an ambitious project that is not well done. Start immediately! The best groups start early, plan activities, divide the work logically, and communicate well.

Final reminders: Unless your group first clears it with me you must implement your project using the same development language and IDE that everyone else is using.   While it is not impossible to get permission to use something different, it is typically to your benefit to use this language.  I have found from past experience that when groups that choose a different language often find themselves in trouble at the end of term because it is too hard to implement or change things in their interface.   Also groups are not only allowed to ask my advice on the design of their system they are strongly encouraged to do this before they hand their projects in.  It's better to hear the critiques and comments ahead of time when you can still do something about it than when the project is actually being graded.

1 This means that you should stop coding at this point - this is why you need to submit a copy of your code.  Note however that it is still the responsibility of each group to have their project running for the demonstrations.   With so many demos to watch I won't have time to do this for you so before your allotted demo time - you will have to get your system ready yourselves.