Human-Computer Interaction

Haiyi Zhu, Director of the Undergraduate Programs and Professor, Human-Computer Interaction Institute
Amelia Baisley, Academic Program Coordinator, Human-Computer Interaction Institute
Location: Newell Simon Hall 3521

Undergraduate Major in HCI

In 2020, Carnegie Mellon University became one of the first universities worldwide to offer a primary major in Human-Computer Interaction (HCI). Students within the School of Computer Science (SCS) can now declare HCI as their primary major.

About the B.S. in HCI

Our new Bachelor of Science in Human-Computer Interaction will produce HCI specialists who are technically skilled and adept at designing and prototyping interactive solutions with the latest digital technologies. Students graduating from the HCI primary will have a unique perspective on how digital products and services impact humans, and also how they can be designed to have a positive impact.

Students in this major will have a strong Computer Science core of programming, algorithms, systems and mathematical foundations, just like the other undergraduate majors in SCS. They will specialize by making core elements of human-computer interaction the primary focus of their upper-level classes, and can explore a large range of HCI topics in greater depth through their choices in electives. In the final capstone project course, they will work as part of an interdisciplinary student team to produce innovative digital solutions for a problem presented by a client.

Responding to the Demand for HCI in Tech

Our corporate partners spoke of the need for competitive entry-level professionals who can enter the workforce with a solid understanding of HCI. This technical program will prepare graduates to understand and create innovative services, systems and applications that serve all people. Students will have the opportunity to design for a range of digital technologies, including web, mobile, IoT, VR, AR, sensors, fabrication, gadgets and more.

There is also a need for HCI practitioners with a "T-shaped person" knowledgebase. That is, professionals who exhibit broad knowledge and diverse technical skills, as well as a valuable focus in a specialization area. HCI majors will build a broad foundational knowledge in computing, mathematics and statistics; development skills for digital and interactive technologies; and experience with methods of rapid prototyping, all of which will help them to collaborate with their peers in related fields.

Opportunities for B.S. in HCI Grads

Graduates with this rigorous background as an undergraduate will serve a key role in the tech industry. B.S. in HCI graduates will be poised to take on strategic roles at early stages of their careers, including Front End Engineer, Interaction Designer, Technical Product Manager and UX Engineer positions. For HCI students aiming for research careers or graduate school, they can select a senior thesis option and conduct independent research work under the mentorship of HCI faculty.

Bachelor of Science in HCI Degree Requirements

The primary major in HCI supports students by preparing them with very strong technical knowledge, skills, and understanding. HCI majors must take a minimum of 360 units (35 courses) distributed as follows:

  • CS Core:  5 courses + freshman immigration course
  • Computing @ Carnegie Mellon: 3 units
  • Mathematics and Statistics:  4 courses
  • HCI Core: 6 courses
  • HCI Electives: 4 courses
  • HCI Capstone Project: 1 course
  • Free Electives: 4  courses
  • Science and Engineering: 4 courses
  • Humanities and Arts (Gen Ed):  7 courses

Total: 35 courses

Computer Science Core  (5 courses + immigration course)

Prerequisite Courses Units
15-112Fundamentals of Programming and Computer Science12
07-131Great Practical Ideas for Computer Scientists2
Required Courses Units
07-128First Year Immigration Course1
15-122Principles of Imperative Computation10
15-150Principles of Functional Programming10
15-151Mathematical Foundations for Computer Science12
15-210Parallel and Sequential Data Structures and Algorithms12
15-213Introduction to Computer Systems12

Mathematics and Statistics Core  (4 courses )

Prerequisite Course Units
21-120Differential and Integral Calculus10
Required Courses
21-122Integration and Approximation10
21-259Calculus in Three Dimensions9
Select one of the following courses
15-259Probability and Computing12
36-218Probability Theory for Computer Scientists9
36-225Introduction to Probability Theory9
Select one of the following courses
15-251Great Ideas in Theoretical Computer Science12
21-241Matrices and Linear Transformations10
21-242Matrix Theory10
36-226Introduction to Statistical Inference9
36-326Mathematical Statistics (Honors)9
36-401Modern Regression9

HCI Core  (6 courses) 

Research & Evaluation Courses (2) Units
05-410User-Centered Research and Evaluation12
Select one
36-202Methods for Statistics & Data Science9
36-208Regression Analysis9
36-315Statistical Graphics and Visualization9
Ideation & Design Courses (3)
05-651Interaction Design Studio 112
05-650Interaction Design Studio II12
Select one
05-452Service Design12
05-470Digital Service Innovation12
05-317Design of Artificial Intelligence Products12
Prototyping Course (1)
05-380Prototyping Algorithmic Experiences15

