CS320
Fall Semester, 2024
Programming Languages
CS320, Fall Semester, 2024
This course does not allow for P/NR grading.
The course uses Piazza instead of KLMS. Please join the Piazza class at the following link: https://piazza.com/kaist.ac.kr/fall2024/cs320.
Instructor
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 & Offline
Lecture Videos & Textbook
Introduction to Programming Languages by Jaemin Hong and Sukyoung Ryu
Complementary Materials
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)
Overview
The goal of this course is to help students:
learn new languages quickly,
evaluate various languages and pick the most suitable one for a given task,
know when and how to design a little language, and
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.
Grading
Midterm Exam: 35%
Final Exam: 45%
Project: 10%
Attendance/Quiz/Homework: 10%