Spring Semester, 2020

Programming Languages

CS320, Spring Semester, 2020


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


  • Programming Languages: Application and Interpretation by Shriram Krishnamurthi

  • Programming in Scala by Martin Odersky, Lex Spoon, and Bill Benners (First edition available for free online)

  • Course Reading Materials by Jaemin Hong


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%