Thursday, 4 June 2009

soft question - What should be offered in undergraduate mathematics that's currently not (or isn't usually)?

Computer Science. I know programming has been said already, but computer science isn't programming. (There's the famous Dijkstra quote: “Computer science is no more about computers than astronomy is about telescopes.”)



There is a vast and beautiful field of computer science out there that draws on algebra, category theory, topology, order theory, logic and other areas and that doesn't get much of a mention in mathematics courses (AFAIK). Example subjects are areas like F-(co)algebras for (co)recursive data structures, the Curry-Howard isomorphism and intuitionistic logic and computable analysis.



When I did programming as part of my mathematics course I gave it up. It was merely error analysis for a bunch of numerical methods. I had no idea that concepts I learnt in algebraic topology could help me reason about lists and trees (eg. functors), or that transfinite ordinals aren't just playthings for set theorists and can be immediately applied to termination proofs for programs, or that if my proof didn't use the law of the excluded middle then maybe I could automatically extract a program from it, or that there's a deep connection between computability and continuity, and so on.

No comments:

Post a Comment