This is an introductory programming language course for graduate students. Students are not assumed to have deep pre-knowledge of functional programming or logic programming. Significant experience with C-like languages and Java-like languages, however, is required. Topics covered by the course include:
This dateline is being developed incrementally and iteratively. The schedules and topics will be continually updated to reflect any changes.
|
Date
|
Day
|
Topic
|
Note
|
Assignments
|
|
Aug 27
|
T
|
Introduction
|
|
|
|
29
|
Th
|
Procedual Languages Under the Hood I
|
|
|
|
Sept 10
|
T
|
Procedural Languages Under the Hood II
|
|
|
|
12
|
Th
|
OO Languages Under the Hood I
|
|
|
|
17
|
T
|
OO Languages Under the Hood II
|
|
|
|
19
|
Th
|
OO Languages Under the Hood III
|
|
Assignment I Out
|
|
24
|
T
|
OO Languages Under the Hood IV (Featherweight Java I)
|
|
|
|
26
|
Th
|
OO Languages Under the Hood V (Featherweight Java II)
|
Quiz I
|
|
|
Oct 1
|
T
|
OO Languages Under the Hood VI (Featherweight Java III)
|
|
Assignment II out next day
|
|
3
|
Th
|
OO Languages Under the Hood VII (Featherweight Java IV)
|
|
|
|
8
|
T
|
OO Languages Under the Hood VIII (Featherweight Java V)
|
|
|
|
10
|
Th
|
Functional Languages: Haskell basics
|
|
|
|
15
|
T
|
Functional Languages: Haskell basics
|
|
|
|
17
|
Th
|
Functional Languages: Haskell lists
|
|
|
|
22
|
T
|
Functional Languages: Haskell higher-order functions
|
|
|
|
24
|
Th
|
Functional Languages: Haskell data type
|
|
Assignment III Out next day
|
|
29
|
T
|
Functional Languages: Haskell type classes
|
|
|
|
Nov 1
|
F
|
Functional Languages: Haskell concurrency
|
non-regular time
|
Assignment III Due Nov 4 11:59PM
|
|
5
|
T
|
mid-term I
|
|
|
|
7
|
Th
|
Functional Languages Under the Hood I (Lambda Calculus)
|
|
|
|
12
|
T
|
Functional Languages Under the Hood II (Lambda Calculus)
|
|
|
|
14
|
Th
|
Functional Languages Under the Hood III (Lambda Calculus)
|
|
|
|
19
|
T
|
Functional Languages Under the Hood IV (Lambda Calculus)
|
|
|
|
21
|
Th
|
Functional Languages Under the Hood V (Lambda Calculus)
|
|
|
|
26
|
T
|
Logic Languages: Prolog I
|
|
|
|
28
|
Th
|
no class
|
turkey day
|
Assignment IV Out Nov 29
|
|
Dec 3
|
T
|
Logic Languages: Prolog II
|
|
|
|
5
|
Th
|
Compiler I
|
Quiz II
|
|
|
10
|
T
|
Compiler II
|
Quiz III
|
Assignment IV Due 11:59PM
|
|
12
|
Th
|
Compiler III, concluding remarks
|
|
mid-term II, 3PM, Dec 13
|