Ändringar mellan två versioner
Här visas ändringar i "Seminars, Modules, and Exercises" mellan 2016-08-29 09:35 av David Broman och 2016-08-30 13:32 av David Broman.
Visa < föregående | nästa > ändring.
Seminars, Modules, and Exercises
Seminars The course is divided into 3 modules. Each module starts with a seminar and ends with a seminar. All seminars will take place in the conference room Ada, Electrum, KTH Kista (elevator A, level 4, entrance to SCS).
 
 * Seminar 1: Course Introduction and Introduction to Module 1.Tuesday June 7, 13.00-17.00
 * Seminar 2: Presentation of solutions to Module 1 and introduction to Module 2. Monday August 29, 10.00-17.00
 * Seminar 3: Presentation of solutions to Module 2 and introduction to Module 3.Monday October 17, 10.00-17.00
 * Seminar 4: Presentation of solutions to Module 3. Course ending.Thursday November 17, 10.00-17.00
  Module Exercises Module 1: Operational semantics and the lambda calculusJune 7 to August 29
The main topics for module 1 are:
 
 * Small-step and big-step operational semantics
 * Untyped lambda calculus
 * Fundamental typed functional programming
  Exercises for module 1:
 
 * Perform all the tasks and exercises in this PDF-document.
 * You can use the following example code when solving the above exercises.
  Reading guidelines for module 1:
 
 * Read the TAPL Chapter 1 (as an introduction) and Chapter 2 (to make sure that you have the mathematical background).
 * Read TAPL Chapters 3, 4, 5, 6, and 7 carefully.
 * Read the paper Natural Semantics by Kahn (1987). See the literature page for a link.
 * Read sections 2.1-2.3 of Simon Peyton Jones' book The Implementation of Functional Programming Languages (1987) 
  Be prepared to give a presentation of some of the topics that you have read, or to present some of your solutions. Who will present what will be announced approximately 1 weeks before seminar 2 (when I know who have actually submitted exercises).
Module 2: Typed lambda calculus with extensionsAugust 29 to October 17
 
 * Type rules
 * Simply Typed Lambda Calculus
 * Type soundness proofs
 * Semantics for let bindings, pairs, tuples, records, sums, and lists
 * References and exceptions
  Exercises for module 2:
 
 * Perform all the tasks and exercises in this PDF-document.
 * You should base your solutions on the implementation that you did in module 1.
  Module 3: Subtyping and PolymorphismOctober 17 to November 17
 
 * Subtype polymorphism
 * Parametric polymorphism
 * Ad-hoc polymorphism
 * Structural and nominal type systems
 * Gradual typing
  Exercises for module 3:
 
 * To be announced at seminar 3.