David Boss's Creative Face

Casual Man, Created in Dr.Scheme

When I saw the empty face all I saw was possibilities. As soon looked at the code I immediately learned it. Within the first 30 seconds of seeing it I had added a nose. Then I all I had was more and more ideas. I added pupils to my eyes to make it seem more lifelike. I added two rectangles and made a hat. I had added a neck. But once I had that I had to make a body for the neck to go with. So using three rectangles I made a shirt. I then added sleeves to the shirt. Then I added arms. I was finally satisfied with my person.

This program connected me to algebra by allowing me to experiment with numbers and variables. It allowed me to use my knowledge for something outside of math and create a better end result. It also allowed me to get a better understanding of my algebraic capabilities.

I think that this lesson was good for learning programming and I am finally starting to realize how I can use Doctor Scheme. Now it doesn't seem like a pain in the butt, now it seems like a really good tool and something that I can appreciate.

;;original
(circle (make-posn 0 0) 80 'green)
(disk (make-posn 30 30) 15 'blue)
(disk (make-posn -30 30) 15 'blue)
(rect (make-posn -40 -30) 80 5 'red)

;;START CHANGES

;;nose
(disk (make-posn 0 0) 10 'red)
;;hat
(rect (make-posn 0 80) 50 15 'black)
(rect (make-posn -50 80) 50 15 'black)
(rect (make-posn -25 120) 50 50 'black)
;;neck
(rect (make-posn -20 -80) 40 50 'green)
;;shirt
(rect (make-posn -60 -120) 120 160 'red)
(rect (make-posn -100 -120) 40 50 'red)
(rect (make-posn 60 -120) 40 50 'red)
;;arms
(rect (make-posn 100 -130) 40 100 'green)
(rect (make-posn -140 -130) 40 100 'green)
;;pupil right eye
(disk (make-posn 30 30) 7 'black)
;;pupil left eye
(disk (make-posn -30 30) 7 'black)
;;red eye
;;(disk (make-posn 30 30) 3 'red)
;;ear
(disk (make-posn -80 0) 20 'green)
(disk (make-posn 80 0) 20 'green)

David Boss's Test Results

Test in doctor scheme
(rect (make-posn -120 120) 240 240 'red)
(disk (make-posn 0 0) 120 'black)
(line (make-posn -120 120) (make-posn 120 -120) 'red)
(line (make-posn 120 120) (make-posn -120 -120) 'red)