I really like to read books (technicals and non-technicals), so I decided to document the books that were really important to me in this page.
Learning Python, 3rd Edition
This is a really nice book that I used to learn Python very fast. At the very beginning it covers the Python types which, in my humbling opinion, is one of the main differential of this language. This helps the learner to understand how Python works. Then, the book tackles the conditional and loop statements. At this point, it is possible to use the Python as a script language and automatize some tasks, which is great. After it attacks functions, modules and classes, with a very nice introduction to Object-Oriented Programming (one of the best introductions that I ever seen on a book) at the end it covers more advanced topics very briefly, like exceptions and debugging. I recommend this book as a introduction to Python. You can see the book here at Amazon.
Introduction to Algorithms
This is my “hand book” for algorithms. Very well written and cover almost every topic on algorithms. Also it has an introduction for all the theories required to understand, prove and analyse the algorithms. The authors focus on basic algorithms like sorting and graphs without diminishing the advanced topics like dynamic programming, greedy algorithms and linear programming. Also a few specific topics are covered like Number-Theoretic Algorithms (introduction to cryptography), Computational Geometry, Trees (in data structures) and NP-Completeness. It should be the reference book for everyone interested in algorithms.
There is a few other dozen of books that should be here, then I will updating this frequently.