HCII Calendar

  • HCII Seminar - Laura Granka
    NSH 1305
    April 23, 2014 at 4:00pm
  • Ph.D. Thesis Proposal: Eliane Stampfer Wiese
    NSH 3305
    April 25, 2014 at 12:30pm
  • CMU Commencement

    May 18, 2014 at all day

Course Descriptions

Social Web: Content, Communities, and Context

05-320 / 05-820
Fall: 12 units

With the growth of online environments like MySpace, Second Life, World of Warcraft, Wikipedia, blogs, online support groups, and open source development communities, the web is no longer just about information. This course, jointly taught by a computer scientist and a behavioral scientist, will examine a sampling of the social, technical and business challenges social web sites must solve to be successful, teach students how to use high-level tools to analyze, design or build online communities, and help them understand the social impact of spending at least part of their lives online. This class is open to advanced undergraduates and graduate students with either technical or non-technical backgrounds. Course work will include lectures and class discussion, homework, class presentations, and a group research or design project.

Syllabus for a recent offering of the course is at http://socialweb09.hciresearch.org/

Organizational Communication

05-341 / 05-841
Cross listed as
70-341 / 85-341 / 88-341
Spring: 9 units

Most of management is communication. You communicate to get information that will be the basis of decisions, coordinate activity, to provide a vision for the people who work for and with you, to and to sell yourself and your work. The goal of this course is to identify communication challenges within work groups and organizations and ways to overcome them. To do this requires that we know how communication normally works, what parts are difficult, and how to fix it when it goes wrong. The focus of this course is on providing you with a broad understanding of the way communication operates within dyads, work groups, and organizations. The intent is to give you theoretical and empirical underpinnings for the communication you will undoubtedly participate in when you move to a work environment, and strategies for improving communication within your groups. Because technology is changing communication patterns and outcomes both in organizations and more broadly in society, the course examines these technological changes. Readings come primarily from the empirical research literature.

Designing Human-Centered Software

05-391 / 05-891
Spring: 12 units

This course introduces the skills and concepts of Human-Computer Interaction (HCI) that enable computer scientists to design systems that effectively meet human needs. A concrete illustration of the practice of HCI, this course covers iterative design processes, interactive prototype construction, discount evaluation techniques, and the historical context of HCI. The course is intended for undergraduates and graduate students not majoring in HCI. Students considering a major in HCI should take 05-410, User-Centered Research and Evaluation instead.

Interaction Design Overview

Spring: 9 units

It will be first offered in the spring of 2014. (Earlier announcements said it would be offered in the fall of 2013, but it has been moved to the spring of 2014.)

Description is under development

Applications of Cognitive Science

05-395 / 05-795
Cross listed as
85-395 / 85-795
Spring: 9–12 units

The purpose of this course to develop an understanding of how basic cognitive science becomes an application—or tries to. It is an excellent complement to Human Factors. The course will sample applications stemming from basic research in perception, learning, memory, and cognitive neuroscience, in collaboration with other disciplines. Examples are virtual reality environments, computer-generated navigation systems, cognitive tutors, decision aids, guidelines for eyewitness interrogation, neuro-marketing, and speech recognition and synthesis. No background in psychology is required, as the general topics will be covered along with the applications. The goals are for students to acquire fundamental knowledge of cognitive science and to learn how basic research is applied. As the course progresses, the class arrives at a shared understanding of how promising and relevant research becomes an application, as well as what stands in the way.

User-Centered Research and Evaluation

05-410 / 05-610
Fall: 12 units

This course provides and overview and introduction to the field of human-computer interaction (HCI). It introduces students to tools, techniques, and sources of information about HCI and provides a systematic approach to design. The course increases awareness of good and bad design through observation of existing technology, and teaches the basic skills of task analysis, and analytic and empirical evaluation methods. This is a companion course to courses in visual design (05-650) and software implementation (05-630, 05-631). Course is open to undergrads and graduate level non-hci majors. Sophomores must get permission of the instructor.

Human Factors

05-413 / 05-813
Fall: 9 units

This course uses theory and research from human factors, cognitive science, and social science to understand and design the interactions of humans with the built world, tools, and technology. The course emphasizes current work in applied domains such as automotive design, house construction, medical human factors, and design of information devices. The course also will emphasize not only individual human factors (e.g., visual response, anthropometry) but also the organizational arrangements that can amplify or correct human factors problems. Through reading, discussion, and projects, you will learn about human perceptual, cognitive, and physical processes that affect how people interact with, and use, technology and tools. You will learn why we have so many automobile accidents, voting irregularities, and injuries from prescription medication. You will learn some tried and true solutions for human factors problems, and some of the many problems in human factors that remain. You will also have gained experience in research in this field.

Programming Usable Interfaces

05-430 / 05-630
Fall: 6 units
15-100 or 15-112 or 15-127

This course is for those with moderate programming skills who want to express their interactive ideas in working prototypes. The course will cover several prototyping tools and require a number of prototypes to be contstructed in each. These will range from animated mock-ups through fully functional programs. The course will also cover usability testing of interactive prototypes. Prerequisities: proficienty in a programming language such as C, programming methodology and style, problem analysis, program structure, algorithm analysis, data abstraction, and dynamic data. Normally met through an introductory course in programming in C, C++, Pascal or Java.

