CMPS 203 Homework - Spring 1999

Written homework (40% of grade)

All written assignments must be nicely formatted. It does not need to be fancy, but handwritten assignments are not acceptable. You are welcome to use any word processor or text formatting system. Here is a simple latex template you can use if you are not familiar with latex and to not have some other preference.
  1. Evaluating Programming Languages
    Pick your favorite language and write a brief evaluation of it using the criteria listed on pages 4 and 5 of the text. Please keep it brief. Two to three pages, 12pt single space. Due Thursday, April 1st (no joke).
  2. Types
    Please write up answers to the first 6 review excercises at the end of chapter 3 in the text. Due Thursday, April 8th.
  3. Lambda Calculus
    Please write up answers to review questions 4.10 and 4.11. These will be due at the class meeting following the lecture when I finish discussing lambda calculus.
  4. Parallel Programming
    Please write up answers to excercises 7.2, 7.8, 7.9, 7.17 and 7.18. Due Thursday, May 27th at noon.
  5. Logic Programming
    Pleae write up answers to excercises 8.1, 8.3, 8.4, 8.5 and 8.9. For a bonus do 8.13. Due June 1st, at noon. That is an exchange day and there is no class.

Major Programming Assignments (40% of grade)

  1. Symbolic Differentiation in ML
    Here is my expression tree starter and a sample execution assuming you have written the function diff.
    DUE: April 20th at Noon
  2. Generic classes in Java and C++
    DUE: May 4th at Noon
  3. Concurrent Programming
    DUE: May 20th at Noon
  4. Logic Programming
    DUE: June 3rd at Noon

Final paper (20% of grade)

Write an in-depth evaluation of the programming language you evaluated for the first written assignment for this class. Evaluate the language using the criteria listed on pages 4 and 5 of the text.

The paper be similar to a conference paper in form and length. The length of a typical conference paper is 10-15 pages, 12pt single space. Don't get too hung up on length it could be shorter or longer and still be an excellent paper. You should attempt to show what you have learned about other languages this quarter by constrasting your chosen language with other languages.

DUE: June 8th, 7pm