05-830, User Interface Software, Spring, 2001
Homework 4, Start: February 21, 2001
Due: Monday, March 14
Homework 5, Start: March 14, 2001
Due: Monday, April 11
Homework 6, Start: April 11, 2001
Due: Wednesday, May 2
Implement a Benchmark Task
Using Different Tools
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 choices are:
-
Microsoft Foundation Classes (MFC) for Windows
-
OLE
-
Macintosh Toolbox (low-level calls)
-
Apple's and CI Lab's OpenDoc
-
Java Swing
-
MetroWorks PowerPlant for Macintosh
-
Tcl/Tk
-
InterViews
-
PalmOS for Palm Pilots
-
Motif and X/11
-
the Windows CE environment, for hand-helds
-
The new "Fast Light Tool Kit" FLTK
for Unix or Windows
-
The new "Gimp Toolkit", GTK++
-
3D environments like Open Inventor
-
Multimedia authoring environments like Click and Create, Motivate, ToolBook,
etc.
-
... 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
Amulet or
OpenAmulet toolkit.
Implement the Benchmark Task using the Tool
The contents of your report should cover the same kinds of information as
last time. The following repeats the instructions from Homework 3.
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 in 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
references.
-
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 created
interactively.
-
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 30 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
gif format, 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.
I also want to be able to execute your program, so let me know where the
executables are so I can try it out. Either include them on the floppy or let me
know how to download and run them.
Be sure your report includes the information listed on the
benchmark questions
page.
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?
How?
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