"I think everybody in this country should learn how to program a computer because it teaches you how to think." - Steve Jobs
The above quote is on the homepage of the coding website Tynker. Coding, formerly known as programming (I still remember teaching myself BASIC on my Commodore 64 back in the '80s!), has once again returned to classrooms nationwide. A range of high-profile individuals, including Mark Zuckerberg, Bill Gates, Dr. Oz and Ashton Kutcher, among others, have lent their support to Code.org, a non-profit that advocates a return to coding in the classroom.
Computer Science Education Week
The Hour of Code will take place during the week of December 9-13, which happens to be Computer Science Education Week. The goal is getting 10 million students to try computer science for one hour that week. Participants include Thinkersmith, Google Education’s Blockly, Khan Academy (which has coding projects ready to remix, known as "spin-offs"), CodeAvengers, CodeCombat, CodeAcademy and CodeHS. Mobile tablet applications are part of the fun, too. They include Kodable, Hopscotch, LightBot, Microsoft Research's Touch Develop, MIT's App Inventor, and MakeGamesWithUs. This truly is a coding renaissance!
A Brief History
In the late 1970s and early 1980s, Seymour Papert, a student of developmental psychologist Jean Piaget, pioneered the learning theory known as constructionism. Similar to constructivism's main tenet of "learn by doing," constructionism can be summed up as "learn by making." In 1980, Papert published his seminal book, Mindstorms: Children, Computers, and Powerful Ideas, about constructionism and the kid-friendly programming language Logo, created by his MIT lab. Expectations for widespread school adoption of the "Logo Turtle," a programmable robot, were strong at the time, but fell short.
Nonetheless, Papert's vision is still strong today. Earlier this year Gary Stager and Silvia Libow Martinez co-authored Invent To Learn: Making, Tinkering, and Engineering in the Classroom, a book that updates constructionism to today's DIY Maker movement. Papert's Lego-robot collaboration lives on with Mindstorms, a top-selling product that uses advanced tablet applications to program movements.
From Logo to Scratch
A direct descendent from Logo is Scratch, also from the MIT Media Lab. The goal of Scratch is for "young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design." No knowledge of Flash, Java or other actual coding is required -- programming commands occur by interlocking color-coded bricks. There are many shared projects that range from animations to complex games.
Last year, my sixth grade social studies students remixed and "modded" (modified) existing Scratch games, and some even created brand new Flash-based video games. Students also wrote an instruction manual and a brief essay that explained how their game related to their research (in this case, medieval Europe). I used a flipped classroom approach, giving the class links to a YouTube tutorial and a step-by-step guide as a downloadable PDF. My students' work can be found here.
Scratch 2.0 has a "See Inside" feature that enables remixes of projects. I have found this feature to be an excellent teaching tool. It's empowering to see new users make simple changes and then have the ability to call the project their own. Scratch also teaches practical applications of mathematics (angles, degrees and x,y plane). There are many helpful resources for teachers on its ScratchEd page. Scratch 2.0 is web-based and available as a free offline download.
Mobile Coders Wanted: Ages 5 and Up!
There are numerous options to teach programming to young learners. Many of these are available for iPad and are similar to Scratch's approach of coding via interlocking blocks. Kodable (free on iTunes) is geared for students in kindergarten through second grade. This app teaches logic and abstract problem-solving skills. Kodable has a learning guide, too. Another iPad app, Daisy the Dinosaur, teaches with a "challenge mode" in which the player has to make Daisy perform tasks by using the correct coding bricks. Hopscotch (maker of Daisy the Dinosaur) is also "inspired by Scratch." According to iTunes, children can program "characters to move, draw and collide with each other, and use shaking, tilting or even shouting at the iPad to control them."
Tynker has a platform similar to Scratch and offers instructor tools, including a teacher dashboard and an online gradebook. It uses a scaffolding approach that moves from interlocking bricks to "more advanced concepts including syntax driven programming." Tynker also offers a Starter Pack with lessons and project ideas.
Tutorials for the Hour of Code are available from Computer Science Education Week's Learn page, specifically in the Quick Tips for Educators section. For more information on participating in the Hour of Code with your school or community, go to CS Ed Week's homepage.