KAIST Spring 2023  |  Juho Kim

CS374: Introduction to Human-Computer Interaction

Designing useful and usable user interfaces is much more than designing fancy and beautiful things. This course introduces fundamental principles, techniques, and methods for designing, prototyping, and evaluating user interfaces. Through this course, you’ll master the skills to design useful and usable interfaces that are carefully catered to users’ needs.

Changes from previous years: Starting in 2022, this course now has much less emphasis on web implementation and focuses more on the design process. Final projects will not be required a full web implementation and instead will be asked to submit a Figma prototype. A reduced course load is expected.

This is a highly interactive class: you’ll be expected to actively participate in activities, projects, assignments, design critiques, and discussions. There will be no lectures or exams. Major course activities include:

  • Design Project: Following a user-centered design process, you’ll build an interactive prototype through a semester-long team project.
  • Studios: Each week, you’ll share your team’s design progress in a studio session and exchange peer feedback.
  • In-class Activities: Each class will feature activities that will help you experience and practice the core concepts introduced in the course. You’ll also get a chance to design your own activity that best captures the topic of a class.
  • Programming Assignments: In a series of web programming assignments, you’ll learn to add interactivity to a web interface.


  • 6/1: DP6 is announced.
  • 5/19: DP5 is announced.
  • 5/14: HW3 is announced.
  • 5/12: DP4 is announced.
  • 5/2: HW2 is announced.
  • 4/25: DP3 is announced.
  • 4/7: DP2 is announced.
  • 3/30: DP1 is announced.
  • 3/23: DP0 is announced. Due: 11:59pm on 3/29 (Wed)
  • 3/13: Mini Project is announced.
  • 3/6: HW1 is announced. Due: 11:59pm on 3/15 (Wed)
  • 2/27: You have to fill out the signup form to be officially enrolled in the class. The form should be submitted by 11:59pm on 3/6 (Mon).
  • 2/27: We’ll use Campuswire for important announcements, discussions, and Q&A for this course. Joining Campuswire is mandatory. Please sign up for Campuswire with your KAIST email. Contact course staff if you don't have a KAIST email address. Go to the CS374 Campuswire page and use the code "7141" to join the course.
  • 2/27: This course will run as a live Zoom session so you need to be present in the Zoom at 2:30pm Mon/Wed. The link is announced in KLMS and through your email.
  • 1/2: Welcome to CS374! More course content will be posted on this website soon.

Course Staff

Instructor: Prof. Juho Kim
Office Hours: by appointment

Yoonseo Choi
Jeongeon Park
DaEun Choi
Office Hours: 8pm Mondays

Staff Mailing List: cs374@kixlab.org

Time & Location

Classes & Studios: 2:30-3:45pm Mon/Wed @ Zoom


Course Website: https://hci.kixlab.org
Submission & Grading: KLMS
Discussion and Q&A: Campuswire
Previous Years: 2021 | 2020 | 2019 | 2018 | 2017


Major topics include:
  • Usability: Learnability, Efficiency, Safety
  • User-Centered Design Process
  • Rapid Prototyping, Iterative Design
  • Needfinding, Contextual Inquiry, Storyboards
  • Affordance, Metaphors, Conceptual Models
  • User Interface Software Architecture
  • Input and Output
  • Visual Information Design
  • Layout, Color, Typography
  • Usability Testing & Heuristic Evaluation
  • Experimental Design & Analysis


  • Design Project: 50%
  • Mini Project: 10%
  • Assignments: 20%
  • Nanoquizzes: 10%
  • Class & Studio participation: 10%


There are no official course prerequisites. But the assignments and the final project will require building web-based user interfaces, so some fluency in programming is needed. Web programming skills are a plus, but not required. The first 2-3 weeks of the course will include tutorials on HTML, CSS, and JavaScript.
Non-CS majors are also welcome.