CS 656 - Advanced Interactive Systems

Description Text Calendar Grading Programs TAs
Course Description

This course covers interactive systems that are not part of desktop computing. The goal is to move interaction out into the world where people work and live. This requires more sensing capability than mouse events including touch, cameras, audio, accelerometers etc. In addition, we cover the machine learning concepts required to translate raw sensor data into interactive expressions.
Instructor: Dan R. Olsen Jr.

Office Hours: e-mail, call, knock on my door anytime(3336 TMCB) or peek in my lab (3329 TMCB)

Text Materials
The text is "Building Interactive Systems" by Dan Olsen. Additional text materials are primary papers drawn from ACM's digital library. You will need a copy of the Adobe Acrobat Reader. The reading assignments are given in the class calendar along with links to the materials online.
Date - Topic
5 Jan - Introduction
7 Jan - Classifiers
Appendix A3-A3.1c
12 Jan - Classifiers
Appendix A3.1d-A3.1e
14 Jan - Classifiers exercises
19 Jan - Holiday
21 Jan - Digital Ink
Chapter 19 pp 383-392
26 Jan - Gesture Recognition
Chapter 19 pp 392-396, 1$ Recognizer, Music Notepad
28 Jan - Ink Organization
Chapter 19 pp 397-418, Tivoli Basic
2 Feb - Evaluating Interactive Systems
Chapter 26, Evaluating UI, STUF
4 Feb - Ink/Touch Design Critiques
9 Feb - Review for Exam
11 Feb - Exam 1
16 Feb - Holiday
17 Feb Tuesday - Camera Interaction
Chapter 24 pp 493-516
18 Feb - Camera Interaction
LightWidgets, Crayons
23 Feb - Alternate Camera Interaction
Kinect, Wii Sensing Technology, Touch Light
25 Feb - Structured Light
Structured Light, Lumitrack
2 Mar - Camera Design Critiques
4 Mar - Audio Processing
Audio features
9 Mar - Audio Sensing
Whack Gestures, Scratch Input, Acoustic Barcode
11 Mar - Audio Continued
16 Mar - Review for Exam
18 Mar - Exam 2
23 Mar - Merged with next lecture - Sensitive Devices
Chapter 24 pp 517-521, Hinckley PDA, Physical Prototypes
23 Mar - Physical World Interaction
Tangible Bits, RF Tags, Mirage
25 Mar - Physical Device Design Critiques


30 Mar - Display Spaces
Chapters 21-22
1 Apr - Selection
Chapter 20 pp 421-427, ArcPad
6 Apr - Selection
Chapter 20 pp 428-435, Bubble Cursor, Semantic Pointing
8 Apr - Text Entry
Chapter 18 pp 359-380, EdgeWrite
13 Apr - Exam Review
18 Apr - Final Exam - 7AM - 10AM

20% Design Critiques

In this class there will be three design critiques. They all follow the format described on the design critiques page though each has a different design brief. The slides for each critique are due before the designated class period when they will be presented.

  • Ink and Touch (Feb 12)- The design ideas must use an inking or touch-based technology to accomplish interesting tasks for which these technologies are uniquely useful.
  • Camera based interaction (Mar 3) - Design ideas for the use of cameras for interaction
  • Physical sensors (Mar 26) - Design ideas for the use of physical sensors to interact

These form a large part of your grade. Therefore careful thought is expected and you will need to defend your ideas so come prepared with your arguments.

50% Programs

30% Exams

  • 9% Exam 1
  • 9% Exam 2
  • 17% Final exam

For each exam you may bring an 8.5x11 sheet of paper with anything you want written on one side only.

Programming Assignments


Computers for building your projects are located in 1102 TMCB. These have a version of Eclipse installed and the Android plugin already installed. You are welcome to use your own machines for the Android projects because Android and Eclipse are free.

For the Android projects you can check out Android tablets and phones from the systems programmers. These can be connected to your machine or lab machines to program them. Note that your program must run on the actual device, not just the emulator.

For the Camera projects we will be use the Kinect API in C##. This is installed on the computers in 1106 TMCB. The Kinect API is free from Microsoft so if you have your own Kinect sensor you are free to use that. However, remember that your project must run on the lab machine.


All programs and Powerpoint decks are turned in through BYU Gradebook. Passoff will occur in the lab in 1106 TMCB or on an Android device compatible with those available through the system administrators.

Late Policy

Programs are due 1/2 hour before class starts on the day the assignment is due. Program loose 10% per week up to a maximum of 40%. There is no way to pass the class by putting everything off until the end. Employers want to know that you can get stuff done on time. Your grade will reflect that.

  • ALL PROGRAMS ARE DUE BY NOON ON THE LAST DAY OF CLASS. No late submissions after that time.

Cheating Policy

All programming assignments (unless specifically indicated otherwise) are individual projects. They are designed to test your individual mastery of the material.

Students are encouraged to talk to each other, to the TAs, to the instructor or to search online for ideas and understanding that will help solve the assignment. However, the code and/or slides should be your own. Copying program code from anyone else or from the internet is a violation of the Honor Code and will be dealt with as such.




Role of Teaching Assistants

Teaching assistants are provided to help you with your assignments and to do grading. They cannot debug your programs. They can answer questions and give explanations but your code is generally too complex for them to help much.

If you have a problem with how one of your assignments was graded, contact the TAs first and if you are not satisfied, talk to the instructor. If you have a question about requirements for a problem email the instructor. To prevent confusion, theTAs have been asked not to interpret requirements.