Lectures & planning
Preliminary planning of the lectures with the corresponding chapters from the second edition of Structure and Interpretation of Computer Programs (SICP).
Period VT1
- Lecture 1.pdf: (SICP 1, 3.1-3.2)
Overview
Functional and imperativ programming
The substitution and the environment models
Assignment - Lecture 2.pdf: (SICP 3.1-3.2, 3.3.5)
Object oriented programming
Objects with locak state
Environment model (cont.)
Constraint propagation - Lecture 3.pdf: (SICP 3.5)
streams
delayed evaluation
lazy evaluation, call-by-name, call-by-need - Lecture 4.pdf: (SICP 4.1-4.1.6)
Evaluators
An interpreter for Scheme
Language extension and macros - Lecture 5: (SICP 4.2)
An interpreter for Scheme (cont.)
Static and dynamic binding
Parameter passing
Type inference - Lecture 6: (SICP 4.1.7)
Separation of the syntactic analysis and the execution - Lecture 7: (SICP 4.3)
Non-deterministic programming
Continuations
Period VT2
- Lecture 8: (SICP 4.4)
Declarative and procedural programming
Logic programming
Interpreter for a logic programming language - Lecture 9: Guest lecture by Anders Haraldsson
Reflektioner på kursen.
Lisps påverkan. Kopplingar och trender till dagens programspråk - lambda-uttryck, closure/procdurobjekt, nya standarder för C++, Java, nya dynamiska språk, Python, Scala, Clojure.
Egen forskning - partialevaluering - samband mellan interpretator och kompilator i relation till kursen.
- Lecture 10: (SICP 5.1, 5.2, 5.4)
Register machines
Explicit control evaluator - Lecture 11: (SICP 5.3, 5.4)
Scheme interpreter in machine code
Lexical addressing, variables lookup
- Lecture 12: (SICP 5.5)
Compiling and interpreting
A compiler for Scheme
Page responsible: Ahmed Rezine
Last updated: 2013-03-05
