The accompanying table indicates assignments and due dates for Computer Science 152 and are subject to the following notes.

Due Date Collaboration Chapter Problems
February 1 Yes (Project) Problem 1 (below)
February 9 No Session J4 Any 2 "Post-Laboratory Problems" from Lab J4
Due Date Collaboration Chapter Problems

Additional Exercises

  1. Project -- Draft Specifications: In class, we outlined some features that might be useful in a program or package that would allow students to test their Scheme programs and to submit their programs to their instructor.

    Working individually or in groups of 2 or 3, write a detailed list of desired features for such a program.

    These specifications should be written from the users' perspective. Some questions to address are:

    • What should a user do to run the program (either in a terminal window or on the Web, if desired)?
    • What information should a user supply for each feature, and what information should be returned by the program?
    • How are test cases entered into the system, and to what extent are the test cases secret?
    • In testing by the package, what constitutes a correct solution (e.g., should the format of the output matter, should labeling of output matter, should the order of answers matter, etc.)?
    • Suppose a program goes into an infinite loop during its execution of a test case. How should this be detected, and how should the user be notified? (Note: Computer Science theory indicates that it is impossible to detect all infinite loops, so detection might require a time-out feature, or the testing program might just loop forever.)
    • For testing, how should results of the automated test cases be reported?
    • How should Scheme programs be submitted to the instructor by the user?
    • Presumeably, the instructor would see both the program and the results of the testing. Should other cases be allowed?

This document is available on the World Wide Web as

created January 18, 2001
last revised January 28, 2001