Like
the majority of my class, the first CSC148H1F assignment, the "Tour of
Anne Hoy" was quite a challenge. Frustrating on some days and entertaining
on others, it was definitely a program that both tested and sharpened my
programming abilities.
What
I enjoyed most about this project (when I was finally done with it, not when I was working on it!) was how
it displayed the elegance of recursion, especially with SolvingController. Once
I finally had SolvingController
working, it was entertaining to watch my program automatically display the
10-cheese solution in the same time I could manually solve a five-, six-, or
seven-cheese problem. What amazed me even more that visually showed recursion
at work was how, in the process of moving the stack of cheeses from the first
to the last stool, intermediate steps built up smaller towers of cheese on
intermediate stools:
For
smaller numbers of cheeses, I could manually imitate SolvingController's
solution based on intuition. As the cheeses increased, however, I would easily
make mistakes and get lost because I wasn't using recursive logic and calculations.
SolvingController didn't care how many cheeses were present because, in all
cases, the recursive logic was the same. It reminded me of one lesson that I
was taught in a high school programming course: computers are not smart;
they're just fast. All SolvingController did was recursively define my intuition
and repeat it at higher speeds than I could calculate and move cheeses - and,
when the stress of the assignment was finally gone, it was quite fun to watch!
Hey, I should have thought of putting a video of SolvingController online! Nice work.
ReplyDeleteHaha, thanks!
ReplyDelete