Beyond Blocks: First Steps In Text-based Coding


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 trying coding, and most were skeptical that they could make their own game or learn how to code. So I prefaced the class that we would be making something that looked more like Pac-man and less like the modern graphics-intensive games they were used to. Most of the students were impressed with the results of the Scratch environment’s straightforward interface and 2D graphics. 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 block-b犀利士 ased coding platforms to help students get 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. However, 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

Live coding is when you, as the teacher, start to program while verbally explaining every line of code with students while they follow along on their computers, going line by line. While 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 conducive because it automatically translates block-code to JavaScript or Python.

Syntax Learning

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, teaching text-based coding to students may still be challenging, 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, I highly recommend the research and tools designed by Felienne Hermans. She has even developed a programming language called Hedy, aimed at teaching students how to code from the perspective of acquiring a new language.

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 previously 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.
More from

Real-Life Work Experience For High School Students

A high school internship is the best way to gain work experience, develop your professional skills, and fast-track a career.