Homepage for CSC 324, Spring 2009

Principles of Programming Languages

University of Toronto at Mississauga


ANNOUNCEMENTS:
  • For the final exam, you are responsible for everything covered in the lectures, the assignments, the tutorials and the midterm.
  • For the final exam, you may bring a "cheat sheet" with you consisting of one 8.5x11 inch sheet of paper with notes on both sides. The notes must be handwritten and not photocopied. No other aids are allowed.
  • Assignment 3 is now available. It is due on April 9 at 3pm.
  • Due to popular demand, I have granted a 48 hour extension for Assignmnet 2B. It is now due on Sunday March 22 at 11:50am.
  • In Assignment 2b, you should not use ML's built in compose function, (f o g).
  • The lecture on Monday March 16 is cancelled.
  • The Prolog lecture slides are now available, below.
  • Assignment 2B is now available.
  • The midterm test will start promptly at 12:10pm.
  • Here are solutions to Assignment 2a.
  • Solutions to assignments 1a and 1b will be handed out in class on Monday (March 2).
  • The midterm test will cover everything covered in class and in tutorial up to the last lecture before the test.
  • Reminder: the midterm test will be in tutorial on Fri March 6. The midterm will be closed book. No aids will be allowed.
  • Here is a solution to Question 4 in Assignment 1B.
  • Tentative due dates for all the assignments are given below.

  • Prerequisites: CSC207H5/270H5, 236H5/238H5, 290H5
  • Course information sheet
  • Text: Sethi, Programming Languages: Concepts and Constructs, Addison-Wesley.

    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, SE3131.
  • Tutorials: Friday 12-1pm, SE 3131.
  • Tutorials may introduce new material not covered in lectures or in the text.
  • Teaching Assistant: Ali Juma, ajuma [at] cs [dot] toronto [dot] edu

    Midterm test:

  • will be held during tutorial on Friday March 6.
  • The midterm will be closed book. No aids will be allowed.

    Assignments:

  • Assignments should be submitted here.
  • Assignment 1A is now available
  • Assignment 1B is now available
  • Assignment 2A is now available
  • Assignment 2B is now available
  • Assignment 3 is now available

    Prolog lecture slides:

  • Introduction
  • Unification
  • Reasoning
  • Function terms
  • Quicksort
  • Queues

    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.

    Additional course information:

  • using PLT Scheme.
  • Lecture slides on higher-order programming.
  • Lecture slides on software verification.
  • using ML.
  • references in ML.
  • using SWI-Prolog.
  • Lecture slides on 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

    Plagiarism and Cheating:

  • The academic regulations of the University are outlined in the Code of Behaviour on Academic Matters.
  • Advice on academic offences