Teaching CS in Schools with Meaning: Contexts and problems come first

Richard Hake relates a story from Alan Schoenfeld:

One of the problems on the NAEP [National Assessment of Educational Progress] secondary mathematics exam, which was administered to a stratified sample of 45,000 students nationwide, was the following: An army bus holds 36 soldiers. If 1128 soldiers are being bused to their training site, how many buses are needed?

Seventy percent of the students who took the exam set up the correct long division and performed it correctly. However, the following are the answers those students gave to the question of ‘how many buses are needed?’: 29% said…31 remainder 12; 18% said…31; 23% said…32, which is correct. (30% did not do the computation correctly).

It’s frightening enough that fewer than one-fourth of the students got the right answer. More frightening is that almost one out of three students said that the number of buses needed is ‘31 remainder 12’.

The problem that Hake and Schoenfeld are both pointing out is that we teach mathematics (and much else in our curriculum) completely divorced from the contexts in which the mathematics make sense. The children taking the NAEP knew how to do the mathematics, but not why, and not nearly enough about how the mathematics helps to solve a problem.  They knew mathematics, but now what it was for.

Hake relates this story in an article about Louis Paul Benezet, an educator who ran a radical experiment in the 1930’s. Benezet saw how mindlessly young children were performing mathematics, so he made a dramatic change: Almost entirely remove mathematics from grades 1-5. Start teaching mathematics in grade 6, with a focus on problem-solving (e.g., start from estimation, so that you have a sense of when an answer is reasonable). Sixth graders can understand the problems for which one should use mathematics.  The point is not to introduce the solution, until students understood the problem.  Remarkably, the experimental 6th graders completely caught up in just four months to the 6th graders who had had mathematics all five previous years.

The experiment was radical then, and as far as I know, has not been replicated — even though evaluations suggest it worked well.  It runs against our intuition about curriculum.  Mathematics is important, right?  We should do more of it, and as early as possible.  How could you remove any of it?  Benezet argued that, instead, young children should do more reading and writing, saving the mathematics for when it made sense.

Hake uses Benezet (and the evaluation of Benezet’s approach by Berman) to argue for a similar radical approach to physics education — teaching some things to kids to build up intuition, but with a focus on using physics to solve problems, and introducing the problems only when the students can understand them. There are lessons here for computing education, too.

• First, problems and contexts always come first! Teaching a FOR loop and arrays before teaching a problem in which they are useful just leads to rote learning, brittle knowledge which can’t be applied anywhere, let alone transferred.
• Second, the answer to the question “What should be removed from our overly-packed curriculum to squeeze computer science in?” may be “Get rid of the overly-packed curriculum.”  There may be things that we’re teaching at the wrong time, in the wrong way, which really is just a waste of everyone’s time.
• Finally, just how young should we be teaching programming? Several people sent me the link to the report about Estonia teaching all first graders to program (quoted and linked below). Sure, you can teach first graders to program — but will they understand why they’re programming? What problems will first graders recognize as problems for which programming is a solution?

I do applaud the national will in Estonia to value computing education, but I do wonder if teaching programming so young leads to rote learning and the idea that “31 remainder 12” is a reasonable number of buses.

We’re reading today that Estonia is implementing a new education program that will have 100 percent of publicly educated students learning to write code.

Called ProgeTiiger, the new initiative aims to turn children from avid consumers of technology (which they naturally are; try giving a 5-year-old an iPad sometime) into developers of technology (which they are not; see downward-spiraling computer science university degree program enrollment stats).

ProgreTiiger education will start with students in the first grade, which starts around the age of 7 or 8 for Estonians. The compsci education will continue through a student’s final years of public school, around age 16. Teachers are being trained on the new skills, and private sector IT companies are also getting involved, which makes sense, given that these entities will likely end up being the long-term beneficiaries of a technologically literate populace.

Entry filed under: Uncategorized. Tags: , , , , .

14 Comments Add your own

• 1. The One Blog You Have To Read | Teaching Software Carpentry  |  September 7, 2012 at 3:46 pm