Psychology (1 course) 

Select one Units
85-211Cognitive Psychology9
85-213Human Information Processing and Artificial Intelligence9
85-241Social Psychology9
85-408Visual Cognition9
85-421Language and Thought9
88-120Reason, Passion and Cognition9

HCI Electives (4 courses)

Design Elective (1) Units
05-317Design of Artificial Intelligence Products12
05-418Design Educational Games12
05-470Digital Service Innovation12
15-465Animation Art and Technology12
Technical Elective (1)
05-434Machine Learning in Practice12
05-333Gadgets, Sensors and Activity Recognition in HCI12
05-839Interactive Data Science12
10-315Introduction to Machine Learning (SCS Majors)12
11-411Natural Language Processing12
15-281Artificial Intelligence: Representation and Problem Solving12
15-365Experimental Animation12
15-388Practical Data Science9
15-462Computer Graphics12
15-464Technical Animation12
15-466Computer Game Programming12
15-494Cognitive Robotics: The Future of Robot Toys12
16-467Human Robot Interaction12
17-428Machine Learning and Sensing12
17-437Web Application Development12
17-537Artificial Intelligence Methods for Social Good9
The remaining 2 electives can be chosen from the above lists or from the pre-approved list of HCI electives. Other options will require approval from the program director.
05-499 (Game Design Studio) can count as a design elective. 05-499 (Human-AI Interaction) can count as a technical elective.  

HCI Capstone Project  (1 course) 

05-571Undergraduate Project in HCI12

Science & Engineering (4 courses)

Four courses in the domain of science and engineering are required, of which at least one must have a laboratory component and at least two must be from the same department. These courses typically come from the Mellon College of Science and the College of Engineering (CIT). Courses with a primary focus on programming, computation or mathematics are not acceptable for science or engineering courses.

Humanities & Arts (7 courses)

These requirements follow the SCS General Education requirements for Humanities & Arts. See the separate section in this catalog for requirements. NOTE: The Psychology requirement of the HCI core will satisfy the General Education requirement for Category 1: Cognition, Choice & Behavior.

Free Electives (4 courses)

A free elective is any Carnegie Mellon course. However, a maximum of 9 units of Physical Education and/or Military Science (ROTC) and/or Student-Led (StuCo) courses may be used toward fulfilling graduation requirements. These could be used for optional Research Track or an optional minor or concentration.

Additional Major in Interdisciplinary HCI

Haiyi Zhu, Undergraduate Director


Human-Computer Interaction (HCI) is a fast growing field devoted to the design, implementation, and evaluation of interactive computer-based technology. Examples of HCI products include intelligent computer tutors, wearable computers, social networking sites, and internet-connected personal digital assistants (PDAs). Constructing an HCI product is a cyclic, iterative process that has at least three stages: Design, Implementation, and Evaluation.

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, the major 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
Implementation Programming Skills
  • Standard programming languages - e.g., C++, Java
  • Rapid prototyping skill (e.g., Visual Basic, Flash)
  • Computational literacy, i.e., knowledge sufficient for effective communication and decision making about:
  • interface construction tools and languages
  • multimedia authoring tools
  • data structures and algorithms
  • Operating systems, platforms, etc.
  • Experimental design
  • Focus Groups
  • Surveys
  • Usability Testing (Cognitive walkthroughs, user models, heuristic evaluation, GOMS)
  • Statistical Analysis

There are over 45 courses relevant to these areas that are now offered by eight different departments in four different colleges at Carnegie Mellon (School of Computer Science, Dietrich College of Humanities and Social Sciences, College of Fine Arts, and Tepper School of Business).


The Additional Major in Interdisciplinary Human-Computer Interaction (HCI) is available to current undergraduate students from any CMU college. Students maintain their primary major, and by adding an additional major in HCI, students can explore multiple areas of study during their time at CMU. Applications to the additional major are processed once a year, in the spring (see below).


The Additional Major in Interdisciplinary Human-Computer Interaction (HCI) consists of 12 prerequisite and required courses.

Prerequisite Courses (4)

These courses do not need to be taken before applying to the additional major program. However, please note the required order sequence for two courses, listed below.

  • Introductory statistics course, details below
  • Psychology, details below
  • A freshman-level programming course (details below) must be completed before enrolling in the HCI core course 05-430 or 05-380
  • 05-651: Interaction Design Studio 1 must be completed before enrolling in the HCI core course 05-650
