Found in 13 comments on Hacker News
chkhd · 2023-01-19 · Original thread
* The Language of Mathematics: Utilizing Math in Practice by Baber really helped me "get it", as I always found programming natural but math hard. This one is written by a CS professor and it really makes all the difference.

* How to Solve it by Polya and How to Prove it by Velleman helped strengthen that understanding.

* This year I am trying to master which focuses on how to "connect the dots".

* I am using Geometry and the Imagination by Hilbert as an attempt to "immerse" myself in Geometry. I just love this book.

defen · 2018-03-24 · Original thread
On the topic of newcomers to proof-based math - "How to Prove It" is a great resource:
The last time people asked, I collected the responses so I could do the same thing as you. Note that I'm wanting to learn it in a way where I can do proofs. So, I have general-purpose books and stuff for that. I just ordered the three books I've seen pop up the most. Although 2 are in the mail, Concepts of Modern Mathematics by Stewart just got here yesterday. It had an awesome opening that made me wish the math I was taught in school was done like this back when I went. Makes newer stuff make a lot more sense, too. I included a link to Dover that has a Google Preview button on it where you can read full, first chapter for free to see if it's what you like. Other two are more about exploring and proving things which may or may not interest you. I added them in case anyone is reading your question to learn that stuff.

Concepts of Modern Mathematics by Stewart

Dover Version with Google Preview Button

Introduction to Mathematical Reasoning: Numbers, Sets, and Functions

How to Prove It by Velleman

frostirosti · 2017-03-20 · Original thread
This is a jump straight into the deep end. I can't recommend starting here. "How to prove it" would be a much more appropriate start
hydandata · 2016-03-10 · Original thread
TL;DR; When you can read this book [6] and do all exercises in it without any issues you can safely stop and be sure you are very well versed in vast majority of subjects that you might encounter while hacking on whatever in most technical fields.

You can be a hacker and get by with very little math, depends what you are hacking. Hacking is not a profession, it is more of an approach to things, a way of looking at the world, the joy of really figuring stuff out and maybe doing something cool, something that might have seemed impossible. This does usually involve mastery, but not necessarily of mathematics.

I think the question you should be asking, or maybe are even asking is - how much mathematics do I need to hack the hack that I want to hack? - and the first thing you need to do, if you have not already done so is try to think about what that might be. Even a vague idea will give you plenty of clues about how much of what you might need for that.

If you find it troublesome, check out what Richard Hamming has to say about it, it should help you out a lot with figuring it out [1][2].

That said, if you want to do computer science, or hack on the interesting things you do need quite a bit of mathematics. This is due to the fact that, as other posters here have pointed out, what you are really in need of, is an effective way of problem solving, and to solve a problem you need to understand it, model it, work on it in some terms. Mathematics is /the/ method of clear thinking which you should apply in order to do this. Sure, you can do certain things without mathematics, but you are not making things any easier for yourself by doing that, and more importantly you are not gaining as much insight as you would have if you used the mathematical approach.

Now, you do mention that you are not good at mathematics, do not let that discourage you, there are many people who were, or are in similar situation as you, me included, and I can assure you that with some dedication and open minded thinking, it comes easier than you might think, and all this effort almost instantly pays off. If you are familiar with one or several programming languages, check out these amazing books and use them alongside whatever mathematics course you will be taking, they will help you out immensely by helping you master both the problem solving approach and the necessary concepts in order to succeed in mathematical education [3][4][5].

[1] [2] [3] [4] [5] [6]

tomku · 2015-08-26 · Original thread
Keeping with the free theme, Book Of Proof by Richard Hammack is a nice introduction to proofs and formalism. It's available free from the author as a PDF[1], and also as a physical book on Amazon[2].

An alternative if you're willing to spend a little is How to Prove It by Daniel J. Velleman, also available from Amazon[3] and probably many other retailers. Both books cover roughly the same topics.




plinkplonk · 2014-12-04 · Original thread
Learn how to prove theorems. "How to Prove It" by Velleman is the best book for this (imho). (Amazon link

More good advice at

jnazario · 2014-11-30 · Original thread
math IS hard. i didn't learn this until recently. i never met a practicing mathematician before a few years ago, and when i did they told me that they struggle to get stuff. that was a HUGE relief. if you enjoy it, then maybe you can apply yourself to it for the hours it may take to understand something - a book, a topic, a paper, etc.

i think a lot of what it comes down to for me - and maybe you - is mental discipline (staying focused for more than an hour without straying), knowing that it is very common for it to be tough, and learning how to play with math and explore it. i was never taught those things (or at least i never learned them), and so i have had to learn them the hard way. maybe you suffer from some of the same hurdles? try and overcome them, it's worth it.

as for writing proofs, one of those mathematicians got me interested in this book:

The principal thing I push learners towards after Haskell would be things like Coq and Agda. Coq has better learning materials, Agda has Haskell integration.

The usual sequence is [1] followed by [2].

Augment with [3] and [4] as needed.

One negative thing about Coq/Agda/Idris is they don't have a satisfactory encoding of typeclasses [5]. This is a problem in general with all dependently typed languages. Proof obligations get "churned" by changing code and the only tool to address that is extremely general proof terms combined with proof search. The best proof search is Coq, but the code extraction is heartburn-inducing for Haskell users.

Whereas in Haskell, we get extremely lightweight and type-safe code refactoring because of the way in which we leverage typeclasses and parametricity. This turns out to be very valuable as your projects get more serious.

That said, still entirely worthwhile to learn Coq or Agda.

By the way, this [6] is how I teach Haskell. Working on a book as well.







jfarmer · 2013-12-28 · Original thread
Polya's How to Solve It was recommended below. I also like How to Prove it by Daniel Velleman (
corey · 2013-09-08 · Original thread
Velleman's "How to Prove It" is a great book to learn how to do mathematics.

Fresh book recommendations delivered straight to your inbox every Thursday.