Found in 14 comments
nolite · 2018-06-09 · Original thread
Here are two books I've enjoyed

Systems Thinking: https://amzn.to/2y43BaO

. Shows how most situations in life we face require a larger perspective, to see them as a complicated system. Contains many good references to systems thinking

How to Solve it: https://amzn.to/2sR1Jw4

A book by a mathematician (Polya), which tells you how to think about problems in a way that you can generalize to any type of life situation

Edit: Sorry, fixed the second link

todd8 · 2017-12-27 · Original thread
First, keep solving problems. Mathematical brainteasers got me started problem solving when I was in grade school. I really like Martin Gardner's books[1] and those by Robert Smullyan[2]. These kinds of problems develop the flexibility of thought that helps find creative solutions.

Actual, specific approaches to tackling tough problems are taught by the famous Hungarian mathematician George Polya in his classic book How to Solve It [3].

Discrete Mathematics is a field that covers a number of areas, but especially in counting problems (from combinatorics) and graph theory there are a number of results that are not hard to grasp but lead to beautiful solutions for real problems. There are many powerful theorems and principles in discrete math that will unlock seemingly impossible problems. Unfortunately, the books for this subject are mostly written for math majors that are interested not only the application of these results but how to prove them and consequently the books may not appeal to everyone. Perhaps something like Schaum's Outline of Discrete Mathematics would suitably cover the way to apply some of the important theorems without bogging down in the proofs.

Finally, I think there is value in doing small interesting programming projects. Two older books, available used, with interesting projects are Etudes for Programmers by Wetherell [5] and Software Tools in Pascal by Kernighan and Plauger [6]. Etudes has my favorite exercise for trying out new programming languages, building an interpreter for the simple TRAC programming language; Software Tools has a number of programs in Pascal that do interesting things, try implementing the programs in your programming language--they cover a range of difficulties and the book has a nice discussion for each that explains why the programs are structured the way they are.

A more advanced book, Structure and Interpretation of Programming Languages, available as a downloadable pdf [7] is a classic book for those wanting to become better programmers.

[1] https://www.amazon.com/Martin-Gardner/e/B000AP8X8G/ref=sr_tc...

[2] https://www.amazon.com/Raymond-M.-Smullyan/e/B000AQ1NF0/ref=...

[3] https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...

[4] https://www.amazon.com/Schaums-Outline-Discrete-Mathematics-...

[5] https://www.amazon.com/Etudes-Programmers-Charles-Wetherell/...

[6] https://www.amazon.com/Software-Tools-Pascal-Brian-Kernighan...

[7] http://web.mit.edu/alexmv/6.037/sicp.pdf

allemagne · 2017-02-22 · Original thread
This isn't directly what you're asking for, but the book "How To Solve It" by George Polya is a great tour of how to be a teacher of mathematical concepts and how to "simulate" that teacher in your mind if you're encountering a problem no one else has.

https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...

pmoriarty · 2017-02-11 · Original thread
There's certainly some truth to this, especially in certain anti-intellectual societies and time periods. But many highly intelligent people have been truly gifted not only with intelligence but with the respect and even adoration of others.

You should read the biography of John von Neumann.[1] He's deserved the term "genius" if anyone ever did. George Polya[2], famous author of the math classic "How to Solve It"[3] wrote of him "Johnny was the only student I was ever afraid of. If in the course of a lecture I stated an unsolved problem, the chances were he'd come to me at the end of the lecture with the complete solution scribbled on a slip of paper."

These were unsolved math problems -- unsolved to the entire field of mathematics that he was able to solve right after hearing them for the first time in class. The ability to do that is simply staggering.

Von Neumann went on to make so many contributions to so many fields that this would turn in to a huge post if I was to try to briefly mention them all. Some of the most notable was coming up with the von Neumann architecture on which virtually all modern computers are based, the central role he played in the development of the atomic bomb and the development and use of computers, the invention of cellular automata, and many, many others.

He was extremely highly regarded during his life for his intellect, and was enormously influential.

That's just one really obvious example, but you'll find many, many others. Einstein springs to mind as the quintessential intellectual superstar, as do Richard Feynman and Stephen Hawking. Socrates and Plato had a gigantic influence on virtually all of Western philosophy and through that on much of the modern and ancient world. Aristotle, a student of Plato, had an incredible influence on more fields of study than can easily be counted, and could arguably be one of the most influential people in history. He also tutored Alexander the Great, one of the greatest of all military conquerors. Diogenes got away with telling Alexander to get out of his light.

Many many people "3 standard deviations above the mean" (or more) have been eagerly sought out and highly rewarded. Michelangelo got to paint the Sistine Fucking Chapel. Newton and Leibniz created fucking calculus, and were both highly regarded and influential in their time and after. Voltaire influenced all of France and was hugely popular even in his life, as was Benjamin Franklin.

It's actually getting to be a little exhausting to do an adequate summary of the hugely influential brilliant people throughout history, and I think this post could go on for quite some time and not be nearly complete.

Yes, plenty of "geniuses" do get overlooked during their lifetimes, and many more will probably never be "discovered" or acknowledged even after they are dead. Van Gogh only sold one painting in his life, and that was to his brother. Many anti-intellectual regimes have deliberately committed mass murder of their intellectual classes, staged mass book burnings, etc. Many intelligent people are bullied as children, and as adults are persecuted for being too far ahead of their time, as Gallileo was. But many others are recognized and rewarded -- much more so than most "average" people will ever be.

As for the "Curse of Smart People", I'd rather live with my eyes open, as painful as that might be, than be lulled in pleasant slumber.

[1] - https://en.wikipedia.org/wiki/John_von_Neumann

[2] - https://en.wikipedia.org/wiki/George_P%C3%B3lya

