PhD Program
College of Computing
Georgia Institute of Technology
HCI Area Qualifying Exam (Written Portion)
Spring Semester 2004
Thursday, April 1, 9am-5pm.
Answer FOUR questions as follows: Answer any TWO of the four questions
from Section A (HCI Process and Theory); From Section B (Special Topics
in HCI) answer ONE question from EACH of your TWO declared areas of
specializations.
Each of the four questions you answer will be given equal weight.
You will be assigned an identifying number and are required to hand in
printed or written copies of your answers with each page identified
only by that number. This enables us to grade your answers anonymously.
You should NOT identify yourself explicitly by name on your answer
sheets or implicitly by referring in the first person to your work (my
project on ABC).
Please answer each question starting on a new page, with your answer
following the text of the question. To avoid having to type the
questions yourself, electronic copies of the questions will be
available after 9am from a URL that you should already have been given.
You may copy the questions from there.
Place any relevant references that you cite in an answer at the end of
that answer, NOT in a separate section at the end of the whole exam.
If you have any questions or feel it necessary to make any assumptions
in your answers, do not seek clarification from faculty or staff.
Simply record your assumptions as part of your answer.
Section A: HCI Process and Theory – answer any TWO of questions 1
through 4.
1. Programming environments for beginning students tend to have
debuggers that look just like the debuggers that experts have always
used. Their features typically include:
∑ The ability to set "breakpoints" in one's code in order to stop
execution at a given line, view and possibly modify data, then continue
execution to the next breakpoint.
∑ The ability to step through a program, viewing every line being
executed as it is executed.
The problem is that tasks that novice students undertake are very
different today than they used to be. For example:
∑ In our Media Computation class here at Georgia Tech, we have students
process images and sounds with loops that process every sample of a
sound – 22,050 samples per recorded second of sound. If you had a
bug in one of those loops and you set a breakpoint to find it, you
might have to hit Continue many thousands of times before finding the
bug.
∑ Lynne Stein is developing a new introductory CS text where, from the
very start, students program in threads – multiple parallel processes
running at once. "Stepping through your code" is made much more
complicated when there are, say, 10 versions of your code running at
once.
Here is your problem:
1(a). What would you do to understand the students’ debugging
needs?
1(b). How would you go about synthesizing a set of (hopefully)
suitable debugging capabilities to address the types of problems
suggested above?
1(c). How would your team evaluate whether these debugging
capabilities work? Please be specific here. "We'd watch
them debug with it" would be a poor answer. If you choose an
observational study, for example, what would you watch for? What
situations might you put students into? What would you predict
that you would see? What might you see that would tell you that
your predictions were wrong?
2. This question asks you to compare and contrast two research
techniques: surveys and interviews.
2(a). Describe a specific research problem where, if you could
only pick one research technique, a survey would be a good
choice. Explain why.
2(b). Describe a specific research problem where, if you could
only pick one research technique, interviews would be a good
choice. Explain why.
2(c). For the research problem you described in part 2(b), give
an example of an interview question that would be 'leading.'
Reword the same question and show how you would make it less leading.
2(d). Compare and contrast interviews and surveys as research
techniques. What are the advantages and disadvantages of each?
3. Would a video game designer care more about cognitive engineering
theories, such as GOMS, or more qualitative cognitive theories, such as
situated action?
4. One common metaphor for wearable computing is that of a
virtual secretary (an agent) who listens in on the user's conversations
and provides relevant information during the conversation by whispering
into the user's ear via a headphone. What problems might the user
face if this is the sole means of communication with the agent during
conversations? Comment both on theoretical and practical implementation
issues.
Section B: Special Topics in HCI
User Interface Software – answer ONE of questions 5 and 6.
5. Dispatch policies in the modern 2D GUI.
a) What is meant by a focus-based event dispatch mechanism/policy in a
2D GUI toolkit?
b) What is meant by a position-based event dispatch mechanism/policy in
a 2D GUI toolkit?
c) Most toolkits use a combination of both mechanisms. Describe
the problems that can arise if a toolkit does not support both, using
drag-and-drop interaction techniques as an example.
d) Draw a finite state machine for a drag-and-drop interaction that
allows items to be dragged from one widget to another. Assume a
one-button mouse that provides move, press, release and drag
events. Upon clicking on a target object, a small amount of drag
movement triggers drag-and-drop. You need to model the feedback
of the drag-and-drop interaction, including highlighting various drop
targets as the dragged object moves over them.
6. Since the late 1980's researchers have explored the use of
model-based software development for interactive systems.
a) Explain the strengths and weaknesses of the model-based approach to
developing 2D graphical user interfaces.
b) Why did this approach lose out to other ways to support rapid
prototyping of GUIs?
c) There has been a resurgence of interest in model-based approaches in
the past few years. What has prompted this renewed interest?
d) What will it take for a model-based approach to make a difference in
this new era of computing?
Ubiquitous Computing – answer ONE of questions 7 and 8.
7. Carroll, Kellogg and Rosson's task-artifact cycle (1991, for a
brief summary of that paper, see
http://www.cc.gatech.edu/~jpierce/Carroll.jpg) posits that introducing
technology to support a person performing a task often alters that
task. Biology expresses a similar idea through the notion of
exaptation: the utilization of a structure or feature for a function
other than that for which it was developed through natural selection.
Discuss whether proposed approaches to evaluating ubicomp applications
are likely to succeed or fail in the face of exaptation. Suggest a
course of research that you believe is likely to lead to the successful
development of such applications because or in spite of the
task-artifact cycle.
Carroll J. M., Kellogg W. & Rosson M. (1991) The task-artifact
cycle. In Designing Interaction: Psychology at the Human- Computer
Interface Eds. Carroll J. M. Cambridge Series on Human-Computer
Interaction pp. 74-100.
8. Activity recognition has become a more popular research theme in
ubiquitous computing, as an extension of context-aware computing.
a) Give two human-centered reasons why researchers are interested in
the problem of activity recognition.
b) Many researchers are using simple sensors, like accelerometers, as
opposed to complex sensors, like microphones and cameras, as the source
for activity recognition. Why is there interest in using these
simple sensors to feed activity recognition? Your answer should address
both human-centered and technology-centered rationale.
c) Give two examples outside of Georgia Tech in which simple sensors
are used for activity recognition.
d) What are some challenges to activity recognition with simple
sensors? Again, your answer should address both human and
technology concerns.