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.