As much as I love Computer Science, I know that coding and understanding CS concepts is also complicated. Here are some insights into how to get excited and actually understand how CS works.

The Power of Block-Based Coding

Since text-based coding is the main way for adults to program computers, I've often seen parents obsess over their children to learn popular languages like Python, Java, and C++. These are all great programming languages but can we please remember that we are teaching children and their needs are different than adults. 

As a CS Teacher, I notice how students are frustrated with the lack of instant gratification of coding output, the lack of visual graphics, and the highly technical aspect of program syntax. These problems are solved by starting a child with block-based programming. In simple terms, it will have students interested in CS more with a lower barrier of understanding first. In teaching terms, I would label this approach as scaffolding.

Block-Based coding is the ability for people to use programming concepts as puzzle-like pieces to sequentially build a visual program. In this approach to coding, the programmer does not need to focus on if they spelled or formatted a command correctly and these editors tend to have visual graphics to display how the program works. 

With this being said, here are a few block-based languages that are great to start with:

  • Scratch - A block-based platform to learn how to create games, animations, and a community of coders to share with.

  • Thunkable - A block-based platform to make mobile and web applications.

  • CodeBlocks in Tinkercad - A block-based platform to code and design 3D objects

  • EduBlocks - A block-based platform that provides a variety of languages such as Python, HTML, BCC: Microbit

Let the community know what you think in the comment section.