Software prototyping
Spring 2025
Class overview
This software prototyping (ID311) course offered in the department of Industrial Design at KAIST aims to provide students with the theoretical and practical programming background to develop software for the web. Students who take this course should be already familiar with the basics of programming and are expected to spend considerable time during the semester programming short assignments and a final project. The course objectives are 1) to teach computational thinking through programming, 2) to familiarize students with the developing environment and language for web applications (i.e. Ecmascript 6 a.k.a. JavaScript), 3) to practice with common programming paradigms such as Object-Oriented Programming, Functional Programming, and Event-Driven programming.
⭐️Highlights 2023 ⭐️
Class resources 🔗
SCHEDULE ⏰
Monday - Wednesday 10:00 am - 12:00 pm (noon)
Building N25, Room 215 (2nd floor) - OFFLINE
Office hours: before and after class, or by appointment
Week 1
Slides 1.1 - Course introduction + Setting up
Slides 1.2 - Types and Variables
Setting up (due Sunday March 2nd, 11:59 pm)
Sign in git.prototyping.id (use your KAIST email or KAIST ID, the default password is "software" => then change the default password)
Homework
Intro survey / Quiz 0 (due Thursday, February 27th at 11:59 pm)
Homework 0 (due Sunday, March 2nd at 11:59 pm)
This is a video to help you getting started
The rest of this schedule is tentative and it will be adjusted
Week 2
No class
Control structures and git
Week 3
Arrays and objects
Functions
Week 4
Recursion
DOM and event handling
Week 5
Functional programming
Composition
Week 6
Tools and md
Svelte
Week 7
Objects
OOP
Week 8
Design patterns
Week 9
Errors
Node and a simple server
Week 11
Async programming
Firebase
Week 12
TBD
TBD
Week 13
Week 14
Week 15
Week 16
⭐️ FINAL PRESENTATIONS ⭐️ Wednesday June XX @ 10:00 am - noon in N25 - 215