Captain's Log: CIS 505/705, Fall 2017
(Introduction To) Programming Languages

Aug 21 (Mon)
Class canceled so as to enable travel for solar eclipse
1: Aug 23 (Wed)
Introduction to course:
2: Aug 25 (Fri)
Cover the slide set Basics.pdf (except for the last part on polymorphism) with focus on types:
3: Aug 28 (Mon)
4: Aug 30 (Wed)
Lab 1 due at 11:59pm.
5: Sep 1 (Fri)
Sep 4 (Mon)
University Holiday (Labor Day)
6: Sep 6 (Wed)
7: Sep 8 (Fri)
8: Sep 11 (Mon)
9: Sep 13 (Wed)
10: Sep 15 (Fri)
11: Sep 18 (Mon)
12: Sep 20 (Wed)
13: Sep 22 (Fri)
14: Sep 25 (Mon)
15: Sep 27 (Wed)
Exam 1
16: Sep 29 (Fri)
Our focus now turns to the implementation of a programming language:
17: Oct 2 (Mon)
Present Programming Project 2
18: Oct 4 (Wed)
19: Oct 6 (Fri)
20: Oct 9 (Mon)
21: Oct 11 (Wed)
22: Oct 13 (Fri)
Continue discussing how to implement functional languages: Project 2 due over the weekend.
23: Oct 16 (Mon)
As in Chapter 7 of the textbook, we embark on how to interpret higher order functions (the slides InterpretHigherOrderFunctions)
24: Oct 18 (Wed)
25: Oct 20 (Fri)
26: Oct 23 (Mon)
Racket Lab 1 due tomorrow night.
27: Oct 25 (Wed)
28: Oct 27 (Fri)
Project 3 due over the weekend.
29: Oct 30 (Mon)
Prepare for Exam 2:
30: Nov 1 (Wed)
Exam 2
31: Nov 3 (Fri)
Introduce Project 4, on writing an interpreter for an object-oriented functional language: Continue the slides InterpretMutations (cf Chapter 8 of the textbook):
32: Nov 6 (Mon)
Continue the slides InterpretMutations (cf Chapter 8 of the textbook): Continue discussing Project 4:
33: Nov 8 (Wed)
Finish the slides InterpretMutations (Chapter 8 of the textbook): To prepare for Prolog (the 3rd part of the course), start on a crash course in logic (the slides Logic101):
34: Nov 10 (Fri)
Project 4 due over the weekend.
35: Nov 13 (Mon)
Finish the crash course in logic:
36: Nov 15 (Wed)
Introduction to Prolog (also described in Chapter 8 of Schmidt's notes): Introduce Prolog Lab 1, due Friday night
37: Nov 17 (Fri)
Prolog Lab 1 due tonight.
Nov 20-24 (Mon-Fri)
Thanksgiving holiday
38: Nov 27 (Mon)
Introduce Project 5 (due the coming weekend): Discuss model solutions for Prolog Lab 1.
39: Nov 29 (Wed)
Continue Prolog: Continue discussing the skeleton interpreter for Project 5, in particular:
40: Dec 1 (Fri)
See some non-trivial applications of Prolog: Put Prolog in perspective, also mentioning Datalog which is a proper subset.

3:30-4:30pm: CIS705 presentations in room 2168.

Project 5 due this weekend.

41: Dec 4 (Mon)
Dec 5 (Tue)
1-5pm in room 2207: CIS705 presentations
Dec 6 (Wed)
Class canceled
Dec 7 (Thu)
10am-1pm in room 2168: CIS705 presentations
42: Dec 8 (Fri)
Review session, discussing
Dec 11 (Mon)
Final exam, 11:50am - 1:40pm


Torben Amtoft