Course Descriptions

Human Computer Interaction InstituteCourse Descriptions

05-291 HCI For Non-Majors
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, Introduction to HCI Methods instead. The prerequisite for the course is 15-211.

05-331 Building Virtual Worlds
Fall: 12 units

This is a project course, where interdisciplinary teams build desktop and immersive (helmet-based) interactive virtual worlds. The course will cover world building, environmental design, non-linear storytelling, and related topics. Students will use 3D Studio Max (CAD modeler), paint tools, such as Adobe PhotoShop and DeepPaint, sound processing tools, and the Alice authoring system (www.alice.org/bvw.htm). Each year, we hold an exhibition in McConomy auditorium to show class projects to the Carnegie Mellon community. The goal of the course is to take students with varying talents, backgrounds, and perspectives and put them together to do what they couldn?t do alone. The course is targeted at undergraduates, but grad students may also enroll. To enroll, students must have ONE of the following skills: Modeling with 3D Studio Max Painting using shadow/shape/light in a realistic style Programming, as evidenced by using the Alice system (www.alice.org) Ability to compose and record original music Storyboarding Production tracking Other relevant skills The key thing is that there are no "idea people" in the course; everyone must share in the mechanical creation of the worlds. This is a hands-on course and it takes a lot of time, but most students find it very fulfilling and fun. Note that we don?t try to teach artists to program, or engineers to paint; we form teams where everyone does what they?re already skilled at to attack a joint project. We are scheduled for 2 weekly meetings, 2.5 hours each. These slots are roughly split between regular lectures, display/critique of group projects, and guest lectures.

05-410 Introduction to Human Computer Interaction Methods
Fall: 12 units

This course provides and overview and introduction to the field of human-computer interaction (HCI). It introduces students to tools, techniques,a nd 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.

05-413 Human Factors
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.

05-430 Programming Usable Interfaces
Spring: 12 units

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.

Prerequisites: 15100 or 15112 or 15127

05-431 Software Architecture for User Interfaces
12 units

05-432 Cognitive Modeling and Intelligent Tutoring Systems
Intermittent: 9 units

This course addresses the use of cognitive psychology and artificial intelligence 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. 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 should either have programming skills (LISP experience is desirable but not necessary) or experience in the cognitive psychology of human problem solving. Addtional pre-req preferred: 05-610 Into to HCI or a course in Artificial Intellience.

Prerequisites: 15211 or 85213 or 85411

05-499 Special Topics in HCII
Intermittent: 9-12 units

05-540 Rapid Prototyping of Computer Systems
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.

05-571 Undergraduate Project in HCI
Spring: 12 units

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.

Prerequisites: 05610 or 88368

05-589 Independent Study in HCI-UG
All Semesters: 3-24 units

05-600 HCI Pro Seminar
Fall: 6 units

Students will attend the HCII Seminar Series ot talks by leaders in the field of Human-Conmputer Interaction, then meet to discuss these topics.

05-601 HCI Seminar
Fall and Spring: 0 units

05-610 Introduction to Human-Computer Interaction Methods
Fall: 18 units

This course provides and overview and introduction to the field of human-computer interaction (HCI). It introduces students to tools, techniques,a nd 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).

05-611 Introduction to HCI Lab
Intermittent: 6 units

05-630 Programming Usable Interfaces
Spring: 12 units

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.

Prerequisites: 15100 or 15112 or 15127

05-631 Software Architecture for User Interfaces
Fall: 12 units

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 anaylsis 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;im\nput syntax formalisms and their transformation into programs; interactive geometry; architectures for advanced features such as cut/copy/past, macros, and groupware. Prerequisites: undergraduate degree in computer science or permission of the instructor. JAVA will be the programming platform used in this course.

Prerequisites: Corequisites: 15-211, 15-212

05-650 Interface and Interaction Design
Spring: 9 units

(formerly Visual Interface & Interaction Design) An interface is the link between a user and a product, which communicates how a product is to be used, and creates an experience for the people who will use it. Interaction design is the process of creating product interfaces and defining product behavior, encompassing both usability and aesthetic dimensions of the artifact. In this course, we will explore issues that pertain to the design of visual and multimodal interfaces. 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 Communication 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 Professor if you have questions regarding these pre-requisites.

Prerequisites: 51261 or 51761

05-671 HCI Project
Spring: 12 units

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. 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.

Prerequisites:

05-672 HCI PROJECT II
Summer: 48 units

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. 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. Pre-reqs: 05-571 or 05-671.

Prerequisites: 05571 or 05671

05-689 Independent Study in HCI - Grad
All Semesters: 0-48 units

05-750 Graduate Design Seminar
Intermittent: 12 units

05-771 HCI Process and Theory
Fall: 9 units

05-810 Computer Supported Cooperative Work
Intermittent: 12 units

