Compsci 101, Fall 2016
Assignment 3 - Turtles and Earthquakes

Due: Thursday, Sep. 22 by 11:59pm + 121 minutes

10 points

This assignment is partly creative (with turtles) in drawing technical pictures and partly inquisitive (with earthquakes) about asking questions about large amounts of real data.

See the HOWTO page for additional requirements/hints.

Part 1: Turtles

Click here for sample student pictures

Programming has long been used to create or supplement artistic works, from such as in exhibits in museums. Daily it is used by visual designers, artists, and architects to create their works. Software has engaged a new generation of visual artists to consider programming as an essential part of their creative practice.

Logo is a computer programming language designed to teach programming to children. It is a user-friendly, interpreted language, designed with a "low floor, high ceiling"; in other words, the designers of Logo intended for the language to allow novice programmers to get started quickly writing programs but also wanted the language to be powerful and extensive for more advanced users. In the last 40 years, Logo has also caused people to think differently about how to teach art, geometry, social science, and complex systems.

The basic commands to move and turn a "turtle" (originally a physical robot) are so much a part of programming history that they have been incorporated into almost every modern programming language, Python included. We will use this basic system to explore programming. Examples of using the turtle are given in the course textbook and you can use any of the Active Code boxes in the text book to complete this project if you do not yet have Eclipse installed.

In this assignment you will use the Python Turtle graphics to create a picture. This assignment will give you a chance to work on functions and loops and to learn new turtle functions. It is also a creative assignment that you can have some fun with. There are specific requirements you will need to follow to get full credit.

The textbook has already shown you several turtle commands. There are many more in Python's Turtle Graphics module.

See the HOWTO page for the requirements for this program.

Part 2: Earthquakes

We will provide real earthquake data on the earthquakes around the world that happened around mid-August to mid-September (we have 30 days of data). We obtained this data from the U.S. Geological Survey (USGS) EarthQuakes Hazards Program. We've processed the data and put it into an easier format for you to process. You will read the data from our course website. We have included the magnitude and place for each earthquake that happened in this time period. You'll write your program to answer questions about these earthquakes.

See the HOWTO page for the requirements for this program.


Requirements

To get full credit you must
  1. Put all your code for Part 1 in one Python module named TurtlePicture.py and follow the requirements on the HOWTO page

  2. Save a picture of your TurtlePicture.py program when it runs (any picture format is fine such as .png or .jpg.) Copy that picture file into your workspace folder for this assignment the way you would copy a file from one folder to another. Then when you submit the picture file will be in the same folder where your program is. Don't click at the picture file in eclipse, it likely won't display as an image.

  3. Put all your code for Part 2 in one Python module named QuakeQueries.py and follow the requirements on the HOWTO page

  4. Run your earthquake program on the large earthquake data file. Create a text file in Eclipse called myrun.txt and cut and paste the output from this program into this file.

  5. You must have a comment for each function you write describing what that function does, in addition to a comment at the top of the file with your name.


Submission