>>11527314I'm going to contribute only because I am in my final semester of Computer Science with a minor in mathematics.
Each person absorbs information differently. Some people can read and understand relatively easily. Others require examples or practice.
I personally prefer to have learn by making mistakes and having an expert available to ask questions. Books don't talk back, so it can be very hard to learn a concept fully with it alone.
With all that said, a lot of these types of books are padded with fluff, meaning, there are only segments that are most important.
I wouldn't spend so much time on the mathematics because much of computer science is learning new programming languages and software engineering concepts. Here is my 2 cents regarding each book...
1. Proofing is worthless for most computer scientists unless you plan to do phd work. Only need to know the basics of proofing, but will not likely use it later.
2. Discrete Mathematics can be very helpful if you plan to write languages or compilers. Otherwise, not terribly used later until post-grad.
3. Again, discrete mathematics have a lot of applications, it would be a waste of time in my opinion to learn all of them. Don't be a jack of all trades.
4. Combinatorics (or combinatorial algorithms) is VERY important for computer scientists. You will likely get hit with a lot of topics, but understand basic concepts and then only actually work on a handful of popular ones (like dijkstra's or A-star) in popular languages. This will help in interviews.
5. Mathematics for computer science is a niche. Most programmers or code monkeys will never touch anything beyond algebra or pre-calc. If you have a specific goal in mind, such as data analysis or algorithms, this is a bit of a fluff.
6. Enumeration and Analytic Combinatorics I have no knowledge of specifically, so I can't comment.