Course Home | Assignments | Class Photo | Computing Resources | Lab Hours/Tutoring | Schedule | Submit

Saint Louis University

Computer Science 150
Introduction to Object-Oriented Programming

Michael Goldwasser

Spring 2010

Dept. of Math & Computer Science

Programming Assignment 01

Artist

Due: 11:59pm, Sunday 24 January 2010


Contents:


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 that 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 that 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.


Overview

In this assignment, you are to generate a series of images involving your favorite animal, using the cs1graphics module described in Chapter 3. 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:


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 imported from the time module (see details below).

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. The cs1graphics.py file is our own creation, and can be downloaded at www.cs1graphics.org (we recommend using version 1.0). You should place that file in the same directory in which you are working when you start the Python interpretter.

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 text file named artist.py that 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 that 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(0.75)
Where 0.75 is a parameter that can be chosen by you, representing the number of seconds, or fraction thereof, that the program should wait.

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 that really impresses us.


Michael Goldwasser
Last modified: Tuesday, 02 February 2010