CS 7400 Machine Problem 1

Hello World

Out: Monday, September 14, 2009

Due: Monday, September 21, 2009

The purpose of this assignment is to familiarize you with the PLT module and test systems, the CCIS computing facilities, and the turn-in procedures we will use in this course. It is also intended to give you practice using the various methods of definition discussed in class and in writing and testing simple procedures in Scheme.

  1. If you are not already subscribed to the cs7400 mailing list, subscribe yourself by going here. Be sure to include your first and last names, so I'll know who is who. Please do this right now, so that you will be connected for future messages.
  2. Submit your picture for the picture gallery. The instructions are here.

    Please also note that, although submitting a picture is required, we will respect your privacy. If you prefer not to have your picture included in the class photo album, please notify me privately by email.

  3. Do the following exercises in EOPL3:

Each of these 18 exercises will count 2 points each, for a maximum of 36 points on this assignment. (This number is chosen as a convenient grading scale and does not affect the worth of this problem set in your overall grade, see [weighted averages].)

Follow the instructions at the beginning of Section 1.4 in interpreting these problems. For each procedure, you must include a purpose statement, contract, and tests (using check-expect) following the examples in class. If you have any auxiliary procedures, you should include purpose statement and contract for each of them as well.

Note: the tests in the book are almost never sufficient! An unsatisfactory set of tests will result in a 2-point penalty. For Exercise 1.21, your tests should use the procedure equal-as-sets? to capture the requirement that "the 2-lists may appear in any order."

Code that is really badly indented or not indented at all will be penalized. Use the PLT indenter.

Your deliverables are:

  1. Your solutions to exercises 1.1-1.3, written in your favorite word processor. As PhD students, you should be learning LaTeX, which is the de facto standard for papers in CS.
  2. Your code in a PLT Scheme module called mp1. It should be written in the language (lib "eopl.ss" "eopl") (that is, the EOPL language level), and it should provide each of the procedures in the problem set.
  3. A Development Diary.

Instructions for submitting your assignment will be posted here shortly.

Last modified: Wed Sep 09 20:34:34 Eastern Daylight Time 2009