Note that students must simultaneously enroll in 05-433 / 05-633, User Interface Lab.

Software Structures for User Interfaces

05-431 / 05-631
Fall: 6 units
15-211, 15-212

This course is intended for those with advanced programming skills who want to do serious development of graphical user interfaces. This course includes: an introduction to task analysis and functional design of the user interface; basic principles of computer graphics used in UI implementation; event handling and event dispatching models; screen update algorithms and multi-view architectures; input syntax formalisms and their transformation into programs; interactive geometry; architectures for advanced features such as cut/copy/paste, macros and groupware. The course is intended for computer science majors. In some cases, the student and the Program Director will jointly determine the choice of 05-430 or 05-431, based upon the student’s previous programming experience.

Note that Masters students and HCI majors must simultaneously enroll in 05-433/05-633, User Interface Lab. We also offer a lecture-only option for those who are interested.

Personalized Online Learning

05-432 / 05-832
Intermittent: 12 units
15211 or 85213 or 85411

Last updated: Nov 11, 2011

This course is offered as a 9-credit version and a 12-credit version. The 9-credit version of the course does not involve programming, the 12-credit version involves rule-based programming, as detailed below.

This course addresses the use of cognitive psychology and cognitive task analysis to create computer-based intelligent tutoring systems. Students will learn data-driven and theoretical methods for creating cognitive models of human problem solving. Such models have been used to create educational software that has been demonstrated to dramatically enhance student learning in domains like mathematics and computer programming. This type of software, which originated at CMU and is now widely used in US high schools and middle schools, is probably the premier application of cognitive science in education.