Prerequisites Units
Psychology (Choose one)
85-211Cognitive Psychology9
85-241Social Psychology9
85-213Human Information Processing and Artificial Intelligence9
05-651Interaction Design Studio 1 Design majors do not need to take 05-651 Interaction Design Studio 1 as a prerequisite, since they learn similar material in other courses for their major.12
Statistics (Choose one)
36-200Reasoning with Data9
36-207Probability and Statistics for Business Applications9
36-220Engineering Statistics and Quality Control9
36-225-36-226Introduction to Probability Theory - Introduction to Statistical Inference18
36-226Introduction to Statistical Inference9
36-247Statistics for Lab Sciences9
70-207Probability and Statistics for Business Applications9
Introduction to Programming (Choose one)
15-104Introduction to Computing for Creative Practice10
15-110Principles of Computing10
15-112Fundamentals of Programming and Computer Science12
15-121Introduction to Data Structures10
HCI Core Courses (4)

To graduate with the HCI additional major, students must:

  • maintain a 3.0 average across the HCI core courses and HCI electives and
  • pass each of the HCI core courses with at least a B grade.

The HCI core courses include the following required courses: (Prerequisite courses and the electives are not core courses.)

  • 05-650: Interaction Design Studio II (IxDS2)
  • 05-410: User-Centered Research & Evaluation (UCRE)
  • 05-430: Programming Usable Interfaces (PUI) or 05-380: Prototyping Algorithmic Experiences (PAX)
  • 05-571: Undergraduate Project in HCI (Capstone) The Capstone course should be taken during the student’s final spring semester.
Core Courses Units
05-650Interaction Design Studio II12
05-410User-Centered Research and Evaluation12
05-430Programming Usable Interfaces The required HCI programming course 05-430 Programming Usable Interfaces is offered in the Fall and Spring semesters. Spring offerings are only when instructor resources are available. When you register for this course, you must also sign up for a recitation time, which is equivalent to the User Interface Lab. The labs differ on their computer science prerequisites. Section E should be taken by students majoring in computer science or with advanced technical skills. Section A through D require only an introductory course in computer science as a prerequisite, and can be taken either by computer science majors or non-computer science majors.15
or 05-380 Prototyping Algorithmic Experiences
05-571Undergraduate Project in HCI12
Special Notes for Design Majors
  • Design majors do not need to take 05-651 Interaction Design Studio 1 as a prerequisite, since they learn similar material in other courses for their major.
  • Design majors also do not need to take 05-650 Interaction Design Studio 2, for the same reason. Instead, they would take an additional 05 elective with design content.

Electives (4 courses) 

HCI additional major students must take four HCI-related electives (9 units or more), and must maintain a 3.0 average in their HCI electives.  Electives are intended to provide additional major students with advanced concepts and skills relevant to HCI or breadth of experience not available from their primary major. Given these goals, most electives will be 300-level courses or higher. Courses at the 100-level and 200-level in one's primary major will not count as electives, although the same course taken by a non-major may count (approval is still required).

Students can take electives in the HCII or courses relevant to HCI from many other departments on campus. All external electives are approved on a case-by-case basis. 

These example courses have been approved as electives in the past:

