Four ways to start a high school programming course

When I graduated high school in the late nineties, I figured my school was behind the times because it didn’t offer a programming course.  I later found that programming in high school was, and unfortunately still is, somewhat of a rarity. 

After the AP test, I led my calculus classes through some programming concepts using their graphing calculators.  The unit was well-received, and culminated with some reasonable programs. 

But you don’t need calculus to learn to program.  In fact, programming may be the right context to teach math concepts to students in elementary and middle school. 

The relevance goes without saying.

But how to get started?  Here area  few options that come to mind:

  • Alice.  A free development environment for 2D and 3D animations.  Designed as a teaching tool, Alice has a drag-and-drop interface and is many a college student’s first experience with object oriented programming.
  • Processing.  Created as a tool to teach programming in a visual context, Processing allows users to quickly (i.e. simply) create graphics and animations.  Your curriculum is practically ready-to-go – click “learning”.  Did I mention it’s all free?
  • Lego Mindstorms.  Nice drag-and-drop software makes robotics programming a visual experience, and of course commanding a robot to do your bidding is always rewarding.  It’s pretty expensive though, at $280 per kit. 
  • Graphing calculators.  If your classroom has 30 of them, you’re in luck.  Otherwise, this might not work out.  The handheld aspect is convenient, and you won’t have kids checking Facebook on them.  Not object oriented, but hey, this is an introduction.