Spring Semester, 2020

Programming Languages

CS320, Spring Semester, 2020


  • We use Piazza instead of KLMS for the course. We will upload lecture notes and post announcements on Piazza. You can ask questions and discuss with classmates on Piazza as well. Please join the Piazza class using the following link: piazza.com/kaist.ac.kr/spring2020/cs320. Please check Piazza regularly not to miss future announcements.

  • Youtube will be the platform for online lectures. We are going to upload lecture videos on the PLRG Youtube channel. The following is the link to the channel: www.youtube.com/channel/UCPe3Vq1277bOCyPlcovJ_LQ. You must watch the videos during the original class time (Mon. & Wed., 14:30-16:00). Therefore, the first video will be uploaded until March 16th, and you must watch the video from 14:30 on March 16th. For instructions in detail, please check Piazza.


Sukyoung Ryu (류석영)

  • Email: sryu.cs@kaist.ac.kr

  • Office: CS Building Room 4407

  • Phone: x3538

  • TA Email: cs320_ta@kaist.ac.kr

Hours and Place

  • Lectures

    • 14:30 – 15:45 Mondays and Wednesdays

    • E11 (Creative Learning Building) Terman Hall


The goal of this course is to help students:

  1. learn new languages quickly,

  2. evaluate various languages and pick the most suitable one for a given task,

  3. know when and how to design a little language, and

  4. understand the effects of languages on thought and communication.

We will study programming language concepts, not as paradigms but as a set of basic building blocks, by using the Scala programming language to implement interpreters for the concepts.


  • Midterm Exam: 30%

  • Final Exam: 40%

  • Project: 15%

  • Attendance/Quiz/Homework: 15%