banner image

How will the future of human-computer interaction (HCI) evolve? Futuristic visions of HCI as conceptualized in popular media often depict a world filled holographic displays, voice- or gesture-based interactions and AI collaborators. Whether these visions are filled with techno-optimism or dystopic-pessimism, they have beten around for over 50 years? Is this where HCI is headed?

This course equips students with the major animating theories of human-computer interaction, and connects those theories to modern innovations in research. We will examine foundational work in design theory, cognitive theory, ubiquitous computing, and human-centered AI. And we will consider how these foundations have in turn led to reseach advances in virtual/augmented reality, automated design tools, accessibility and collaborative support. Unlike other courses in HCI this will primarily be focused on conceptual understanding rather than implementation and design practice.

Learning Goals: The goals of this course are to provide students with the foundations necessary for understanding and extending the current state of the art in human computer interaction. By the end of the course, students will have:

  • An understanding of key HCI techniques and theory, including ubicomp, tangible computing, human cognition, design theory, virtual reality, and human-ceneted AI.
  • Experience critically discussing the core interaction design hypotheses described in HCI research papers and textsbooks.

Topics include ubiquitous computing, social computing, design tools+methods, AI+HCI, augmented and virtual reality, collaboration, accessibility…


We read about two papers per class. You will submit paper commentaries by 5:00 PM the evening before each class, to prepare for our discussion.


Once during the quarter, you will help us lead your section’s discussion on that lecture’s readings. Read all student commentaries before class, create a summary, and prepare a meta-commentary on main themes. Peer assess all student commentaries.


For undergraduates or masters students in CS or SymSys, having taken CS147 or CS247 is a prerequisite. All graduate and PhD students from other departments are welcome. We expect attendance and active participation during lecture and discussion.

Teaching Staff


Instructor: Maneesh Agrawala
    Office Hours: Fridays 9:30-10:30am, Gates 364.
Course Assistant Nava Haghighi
    Office Hours: Mondays after class-1pm, outside 200-002.
Course Assistant Yubin Jee
    Office Hours: Wednesdays 1-2pm, Tressider.
Course Assistant Joon Sung Park
    Office Hours: Fridays 1:15-2:15pm, Gates 3B common area.
Course Assistant Daniel Wan Rosli
    Office Hours: Wednesdays 12:30-1:30pm, 2nd floor Old Union.

Questions?
Email us: cs347@cs.stanford.edu