University of Toronto - Winter
Department of Computer Science
Principles of Programming Languages
This page contains links to all relevant documents for Assignment 3.
Feb 15 There will be an optional help session to discuss
Assignment 3. If no one has Assignment 3 questions, we will use this
time to review general material and concepts in the course:
Friday February 16
There will be two more Help Sessions for Assignment 3:
2:00 - 3:00 PM
Tuesday February 20 and Friday February 23
3:00 -- 5:00 PM
Miscellaneous Tips on Scheme Debugging and Code Testing
1. Tips on Debugging Your Scheme Code
Please read this for some tips on debugging Scheme code
and writing code with good style.
2. Tips on Testing
To help you in testing your code, you might like to develop a test suite,
by creating an input file (e.g.,
with a series of commands
for Scheme to run, and an output file (e.g.,
results for you to analyze. To run this test suite, you can use the command
Here is an example input file
scheme < testfile.in > testfile.out
No -- you do NOT have to hand in your test suites for A3, but you do need
to test your code! The above is just for your information. It may or
may not prove to be useful to you.
3. Other Ways to Create Output
Don't forget that you can also use the built-in procedures
record a transcript of a Scheme session.
Scheme Microcode Version 14.9
MIT Scheme running under GNU/Linux
Type `^C' (control-C) followed by `H' to obtain information about interrupts.
Scheme saved on Monday June 17, 2002 at 10:03:44 PM
1 ]=> (transcript-on "mytrans")
;Unspecified return value
1 ]=> (length '(a b c d))
End of input stream reached
Happy Happy Joy Joy.
Specification of the Assignment
Assignment 3 Handout
PDF (Due Tuesday February 27, 1pm) ** Note change in due date **.
You must follow the following Code Requirements and Marking Information.
Please review the following helpful document on
responsibility to monitor the
A3 Clarifications Page for any clarifications or corrections.
Back to the main page