I’ve been teaching programming to 7th and 8th graders for 3 years now, and I’ve been refining my approach each year. The first two years it was just part of my math class or technology class while this year I have a class dedicated to programming. Students love it; it’s creative, challenging, frustrating, rewarding, and as Steve Jobs said: it really teaches you how to think.
This year I focused on three tools to deliver my content.
http://www.codehs.com: This is my main programming environment for learning Javascript. All of the lessons have accompanying videos that guide the students through increasingly challenging exercises. The first module starts simple but becomes challenging quickly. Students learn many important programming concepts in this first module: functions, if statements, for loops, while loops, etc. Most students don’t finish this first module in a quarter long class, and the follow-on modules teach graphics, animation, data structures, and game design. I’ve had a couple of students who just ate this up, and finished the entire program (but this took more than one quarter of work). These kids are now coding their own games outside of class.
http://www.playcodemonkey.com: I started the school year only teaching with CodeHS, but later quarters I augmented the experience with Code Monkey, especially when I started teaching 7th graders. Code Monkey is easier than CodeHS, and more game-like. Students transition nicely from Code Monkey to CodeHS.
http://www.CS-First.com: This is a Google site that is promoting programming for younger students. It’s run like a club, and Google has been generous about providing materials to make the experience more fun (passports, stickers, etc). CS-First uses Scratch but in a project-oriented way. You can sign up for different themes: Art, Game Design, Fashion, etc and the students are led via videos on the themed projects. I like this approach because by itself Scratch is too open-ended to serve as a good code learning platform. CS-First does a good job of parceling out useful coding concepts as the projects get more and more interesting. I use CS-First once a week with my students.
Next year? This summer I am attending PLTW’s Introduction to Computer Science training, and will be offering it to my students next year.
Tags: codehs, coding, coding programming middle, middle school, programming