- Level Foundation
- Course by Korea Advanced Institute of Science and Technology(KAIST)
-
Offered by
About
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 1) implementing interpreters for the concepts using the Scala programming language and 2) rigorously discussing the concepts using the operational semantics.Modules
Week 1
1
Assignment
- Week 1 Review Quiz
4
Videos
- 1-1 Continuations
- 1-2 Continuation Passing Style
- 1-3 Small-Step Operational Semantics
- 1-4 First-Class Continuations
Week 2
1
Assignment
- Week 2 Review Quiz
3
Videos
- 2-1 First-Order Representation of Continuations
- 2-2 Low-Level Representations of Interpreters
- 2-3 Big-Step Semantics of KFAE
Week 3
1
Assignment
- Week 3 Review Quiz
4
Videos
- 3-1 Types
- 3-2 Type Rules
- 3-3 TFAE
- 3-4 TPFAE
Week 4
1
Assignment
- Week 4 Review Quiz
3
Videos
- 4-1 TRFAE
- 4-2 TVFAE
- 4-3 Type Checking TVFAE
Week 5
1
Assignment
- Week 5 Review Quiz
3
Videos
- 5-1 Type Inference
- 5-2 Type Unification
- 5-3 Type Checking TIFAE
Week 6
1
Assignment
- Week 6 Review Quiz
3
Videos
- 6-1 Parametric Polymorphism
- 6-2 Subtype Polymorphism (I)
- 6-3 Subtype Polymorphism (II)
Week 7
1
Assignment
- Final Exam
Auto Summary
"Programming Languages II" is an IT & Computer Science course offered by Coursera. Taught by an expert instructor, it focuses on helping students quickly learn new languages, evaluate and choose the right one, design small languages, and understand the impact of languages on thinking and communication. The course covers programming language concepts through Scala-based interpreters and operational semantics discussions. Ideal for foundation-level learners, it offers a subscription option and aims to build essential skills in language analysis and application.

Sukyoung Ryu