CIS 110 Summer 2013 - Introduction to Computer Programming

CIS 110 Home | CIS Dept Home | SEAS Home | www.upenn.edu
Grading | Late Submission/Extensions | Collaboration
Staff | Schedule | Exams | Booksite | Coding Style | Piazza | Office Hours | Tutoring | Compiler Error Messages | Run-Time Error Messages
Below are a selection of our favorite submissions from past semesters, in alphabetical order of PennKey.

Spring 2013

Aaron Michaels
This recursive tree was actually inspired by my initial attempt for this project, which was to create a Koch Snowflake.
Christopher Akatsuka
I created a file that makes an N- order rendition of a person with two circular eyes, hair, and two raised arms to show what would happen if overpopulation continues to run rampant. If you continually increase N, eventually the entire screen is blotted out... I used the booksite to look up basic shape drawing codes.
Amand Shukla
My creation is of Bill Waterson's comic strip characters Calvin and Hobbes gazing at the night sky full of stars. I relate to this scenario as well as Calvin and Hobbes because as a child I loved looking at the sky at night.
Brad Lowenstein
I used the book-site api to customize pen color and radius. The creation is a tree that grows from the mist of a dark forest. I used StdDraw.line() and recursion to create the tree branches.
Connie Li
For my artistic creation, I illustrated a girl's growing love for a boy after being hit by cupid's arrow. To create the heart, I referenced the booksite's program, Heart.java and modified it so that the color and size would match the hearts in the original image and so my hearts would be placed at a reasonable location within my image. Within my recursion function, I computed random x and y coordinates within a certain range for the hearts so that the distribution of hearts would look more natural and cover a larger area at higher orders of N.
Lina Huang
My recursive drawing recursively draws golden flecks above a boat. The recursion is designed so that the golden flecks are drawn above the boat and fade outwards and upwards as the depth of recursion increases.
Justin Chang
I created a program that prints out numerous deadmau5 heads from the famous DJ Deadmau5. While the heads are printing, Deadmau5's music plays in the background and the eyes and mouth. I used the StdAudio, StdDraw StdOut, StdIn java programs with slight alterations. I used the book and booksite for reference.
Joyce Chao
I have always been facinated by yin yang symbols so I knew I wanted to do something with that. The art function calls on itself twice for every n so that you get yin yang inception.
Joanna Kass
My creation draws red and yellow text in a seemingly disparate pattern for low levels of recursion, but as the depth increases (that is, when it gets to about 4) one can begin to see the outline of an asterisk.
Kyle Schoeppner
My artistic creation was to draw a growing mustache against the background of a man's face. It took me a while to center the mustache appropriately on the face and to ensure that the mustache grew in a plausible and sensible way.
Michelle Socher
My recursive drawing draws lines that break every so slightly from each other at each consecutive line draw. The line drawing is plotted against a greyish white background. For odd inputs (that is, N = 1, 3, 5, ...) the line is drawn in the same direction as the white streak on the background and for even inputs, the line is drawn perpindicular to the white streak.
Neera Thavornvanit
So my inspiration is from Rihanna's song "Diamonds", in which she sings "Shine bright like a diamond/ in the sky". I decided to use reference her song throughout my program by using a picture of her singing as the background, playing her music and using recursions to draw diamonds. I tried to work out the mathematics of where each diamond would be on the screen and the dimensions of each corner first, then tried to apply it to the program.
Joey Raso
My artistic creation is program that creates a stitch like pattern. With each level of recursion the pattern gets a little larger.
Lauren Marquez
My music program shows a jazzy trumpet player playing some tunes. With the help of a recursive function, his music carries a little bit further as the command-line argument N increases. Each music note also has a randomly chosen grayscale color, just to add an extra artistic effect. I used the booksite and specifically the StdDraw API, mostly for help with drawing the music notes. The trumpet player picture is taken from: here .
Wesley Ru
My program recursively draws zombies of decreasing size in a triangular fashion. It starts with one big zombie in the middle and repeatedly draws one zombie on either side of the big zombie below & to the left and below & to the right. I designed it so that most of the zombies (for higher inputs) are drawn at or near the line of text at the bottom which says "The More Zombies Appear"
Ryan Sauer
I decided to use one of my favorite childhood books as the subject of my creation. Dr. Seuss' Gertrude Mcfuzz grows a tail from which numerous feathers spring so I designed a program which plots an image of gertrude and some text as a background and recursively draws feathers sprouting from her tail based on the number of iterations desired. The program works by calling the recursive function sierpinksi which determines the location and size of the next feathers based on the current iteration.
Timothy Kim
My artistic creation generates a dandelion against a backdrop of blue and other dandelions. My inspiration draws from a recursive tree, but my code also reduces the dimensions of each branch such that a dandelion results. The book- site was used as a source.
Scott Wang
Since many people get very existential during this assignment, this is just a pattern of connected triangles. I can imagine some corporation using this as some sort of branding. Used insertion sort, program 4.2.4 in the book.




