PPL: Principles of Programming Languages
The following is an *approximate* week-by-week
course schedule:
------
Week 1:
2015-01-21 (W):
Introduction to CS520
1. Some basics on functional programming
2. How to compile/run code written in ATS
------
Week 2:
2015-01-26 (M):
Introduction to Programming in ATS
1. Specification, Implementation and Verification
2015-01-28 (W): Cancellation due to snow
------
Week 3:
2015-02-02 (M): Cancellation due to snow
2015-02-04 (W):
1. Theorem-proving in ATS: propsitional logic(1)
------
Week 4:
2015-02-09 (M): Cancellation due to snow
2015-02-11 (M):
1. Theorem-proving in ATS: propsitional logic(1)
------
Week 5:
2015-02-17 (T):
1. Theorem-proving in ATS: first-order logic + induction
2015-02-18 (W):
1. Introduction to dependently typed datatypes: list
------
Week 6:
2015-02-23 (M):
1. Introduction to linear types (1)
2015-02-25 (W):
1. Introduction to linear types (2)
------
Week 7:
2015-03-02 (M):
1. Programming with theorem-proving
2015-03-04 (W):
1. mergesort and parallel mergesort
------
Week 8:
2015-03-09: Spring break
2015-03-11: Spring break
------
Week 9:
2015-03-16:
1. Programming with theorem-proving:
Verified implementation of permutation
2015-03-18:
1. Interacting ATS with C
2. Dining Philosophers: channels, deadlocking
------
Week 10:
2015-03-23:
1. Programming with templates
2015-03-25:
1. Programming with exceptions
2. Programming with contiuations
------
Week 11:
2015-03-30:
1. Views as linear props (array_v)
2015-04-01:
1. Untyped lambda-calculus(intro)
------
Week 12:
2015-04-06: Functional reactive programming
2015-04-08: Untyped lambda-calculus(substitute)
------
Week 13:
2015-04-13: Untyped lambda-calculus(interp/subst/1)
2015-04-15: Untyped lambda-calculus(interp/subst/2)
------
Week 14:
2015-04-20: Holiday
2015-04-22: Untyped functional PL(interp/closure/1)
------
Week 15:
2015-04-27: Untyped functional PL(interp/closure/2)
2015-04-29: Meeting students individually
------ end of [schedules.txt] ------