CS 338: Graphical User Interfaces
Midterm Exam Study Guide
Summary
The midterm exam will be 1 hour 20 minutes long and will cover the entire first
half of the course. The questions will be a mixture of short answer and long answer.
In some parts of the exam, you will be asked to write Java/Swing code to implement
parts of an interface (e.g., lay out an interface, handle events, etc.); your
code does not have to be precise enough to compile, but must be as close to real
code as possible and should capture the most important aspects taught in the course
(e.g., correct layout managers, correct use of classes and interfaces, etc.).
For a flavor of the exam questions, please see these
sample
questions and
sample solutions.
Covered Material
The midterm exam will cover all the lecture and assignment material from the first
half of the course. This includes the following topics:
- Introduction to GUIs
- problems in GUI design and user understanding
- user population and background knowledge
- design vs. implementation costs
- multidisciplinary side of HCI
- challenges of GUI implementation
- What are people and machines good at?
- creating personas
- implementation models, mental models
- Java and Swing
- program compilation and interpretation
- basics of Java
- classes and inheritance
- interfaces
- Drawing
- Redrawing
- Clipping
- Stroke and Pixel models
- Paths, regions, text, fonts
- Architecture
- model-view-controller architecture
- Gulf of Evaluation
- Gulf of Execution
- Layout
- problems with absolute positioning
- layout managers: BorderLayout, BoxLayout, GridLayout, FlowLayout
- layout extras: rigid boxes, glue
- Event Handling
- button event handling: ActionEvent, ActionListener
- key event handling: KeyEvent, KeyListener
- adapters vs. interfaces
- dispatching events
- Components
- buttons, check boxes, radio buttons, menus, toolbars: how to create
and handle events
- lists, tables, trees: basics of model vs. view (no need to memorize
methods, just concepts)
- other components: no code, just concepts
- Prototyping & Evaluation & Modeling
- why prototype?
- fidelity: high vs. low
- low-fidelity methods: paper sketches, storyboards, electronic paper, Wizard of Oz
- SILK: features and advantages
- empirical testing, usability walkthrough, heuristic evaluation: basic
idea, pros/cons
- heuristics: be able to name and explain at least 3 heuristics for evaluation
- conceptual, semantic, syntactic, lexical models of user interface
- GOMS modeling
- Input
- tradeoff between easy/flexibility of input and difficulty in recognition
- off-line vs. on-line recognition
- HMM basics
- difficulties with recognition
- benefits, drawbacks, challenges of various input modalities
- mouse, keyboard, speech, handwriting, touch, eyes, other future input modalities
- Fitts's Law
- Beyond WIMP
- what is WIMP
- what is reality-based interaction?
- four themes in reality-based interaction