CS 111 - Introduction to Computing, Fall 2013

Project 1 - A Turtle Drawing

Due Date Changed to: Tuesday 10/1/2013 at 11:59 pm

For this project, we will want to use the Turtle class to draw a large multifaceted geometrical shape onto a picture. These modifications are to add "something" to the image. Normally this would be to draw something in the foreground of an image that is just a scene. Examples of such drawing can be shown by these examples or these examples.

The objectives of this assignment are to have you define your own Java methods to add to the basic behavior of the Turtle Java class. You will write Java methods with and without parameters. You will then write a Java main program to call on those Java methods to draw connected multifaceted geometrical shapes that you have designed.


  1. Design the shapes you want drawn. You should have a minimum of 10 different shapes (that could be connected) to create a large multifaceted shape -- a building for example. Note that drawing two squares count as "two different shapes".

  2. Write a Java program (e.g. one with a class method named main()) that does the following:
    1. Creates a Picture for the turtles
    2. Creates at least two Turtles in the Picture
    3. Uses variables to keep track of pen colors, shape lengths. These "variables" could be method parameters.
    4. Calls methods on each of the two Turtles to create a multifaceted geometrical shapes on the Picture. For example, you could draw multiple cabins in a beach picture along with sea stars or draw a blueprint of your dream home.
    5. Moves the turtles to different locations in the Picture and changes their orientation in order to draw the shapes as desired.
    6. Draws shapes by changing the default behavior of each Turtle object. For example, you can change the color and thickness of the pen used in drawing the shapes.
  3. Define and write multiple methods to draw shapes using the turtles. At a minimum, you must include the following 5 methods:
    1. A method to draw a rectangle of a specified width and height (e.g., the Turtle can be asked to draw rectangles of different dimensions by a call to the same method)
    2. A method to draw a hexagon of a specified length and color (e.g., the Turtle can be asked to draw hexagon of different lengths and colors).
    3. Three other methods to draw shapes of your own choosing. All methods must be flexible to allow the shape to be drawn in different sizes, or line thickness, or pen color.

Project Collaboration

You are allowed to receive help on this project from other students who are also taking CS 111. Each student must still complete and submit his/her own project. You will be required to include a Collaboration Statement somewhere on your project if you receive help. This statement can simply be something like the following:
For this project, I received help from the following member of CS 111.
  • Devang Jariwala, netID: djariw1
  • Shun Liang, netID: sliang2
  • Hongwei Zhu, netID: hzhu7
This statement should list each helping student's name in a comment in the "header comment" of your Java file that includes the main() method.

This project is to be written using good programming style. Elements of good programming style include:

  • Meaningful Variable Names
  • Proper Indentation of Code
  • Blank Lines between Code Sections
  • Use of Methods
  • In-Line Commenting
  • Header Comment for the File
  • Header Comments for each Method.

Submission of your Project

You must electronically submit all of your files (all .java files, any image files and any other files used) via the Assignment Link for Project 1 in Blackboard.

This project was modified from project by Dr. Alvaro Monge for CECS-174 at CSULB.

CS 111 Home Page
Department of Computer Science
University of Illinois at Chicago

-- Main.troy - 2013-09-11

Topic revision: r2 - 2013-09-24 - 16:12:17 - Main.troy
Copyright 2016 The Board of Trustees
of the University of Illinois.webmaster@cs.uic.edu
Helping Women Faculty Advance
Funded by NSF