**
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.**