CSE 341 -- Programming Languages

Spring 1999

Department of Computer Science and Engineering, University of Washington

Steve Tanimoto (instructor) and Jeremy Baer (teaching assistant).

Assignment L1

Version 1.0 of April 20
 

Lisp Warmup 

Due date and time: Monday, April 26, 1999, at 12:30 (at the beginning of class).

Turn in this assignment as a hardcopy printout.


 

Title: Defining Functions in Lisp.

Purposes: Learn to use Lisp syntax, built-in functions, and learn to express recursive functions on list structures.

Instructions:  Read Chapters 1-13.  In Chapters 2-10, perform all of the end-of-chapter exercises, but don't turn those in unless they are listed in the following list. Do the following exercises and do turn in both the source and 2 test runs for each function (unless specified otherwise):
 Chapter 7: #1, 2, 3.
 Chapter 9: #1.
 Chapter 11: #2, 3, 4.
 Chapter 12: # 1.
 Chapter 13: #1.
Finally, choose one of the following exercises in Chapter 31, write your function, and show 4 test runs for it with different data.
 # 20 (permutations)
 # 21 (sequence recognition)
 # 23 (formula simplification)

Individual Work:  This assignment requires individual work.  Do NOT work in teams on this assignment..
 

Programming style:  In your solution to the last part of the assignment (choice of #20, 21, or 23 in Chapter 31), comment your function definition clearly with approximately one comment per line of code.  In all of your exercises, use a neat and consistent format for your code, indenting subexpressions appropriately and choosing symbol names that are appropriate to the function they perform in your programs.