05-291Learning Media Design12
05-320Social Web12
05-395Applications of Cognitive Science9
05-413Human Factors9
05-418Design Educational Games12
05-432Personalized Online Learning12
05-434Machine Learning in Practice12
05-452Service Design12
05-499Special Topics in HCI12
05-540Rapid Prototyping of Computer Systems12
05-589Independent Study in HCI-UGVar.
05-823E-Learning Design Principles and Methods12
10-601Introduction to Machine Learning (Master's)12
15-390Entrepreneurship for Computer Science9
15-421Information Security and Privacy12
15-437Web Application Development12
15-462Computer Graphics12
15-466Computer Game Programming12
36-309Experimental Design for Behavioral & Social Sciences9
48-339IDeATe: Making Things Interactive12
51-241How People Work9
51-324Basic 3D Prototyping4.5
51-327Design Center: Introduction to Web Design9
51-328Design Center: Design for Digital Systems9
51-385Design for Service9
51-424Web Portfolio4.5
51-359Tools for UX Design9
70-415Introduction to Entrepreneurship9
Double Counting

Students may double count up to two (2) of the required courses or electives with their primary major. 

Accelerated Master's Programs

The HCII currently offers a three semester (12-month), 15 course Masters in HCI. Undergraduates currently enrolled in the HCI major may apply for the Accelerated Masters program in the fall semester of their senior year. If admitted, student finish the masters degree the following Fall semester.

Admission to the Additional Major

Because space is limited in the major's required courses, enrollment in the HCI additional major is currently limited to about 50 students in each graduating class. The admissions period occurs in spring semesters. For more details, see the website at

Minor in Interdisciplinary HCI

The Minor in Interdisciplinary Human-Computer Interaction will give students core knowledge about techniques for building successful user interfaces, approaches for conceiving, refining, and evaluating interfaces that are useful and useable, and techniques for identifying opportunities for computational technology to improve the quality of people’s lives. The students will be able to effectively collaborate in the design, implementation, and evaluation of easy-to-use, desirable, and thoughtful interactive systems. They will be prepared to contribute to multidisciplinary teams that create new interactive products, services, environments, and systems.

The key concepts, skills and methods that students will learn in the HCI Minor include:

  • Fieldwork for understanding people’s needs and the influence of context
  • Generative approaches to imagining many possible solutions such as sketching and “bodystorming”
  • Iterative refinement of designs
  • Basic visual design including typography, grids, color, and the use of images
  • Implementation of interactive prototypes
  • Evaluation techniques including discount and empirical evaluation methods

The HCI minor is targeted at undergraduates who expect to get jobs where they design and/or implement information technology-based systems for end users, as well as students with an interest in learning more about the design of socio-technical systems. It is appropriate for students with majors in Computer Science and Information Systems, as well as students in less software-focused majors, including Design, Architecture, Art, Business Administration, Psychology, Statistics, Decision Science, Mechanical Engineering, Electrical Engineering, English and many others in the university.


Prerequisite (Choose one) Units
15-110Principles of Computing10
15-112Fundamentals of Programming and Computer Science12
15-121Introduction to Data Structures10
51-257Introduction to Computing for Creative Practices10
15-104Introduction to Computing for Creative Practice10
Core Courses Units
05-391Designing Human Centered Software Designing Human Centered Software (DHCS)1: This course provides an overview of the most important methods taught in the Additional Major in HCI, such as Contextual Inquiry, Prototyping and Iterative Design, Heuristic Evaluation, and Think Aloud User Studies. It covers in a more abbreviated form the content of 05-410 User-Centered Research and Evaluation, 05-430 Programming Usable Interfaces. Alternatively, a student can take both the BS/MHCI empirical methods course (05-410) and the BS/MHCI core-programming course (either 05-430 Programming Usable Interfaces . If students take this course sequence, they would get credit for fulfilling this requirement plus one elective.12
05-392Interaction Design Overview This is a design course that will combine material from 05-651 and 05-650 for students who do not have any previous experience with design, in a form that will fit appropriately in to a one-semester format. Alternatively, students can fulfill the design requirement by taking both 05-650 and 05-651. If students take this course sequence, they would get credit for fulfilling this requirement plus one elective.9
Special Notes for Design Majors: HCI Minors who have a primary major in Design may substitute taking 05-391 Designing Human-Centered Software with another HCI 05 elective course; similarly, HCI Minors who have a primary major in Design may substitute taking 05-392 Interaction Design Studio with another HCI design course.The alternative ways of fulfilling the requirements for the HCI minor are designed for students who are in the HCI 2nd major who want to “downgrade” to the minor. These students can use some the courses completed for the HCI 2nd major as a way of fulfilling the requirements for the minor. Students who are in the HCI minor right from the start are strongly encouraged to follow the regular requirements outlined above and are strongly discouraged from trying these alternative ways of fulfilling the requirements. It can be extremely difficult to get into any of the alternative courses. This is true especially for 05-650, but for other courses as well. The fact that a student in the minor has already taken 05-651 will not give priority for getting into 05-650.

Students will be required to get a grade of “C” or better in each course in order for it to count as part of the Minor. There is no final project or research required for the Minor.


The HCI minor requires four electives approved by the undergraduate director. 

Double Counting

Students may double count up to two (2) of the required courses or electives with their primary major.


  • HCI Additional Major: Application and admissions required, information on the HCII website.
  • HCI Minor: Admissions form available at the HCII website.
  • HCI Additional Major:
    • Freshman-level programming
    • Statistics 
    • Cognitive Psychology
    • Interaction Design Studios
  • HCI Minor:
    • Freshman-level programming
Core Courses
  • HCI Additional Major:
    • Interaction Design Studio I & II (IxDS)
    • User Centered Research & Evaluation (UCRE)
    • Interface Programming (PUI)
    • BHCI Project
  • BHCI Minor:
    • Interaction Design Overview (IxDO)
    • Designing Human-Centered Systems (DHCS)
  • HCI Additional Major: Four (4) electives 
  • HCI Minor: Four (4) electives 
Double Counting
  • HCI Additional Major: Two (2) core courses or electives with primary major.
  • HCI Minor: Two (2) core courses or electives with primary major.

Human-Computer Interaction Courses

Back to top