Course Home | Homework | Lab Open Hours | Programming | Schedule & Lecture Notes | Submit | Turing Access

Saint Louis University

Computer Science 150
Introduction to Object-Oriented Programming

Michael Goldwasser

Fall 2006

Dept. of Math & Computer Science

Programming Assignment 01

Artist

Due: 8:00pm, Monday 11 September 2006
8:00pm, Friday 15 September 2006


Contents:


Overview

The goal of this assignment is to generate a series of images involving your favorite animal, using the cs1graphics module we have seen in class.

Your goal is going to be to produce a series of images involving your favorite animal. Below, we will outline the minimum requirements for the assignment. However if you are enjoying the work, feel free to go beyond that minimum; we will make some of our favorite submissions available (anonymously) for others to admire.

Newly Introduced Techniques

Each assignment in this course will aim to introduce several new techniques, as well as in reinforcing techniques introduced in earlier assignments.

With this being our first assignment, everything is new. Specific techniques to be used are:


Collaboration Policy

For each assignment in the course, we will explicitly state the collaboration policy as it applies to that assignment. In all cases, Please make sure you adhere to the policies on academic integrity.

For this assignment, you must work individually in regard to the design and implementation of your project. Please note the distinction made in our academic integrity policy between general course material and work which is submitted for this course. We consider the use of the Python language syntax and the cs1graphics package in the category of general course material, which you may discuss freely. However, you must avoid any discussion of code which is specific to the design of your artwork, submitted for this assignment. You should not receive direct help from others, nor should you share your own source code with others.


Requirements

You will be producing a series of frames on a Canvas object. You may control the timing of the frames either by using the sleep function from the time module or by using raw_input('Press return') to wait for the user to continue.

The theme of the drawings should center around your choice of a favorite animal. Obviously, with the rather limited selection of shapes, we expect some of the artwork to be abstract, so to speak.

Please consider the following list as a mandatory checklist of tools and techniques you must use. Though we reserve the right to grade partly based on artistic merit, the majority of the credit for this assignment will be given based on your meeting the following criteria.

Also, please make sure that somewhere in your animation, each of the following techniques are used:

Files You Will Need

The graphics are provided by a file cs1graphics.py. If you are working on our department system, that file is already installed. If you wish to work on your own computer you will need to have Python installed as well as the cs1graphics package. Python is freely available for download at www.python.org/download for all major computing platforms (use version 2.4.3). The cs1graphics.py file is our own creation, and can be downloaded here. You should place that file in the same directory in which you are working when you start the Python interpretter.

Please be aware that we will likely be making improvements to the cs1graphics package as the semester progresses. If using our department system, those changes will be made automatically. However if you are programming on your own computer, you will need to re-download the cs1graphics.py file at that time.

Whether you are working on our computers or your own, the cs1graphics package is not officially part of Python. To use these objects in your own program, you must begin with the following statement:

from cs1graphics import *


Submitting Your Assignment

You should create a new file, artist.py, which contains all of your own code. This file must be submitted electronically.

You should also submit a separate 'readme' text file, as outlined in the general webpage on programming assignments.

Please see details regarding the submission process from the general programming web page, as well as a discussion of the late policy.


Timing Your Animation

Since your program will be run directly from a file, rather than through the interpreter, you may want to explicitly set the timing between frames. The most direct way to do this is by using the sleep command which is a part of the time module in the Python library. Once, near the beginning of your sourcecode file, include the command

from time import sleep

Then, whenever you wish to have the execution of your program intentionally delayed, use the command

sleep(2.0)
Where 2.0 is a parameter which can be chosen by you, representing the number of seconds for which the program will pause.


Grading Standards

The assignment is worth 10 points. Though we reserve the right to grade partly based on artistic merit, the majority of the credit for this assignment will be given based on your meeting each of the minimum requirements discussed above.


Extra Credit

For each assignment, we wish to offer the opportunity and challenge to those students who wish to explore beyond the minimum requirements. As a bit of a carrot, we will offer the chance of up to one additional point of extra credit to this end.

For the first assignment, we do not have any specific extra credit challenge, but we will be happy to award the extra point to any submission which really impresses us.


Michael Goldwasser
Last modified: Wednesday, 20 December 2006