[…] about teaching computer science (and other things). Just today, for example, he reports on an experiment from the 1930s that’s directly relevant to when and how we (should) teach programming. I’ve learned a […]

• 2. Greg Russell  |  September 7, 2012 at 4:27 pm

Here in Texas (at UT), we just launched our duel enrollment high school course called “Thriving in Our Digital World” based on the CS Principles and Problem-Based-Learning Strategies. 3 of our 8 modules are complete and have been made public, with 2 more on the way within the month. Although teacher materials are not yet available on the open course, they also will be shortly. I encourage you to look at our materials, and feel free to share! https://onramps.instructure.com/courses/723227

• 3. David Klappholz  |  September 7, 2012 at 4:28 pm

Sounds a bit like what administration of the FCI revealed.

• 4. jazz  |  September 8, 2012 at 3:45 am

Hi Mark,

Great post as usual. I wonder, though, if there is a missing facet to the story– which is pure technical competency by itself. There is something to be said about how proficiently one can divide 1128 by 36, for example, regardless of the context of the problem. Technical expertise is what gives us the arsenal to attack the harder problems, and perhaps its mastery gives us mental room to think about larger abstractions? At some point, one must introduce the abstractions and context of the problem, but could it hurt that much to start the technical training earlier?

This is just a question to throw out there which perhaps only massive (and unlikely) experiments in our education systems could answer. Personally I have also always felt that we are quite often missing the “why are we learning this?” in our education, especially in our STEM fields. The humanities are much better at this since many of the disciplines involve meta-reflection (an art major is much more likely to have to write an essay on why art matters than a science major, for e.g.). I wish there was more of that in our STEM studies.

• 5. Mark Guzdial  |  September 8, 2012 at 2:37 pm

It’s an interesting question. Do you reach mastery of skills in the same way if you don’t know what they’re for, than when you do? And how hard is it to develop mastery once you know what they’re for?

• 6. mgozaydin  |  September 9, 2012 at 10:22 am

It is too sad to see the result.
When Iwas saying education is going down in USA 10 years ago all teachers in the USA were up on arms .
So here is the backing up research or an event .

• 7. mgozaydin  |  September 9, 2012 at 10:13 am

Then all America must follow what will happen in Estonia .
What is the result.
Same project in Turkey. 100 % of the K12 students are being supplied by tablets + contents for all subjects and grades from grade 1 to 12 + all etextbooks from grade 1 to 12 + internet connection ALL FREE by the government.
Budget is \$ 5-6 billion. Time 4 years . Follow them too .

• 8. What is the value of homework? | run( ) {  |  September 18, 2012 at 11:24 pm

[…] is valuable when we are convinced that what we have set out to learn is valuable. Arithmetic is valuable, but only when we understand its context and purpose. A few photocopies about landforms of mountains and valleys— well, harder to say, really. […]

• 9. Austin Bart  |  September 22, 2012 at 12:39 am

Perhaps it doesn’t make sense to start teaching kids *technical knowledge* so early on (my own attempts at tutoring my young cousins in basic programming left something to be desired), but what about starting to give them the right thought patterns and have them noticing problems? Even if we don’t teach them programming, we can teach them foundational Computational Thinking, right? Perhaps the CS Unplugged project is an example, although after reading the paper in the April issue of TOCE, I’d say it’s only a start.

• […] we were first developing Threads, we talked about helping students to describe the kind of job they wanted, and then we could advise […]

• […] be employed on the first day, don’t know enough to transfer to tomorrow’s technology.  What we know about transfer is that knowing something well is more likely to transfer than knowing several things at a shallow […]

• […] we have the wrong focus in how we teach mathematics — in a similar way for computer science, contexts and problems must come first. I have long maintained it is socially acceptable to be bad at mathematics — it is rare for […]

• […] course, I buy into the argument here about the importance of context. Beyond that, this article does a nice job of tying context to success of women in computing […]

• […] course, I buy into the argument here about the importance of context. Beyond that, this article does a nice job of tying context to success of women in computing […]

This site uses Akismet to reduce spam. Learn how your comment data is processed.