KAIST Spring 2017  |  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.

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/22: Project Gallery is live.
  • 6/4: DP8 is posted.
  • 5/24: DP7 is posted.
  • 5/21: DP6 is posted.
  • 5/10: DP5 is posted.
  • 4/29: PR3 is posted.
  • 4/18: DP4 is posted.
  • 4/7: DP3 is posted.
  • 3/27: DP2 is posted.
  • 3/22: Programming Assignment 2 is posted.
  • 3/13: DP1 is posted.
  • 3/9: Submit the team signup form by 3/13 (Mon). Read the DP0 instruction carefully.
  • 3/8: Programming Assignment 1 is posted.
  • 3/5: Homework 1 and first reading material are posted.
  • 2/28: You have to fill out the sign-up form to be officially enrolled in the class. The form should be submitted by 11:59pm on 3/2 (Thu).
  • 2/26: The first class will be on 2/28 (Tue) @ E11-301 (창의학습관, Creative Learning B/D). Please note the change in the classroom location. There will be no studio on 2/27 (Mon).
  • 2/26: We'll use Piazza for class announcements and discussions. Please sign up, using your KAIST email address.
  • 1/5: Welcome to CS374! More course content will be posted on the website soon.

Course Staff

Instructor: Prof. Juho Kim
    Office Hours: 4-5pm Tue/Thu @ N1-605

TAs: Jaeyeon Lee, Mincheol Kang, Hyeungshik Jung, Hyungyu Shin

Staff Mailing List: cs374@kixlab.org

Time & Location

Class: 1:00-2:15pm Tue/Thu @ E11-301
(창의학습관, Creative Learning B/D)
Studio & Tutorial: 7:00-8:00pm Mon
    Tutorial: N1-111
    Studio (Jaeyeon's section): N1-111
    Studio (Mincheol's section): N1-110
    Studio (Hyeungshik's section): N1-114
    Studio (Hyungyu's section): N1-422


Course Website: https://kixlab.org/courses/hci/
Submission & Grading: KLMS
Discussion and Q&A: Piazza
Reading Material Annotation: Hypothesis


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%
  • Assignments: 20%
  • In-class activities and participation: 20%
  • 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.