Fall 2012

Aedhan Loomis
I used to draw these curve sketches in middle school so I thought they would be a nice design to apply to this assignment. I took these elements and placed them in the corners of the window. I also added a random color generator favored towards green to change the colors of the elements.
Alexandros Konstantopoulos
I tried to depict all the arteries and vains of the lungs. In reality every main artery splits up into smaller ones, each one of those into even smaller ones and so on. This can be represented with recursion.
Cat Cleveland
I wanted to create something representing the elusiveness of the end of rainbows. This is demonstrated both by the breaks in the circles that dramatically shift each time it is called recursively, but also in the ever smaller "real rainbow" as N gets larger, since the rainbow colors only stay in order while N <= 7. There are also seven rings in each larger loop to represent the seven bands of a rainbow, with each loop containing one ring with the previous color and one ring with the next color.
Charles Edwards-Kuhn
I decided to make a fleet of space ships vaporizing a theoretical asteroid. As you can see, the idea is that the more ships appear, the more firepower is concentrated into the asteroid and the more pieces it breaks into. There was a lot of messing around with the scaling of the imported images and making sure that large numbers of ships and asteroid fragments wouldn't go off the screen.
Danylo Villano
I made a program that draws eyeballs stacked upon one another, in an attempt to make something that was reminiscent of Eastern Orthodox architecture/art and was creepy. I spent a long time both drawing the image of the eye, and also calculating the exactly how the radius should change and where each set of new eyes should be drawn in relation to the previous one. There were many different iterations of the program, with many different arrangements of the eyes, but for the final version, I sacrificed a degree of creepiness for the sake of a more orderly appearance.
Essaidi Meryem
My recursive Art creation draws a black branch that looks like wheat in the middle of white snow to reflect the image. I wanted to create something simple and beautiful although the program was quite hard and time comsuming. The background image is a snow wallpaper that I found on this website.
Hannah Brown
My artistic creation is a Medusa head, whose snake-hair thickens as the command-line argument integer increases. It uses two functions: one to draw a smaller, entertwinded snake image on each snake image, and a recursive funtion to plot the 5 base snakes and then call itself recursively to plot smaller ones on top of those. The compound effect of the two functions is to create an increasingly intricate net of snake-hair on Medusa's head. The background is a painting by Caravaggio, and can be found here. The snake image is from here.
Jeff Kessler
As a transportation buff (and former intern for Amtrak), I decided to create track diagrams similar to those used in CETC (Centralized Electronic Train Control). I decided to use random numbers to determine the color (which could reflect either the speed restriction, power load, or track status) and the next step (either a straight track, station, or spur branch. Each spur would be recursive in doing a similar branch.
Kabir Kapoor
My artistic creation depicts the branching of an artery into sub arteries to distribute oxygenated blood to all body cells from the heart. An artery is thick, hence it is difficult for it to reach smaller cells within the body. By branching off into samller and consequently smaller sub-arteries they can reach all cells within the body. My image tries to depict this branching-off.
Ji Hyun Kong
Curve stitch patterns always fascinated me. I made curve shapes out of multiple straight lines of changing slopes. Then I used recursion to make it more intricate and interesting.
Matthew Rosenthal
I created a variation on the fractal tree by using a picture of Alien (from the movie by Ridley Scott) and using the tongue to fan out in a tree with 3N tongues at each iteration of N.
Mitch Gissinger
My artistic creation is pattern of cacti plants growing in a desert.
Michael Molisani
The program redraws the square smaller, and slightly rotated. The triangles that are formed from this are then cut up in a similar manner to Sierpinski but then distorted. Using different parameters, this can result in very complex outcomes.
Moses Soh
My artistic creation is a combination of two recursive functions to recursively draw a tree on top of each subdivision of a ruler.
Parth Patel
Reenacts Newton's classic realization of gravity with fractals! The program takes an integer argument N to choose the levels of recursion desired to ecreate a fractal tree. But there's a twist. Sir Isaac Newton stands below waiting for randomly generated apples to fall upon his head.
Sam Passaglia
My artistic creation is a generation of a fractal pattern (based on the edges of a square) which is purposefully made to look as though it were made by hand in the style of quilting. I experimented with several different recursive patterns until I got something I felt was original and interesting.
Ethan Ross
I wanted to make something that used a randomly generated color and noticed that the fan like structure of the tree examples could be made to look like feathers on a peacock
Sally Luo
My artistic creation is a flower where the petals are made of recursing hexagons. I used the center of the hexagon as a reference point to create each new recursion step.
Samantha Markowitz
My artistic creation is the house from the movie UP. As the command argument N increases by 1, more strings and another row of balloons are added to the top of the house. The colors of the balloons are randomly generated. The image of the house was taken from google with the real balloons erased.
Simran Ahluwalia
My Art program takes the given image of a straight brain coral and makes a tree out of it. Although it is a tree pattern, it is meant to replicate a coral tree that one can sometimes find in a barrier reef (hence the background).
Aaron Wilson
I thought of the idea of creating a chandelier and realized that it could be simplified to a three-pronged shape with a "bulb" at the end of each, which, when repeated would look like a cartoonish fancy chandelier. I photoshopped the chandelier out of a picture of a dining room and used that as the background.




Summer 2012

Elton Yeo
The image produced is inspired by T.S Eliot's The Waste Land. I chose an arid background image, and drew a fallen and blackened tree on the ground. I slanted the angle of the branches to show that the dead tree is lying on the ground, and that its weight is causing those branches to bend as such. This is meant to inject more realism into the picture.

In writing the program, I thought about the length of the branches, the thickness of them, and the angles at which I wanted them to bend. I initialized the variables accordingly and used recursion to produce the tree-like image.

Seth Koren
The method draws one circle, and then calls itself again between 1 and 4 times, with coordinates changed to draw up to 4 non-overlapping circles. It required getting the recursive step to loop a random number of times (between 1 and 4). Aside from that, nothing too difficult. I found the necessary scaling here.
Nicholas Mushaike
I invested a lot of time for the Art because I wanted to make it special. I wanted to satisfy the prerequisites for the project as well as make a Happy Fathers Message for my Dad. I enjoyed working on the Art project.




Spring 2012

Etan Aber
My artistic creation is called "We is All One Peoples." It is intended to show that regardless of a person's size or color, he/she is con nected to everyone else and not alone. To write the program, I quickly sketched out the drawing with 2 recursions and just calculated the relevant sizes and distances.
Adam Pershan
My recursive art creation generates a ring of circles, of decreasing legnth around the center of the canvas. For example, at depth 7, there are seven rings of circles, each with a smaller radius. It was interesting to implement, and it turns out polar coordinates are the best way to go about piecing together this program.
Doron Roberts-Kedes
No sources were used other than the picture of [TA] Dan [Zhang]. I just tried to think of an image that could be created recursively and found the appropriate movements.
David Pankiewicz
I found my fractal among the examples from the Princeton class. there was a lot of math invovled, and some guessing and checking to get the feel of how it would look visually. Mostly coordinate plane implementation.
Kelly Hanan
I created a tree that is compiled of various smaller leaves. Each individual leaf has 6 branches. Each of these branches gets 6 new branches with each recursion to form a large green tree in the end.
Irene Manousiouthakis
My Art.java utilizes arcs and filled circles and recursively draws a design that has elements somewhat similar to a Yin Yang symbol.
Mark Gallagher
My artistic creation is a model of tunnels/burrows in the ground. It is similar to the idea of tree branching, but in a similar natural application. The problem creates branching lines at several different ratios to the original line. At very high levels of N, patterns also appear in the white space between lines. The book and booksite were used extensively.
Paul Blazk
I drew a tree (with an absolutely gorgeous background). The tree is recursive in that every branch point has 2 branches coming from it, but the lengths and orientations of the branches are random. The lengths are distributed such that, on average, the branches become shorter as they move further away from the trunk. The orientations are distributed so that, on average, they are more vertical closer to the trunk. A leave is drawn as a circle in the center of each branch or limb.
Taylor Luiso
My artistic creation is an image with a randomly-generated, partly cloudy blue sky in the background and a tree with leaves in the foreground. I wrote the program by producing two additional methods besides main: one that produces the sky and one that produces the tree. To create the sky, I referenced the book and the booksite to see how they produced the program PlasmaCloud.java, and then in my version I altered the saturation while the keeping the hue and the brightness constant so that the spectrum would remain between blue and white. To produce the tree, I produced a similar tree function to the one in the book, but added more branches, a degree of randomness in the angles, and colors to make it look more realisic, as well as branching out of the side of the branches. For the final recursion, I specified for a wider pen size so that the ends would look like leaves, and also for all the different shades of the colors I randomly generated values for the brightness within a certain range.
Jack Yang
My creation was of an alien. I started out with a smiley face made of a trapezoid and three circles, and then I calculated the angles for the antennae on paper before writing the code for those. I made it so that the new heads sprouted out from the antennae, and did some preliminary calculations for this as well. After everything was done, I altered the aliens() function so that I made another, identical copy of the alien right next to the original, and set it up so that one copy was red and one was blue. This was so I could produce a 3d effect.