Exam 2


Software Systems

Spring Semester 2001

Tuesday, April 10, 2000 @ 9:30 AM



  1. Describe a software application that you think would be an unethical application of computing. Why do you think that this application is unethical? Under what circumstances would this application be ethical?

  2. Identify three situations in which a direct-manipulation interface is potentially less effective than a text-based command interface. Explain the dangers of using direct manipulation in each.

  3. We often talk about icons when discussing direct manipulation. Define the term "icon", and identify at least two guidelines that software designers should follow when making icons a central part of their interfaces.

  4. Cypher's group divides end-user programming into four categories: preferences, scripting languages, macro recorders, and programming by demonstration. Briefly identify the value of each as a form of programming. What is the fundamental problem that complicates the move from macro recording to programming by demonstration?

  5. Briefly describe at least three practices of extreme programming that distinguish it from more traditional software development methodologies.

  6. In Exercise 31, we considered the possibility of transparent menus. Identify an open research question about either the value of transparent menus or how to design them. Suggest an experiment that we could run to help determine an answer to the question. Predict the result of the experiment, based on your reading about menus in Shneiderman.

  7. Once the interface designer has decided on the order in which items will will appear on the menu, she must decide how to phrase each item. Identify two simple heuristics that she should use to phrase menu items.

  8. Give an example of an error message that satisfies at least three of Shneiderman's characteristics of good error messages, and explain how the message satisfies each. Give three different versions of the error message, with each version missing just one of the characteristics.

  9. When discussing interfaces that ask the user to fill in a form, Shneiderman discusses the idea of a coded field. What is a coded field? Give an example. From the user's perspective, what are the primary advantages and disadvantages of using coded fields?

Eugene Wallingford ==== wallingf@cs.uni.edu ==== April 9, 2001