CSG170 – Human-Computer Interaction

 

 

[Syllabus] [Schedule] [Homework] [Projects] [Bibliography] [Resources] [Directory] [Acks]

 

Homework (Individual Assignments)

 

The following assignments are to be completed individually and posted to your individual course web page by the start of class on the week due.

 

I1

Individual Homework #1 – UI Critique (due in 1 week)

 

Administrative

  1. If you do not have a CCIS account and have not requested one, you should do so immediately. An account is required to access the online readings. See the Resources page for details.
  2. Create a personal course web page with your name and email address at the at the top (animated gifs optional) and post it to a server (see the Resources page for instructions on doing this at CCIS). You will use this during the semester to post all of your individual homework assignments. You can organize this however you want, but make sure the instructor can quickly find each week’s work on the page.
  3. Send an email with your name, email address, and URL of your personal course web page to csg170@ccs.neu.edu.

 

Remdedial Java

If you’re new to Java you should start working your way through the Sun Java tutorial Trails Covering the Basics. You should have a good grasp on this material by the 10/3 class.

 

Assignment

Find 2 examples of good user interface design, and 2 examples of bad user interface design.

Your examples should be specific. It's very hard to find a large interface that's completely good or completely bad, so don't try. Instead, focus on a particular feature or aspect of a user interface that makes your case. Avoid fuzzy words like “intuitive” and “user-friendly”. Find concrete reasons for your judgment.

You aren't limited to desktop software. Web sites offer many great candidates for fame and shame. You aren't even limited to traditional computer interfaces. Feel free to go out into the real world, and consider consumer appliances, car dashboards, building entrances, traffic intersections, shower controls, etc. (Norman's book Design of Everyday Things includes a lot of examples of this kind, which you may find inspirational.)

What to Post   Your report should include 2 good examples and 2 bad examples. For each example:

·         describe the purpose of the overall interface

·         describe the particular aspect you find good or bad

·         explain why it's good or bad

·         if bad, speculate why it might have been designed that way, and suggest a better design if possible

·         illustrate with screenshots or photographs if possible 

 

I2

Individual Homework #2 – Project Brainstorming (due in 1 week)

 

Skim the bibliography of HCI for older adults , and the research papers on interfaces for older adults, and think about project ideas. Pick three different project ideas that you would be interested in working on for a team project, make a rough sketch of a user interface (a scanned or photographed sketch on paper is best) and write a 1 paragraph proposal for each, further fleshing out the idea. Post your write-ups and sketches on a web page in your order of preference (these will be used to form project teams).

 

I3

Individual Homework #3 – Ethnography (due in 1 week)

 

Find a location where older adults gather (community center, market, etc). Pick a location and spend an hour people watching with a notebook and pencil. Spend some time watching the kinds of activities that people are engaged in, and think about how technology could help improve these activities. Pick one such activity that might be assisted by comptuers to focus on and study. For your chosen activity watch several people perform the task and make detailed notes about the series of steps they go through, any objects (“artifacts”) they use, whether they interact with other people and, if so, the step-by-step details of this interaction. Think about how technology could work in this situation. Conduct one or two unstructured interviews with your subjects about their current task and how technology might help.

 

What to Post  Your report should include a one-paragraph summary of why you picked your particular activity to focus on, followed by an overview of the activity, the kinds of people you observed engaging in it, and a description of any artifacts they used. Describe the individuals you interviewed (not by name) and what you learned from the interviews. Following this, provide a detailed description of the activity and any variations you observed. Describe how technology might help. Include digital photos if possible (but not of your subjects). (See the research readings for this week for examples of how to write your report.) 

 

I4

Individual Homework #4 – SWING 1 – Rapid Prototyping Applets in NetBeans (due in 1 week)

 

Your mission in this exercise is to implement a Java applet to provide online ordering for your favorite restaurant. The interface need not be functional, but the controls should be laid out on the page in such a way that it could actually work if completely implemented.

 

Minimum requirements. Your interface need not implement the entire menu, but must contain at least the following:

  • Two JLabels, one with an icon.
  • Two JButtons, one with an icon.
  • One JButtonGroup with at least 3 JRadioButton options (with toggling between buttons functional).
  • Two JCheckBoxes.
  • One JComboBox with at least two items.
  • One JTextField
  • One JPanel with a titled border enclosing at least one other component.
  • One tool tip on one component.
  • One Menu with at least two options.

 

Note: you do not need to use NetBeans to do this exercise, but if you do here are step-by-step instructions.

 

What to post  Your applet!   In addition, zip and email your java source to csg170@ccs.neu.edu.

 

I5

Individual Homework #5 – SWING 2 – Event Handling (due in 1 week)

 

Your mission in this exercise is to implement a very simple Java painting applet. The applet must support the following functions:

·         Drag to draw on the background panel.

·         Color selection using a combo box.

·         Line thickness using a group of radio buttons.

·         A CLEAR button.

 

You should read through the Java Swing Tutorial on Writing Event Listeners first.

For help on specific Swing components see How to…

 

Some other tips to get you started:

  • Put ‘import java.awt.*;’  and ‘import java.awt.event.*;’ at the top of your class source.
  • To find the mouse coordinates of a mouse event (e.g., a click), use the ‘int getX()’ and ‘int getY()’ methods on the MouseEvent object.
  • Remember that ‘getGraphics()’ returns a ‘Graphics’ object that represents one set of drawing parameter settings for the applet’s panel (there is no global Graphics object!).
  • Here’s a code snippet to draw a blue dot at X=10, Y=100 on the applet panel:

Graphics G=getGraphics();

G.setColor(Color.BLUE);

G.drawRect(10,100,1,1);

  • And another snippet to find out which item was selected from a combo box:

public void actionPerformed(ActionEvent e) {

   JComboBox cb=(JComboBox)e.getSource();

   String itemName=(String)cb.getSelectedItem();

  

}

 

What to post  Your applet!   In addition, zip and email your java source to csg170@ccs.neu.edu.

 

I6

Individual Homework #6 – SWING 3 – Constraint-Based Layout (due in 1 week)

 

Your objective in this assignment is to get some experience with Frames, Dialogs and layout managers in Swing. You have two choices for requirements: 1) try to duplicate the functionality of this applet; or, 2) create your own (ideally project-related) applet with the following minimum requirements:

  • A JFrame and a modal JDialog.
  • A JTabbedPane and JScrollPane.
  • Nested JPanels including the following layout managers: GridLayout, FlowLayout, BorderLayout
  • Some interaction widgets (JButton, etc.) on every JPanel and tab.
  • Reasonable behavior when the JFrame is resized.

 

