Text
We will be following "Concepts, Techniques and Models of Computing", by van Roy and Haridi. We will also use some published articles, I hope to add the links when we discuss them.
Schedule
Tuesday 16:00-17:00 CS101; Wednesday & Friday 15:00-16:00 CS101
Syllabus
We plan to cover the following topics, roughly: We may modify it slightly during the course of the semester.
Grading Policy
.
Forum, Grades, News!
Moodle
Homework 1 Changelog

Homework 2 Changelog. [Unify.oz] [Unify API Documentation] [Dictionary Sample Usage]
[Some test cases. (Courtesy: Siddharth)]

Homework 3
Homework 4
Meeting Outlines

(You may use Org Mode in emacs (enabled with M-x org-mode ) to see the notes formatted better.)

Section Date Topic(s) covered Notes (Draft)
1 July 26 Introduction Notes
July 27 Outline
July 29 c_const_test.c
Aug 2 PlanePoint.oz
2 Aug 3-Aug16 Declarative Model Outline
Aug 17 Exceptions Exceptions
paranoid.c
Aug 23 Unification Unification
2' August 26Untyped λ calculus Untyped λ calculus
August 30
August 31
3 Sept 2 Declarative Programming Techniques- Tail Recursion, Follow the grammar declarative-programming

ReverseList.oz

QuickSort.oz

MyList.oz
MyListUse.oz
Sept 6 Tail Recursion, Difference Lists, Procedural Abstraction, Genericity
Sept 7 Instantiation, Embedding, Modules/Functors
4 Sept 9 Declarative Concurrency - Introduction, Semantics declarative-concurrency

Thread.oz
ForAll.oz
Sept 20 Declarative Concurrency-Threads
Sept 21 Stream Objects, Lazy Programming
5 Sept 27 Message Passing Concurrency - Ports mpc
Sept 28 Ports (contd.)
Sept 30 Port Objects that Share a thread, Thread abstraction with termination detection, Nondeterministic choice: Symmetric and Asymmetric
5' Oct 10 Erlang - Sequential Programming, Concurrent Programming erlang [Modified: October 18]
Oct 11 Erlang - Concurrent Programming (contd.)
6 Oct 18 Explicit State explicitstate
polymorphism
stack-1.oz
stack-2.oz
collection-1.oz
collection-2.oz
Oct 19
Oct 21
7 Oct 25 Object-Oriented Programming oop

Java 1.4 Polymorphism
Oct 28
Nov 1
Nov 2
8 Nov 4 Type Inference tinf
Nov 8
Nov 9
9 Nov 11 Relational Programming Notes
Tools
Links
Benjamin Pierce's List of Great Works in Programming Languages.
[Stack Overflow] [ Programmers.StackExchange ]
The Tcl Wars
An Interview with Alonzo Church on Princeton in the 1930s.

Valid HTML 4.01 Strict Valid CSS!