This code does not show the full expanded version of the code, because that would be too long. However, it shows the main components. Similar procedures to the expanded one are used in combination to make a single image. The drawFace procedure combines several different procedures that draw individual components and makes them into one large procedure.
2. Can you draw a triangle with this set of Logo commands? Discuss how or why not.
No, you wouldn't be able to draw a triangle because the commands are only able to draw straight lines and turn at right angles. In order to make a triangle, you would need to turn at a sharper angle.
3. Discuss: If you were designing the Logo language, how would you change some of our basic commands so that it would be easy to draw a triangle and easier to draw other shapes -- i.e., what should the basic commands do that would make drawing easier.
I would make a way to adjust the angle of the turns that the pen made. That way, you could make any number of shapes by changing which direction the pen was facing with greater accuracy. You could tie this command to two buttons, that either increased the angle.
4. What weaknesses do you find in using the procedures (the abstractions) we gave you -- forward, turn -- for drawing simple shapes? How would you change the definitions of these procedures to make it easier to draw shapes? Give a specific example that illustrates how a more powerful set of procedures would improve things.
It was difficult to keep track of where exactly the pen was when it was moving. The ability to make a left turn would be nice, because it was annoying to have to turn right three times instead. A more powerful set of procedures could also allow for drawing more than just straight lines.