In addition to discussion and readings on methods and models of problem solving, learning, and tutor design, the course will have a substantial “learning by doing” component. Students will be analyzing data, designing cognitive models and interfaces, and implementing an intelligent tutoring system. Students will use CTAT (the Cognitive Tutor Authoring Tools, see http://ctat.pact.cs.cmu.edu) to construct tutors. Tutors built with CTAT for middle-school mathematics can be found on the Mathtutor web site (https://mathtutor.web.cmu.edu/).

The hands-on portion of the course differs between the 9-credit version or the 12-credit version. In the 9-credit version of the course, students will use the CTAT tools for non-programmers to create tutors. In this version of the course, no programming is required and no programming background is needed. In the 12-credit version of the course, students will learn to create rule-based cognitive models for more sophisticated tutors, a form of Artificial Intelligence programming. They will learn to program such models in the Jess production rule language, which is integrated in CTAT.

The course targets students in Human-Computer Interaction, Psychology, Computer Science, Design, or related fields, who are interested in educational applications. Students should either have programming skills, or experience in the cognitive psychology of human problem solving, or experience with instructional design.



  • an introductory computer programming course (e.g., 15-112 Fundamentals of Programming), or
  • a course in cognitive psychology (e.g., 85-211 Cognitive Psychology, 85-213 Human Information Processing and Artificial Intelligence, 85-412 Cognitive Modeling) or
  • a course in instructional design (e.g., 85-438 Educational Goals, Instruction, and Assessment), or
  • permission from the instructor.

User Interface Lab

05-433 / 05-633
Fall: 9 units

05-433 / 05-633 is a lab complement to 05-430 / 05-630, Programming Usable Interfaces, or 05-431 / 05-631, Software Structures for User Interfaces. There are four labs section, which cover different domains and are geared to students with different backgrounds in computer science. Sections A (PUI Prototype Lab) and B (PUI GUI Lab) focuses on practice in the skills needed for prototyping and development of simple graphical user interfaces. Students will be introduced to rapid development tools such as graphical user interface layout editors will be combined with simple code to create functioning interfaces for a range of practical applications. This course is for HCII Masters, BHCI dual majors, and others with basic programming skills, rather than necessarily a strong programming or Computer Science background.

Section C (SSUI Mobile Lab) and Section D (SSUI Web Lab) are intended for HCII Masters, BHCI dual majors, and others with strong programming skills (e.g., for Computer Science majors). Section C focuses on tools for building applications on mobile systems, like the Android platform, and Section D focuses on practice in the skills needed for development of user interfaces to be deployed on the World Wide Web. In this lab, tools for both the “front end” (browser-side interfaces) and the “back-end” (supporting server-side code) will be considered. In both sections, the emphasis will be placed on user interface concepts and components.

Applied Machine Learning

05-434 / 05-834
Cross listed as
11-344 / 11-663
Fall: 12 units

Machine Learning is concerned with computer programs that enable the behavior of a computer to be learned from examples or experience rather than dictated through rules written by hand. It has practical value in many application areas of computer science such as on-line communities and digital libraries. This class is meant to teach the practical side of machine learning for applications, such as mining newsgroup data or building adaptive user interfaces. The emphasis will be on learning the process of applying machine learning effectively to a variety of problems rather than emphasizing an understanding of the theory behind what makes machine learning work. This course does not assume any prior exposure to machine learning theory or practice. In the first 2/3 of the course, we will cover a wide range of learning algorithms that can be applied to a variety of problems. In particular, we will cover topics such as decision trees, rule based classification, support vector machines, Bayesian networks, and clustering. In the final third of the class, we will go into more depth on one application area, namely the application of machine learning to problems involving text processing, such as information retrieval or text categorization.

Usuable Privacy and Security

05-436 / 05-836
Cross listed as
08-534 / 08-734
Spring: 12 units

The Role of Technology in Learning in the 21st Century

05-438 / 05-838
Spring: 12 units

Computing is increasingly harnessed to address pressing educational challenges of the 21st century: under-performing inner-city schools, integrating immigrants into the school system, irregular school attendance in rural developing regions, and women empowerment in the developing world. This course is open to all undergrads and grad students, with technical or non-technical backgrounds. We will cover theory and practical applications of the Learning Sciences, Educational Technology and Human-Computer Interaction, framed around authentic problems such as the above. Students will apply concepts from the course to examine existing solutions such as Sesame Street’s The Electric Company, Leapfrog’s literacy gadgets and the $100 laptop. Students will work in teams on semester-length design projects to tackle educational problems of their choice, on platforms such as cellphones, interactive videos or gaming (Nintendo’s Wii/DS/$10 TV-Computer). Confirmed guest speakers include the World Bank’s Education Sector and Microsoft’s Global Learning Group.

Designing Mobile Systems

05-499 / 05-899
Cross listed as
Spring: 9–12 units

Attention entrepreneurs, designers, and engineers! This course teaches you to invent mobile information services. You will learn about value-creation in the service sector and a human-centered design process including improv brainstorming, story-boarding, interviewing, video sketches, and selling. Students work in small, interdisciplinary teams to discover unmet needs of users. They create multiple concepts of a mobile service and assess their technical feasibility, financial viability, and desirability. Then they choose a single service idea and produce a plan with a business model and a video sketch suitable for posting on a crowd funding site. Grades will be determined primarily by the quality of the team’s products.

Special Topics: Sensemaking

05-499A / 05-899A
Cross listed as
Spring: 9–12 units

This is a seminar-style exploration that will focus on integrating knowledge from cognitive psychology, social psychology, social computing, machine learning and computer science that can help people make sense of overwhelming amounts of information.

The amount of information available to individuals today is enormous and rapidly increasing—70 billion hours are spent—and lost—every year on online sensemaking tasks (such as search) in the U.S. alone. Continued progress in science, education, and technology is fundamentally dependent on making sense of and finding insights in overwhelming amounts of data. However, human cognition, while unparalleled at discovering patterns and linking seemingly-disparate concepts, is also limited in the amount of information it can process at once.

This course will examine approaches that tackle sensemaking problems ranging from scientific collaboration to web search by combining the flexibility of higher-order cognition, the strengths of social collaboration, and the power of machine learning and visualization. Students will be exposed to theory about the social and cognitive processes involved in turning information into knowledge and how theory can be translated into practice through social computing, machine learning and visualization systems.

The material in this class would be of value to anyone interested in classic and cutting edge work representing cognitive, social, and computational approaches to helping people learn, understand, and discover insights that transform information into knowledge. These issues are relevant to students interested in domains including HCI, education, science, public policy, health, design, machine learning, social computing, and more.

You’ll read about four articles to prepare for each week’s class session. Papers have been selected either because they frame a sub-area, are one of the earliest, best papers in the sub-area, show cutting edge research or represent different approaches to the sub-area. While the course can’t possibly cover every important paper that has been published in the last four decades, it will try to focus on pioneering work and the research traditions that have followed. We will try to cover enough areas to give a sense of the breadth of cross-disciplinary research on sensemaking. You will also participate in weekly in-class exercises that will help translate theory into practice, and work on a final project which will allow you to go more in-depth in an area of your choosing.

Interaction Techniques

05-499A / 05-899A
Spring: 12 units

This new course will provide a comprehensive study of the many ways to interact with computers and computerized devices. An “interaction technique” starts when the user does something that causes an electronic device to respond, and includes the direct feedback from the device to the user. Examples include physical buttons and switches, on-screen menus and scroll bars operated by a mouse, touch screen widgets and gestures such as flick-to-scroll, text entry on computers or touch screens, consumer electronic controls such as remote controls, game controllers, and adaptations of all of these for people with disabilities. We will start with a history of the invention and development of these techniques, discuss the various options used today, and continue on to the future with the latest research on interaction techniques presented at conferences such as ACM CHI and UIST. Students will have a choice for final projects that can focus on historical or novel interaction techniques.

Special Topics: Environmental Hackfest

05-499B / 05-899B
Cross listed as
Spring: 9–12 units

We’re looking for people from across campus to examine/question/deconstruct everyday practices and propose ideas for new environmentalist strategies.

What will you do in this course? Explore the intersection between art, computer science, engineering, and the environment. Imagine a greener future. Plan interventions; ask questions, big and small. Hack ideas, people, code, hardware, and everything you bring to the classroom. Students of all levels from disciplines ranging from Art to Computer Science to Environmental Engineering will work together to foster sustainable behavior using creative insight. You will bring to our discussion your unique interest in sustainability and the environment. You may be a builder, a philosopher, a painter, an engineer, or something totally different. No technical prowess necessary—this course is open to all majors from all levels.

Brainstorm. Critique. Build. Break. Intervene. Interpret. Provoke.

What are you waiting for?

This 9 credit course will is a 3-hour lab course taught Fridays from 10am–1pm in GHC 4301 and ART 310. Contact Jennifer Mankoff (jmankoff [at] Cs [dot] cmu [dot] edu) or Jill Miller (jill [at] jillmiller [dot] net) with questions.

Crowd Programming

05-499C / 05-899C
Spring: 12 units

Crowdsourcing and human computation are useful in a number of real-world applications. Crowds generate large data sets useful for natural language process and computer vision; they work together to formulate intelligent responses far beyond what we can automate; and they power intelligent interactive systems currently impossible with automated approaches alone. In this course, students will learn to program the crowd. They will write programs that work with existing sources of crowds (Amazon Mechanical Turk, oDesk, Facebook …), apply usability principles for designing crowd tasks that elicit high-quality responses, use statistical methods to improve the quality of the work received, build systems that interface with crowd labor in real time, and conduct experiments to improve understanding of the differences between different sources of crowd work. Course work will consist of projects in each of these areas, and a final team project decided on by the students in each team.

Applied Fabrication Techniques for HCI

Fall: 12 units

This course will consider how new fabrication techniques such as 3D printing, laser cutting, CNC machining and related computer controlled technologies can be applied to problems in Human-Computer Interaction.  Each offering will concentrate on a particular application domain for its projects.  This year the course will consider assistive technology.  This course will be very hands-on and skills-oriented, with the goal of teaching students the skills necessary to apply these technologies to HCI problems such as rapid prototyping of new device concepts. To this end… 

Every student in this course will build and take home a 3D printer.

(There will be $400-$500 cost associated with this course to make that possible.  Details on this are still to be determined.) 


Enrollment is limited and will be by permission of the instructor only.  If you are interested, contact the instructor: scott [dot] hudson [at] cs [dot] cmu [dot] edu (scott [dot] hudson [at] cs [dot] cmu [dot] edu).

Game Design Studio

Fall: 12units

Game Design Workshop is a project-based course that covers the fundamentals of game design, including games as formal systems, important game genres, player psychology, player experience, the game design process, and the role of games in culture. The course emphasizes the development of craft, iterative design, and rigorous innovation. 

Students should expect to play a wide variety of games, observe players carefully, participate in hands-on exercises, and produce multiple game prototypes over the course of the semester. No programming experience or game expertise required. Bring your work ethic and your sense of fun!

Rapid Prototyping of Computer Systems

05-540 / 05-872
Cross listed as
18-540 / 18-745 / 39-648
Spring: 12 units

This is a project-oriented course, which will deal with all four aspects of project development: the application, the artifact, the computer-aided design environment, and the physical prototyping facilities. The class consists of students from different disciplines who must synthesize and implement a system in a short period of time. Upon completion of this course the student will be able to: generate systems specifications from a perceived need; partition functionality between hardware and software; produce interface specifications for a system composed of numerous subsystems; use computer-aided development tools; fabricate, integrate, and debug a hardware/software system; and evaluate the system in the context of an end user application. The class consists of students from different disciplines who must synthesize and implement a system in a short period of time.

Undergraduate Project in HCI

Spring: 12 units
05-410 or 05-610
05-431, 05-631

Experiential learning is a key component of the MHCI program. Through a substantial team project, students apply classroom knowledge in analysis and evaluation, implementation and design, and develop skills working in multidisciplinary teams. Student teams work with Carnegie Mellon University-based clients or external clients to iteratively design, build and test a software application which people directly use.

Independent Study in HCI-UG

All Semesters: 3–24 units

In collaboration with and with the permission of the professor, undergraduate students may engage in independent project work on any number of research projects sponsored by faculty. Students must complete an Independent Study Proposal, negotiate the number of units to be earned, complete a contract, and present a tangible deliverable. The Undergraduate Program Advisor’s signature is required for HCI undergraduate-level Independent Study courses.

Independent Study Form

HCI Pro Seminar

Fall: 6 units

Students will attend the one-hour weekly HCII Seminar Series of talks given by national leaders in the field of Human-Computer Interaction. Graduate students will then meet to discuss these topics in a small-group symposium.

Introduction to HCI Lab

Intermittent: 6 units

Interaction Design Studio

Spring: 12 units

(formerly Basic Interaction Design) In this course, we will explore issues that pertain to interaction and interface design. The class will focus on elements of the larger interaction design process including basic design principles, information architecture and navigation, planning and brainstorming methods, and techniques for developing rapid sketches and prototypes. Course Requirements: Fundamentals of Interaction Design or equivalent course work are a required pre-requisite for this course. This class will not focus on learning specific software tools. Students are expected to have prior experience using a variety of design and programming tools. Please speak with the instructor if you have questions regarding these pre-requisites.

Interaction Design Fundamentals

Fall: 12 units

No matter what your expertise within the field of HCI, your ability to conceptualize and communicate concepts and the rationale that led to those concepts is critical. In this course, the fundamentals of communication and interaction design, including layout, typography, color, sketching, storyboarding, and the use of images are presented. Students will become proficient with these skills, and will become comfortable engaging in studio critique, a critical discussion of the strengths and weaknesses of a given design. Course assignments will take the form of several short exercises, leading to a comprehensive screen design project that will comprise the second half of the course.

HCI Project

Spring: 15 units

The MHCI Project course is an 8-month long capstone project for the Master’s of HCI program and integrates everything the students have learned in their coursework into one “end-to-end” experience. Students work in interdisciplinary teams with an industry sponsor to produce a working prototype that serves as a proof of concept of a novel service or product idea. The students come from a variety of backgrounds including Computer Science, Psychology, Design, and other related programs. This year students from the Tepper School of Business will participate on teams during the Spring semester, to help develop business plans for the projects. The industrial client defines the project area and guides its direction. In the first few months of the project (January to April), students conduct user research and brainstorm product ideas. The user research phase begins with students conducting contextual inquiries and background research to understand the nature and needs of the customer/user and tasks relevant to their problem. Based on that understanding, students go through an innovation phase producing product ideas situated to meet the identified needs. With strong sponsor input, they narrow down their ideas and select one or more to pursue further. Then, over the summer, students engage in a prototyping and user-testing phase where they produce prototypes with increasing fidelity and iteratively test them with users to improve the design. They do weekly iteration cycles, so by the end of the summer, product prototypes are well refined and adapted to user needs. The end goal is a working prototype that serves as a proof of concept of the product idea.

HCI Project II

Summer: 48 units
05-571 or 05-671

This is the second consecutive course of the two-semester HCI Project course. Experiential learning is a key component of the MHCI program. Through a substantial team project, students apply classroom knowledge in analysis and evaluation, implementation and design, and develop skills working in multidisciplinary teams on client-based industry-related projects. The project begins in the spring semester before graduation and continues full-time through the final summer semester; it must be taken in consecutive spring and summer semesters.

Small Group Study in HCI

Fall and Spring: 0–36 units

With the permission of the professor, small graduate student teams of two or three may engage in independent project work on any number of research projects sponsored by faculty. Students must complete a Small Group Independent Study Proposal, negotiate the number of units to be earned, complete contracts, and present a tangible deliverable. The Program Advisor’s signature is required for HCI graduate-level Small Group Independent Study courses.

Independent Study in HCI - Grad

All Semesters: 0–48 units

With the permission of the professor, students may engage in independent project work on any number of innovative research projects sponsored by faculty. Students must complete an Independent Study Proposal, negotiate the number of units to be earned, submit a contract, and present a tangible deliverable. The Program Advisor’s signature is required for HCI graduate-level Independent Study courses.

Research Methods for the Learning Sciences

Spring: 12 units

The goals of this course are to learn data collection, design, and analysis methodologies that are particularly useful for scientific research in education. The course will be organized in modules addressing particular topics including cognitive task analysis, qualitative methods, protocol and discourse analysis, survey design, psychometrics, educational data mining, and experimental design. We hope students will learn how to apply these methods to their own research programs, how to evaluate the quality of application of these methods, and how to effectively communicate about using these methods.

To enroll you must have taken 85-738, "Educational Goals, Instruction,
and Assessment" or get the permission of the instruction.

Graduate Design Seminar

Intermittent: 12 units

HCI Process and Theory

Fall: 9 units

This course serves as a general introduction to Ph.D. level research in Human Computer Interaction. It will provide some background material in key HCI related areas, discuss the nature of research typically performed in an HCI context, and explore the processes and methodologies typical of interdisciplinary work in HCI. The course will be project-oriented, giving students practical experience with a small interdisciplinary research project related to the project theme for the year. Assigned readings will be posted on the course blackboard site. Method of evaluation: Grading will be based on class participation, a set of assignments, and the project.

Social Perspectives in HCI

Spring Mini: 6 units

One of a series of four, seminar style mini-courses, to expose our PhD students to the breadth of classic and cutting edge research in four distinct traditions in HCII--computer science, cognitive science, social science, and design. Although no project is required for this course, there will be significant reading and writing. The four courses are:

  • 05-772 Social Perspectives in HCI
  • 05-773 Computer Science Perspectives in HCI
  • 05-774 Cognitive Science Perspectives in HCI
  • 05-775 Design Perspectives in HCI

Computer Science Perspectives in HCI

Spring Mini: 6 units

One of a series of four, seminar style mini-courses, to expose researchers to the breadth of classic and cutting edge research in four distinct traditions in Human-Computer Interaction—computer science, cognitive science, social science, and design. Although no project is required for this course, there wil be significant reading and writing. The four courses are:

  • 05-772 Social Perspectives in HCI
  • 05-773 Computer Science Perspectives in HCI
  • 05-774 Cognitive Science Perspectives in HCI
  • 05-775 Design Perspectives in HCI.

We will explore the innovations and challenges that have been tackled by the pioneers of our field over the past 60 years. The intersection of humans and computation has reflected dramatic changes in technology over time, from the vision of Vannevar Bush to the ability to predict human interruptibility with sensors.

The material in this class would be of value to anyone interested in classic and cutting edge work representing the history and future of computational innovation in the service of humans.

Each week, we will discuss one or two important areas. In the class itself, there will be reviews of readings, discussions and exercises in proposing new topics. You'll read six to eight articles to prepare for the class session. Papers will be selected either because they frame a sub area, are the first best paper in the area, represent different approaches to the a subarea and so on. While we cannot possibly cover every important paper that has been published in the last four decades, we will try to focus on pioneering work, and we will try to cover enough areas to give a sense of the breadth of HCI.

Designing Online Communities

Intermittent: 12 units

Home Overview Online groups and communities are increasingly important in the ways we work, play, learn, conduct commerce, organize politically, and receive social support. To be successful online communities must overcome challenges common to off-line groups: e.g., recruiting and socializing new members, developing members’ commitment, eliciting contributions, regulating behavior and coordinating work. Online communities are socio-technical systems. As such, their success depends on social engineering – how the technology and rules that constrain participants’ behavior match “human nature,” i.e., the principles that describe the way people normally behave. This research-oriented seminar is intended to help students analyze communities, to understand what makes them succeed or fail, with an eye toward designing and improving them. For computer scientists and designers the course will introduce relevant theory and empirical research on small groups and organizations, which should underlie design decision. For behavioral and social science students, it will introduce online communities as platforms to test and extend theory in groups and organizations. The course will cover such types of communities as open-source software development projects, Wikipedia, health support groups, and massively multi-player games. It will deal with such conceptual issues as the basis of commitment to groups, free riding and other motivational problems, communication, coordination, control and recruitment, socialization and retention. Students will read recent research papers focusing on online communities and relevant empirical studies and theory describing behavior in groups and organizations more generally. Students will plan and execute a relevant research project, either individually or in small groups.

Cognitive Modeling for HCI

Intermittent: 9 units


Cross listed as
85-370 / 85-770
Fall: 9 units
intro or cognitive psychology useful, not required

Perception, broadly defined, is the construction of a representation of the external world, for purposes of thinking about it and acting in it. Although we often think of perception as the processing of inputs to the sense organs, the world conveyed by the senses is ambiguous, and cognitive and sensory systems interact to interpret it. In this course, we will examine the sensory-level mechanisms involved in perception by various sensory modalities, including vision, audition, and touch. We will learn how sensory coding interacts with top-down processing based on context and prior knowledge and how perception changes with learning and development. The goals include not only imparting basic knowledge about perception, but fostering an appreciation for the beauty of perceptual systems and providing some new insights into everyday experiences.

Computers in Organizations

Intermittent: 9 units

Computers have been used in organizations since World War II. Their use has both intensified and changed in character in recent decades. For a typical firm, fully fifty percent of its capital investment goes into computers and telecommunications equipment. While early computers were primarily used for mathematical functions and accounting, they are now used for a much wider array of functions, including process control, development of new products, various forms of organizational communication and electronic commerce. This course examines the introduction, diffusion, and use of computers and telecommunications in organizations from a social perspective. Information technology is assessed in terms of its interaction with human behavior, organizational characteristics and organizational procedures. Both historical and contemporary examples will be used. By the end of the course, students should have a better understanding of the range of uses to which information technologies are put in organizations, the controversies surrounding their use, and the complexities involved in predicting their effects. The course is appropriate for three types of students: 1)those who expect to work in fields in which they create or manage computing systems; b) those with a research interest in organizational processes; and c) those who want to be able to participate knowledgeably in current debates on computing and information systems. Undergrads with permission of instructor only

