Too long for a tweet; not really worthy of a blog post. Here goes anyway…

I just walked past a computer science classroom, where the instructor was drawing an elaborate set of diagrams—presumably representing subroutines and whatnot.

This is the sort of thing I mean.

Students were dutifully taking notes.

I thought quickly to myself, *How effective can this possibly be? Don’t you have to learn programming by solving problems?*

And then I thought to myself, a bit more slowly, *And how is mathematics any different? *

### Like this:

Like Loading...

*Related*

I often find analogies related to programming useful when thinking about mathematics education.

1. The two domains of knowledge have enormous overlap.

2. Programming is a very new discipline, relatively speaking, to mathematics.

3. Amateur programmers are far more numerous than amateur mathematicians.

See this post: http://davidwees.com/content/toolkit-model-math-instruction for an example of how I adapted how I learned to program to a system for learning mathematics.

Actually, I think we need to do much more flow mapping in the mathematics classroom. It is part of the problem solving process. Programmers often do this to some extent before tackling a big programming task; it provides a roadmap for the code. While my students tend to just jump into a multi-step problem without backing up and getting the big picture.