Beyond Blocks: First Steps In Text-based Coding

Share on facebook
Share on twitter
Share on linkedin

I first started using the now famous block-based coding application called Scratch in 2012 with version 1.4. I was teaching a summer camp program inside of a makerspace and was teaching students how to make their own maze-style video games. For all of the students, it was their first time ever to try coding, and most of them were skeptical that they could make their own game or learn how to code. I prefaced the class that we would be making something that looked more like Pac-man and less like modern graphic-intensive games they were used to. Most of the students were impressed with the results of the simple interface and 2D graphics of the Scratch environment. All of the students walked away with a cool new video game and a sense of accomplishment because block-based coding was so accessible and easy to use.

Since then I have used several other block-based coding platforms to help students with getting started. One thing that has been difficult over the years, is to help students transition to text-based programming with languages like JavaScript and Python. The blocks, like Lego, are very intuitive and provide structure for programming. A blinking cursor on a blank text-based programming environment is less inviting and less stimulating. Many students are eager to try text-based coding but are intimidated by the process. I have found that the key to this transition lies in three pedagogical practices:

  1. Live Coding
  2. Syntax Learning
  3. Tinkering

Live Coding, is when you as the teacher starts to program while explaining every line of code verbally with students while they follow along on their own computers, going line by line. While you are leading students, you can also draw parallels to block-based programming by showing examples of how the programming elements are the same in both environments. The Microsoft MakeCode environment is especially helpful because it automatically translates block-code to JavaScript or Python.

Syntax Learning is when you treat syntax like any other vocabulary learning from a traditional subject. You can have students make vocabulary cards, practice identifying terms and definitions and even play syntax bingo. Any traditional vocabulary exercises also work with coding syntax.

Tinkering is the art of playing around with something until you learn how it works. This approach should be used after students have some general knowledge of the basics so they don’t feel completely overwhelmed or lost. In Tinkering, failures and mistakes are seen as opportunities to grow and learn because there are no serious objectives.

Even with all three of these pedagogical practices, it may still be challenging at times to teach text-based coding to students, with which, only time and practice will make perfect. If you want to deep dive into research-based methods for teaching students to code with a “coding as a second language” approach, then I highly recommend the research and tools designed by Felienne Hermans. She has even developed a programming language called Hedy, that is aimed at teaching students how to code from the perspective of acquiring a new language.
If you want to learn more about this, tune into our upcoming webinar on the topic. If you are reading this article after the date of the webinar, no problem! All previous recorded webinars can be found here on our website.

about Mark
Mark is Vice President of Education. He is passionate about project-based learning and teaching students to create with technology.
With experience in STEAM and maker education, he has consulted with teachers and administrators all over the world to setup and design impactful learning experiences with makerspaces and related education themes. He speaks internationally about equity and access to STEAM and maker education, most notably at the Stanford FabLearn Conference, MIT Libre Learn Lab, SXSWedu, EARCOS in Bangkok, UNESCO in India and at 21st Century Learning in Hong Kong.

other posts in


Join our

Get news, teaching ideas and resources from the BSD Education community every 2 weeks.


BSD Education (Build Something Different) partners with educators to bring technology education into classrooms through our programs of learning, online learning platform and professional development training.

Join our Free Insights Newsletter!
Get free teaching resources and tips into your inbox