Applied Research Methods

Intermittent: 9 units

This course is for graduate students who will carry out research in domains such as social effects of the Internet, evaluation of interactive robots and agents, and the use of sensors for predicting user behavior in information systems. The course will be run as a lab and seminar involving hands-on practice of skills such as experimentation, web survey design, ethnographic observation, and content analysis. Students will complete a research project in the course. (Formerly 05-899A)

HCI Methods

Fall: 12 units

Applied Research Methods — Qualitative

First Mini: 6 units

This mini (6-week) course is for Ph.D. students who are conducting empirical qualitative research. The course is especially but not exclusively designed for those interested in any aspect of technology in groups and organizations (social aspects, design, impact, etc.). The mini will be taught as a workshop with discussion and hands-on exercises and homework each week. Topics in the course will include: interviewing and field observation (including online), ethnographic research and analysis (with emphasis on grounded theory), interview and observational coding using software, descriptive statistics often used in conjunction with qualitative analysis or mixed methods (correlation, Chi Square, Kappa), and writing qualitative papers. In the past, student projects included such topics as how people use social media, responses to interactive robots and agents, collaboration in teams, and use of sensors to understand or change health practices. Students will write a research proposal or a short paper. The intent of the course is not to compete with students’ regular research; often, topics are chosen in conjunction with students’ advisors.

