CSE 130, Summer 2009
Programming Languages: Principles and Paradigms
Programming Assignment 1
The purpose of this assignment is to become familiar
with functional programming in Scheme.
It is to be completed individually according to the course
collaboration policy.
You can work on this assignment using DrScheme or MzScheme
on ACS machines or on your own machine.
On an ACS GNU/Linux machine you will need to run
prep cs130u before you can run
drscheme (the graphical environment)
or mzscheme (the command-line interpreter).
-
Download the files containing the code and tests into the same directory.
-
Try running the tests:
load and run the test file in DrScheme,
or pass it as a command-line argument to MzScheme.
-
Modify the code file to
implement the functions as described in the comments.
Re-run the tests frequently to check your progress.
-
Add your own test cases to the test file,
following the pattern you see there.
The tests we provide are very basic,
so think carefully about other cases where your code might fail.
Your submission will be tested against
a more comprehensive suite of tests we develop,
and we may also assess the quality of your tests.
Submitting Your Work
-
Copy your files to an ACS GNU/Linux machine
(if they're not already there).
-
Before submitting your work, it's a good idea to
make sure it runs in MzScheme on an ACS GNU/Linux machine
and passes all the tests we've given you.
-
In the directory where your files are, run
bundle-pa1
and follow the directions. (If you haven't run
prep cs130u
yet, you'll have to do that first.)
-
You can overwrite earlier submissions until the deadline,
so submit early and often!
-
After the deadline the bundle script will no longer work.
Late submissions will be accepted only by arrangement with the instructor.