Programming Languages (895311)

Yoni Zohar
Itay Atelis
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 HW
31.12.23 1 Introduction
OCaml
Chapter 1 of "The Functional Approach to Programming"
Real World OCaml
utop log
7.1.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
14.11.24 3 Natural Semantics Chapters 1 and 2.1 of "Semantics with Applications"
21.1.24 4 Untyped Lambda Calculus Chapter 5 of "Types and Programming Languages"
Y Combinator
Call by name in Scala
HW 2
28.1.24 -- KSHIRUT WEEK
4.2.24 5 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
11.2.24 6 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
HW 3
18.2.24 7 Logic Programming Chapters 1,2,3,5 of "Prolog Programming for Artificial Intelligence"
25.2.24
8 Javascript Chapters 1 -- 9 of "Javascript: The Definitive Guide" HW 4
3.3.24 9 Closure Chapters 3 and 11 of "The Functional Approach to Programming"
10.3.24 10 Imperative OCaml Chapter 4 of "The Functional Approach to Programming"
Cornell CS3110 notes on Modular Programming
utop log