Candidly, I have not been enthusiastic about teaching “computational thinking” to kids. In nearly every case, computational thinking seemed to be a dodge intended to avoid computing, specifically computer programming.

“There is no expedient to which a man will not resort to avoid the real labor of thinking.”

(Sir Joshua Reynolds)

Programming is an incredibly powerful context for learning mathematics while engaged in being a mathematician. If mathematics is a way of making sense of the world, computing is a great way to make mathematics.

Most of the examples of computational thinking I’ve come across seemed like a cross between “Computer Appreciation” and “Math Appreciation.” However, since smart people were taking “computational thinking” more seriously, I spent a great deal of time thinking about a legitimate case for it in the education of young people.

Here it is…

Computational thinking is useful when modeling a system or complex problem is possible, but the programming is too difficult.

Examples will be shared in other venues.