This course does not teach HCI professional methods such as contextual inquiry and design that are covered in Introduction to HCI Methods and in various design courses. This course also does not cover advanced statistical and computational analyses such as text mining. The statistics introduced will help students learn appropriate descriptive numerical data used in qualitative research, show how to organize and prepare data for simple statistical analysis, show how to apply the methods using the JMP graphical statistical package, and instruct on how to describe categorical data in qualitative papers.

Applied Research Methods — Quantitative

Second Mini, 6 units

This mini (6-week) course is for Ph.D. students who are conducting empirical quantitative research. The course is especially but not exclusively designed for those interested in any aspect of technology (social aspects, design, impact, evaluation, etc). The mini will be taught as a workshop with discussion and hands-on exercises and homework each week. Topics in the course will include: experimental design, questionnaires and surveys, social network analysis, inferential statistics often used in conjunction with quantitative analysis or mixed methods (ANOVA, regression, factor analysis) using JMP, and writing quantitative papers. In the past, student projects have included studies of online communities, lab studies of attention and distraction, and studies using archival data from organizations. Students will write a research proposal or a short paper. The intent of the course is not to compete with students’ regular research; often, topics are chosen in conjunction with students’ advisors.

This course does not teach HCI professional methods such as contextual inquiry and design that are covered in Introduction to HCI Methods and in various design courses. This course also does not cover advanced statistical and computational analyses such as text mining. The statistics introduced will help students learn how to explore quantitative data, how to organize and prepare data for statistical analysis and modeling, how to apply the methods using the JMP graphical statistical package, and instruct on how to describe statistical tests and use graphs.

