CSC324: Principles of Programming Languages, Fall 2004  

Announcements! read the course newsgroup
post to the course newsgroup from home
log of updates to web pages. (README regularly)
FYI: A new web site for general undergraduate announcements
Happy New Year: Unofficial marks are posted below. Old assignments are still outside my office since CSSU isn't open regular hours yet. When I move them to CSSU, I'll post a message here.

End of Term - Final Exam "Cheat Sheet": FYI, this document will be included on the last page of your exam.
- Note that you will be expected to know Prolog Spec Modes (as used in A4 and A5), but these are not reviewed on the cheat sheet.
- Final Exam Schedule: click here.
- Pre-final office hours: to be scheduled. Keep checking here.
- Picking up A5: Stay tuned for information.
- Picking up old assignments: read me.
- Final Marks: Make sure to check them here in January for recording errors.

Course Administration course information sheet
important dates
tutorial rooms
CDF accounts (as of September 19)
course TAs
course description from the academic calendar
Readme: the two sections of CSC324.
Lectures & Tutorials lecture slides and readings
tutorial notes
Marks Marks (as of January 12, 2005)
Please confirm that your marks are recorded correctly.
Midterm Midterm solutions (PDF) , (PS) .
Midterm marking scheme
Pre-Midterm Information Page
Assignments read this document on testing PDF, PS.
getting your assignment remarked
Assignment 1: (Formal Specification).
Assignment 2: (Scheme).
Assignment 3: (ML & Typing).
Assignment 4: (Prolog).(Due Fri Nov 26, 5PM)
Readme: Clarifications and Corrections for Assignment 4
Assignment 5: (Prolog).(Due Wed Dec 8, 5PM)
Readme: Clarifications and Corrections for Assignment 5
Other Admin Links UoT - medical note (Get this filled in if you're sick.)
CDF - Working at Home
Submitting Assignments over the Web
The New Computer Science Curriculum
Faculty of Arts and Science Calendar
Scheme MIT Scheme Home Page (Software and Documentation)
Debugging in MIT Scheme
"The Scheme programming language" by Dybvig
"Common Lisp the Language" by Guy L. Steele
"An Introduction to Scheme and its Implementation" by Paul R. Wilson
Google archive of news://comp.lang.scheme/
ML SML/NJ Home Page
What is ML?
A Gentle Intr oduction to ML by Andrew Cumming
Programming in StandardML by Robert Harper (*Recommended*)
Notes on Programming SML /NJ by Riccardo Pucella
Tutorial: Programming in StandardML'97 by Stephen Gilmore
Google archive of news://
Prolog SWI-Prolog Home Page (Software and Documentation)
Coding Guidelines for Prolog by Michael Covington
GNU Prolog Manual
Prolog Tutorial by A. Aaby
"Prolog by Examples" by Roman Barták
Intermediate Prolog :- tutorial by J.R.Fisher
"Logic Programming Course" by Pierre Massicotte
"Prolog Programming A First Course" by Paul Brna
Prolog: A Tutorial Introduction by James Lu and Jerry Mead
Adventure in Prolog by Amzi! inc
Google archive of news://comp.lang.prolog/
Fun Reading (optional) Lisp Retrospective (essay) by Peter Norvig
Tutorial on Good Lisp Programming by Peter Norvig
Lisp as an Alternative to Java by Peter Norvig
JScheme: Scheme in Java (free software) by Peter Norvig
Why Functional Programming Matters by John Hughes
C++? A Critique of C++ by Ian Joyner
The Case Against C by P.J. Moylan
A Comparative Overview of C#
The Essence of Algol by John C. Reynolds
A Critique of Java by Harold Thimbleby
The Development of the C Language by Dennis Ritchie
Why Pascal is Not My Favorite Programming Language? by Brian Kernighan
Can Programming Be Liberated from the von Neumann Style? by John Backus
Teaching the Fatal Disease by Richard C. Holt

For further information about the course or to report problems with the web page, contact the instructor, Sheila McIlraith: