INFM 718B
Building the Human - Computer Interface
Fall 2006


Course Description
Syllabus
Reading List
Team Project

Team Project

Last modified: Nov 2, 3:15 pm

Current Projects

Team Project

The goal of the team project is to apply the rapid prototyping methodology to develop an application with a significant amount of user interface functionality. Students are required to work in teams of two, three or four. Individual projects are not appropriate in this course and will not normally be approved.

The focus of work outside of class will shift from the homework to the project upon completion of the third homework assignment, so teams must be formed by six weeks into the semester at the latest. An earlier start on the project would, however, clearly be a good idea. The basic idea is to complete three cycles of iterative specification refinement, producing a working prototype in each cycle. The objective of each cycle is to refine the specification, not to produce the definitive implementation of the system, but the third iteration should produce a prototype with a substantial amount of the important functionality for your application fully implemented.

Two weeks are allowed for each iteration, which should provide three-person teams with about 35 person-hours for specification and implementation activity in each of the two-week periods. Teams should be careful not to include more functionality in each iteration than can reasonably be accomplished in this time frame unless they wish to devote more time to the project than is required. Specifications and working code must be turned in by 5:30 p.m. on the dates indicated on the syllabus for the following things:

  • First specification
  • Frozen prototype for spec 1, new spec 2
  • Frozen prototype for spec 2, new spec 3
  • Frozen prototype for spec 3, in-class demonstration
In order to encourage realistic planning and to remove possible disincentives for attending class, late submissions will not be accepted. Specifications and frozen prototypes must be made available as Java applets or applications through a project Web site that you establish on WAM or any other convenient Web server, and must remain unchanged for the remainder of the semester. Teams should probably allow several days prior to each due date (except the last one) for preparing the next specification, so it would be wise to freeze each prototype two days before it is due at the latest and move on. This lesson has been learned the hard way -- no sense relearning it again if you can avoid it.

Projects will be demonstrated in class during the last class of the semester. Every member of the team will normally receive the same project grade (exceptions can be made if all members of the team propose an alternate grading strategy before the project begins), and the project grade will account for a substantial portion of the grade for the course (as shown in the course description. Individual specification and frozen prototype iterations will not be graded separately. The following criteria will be used when assigning project grades (in rough order of decreasing importance):

  • Timely submission of specifications and frozen prototypes
  • The degree to which the progression between the prototypes reflects an understanding of the rapid prototyping methodology
  • The quality and clarity of each specification
  • The degree of agreement between specifications and frozen prototypes
  • The degree of functionality incorporated in each prototype
It is possible to receive a good grade without building a system that contains all the bells and whistles if the ultimate objective is beyond that which could be achieved in three prototype iterations by a team of the size you choose to form. But it will not be possible to receive a good grade without applying the rapid prototyping methodology well. If there are questions about where effort should be focused you should discuss this with me early -- misspent effort is not easily recovered.

Previous projects

Here are examples of projects from previous semesters.

  • National Digital Library Calendar of Events - An online calendar that is designed to be used in the Library of Congress National Digital Library web site.
  • Taxonomy Tool for Biological Specimens - Adding a grapical user interface to an existing tool for manipulating taxonomies.
  • Chinese-English Cross-Language IR - an interface that could allow users to use a cross-language information retrieval system. The CLIR system that we have conceived for this project is a Chinese-language document collection can be searched by users who type English-language queries.
  • Video Browsing Toolkit - A toolkit designed to support the creation of eperimental user interfaces for video browsing.
  • Tibetan Text Browser - A viewer that is designed to display Tibetan manuscripts that have been transliterated into a Roman alphabet using the original character set.
  • Speech Retrieval Display - Adding new capabilities to a user interface for speech-based information retrieval.

Bill Kules