A couple of weeks ago I read a new book called: “A Mathematician’s Lament: How school cheats us out of our most fascinating and imaginative art form.” It was a short and sweet critique of how math is taught in schools today. I don’t know if I have the right words to do it justice, but I can attempt to summarize some of my thoughts.

The gist of it is that the math is taught in schools today consists of a lot of symbols, rules, and algorithms. Rigid proofs and theorems are taught, and students will have to memorize things like the quadratic formula (“x equals negative b plus or minus the square root of b squared minus four a c, all over two a”) or “SohCahToa”. The lament part is how this deprives the student of any sort of discovery or free-form critical thinking, which is what “actual math” is like. The author argues that the math curriculum in schools isn’t really math, and people that did well in math in school may or may not be good at actual math. Actual math skills would be hard to evaluate with tests, and teachers would need to adopt a new style of teaching that’s more akin to having students create art or music.

Anyways, I enjoyed the book, would recommend it to any parent or teacher, and wonder how much computer science is similar. Generally speaking, computer science is more theoretical than how you’d apply your skills as a software engineer. I can imagine a computer science degree curriculum being structured like “The Art of Computer Programming”…sort of stiff and dry, and maybe even along similar lines to the types of big-O/algorithmic questions you’d get asked at an interview. In practice, you might spend a lot more of your time as a software engineer doing stuff like upgrading dependencies or making sure the code builds and runs on the latest version of the compiler.