About
Members
Research
Publications
Talks
Courses
Trips
Gallery
Programming Languages, 2017 Fall
Course Information
Instructor:
Hakjoo Oh
Lecture: 9:00-10:15 on Tuesdays and Thursdays
References
Essentials of Programming Languages
Notes on Programming Languages (in Korean)
Slides
Course Overview:
lec0.pdf
(Part 1) Preliminaries
Inductive Definitions:
lec1.pdf
,
lec2.pdf
Functional Programming:
lec3.pdf
,
lec4.pdf
(Part 2) Basic Concepts
Expressions:
lec5.pdf
, implementation:
let.zip
Procedures:
lec6.pdf
States:
lec7.pdf
(Part 3) Advanced Concepts
Static Type System:
lec8.pdf
,
lec9.pdf
,
lec10.pdf
Automatic Type Inference:
lec11.pdf
,
lec12.pdf
,
lec13.pdf
Polymorphic Type System:
lec14.pdf
Lambda Calculus:
lec15.pdf
Review:
lec16.pdf
,
lec17.pdf
Homework
Homework 1 (Recursion and Higher-Order Functions)
hw1.pdf
(due 10/15 24:00)
[skeleton]
Homework 2 (Inductive Definitions)
hw2.pdf
(due 10/31 24:00)
[skeleton]
Homework 3 (Interpreters)
hw3.pdf
(due 11/14 24:00)
[skeleton]
Homework 4 (Static Type System)
hw4.pdf
(due 11/26 24:00)
[skeleton]
Homework 5 (Polymorphism and Lambda Calculus)
hw5.pdf
(due 12/09 24:00)
[skeleton]
Previous Exams
Final Exam (2015)
Final Exam (2016)
Reading
How functional programming mattered
National Science Review.
Facebook Hints at the Future of Coding
Programming Languages and Code Quality
Commercial Users of Functional Programming (CUFP 2017)
If programming languages were cars
How to install OCaml
Installing the Programming Environment (for Windows users)
VirtualBox Image (Ubuntu system with OCaml installed)
Download VirtualBox
Software Analysis Lab. @ Korea University