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
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...
https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...
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...
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...
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.
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.
2. 'How to Solve It' by G. Polya (http://www.amazon.com/How-Solve-It-Mathematical-Princeton/dp...)
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.)
http://www.amazon.com/How-Solve-It-Mathematical-Princeton/dp...
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...
Velleman wrote "How to Prove It": https://www.amazon.com/How-Prove-Structured-Approach-2nd/dp/...
Polya wrote "How to Solve It": https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...