Code in Every Class! How All Educators Can Teach Programming
Have you been at school and in the middle of one of those “coding” conversations, and felt like you were listening to another language? Well, you were. But it’s a language you can learn pretty quickly, and one that children and teenagers will need for our future economy. The overall tenets of “Code in Every Class”, a book that encourages us to move away from the “programming geek” mentality to one that empowers us, addresses and critically missing piece in schools – coding. This book will raise your confidence with code. Moreover, the authors make many convincing arguments, such as:
- We can all learn to code (small children to adults)
- Coding teaches problem-solving, critical and higher order thinking, and creativity – skills for their future
- Coding encourages children to find problems and work towards solving them
- Teaching coding promotes social justice and empowers the disadvantaged
- Coding doesn’t have to cost
Coding ignites curiosity and allows children to create, which is highly empowering. It helps them break down a problem step by step. Teaching coding is about teaching thinking. (see p.19 for a list of skills, and perhaps jump to Chapter 19 for several lesson plan ideas)
Age-Old Excuses Debunked
Screen time may be an issue brought up. The authors echo researcher-author Dr. Devorah Heitner, who points out in her book, Screenwise, that screen time is a management issue rather than a problem. I like the term Brookhouser and Megnin use, “de-distracting”. We have to create a de-distracting classroom environment, not limit the use of educational technology. (they also make an important point that many families cannot afford devices that distract.Technology doesn’t change too fast; children will adapt. They have to learn flexibility.
Technology isn’t too expensive. Yes, you will need an internet connection, but many coding programs are completely free and come with curriculums, tutorials, and teacher guides. See the resource document I’ve created.
Learning to code can assist in developing other areas such as computational thinking, innovation, and entrepreneurship.
The Challenges of Building Diversity
The authors discuss some of the careers in which the skills from coding are necessary. (this is really most jobs) They address what they call “the dark side of coding”, the belief that programming is the domain of nerdy white middle-to-upper class white and Asian males. The real problem lies with the lack of coding opportunities at a young age, for all students. Chapter 3 explores how this has evolved and how it has impacted disadvantaged groups, including girls. (check out “Girls Who Code”, a non-profit committed to addressing the low representation of females in computer programming)
An encouraging shift is underway, and thankfully is coming from the tech industry itself. (check out a Google office – I’ve been to a few, in Japan, Australia, and Singapore, and they are diverse places) Regardless, there is a long way to go until we have computer programming role-models for all children. The good thing is that we can begin that with a coding movement in our schools. (see the excellent work on 501c non-profit, Code.org, the organizers of Hour of Code, and perhaps “take the pledge”) “Code in Every Class” offers classroom solutions to bring more diversity to the tech world on p.51.
Getting a Coding Program in Your School, or Just a Simple Lesson
As with anything new, have a plan. Do some research and, as Brookhouser and Megnin suggest, start slowly and perhaps consider learning along with your students. You’ll model curiosity, build relationships and trust by showing your vulnerability and empower your students to try, fail, try, succeed, repeat. You don’t need a computer to teach coding (see p.58), and for ideas check out Chapter 9 with a range of K-12 lesson plans to get you started. Some include gamification that will surely be popular. You don’t have to create a full-blown program. Start with a single lesson.
Chapter 7 is a crash course in coding language, why code matters, incorporating code into your lessons, and resources to further your learning. (you’ll even get a clear explanation of binary and the computer language “family tree”) When you have understood the underlying principles of coding, build your expertise. Seek out coding communities. There is a nice analogy to the English language which brings it all home.
If you think you’re ready for a program, jump to Chapter 8 and take the advice on how to launch a coding program. In a nutshell:
- Create a plan and a timeline
- Set up the environment
- Start small and build from there; reflection, revision, repeat (be sure to include play!)
- Seek support, share
- Raise the level
The Fear Factor
In building a program or even just trying some ideas, you will likely encounter resistance. Although this is natural, resistance comes from fear of the unknown or fear of failure. The book discusses strategies to get over the “I’m bad at Math” mentality. (see the fun Google Search activity on p.65) Ultimately, we need to foster persistence, creativity, and effort.
Buy-In from the Community
Another challenge we often face is resistance from school leaders. Concerns about scheduling and meeting curriculum objectives are real and important concerns of teachers and school leaders, but they don’t have to shackle us to the “done and done”. Effective coding lessons, programs and clubs can meet curriculum standards. The free programs available online negate the argument that “it isn’t in the budget”. (again, see this resource document) Granted, the authors acknowledge that online connectivity and some devices are necessary. They suggest another strategy – guerrilla tactics that don’t get you in trouble. Do something with students to show their learning through code, and share it with the community. (administrators, colleagues, alumni, parents) Build on any successes. Get the local community involved to demonstrate how coding skills applies to business, science, etc.
Remember, anyone can code!
Here is a list of resources to start a coding program, or to simply learn at home, inspired by the book with my additions. Copy, modify and share.