HCII Calendar

  • Thesis Defense: Anuj Kumar
    GHC 4405
    July 25, 2014 at 2:00pm
  • Thesis Proposal: Kevin Huang
    NSH 1507
    August 5, 2014 at 10:00am
  • Thesis Defense: Stacey Kuzentsov
    GHC 4405
    August 26, 2014 at 10:00am

Undergraduate Program Overview

Overview | Major | Minor | Accelerated Masters | Electives | Independent Study | Advisory Committee | Contact

These pages explain the curriculum for the HCI major, minor, the accelerated masters program, how to apply to each and other features of the HCI undergraduate programs. The HCII offers both an HCI major and minor. The undergraduate major in HCI is available only as a second major. If you have questions after reading through through descriptions of these programs, please contact the Academic Program Coordinator at hciibachelors [at] cs [dot] cmu [dot] edu.

Human-Computer Interaction (HCI) is devoted to the design, implementation, and evaluation of interactive computer-based technology. Examples of HCI products include intelligent computer tutors, wearable computers, and highly interactive web sites. Constructing an HCI product is a cyclic, iterative process that involves at least three stages.

The Design stage involves principles of design and human behavior, the Implementation stage principles of computer science, and the Evaluation stage empirical research methods common to several disciplines. There are thus four topical areas to cover in this major: Human Behavior, Design, Implementation, and Evaluation. In slightly more detail, each of the stages in the picture above involves the following sorts of knowledge and skill:


  • Eliciting from the client, formulating, and articulating functional specifications
  • Knowing how human factors and cognitive models should inform design
  • Knowing the principles of, and having experience with, communication design
  • Understanding how implementation constraints should inform design
  • Incorporating evaluation results into iterated designs


  • Programming skills
  • Familiarity with standard languages - e.g., C++, Java, HTML
  • Rapid prototyping skill (e.g., Flash)
  • Computational literacy, i.e., knowledge sufficient for effective communication and decision making about interface construction tools and languages - e.g., Ruby on Rails, Swing, Java
  • Multimedia authoring tools - e.g., Director, Premiere
  • Data structures and algorithms operating systems, platforms, etc.


  • Experimental design
  • Survey methods
  • Usability testing (Cognitive Walkthroughs, Heuristic Evaluation, GOMS)
  • Statistical Analysis

There are over 100 possible elective courses relevant to these areas that are offered by eight different departments in four different colleges at CMU (the College of Humanities and Social Sciences, the School of Computer Science, the College of Fine Arts, and the School of Industrial Administration). For a list of these courses, refer to the elective course list.