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