In this lab, you will build procedures that operate on rectangular images, rather than numbers. Using these procedures you'll produce geometric quilt patterns, such as the Repeating Crosses pattern shown on page 15 of the text.
(load "~mc27/labs/quilting/quilting.scm")by typing the line into your definition window and hitting execute. Now you should be able to see each block by evaluating its name in the interaction window. In adddition to the blocks mentioned in the book, we have also included two solid blocks,
quarter-turn-rightprocedures are built into our Scheme. Try them out as in exercise 1.8 on page 16 of the text, and make sure you understand what each does and how combinations behave. (We should point out here that the code from the book is available from the web page
http://www.gac.edu/~max/concabs/code/; simply follow the link for the chapter you want. Using these files will substantially reduce your typing.) Note that names such as
rcross-bbcontinue to name the same, unmodified basic block throughout. The procedures give you back transformed copies of the image rather than changing the original image in any way. Write a precise description of what each of these two primitive procedures does.
Be sure to save your definition window early and often. (Just click the Save button.) Note that the next time you use DrScheme, you can simply open this file by using the File menu.
We've included two documents to give you a better sense for what we expect from your lab write-up. The first is a sample write-up for a much shorter lab. This sample write-up was done using Schematik, a program somewhat like DrScheme that we used in earlier years. Like DrScheme, Schematik isn't really a word processor, so the appearance isn't very fancy. However, we'd be satisfied with this. If you really want to do something similar to this with DrScheme, we have a separate document with tips on doing so.
On the other hand, it isn't really very hard to make a fancier report using on a word processor, such as Applix on the Linux machines, and we recommend doing so. The lab assistants should be able to help you questions you might have about using this word processor. You should use Copy and Paste to get your Scheme definitions into the word processor, rather than manually retyping them. Students who retype inevitably make typos and wind up handing in procedures that couldn't possibly have worked. Additionally, Applix has a "Snap to clipboard" feature in the Edit menu that lets you take a snapshot of a portion of the screen, which you can then Paste in. This can be used to include the images from DrScheme's interaction window. Put your Scheme procedures into the ``Courier'' font. In this font, every character is the same width (like on a typewriter, or in the DrScheme program), so the indentation will line up correctly. If you have problems getting Applix to print, your "preference" settings may not be configured right; a lab assistant should be able to help with this.
The other document to consult is entitled Suggestions for clear lab reports in computer science courses, which pretty much says it all.
In general, be sure to read through your report and fix any problems you find, either in general presentation or in spelling and grammar. Not only do spelling and grammar errors detract from the clarity of your report, they suggest that you judged the report not to be worth the time to read. If you aren't willing to read your own report, who will be?
mirror-image. Be creative!