Homepage for CSC 324, Fall 2003

Principles of Programming Languages

University of Toronto at Mississauga


ANNOUNCEMENTS:
  • Tentative final grades are now available.
  • Please check your term marks and report any problems to the instructor (bonner).

    Course information sheet:

  • in Postscript.
  • in Adobe PDF.

    Tutorials:

  • Friday 2-3pm, SE3130.
  • Tutor: Alfredo Gabaldon
  • email: etcsc324

    Course news group:

  • Read the newsgroup.
  • Post a message to the newsgroup.

    Electronic submission:

  • Click here to submit an assignment.
  • No late assignments accepted.

    FINAL EXAM:

  • 3 hours, closed book.
  • One hand-written, double-sided 8.5x11 inch "cheat sheet" is allowed.
  • No typed or photo-copied sheets are allowed. No other aids are allowed.
  • Will cover everything in the course, including Scheme, ML, Prolog, and context free grammars.
  • Be sure you understand all the homework assignments and their solutions thoroughly.
  • Here is last year's final exam, including some solutions.

    ASSIGNMENT 1A:

  • as Adobe PDF file.
  • as Microsoft Word document.
  • Due Friday September 26 at 2pm (just before tutorial).
  • Submission instructions.
  • Sample solutions.

    ASSIGNMENT 1B:

  • as Adobe PDF file.
  • Late assignments will not be accepted.
  • Submissions instructions are the same as for Assignment 1A.
  • Sample solutions.

    ASSIGNMENT 2A:

  • in Postscript.
  • in Adobe PDF.
  • Due Friday October 24 at 2pm (just before tutorial).
  • Submission instructions.

    ASSIGNMENT 2B:

  • in Postscript.
  • in Adobe PDF.
  • Due Friday November 14 at 2pm (just before tutorial).
  • Grades have now been attached to each question.
  • Hint 1: if your solutions in Q6 involve the use of ML's built-in lists, or of the append function, then your solution is probably wrong.
  • Hint 2: In Question 6, try defining your own linked-list datatype, just as you defined your own tree datatype in Question 5.
  • In Question 6, if you can't get iteration to work, then for part marks, you may use recursion.
  • Submission instructions.
  • Sample solutions.

    ASSIGNMENT 3A:

  • in Postscript.
  • in Adobe PDF.
  • Due Friday November 28 at 2pm (just before tutorial).

    ASSIGNMENT 3B:

  • in Postscript.
  • in Adobe PDF.
  • Due Friday Dec 5 at 2pm (just before tutorial).

    Prolog lecture slides:

  • Introduction
  • Unification
  • Reasoning
  • Function terms

    Prolog examples:

  • Quicksort
  • Queues

    Additional course information:

  • Tutorial web page
  • using Scheme.
  • Lecture slides on higher-order programming.
  • using ML.
  • references in ML.
  • using XSB Prolog.
  • Lecture slides on context free grammars: slides 1 and slides 2.

    Links to programming languages used in this course:

  • MIT Scheme
  • Standard ML of New Jersey
  • XSB Prolog