E-Learning Design Principles

Fall: 12 units

This course is about e-learning design principles, the evidence and theory behind them, and how to apply these principles to develop effective educational technologies. It is organized around the book "e-Learning and the Science of Instruction: Proven Guidelines for Consumers and Designers of Multimedia Learning" by Clark & Mayer with further readings drawn from cognitive science, educational psychology, and human-computer interaction. You will learn design principles 1) for combining words, audio, and graphics in multimedia instruction, 2) for combining examples, explanations, practice and feedback in online support for learning by doing, and 3) for balancing learner versus system control and supporting student metacognition. You will read about the experiments that support these design principles, see examples of how to design such experiments, and practice applying the principles in educational technology development.

To enroll you must either be in the Masters of Educational Technology and Applied Learning Science (METALS) or get the permission of the instruction.

Advanced Topics UI Software

Spring 2013: 12 units

This course will cover the research and implementation of user interface software. The students will get a comprehensive understanding of all the approaches that have been investigated by researchers and commercial systems for user interface software. This will be of value to people planning to be user interface researchers or implementers, or people interested in learning how to provide user interface frameworks for others. After a quick overview of tools to help with the design of user interfaces, we will concentrate on how to implement the chosen design. Particular emphasis will be placed on user interface software tools, such as frameworks, SDKs, toolkits, windowing systems, interface builders, prototypers, and advanced user interface development environments. In particular, the course will cover toolkits for building phone/tablet/ubiquitous/novel user interfaces, Internet UI frameworks, Service-Oriented Architecture (SOA) and other component frameworks, APIs for UI development such as Xcode for Apple products, Micrsosoft’s Windows SDKs, Swing and Android toolkits for Java, interactive tools such as Visual Basic .Net and Adobe Flash, 2-D and 3-D graphics models for UIs, and various research systems like Amulet, subArctic, Context Toolkit, ConstraintJS, and Papier Mache. Lectures will discuss the fundamental principles behind all of these systems, while showing the historical progression of the ideas from research prototypes to commercial systems. Other topics will include designing an API so it is usable by the target programmers, and how to evaluate user interface tools and frameworks. Today's research topics and open issues in user interface software will be emphasized throughout. See also the list of topics.

