The output is art,
But what about its source code?
It's just as abstract.

Take a look at our Scheme Art Gallery!


This contest is completely optional!

Entries are due at 11:59pm on Tuesday, 8/11 at 11:59 p.m.

Enter the contest by

  1. downloading and placing contest.scm with the rest of your Scheme project.
  2. completing the contest.scm file (you can render your drawing with python3 contest.scm)
  3. taking a screenshot of the "Scheme Turtles" window containing your final artwork and saving the image as contest.png (contest.jpg, contest.gif, etc. are also fine)
  4. Emailing the following files to Albert at
  • contest.scm (your source code)
  • contest.png (your rendered image)
  • (if you added any primitive procedures to help you draw; if you didn't, you don't need to provide this file).

In contest.scm, the draw procedure should draw your entry and then exit on click. Place your haiku description in the comments at the top of the file.

All entries, including their source code, will be distributed to your fellow students for voting. Please do not include personal info in your submission.

Contest description

Create a visualization of an iterative or recursive process of your choosing, using turtle graphics. Your implementation must be written entirely in Scheme using the interpreter you have built. However, you may add primitive procedures to interface with Python's turtle or math modules. Other than that, all computation must be done in Scheme. If you do add new primitives, then make sure to submit in addition to contest.scm.

We will have two categories of submissions:

  • Featherweight: Fewer than 256 Scheme tokens
  • Heavyweight: Fewer than 2048 Scheme tokens

Extra credit will be awarded as follows:

  • 3 points to 1st place in each category
  • 2 points to 2nd place in each category
  • 1 points to 3rd place in each category

You can check the number of tokens in a Scheme file called contest.scm by running the command

python3 contest.scm

Entries (code and images) will be posted online, and winners will be selected by popular vote as part of a future homework.

To improve your chance of success, you are welcome to include a title and descriptive haiku in the comments of your entry, which will be included in the voting.

Entries that do not construct an image iteratively or recursively may be disqualified. Please don't just draw a preexisting image, even if the drawing function is iterative or recursive. If you're unsure, just ask.

Past Entries

For inspiration, you can peruse these galleries of past entries.