My favorite teaching resources for kids
Tags: education, raspberrypi
Published: 2020-07-02 14:26:08

#Who am I?
I spent 3 years teaching computer programming at MC<sup>2</sup> STEM High School in Cleveland, Ohio before (attempting) a career change to full time developer.

#How *NOT* to Teach kids
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/1abdx5n3k4kg4mfz4sk8.png)
You should *not* teach kids how to code for its own sake. Kids are inundated with enough crap in their daily lives that they shouldn't need to be pressured by what anyone else _thinks_ they should be learning. This will make students not like programming.

That being said, here are my favorite teaching resources for kids.

#The Hardware: Raspberry Pi
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/wf65iph4m6yltyzornfa.jpg)
I wrote about this in [my first post](https://dev.to/wolfmath/teaching-kids-to-code-with-raspberry-pi-51b0). There is so much that this little credit-card-sized machine can do. It comes bundled with tons of educational software, you can add [all sorts of hardware](http://wolf-math.com/computer-science/raspberry-pi/sense-hat/), or turn them into robots. These things can really do _almost_ whatever a regular computer can do-- sometimes more. If you were thinking about getting your student a new computer consider a [PiTop](https://www.pi-top.com/).

#The Websites: CodeCombat, Khan Academy, Scratch

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ogh518nzjuweopk22ax2.jpg)

There are more than just these three but I think these are the best. The common denominator between them is that it allows kids to play while coding. My daughter actually spends more time playing games on Khan Academy than she does coding, and that's fine!

I really like Scratch for kids who have had no prior coding experience or little to no computer experience-- and yes, that still exists two decades into the 21st century! Scratch is baked in to Raspbian, the Raspberry Pi official Linux distro.

#The Book: Python for Kids

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/iptdwcwnkoc1gkcs5aka.jpg)

I love [this book](https://nostarch.com/pythonforkids). I learned a lot from it myself. My favorite part is that the entire book leads up to the creation of a game. Python in general is also a great language to learn first due to its clean and easy syntax. 

#The Other Thing: Minecraft

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/uxk4fut8tr2qrokl6o6b.png)

To be honest, I've never played the _actual_ Minecraft, but I've used the Raspberry Pi edition a lot. I had a lot of fun writing scripts that troll students who play Minecraft instead of doing their work-- teleport their avatar to random places in the world (one block down makes them unable to move but still see everything around them), create giant blocks (usually lava for maximum damage), make them poop random blocks as they move around (flowers usually have them the most confused). Once we've learned the basics of coding I teach them how to write the kind of script I used against them.

#Conclusion

If you haven't caught on by now, the way to get kids enthusiastic about coding is to get them comfortable playing with code. Coding is hard and at can look scary, especially for kids. The way to get kids comfortable with code is to make it playful.

Breaking stuff is also good! Just make sure to use old hardware for that. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ltrnn3uhuhns8tyuadj0.jpg)