CS 603 Homework assignments

Spring 2007

Most of the homeworks in this course are selected from the textbook, although sometimes we might augment the descriptions given in the text with additional explanations or specifications.  Please refer to this page before you begin each homework, and again before you submit each homework in case any clarifications have been added.  The exercise numbers refer to the Spring 2007 edition of the text.

Homework 1 Chapter 2 exercises 3, 4, 5, 9, 10.  Use recursion rather than while-loops in exercises 3, 4, 5, but still try to write efficient functions.
Homework 2 Chapter 3 exercises 1 (b, d), 4 (a, b), 5 (b, d, f, h, j), 26, 27.  For exercise 27, also explain why.
Homework 3 Repeat these exercises from Homeworks 1 and 2 using ML rather than Impcore or Scheme:  Chapter 2 exercises 3, 4, 5.  Chapter 3 exercises 1 (b, d), 5 (b, d, f, h, j).  Due to ML's type restrictions, the twist function may not be as general in ML as in Scheme, so write two versions of the twist function: one that works when L is a list of lists, and one that works when L is a list of lists of lists.
Homework 4 Chapter 9 exercises 2, 3, 4, 8 (a, b).
Homework 5 Chapter 10 exercises 1, 2 (c), 4, 9 (c), 10, 13.

The homework assignments must be solved and written up individually.  Under no circumstances should you see another student's written work.  However, you may discuss the concepts verbally, provided any conversations take place while nobody is referring to their written work, and provided that everybody involved is contributing equally.  It is acceptable to refer to the textbook or the lecture notes during such discussions.

It is strongly recommended that you should use the provided interpreters to test your answers for any exercises that ask you to write code.  For such exercises your grade depends upon correctness, efficiency, and programming style.

The due date for each homework can be viewed on the Tentative Course Schedule.  These due dates will not be moved forward, but they might be moved back at the discretion of the instructor.  Submit your homework on paper at the beginning of class on the specified due date.