This blog post is more of a curation project than a blog post. I have put 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.
I think the bigger question is the ‘why’ question and the question of ‘coding to learn’ versus ‘learning to code.’ Most of these articles 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 interesting 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 repeated 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’ 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.
I recently tried block-based programming at code.org, where one gets a chance to try building various projects. It’s totally aimed at younger learners, but I found it fun and educational as an adult! It was relatively easy, although there is a lot more to building a game than simply adding blocks; backgrounds and various scenarios have to be built first, then movement can be incorporated into it. Of course both text-based and block-based are involved in the whole process.
For younger learners, block is the way to go, then they can progress to text as they learn.
Thanks for your comment! Yeah, I think if educators are to be effective, we have to work hard to excite and inspire the students we have, and what we have are students who play games, watch a lot of YouTube, like graphics and sounds, and so on… I agree – Scratch is suited to them and you’re right – there is a lot to creating a game in Scratch… not just throwing a few blocks together but more of a design thinking approach… I also strongly feel that block-based coding should not be thought of a preliminary step to text-based coding. It is simply because the more powerful languages are text-based… there is no reason any of the current text-based languages could not have a block-based interface. For visual people, blocks make sense….