CIS 505/705, (Introduction to) Programming Languages
Fall 2022 Schedule

This schedule is subject to (hopefully only minor) modifications

General remarks


Schedule

Class     TopicsLab ProjectExam
1: Mon
Aug 22
Introduction
2: Wed
Aug 24
Basic OCaml
3: Fri
Aug 26
Functions (I) OCaml Lab 1 out
4: Mon
Aug 29
Functions (II)
5: Wed
Aug 31
List Functions (I)
6: Fri
Sep 2
List Functions (II) OCaml Lab 1 in
OCaml Lab 2 out
7: Wed
Sep 7
Dictionaries
8: Fri
Sep 9
Set representations OCaml Lab 2 in Project 1 out
9: Mon
Sep 12
Introduce Project 1:
  • write in OCaml an interpreter for
    a simple interactive language
Exceptions
10: Wed
Sep 14
Data Types
11: Fri
Sep 16
Functions on Trees
12: Mon
Sep 19
Review session Project 1 in
13: Wed
Sep 21
Exam 1
14: Fri
Sep 23
Recursion OCaml Lab 3 out
15: Mon
Sep 26
Lazy Evaluation
16: Wed
Sep 28
Wrap up functional programming
Discuss and give back Exam 1
17: Fri
Sep 30
Motivate and discuss Project 2:
  • write an interpreter for an imperative language
and give the necessary background
OCaml Lab 3 in Project 2 out
18: Mon
Oct 3
Parsing (I)
19: Wed
Oct 5
Parsing (II, ambiguity)
20: Fri
Oct 7
Parsing (III, parsing functions) Parsing Lab out
21: Mon
Oct 10
Interpreting a First-Order Functional Language (I) Project 2 in
22: Wed
Oct 12
Interpreting a First-Order Functional Language (II)
23: Fri
Oct 14
Interpreting a Higher-Order Functional Language Parsing Lab in
24: Mon
Oct 17
Review session.
25: Wed
Oct 19
Exam 2
26: Fri
Oct 21
Motivate and discuss Project 3:
  • write an interpreter for a higher-order functional language
Project 3 out
27: Mon
Oct 24
Logic Refresher (I, propositional)
28: Wed
Oct 26
Interpreting A Higher Order Language with Mutations
29: Fri
Oct 28
Logic Refresher (II, predicate) Project 4 out
30: Mon
Oct 31
Motivate and discuss Project 4:
  • write an interpreter for an object-oriented language
Discuss and give back Exam 2
Project 3 in
31: Wed
Nov 2
Prolog: Basics (I)
32: Fri
Nov 4
Prolog: Basics (II) Prolog Lab out
33: Mon
Nov 7
Prolog: Advanced (I) Project 4 in
34: Wed
Nov 9
Prolog: Advanced (II)
35: Fri
Nov 11
Prolog: Applications Prolog Lab in
36: Mon
Nov 14
Review session
37: Wed
Nov 16
Exam 3
Fri
Nov 18
No class Project 5 out
38: Mon
Nov 28
Motivate and discuss Project 5:
  • write in Prolog an interpreter for a query language
Wed
Nov 30
No class
39: Fri
Dec 2
Wrap up the course
Mon
Dec 5
No class Project 5 in
Wed
Dec 7
No class
Fri
Dec 9
No class
Mon
Nov 28
--
Fri
Dec 9
CIS705 presentations
at selected times