| No. |
Topic
|
Readings
|
| Class 1 |
Functional
Programming Basics; Higher-order functions |
Chap. 1,2,5 (LP) Chap. 1,2,5 (JU) |
| Class 2 |
Type
Inference; Polymorphic Type System
|
Chap. 2, 3 (LP) (Fixed
Points) |
| Class 3 |
Programming
with lists: Pattern matching |
Chap. 3 (LP) Chap. 3-5 (JU)
|
| Class 4 |
SML-97
Specifics |
(JU)
|
Class 5
|
Introduction
to Haskell |
Adv Haskell (1)
(2)
|
Class 6
|
Fold
operations : foldr, foldl |
Chap. 5 (LP) Chap. 5 (JU) |
| Class 7 |
Types
: Concrete and Abstract |
Chap 6 (JU) Chap 7 (LP)
|
| Class 8 |
Modules
|
Chap 7 (LP) Chap. 8 (JU) |
| Class 9 |
Recursion
and Induction |
Chap. 6 (LP) |
| Class 10 |
Examples
(Combinatorial Functions) |
|
| Class 11 |
Efficiency;
Streams;Records;
Exceptions; References; |
Chap 5, 8 (LP) Chap. 7 (JU) |
Class 12
|
Test 1 (June 5, Wednesday, 10am-11am, Loc: 339 RC)
|
|
| Class 13 |
Lambda Calculus Optional (1)
(2)
|
Scala
|
Class 14
|
Logic
Programming Paradigm
|
|
Class 15
|
Prolog
and Unification
|
|
Class 16
|
Meaning
of Prolog Programs
|
|
Class 17
|
List
Processing; Operators |
|
Class 18
|
Arithmetic;
Structures |
|
Class 19
|
Controlling
Backtracking |
|
Class 20
|
Negation
as Failure and Built-in Predicates
|
|
Class 21
|
Definite
Clause Grammars |
|
Class 22
|
Meta-Programming/Interpreters
|
|
Class 23
|
Constraint
Logic Programming |
Practical
Applications |
Class 24
|
Logic
and Models : Semantics of Prolog Programs |
|
Class 25
|
(cont'd) |
|
Class 26
|
Query
Evaluation Strategies; Efficiency |
|
| |
Test 2 (July 24, Wednesday, 10am-11:30am, Loc: 339 RC)
|
|