CSCW will examine the analysis and design of online communities. The course will be co-taught by Paul Resnick, visiting from the University of Michigan's School of Information. Online communties are becoming an increasing part of how we work, play, learn, conduct commerce, organize politically, and receive social support. For the purpose of this course, a community is defined loosely as a group of people who sustain interaction over time. How do online communties differ from more conventional groups, voluntary associations, and communities? What distinguishes effective from ineffective ones? How should they be designed? Two main threads will weave through the course. One thread will be concerned with the practical issues of design and use of online tools to support communities and the social interaction in them. The second thread will focus on psychology and sociology theories that provide a frame to better understand communities in general. These theories provide a lens for better understanding the implications of choices made on the more practical level.The course is suitable for social science, computer science, and management graduate students, interested in either research or the design of systems. Students interested in design will come away with knowledge of the relevant social science literature that can be treated as a foundation for design and engineering. Students interested in research will identify important unanswered questions in CSCW and ways that the challenge of designing online communities can provide a source of ideas for research. All students will conduct a preliminary project of their own, either implementing a system, evaluating features of online communities, or developing relevant fundamental knowledge in the behavioral sciences. Projects in past courses have led to published papers.

05-811 Cognitive Model for HCI
Intermittent: 9 units

05-813 Human Factors
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 arrangemenhts 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.

05-814 Perception
Spring: 9 units

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.

Prerequisites: 85102 or 85211

05-815 Computers in Organizations
Fall: 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 orgainizations 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

05-816 Applied Research Methods
Fall: 9 units

APPLIED RESEARCH METHODS - 9 units - formerly 05-899 A. 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.

05-830 Adv. Topics UI Software
Intermittent: 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. After a quick overview of the design of user interfaces, students will concentrate on how to implement the chosen design. Particular emphasis will be placed on user interface software tools, such as windowing systems, toolkits, interface builders, prototypers, and advanced user interface development environments. In particular, the course will cover MS Windows, OLE, MFC, Macintosh Toolbox, MacApp, OpenDoc, X/11, Motif, Visual Basic, Director, HyperCard, Java Swing, Java Beans, and various research systems like Amulet, InterViews, and subArctic. 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. Today's research topics and open issues in user interface software will be emphasized throughout. Students will all use an interactive prototyping tool first, like HyperCard, Director, Visual Basic or Delphi. Then each student will implement the same interface in three other "high-level" tools, which will be chosen so that the full range of tools is covered by members of the class. Students will compare and evaluate the various tools for ease of learning and effectiveness.

05-831 Building Virtual Worlds
Fall: 12 units

This is a project course, where interdisciplinary teams build desktop and immersive (helmet-based) interactive virtual worlds. The course will cover world building, environmental design, non-linear storytelling, and related topics. Students will use 3D Studio Max (CAD modeler), paint tools, such as Adobe PhotoShop and DeepPaint, sound processing tools, and the Alice authoring system (www.alice.org/bvw.htm). Each year, we hold an exhibition in McConomy auditorium to show class projects to the Carnegie Mellon community. The goal of the course is to take students with varying talents, backgrounds, and perspectives and put them together to do what they couldn?t do alone. The course is targeted at undergraduates, but grad students may also enroll. To enroll, students must have ONE of the following skills: Modeling with 3D Studio Max Painting using shadow/shape/light in a realistic style Programming, as evidenced by using the Alice system (www.alice.org) Ability to compose and record original music Storyboarding Production tracking Other relevant skills The key thing is that there are no "idea people" in the course; everyone must share in the mechanical creation of the worlds. This is a hands-on course and it takes a lot of time, but most students find it very fulfilling and fun. Note that we don?t try to teach artists to program, or engineers to paint; we form teams where everyone does what they?re already skilled at to attack a joint project. We are scheduled for 2 weekly meetings, 2.5 hours each. These slots are roughly split between regular lectures, display/critique of group projects, and guest lectures.

05-832 Cognitive Modeling and Intelligent Tutoring Systems
Intermittent: 9 units

This course addresses the use of cognitive psychology and artificial intelligence 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. 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 should either have programming skills (LISP experience is desirable but not necessary) or experience in the cognitive psychology of human problem solving. Addtional pre-req preferred: 05-610 Into to HCI or a course in Artificial Intellience.

Prerequisites: 15211 or 85213 or 85411

05-833 Adv. Topics UI Technology
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.

05-835 Speech Recognition and Understanding
Intermittent: 12 units

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. Prerequisite: Sound mathematical background, knowledge of basic statistics, good computing skills. No prior experience with speech recognition is necessary. Permission From Instructor (Undergraduates).

05-851 Introduction to Product Design
Intermittent: 12 units

05-871 Dramatic Structure of Interactive Games
Intermittent: 9 units

05-872 Rapid Prototyping of Computer Systems
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.

05-873 HCI Project Workshop
Intermittent: 12 units

05-874 Advanced Lab in Speech Recognition
Intermittent: 6 units

05-875 Rapid Prototyping Summer Project
Intermittent: 9-24 units

05-876 Interactive Media and Role of Sound
Intermittent: Mini Session - 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.

05-888 Practicum in HCI
All Semesters: 3-48 units

05-889 Directed Research
All Semesters: 0-36 units

05-899 Special Topics in HCI
Fall and Spring: 9-12 units

05-997 Reading and Research in HCI
All Semesters: 24-48 units