A couple of days ago I saw an interesting program on the Small Basic blog. The featured program was one that let a beginner write a turtle graphics program. I liked the image it drew but frankly I found the code not as clear as I’d like. This is not meant as a criticism of the program, which is actually pretty cool or of the language it implements. I can see real value in both. It’s just not the way I visualize things.
I decided that I would write the example in this image in something else to help me understand what is going on. Lately my Turtle graphics language of choice is TouchDevelop so I opened a web browser and started duplicating the code.
Well that is a lot better. For me anyway. But I was curious. Could it be easier? TouchDevelop has three skill levels – Beginner, Coder and Expert. This example is in Coder which is my favorite unless I need something from the expert feature set.
Just as the sample I was working from was not my cup of tea I thought that my style might also not be for everyone. I’ve had students who really preferred Beginner. So I switched skill level to see that that would look like.
Wow! Colorful! And the nesting of the loops is abundantly clear with indentations and color coding. I like it. I can see how a beginner would find that much easier to understand. I still prefer coder for my own work but I can see real value in this Beginner mode.
We have an abundance of coding tools these days. Drag and drop languages, traditional text based languages, tools like TouchDevelop which are sort of in the middle and they all have valid uses. I’m not sure it is fair to pick one or two and say this is the right way to do things. Different people see things differently. I’ve seen students who have been taught multiple drag and drop languages (Alice, Scratch and Kodu for example) and they can all justify their favorite. There is no unanimous agreement on the best one. We visualize things differently. Sometimes the best use of time is experimenting a bit to find the set of tools that fits ones individual learning or visualization mindset.
Of course once one is out of the classroom one often doesn’t have a choice of tools to use. At least once the concepts are learned and internalized learning the new tools becomes easier. And easier still with each new tools. Variety is a good thing.
BTW, this next image is a side by side look at the three skill level views in TouchDevelop. Note that you can easily do some really advanced things in Expert mode.