4 ms·
I kind of disagree. I think you found category theory rewarding precisely because you already had a math background and could benefit from seeing the linkages.
by dwohnitmok 5y ago
I kind of disagree. I think you found category theory rewarding precisely because you already had a math background and could benefit from seeing the linkages. Without having already done the classes you did, it would be very difficult to motivate category theory and it's liable to just make students' eyes glaze over. For example, most of Riehl's examples wouldn't make sense.
I also think that abstract algebra, linear algebra, analysis, geometry etc. even at the undergraduate level have the majority of their theorems unprovable from category theory alone.
Category theory is good for proving that the trivial is truly trivial, but the nontrivial still remains.
> Math programs should probably also start teaching Haskell or Coq in the first or second year.
I also disagree. For all the distrust many programmers have of Haskell and its "mathiness" it actually has rather little to do with mathematics and the parts that it does have to do with mathematics are generally in ways mostly irrelevant for the classical undergraduate math curriculum.
As for formal theorem provers such as Coq, though one day they may become standard mathematical rigor, that day is not now. They remain very unergonomic compared to the usual informal, but rigorous proofs in pure mathematics and often have several orders of magnitude more time to arrive at the same proof with no real increase in mathematical insight. I am personally very excited by them, but view their current status as far too premature to include in the average undergraduate mathematical curriculum.
- zozbot234 5y ago> Without having already done the classes you did, it would be very difficult to motivate category theory and it's liable to just make students' eyes glaze over. There's enough motivation for category theory even in basic foundations. You could start by teaching a structural set theory like ETCS as the formal counterpart of naïve set theory. Then yes, teach abstract algebra as usual but introduce category-theoretical generalizations early instead of duplicating content.
- tome 5y agoConcretely, what exactly are you claiming is duplicated?
- benrbray 5y agoI think category theory can help to give a "roadmap" for what the basic theorems of each course will be. Personally, as a student, I always felt like my courses jumped around too much without explanation, and like I could never see what was coming next. Knowing category theory has helped me see the bigger picture. When we encounter a new category, it helps to understand what products, limits, colimits, functors, natural transformations, Yoneda Lemma, adjunctions, etc. look like for this category. Indeed, most of the theorems in a topology or algebra or measure theory course fit into this mold -- we define what a morphism is and then prove a bunch of facts about products, functors, etc..
- myWindoonn 5y agoWe should teach the bulk of Lawvere theories only once. Students should get to know groups and rings as two flavors of a similar construction, and also be introduced to the mysterious fact that some objects, like fields, don't fit into the Lawvere-theory paradigm.
- benrbray 5y agoI vouched for this comment not because I fully agree, but because I like how provocative it is.
- joppy 5y agoI agree, as a computer science and maths undergrad, the first rewarding part of category theory was in algebraic topology where we first saw examples of very nontrivial functors (fundamental group, and homology). Up until that point, category theory seemed like a pointlessly abstract way of stating obvious facts. Even now as a research mathematician, category theory is a good tool for guiding to the “correct” definitions of things, but virtually all the work after that is “category-less” in that it is completely and utterly specialised into the problem domain. Category theory is still a fantastic way of organising information, stating things like universal properties, and also sometimes making “abstract nonsense” arguments (which often guide you towards some nontrivial observation in a particular category). But it is certainly not the panacea that some make it out to be.
- benrbray 5y agoI don't mean to say that category should be the primary focus of the undergraduate curriculum, just that professors shouldn't shy away from using a bit of category theory to elucidate the connections between different subfields of mathematics. Nothing wrong with spending fifteen minutes here and there explaining how something fits into the categorical framework. It's also very useful for identifying what the "meat" of a topic is--which theorems depend only on the categorical structure, and which theorems require deeper insight? This is a useful skill to have. My main complaint about the math program I attended is that all of my courses felt disjoint -- they could be taken in any order, so we basically had to start over from scratch every semester, rather than allowing the material to compound over four years. I wish course selection had been more rigid. As for teaching functional programming -- I agree with you learning category theory is not necessary for learning Haskell. But, learning Haskell is an incredibly useful and tangible way of exploring the basic ideas of category theory / type theory. I think it would be a natural addition to any math program, and the earlier students learn it the more mileage they'll get out of it. Most math programs are sorely missing a bit of computer science, anyway.
- dwohnitmok 5y ago> I think it would be a natural addition to any math program, and the earlier students learn it the more mileage they'll get out of it. Most math programs are sorely missing a bit of computer science, anyway. Honestly I don't find arguments that CS should be included in math programs all that convincing. What about any of the other sister fields to mathematics such as statistics or physics? I find parts of them equally compelling if not more so than CS to round out a mathematical education, but of course you quickly run out of space and time to actually include them. The crucial differentiator is that they "feel different" than normal mathematics work. I have a different set of intuitions when I'm programming in Haskell vs doing a stats problem vs doing physics. They are all deeply informed by mathematics and ultimately based on mathematics, but in each case when push comes to shove it's mathematical rigor that first goes out the window and then is hopefully later recovered rather than the other way around. I've also never found type theory to be something useful to include at the undergraduate math level. In general, foundations of mathematics stuff is something that I think is very useful for a specific subset of undergrads who are very interested in seeing how the rigor "goes through all the way" so to speak, but for most undergrads is probably neither interesting nor useful for their future mathematical endeavors. Mathematics at large is not all that sensitive to your choice of foundations. E.g. model theory is great! Set theory is fantastic! I have a hard time justifying their inclusion alongside the traditional three pillars of algebra, analysis, and geometry, however.
- Iceland_jack 5y ago> Without having already done the classes you did, it would be very difficult to motivate category theory The usual approach of teaching category theory is motivated where examples motivate the categorical gadgets, I think the unmotivated alternative (to create intuition for category theory as a formalist game) has not been explored
- Syntonicles 5y agoDon't hold me to it since my math education is basically me fumbling through the internet for the past several years trying to piece things together, but I think this is the unmotivated approach you're talking about. https://www.youtube.com/watch?v=US4Zr1WKD-8&list=PLCTMeyjMKRkoS699U0OJ3ymr3r01sI08l https://www.youtube.com/watch?v=US4Zr1WKD-8&list=PLCTMeyjMKR... As others have stated trying to learn this abstractly first, before developing a concrete mathematical foundation, simply didn't work. I understood what the subject purported to do. I understood why I wanted to have a birds-eye view of subjects to come. The trouble is that the concepts didn't have enough to latch onto in my brain. I found myself frantically looking for examples in various subjects. In the end I realized my time was better spent in the weeds.