Let me suggest that you look at the book "An introduction to topology and modern analysis", by Simmons. It covers concepts of point set topology that you presumably already know, but also gives a fairly concise, but quite readable, introduction to abstract algebra. It then brings these together in its final sections into a discussion of Banach algebras and related topics, culminating in a proof of the Gelfand--Naimark theorem. [See below for a brief remark about this theorem, and the other theorems mentioned in the subsequent paragraphs.]
Since you say that you are interested in abstract harmonic analysis, the Gelfand--Naimark theorem is a good place to start. (For example, it is not so far to go from there to the abstact form of Wiener's Tauberian theorem.)
Note: I am interpreting abstract harmonic analysis to mean something like harmonic analysis on locally compact abelian groups (and related topics).
Simmons also has exercises, I think.
When I was studying this stuff, the next place I went to after Simmons was Naimark's tome Normed rings. (There are various editions, and some of the later ones might be called Normed algebras instead, if I'm not misremembering. They are translated from Russian, so the slighly unusual, and changing, name may be an artefact of this; I'm not sure. In any case, they are basically about the theory of Banach algebras and its applications to abstract harmonic analysis.)
This is a place where one can read about various group rings of topological groups, Haar measure, the general form of Wiener's Tauberian theorem, and other concepts of abstract harmonic analysis. It is essentially too long to read from
start to finish, but in my experience one can dip into it in bits and pieces, and having a firm understanding of the material from Simmons helps a lot.
Naimark's book is a monograph, not a textbook as such, and although it has many historical comments and illustrative examples (although the examples are often at a theoretically fairly high level), I don't remember it as having exercises. But in any case, I am not suggesting it as a first point of call, but as somewhere to go after you have some basics under your belt.
There is also a book by Loomis, An introduction to abstract harmonic analysis,
which also treats Haar measure, various group rings, and so on. If I remember correctly it is less condensed than Naimark and also less comprehensive. My memory is that I preferred Naimark, but probably for idiosyncratic reasons. I don't remember whether Loomis's book has exercises.
All the books I'm mentioning are probably out of print, so I'm also assuming that you have access to a university library or something similar. (Any decent such library should have them.)
Finally, some fundamental results that I would recommend aiming for, which combine algebra
and analysis nicely:
Gelfand's generalization of Wiener's theorem (that if $f$ is a nowhere zero continuous periodic function whose Fourier series is absolutely convergent, than
the Fourier series of $1/f$ is also absolutely convergent).
the Gelfand--Naimark theorem (identifying certain commutative Banach algebras with extra
structure as being algebras of continuous functions on compact topological space; it is a beautiful generalization of the classical spectral theorems for matrices).
The generalization of Wiener's Tauberian theorem to arbitrary commutative locally compact groups. (Wiener's original theorem says that if $f$ is an $L^1$-function on the real line whose Fourier transform is nowhere zero, then
the translates of $f$ span a dense subspace of $L^1$.)
More abstract, but basic to the previous example and lots of other things, is
the existence of Haar measure for any locally compact group.
As already mentioned,
the first two results are in Simmons, and are easier, but already involve a very nice interplay between analysis and algebra. (The general framework is that of Banach algebras, which combine the analysis of Banach spaces with the
algebra of rings, ideals, and so on.)
The second two results are in Naimark, and Haar measure is also in Loomis (and many other places) (and the general form of Wiener may be in Loomis too; I forget now).
I would say that you want to focus on what brings you success in your goals for getting a computer science degree.
If you look at a CS program, there are some commonalities, but also differences in how much math they want you to learn. Do you have a specific program in mind? Did you review their prerequisites and the courses you will be required to take? Are you thinking of going to graduate school too as there may be different considerations?
The typical math classes required for a CS major are (check the university/college you are thinking about and make sure you understand their requirements) as follows.
- Discrete Math: Topics include combinatorics, number theory, and graph theory with an emphasis on creative problem solving and learning to read and write rigorous proofs.
- Computability and Logic: An introduction to some of the mathematical foundations of computer science, particularly logic, automata, and computability theory.
- Algorithms: Algorithm design, computer implementation, and analysis of efficiency. Discrete structures, sorting and searching, time and space complexity, and topics selected from algorithms for arithmetic circuits, sorting networks, parallel algorithms, computational geometry, parsing, and pattern-matching.
- Mathematical Analysis I: Analysis of the real numbers, and an introduction to writing and communicating mathematics well. Topics include properties of the rational and the real number fields, the least upper bound property, induction, countable sets, metric spaces, limit points, compactness, connectedness, careful treatment of sequences and series, functions, differentiation and the mean value theorem, and an introduction to sequences of functions.
- Numerical Analysis: An introduction to the analysis and computer implementation of basic numerical techniques. Solution of linear equations, eigenvalue problems, local and global methods for non-linear equations, interpolation, approximate integration (quadrature), and numerical solutions to ordinary differential equations.
- Scientific Computing: Computational techniques applied to problems in the sciences and engineering. Modeling of physical problems, computer implementation, analysis of results; use of mathematical software; numerical methods chosen from: solutions of linear and nonlinear algebraic equations, solutions of ordinary and partial differential equations, finite elements, linear programming, optimization algorithms and fast-Fourier transforms.
- Abstract Algebra I: Groups, rings, fields and additional topics. Topics in group theory include groups, subgroups, quotient groups, Lagrange's theorem, symmetry groups, and the isomorphism theorems. Topics in Ring theory include Euclidean domains, PIDs, UFDs, fields, polynomial rings, ideal theory, and the isomorphism theorems. In recent years, additional topics have included the Sylow theorems, group actions, modules, representations, and introductory category theory.
Some CS majors are doing dual CS/Math and additional math courses like Probability, Analysis, Complex Variables, Differential Equations, Partial Differential Equations may also be required.
As for books, I would recommend perusing some of the wonderful MSE responses, for example:
You mentioned this, but I think it is important. You may want to go through entire courses using opencourseware. For example, MIT. See the OCW Consortium for many more institutions. The goal of this is to gauge where you are with following lectures and testing your understanding.
So, if you look at the specific program you are interested in, I would recommend looking at the math courses in totality (including if you want graduate), checking their required books and looking to see where you stand with all of it. Recall, these programs are also heavy into programming and that is a lot of work, so make sure you are ready for both!
Best Answer
Goldrei's Classic Set Theory For Guided Independent Study. I don't necessarily think he's the greatest expositor, but his educational philosophy is spot on. For instance, he starts with the real number system and asks: how do we know this system exists? One possible answer is: because the set of all Dedekind cuts of rational numbers can be made into a real number system in a natural way. Okay but how do we know a rational number system exists? Easy: we can build rational numbers as equivalence classes of integers. But wait! Perhaps there is no integer number system. But that can't be, because we can build integers out of naturals. Okay, but maybe there doesn't exist a natural number system.
At this point, the reader has an epiphany. The existence of all the major number systems can be demonstrated using set theory alone - that is, if we can build a natural number system. So if we can build such a system, then WOW! Set theory is POWERFUL. Its only at this late stage in the game that Goldrei actually starts talking about the ZFC axioms. And it works great!
Too many math books start with axioms, or esoteric definitions, without giving the reader any intuition about why they should care. Goldrei's book is a breath of fresh air in this regard. Truly, a remarkable book.