Education ∪ Math ∪ Technology

Computing in schools

A possible future for computer science in schools

Gary Stager posted "Dumbing Down" a few days ago, which is a passionate plea for computers to be used for computing in schools. He writes:

Although I’m only 48, I have been working in educational computing for thirty years. When I started, we taught children to program. We also taught tens of thousands of teachers to teach computer science to learners of all ages. In many cases, this experience represented the most complex thinking about thinking that teachers ever experienced and their students gained benefit from observing teachers learning to think symbolically, solve problems and debug. There was once a time in the not so distant path when educators were on the frontiers of scientific reasoning and technological progress. Curriculum was transformed by computing. School computers were used less often to “do school” and more often to do the impossible.

Gary’s argument is (mostly) sound, and indeed, I argued for almost exactly the same thing in the keynote I presented in Alberta in February. Of course, both of our arguments have a flaw.

Our purpose in introducing computing is to both use the full power of a computer in schools. Indeed, the way we currently use computers in schools is much like using cars for their heaters; sure the cars will keep us warm, but it completely misses their potential as transportation devices. This analogy is somewhat apt, since the computer (as Dr. Papert has pointed out) can be used to transport kids to Microworlds.

Peter Eden said:

“I am interested in your comment that the power of computers as a tool is almost superficial until you learn to program. Others peoples’ programs are like using the computer to do something that can be done by other means. Word processing is really just typing. Many maths programs are really just calculators. A database is really just a record keeping system. But once you begin to program a vast new world opens up. Everything you program becomes a new tool. Because its your tool you can modify it. You modify it in ways you never imagined when you began.” (Peter Eden, personal communication, January 29th, 2012)

So we agree that learning how to program is an excellent endeavour, and one that basically everyone should learn how to do. What I think Gary and I disagree about is whether or not this particular learning should happen within the formal structure of schools.

Gary points out in his article that they had "tens of thousands" of teachers involved in learning how to program so that they could teach their students. Tens of thousands is a lot, but there are millions of teachers world wide. Tens of thousands is a drop in the bucket compared to the number of people who are teachers.

If we were to teach them all (or a sizable subset of all of the teachers) how to program so that they could teach their students, we’d have to institutionalize learning how to program, and I think that this would be a disaster. We’d end up with benchmarks, prescribed curriculum, and standardized testing.

I did a mathematics degree, and one requirement of the degree was that I take a course in computing, which I think is a perfectly sensible requirement. The problem was, I had to do a 1st year computer science course, and this course was ungodly boring. It was so boring, that despite attempting twice to finish a 1st year computer science course, I gave up, and did a "Computing for Mathematicians" course instead. Of course, I knew how to program already, so the programming skills themselves were not very useful to me. However, what I learned from this experience is that it is tremendously easy to take something full of life and turn it into something deadly dull. If every student was forced to endure the same kind of learning I experienced during that 1st year computer science course for 12 years without the opportunity to opt out, none of them would ever touch a computer again.

It is common for instutions like schools, to take endeavours which are exciting and interesting on a small scale, and attempt to bring that exact same experience to everyone. Unfortunately, most often these endeavours pick all of the wrong parts of the activity to "scale up." In scaling up mathematics education, we took an experience where people mostly played around with ideas, and turned it into fill-in-the-blank worksheets, completely destroying the purpose of learning mathematical thinking. Computer science in schools would fall into the same trap as science education has, which is that people think the purpose of science education is to teach facts about science, instead of a way of thinking.

What I would prefer is for space to be created outside of instutions for this type of thinking to occur. Much like we have community centres for art, and for physical activity, we could have recreational centres for computing. Instead of instutionalizing (and eventually centralizing) the learning of computing, I’d like to see it de-instutionalized. I’d like to see a thousand different models for learning computering rather than the inevitable staleness that would occur if it were introduced en masse to schools.