Saint Louis University |
Computer Science 1300
|
Computer Science Department |
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.
In this assignment, you are to generate a series of images involving your favorite animal, using the cs1graphics module described in Chapters 4 and 5. 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.
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:
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 or character. With the rather limited selection of shapes, it's expected that some of the artwork may be relatively abstract.
While storyline and artistic creation will be a small component of the grading standards, the more significant portion of the points will be based on you meeting certain technical challenges as follows.
Animation: Rather than a single static image, you will be creating a form of animation by controlling the timing of the graphics with the following minimum requirments:
Drawing Primitives: You must exercise use of the cs1graphics capabilities as follows:
Finally, you must use each of the above techniques in a way that is different from the code that we give in Chapters 4 and 5. That is, you may use parts of that code, but you must still show your own additional creations making use of all techniques. So if the only rectangle you ever use is effectively something similar to the way we added grass to our backdrop, that won't suffice. If the only polygon you create is effectively a triangle that serves as a tree, similar to our drawing, that won't suffice.
What some inspiration? Here is a video montage of some of my favorite student submissions from a past year.
For information about installing Python or cs1graphics on your system, please see our notes on Python.
Remember that the cs1graphics package is not officially part of Python. To use these objects in your own program, you should begin with the following statement:
from cs1graphics import *
This project must be submitted electronically using our department's git repository. More specifically, we have created a folder named program01 in your repositiory and you should place the following two files within:
artist.py: this file should contain all of your source code.
readme.txt: for every project a "readme" text file must be submitted containing:
For further technical details about use of our department git server, see instructions here.
See as well a discussion of the late policy for programming assignments.
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.
The assignment is worth 40 points, which will be assessed as follows:
For each assignment, we wish to offer the opportunity and challenge to those students who wish to explore beyond the minimum requirements. For this first assignment, we do not have any specific extra credit challenge, but we will be happy to award up to 4 extra points to any submission that really impresses us.