Spring Semester, 2021

Programming Languages

CS320, Spring Semester, 2021


  • 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/spring2021/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.


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, Online (Youtube & Zoom)



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: 20%

  • Attendance/Quiz/Homework: 10%