How to Teach More Than Just Coding
Search “Should I learn to code?” and the top results will read like a debate.
“Please don’t learn to code,” one headline begs. Another disagrees: “Why Everyone Should Learn to Code.” Others explain how coding will change your life, ask if coding is still worth it for millennials, and examine if all these questions have different answers because it is 2019.
But many of these arguments land in a similar spot: Learning to code is not just about learning to write C++ or Python.
“Whether it’s creativity and imagination, collaboration, logical reasoning, whether it is aesthetics … suddenly, we have one medium to bring all of these things together,” said Kaustav Mitra, vice president of educator programs at Tynker.
Jobs that require coding skills are growing 12% faster than the market average, according to BurningGlass. The same research shows those jobs are also more lucrative—they pay about $20,000 more annually than positions without coding requirements.
And the market to help people meet those standards is expanding. Coding bootcamps are a $309 million industry, with yearly growth of 150 percent, according to Course Report.
Mitra said while coding helps kids on the path to becoming a developer, there are far more compelling reasons why it should be taught. “We want to help children realize what they want the world to be, and coding is one powerful tool to do it.”
“Soft” or transferable skills make up a lot of what the professional and personal world requires. Communication, logic, teamwork and creativity are all hard to quantify or teach, but they can be learned along the way.
Soft Skills Kids Learn Through Coding and Lesson Ideas
Math and Literacy
When kids make their way through a coding curriculum, they’re practicing reading by following along, learning new terms and writing them out. But they are also picking up on larger reading comprehension skills.
Story sequencing is the ability to place events, steps or components in their logical order—a foundational skill in reading and programming. Like a story, programs rely on this order. Coding helps kids understand that what happens first can change what happens next.
Programming requires specific math skills, from basic functions like addition and subtraction to more challenging concepts for children like ratios and coordinates. It also uses abstract math concepts in a creative way. Kids can create art based on mathematical patterns and learn about economic concepts like game theory.
- Incorporate math- and reading-based coding into a curriculum using tools like:
- Teach students how to write pseudo code by hand, focusing on logic and steps instead of syntax. Pseudo code is a representation of an algorithm using plain English.
Critical or Programmatic Thinking
“Coding is just a language. It’s a syntax. What we’re teaching kids is a different way to think,” said Shauna Garner, franchisee support coordinator at CodeNinjas. The problem-solving skills it takes to write and debug code are transferable, like many STEM skills.
That could help explain why mathematics majors routinely score the highest on the LSAT, which measures reading comprehension and problem-solving but is most popular with criminal justice and pre-law students, according to testing prep companies.
David Dodge, founder and CEO of CodaKid, indicated the process of coding is a pivotal part of the lesson. Even when kids are creating their own games, they’re testing theories and finding solutions. “The goal is to create an enjoyable level that’s not too difficult for a beginner, but you’re finding that the character is falling into the lava in the first 5 seconds,” he said. “[Then] you’re redesigning, you’re testing, you’re iterating. … that whole process is incredibly important.”
Have students fill out a blank scientific method worksheet for their coding projects, asking them to analyze the steps of their process, the questions they want to answer, and track their methods.
- Ask a question.
- Research your topic.
- Create a hypothesis.
- Test your hypothesis.
- Analyze your data.
- Report your results.
Ask students to formally reflect on a coding project when it’s over and answer a couple questions, such as:
- What was your favorite part of the project?
- What was your least favorite part?
- What would you do differently next time?
- What was an unexpected challenge you encountered, and how did you solve it?
- What was something you tried to accomplish with this project but were unable to do?
Teamwork and Social Skills
Garner pointed out that one of the benefits of bringing kids together to code is that they are with a group of like-minded individuals—they can ask questions, share successes and enjoy their progress as a group.
“There’s team building, sharing, there’s collaboration. So, their social skills are developing as well,” said Garner. “They might be at a different game or a different belt than the neighbor that’s sitting next to them, but they’re building new friendships and enjoying the time that they’re there because they’re interacting.”
In a self-paced environment: Assign students peer mentors, pairing up more advanced students with beginners. The skilled students will get practice by teaching others and the inexperienced ones will get one-on-one help in a low-risk environment.
In a group-paced environment: Place students in groups and ask them to conceptualize a game together. They should agree on a mission, method and interface concept before they start writing any code.
Coding isn’t all math and science—it’s also creation. Whether it’s a game, a visualization, or an app, programming is a tool for kids to make whatever they can think of. It can involve storytelling and art just as much as numbers.
Give kids freedom and flexibility while they’re programming to try new things and test different methods. Simple things like customizing colors and fonts can help teach them early that there’s a lot of potential to make their work unique.
Have students customize their projects any way they know how. For example, Scratch offers options for characters to change, colors to switch and games to be tailored to the preferences of each user.
Let students use Keynote or PowerPoint to design visualizations and projects. These programs offer more flexibility and a lower barrier to entry, so students can design their wildest dreams before translating them into code later.
Citation for this content: Syracuse University's online master's in computer engineering