Human Factors in Computer and Information Systems 

Spring2002 - Professor Ben Shneiderman
Department of Computer Science, University of Maryland
Home Syllabus

Visual Basic Project 3 Visual Flight Information

In this project, you will learn how to use external controls, and include dynamic query functionality in your application. Given a data file containing some flight schedules, implement a system that visualizes the flight information, and allow users to do dynamic query on the flight data.

We will provide you with a data file that contains some flights, including the flight number, the airline company, the departure place (by airport codes, JFK, BWI, LAX, etc.) and time, the arrival place and time (assume all flights are non-stop), and the ticket price. Your system should first provide a query window from where the user can choose the departure and arrival places, for example, leave from Washington Dulles Airport (IAD), arrive at Atlanta, Georgia (ATL) and a time range that the user wants to depart (i.e., leave no earlier than 7:00am and no later than 9:00am).

Then, your system should retrieve all the flights that satisfy the given query criteria, and show a result window where the results are visualized in the same way as that presented in the experiment .  A flight is represented as a line starting from the departure time and ending at the arrival time. The thickness of the line represents the price. The cheaper the ticket is, the thinner the line will be. The flight number and the ticket price are shown as a label above the line. And to keep it simple, you can assume all times given are Eastern Time. The result window should also enable the user to do dynamic queries using checkboxes and sliders.

To obtain some idea about how dynamic query works, please read  and you can download demos at


Dynamic Homefinder .

To be more specific, the result window should contain a double-box slider for ticket price, and several checkboxes, each representing an airline company. The user can select/deselect a company to show/hide the flights of that company. At the same time, the user can manipulate the slider to dynamically filter out the flights according to the price. The user should be able to go back to the query window to change the query criteria at any time.

To give you the experience of integrating code from external sources (and to make the project easier), we will provide the VB source code for the slider, and a simple example of how to use the slider. Download the slider source code and example. Download the flight data.

Extra credit (10 points): expand the input data file and the results window to support flights that make 1 or 2 stops.

The project should be done in groups of two. Submission instruction: Same as that for VB project #2, except that p2 should be p3.  Due date: 4/22/02 before the class.

Visual Basic Project 2

The second project introduces you to a variety of controls used in regular Visual Basic applications. This project is to design and implement a small classroom locator information system for Computer Science courses offered in buildings in the Northeast Quadrant in the spring2002 semester. The requirements are :


Grading components : Direct manipulation, natural interaction between controls, prompt and proper response to user action, graphical layout, control usage, easy to use, error handling, and so on.

Due date: 3/18 before the class.
Submission instructions:

Visual Basic Project 1

Suppose you are asked to design the facility control panel for a teaching theatre. The purpose is to make it easy to use even for novel users. The control panel is used by the instructor to control and monitor the status of the following facilities: