Programming Language Paradigms - CMPSCI 287


Office Hours

The semester is over - these are the former office hours.


Solutions are available for previous quizzes, and exams. Solutions for some of the homeworks will be posted as we go.

Useful Scheme Functions

Syllabus and Class Schedule

We will cover the essentials of the first four chapters of the text. The readings, homeworks, and topics discussed are listed for each date.

  • May 16: Lecture #26
    Course main themes.
  • May 17: Discussion #14
    Patrick will not be able to conduct discussion on this date, discussion is canceled.
  • May 19: Final Exam
    At 8:00AM in ECSC-0119.


    Current grades are updated throughout the semester.

    Ed Lab

    If you do not have your own machine, then you will need to become familiar with the EdLab machines. You have an EdLab account. We will use the drscheme implementation of the Scheme dialect of Lisp. You may want to download drscheme onto your own machine. Documentation is available too.

    Late Policy

    Homework is due at the beginning of class on the date stated. Do not be late or absent in order to complete a homework. Hand in your best effort by the deadline. Late homework will be not be accepted. You need to keep up with the homeworks as a means of learning the material and understanding the lectures and discussions. You need to spend time in your laboratory (Dr. Scheme) posing and answering questions, implementing and testing code, conducting experiments, being your own best critic, and generally practicing. Cognitive skill is acquired through exertion, practice, and drill. To do well, be sure to persevere with your homework.


    If you have not completed CMPSCI 187 successfully, do not take this course. I need to count on your being at least this familiar with programming and data structures.

    Course Requirements

    You need to come to class. You need to do the assigned homework. We will have two in-class midterms, no quizzes, and a final exam. The homeworks count 35%, the two midterms count 15% each, and the final counts 35%.


    We will use Structure and Interpretation of Computer Programs, second edition, 1996, by Abelson, Sussman, and Sussman. It is available in the Textbook Annex, and online. A handy online tutorial is Teach Yourself Scheme in Fixnum Days by Dorai Sitaram.

    Lisp Real World Applications

    Academic Honesty

    Your work for the course needs to be the result of your individual effort. Talking with fellow classmates is of course an important and exciting part of the learning process, so you will need to use good judgement. If you are in doubt, feel free to ask. Be sure to attribute correctly those ideas that you borrow from others.

    Intellectual Property

    Many of the materials created for this course are the intellectual property of the instructor. This includes, but is not limited to, the syllabus, lectures and course notes. Except to the extent not protected by copyright law, any use, distribution or sale of such materials requires the permission of the instructor. Please be aware that it is a violation of university policy to reproduce, for distribution or sale, class lectures or class notes, unless copyright has been explicity waived by the faculty member.

    Last Updated: May 31, 2006
    © Copyright 2006, All Rights Reserved, Paul Utgoff, University of Massachusetts