s12 Course

4

Click here to load reader

Transcript of s12 Course

Page 1: s12 Course

_____________________________________________________________________________________________________________

Course Description

A number of recent advances in Human-Computer Interaction have been driven by new capabilities to deliver inexpensive interactive devices to users, to display information in mobile and other new contexts, to sense the user and their environment, and use these sensors to create meaningful models of a user's context, state, and actions. This course will consider both concepts surrounding these new technological opportunities – through discussion of current HCI research literature in this area - and practical considerations – teaching the skills necessary to actually build research systems of this type. About 1/3 of this class will be devoted to a detailed review of current HCI advances in this area. The remainder will be devoted to development of individual skills so that students leaving the class will have an ability (or an improved ability) to actually build small devices for human interaction (in short: "HCI gadgets"). In particular, the course will concentrate on the basics of building simple micro-controller-based electronic devices and will also provide very basic coverage of the machine learning techniques needed to build simple sensor-driven statistical models (or recognizers) for human activities. The course is designed to be accessible to students with a wide range of backgrounds including both technically-oriented and non-technical students (especially Designers) interested in HCI. The class will be project oriented with (tentatively) three full scale electronic prototype building projects and a number of very small “micro-projects” during the semester. Two of these full projects will be self-defined in nature and can be adapted to the existing skills and interests of each student. Prerequisites

There are no formal prerequisites for this class. However, the class will involve programming and debugging of micro-controllers. Some coverage of the language used to do this will be provided, and if required by your background, the programming component of the projects can be made comparatively small (but, in that case some other aspect of the projects, such as design of unique physical forms, will need to be expanded). However, you should not take this course if you have no programming background, or you find programming or debugging extremely difficult. This course assumes no real background in electronics (and if you have an electronics background, e.g., you have taken a “circuits” or “embedded computing” class, you may find some of the material too elementary).

Place and Time: GHC 4215, TTh 1:30-2:50

Instructor: Scott Hudson ([email protected]) Office: NSH 3612D (inside the DevLab, 3612) Office/Lab Hours: Tue, Wed, Th 3-3:30 (and by appt.) TA: Stacy Kuznetzov ([email protected]) Office/Lab Hours: TTh 12-1 (in the DevLab NSH 3612)

HCI-833 Applied Gadgets, Sensors and Activity

Recognition in HCI Spring 2012

Page 2: s12 Course

Projects

This course is heavily project oriented. We are tentatively planning on three full scale projects (with two of these self-defined) along with about six very small “micro-projects” which are designed to give you a quick and easy building exercise that demonstrates a widely useful interactive capability. Students in this class have a wide range of backgrounds including both those that are highly technical and less technical. This means the absolute difficulty of individual projects will vary widely and will be evaluated relative to your background and level of effort. This is a Ph.D. level class, so overall it will be assumed that you are a mature student motivated to learn and grow. Each student will be expected to define projects and do work that is challenging for their own background. Students wishing to have this course count towards their Computer Science course requirement in the HCI Ph.D. program will need to do more advanced or ambitious projects. Please see the instructor for details. All projects will be done as individual work. It is expected that students working on different projects will assist each other in working through various details, but not allow others to “do your work for you”. It will be legitimate to use library and example code, but you must explicitly acknowledge this (although anything in the Arduino library found at http://arduino.cc can be used without mention). If you are unsure about where the boundary between “assistance” and “not doing your own work” lies, ask. While projects will vary in details it is expected between your projects the following elements will be included at least once:

Design of a custom electronic circuit driven by a micro-controller,

Specification of a custom printed circuit board (PCB) of your own design,

Construction of your circuit from parts, and

Development of the firmware and software necessary for your project and application.

Additional Assignments and Exams

A small number of additional (non-project) exercises will be assigned to provide practice with particular concepts. In addition a few short in-class quizzes may be given. There will be a comprehensive (take home) final exam, but no midterm. Course Materials and Resources

Lecture slides, readings, and other material will be available online from the CMU Blackboard system at http://www.cmu.edu/blackboard and the Blackboard system will be used extensively for on-line discussion. Lecture slides on a given topic will typically not be made available prior the completion of lecture on that topic but a draft preview copy of the slides may be available for some lectures. There is no textbook for this class. However, you will need to purchase tools, and electronic parts for the projects. Students will use the Arduino open source electronics prototyping platform (see

Page 3: s12 Course

http://arduino.cc) and will need to purchase an Arduino board. The recommended board is the Arduino Nano v3.0 which uses the ATmega328 micro-controller chip (see: http://www.arduino.cc/en/Main/ArduinoBoardNano) and can be purchased from the instructor (but nearly any Arduino board can be used if there is a reason to do so e.g., if you already own an Arduino board it should be fine for use in the course). The Arduino programming environment is free and runs on Windows, Mac OS X, and Linux (see: http://arduino.cc/en/Guide/HomePage). You should download and install the latest version of the Arduino environment now. Course Topics

Course topics will include both conceptual material designed to give you an understanding of the concepts and background, as well as skills-based material designed to help you understand the specifics of how to create various types of artifacts. Topics will include at least:

Conceptual Topics

Introduction to electricity and electronics

Basic digital electronics

Introduction to classification and recognition using simple machine learning

Ubiquitous computing background

Situationally appropriate computing

Current research in Ubicomp for the home

Current research results in sensing, context awareness, and new forms of input for small devices

Skills Topics

Schematics and electronics parts

Debugging of simple digital electronics

The Arduino programming environment

Circuits and techniques for implementing a range of specific sensors, displays and actuators

Soldering

Basic PCB design and specification

The Weka machine learning environment Readings and Discussion Conceptual lectures will in many cases include readings from the research literature. Most of these readings will be drawn from the ACM digital library (see: http://portal.acm.org/dl.cfm and http://portal.acm.org/advsearch.cfm/) which can be accessed free from any computer attached to the CMU network. If you need to access this material from off campus you may use the CMU VPN client available free here: http://www.cmu.edu/computing/network/vpn/. You will be expected to complete required readings before the lecture they pertain to. To help incentivize you to do this, and prime discussion of lecture topics, each student will be required to participate in on-line discussions for each reading. In particular, each student is required to make at least two relevant postings to the Blackboard on-line discussion area for a particular reading section prior to the start of the lecture section it pertains to

Page 4: s12 Course

(i.e., before the class when reading assignments are due). These posts can be about:

A question you had about the reading, something important you did not understand,

An idea inspired by the reading,

An interesting connection with something you learned or did previously in this or another course, or in other professional work or research, or

An on-topic, relevant response, clarification, or further comment on another student’s post.

Grading and Exams

As indicated above, we tentatively plan to have three full scale projects, six “micro-projects” and several additional small assignments. There will also be a comprehensive final exam (but no midterm exam). Individual course components will be weighted as follows (this is tentative and subject to change): Class Participation 5% Micro-Projects and Homeworks 20% Full Projects 65% Final Exam 10% This course will be making extensive use of peer grading. Details will be given in class for each project, assignment, or exam.