Found 2 comments on HN
prostitutka · 2017-11-20 · Original thread
My answer to your question is math. Learn to read and write proofs. Any intro to proofs will do: those employed in discrete math, the ones in analysis, the diagram chasing ones, whatever...Working with math proofs will definitely straighten out your thinking and whip your mind into shape.

Some suggestions to get you started:

Book of Proof by Richard Hammack:

Discrete Math by Susanna Epp:

Mathematical Proofs: A Transition to Advanced Mathematics by Chartrand et al:

How to Think About Analysis by Lara Alcock:

Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers:

Mathematics: A Discrete Introduction by Edward Scheinerman:

The Real Analysis Lifesaver: All the Tools You Need to Understand Proofs by Rafi Grinberg:

Linear Algebra: Step by Step by Kuldeep Singh:

Abstract Algebra: A Student-Friendly Approach by the Dos Reis:

That's probably plenty for a start.

tokenadult · 2009-04-19 · Original thread
It depends what level you are already on. At some point, you might like to read Concrete Mathematics: A Foundation for Computer Science

which is an enjoyable book, but which presupposes a fairly strong background in math.

An easier book that is good preparation for computer science is Mathematics: A Discrete Introduction,

which is very readable and full of information that will get you ready for computer science concepts and for other math reading.

After edit:

Browse the books on this bibliography page

for lots of suggestions compiled by someone deeply interested in computer science.

Get dozens of book recommendations delivered straight to your inbox every Thursday.