# Pages CS 151 Computational Thinking Fall 2012 Assignment 1

Go to start of metadata

from turtle import *
def shapea():
left(90)
forward(30)
left(90)
forward(20)
right(90)
forward(30)
right(90)
forward(20)
right(90)
forward(10)
left(90)
forward(10)
right(90)
forward(80)
left(90)
right(180)
forward(20)
right(90)
forward(30)
right(90)
forward(10)
def shapeb():
left(90)
forward(50)
right(90)
forward(10)
right(90)
forward(40)
left(90)
forward(20)
right(90)
forward(10)
right( 90)
forward(30)
def shapec():
shapea()
forward(100)
shapeb()
def shaped:
left(90)
forward(5*x)
right(90)
forward
right(90)
forward(4*x)
left(90)
forward(2*x)
right(90)
forward
right( 90)
forward(3*x)
def shapee():
shaped(26)
shaped(18)
shaped(42)
shapee()
raw_input()

My partner Lindley did draw the shape I directed for the first task, without any shared knowledge besides the instructions I gave her. I did not feel as though many explanations were needed, nor was information missing. There was quite a lot of ambiguity in the first two drawings' instructions, yet because humans were drawing, the ambiguity did not cause any problems. A computer can handle little, if any, ambiguity because it cannot read what the instructions are trying to say. There was a difference in the amount of information between tasks three and four, and with the addition of labeling, came a much easier way to describe how in which to draw a certain shape. Labeling made it much easier to make complex scenes and copies because it allows similar instructions to be grouped together, and for simple instructions to be written as simple commands. However, if a set of commands tried to execute itself, I believe that the computer would be unclear as to what to do, because of the amount of ambiguity the set would contain. Using variables, you could create an infinite amount of shapes, as long as you had different variables to use. If shape D were to be changed, shape E would not need to be changed, as it is modified by shape E and does not care which list of commands it calls. I found it to be most difficult to learn the program and get comfortable with the three different applications used. Once I learned the basics, it became much easier. However, Lindley and I struggled immensely in the beginning- first with using too-small numerics to see clearly that we were actually drawing, later with using too-large numerics, and then many times saving the file and writing it to a different location. We also wasted a significant amount of time trying to figure out why our drawings were all off, finally realizing the arrow cursor in Turtle Import was facing upwards, not left. After we figured out these glitches, the work began to move faster, yet after Lindley dropped the class, I was forced to find a new group to complete the final two steps. Unfortunately I was not able to work with them on their project, yet Tom Williams offered to help me complete my project- therefore saving my entire assignment. He helped me to understand a lot about the assignment and about programming, and without his help I would have been unable to complete my project.

Labels