CS151 Semester Portfolio


This page is simply a porfolio of some of my favorite pictures created this year.

Homework Two: Turtle Graphics

While this picture may not seem very impressive, it was our first programming project. We were introducted to "Turtle Graphics", we means that the entire code was written with commands of forward, right, etc. This was also done before I knew how to use loops, and thus it took about 200 more lines of code than it needed to.


Homework Three: Grids and Mosaics

On this assignment I learned how to use for loops which made life a lot easier (it terms of computer programming). We wrote functions for the turtle to draw shapes, and a function to process strings, so that a "s" in a string would draw a square, etc. Once all the functions we written, the code required to draw the picture above was only four or five lines.


Homework Five: Turtles Climbings Trees

This project incorporated the draw shapes function which converted strings into turtle commands. We also were introduced to L-Systems, a neat mathematical system that models plants very well. It takes a base string, a symbol, and a replacement rule. For every symbol in the base string, the replacement rule (a string) is replaced. This process is carried out for a series of iterations. Converting the string into turtle commands, we were able to generate images that resembled plants.


Homework Six: Cityscape Take 2

This project revisited the cityscape concept from the first assignment, but with the Zelle graphics package. It was wonderful not having to wait for the turtle to draw. This homework definately required using the concept of loops. It also implemented a time mechanism that incorporates a delay before the computer proceeds running the proceeding code. Thanks to Professor Maxwell for re-teaching me geometry in order to get the clock to work.


Homework Nine: Forest of Trees

This project implemented the concept of classes. We created a class that was capable of handling l-systems. This allowed the user to set the components of an l-system (iterations, base string, etc.) , generates the l-system string, and can read l-systems from a file as well as write them to a file. We had to modify an earlier program that handles l-system strings in order to convert them into Turtle commands.


Homework Eleven: Artistic Rendering

First, if you are viewing this in a Firefox web browser, it is probably going really fast. If you can, switch to the Safari browser to make it go a little slower. This project incorporate earlier projects, such as a Z-Turtle class that converts Turtle Graphics commands into Zelle Graphics commands, as well as using a dictionary to modify the l-system class to be able to handle multiple rule and replacement string l-systems. The purpose of the project was to create a Crayon class, the purturbed the perfect lines create by the Zelle graphics package, and to make it look as if the picture were draw with crayon.


Final Project: My Draw

The final project has us working with graphical user interfaces and menus to allow any user to use the options in the menus to create pictures. I worked with Brittany Thomas on this Project. The project incorporated almost everything we worked with over the semester, and obviously a little more. For a more detailed explanation, go to my final homework write-up page.



Back To Home Page