Text-based vs. Block-based coding

Scratch 3.0 and the same code in javascript

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. 

Pro text-based coding for students

Screen Shot 2018-06-06 at 9.02.40 PM
Source: Teaching Kids to Code: Text-Based vs Block-Based Programming
Screen Shot 2018-06-06 at 9.25.49 PM.png
Source: Beyond blocks: Text-based coding in middle school
Screen Shot 2018-06-08 at 9.51.34 AM
Source: No more ‘Easy Bake Oven’ coding

Pro block-based coding for students

Screen Shot 2018-06-06 at 9.18.45 PM.png
Source: Visual-based vs. Text-based programming languages
Screen Shot 2018-06-06 at 9.23.18 PM.png
Source: To Block or not to Block, That is the Question: Students’ Perceptions of Blocks-based Programming
Screen Shot 2018-06-06 at 9.30.54 PM.png
Source: Scratch Has a Marketing Problem
Screen Shot 2018-06-06 at 9.39.14 PM.png
Source: Learnable Programming: Blocks and Beyond
Source: Why top universities teach drag and drop programming

Balanced / It depends / It might not matter

Screen Shot 2018-06-06 at 9.07.00 PM
Source: Graphical vs Text-Based Coding for Kids
Source: Block-Based Coding
Screen Shot 2018-06-06 at 9.57.16 PM
Source: What Is Frame-Based Editing?
Screen Shot 2018-06-06 at 10.09.58 PM.png
Source: Computational Thinking and Coding for Every Student: The Teacher’s Getting-Started Guide

4 thoughts on “Text-based vs. Block-based coding

Add yours

  1. 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.

    1. 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….

Please Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: