Middle school CS in action
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:
Unfortunately 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)