Beyond Blocks: Text-Based Coding in Middle School
By Weston Hagan
“If we want to create real coders, they need to use real code”. That was the ‘big idea’ I recently shared with an audience of middle school and high school educators at a conference. If you’re a parent, informal educator, or camp leader, consider the following four points when deciding how to introduce your students to coding.
Block Code is an Entry Point, not a Pathway
Scratch, Snap!, Blockly, and other variants of block coding have become popular in both schools and stores. Block coding uses a series of colorful shapes that snap together on-screen. Each block contains some bit of code and allows a program to run. These are fine starting places, but they can’t offer a full introduction to coding.
Why not? Because some coding skills like commenting, code styling, and troubleshooting do not transfer directly from block to typed coding. Block coding tools are appropriate for students in K-5, but they’re only useful for the first one to two years of coding before moving on to text-based code.
Middle School is a Fork in the Road
Looking at computer science education broadly, there are ample resources for the very first days of coding (as mentioned above). There are great tools for more advanced coders, too, including AP Computer Science and online coding courses.
But middle schoolers are underserved, and it’s an especially critical time period to keep them engaged with computer coding. If students are bored by using the same simplistic tools they used in elementary school, they may stop identifying with computer science as a topic of interest; a trend that is hard to reverse once it’s begun.
Middle school is the opportune time to expose students to real, typed coding and an open-ended world of challenges and creations that is limited only by their willingness to learn. They have the ability to learn typed code with its syntax, logic, and complexity; it’s up to educators and parents to give them the opportunity.
Typed Code is Transferrable to Any Coding Language
Troubleshooting, logical flow, statements and variables don’t change all that much between languages. The key is to get exposed to ideas in a real coding environment so that students build familiarity with real code in action. Learning code with Let’s Start Coding does not preempt coders from coding websites or video games, it builds transferrable skills that will help them do so!
Support is the Key to Success
Successful code learning tools are more than just a coding language; they include project ideas, instant feedback from the code, and fun tasks appropriate to the learner’s skill level. Even programs for adult learners perform better when there is a concrete output, like a working website, from all of the effort put forth.
In other words, the best tools to learn code are frameworks that support both the learner and instructor on their coding journey. A framework can include anything from a progression through projects, plain-English explanations of what’s happening, or videos that describe basic code concepts. The stronger the support for the teacher and learner, the more able students will be to continue learning.
What We’re Doing About It
At Let’s Start Coding, the ideas above are central to the kits we’ve created. We believe in the importance of text-based code without focusing on the peculiarities of any single language. With our step-by-step coding lessons, learners are exposed to the fundamentals of coding that apply to all typed coding languages.
Relevant, challenging tasks are key to keeping students interested in what they’re learning. That’s why students build handheld gadgets that are wearable, shareable, and fun with the Let’s Start Coding kit. When the outcome of a project is something concrete, students will stay engaged and experiment more.
We also know it takes more than a box of components to create a valuable learning experience. You’ll find dozens of pre-written programs on our website and free resources for teachers that include lesson plans and ties to common academic standards.