All Courses

  • CS374 – Introduction to Human-Computer Interaction


    • Instructor: Juho Kim
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    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 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.

  • CS380 – Introduction to Computer Graphics


    • Instructor: Jinah Park, Minhyuk Kim, Sung-Eui Yoon
    • Format: 3:3:4 (lecture: practice: credits)
    • Objective:

    The goal of this course is for students to acquire theory and hands-on experience in computer graphics. Topics covered are: basic functions and principles of input and output devices used in computer graphics, architectures and features of graphics systems, basic geometric models and their generation algorithms, theories and practice behind 2D and 3D conversion. Basic ideas of hidden line and surface removal and color models are introduced.

  • CS472 – Human-Computer Interaction


    • Instructor: Geehyuk Lee
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    As an HCI course for Computer Science students, this course pursues the following three goals: 1) introduction to the basic concepts, theories, and methods for HCI studies, 2) introduction to the wide range of user interfaces, such as touch interfaces, auditory interfaces, and haptic interfaces, and 3) providing an experience of realizing novel user interface ideas. Major chapters from the main textbook and several selected chapters from other supplementary textbooks will serve the first two goals. For the third goal, students will propose and conduct a term project, which will be supported by lab sessions on basic electronics and prototyping techniques.

  • CS482 – Interactive Computer Graphics


    • Instructor: Jinah Park, Minhyuk Kim, Sung-Eui Yoon
    • Format: 3:2:3 (lecture: practice: credits)
    • Objective:

    With advances in computing environment, we can get high quality rendering of 3D virtual world in realtime. This course is designed for understanding practical algorithms for realizing 3D computer graphics and visualization essential for not only computer animation but also in various interactive applications including computer games, simulation, and virtual reality. This is a projects-oriented class that will introduce the concepts of interactive computer graphics. Students are expected to work on a team to develop their own project.

  • CS492 (2017 Spring) – Special Topics in CS: Intelligent User Interfaces – AI Meets HCI


    • Instructor: Alice Oh
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    The topic of intelligent user interfaces (IUI) is at the
    intersection of artificial intelligence (AI) and human-computer
    interaction (HCI). The main goal of the class is for students to
    design and implement an IUI system. Each class will consist of a short
    lecture and/or student presentations. We will cover some of the major
    topics in IUI.

  • CS492 (2016 Fall) – Special Topics in CS: Crowdsourcing


    • Instructor: Juho Kim
    • Format: 3:0:3 (lecture: practice: credits)
    • Objective:

    Crowdsourcing has successfully solved a wide variety of real-world problems. By inviting lots of people to participate in the problem solving process, crowdsourcing has tackled problems that neither computers nor humans could solve alone. Common application areas include data collection and labeling, collaborative ideation and problem solving, citizen science, education, and accessibility. In building a successful crowdsourcing system, important challenges arise in recruitment, incentive structure, task design, workflow design, quality control, data processing, and ethics, just to name a few. This course will cover major design issues and computational techniques in building crowdsourcing systems. You will (1) read, present, and discuss important papers in the field, (2) make, run, and analyze crowdsourcing tasks, and (3) design your own crowdsourcing system as a final project.

  • CS580 – Computer Graphics


    • Instructor: Jinah Park, Minhyuk Kim, Sung-Eui Yoon
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    We will study fundamentals of computer graphics and their applications to games, movies, and other related areas. In particular, we will study different branches, fundamentals, rendering, animation, and modeling, of computer graphics. Also, CS580 can be taken by students who have not taken any computer graphics related courses in their undergraduate courses.

  • ID220 – Interaction Prototyping


    • Instructor: Tek-Jin Nam
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    Interaction Prototyping aims to help students to gain essential prototyping techniques for designing hardware-software integrated interactive products or systems. Target students of the course are students without technical backgrounds who wants to advance their rapid prototyping skills for designing interactive systems. The course activities are intertwined with lectures, class exercises, tutorials and term projects. The lectures introduces basic concepts and representative examples of interaction design and prototyping. Prototyping techniques using Arduino and Processing for (rapid visual programming) are introduced with sets of class exercises. The term projects, building working prototypes of a) My Own Interactive Device, and b) Tangible Game, creatively integrate all the interaction prototyping techniques.

  • ID307 – Interface Design


    • Instructor: Andrea Bianchi
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    Interface design plays an important role in determining the type of interaction with the objects around us. Given the recent popularity of apps and mobile software, designing digital interfaces is becoming an even more critical skill set. This course will focus on how to best design interactive systems that are both usable and enjoyable. The first part of the course will cover the basics of human perception and psychology, then will exemplifies different types of interactions and interface types. The second part of the course will focus more on deigning techniques and propose methods to perform interface evaluations. This course is a mix of theory and practice, and students can expect to be engaged in numerous class activities, presentations and a final project.

  • ID506 – Media Interaction Design


    • Instructor: Woohun Lee
    • Format: 3:0:3 (lecture: practice: credits)
    • Objective:

    This course introduces students to advanced interaction design methods based on new media. Students will explore new design concepts by combining emerging technologies with design thinking. After taking this course, students are expected to acquire advanced physical computing skills that can be applied to interaction design in new product development projects.

  • ID508 – User-centered Design Methodology


    • Instructor: Youn-kyung Lim
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    The objective of this course is to learn various user-centered design techniques and methods. Throughout this course, students will have opportunities to apply those methods and techniques in actual design activities and to reflect on their implications in design and design research. The deliverables of this course will be the outcomes from a series of small design projects that require the application of the methods and the techniques students learn from this course, as well as the presentation and discussion of articles that help students establishing deeper understanding of relevant user study methods.

  • ID609– Digital Design Fabrication


    • Instructor: Daniel Saakes
    • Format: 3:0:3 (lecture: practice: credits)
    • Objective:

    The objective of this course is to learn various digital fabrication techniques and methods. Throughout the course students will do practical assignments to gain hand-on experience with parametric and computational design, and making objects with the fabrication devices. In the second half of the semester, students work in a team to design and build a novel fabrication workflow or device.

  • GCT741– Topics in Human-Computer Interaction


    • Instructor: Byungjoo Lee
    • Format: 3:0:3 (lecture: practice: credits)
    • Objective:

    This class begins with strong questions about the cognitive psychological perspective that has dominated past human-computer interaction research. From a cognitive psychological perspective on human-computer interaction represented by Fitts’ law or the Human Processor Model, humans are considered to be an extremely static, computer-like object that processes the given information. This class clearly demonstrates (1) the limitations of the existing view of human beings as an information processing unit, (2) the nature of man as a dynamic controller that constantly controls his actions and the surrounding environment to achieve a given goal. Technically, various examples showing the merits of the control theoretical perspective in the design of interaction will be presented in conjunction with topics such as Cybernetics Theory, Perceptual Control Theory, mechanistic modeling, and how-actually explanations.

  • KSE624 – Mobile and Pervasive Computing for Knowledge Services


    • Instructor: Uichin Lee
    • Format: 3:1:3 (lecture: practice: credits)
    • Objective:

    Over the past decade, there has been an increasing trend towards integrating sensing, communication, and computation into the physical world, from electronic toys to cars, from augmented classrooms to smart homes. In this course, we will take an interdisciplinary look at mobile and pervasive computing services: (1) basics of mobile sensing/app programming; (2) basics of networked systems, contextual computing, mobile computing, and HCI aspects of systems design; (3) basics of mobile sensor data processing (e.g., machine learning, activity recognition); (4) basics of physical computing and intelligent physical computing service design.

  • KSE652 – Social Computing Systems Design and Analysis


    • Instructor: Uichin Lee
    • Format: 3:0:3 (lecture: practice: credits)
    • Objective:

    Social computing describes any type of computing applications in which software serves as an intermediary or a focus for a social relation (e.g., social networking, knowledge sharing, computer supported collaborative work, and collaborative learning). In this class, we study social computing systems design (e.g., service design methods, encouraging user motivation/commitment, dealing with newcomers, starting new communities, designing persuasive services) and review existing social computing systems research areas (e.g., social network analysis, crowdsourcing, and social recommendation).

HCI@KAIST
YOUTUBE Link