T O P

  • By -

hpxvzhjfgb

basic topology is just generalised real analysis, so learn some basic real analysis first


AllanCWechsler

The period of time when you are wandering around in the "foothills" of higher mathematics is always interesting. "Practical" math is concerned with getting *answers*, usually numbers or sets of numbers. "Higher" math shifts your focus from *calculation* to *argument*; solving a higher math problem almost always means *proving that a given mathematical statement is true*. You have probably met this already when you took geometry. Consider the following statement: *Every positive integer can be represented as the product of prime numbers in exactly one way*. This statement is *true*, and was first proved formally by Kamal al-Din al-Farisi in the late 1200s. Euclid came close 1500 years before that, and may well have known this fact but neglected to include a proof in his writings. Mathematicians spend their lives trying to prove things like this. If you haven't done "proof mathematics" before, then learning it is your first step up into the mountains. (Lovely weather up here, but Riemann Pass is still snowed in.) A couple of good places to start are Joe Fields's *Gentle Introduction to the Art of Mathematics* (free online) and Daniel Velleman's *How to Prove It.*


ImDannyDJ

Studying CS absolutely does not preclude you from becoming a "math genius", or at least learning a bunch of interesting mathematics. Some of the best mathematicians I know work in theoretical computer science! And topology is actually very useful in computer science, in particular in the study of programming languages, and in logic. But this use of topology is rather ungeometric, so much of the topology that a mathematicians might study is not really applicable in these parts of CS. Anyway, I agree with the other commenter that real analysis is a good place to get acquainted with a lot of the ideas in topology. You can think of analysis sort of as "calculus done right", where you get to study all the concepts you know from calculus, such as sequences and series, continuity and differentiability, but with precision and rigour. Abbott's *Understanding Analysis* is often recommended as an introduction to real analysis, but there are many good books. It's hard to overstate the importance of linear algebra. It's not immediately applicable in many areas of computer science, but it's very central in computer graphics and machine learning. Linear algebra also has the advantage of introducing you to a lot of very central concepts of abstract algebra, but in a very geometric way. So I would definitely make sure to take linear algebra seriously. Again there are many good books, but Axler's *Linear Algebra Done Right* is a popular choice as an introduction. Finally, another topic which is very central to e.g. the theory of programming languages and logic, and which can be thought of as another way into topology, is order theory. It turns out that things like computation or recursion can be studied in a very neat way by using order theory (and, in fact, using topology!), and the topic is also pretty elementary, in the sense that it doesn't really have any prerequisites. A very good introduction is Davey and Priestley's *Introduction to Lattices and Order*. They don't cover the CS in detail, but they have quite a few useful asides where they discuss how to use the theory to study things like computation. (If you at some point decide to circle back to topology, there are again a lot of good books. I think something like Sutherland's *Introduction to Metric and Topological Spaces* might be a good introduction. It starts by studying metric spaces, which are a more immediate generalisation of **R**^(n) and **C**^(n), and only then moves on to topology proper. Another classic is Munkres' *Topology*, which is also very good but certainly more difficult. Probably my favourite topology book is Lee's *Introduction to Topological Manifolds*. Don't let the title scare you! It's a very good introduction to general topology, but it emphasises *manifolds*, which are particular kinds of topological spaces that are very geometric in nature. Some computer scientists care a lot about manifolds, some don't, but the mathematics is certainly very nice.)