NOTE: You may not use GridBagLayout or absolute layout anywhere in the project.

 

What to post  Your applet!   In addition, zip and email your java source to csg170@ccs.neu.edu.

 

I7

Individual Homework #8 – Heuristic Evaluation (due in 1 week)

 

In this individual assignment, you will do heuristic evaluation on two computer prototypes developed by your classmates.

 

You will receive your two assignments by email. The email will include the T6 report for each project, which will give you instructions for running the prototype and background information about the project. This is not an anonymous evaluation, so feel free to contact a project group directly if you need more information than you were given. As soon as you receive your prototype assignments, try to download and run both prototypes. You don't have to do your heuristic evaluation right away, but poke around a bit and make sure the prototypes appear to work. We need to get logistical problems out of the way as early as possible, since everybody else is going to be working on heuristic evaluations too.

 

Follow the heuristic evaluation procedure to evaluate both interfaces carefully. Make a numbered list of usability problems and successes you find. For each problem or positive comment, you should:

  • describe the problem or positive feature
  • identify the relevant usability heuristics (from Nielsen's Ten Usability Heuristics, or any other guidelines we've discussed in class)
  • estimate its severity (for problems, use cosmetic, minor, major, or catastrophic; for positive comments, just say good)

 

You aren't required to recommend solutions for the problems, but any ideas you have would no doubt be appreciated.

 

Be thorough. You should have at least 20 useful comments (positive or negative) about each interface that you evaluate. Write your reports in a readable style. The usability of your report to its recipients will matter in your grade. In particular, don't bury the problems you found in reams of free-flowing prose. Where possible, include screenshots to illustrate the problems you found. In general, make your report easy to read and understand.

 

What to Post  You should post two reports, one for each interface you evaluated, on separate web pages. We will forward your reports to the appropriate group.

I8

Individual Homework #7 – Evaluating a Telephony Spoken Dialog System (due in 1 week)

 

Call the FANDANGO IVR system (1-800-FANDANGO).

 

  1. Characterize the dialog for finding the showtimes for a particular movie at a particular theatre as a hierarchical STN (work top-down, only model up to 30 states).
  2. Evaluate the TRINDI tick list items (yes or no) presented in class.

 

EMAIL your results to csg170@ccs.neu.edu.