The output is art,
But what about its source code?
It's just as abstract.
This contest is completely optional!
Entries are due at 11:59pm on Monday, 5/4.
Here are the steps to enter the contest:
- Download scheme_contest.zip.
From your Scheme project, copy all the Python files to the scheme_contest directory. This should be:
- Complete the
contest.scmfile (you can render your drawing with
python3 scheme.py contest.scm --pillow-turtle --turtle-save-path output). For more information on drawing graphics, you may find the Scheme Built-in Reference to be helpful.
output.pngwhich was created by the previous command.
draw procedure should draw your entry and then exit on
All entries, including their source code, will be distributed to your fellow students for voting. Please do not include personal info in your submission.
You are allowed to work with one other partner for this contest. You should add your partner on Ok and make a single submission.
Important: when you are ready to submit, follow both these steps:
python3 ok --submitto submit your
contest.scmfile to Ok.
- Fill out the contest form. Make sure the information here is correct, since we'll be using it to generate your entry in the Scheme art gallery.
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. In particular, you may not use any external image files. All computation must be done in Scheme.
We will have two categories of submissions:
- Featherweight: Fewer than 512 Scheme tokens (including parentheses)
- Heavyweight: Fewer than 4096 Scheme tokens (including parentheses)
No single token may contain more than 50 characters. If your entry requires more tokens than are allowed in the heavyweight category, please contact the course staff for special permission to submit an even longer entry.
You can check the number of tokens in a Scheme file called
running the following command using the latest version of
python3 scheme_tokens.py contest.scm
Entries (code and images) will be posted online, and winners will be selected by popular vote. The top three entries in each category will be announced on Piazza after voting is closed.
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.
Before submission, please ensure that your entry abides by these guidelines:
- Entries must not contain tokens that contain more than 50 characters and must be submitted under the correct category (featherweight/heavyweight).
- Entries must not contain any political content.
- Entries must not contain any offensive, sexually explicit, or racially, ethically, or otherwise objectionable content.
- Entries must not contain any personal information.
- 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.
We reserve the right to disqualify any entries that do not follow these guidelines.
For inspiration, you can peruse these galleries of past entries. Please note that certain submissions may not follow the current guidelines.