INF222 Programming Languages, Spring 2018

Course Essentials

Lectures Tue 14:15–16:00, Allegaten 66, Auditorium B
  Wed 12:15–14:00, Realfagbygget, Auditorium 2
Labs Fri 08:15–10:00, Group 1: Høyteknologisenteret, Grupperom 209N1
  Mon 12:15–14:00, Group 2: Thormøhlens gate 51 (VilVite), Konferanserom B
Instructor Jaakko Järvi
TAs Benjamin Chetioui, Ragnhild Aalvik
Course pages (Also: UiB's official course page)
Office hours TBA
Prerequisite Recommended INF121

Schedule and material

Some of the materials are behind a password. Ask the instructor for one.

Date Topic Material Reading
Tue 16.1 class cancelled    
Wed 17.1 class cancelled    
Tue 23.1 Introduction course-setup-slides introduction-slides Lämmel 1.2–1.3.2
Wed 24.1 Abstract syntax slides notes code: btl-ast.cpp ast-representations.hs Lämmel 3–3.1.5, 4–4.1.3, 4.2–4.3
Tue 30.1 Interpreters notes code: Lämmel 5–5.1.3
Wed 31.1 Specifying operational semantics, structural induction notes slides Lämmel 8–8.1
Tue 6.2 Operational semantics continues   Lämmel 8.2–
Wed 7.2 Types and type-checking slides Lämmel 9.1–9.2
Tue 13.2 Types and type-checking    
Wed 14.2 Concrete-syntax slides code: acceptor-and-parser-generator.hs (commentary) Lämmel 7.1–7.2.1
Tue 20.2 More on parsing ll1-parser.hs  
Wed 21.2 Parser combinators notes  
Tue 27.2 Parser combinators, about monads slides  
Wed 28.2 Monads    
Tue 6.3 Monads. Lambda calculus slides Lämmel 11
Wed 7.3 Evaluation order, recursion, fixpoints. notes  
Tue 13.3 Simply typed lambda calculus slides  
Wed 14.3 Subtyping slides  
Tue 20.3 Procedural abstraction slides notes  
Wed 21.3 Procedural abstraction    
Tue 27.3 no class    
Wed 28.3 no class    
Tue 3.4 GC, OO runtime notes (GC)  
wed 4.4 oo runtime, programming with(out) inheritance slides  
tue 10.4 no class    
wed 11.4 no class    
tue 17.4 move semantics slides  
wed 17.4 ownership based resource management, evaluation contexts slides, evaluation context notes  
tue 24.4 continuations ec-interpreter notes continuation-examples.hs  
wed 25.4 more continuations, cps slides  
tue 1.5 no class    
wed 2.5 references slides  
tue 8.5 polymorphism slides notes lämmel 11.7
wed 9.5 existential types, bounded parametric polymorphism slides  
tue 15.5 review    
wed 16.5 no class    
fri 08.06 exam review notes  


Assignment 1 abstract syntax a1.html a1-answers.html  
Assignment 2 interpreters/type checking a2.pdf a2-answers.pdf  
Assignment 3 semantics and proof techniques a3.pdf a3-answers.pdf  
Assignment 4 lexing/parsing/parser combinators a4.html a4-answers.html deadline: <2018-03-07 Wed>, submit via mitt.uib
Assignment 5 lambda calculus a5.pdf a5-answers.pdf  
Assignment 6 lambda calculator a6.html deadline: <2018-03-23 Fri> <2018-03-27 Tue>, submit via mitt.uib
Assignment 7 subtyping/procedural abstraction a7.html a7-answers.html  
Assignment 8 evaluation contexts, continuations, etc. a8.html   deadline: <2018-05-18 Fri>, submit via mitt.uib

Author: Jaakko Järvi

Created: 2018-05-20 Sun 17:24