CS 603 Homework assignments

Spring 2006

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.

Homework 0 Questions 1, 2, 3, 4, 5 in grammars.pdf.
Homework 1 Chapter 2 exercises 1, 2, 6, 7, 8, 12.  Use recursion rather than while-loops in exercises 1, 2, 6.
Homework 2 Chapter 3 exercises 1 (a, c), 5 (a, c, e, g, i), 25 (a, b, c).  Use recursion rather than while-loops in exercises 1, 5.
Homework 3 Repeat these exercises from Homeworks 1 and 2 using ML rather than Impcore or Scheme:  Chapter 2 exercises 1, 2, 6.  Chapter 3 exercises 1 (a, c), 5 (a, c, e, g, i).  Due to ML's type restrictions, the functions countall and flatten may not be as general in ML as in Scheme, so it will be sufficient to just write two versions for each of these functions: one that works if L is a list of lists, and one that works if L is a list of lists of lists.
Homework 4 Chapter 9 exercises 1, 7 (a, b, c, d), 13.
Homework 5 Chapter 10 exercises 2 (b, d), 3, 9 (a, b), 12.

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.  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 (3:30 p.m.) on the specified due date.