Skip to content

Middle school CS in action

2012 January 15
by Hélène Martin

A local public middle school recently started requiring a computing course that goes beyond learning to use basic software for all of its 6th graders and is hoping to offer several computing electives for 7th and 8th graders.  They have two dedicated instructors for the program and have been using the CSTA K-12 computer science standards as a guide.

To me, there are two major reasons to care about K-9 computing offerings.  First, pre-high school kids are in a mode of intense discovery and what they are exposed to then determines many of their life-long passions.  Second, it’s the right time for basic computing skill-building.  I think it’s hard to convince high schoolers who have been using computers all their lives that they need computing courses even if they do in fact know nothing about the mechanics of the Internet, the components of a computer, etc.  Middle schoolers are likely more open.  Removing basic-skills courses from high school then frees up time for more in-depth and satisfying classes (programming, building processors, robotics…).

Last week, I had the chance to briefly visit two of the new middle school classes and see students working on final projects using Scratch, a visual programming language. I had never attended a middle school CS course before and was very interested in getting a taste of how teaching at that level might be different from teaching high school.

One of the classes I briefly observed was working on individual Scratch projects after having completed several previous projects in groups.  All students were absorbed in their work and completely silent.  The instructor told students that they were welcome to ask each other for help but that they had to get up and use a centrally-located computer or desk to talk.  This seems like a very clever strategy to me: students thought carefully about what to seek help on, chose which peer to approach with care (instead of just turning to their neighbors) and had meaningful conversations.  The lab I saw was a large, inviting room with a ring of computers around the outside and desks for everyone in the middle.  The central computer used for collaboration could also project to a screen.

One of the teachers has this fun manipulative for practicing binary numbers:

Welch Binary CounterUnfortunately I can’t seem to find anything like it for sale but it seems like it would be easy enough to build (here’s the 1966 patent with technical drawings).  It would be a nice addition to binary number activities like the one in CS Unplugged.  I can also imagine partnering with an engineering teacher to have students design improvements on the basic idea and build them.

As I chatted with one of the teachers, she raised some interesting concerns unique to middle school:

  • Working with incoming students’ varying previous computing instruction (many high schools get the majority of their students from one middle school but middle schools get students from a wide variety of elementary schools)
  • Establishing courses that students could take many times and still benefit from (this doesn’t happen much in high school but seems to happen more for middle school electives)
  • Not undermining high school courses (very interesting to me — there isn’t that much clarity on what should be middle vs. high school content though the CSTA curriculum provides some suggestions)
  • Attracting more girls (relevant to everyone but the strategies are likely different for middle school)
Does anyone know of any course websites for middle school computing courses that provide insight into the topics they cover, the materials they use and the sequence they follow?  I know of a handful of middle schools that have dedicated computer science classes (the Girls Middle School in Palo Alto, for example) but I haven’t seen any that share a calendar of topics covered.  Any pointers would be appreciated!
5 Responses leave one →
  1. January 17, 2012

    We’ve been doing Computer Science in the Middle School for a few years. We do Scratch, Scribbler Robots, Python, and Alice.
    Kids love it and do great at it!

    Plus it gives them a taste of true Computer Science before they enter high school. We actaully start in the 4th and 5th grades with Scratch.

  2. January 17, 2012

    I looked for a bit for a similar binary counter on some elementary math manipulative websites but didn’t find anything either. I did come across this interesting game: link to in the process.

    The idea of having a common meeting place away from “work” computers for peer-to-peer collaboration sounds like a pretty effective technique especially at the elementary and middle school level. It would greatly reduce students typing for each other and referring to their own solution too much; not to mention the meaningful conversations you mention.

    With regards to “Establishing courses that students could take many times and still benefit from” TAF’s TechStart program faces this challenge a lot since 3rd – 5th graders essentially take the same class 3 years in a row. They have solved this by rotating curriculums that use the same tools (Scratch, NXT robotics, etc) but align with different topics (Environmental Science, Sound, Light, etc) .. I am not sure this is the best approach but it seems to be working okay for them so far.

    • Hélène Martin permalink*
      January 18, 2012

      I hadn’t thought of the kind of topic rotation you’re describing. That’s a neat idea (sounds like a lot of work, though)!

  3. January 24, 2012

    The third bullet concern (not interfering with high school curriculum) has been an interesting challenge that I didn’t expect. The high school classes in my area focus on Java almost exclusively; I am a volunteer teaching Python to middle school students. This is my 7th year doing this, so there is presumably enough of a “sample” that it would be interesting to reach back and see what impact the middle school exposure had on my past students’ interest and performance in high school. (Beyond the anecdotal evidence from a few students tracking me down a few years later.)

    If it helps, I am beginning to put together a web site for the class at link to There are links to my attempt at a description of a curriculum, as well as some past assignments and some Python modules I have developed that have been useful. It’s definitely a work in progress, but it’s a start.

    • Hélène Martin permalink*
      January 24, 2012

      Great ideas there! Thanks for sharing. As I’ve already said, I REALLY like your VPython robot simulation.

      I’d definitely be very interested in seeing more of what you do with those students.

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS