Principles of Programming Languages
Logistics
Professor: Venkatesh Chopella
Grading Scheme
Component | Weightage |
---|---|
Quizzes (Tuesday) | 10 |
Quizzes (Friday) | 15 |
HW (8) | 40 |
Project | 30 |
Class Participation | 5 |
Upcoming Deadlines
- Functional Language (21st October 23:55) hw06
- Bisimilarity (29th September 23:55) hw05
- Lexical Interpreter (22nd September 23:59) hw04
- Arithmetic Language (8th September 23:59) hw03
- Functional programming in Elm (1st September) hw02
- Functional programming in Racket (25th August) hw01
Material
Books
Course Pages
Lectures
Lecture 1
- [O] Reading assignment:
- Course Objectives
- The Racket Guide, Chapters 1-6:
- How to Design Programs, Chapters 1-5
- Essentials of Programming Languages Chapter 1, Foreword
Lecture 2
- Reading assignment:
Lecture 3
On lexical scope and higher-order functions
- Reading assignment:
- Currying I don’t get the point (of examples)
- Higher Order Functions Still a bit confused
- Functional Programming Yeeep
Lecture 4
- Reading assignment:
- Streams I’m so lost
- Evaluation in Racket
Lecture 5
- Reading assignment:
Lecture 6
- Reading assignment:
- Coinduction and Term Graphs : Induction
Lecture 7
- Reading assignment:
- Coinduction and Term Graphs : Coinductive terms, behaviour
Lecture 8
- Reading assignment:
- None
Lecture 9
- Reading assignment:
- Coinduction and Term Graphs : Bisimulation
Lecture 10
- Reading assignment:
Lecture 11
- Reading assignment:
- Abstract reduction systems
- Abstract reduction systems: board
- TRaAT: Chapters 1, Sec 2.1
Lecture 12
- Reading assignment:
- TRaAT: 2.2, 2.7
Lecture 13
- Reading assignment:
Lecture 14
- Reading assignment:
- Essentials of Programming Languages Chapter 2 Sec 3.2
- Essentials of Programming Languages Chapter 2 Sec 3.1
- Notes on lexical scope
- Notes on dynamic scope recursion
- Scope: board work
Lecture 15
- Reading assignment:
Lecture 16
- Reading assignment:
- Essentials of Programming Languages Chapter 2 Sec 3.4
- Essentials of Programming Languages Chapter 2 Sec 3.5