This is primarily a MS and PhD level course but advanced undergrads may be admitted with permission of the instructor. Prerequisites are 15-212 or equivalent and considerable programming experience. Experience with object-oriented programming and/or software engineering is desirable. Prior experience with user interface design is not required. Homeworks will involve extensive programming, probably in Java. By the end of the course, you will have built your own modern UI framework for building applications on desktops, smartphones, tablets, embedded devices (e.g., for Arduino) and/or the web, which you might find useful for future projects.

Applied Gadgets, Sensors and Activity Recognition in HCI

Intermittent: 12 units

This course will cover new techniques and technologies for creating high quality user interfaces. It will consider current work in this area, emphasizing readings from the research literature as well as practical projects involving the implementation of new concepts in user interface software or other technology. Typical topics to be covered might include: advanced interaction techniques, ubiquitous computing, tangible interfaces, mobile and wearable computing, web-based interaction, information visualization, virtual and augmented reality, new input devices, audio, speech, and other new interaction modalities. Specific topics for each year will be chosen from the current research literature.

Speech Recognition and Understanding

Intermittent: 12 units
Sound mathematical background, knowledge of basic statistics, good computing skills. No prior experience with speech recognition is necessary. Permission From Instructor (Undergraduates).

The technology to allow humans to communicate with machines by speech and the technology to enable machines to understand when humans communicate with each other is rapidly maturing. This course provides an introduction to the theoretical background as well as the experimental practice that has made the field what it is today. We will cover theoretical foundations, essential algorithms, major approaches, experimental strategies and current state-of-the-art systems and will introduce the participants to ongoing work in representation, algorithms and interface design. The course will be completed by a brief overview of multilingual speech recognition dealing with various languages. This course is primarily for graduate students in LTI, CS, Robotics, ECE, HCI, Psychology, or Computational Linguistics. Others by prior permission of instructor. No prior experience with speech recognition is necessary. The course is suitable for graduate students with some background in computer science and electrical engineering, as well as for advanced undergraduates. The course involves written and programming assignments. Some reading of papers may also be required.

The Information Pipeline: Collecting and Computing with Data for Interactive Systems

Spring: 12 units

This course covers techniques and technologies for creating data driven interfaces. You will learn about the entire data pipeline from sensing to cleaning data to different forms of analysis and computation.

