Homepage for CSC 324,
Spring 2010
Principles
of Programming Languages
University of Toronto Mississauga
ANNOUNCEMENTS:
Click here for the new instructor's web page for the course.
See the material on references in ML, below.
Assignment 3 is now available, below.
In Question 1 of Assignment 2, you should assume that the input list is an int list.
The results for Assignment 1 are now available on the submit website.
The midterm will start at 12:10 sharp.
Assignment 2 is now available, below.
For the miderm test, you are responsible for everything covered in class and in tutorials before reading week.
The midterm test will be closed book.
Reminder: The MIDTERM TEST will be in tutorial on Friday Feb 26 (right after reading week).
There is a typo in the definition of reverse in Question 11 of Assignment 1. It has now been corrected. (See the updated question sheet.)
In Assignment 1, you may NOT use the built-in Scheme function compose.
The midterm test will be on Friday Feb 26 in tutorial.
Prerequisites: CSC207H5/270H5, 236H5/238H5, 290H5
Course information sheet
Text: Sethi, Programming Languages: Concepts and
Constructs, Addison-Wesley. This course covers material in
chapters 1, 2, 4, 8, 9, 10, 11 and 15.
Instructor:
Anthony Bonner
email: my last name [at] cs [dot] toronto [dot] edu
phone: 905-828-3813 (UTM), 416-978-7441 (St George)
office: CC 4004 (UTM), BA 4268 (St George)
office hours: MW 3-4pm.
Classes: Monday 4-6pm, NE 268.
Tutorials: Friday 12-1pm, KN 130.
Tutorials may introduce new material not covered in the lectures or the text.
Teaching Assistant: Hyonho Lee
Midterm test:
Friday Feb 26 in tutorial.
Assignments:
Assignments should be submitted here.
Assignment 1 is now available.
Submission instructions are available here.
Assignment 2 is now available.
Assignment 3 is now available.
Prolog lecture slides:
Introduction
Unification
Reasoning
Function terms
Quicksort
Queues
Additional lecture slides:
higher-order programming (Scheme)
software verification (Scheme)
context free grammars:
slides 1 and
slides 2
Links to programming languages used in this course:
PLT Scheme
Standard ML of New Jersey
SWI-Prolog
How to use the programming languages:
using PLT Scheme
using ML
references in ML
using SWI-Prolog
Additional references:
Ullman, Elements of ML programming, Prentice-Hall. Recommended
Paulson, ML for the Working Programmer, Cambridge University Press.
Dybvig, The Scheme Programming Language, Prentice-Hall.
Friedman, Scheme and the Art of Programming, MIT Press and McGraw-Hill.
Clocksin and Mellish, Programming in Prolog, Springer Verlag.
Bratko, Prolog Programming for Artificial Intelligence, Addison-Wesley.
Plagiarism and Cheating:
The academic regulations of the University are outlined in the
Code of Behaviour on Academic Matters.
Advice on academic offences