[CLIS logo]

LBSC 790/INFM 718B
Building the Human - Computer Interface
Spring 2002
Course Description

Catalog Description

Principles and techniques for user interface implementation. Principles for building reliable large-scale interface components. Use of prototyping and rapid development tools. Techniques for managing user input and both visual and auditory displays.



We will rely on readings to provide foundational knowledge for rapid prototyping and Java, and will use our time together in class to demonstrate and discuss techniques for actually building user interfaces. Homework assignments (alternating between self-graded and graded) will help to crystalize specific design, implementation and testing skills, and optional weekly lab sessions will provide a structured opportunity to receive assistance with those challenges. Finally, a team project will provide students with an opportunity to draw all of this together in the context of a real application that is of interest to them.

Instructional Staff

Instructor Teaching Assistant
Name Doug Oard Yejun Wu
Email oard@umd.edu wuyj@glue.umd.edu
Office HBK 4121G/AVW 3145 HBK 4120A
Office Phone (301)405-7590  


Day Time (P.M.)Activity Room
Monday 5:30-8:15 Class HBK 2119
Saturday 1:00-3:00 Lab HBK 2119

A syllabus that summarizes what we will cover each week can be found on the class web page. There will be one scheduled lab session each week during the first half of the semester. Lab attendance is voluntary -- the primary purpose of lab is to give students an opportunity to improve their mastery of the programming details that are needed in order to fully explore the range of issues that we will cover in the class.

I will be happy to meet with students after class or by appointment at any mutually convenient time to discuss material from class, the readings, homework assignments, the project, etc. Email is the best way to reach me to set up an appointment, and it is also a good way to get a quick answer to a simple question. The phone is not nearly as good because I move between several offices in a typical day and phone tag is not very efficient.

Students wishing to discuss accommodations for unusual circumstances should contact me before the end of the third week of classes.

A mailing list for the class has been set up at lbsc790-0101-fall04@coursemail.umd.edu. Mail sent there will reach all members of the class at the email address that the university has on file for them (usually WAM). If you want your email address changed, let me know (at oard@umd.edu) and I'll take care of it. Please read your email regularly -- it can sometimes save you from a lot of wasted effort. And please send email to the list if you think that there is something others in the class would want to know.

Course Materials

The class web site at http://www.glue.umd.edu/~oard/teaching/790/ contains the most recent copies of all material produced for this course. Among other things, this course description (which contains a number of useful links), the syllabus, the reading list, lecture notes and homework assignments can be found there.

There are two required texts:

The books are NOT avalable from the campus bookstore, since you can save a considerable amount of money by buying them from Amazon. These books, along with a few other readings, will also be placed on reserve in the Paul Wasserman (CLIS) Library. Details are available in the class reading list. There will not be a course packet for this course.

A wide variety of other materials on Java programming are available if you would like to supplement these materials. One good place to look for information about Java on the Web is Sun's Java Web site.


We will be using the Java 2 Platform, standard edition, version 1.4.2 or higher. The principal tools that we will use are the Java 2 Software Development Kit (SDK), a text-based programming environment, and Eclipse, version 3.0 or higher, a graphical integrated development environment for Java. Both are available free in versions that will run on Windows, Macs or Unix.


Course grades will be assigned based on the graded homework, a term project, and a final examination. Scores on each component will be combined to produce a single overall score for each student as follows:
Component Percentage Computation
Homework 30% #1=5%, #2=10%, #3=15%
Project 40%
Final Exam 30%

Only the three homework assignments will be turned in and count towards your final grade, but the self-graded exercises are excellent practice for the programming component on the final exam. Students may work together on homework assignments, but all of the material that is turned in for grading must be produced individually. For example, students may form study groups and work out homework solutions together on a whiteboard or by each working separately on different terminals and then sharing what they have learned, but it would not be permissible for one student to code and debug a computer program then for other students to copy that program and submit it as their own work. The goal of this policy is to encourage the use of homework as a learning aid.

For the term project, teams will design and implement a user interface using Java 2. Additional details are provided on a separate Web page.

A two-hour final exam will be held in the same classroom that we normally meet in on the Monday night of the final exam period at our usual meeting time. Students will be given a simple user interface specification and asked to develop the interface using the Java 2 SDK and/or Eclipse and to answer one essay question.

Doug Oard
Last modified: Sun Aug 22 23:18:50 2004