Tentative Syllabus

This syllabus is tentative but gives a flavor for what we hope to cover in the course.


  • identifying the questions you want to answer
  • identifying the data required to answer the question
  • transforming data to answers

Collecting data [1–2 lectures]

  • Sources to collect from: click; sensors; mobile phones; etc
  • Existing data sets
  • Extracting (image analysis, prose analysis, video, etc)
  • APIs for the social web & OAUTH
  • Data — kind of question — sample answer (visualizations )

Data formats [1 lecture]

  • common data formats: XML, json, csv, …
  • differences between tree (xml, json) and flat (csv) formats
  • structured and unstructured data (e.g. prose)
  • data relationships across files
  • Data — kind of question — sample answer (visualizations)

Parsing data [1 lecture]

  • stream parsing e.g. SAX
  • per element parsing e.g. DOM

Combining disparate data & Dealing with heterogeneous data [1 lecture]

Quantifying data quality [1 lecture ]

  • What is your confidence in the data
  • does it let you answer the questions you want to answer
  • is it robust

Common problems with data [1 lecture]

  • undocumented/poorly documented structure
  • multiple line formats in the same file
  • normalized vs un-normalized data
  • outlier analysis
  • incomplete or dirty data

Data transformation & feature generation [1 lecture]

  • regexes
  • tagging & categorization
  • interpretation
  • aggregation

Tools for analyzing data for non programmers [1 lecture]

  • Excel
  • Weka
  • Nasa Viewpoints(?) — multivariate data analysis
  • Lightside

Statistical analysis of data [2 lectures]

  • Introduction to statistics
  • comparing two things for difference
  • factor analysis
  • regression

Machine learning [2 lectures]

  • In general
  • Weka
  • assignment & details

Visualisation [2 lectures]

  • what, why and how not to visualize
  • “excel” visualizations
  • exotic visualisations
  • what makes a good visualization
  • how to turn a good viz into a great viz

Introduction to Product Design

Intermittent: 12 units

Introduction to Human-Computer Interaction for Technology Executives

Cross listed as
08-763 / 45-888
Fall Mini: 6 units

Human computer interaction (HCI) is an interdisciplinary field in which computer scientists, engineers, psychologists, social scientists, and design professionals play important roles. The goal of HCI is to solve real problems in the design and use of technology, making computer-based systems easier to use and more effective for people and organizations. Ease of use and effectiveness are critical to the success of any systems that interact with people, including software systems, home, office and factory appliances, and web and phone applications.

This course provides an overview and introduction to the field of human-computer interaction, with a focus on how it applies to managers, technology executives, and others who will work with HCI professionals. Particular emphasis will be placed on what HCI methods and HCI-trained specialists can bring to design and development teams. The course will introduce students to proven tools and techniques for creating and improving user interfaces, such as Contextual Inquiry, Rapid Prototyping, Heuristic Analysis, and Think-Aloud User Testing. Students at the end of the course will have learned some useful techniques and an understanding of systematic procedures for creating usable and useful designs and systems.

Some anonymous evaluation comments from last year:

“Great course and relevant for a wide variety of people.” “This course has what it states - A proper introduction to HCI.” “This is a great course. Professor Myers was extremely helpful and provided the necessary feedback and support to make this course both informative and enjoyable.” “Homeworks were so helpful and interesting.” “I really enjoyed the course and thought it had more current real world pertinence than other classes I’ve taken in my program.” “It covers very important material that many Tepper students should know cold.” “A fantastic experience. I would recommend this course highly to students from MISM who are interested in product development and management.” “I am from ECE & whatever I expected from the course you have helped me achieve that. Now I know what goes into user interface design. After doing the assignments I have become a better designer as well as a better user of things & interfaces as well. Now whenever I look at any website or interface I intuitively start judging it and understand how much effort would have been made or not made for making that interface. Thanks for giving me the new perspective of looking at things.”

*Note: This is a required course in the Tepper School of Business, MBA Track on Technology Leadership, which is why the “for Technology Executives” is in the title, but this course is appropriate for anyone who wants a quick introduction to HCI. We want a mix of TSB, INI, MSE, HNZ, IS, MSIT, and other Masters students. Tepper students should register for course number 46-863; all others should register for either ISR course number 08-763 or HCII course number 05-863. This course is not appropriate for HCII degree students.

Dramatic Structure of Interactive Games

Intermittent: 9 units

HCI Project Workshop

Intermittent: 12 units

Advanced Lab in Speech Recognition

Intermittent: 6 units

Rapid Prototyping Summer Project

Intermittent: 9–24 units

Interactive Media and Role of Sound

Intermittent Mini: 6 units

Sound is a critical component toward the success of interactive media, yet it is quite often an underutilized element in the development of the end-user's experience. New audio technologies, interfaces and controllers are developing at an unprecedented rate and increase the designer's options for leveraging novel methods of interaction in the virtual and physical world. This course will investigate protocols for integrating audio into a variety of interactive experiences with a series of sonic project assignments.

Practicum in HCI

All Semesters: 3–48 units

Restricted to HCII graduate students on internship.

Directed Research

All Semesters: 0–36 units

Reading and Research in HCI

All Semesters: 24–48 units