Programming Languages (895311)

Yoni Zohar
Zvika Berger
Department of Computer Science
Bar-Ilan University

Technical Details

Time and Location

Grading

Material

Tentative Schedule

The schedule will be updated during the semester.

Date Lesson # Topics Reference Recitation HW
23.10.22 1 Introduction
OCaml
Chapter 1 of "The Functional Approach to Programming"
Real World OCaml
utop log
OCaml
30.10.22 2 OCaml
Induction
Chapters 2, 3.4.4, 3.4.6, 3.4.8 of "The Functional Approach to Programming"
Chapters 3.1, 3.3 of "The Formal Semantics of Programming Languages"
utop log
Induction HW 1
Due 20.11.22
06.11.22
Friday, 11.11.22
08:00 -- 10:30
10:30 -- 13:00
3 Natural Semantics Chapters 1 and 2.1 of "Semantics with Applications" Natural Semantics
13.11.22 4 Structural Semantics Chapters 2.2, 2.3 and 3.1 of "Semantics with Applications"
par2.cpp par3.cpp
Structural Semantics
20.11.22 5 Untyped Lambda Calculus Chapter 5 of "Types and Programming Languages"
Y Combinator
Call by name in Scala
Untyped Lambda Calculus HW 2
Due 11.12.22
27.11.22 6 Simply Typed Lambda Calculus Chapters 9 and 12 of "Types and Programming Languages"
Type Safety for C++
type0.cpp type1.cpp type2.cpp type5.cpp
Simply Typed Lambda Calculus
04.12.22 7 Type Inference Chapters 5.3 and 13 of "The Functional Approach to Programming"
Chapter 22 of "Types and Programming Languages"
Cornell CS3110 notes on type inference
Type Inference
11.12.22 8 Closure Chapters 3 and 11 of "The Functional Approach to Programming" Closure HW 3
Due 08.01.23
18.12.22
Time change:
12:00 -- 14:00,
14:00 -- 16:00
9 Imperative OCaml Chapter 4 of "The Functional Approach to Programming"
Cornell CS3110 notes on Modular Programming
utop log
Imperative OCaml
25.12.22 -- No Class Javascript
01.01.23 10
08.01.23 11 HW 4
Due 22.01.23
15.01.23 12
22.01.23 13