designing
interaction with ai
Fall 2025
Fall 2025
This Designing Interaction with AI (ID499) offered by the Department of Industrial Design at KAIST is designed to equip students with practical programming skills to develop modern software systems that integrate artificial intelligence into interactive applications. The course is divided into two main parts:
First half: Introduction to Large Language Models (LLMs) like OpenAI’s GPT, using APIs to build interactive systems.
Second half: Deploying AI models (e.g., neural networks) on embedded hardware devices, exploring the intersection of AI and physical computing.
The course follows a fast-paced structure with weekly hands-on tutorials and culminates in a final project.
Early tutorials include a recap of JavaScript basics, followed by in-depth instruction on implementing AI-driven applications using LLMs.
Assignments will allow students to practice programming and deepen their understanding of the tools.
The final project is open-ended and encourages students to develop systems that integrate LLMs with real-world interaction — such as using sensor data from physical devices.
Weekly readings and in-class discussions will address broader themes and trends in AI and technology.
Instructor: Prof. Andrea Bianchi, Department of Industrial Design & School of Computing, N25 417호
Target Audience: Undergraduates 3rd and 4th year / Graduate (MS) 1st year
Grading scheme: Pass/Fail (S/U)
Day and Time: Monday - Wednesday 10:00 am - 12:00 pm (noon)
Location: Building N25, Room 215
Office hours: before and after class, or by appointment
Slides 1.1 - Course introduction
Slides 1.2 - Setting up + JS recap basics (node, variables, functions, control flow) [JS]
Setting up (due Sunday, September 7 at 11:59 pm)
Homework
Onboarding survey (due Wednesday, September 3)
Reading club #1: The end of programming (due Wednesday, September 10)
Slides 2.1 - JS recap intermediate: objects and functions [JS]
Slides 2.2 - JS recap advance: filter & map [JS]
Homework
Reading club #2: The Rise of the AI Co-Pilot (due Wednesday, September 17)
Slides 3.1 - Consuming REST APIs and setting up for OpenAI dev [JS] [OpenAI]
Slides 3.2 - Your first prompt + LLM [OpenAI]
Homework
Reading club #3: ChatGPT is bullshit (due Wednesday, September 24)
Slides 4.1 - Prompt engineering [OpenAI]
NPM library: baby-prompts
Slides 4.2 - Structured output + Evaluating Prompts [OpenAI]
Homework
Reading club #4: Unsafe At Any Level (due Wednesday, October 15)
No class (Make up classes on week 8)
No class (Chuseok Holiday)
Slides 7.1 - Building a chat (history) [OpenAI]
Slides 7.2 - Embeddings and similarity search [OpenAI]
Homework
Reading club #5: AI Should Challenge, Not Obey (due Wednesday, October 29)
Fill up this survey
Slides 8.1 - Chatting with your data: building a RAG [OpenAI]
Slides 8.2 - RAG with ChromaDB [OpenAI]
Homework
Final Project Proposal (due Wednesday, November 5th)
Install Docker on your computer
Slides 9.1 - Tools: Functions + Web search + Code interpreter [OpenAI]
Slides 9.2 - Other types of prompts modalities (vision, images, and sound) [OpenAI]
Opportunity to participate in a user study and receive compensation
Homework
Reading club #6: Steaming Ahead: Will AI Amplify Electric Inequities? (due Wednesday, November 5)
Slides 10.1 - Arduino 101 and basics of electronics [Arduino]
Slides 10.2 - Input and sensors part 1 + Project proposals [Arduino]
Homework
Reading club #7: Data Quality May Be All You Need (due Wednesday, November 12)
Slides 11.1 - Input and sensors part 2 [Arduino]
Slides 11.2 - Filtering, Edge impulse, Model Deployment [AI]
Homework
Reading club #8: LLM insecurity (due Wednesday, November 19)
Slides 12.1 Edge impulse classifier [AI] / Project feedback
Slides 12.2 - Building a UI with a front-end framework [JS]
Homework
Reading club #9: Bring your own article (one per team) (due Wednesday, November 26)
Slides 13.1 - Interfacing with an API [JS]
Slides 13.2 -Reading club group presentation / Project feedback
Slides 14: Project feedback
Wednesday: optional class
Slides 15.1 - Wrap up + Project feedback
Wednesday: optional class
Monday, December 15 - no class
❗️Final project (Wednesday, December 17th) - 10:00 am
I am not an ID student. Can I take this course?
Yes, as long as you have some basic knowledge of programming (in JavaScript) and know a bit about physical computing. Otherwise, you will have to catch up on your own.
Can I audit the course?
No, unless there is a specific reason for which you cannot take the course. You may want to consider talking with the professor in the first week of the course.
Is the course in English?
Yes, the course will be in English. You may ask questions in Korean if you are not confident in your English, but the lectures, discussions, and presentations will be delivered in English.
What is the course load and the grading scheme?
You are expected to attend classes and complete the in-class exercises. There will also be a few homework and one mandatory project that you must submit to pass the course. The grading scheme is Pass/Fail (S/U). As long as you attend most of the classes and submit the homework and final project, you will pass the course.