[3] - https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...

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] https://www.youtube.com/playlist?list=PL2FF649D0C4407B30 [2] http://worrydream.com/refs/Hamming-TheArtOfDoingScienceAndEn... [3] http://www.amazon.com/Language-Mathematics-Utilizing-Math-Pr... [4] http://www.amazon.com/How-Solve-Mathematical-Princeton-Scien... [5] http://www.amazon.com/How-Prove-Structured-Approach-2nd/dp/0... [6] http://www.amazon.com/Methods-Mathematics-Calculus-Probabili...

anigbrowl · 2015-04-09 · Original thread
The things I feel deficient at are problems that sound like: 'given an array of prices for a certain stock in a single day, how would you find the maximum profit from one trade?'.

My naive answer to that is ignore the absolute prices, but iterate over the array to get an array of price movements, and then weight those by volume data (if that is available) or select the largest (if not). Could you expand on what it is you find problematic about that sort of question, eg lay out what your thought process is and where it gets blocked?

In terms of suggestions, maybe it would be worth your while considering problems a bit outside the programming domain, and working on them someplace other than your desk, on the theory that a change is as good as rest. Martin Gardner's 'Mathematical Recreations' columns for Scientific American were collected into one or more books, and I think some of Ian Stewarts' as well. These are great because they comprise fairly abtruse problems along with a discussion of strategies for dealing with them.

There are of course lots of 'math pouzzle of the week' sites from various universities, and books of math puzzles. but you should definitely pick up 'How to solve it' by Georg Polya, which is considered a classic education text. http://www.amazon.com/How-Solve-It-Mathematical-Princeton/dp... This is over half a century old but it's a great book, it's like having a patient mathematics teacher that wants to help you succeed at your side. Again, study these things away from your desk - find some other study space, even a park, and practice working with paper and in your head. You will retain things better by changing your environment for study.

Another thing that strikes me about your post is that your abilities are affected by the situation - you feel confident of your ability to get things done when allowed space to think, but you don't deal well with high-pressure environments like interviews. This is normal. Build up a good idea of where your intellectual strengths and weaknesses are and what your best strategies for dealing with them are. Don't be afraid to say in an interview 'I'm good at this sort of problem, I'm always slow at that sort so my first response will be a few brain farts...' Remember too that in a good interview, you're not just being rated for your raw intellectual ability, but on how you deal with your limitations and how you go about decomposing a problem. Nobody knows everything!

Lastly, don't assume you must do it in isolation. Maybe part of the stress at interviews is not the questions themselves but the social context. If you can afford it, consider hiring a graduate student in math or CS at a local university to tutor you a few hours a week. A person with an academic leaning will be better equipped to assess and direct your learning ability than someone who is trying to solve the 'puzzle' of filling an open position at a company and who can only provide limited feedback on your performance.

pm90 · 2014-11-24 · Original thread
Please please please have a copy of these books in your house:

http://www.amazon.com/Princeton-Companion-Mathematics-Timoth...

http://www.amazon.com/How-Solve-Mathematical-Princeton-Scien...

Its certainly too advanced for a 6 year old (or even a 16 year old, TBH) but just having it around is really great, I think. I remember when I was younger, I would look up stuff in more advanced books even if I couldn't understand them right away. The feeling I had was always: "Someday, I will be able to understand this..." which made me learn more physics and math.

"How to Solve it" is especially great if you do/will teach her in the future.

vincentbarr · 2013-12-28 · Original thread
Two additional suggestions: 1. 'A Mathematician's Lament' by Paul Lockhart (http://www.maa.org/sites/default/files/pdf/devlin/LockhartsL...)

2. 'How to Solve It' by G. Polya (http://www.amazon.com/How-Solve-It-Mathematical-Princeton/dp...)

hdivider · 2013-09-08 · Original thread
I'd suggest that you also spend some time learning how to learn maths more effectively. That usually pays dividends over time and ought to give you a significant advantage.

Two good books on this:

How to Solve It

http://www.amazon.com/How-Solve-It-Mathematical-Princeton/dp...

Thinking Mathematically

http://www.amazon.com/Thinking-Mathematically-J-Mason/dp/020...

And if you want to get better at sitting maths-based exams, here's my own book, Exam Mastery: How to excel in maths-heavy exams :

http://www.amazon.com/Exam-Mastery-excel-maths-heavy-ebook/d...

(No need to buy though - if you want it, shoot me an email and I'll just send it over to you.)

danso · 2013-06-16 · Original thread
Because there's no Kindle version of "Proofs from the Book", I didn't order it. But I did see in the recommended list a book called, "How to Solve It"....which is apparently a popular general purpose problem solving book that, according to a reviewer, was given to Microsoft's new programmers. Less than $10 on Kindle so hopefully this will scratch the proof-solving itch for me:

http://www.amazon.com/How-Solve-It-Mathematical-Princeton/dp...

reginaldo · 2012-02-28 · Original thread
This is a great post. It basically says that when you have a problem that seems intractable, look for the conditions under which it is intractable and see if the conditions apply for your specific case. Many times they don't. And even if they do, you can often pretend they don't and still get solutions that are good enough.

For a small pearl on problem solving, I recommend "How to solve it"[1], by the great mathematician George Pólya[2]. It teaches you simple techniques you can apply when you are stuck, like "draw a picture", "think about a similar problem you already know the solution for", and "solve a relaxed version of your problem". It all looks pretty much like common sense, but it is not. It's one of those few books I think everyone should read (whenever they are stuck).

[1] http://www.amazon.com/How-Solve-Mathematical-Princeton-Scien...

[2] http://en.wikipedia.org/wiki/George_P%C3%B3lya

View this Book on Amazon