To celebrate Computer Science Education Week (December 4-10), we’re bringing you a series of posts highlighting both the benefits of computer science education and fun ways for teachers of all backgrounds and skill levels to give their students computational thinking skills. Stay tuned for more like this throughout the week!
Coding does not live in a vacuum. Similar to how knowing another language will not automatically make you effective in navigating another culture, knowing a coding language does not mean you will automatically have the deeper problem-solving skills necessary to meaningfully apply that knowledge in a real-world setting. Coding must be a part of larger project-based experiences in order to reach its full potential. But how can coding be integrated into authentic PBL? Perhaps more importantly, how can we develop a scalable solution accessible to all?
The answer lies in differentiating between raw coding knowledge and the thinking skills that allow students to use code creatively and effectively.
The Current Standard
The way that most internet companies today try to teach coding involves holding a person’s hand through a series of more and more complicated applications of various aspects of a given coding language.
One company I recently had the chance to speak with that is trying to take this strategy to the next level is Tynker, a 5 year old company with a seemingly simple mission: help kids become makers through technology that’s focused on their perspectives and interests (their resources include challenges for coding things like maps and games, and at higher levels Python-based apps).
Tynker CEO Krishna Vedati told me that “by making the process fun and meaningful, we let them focus on problem-solving. We want to make authentic PBL a reality using coding.” Tynker is designed for “teachers who don’t know how to code,” and even gives students a chance to show off their work.
This is an interesting model because it provides options tailored to a number of different interests to engage the user beyond the basic “programming a game” approach, which is more than can be said for most.
Limitations Inherent in the Approach
If we think of the “learning to code” process, however, as a two-tiered hierarchy where tier one is learning the basics of coding languages, and tier two is figuring out how to creatively use the language for your own projects or situation, then this only really, at its heart, can still get at the first area (see NGLC’s recent report highlighting Fields of Learning for a good way to think about this).
The type of practice we see in most online platforms for coding will not help students truly learn to apply their basic skills to the real world. And while Tynker’s approach checks more boxes of authentic PBL (chance to publicly display work, focus on individual interest) than many, it misses out on key features such as real-world application and opportunities for collaboration.
Tynker is not alone in these limitations–similar programs tailored for adults (codecademy and codeschool, for example) hit the same wall. It would be hard (or impossible) to design a resource that provides scalable, automated, en-masse feedback on efforts to solve specific, personalized real-world challenges.
This is where the challenge at the heart of web-based ways to learn coding lies. Coding gets frustrating if you hit a wall and can’t figure out what the problem is. Sometimes it will be a fundamentally flawed strategy for tackling the issue, but more often than not it will be a typo buried in 100+ lines of code–there’s an old joke about coders going bald because they pulled out all their hair in the process of searching for an error that turned out to be a missing semicolon. This sort of thing makes non-predefined-problem-solving difficult to provide at scale without a human to help with thought processes along the way.
This is not all that different from what makes PBL itself hard to scale–it’s expensive and challenging to provide individualized coaching and mentorship.
However, it’s not impossible to imagine mass-manufactured experiences that could get closer to providing higher-level coding practice and experience than what most on the market are currently offering.
Many of these experience would likely focus on providing practice for broader computational thinking skills within a given subject area. Digital Promise is doing good work on what this can look like (see their recent report here).
According to them, computational thinking skills “are versatile approaches to problem solving that include gathering and organizing data to investigate questions and communicate findings, expressing procedures as algorithms (that is, a series of logical, precise, repeatable steps that delivers an expected result) to reliably create and analyze processes, creating computational models that use data and algorithms to simulate complex systems, and using and comparing computational models to develop new insights about a subject.”
Digital Promise has published 10 educator micro-credentials to support teachers as they develop the competencies to integrate computational thinking into their classrooms, which is a creative approach to integrating coding and computer science skills into other curriculum areas. These micro-credentials are a big step in the direction of enabling scaling through more schools and teachers having the capacity to teach the computational thinking skills crucial to coding.
Here’s a free business idea for someone with a very different set of skills than my own: developing an online platform with a series of progressively challenging collaborative games that require you to organize and transform large data sets with predetermined functions that enable students to get deeply involved in fields such as history (by affecting the outcome of, say, battles and economic shifts) or chemistry (by developing experiments to create equations and processes that lead to medicines or fertilizers), while practicing complex logical problem-solving similar to how computers solve problems.
It would be a challenging venture, but it’s one of the only real remaining unfilled niches in the “digital platforms for learning to code” market, and could make a valuable addition to computer science education programs in K-12 schools everywhere.
For more, see:
- How the Village School Puts Coding at the Center of Their Approach
- All Kids Coding in Rhode Island
- Smart List: 25 Coding & Computer Science Resources
Stay in-the-know with all things EdTech and innovations in learning by signing up to receive the weekly Smart Update.