Programming Languages (895311)

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

Technical Details

Time and Location

Grading

Material

Schedule

The schedule will be updated during the semester.

Date Lesson # Topics Reference HW
3.11.24 1 Introduction
OCaml
Chapter 1 of "The Functional Approach to Programming"
Real World OCaml
utop log
10.11.24 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
HW 1
Due 4.12.24
17.11.24 3 Natural Semantics Chapters 1 and 2.1 of "Semantics with Applications"
24.11.24 4 Axiomatic Semantics Chapter 9 of "Semantics with Applications"
Derivation for factorial
1.12.24 5 Untyped Lambda Calculus Chapter 5 of "Types and Programming Languages"
Y Combinator
HW 2
Due 25.12.24
8.12.24 6 Strategies
Simply Typed Lambda Calculus I
Chapters 5 and 9 of "Types and Programming Languages"
Type Safety for C++
Derivations in STLC
type0.cpp type1.cpp type2.cpp
15.12.24 7 Simply Typed Lambda Calculus II Chapters 9 and 12 of "Types and Programming Languages"
22.12.24 8 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
unification.ml
HW 3
Due 22.1.25
29.12.24
-- Hanukkah
5.1.25 9 Closure Chapters 3 and 11 of "The Functional Approach to Programming"
Derivations from class
12.1.25 10 Javascript Chapters 1 -- 9 of "Javascript: The Definitive Guide"
CS Masters Program
node log
examples from class
19.1.25 11 Logic Programming Chapters 1,2,3,5 of "Prolog Programming for Artificial Intelligence"
examples from class
swipl log
JS corners
HW 4
Due 5.2.25
26.1.25 12 CS Masters Program Introductory Event
(No Class)
2.2.25 13 Imperative OCaml