
"Epp explains complex, abstract concepts with clarity and precision. This book presents not only the major themes of discrete mathematics, but also the reasoning that underlies mathematical thought. Students develop the ability to think abstractly as they study the ideas of logic and proof. While learning about such concepts as logic circuits and computer addition, algorithm analysis, recursive thinking, computability, automata, cryptography, and combinatorics, students discover that the ideas of discrete mathematics underlie and are essential to the science and technology of the computer age. Overall, Epp's emphasis on reasoning provides students with a strong foundation for computer science and upper-level mathematics courses."--Publisher.
Susanna Epp's Discrete Mathematics With Applications is also a really good option
1. Programming: Beyond the basics
2. Computer Systems
3. Operating Systems
4. Algorithms and Data Structures
5. Computer Networks
This is going to take time but it will be worth your time.
For discrete Math I sincerely recommend you to take a look at this book "Discrete Mathematics with Applications by Susanna Epp. This is an excellent book and it has good problems.
I will also recommend you to look at https://fa24.datastructur.es/ this is a very good beginner course on data structures that is completely free by UC Berkeley
The Math Sorcerer did a video on an older edition, which is just a lovely ode to the book, the man is in love. https://www.youtube.com/watch?v=FPr5-X9nZc4
The Universe Speaks in Numbers[1] by Graham Farmelo
I found this very motivating and insightful, in terms of developing even more of an appreciation for how much math underpins other branches of science. Not that that is a novel insight by any means... but the details of the incidents where breakthroughs in mathematics allowed further advances in physics, etc. and looking at the "back and forth" between the domains, that was wildly interesting to me. Reading this book definitely helped motivate me to get serious about committing more time / focus to studying mathematics.
I also enjoyed the "counterpoint" book by Sabine Hosenfelder, Lost in Math[2]. I think these two books complement each other nicely.
Then the handful of additional (no pun intended) books that jump to mind would be:
- How Mathematicians Think by William Byers[3]
- How to Think Like a Mathematician by Kevin Houston[4]
- Discrete Mathematics with Applications[5] by Susanna Epp
- How Not To Be Wrong[6] by Jordan Ellenberg
- Introduction to Mathematical Thinking[7] by Keith Devlin
- How to Measure Anything[8] by Douglas Hubbard
[1]: https://www.amazon.com/Universe-Speaks-Numbers-Reveals-Natur...
[2]: https://www.amazon.com/Lost-Math-Beauty-Physics-Astray/dp/15...
[3]: https://www.amazon.com/How-Mathematicians-Think-Contradictio...
[4]: https://www.amazon.com/How-Think-Like-Mathematician-Undergra...
[5]: https://www.amazon.com/Susanna-S-Epp-Mathematics-Application...
[6]: https://www.amazon.com/How-Not-Be-Wrong-Mathematical/dp/0143...
[7]: https://www.amazon.com/Introduction-Mathematical-Thinking-Ke...
[8]: https://www.amazon.com/How-Measure-Anything-Intangibles-Busi...
Fantastic book for Discrete Mathematics with lucid explanation and good exercises. The other one would be concrete mathematics.