Text-based vs. Block-based coding (Part 1)
This post is the beginning of a curation and research project. I am putting in one place various statements, beliefs, arguments, for or against, the use of block-based programming/coding with students. Some are clearly pro ‘text-based,’ some pro ‘block-based,’ while others are mixed and point out pros and cons based on certain factors or contexts. This is exactly what I expected to find.
My research interest lies in the rationale / argument / philosophy behind why one or the other or both are used in the context outlined in each article (examining these rationales will be the topic of Part 2). The bigger questions of ‘why’ and the question of ‘coding to learn’ versus ‘learning to code’ will be very interesting to explore.
Most of the articles included below address the issue of an effective means by which students can ‘learn to code’ which is not really my focus with students (which doesn’t mean it doesn’t happen; it’s just not the focus) but, nevertheless, there are many intriguing ideas.
Some of the articles below were very frustrating to read because of inaccuracies. One of them, for example, points to limitations in block-based coding that, in fact, do not exist and I wondered how much direct experience the author had in programming using that tool. Other articles were frustrating because they stated prejudices concerning block-based programming environments such as they were ‘only for kids’ or that block-based code is merely the ‘first step towards real coding’ — real coding being coding with text-based languages.
Some of the articles were very exciting to read. One of the best finds was an article called Scratch has a Marketing Problem by Steve Krouse. He writes about challenging his prejudice about block-coding as he explores the potential of Scratch for his students. Another great find was this short video called Why top universities teach drag and drop programming. Dan Garcia from UC Berkley talks about why block-based programming was chosen for students over text-based programming (at his university as well as many across the United States).
Note: I intend to add to this post as I find new articles and resources. Please comment below any URLs to articles, videos, podcasts, or other resources that might merit inclusion in this list. (Original post here)