05-830, User Interface
Software, Spring, 1999
Homework 4, Start: February
Due: Wed, March 10
Homework 5, Start: March 10,
Due: Mon, April 5
Homework 6, Start: April 5, 1999
Due: Mon, April
Implement a Benchmark Task
Using Different Tools
Choose a Benchmark
Choose one of the benchmarks in
Choose a Tool to Implement the Benchmark
For Homeworks 4 and 5 you can use any tool you want that is a
"full-featured" tool for building "real" user interfaces. Some possible
- Microsoft Foundation Classes (MFC) for Windows
- Macintosh Toolbox (low-level calls)
- Apple's and CI Lab's OpenDoc
- Java AWT
- MetroWorks PowerPlant for Macintosh
- Motif and X/11
- Visix's Galaxy
- The new "Gimp Toolkit", GTK++
- 3D environments like Open Inventor
- Multimedia authoring environments like Click and Create, Motivate,
- ... or another tool of your choice, with permission of the instructor.
Most of these are available on the various cluster machines.
For Homework 6, you should use the
Implement the Benchmark Task using the Tool
The contents of your report should cover the sames kinds of information
as last time. The following repeats the instructions from Homework
There are many things you will need to keep track of while you are
learning the tool and while implementing the benchmark.
Be sure to read over the questions listed below that you will need to answer
your report to see what you need to pay attention to! In particular,
be sure to keep track of:
- Time spent reading the documentation for the tool.
- What specific references you used to learn about the tool (names of books
or manuals, on-line documentation, etc.). Be sure to include complete
- Exact amount of time spent doing the implementation.
- Please try to be quite accurate in timing how long this takes.
- During the implementation, keep track of how much time is spent:
- Thinking about the design.
- Actually typing in the code.
- Using interactive layout tools to draw parts of the interface.
- Going back to the documentation to look up things and figure out how
to do things.
- Debugging code to make it work.
- The amount of code written to make this benchmark work:
- For interactive tools, please count the number of lines of code
in the scripting language you had to type in.
- For example, the number of lines of Visual Basic code, or the number
of lines of Lingo.
- It might be helpful to print out the project and count them on the hardcopy.
- It would also be useful to have a count of the number of objects
- For example, how many objects were drawn with the editor?
Note that it may be impossible or very difficult to implement
the entire benchmark in the tool. In this case,
don't. You are only supposed to spend about 25 hours trying
to do this assignment. Be sure to discuss this in your report.
Write a report about the implementation experience
Your report should preferably be in html of if not, in plaintext,
because we will make all the information available to the whole class.
You must include some screen shots of your program, preferably in
but any other format will be fine. Please turn in hardcopy (printout)
of all the following:
- A written report discussing all the points below.
- A code listing or printout of the code for your system.
- Screen dumps of the screens produced by your implementation.
You should also place all of these on /afs/ or on the WWW and
tell me the address, or else turn in a floppy containing all of these and
put on the floppy your name and whether it is in PC or Mac format.
Be sure your report includes the information listed on the
For the Final Paper (the fourth implementation; Homework 6),
please also add a discussion comparing and contrasting the various
toolkits that you used, including the good and bad features of each tool.
Is it possible to make a tool that includes all the good features?
Prepare an Oral Presentation to give in class on the assigned day
You should prepare a 5 minute presentation discussing the benchmark
and the tool you used. Be sure to make overheads, including screen
shots. Include a summary of your times and code size in the report.
Each homework is worth 14% of your grade in the course.
Back to 05-830 main page