Kansas State University — CIS 705 — Programming Languages — Spring 2010
Resources
Lectures
In the following, TAPL stands for the book
Types and Programming Languages, and
DAWOC stands for the book
Developing Applications With Objective Caml.
- Lecture 1: January 14
- Reading: Chapter 1 of TAPL
- Course Syllabus (view/print)
- Tour of course website
- TAPL Chapter 1: Introduction
(view/print)
- Lecture 2: January 19
- Reading: Chapter 2 of TAPL
- TAPL Chapter 2: Mathematical Preliminaries
(view/print)
- Lecture 3: January 21
- Reading: Chapter 3 of TAPL through Section 3.3
- TAPL Chapter 2: Mathematical Preliminaries
(view/print)
- TAPL Chapter 3: Untyped Arithmetic Expressions
(view/print)
- Lecture 4: January 26
- Reading: Chapter 3 of TAPL
- TAPL Chapter 3: Untyped Arithmetic Expressions
(view/print)
- Lecture 5: January 28
- Reading: Chapter 3 of TAPL
- TAPL Chapter 3: Untyped Arithmetic Expressions
(view/print)
- Lecture 6: February 2
- Lecture 7: February 4
- Reading: Up through "Presenting Part I" of DAWOC
- TAPL Chapter 3: Untyped Arithmetic Expressions
(view/print)
- Lecture 8: February 9
- Reading: Up through "Functional Core of Objective CAML" of DAWOC
- Introduction to OCaml
- Recursive and iterative versions of factorial in OCaml
(fact1.ml,
fact2.ml,
fact3.ml)
- Combine function (without pattern matching)
(combine1.ml)
- Lecture 9: February 11
- Lecture 10: February 16
- Lecture 11: February 18
- Lecture 12: February 23
- Reading: Chapter 5 of TAPL
- TAPL Chapter 5: Untyped Lambda Calculus
(view/print)
- Lecture 13: February 25
- Reading: Chapter 5 of TAPL
- TAPL Chapter 5: Untyped Lambda Calculus
(view/print)
- Lecture 14: March 2
- Lecture 15: March 4
- Reading: Chapter 5 of TAPL
- TAPL Chapter 5: Untyped Lambda Calculus
(view/print)
- Lecture 16: March 9
- Reading: Chapters 6 and 7 of TAPL
- TAPL Chapter 5: Untyped Lambda Calculus
(view/print)
- Definition of factorial using functional
(fact4.ml)
- Lecture 17: March 23
- Reading: Chapters 6 and 7 of TAPL
- TAPL Chapter 5: Untyped Lambda Calculus
(view/print)
- TAPL Chapter 6: Nameless Representation of Terms
(view/print)
- TAPL Chapter 7: Untyped Lambda Calculus Implementation
(see syntax.ml, core.ml and test.f)
(untyped,
untyped.tar.gz)
- Lecture 18: March 25
- Lecture 19: March 30
- Reading: Chapter 9 of TAPL
- TAPL Chapter 8: Typed Arithmetic Expressions
(view/print)
- TAPL Chapter 9: Simply Typed Lambda Calculus
(view/print)
- Lecture 20: April 1
- Reading: Chapter 9 of TAPL
- TAPL Chapter 9: Simply Typed Lambda Calculus
(view/print)
- Lecture 21: April 6
- Reading: Chapter 10 of TAPL
- TAPL Chapter 9: Simply Typed Lambda Calculus
(view/print)
- Lecture 22: April 8
- Reading: Chapters 10 and 11 of TAPL
- TAPL Chapter 9: Simply Typed Lambda Calculus
(view/print)
- Assignment 5
- Lecture 23: April 13
- Lecture 24: April 15
- TAPL Chapter 11: Simple Extensions
(view/print)
- Lecture 25: April 20
- Reading: Chapter 12 of TAPL
- TAPL Chapter 11: Simple Extensions
(view/print)
- TAPL Chapter 12: Normalization of the Simply Typed Lambda-Calculus
- Lecture 26: April 22
- Reading: Chapter 12 of TAPL
- Assignment 6
- TAPL Chapter 12: Normalization of the Simply Typed Lambda-Calculus
- Lecture 27: April 27
- Reading: Chapter 12 of TAPL
- Assignment 6
- TAPL Chapter 12: Normalization of the Simply Typed Lambda-Calculus
- Lecture 28: April 29
- Reading: Section References of Chapter Imperative Programming of DAWOC
- Reading: Chapter 13 of TAPL
- Preparation for Final Examination
- Imperative version of factorial in OCaml, using references
(fact5.ml)
- Do-it-yourself objects in OCaml, using references
(object.ml)
- TAPL Chapter 13: References
(view/print)
- Lecture 29: May 4
- Reading: Chapter 13 of TAPL
- TAPL Chapter 13: References
(view/print)
- Lecture 30: May 6
Assignments
Final Examination
Old Assignments
Old Final Examination
Alley Stoughton
(Alley.Stoughton@gmail.com)