### Programming Assignment Checklist: Recursive Graphics

What do I need to do to get full credit for the artistic part of the assignment? This part is meant to be fun, but here are some guidelines in case you're not so artistic. A very good approach is to choose a self-referential pattern as a target output. Check out the graphics exercises in Section 2.7 for still more possibilities. See also the Famous Fractals in Fractals Unleashed for some ideas. Here are some more ideas. Here's a Pythagorean tree. Then, try to figure out a recursive scheme that will generate it. Some pictures are harder to generate than others; consult a preceptor for advice if you're unsure.

What will cause me to lose points on the artistic part? We'll deduct points if your picture is overly boring or too similar to HTree.java. You will also lose points if your artwork could easily be created without recursion, e.g., it is tail-recursive: a single recursive call at the very end of the function.

Can I use GIF or JPEG files in my artistic creation? Yes. If so, be sure to submit them along with your other files. Make it clear in your readme.txt what part of the design is yours and what part is borrowed from the image file.

What size window should I use? Please use 512-by-512 for both HTree.java and Art.java.

What size should I make the H's? The big H should be comprised of three line segments of length 256 each, and centered on (256, 256).

I get the error java.lang.NullPointerException. What am I doing wrong? Perhaps you left out StdDraw.create(512, 512) at the very beginning.

I get a blank gray screen. What am I doing wrong? Perhaps you left out StdDraw.show or StdDraw.pause.

 Testing and Submission

Submission. If you don't follow these instructions, you risk upsetting your grader and losing a significant number of points.

• Your Art.java program must take exactly one integer command line input (expect it to be between 1 and 7).
• Your Art.java must fit within a 512-by-512 box.
• Don't call StdDraw.save in either program.

 Possible Progress Steps

These are purely suggestions for how you might make progress. You do not have to follow these steps. Note that your final HTree.java program should not be very long (ours is 21 lines, not including commments and blank lines).

• Review the Koch snowflake from lecture.