Compsci 101, Fall 2014, Assignment 2 - Totems

See the NOTE added on Sept 10 11:45am on the howto page in the Creating and Printing Strings section.

See the NOTES added on Sept 7 near the bottom of the how to page.

See the howto pages for details on creating projects, files, and so on. This page describes the assignment.

*totem poles*
(image from Wikimedia, public domain)

In this assignment you will create variations of heads for totem poles. You'll do this by creating variations of eyes, hair, noses, mouths, hats, etc and then create a head by putting all the parts together. The heads will be generated by using functions and print statements. You will then build totem poles that have several heads on them, even randomly generating totem poles.

What is a totem pole? According to Wikipedia Totem Poles are "monumental sculptures" largely from the Pacific Northwest.

It is very important that you pay strict attention to the rules of the assignment such as the naming of files, modules, etc. You will not get credit for this assignment otherwise.



||||||||||||     ||||||||||||
 ___    ___	  ___    ___ 
/   \  /   \ 	 /o  \  /  o\
  o  ||  o   	      ||    
\___/  \___/ 	 \___/  \___/
|          |	 |          |
|  \____/  |	 |  \____/  |
|          |	 |          |
\__________/	 \__________/
||||||||||||	 ||||||||||||
 ___    ___	  ___    ___ 
/   \  /   \ 	 /   \  /   \
o    || o    	     o||o   
\___/  \___/ 	 \___/  \___/
|          |	 |          |
|  \____/  |	 |  \____/  |
|          |	 |          |
\__________/	 \__________/
||||||||||||	 ||||||||||||
 ___    ___	  ___    ___ 
/   \  /   \ 	 /   \  /   \
   o ||    o 	 o    || o
\___/  \___/ 	 \___/  \___/
|          |	 |          |
|  \____/  |	 |  \____/  |
|          |	 |          |
\__________/	 \__________/

NOTE: These sample totem poles are just samples and not the correct width that you are suppose to generate.

Who knows, maybe we will be able to combine functions from all the totel pole programs in this course to create a mixing/matching/smashing/mashing to create the ultimate totem pole! To ensure these match ups will work, you must conform to totem standards as describe in the totem howto pages. Be sure to read those pages carefully to understand the constraints in the functions and module you write. It's important to satisfy the standards, but it's important to have fun making totem poles as well.

This assignment is designed so that you'll be able to demonstrate your understanding of writing and calling functions, returning values from functions, and adhering to design standards.

It's also designed so that you can demonstrate some creativity, one of the important aspects of creating computational artifacts. While you're being creative, you'll need to design your program so that it can interact with other creators, part of understanding how programs interoperate when they're scaled up beyond being used by one person.

What to Turn in

You must turn in a Python module named Totem.py which has methods that conform to the totem standards defined in the howto pages. Include a function named totem that will, if called/run from an Eclipse/Pydev console, print three "heads", where a "head" is a distinct part of the totem pole your program creates. Each of the three heads your Python function totem generates should be different. You should also write a function randompole as described in the howto pages.

Include the __name__ == "__main__" boilerplate in Totem.py so that when the program is run, it calls randompole, not totem. However, you should test your function totem yourself before submitting the program using the main Python idiom described in the howto pages.

Your grade will be based on how well your program conforms to the totem standards and whether it prints a three-head totem pole from a function named totem. It's possible to earn extra credit for artistic creativity.

Submit your Python module using Ambient from Eclipse and the assignment named totem.


What to Submit

Please submit the following: