Teaching basic lab skills
for research computing

In Praise of Street Fighting

Sanjoy Mahajan's Street-Fighting Mathematics is subtitled "The Art of Educated Guessing and Opportunistic Problem Solving". As the author says in the introduction, "Too much mathematical rigor teaches rigor mortis: the fear of making an unjustified leap even when it lands on a correct result." It's only 134 pages long (including the index), but it's packed full of practical ideas for tackling mathematical problems; in a sense, it aims to train people to do the kind of rough-and-ready calculations that David MacKay deploys so effectively in Sustainable Energy—Without the Hot Air.

Books like this make me wonder what a computing equivalent might look like. What are some useful heuristics for tackling programming problems? Does it even make sense to think in those terms, given that programming mostly a non-numerical activity (our programs may push numbers around, but we don't produce them via calculation)?

Still pondering...

Note: both SFM and SEWHA are available online.


Dialogue & Discussion

You can review our commenting policy here.