University of Toronto at Scarborough - Spring 2001
Department of Computer Science

CSC C24: Principles of Programming Languages

General Information

Instructor: Eric Joanis
Info Sheet: Please consult the course info sheet for most general information about the course.
Synopsis: The course synopsis can be found here.
Notes Online: Lecture slides will be made available here throughout the term.
Tutorials Online: Your TA, Jason Gray, will post tutorial material and other useful information on his turorial page.
Newsgroup: We will use the downtown newsgroup ut.cdf.csc324h for assignments we share with them.
You can post to the newsgroup by sending e-mail to
Homework Assignments: Homework assignments will be posted here.
Programming Projects: Programming projects will be posted here.
Online References: Scheme references and Prolog references.
Your Marks: You can check your marks online here.


Watch this space for announcements throughout the term.

April 30: Here's are Jason's marking comments for HW5.

April 29: Graded projects will be placed in a box on top of the drop boxes tomorrow (Monday) morning. All other work until HW4 is already available there. Also, your TA's grading comments have been added to the project page.

April 28: You can now find the test suite used in the P2 automarking on the project page.

April 26: A new mark has been added to the grade file called p2automarkingonly. This is the correctness portion of your project grade, based only on the results of the automarking, out of 55. The whole project will be out of 100, so you can consider this portion as being worth 5.5% of your course grade.

April 26: Graded HW3 and HW4 papers, as well as any previously unclaimed work, is now available in a box on top of the drop boxes.

April 17: I will hold an office hour on Wednesday, April 25, from noon to 3pm.

April 7: Study aid: last summer's final.

April 4: For question 7 of HW5, you should do part (b) only.

March 22: Prolog project grace day policy: since the Prolog project is due on a Friday, and I can't collect things on the week-end, I will use the following grace day policy: if your project is in by Friday, March 30, 4pm, it uses one grace day. If your project is in by Monday, April 2nd, 1pm, it uses two grace days.

March 20: HW4 is due at 1pm, not 11am as incorrectly indicated on the handout.

March 20: I realize some people have been having a hard time using the Unix script utility, so a few pointers: start it with "script scriptfile"; run Scheme/Prolog, do your testing, quit Scheme/Prolog; exit the script shell; run "cleanscript scriptfile" and print the cleaned file for handing in.

March 16: Forcing two variables to be distinct. If you need to specify that two variables, say X and Y, must have different values, you can use X \= Y. The meaning of this expression is: X \= Y holds if X and Y cannot be unified.

March 16: A typo on HW4: for selectionsort, the algorithm should say "take the largest element of the list, and move it to the front," not the smallest, since we want the list sorted in non-increasing order.

March 15: You can read your TA's marking comments for Project 1 and Homework 2. You can also use the project marking script to see where you lost your correctness marks. Save the file in the directory where your cl.scm file is located, and run "scheme < p1autotest" at the command prompt.

March 10: Unfortunately, it will not be possible to have the midterms marked this week-end. If you want to have an idea of your midterm grade before you decide whether to stay the course or not, you can review the solutions posted yesterday and estimate what you might get. As a point of reference, the average was 60% at Erindale with a similar midterm, and I expect the average at Scarborough to be about the same.

March 9: Here are the midterm solutions.

March 9: You can now check your marks online. Project marks have been posted.

March 9: I've added an XSB basics document and a link to the High-Level Tracing page of the XSB manual in the Prolog references section. Have a look at them, they'll help you figure out how to use XSB Prolog.

March 2: Midterm room assignments: last names A-K: S128; last names L-Z: S143.

February 24: Several typos on the HW3 handout were noted on the newsgroup (remember to read it regularly!), so they were fixed and a corrected version is now available on the homeworks page.

February 14: I've been asked to provide an old midterm, which I have no problem doing, except that the material was covered in a slightly different order this term, so half of questions are about material we haven't seen. However, in case it might still be useful, you can have a look at last summer's midterm.

February 7: P1 Extension: The due date for the Scheme project has been moved to Friday, February 16, 1pm. However, because of the following week-end and reading week, no graces days will be allowed, so I will not accept any projects after 1pm on Friday.

February 6: I've added a courses.scm file to the projects page containing the database as it appears on the handout.

February 5: In Wednesday's and next week's lectures, I will be using many of the downtown slides, so you should print them and bring them to class.

February 5: Reminder: you are responsible for reading the newsgroup to get clarifications on the assignments.

February 4: Room change: tutorial section 3 is now in H309, a larger room.
Tutorial section 4 cancelled! Students currently attending section 4 should now attend section 3 in H309, which should have enough room for the combined group.

January 31: This afternoon's office hour will be shortened to only be from 2:30 until 3:00, as I must be downtown by 4pm. Please come before 3pm if you need to see me, or earlier during the day--I should be in my office until lecture time.

January 29: The Scheme project is now on the projects page (see new link above).

January 25: I've just added Scheme and Prolog reference links above, including a small program to get you started with Scheme.

January 15: Tutorial section 4 will be held in B358 (R3231) TU4-5 until the class size goes down enough to bring the students in that section back into the other three sections. I expect we'll keep this section for about a month.

January 15: Class was not cancelled today--we did have power in the lecture hall. If you went home when we lost power, please get notes from someone else in the course.

January 15: Some corrections were made to homework 1. Please reprint it if you have the old version. The new version says "Revised" on the first line.

January 14: Homework 1 is now available on the homeworks page (see above).

January 13: I finally got around to putting this page together. Please let me know if you think any information is missing or incorrect.