As I work with teachers and students, I have developed and overseen the development of many instructional resources. This page contains explanations and links to a few of these. Unless stated otherwise, all resources are licensed under Creative Commons license.
1. Coding Tools for Kids
I’m often asked, “I want my kids to learn to code. What tools are there to teach them to code?” So, I started a google sheet to keep track of the many available tools (https://docs.google.com/spreadsheets/d/1QOQuWKJVN6RnrzoG9AgQFcqKzIpdGjkOLu8gI2zf5a0/edit?usp=sharing). It’s by no means comprehensive; in fact, every time I add something I know about to the list, I find out about two or three more from others. There’s no way I can keep track of all the amazing tools being made to teach kids to code myself. So, if there are tools you know of that you or someone else use to teach kids to code, please let me know using the contact form below (or email me at: Peter_rich @ byu.edu).
2. LEGO ROBOTICS 8-WEEK COURSE
This curriculum includes a student workbook and a teacher guide (with lesson plans) that we have used successfully for several years to teach how to program by using the Lego Mindstorms NXT 2.0 robot. The lessons scaffold learners from beginning to more advanced ideas. Each lesson introduces a new concept or block to work with. Many lessons also use “unplugged” lessons to help children learn important computational concepts. A central part of this curriculum is to help students learn to plan and predict the outcome of their coding, with worksheets to scaffold students through this process. If you find it useful, please let us know.
Scratch (http://scratch.mit.edu) is the most popular platform for teaching kids in K-8 to code (as we discovered in a recent world-wide study). We created Scratch packs as a set of resources for teachers using Scratch for common lessons. The idea behind these is to provide the artwork and sound files for a project so that students can use Scratch as a form of expression (like writing, movie-making, etc.) without having to spend a lot of class time finding and creating resources. They can instead focus on using the materials to complete lessons and code.