[HN Gopher] A Programmer's Introduction to Mathematics
       ___________________________________________________________________
        
       A Programmer's Introduction to Mathematics
        
       Author : ingve
       Score  : 280 points
       Date   : 2021-08-16 12:05 UTC (10 hours ago)
        
 (HTM) web link (www.bit-101.com)
 (TXT) w3m dump (www.bit-101.com)
        
       | [deleted]
        
       | chobytes wrote:
       | Ive never read this book in particular, but had a similar
       | experience with another book (Serge Lang, Basic Mathematics) that
       | changed my life trajectory. If you find this stuff remotely
       | interesting please give it a go! Math is really wonderful!
       | 
       | Learning math in some prescribed way (book or sequence of books)
       | is the mathematics equivalent of "what programming language
       | should I learn first". The most important thing is simply doing
       | anything at all! Don't get planning paralysis!
       | 
       | If you think you'll actually do or read anything, then give it a
       | try. Definitely push yourself some, but if it becomes a slog
       | don't be afraid to move on to something that looks more
       | interesting. Youll find your way back to anything that was
       | actually important anyway. :)
        
         | hnrj95 wrote:
         | lang is a wizard. all his books are absolutely excellent
        
         | criddell wrote:
         | I always recommend anybody wanting to learn a language should
         | just start using it. Find a project and learn the language and
         | libraries as you need them.
         | 
         | What's the equivalent for learning mathematics? A lot of
         | mathematics seems only useful for learning more advanced
         | mathematics.
        
           | chobytes wrote:
           | Projects in pure math are basically just research. I would
           | say just follow your curiosity and try to figure things out.
           | You might not be scratching novel work for awhile, but its
           | still enjoyable.
           | 
           | I don't know exactly what you like to work on, but perhaps
           | theres some related mathematical area youre curious to know
           | more about?
        
             | megous wrote:
             | To me, projects in math usually meant trying to apply it to
             | model something or understand something/answer some
             | question by finding a solution.
             | 
             | But that may be because my education always put the pure
             | math and applications in close proximity.
        
               | chobytes wrote:
               | Yeah I think that's basically the idea. Just solve
               | whatever problems you find interesting via whatever means
               | you can.
               | 
               | Eg Galois theory kind of looks like this: Applying an
               | abstract model of symmetry to a model of polynomials to
               | answer a question about solvability.
        
           | [deleted]
        
           | kwhitefoot wrote:
           | Write an optimizer or route finder.
        
         | lordnacho wrote:
         | Any other recommendations? I'll find that book but you sound
         | like you might have others
        
           | chobytes wrote:
           | I dont know what level youre at, but if you don't already
           | know how to write proofs then something on that. Its an
           | extremely important foundation for everything else.
           | 
           | I learned in a class and we didnt use a book so I cant
           | recommend one. I dont think it should matter too much though.
           | 
           | Aside from that, what kind of things are you curious about?
        
             | lordnacho wrote:
             | I got a master's in engineering, so a lot of the
             | foundations stuff is missing. Basically the math there is
             | all very applied stuff, not a lot of elegance and overview.
        
               | chobytes wrote:
               | No tbh I think that's fantastic. Engineering and physics
               | are a great way to get the right intuition. Having a firm
               | grasp of the basics and having lots of possible examples
               | in mind is very useful! Basically I would try to round
               | out the basic pure math stuff for sure, but I think youre
               | better equipped than most.
               | 
               | Another intro book I thought of was Peter Eccle's
               | introduction to mathematical reasoning. Might be worth
               | looking at.
               | 
               | If you want a nice leisurely introduction to groups
               | Nathan Carter's Visual group theory is nice.
               | 
               | I got a lot of use out of the princeton encyclopedias of
               | math. Dont expect for them to really teach you anything,
               | but the articles are nice for seeing whats out there.
               | 
               | Definitely try to learn basic analysis and algebra. I
               | dont think any book I know is amazing, but basically any
               | will do the job.
               | 
               | Importantly, dont be afraid to try to learn something out
               | of your depth. In fact I think its important to try! If
               | something really grabs you, try to read more and backfill
               | what you don't know.
        
       | Koshkin wrote:
       | I remember enjoying Jeremy's excellent primer on homology:
       | 
       | https://jeremykun.com/2013/04/03/homology-theory-a-primer/
        
         | jimsimmons wrote:
         | I have two follow up questions: what are the prerequisites for
         | understanding this post and is it a good path to learn about
         | homotopy type theory
        
       | ineedasername wrote:
       | _I've come to be somewhat known as a "math guy" in creative
       | coding. It's one of my impostor syndrome items because I'm really
       | not any kind of expert in the field_
       | 
       | I feel similarly about statistics. I of course, given my line of
       | work, have a solid foundation there. But my area of expertise
       | is... more complicated to explain or define. When it comes to
       | statistics expertise though, apart from a solid foundation I
       | simply know enough to know what tools to use, and how to research
       | and evaluate such tools. For example, in a recent project I knew
       | that LSTM was an appropriate tool, but I don't know more than a
       | high level abstraction of how it works and the domain of problems
       | it might help solve.
       | 
       | To give a very basic example sort of like knowing when to use the
       | Pythagorean theorem but not knowing enough to prove it up from
       | axioms.
        
       | nmfisher wrote:
       | Hey, I'm literally going through this at the moment. Only at the
       | end of the first chapter, but so far I can say it's written in a
       | very accessible, clear style.
        
       | byteface wrote:
       | thanks for posting this. looks amazing!
        
       | datameta wrote:
       | More of an account of reading the book titled as such, rather
       | than a tutorial-style article. Still a good book recommendation,
       | I think.
        
       | FigurativeVoid wrote:
       | I really love this book as it really shows the value if
       | mathematics in programming.
       | 
       | However, it's an intense read. I strongly recommend it, but if
       | you don't have some college level math under your belt, it can be
       | harder to understand than its title makes it seem.
        
       | everyone wrote:
       | "in math, there's a lot of tacit agreement and assumptions that
       | go on. Lots of shortcuts and conventions. So if you're not
       | steeped in that culture, it all looks like black magic to you."
       | "The text will talk vaguely about an idea and then there will be
       | a formula with all kinds of Greek letters, and no explanation of
       | what those symbols mean. If you aren't already familiar with
       | them, you don't stand a chance."
       | 
       | This issue has been bothering me for years. In a typical math
       | forumla you find on wikipedia, there are many unnecessary symbols
       | included + really critical things are left vague. I feel like
       | mathematicians are at fault here. They should clean up their
       | shit, maybe write these equations as code. When I translate one
       | of these equations into code its always much much shorter, and it
       | has the benefit of being 100% deterministic. Eg. one example f(X)
       | (often drawn big and elaborate) means Y!!
        
         | jimsimmons wrote:
         | For me the worst part is the nomenclature. Under the guise of
         | paying homage to the inventor the nomenclature has become
         | borderline dysfunctional. Just have simple words instead of
         | enigmatic mathematician names for defining core concepts in the
         | field
        
         | Jtsummers wrote:
         | > Eg. one example f(X) (often drawn big and elaborate) means
         | Y!!
         | 
         | Can you elaborate on what you mean here?
        
           | everyone wrote:
           | Lets say I wanna draw some weird kind of curve. Theres an
           | equation for it in wikipedia. The equation will be f(x) = 5x
           | + 3x^2 blah blah blah..
           | 
           | In order to draw the curve I iterate through values of X for
           | each pixel, plug those values into the right hand side, and
           | what the right hand side of equation is equal to is my Y
           | value for that point on the curve. So if they had just
           | written that big fancy f(X) as Y it would have been much
           | clearer and easier to understand for me initially.
        
             | everyone wrote:
             | Also I should point out that the variable names they use in
             | these formulas are the worst possible, single letters, X,
             | Y, some random greek numeral. If a programmer wrote
             | variable names like that they would be fired.
        
               | Jtsummers wrote:
               | Sometimes things have no particular meaning, or the
               | meaning is related to the convention. In the other
               | example you used, of drawing the curve, then x and y are
               | perfectly fine names thanks to the convention (now long
               | established) of using x and y to represent two orthogonal
               | axes (generally the "horizontal" and "vertical", whatever
               | that may mean in context). Using a more elaborate name
               | would add no value.
               | 
               | With respect to the use of Greek letters and such, I do
               | lament that many writers of mathematics fail to define
               | their terms. Instead assuming that the reader is fully
               | conversant in the domain, when often a single paragraph
               | at the start would add a great deal to the clarity of
               | their work. However, that doesn't mean that the use of
               | such variables is bad, they just need to be defined.
               | 
               | The benefit of the mathematical notation is that it
               | permits conciseness and lends itself well to symbolic
               | manipulation (that is, a large portion of what we do when
               | we do algebra and calculus). The former is a tricky
               | subject, conciseness at the cost of clarity can be a net
               | negative. But the latter is crucial to a lot of work, the
               | way that we write programs does _not_ lend itself well to
               | symbolic manipulation and would be counterproductive for
               | mathematics.
               | 
               | In fact, I've often had to translate programs into a
               | symbolic notation in order to try and decipher them
               | because the long descriptive names, as useful as they are
               | in isolation, ended up rendering the total procedure
               | nearly impenetrable. Or at least unanalyzable. And the
               | conversion to a symbolic notation permitted me to
               | simplify the program substantially because I was able to
               | apply ideas from algebra to the program (often boolean
               | algebra, in particular, this is a very useful practice
               | for condition heavy code with lots of predicates).
        
               | h4x0r12345 wrote:
               | These are very childish and silly arguments. The letters
               | have strong conventions in mathematics and definitely
               | make sense when the functions are generic. It's like
               | impulsively criticising Haskell or any other formal
               | language for looking stupid and "worst possible" when you
               | haven't put any effort whatsoever into learning it.
        
               | jimsimmons wrote:
               | Things are subscripted and superscripted universally,
               | without real use for either in most places. It's just
               | over loaded notation.
        
               | Jensson wrote:
               | I don't see how Function(Value) = Value + Value ^ 2 is
               | any easier to read than f(x) = x + x^2. How would you
               | write this function?
        
             | Jensson wrote:
             | > The equation will be f(x) = 5x + 3x^2
             | 
             | You mean the function? It could just as well be something
             | like:                   f(x, y) = 5xy + 3x^2 + 4y^2
        
             | chobytes wrote:
             | That use-case seems not strictly useful, but things become
             | trickier with more elaborate expressions; like when we want
             | to abstract over what f looks like.
             | 
             | Eg One might have f(x,y,z) = (...). If f is in some class
             | of functions with some properties (homogeneous, linear,
             | smooth, etc) we can operate on it abstractly. We could even
             | derive properties of surfaces f(x,y,z) = C.
        
         | bit-101 wrote:
         | Author of the original article here. I feel your pain, but
         | again, it's just a different set of conventions. Mathematicians
         | are used to f(x) = ... kind of notation. Once you get used to
         | it, it makes total sense. That particular one I got used to
         | ages ago. f(x) is the same as a function in your code. It takes
         | and argument, x, and returns some value.
         | 
         | Often specific symbols have implicit meanings, like theta th is
         | pretty commonly used for some angle, r is often used to mean a
         | radius. So you'll often see something like "r sin th" with no
         | explanation. At first it's meaningless, but once you know the
         | conventions, it's crystal clear. It's considered so basic, that
         | nobody would waste the space explaining it. Same is if you're
         | reading something about code and something says "const float x
         | = 0.1" or something. The author is probably not going to go
         | into an explanation of what a const or a float is or what x
         | means. You're expected to know.
         | 
         | So what I like about the book is that helps someone without
         | knowledge of all these conventions to begin to understand them.
        
           | everyone wrote:
           | Perhaps the difference is that for programming you could
           | internet search for "C# const" or "C# float" for example, and
           | find the documentation or even easy to understand tutorials
           | explaining what they mean.
           | 
           | Whereas for math it does not seem to be the same. There is no
           | documentation, and no-one ever seems to explain those basics
           | online. Eg. this book is a pretty obscure pdf.
        
           | m34 wrote:
           | Thanks for taking the time to write about the book. As
           | someone who had a hard time applying their school-taught
           | knowledge about vectors and matrices when trying to
           | understand OpenGL and Direct3D back in the early days ("why
           | isn't there a proper 'camera' object I can use") I really
           | appreciate when people make an effort to offer alternative
           | POVs to get deeper into topics they might not be familiar
           | with.
           | 
           | Sometimes the right kind of intuition is all it needs to make
           | it click. Sometimes it's that tiny bit of knowledge one is
           | missing to get the whole picture and suddenly everything
           | makes sense.
           | 
           | (Btw I think we might have met ages ago at a conference or
           | two in Cologne)
        
             | bit-101 wrote:
             | Ah yes, Beyond Tellerand. That was a good time!
        
       | j2kun wrote:
       | Oh hey that's my book. Feels great to see someone getting a lot
       | of value from it :)
        
         | Scarbutt wrote:
         | What's are the math prerequisites for the book?
        
         | mypastself wrote:
         | Hi, is there a Kindle edition? I can only find an option to
         | purchase a PDF eBook on your site ("pay what you like", which
         | is great). This is not to say I mistrust your site, but I only
         | enter credit card data into a very small number of sites.
        
           | chana_masala wrote:
           | I'm not the author but the purchase of the book is through
           | Gumroad which is a fairly popular way to purchase
           | independently published books
        
             | mypastself wrote:
             | Thanks, I'll check it out.
        
           | j2kun wrote:
           | Kindle sadly does not yet support books with extensive math
           | typesetting.
        
         | nebulous1 wrote:
         | Have you written anything how the PWYW method has gone for you?
        
           | j2kun wrote:
           | Not that specifically. I switched from standard to PWYW after
           | a year of sales and I felt I had made enough and wanted it to
           | be open. I still get decent sales, but the majority of income
           | was always from print books which are not PWYW
        
         | jmfldn wrote:
         | I just read the first chapter and wanted to say well done, this
         | is great! This seems to exemplify the maxim that if you really
         | understand something you can explain it clearly to a layman. I
         | am that layman and I learnt a few things today! I look forward
         | to taking a deep dive. :)
        
         | j2kun wrote:
         | For those who liked my book, or want a different angle, or if
         | you're looking for inspiration into why math is interesting and
         | useful, I'm in the (slow) process of writing another book,
         | called "Practical Math for Programmers." It's more of a broad
         | sample of interesting, short programs that use math, with lots
         | of references. Sort of like "Programming Gems" books
         | 
         | Sign up for the mailing list here if you're interested in
         | getting updates: https://jeremykun.us11.list-
         | manage.com/subscribe?u=99aa071e9...
         | 
         | And some more notes on the process and ideas behind this book:
         | https://buttondown.email/j2kun/archive/a-week-of-book-writin...
        
       | pgtruesdell wrote:
       | I bought a physical copy when it was released a couple of years
       | ago. I've recommended it a few times; I think it's worth reading
       | for anyone who hasn't spent much time writing actual mathematical
       | software or hasn't had a formal CS education.
        
         | chana_masala wrote:
         | I think depending on the rigor of the formal CS education this
         | still may be challenging and worthwhile.
        
       | Koshkin wrote:
       | > _the book is targeted towards programmers who do not have an
       | academic math background_
       | 
       | I am truly wondering how many (professional) programmers don't.
       | (Not to say, of course, that the book is not good or not useful.)
        
         | bit-101 wrote:
         | You may be viewing the field from your own bubble. There are a
         | LOT of programmers who do not have formal CS degrees. I hire
         | them regularly. There are a lot of boot camps and intensive
         | non-degree programming schools out there.
         | 
         | There are also a lot of people who got a degree in some other
         | field and later moved to a programming career (I see a lot of
         | Philosophy majors get into programming, interestingly.)
        
         | Jtsummers wrote:
         | A lot of professional programmers have no significant math
         | background or have it but haven't exercised it so it's as good
         | as absent. I'll even include many CS graduates here, whose
         | college level math experience often ends with Calculus 2 (in
         | the US) and linear algebra, perhaps a discrete math course. But
         | then without any application to most of their other courses
         | this information is quickly forgotten. I work predominantly
         | with EEs and CS majors (my employer does not hire non-degreed
         | persons for programming work, which does eliminate some really
         | good candidates) and outside of the one teaching orbital
         | mechanics, most would be hard pressed to solve even a basic
         | linear algebra problem anymore. I've even had to re-teach
         | boolean algebra to the EEs who seem to have forgotten even
         | Karnaugh maps and how to use them.
         | 
         | And then there are all the non-technical majors who become
         | programmers, like the many philosophy graduates I've worked
         | with. This isn't to say they can't learn the math, but they
         | often have even less exposure than the typical business major
         | in the US.
         | 
         | And globally there are many people who come to professional
         | programming without any degree at all beyond a high school
         | diploma. And given the variance in high school curricula
         | globally there's no way to say what level of math this group
         | possesses, but they almost certainly lack college level
         | academic math exposure, the majority at least.
        
         | falcor84 wrote:
         | It of course would depend on what roles and geographies you
         | include, but from personal anecdata, I'd say that about 50% of
         | developers I've worked with have taken 'some' university-level
         | maths. And amongst these, there's of course significance
         | variance in backgrounds. Again from anecdata, the best at
         | applying maths to programming are physics majors, who seem to
         | often recognize that a software system exhibits some dynamics,
         | and that they could find (or build) some relatively simple
         | model that would explain and predict that behavior.
        
         | shepherdjerred wrote:
         | I worked at AWS and the highest level math course I've taken is
         | college algebra.
        
         | rory_isAdonk wrote:
         | many have a background, few remember it or apply it enough to
         | be happy with their ability.
        
       | dang wrote:
       | Some past related threads (I think there have been others too?)
       | 
       |  _A Good Year for "A Programmer's Introduction to Mathematics"_ -
       | https://news.ycombinator.com/item?id=21676384 - Dec 2019 (51
       | comments)
       | 
       |  _On Self-Publishing "A Programmer's Introduction to
       | Mathematics"_ - https://news.ycombinator.com/item?id=18642481 -
       | Dec 2018 (24 comments)
       | 
       |  _A Programmer 's Introduction to Mathematics_ -
       | https://news.ycombinator.com/item?id=18579076 - Dec 2018 (214
       | comments)
        
       | nebulous1 wrote:
       | I got this page from HN a while back:
       | https://www.neilwithdata.com/mathematics-self-learner
       | 
       | Might be of interest to a similar group of people as the OP
        
         | pgtruesdell wrote:
         | I'll second you, this page is a fantastic resource.
        
       | aj3 wrote:
       | Any recommendations for similar physics textbooks?
        
         | chestertn wrote:
         | This one:
         | 
         | https://mitpress.mit.edu/books/structure-and-interpretation-...
        
           | aj3 wrote:
           | Wow, that's wonderful!
        
       | rishikeshs wrote:
       | Thanks a lot for this;
        
       | prof-dr-ir wrote:
       | I have no specific comment to make on the (first two chapters of
       | the) book recommended by this blog. However I have become wary of
       | people recommending a textbook because it finally helped them
       | understand something they had tried to wrap their head around for
       | years.
       | 
       | I heard a conjecture once that the best textbook you'll find on
       | any given topic is your third. The point, of course, is that it
       | simply takes about three serious attempts to make it click - but
       | it is a fallacy to give all the credit to the third book.
        
         | laichzeit0 wrote:
         | > I heard a conjecture once that the best textbook you'll find
         | on any given topic is your third
         | 
         | Walter Rudin's Principles of Mathematical Analysis (chapters 1
         | through 7). A mental torture on the first exposure, but like a
         | fine wine when the palate is mature.
        
         | secondcoming wrote:
         | Don't they say the same about partners? It's optimal to marry
         | the third one.
        
           | arodyginc wrote:
           | Does it mean that your third partner should have you as the
           | their third too?
        
         | kenjackson wrote:
         | A reinforcing point to this is that I still have a lot of my
         | textbooks from undergrad/grad school. And while I hadn't
         | studied any math for 20 years or so, it was interesting when I
         | went through some of these books -- how much easier it is to
         | understand some of these concepts now. I don't know what it is
         | that helped me understand these concepts, twenty years after
         | graduating, better than I did when I was studying it everyday.
         | But I would NOT attribute it to the textbook, given it is
         | literally the same one.
        
           | stackbutterflow wrote:
           | I had the same experience. I think it's because school dumps
           | on us solutions to problems we haven't had yet. It's
           | difficult to correlate abstract concepts to tangible
           | problems. But 20 years later those formulas are actually
           | painting a picture of things we've experienced. It's like
           | reading someone else putting perfectly into words thoughts
           | you had. It clicks only if you had those thoughts; to other
           | people it is devoid of meaning.
        
           | janto wrote:
           | Maybe the ideas you learnt were "settling in" over the past
           | 20 years.
        
           | sound1 wrote:
           | > I don't know what it is that helped me understand these
           | concepts, twenty years after graduating, better than I did
           | when I was studying it everyday. But I would NOT attribute it
           | to the textbook, given it is literally the same one.
           | 
           | Probably additional skills and experience you picked up all
           | these years by solving/understanding hard problems
        
             | dionidium wrote:
             | I had the experience of trying to relearn some math just a
             | few years after first learning it in college and it was
             | similarly much easier to learn it all a second time. I
             | don't think I had a whole bunch of new experience. I think
             | rather there must be some kind of residual understanding,
             | even if it can't all be articulated cold.
        
               | legerdemain wrote:
               | Could this be a cognitive advantage of getting older?
        
             | Jtsummers wrote:
             | And more time for it to be mulled over. It was frustrating,
             | but in college I found that the 16 week semester was rarely
             | enough to actually learn something, only enough time to
             | commit it to memory. It was often a year or more later that
             | I'd have a sudden eureka moment while studying a separate
             | topic. Perhaps something that was applying the unlearned
             | material (like Physics I and Calculus, which were a
             | semester apart for me since I took Chem I my first semester
             | in college) or something related but not exactly the same
             | (like _Concrete Mathematics_ by Knuth et al. leading me to
             | a realization about some aspects of calculus).
        
           | atoav wrote:
           | This is IMO what makes teaching well incredibly hard: you not
           | only need to understand the topics at hand better than people
           | who just apply it, you also need to remember the time before
           | you understood what tou are teaching.
        
             | Arrath wrote:
             | This is something my mentor had to come to grips with when
             | I started, and something I've been working through the last
             | few years as my team grows.
             | 
             | It is very difficult to take that step back and divorce
             | myself from years of experience and tough lessons, and to
             | present the subject matter in a way that can be grasped
             | without an innate understanding that took me years to
             | reach.
        
           | shriek wrote:
           | Same here as well. From what I've found out is that, I know
           | the problem space much better now, meaning, I know how some
           | of it applies in real life and I can better visualize it now
           | than when I was just trying to finding the right answer for
           | grades. Maybe that's just for me but that's my reasoning
           | anyway.
        
         | chobytes wrote:
         | Seconding this a little. The best way to learn math is to spend
         | a long time with it and see it in as many ways as you can. You
         | have to build an intuition for it so you can move past
         | definitions and theorems and just "get it".
         | 
         | Although I also dont want to discourage anyone from trying this
         | either. Anything that'll get people to learn is better than
         | apathy. :)
        
         | westoncb wrote:
         | While I agree this is definitely a thing, it would be a mistake
         | to swing too far in the other direction and view any texts
         | sharing a subject as roughly equivalent.
         | 
         | I've experienced the '3rd text' phenomenon, but I could also
         | point to specific features affecting the wide variance in math
         | text effectiveness.
         | 
         | And this book is a pretty good example of exactly that: it has
         | specific unique features allowing it to fulfill its promise of
         | being an effective 'translation' guide for a programmers to a
         | bunch of otherwise typically implicit ideas relating to methods
         | or foundational concepts in mathematics that can be extremely
         | difficult stumbling blocks for the self-taught.
         | 
         | IMO a good strategy: take people's glowing praise about
         | particular texts with a grain of salt--but, if specific
         | beneficial features can be pointed out, which would be
         | advantageous to you as a learner, know that can mean striking
         | gold sometimes (in terms of not wasting time).
        
         | sateesh wrote:
         | Very true. After spending lot of time looking for best books to
         | learn algorithms and data structures, and buying more than 10
         | books I realised what I lacked was not the resources but rigor
         | and discipline to pursue one of the tons of best resources. I
         | am not telling that there aren't bad books, but most likely the
         | limiting factor to acquire the skills isn't lack of resources,
         | but the rigor to sit and plod through one ( or couple) of the
         | best resources that you have zeroed on.
        
           | chana_masala wrote:
           | I've been collecting data structures and algorithms books
           | lately. What titles have you read or own?
        
           | hutzlibu wrote:
           | " I am not telling that there aren't bad books, but most
           | likely the limiting factor to acquire the skills isn't lack
           | of resources, but the rigor to sit and plod through one ( or
           | couple) of the best resources that you have zero"
           | 
           | Ah, but there are books, just making you want to go tp sleep
           | by just looking at them and some are able to spark passion
           | (in me).
           | 
           | My point being, it is definitely about motivation and
           | discipline, but a good didactic book, helps with that.
           | 
           | And since we are all different (types of lerners), there
           | definitely isn't one book to rule them all. And its been a
           | while since I studied from a book, but I could usually tell
           | from skimmimg over a few pages, of whether this book can help
           | me, or not.
        
             | pm90 wrote:
             | I've had a similar experience in my learning journey. This
             | was really clear in High School: the physics taught by my
             | poorly trained teachers or the "recommended" books were all
             | targeted towards rote memorization and I really disliked
             | the subject because of it. When I looked for other books
             | that explained these concepts in a more accessible way, It
             | became a joy to learn the subject.
        
         | devoutsalsa wrote:
         | This reminds me of Hannah Fry's TED talk on the mathematics of
         | love, specifically point #2 on how to pick the perfect partner.
         | [1] It was basically about not committing to the very first
         | person you meet, but also not searching for the perfect person
         | in perpetuity. To paraphrase, you should pick reject the first
         | two people that come along, and then commit to the first person
         | that is better than everyone you previously dated. It's not a
         | perfect similarity, but I think the point of making a good
         | faith effort a couple times and then really going for it once
         | you understand a little bit makes sense.
         | 
         | [1] https://youtu.be/yFVXsjVdvmY?t=431
        
       | hintymad wrote:
       | I'm curious what the target audience this book is for. The
       | chapter "Our Goal" says that the books is to teach programmers
       | how to engage mathematics, but programmers have wide range of
       | mathematical maturity. The second theorem in the book is as
       | follows:
       | 
       | For any integer n >= 0 and any list of n + 1 points (x[1], y[1]),
       | ... , (x[n+1], y[n+1]) in R^2 with x[1] < x[2] < ... < x[n+1],
       | there exists a unique polynomial p(x) of degree at most n such
       | tat p(x[i]) = y[i] for all i.
       | 
       | So, it seems the author assumes that a reader will have math
       | maturity of a good senior high-school student, as most of
       | students wouldn't need to worry about property of existence. The
       | book also covers the proof of such theorem with formal notations
       | and the proof is built up with previous theorems -- a pretty
       | standard way in math books which nonetheless requires math
       | maturity of a good high school senior. The table of contents also
       | shows that the book will cover linear algebra, calculus, and
       | group theory in a whirlwind. Again, such content demands close-
       | to-college-level math maturity. I'm also generous here, as public
       | schools of the US do not really teach that much formal math.
       | 
       | So, here is the dilemma: people with this level of maturity
       | should already be good at math or have access to other materials
       | to help them with math. People who do not possess such maturity
       | will not go through the book anyway, or have more beginner-
       | friendly materials to read. Note I'm sure there are exceptions,
       | but I question the percentage of such exception.
        
         | jcpst wrote:
         | I have this book. I was pretty excited about it. I have tried 3
         | times to work through it so far, and haven't made it through
         | chapter two.
         | 
         | I did not connect with math when I was in High School. I liked
         | geometry, but never took anything after that. I didn't really
         | learn anything new in college algebra.
         | 
         | I program at an accomplished level- I'm doing senior dev work
         | in a complex domain, and have led teams of developers.
         | 
         | But I feel bad when trying to go through this book. Like I had
         | huge gaps in knowledge that the author assumed I had, which led
         | me to wonder why that is.
         | 
         | I will probably try to struggle through this again, in hopes
         | that eventually it clicks. If anyone knows of a book I could
         | use as a prerequisite or intermediate step, I would appreciate
         | that!
        
           | elric wrote:
           | I have struggled with the same thing (and continue to do so).
           | One thing I have found to be very helpful is Ivan Savov's "No
           | bullshit guide to math & physics". It helps that it's written
           | by a person who does a lot of tutoring, unlike the authors of
           | many frightening ex-cathedra maths books. It basically builds
           | its way up to calculus, in a way that's mostly easy to grok
           | and in a way that's useful and interesting (which is where
           | the physics bit comes in).
           | 
           | It certainly hasn't made me a mathematician by any stretch,
           | but it's helped me fill in a lot of gaps left behind by awful
           | maths teachers in school, and it's helped rekindle an
           | interest that I'd long since forgotten.
        
         | dj_mc_merlin wrote:
         | That is a bit of an uncharitable reading. The subchapter
         | literally preceding the example you cited is titled "Existence
         | & Uniqueness" and explains why those concepts are important to
         | mathematicians, and right following the stated theorem the
         | author explains it in minute detail and gives an informal
         | phrasing ("there is a unique degree n poly- nomial passing
         | through a choice of n + 1 points"). The entire chapter is
         | devoted to how to take these kind of complex looking statements
         | and understand what concepts are behind them, and the author
         | explains the concepts in both normal language and how one would
         | normally see them in a maths textbook.
         | 
         | You are right that this book requires high school level math
         | knowledge, as it's the equivalent of a first (and maybe second)
         | year math course. Most programmers I have met do display that
         | amount of knowledge however. What other starting point (or
         | topic) would you suggest for teaching someone mathematics that
         | can be related to programming?
        
         | westoncb wrote:
         | The article has a good example of exactly the kind of thing I
         | also found useful in the book:
         | 
         | > He also discusses the fact that the language of mathematics
         | is looser than programming in a lot of ways. In code, things
         | have to be expressed a very exact way or they just don't
         | compile. Variables and functions have to be fully and
         | explicitly defined if you expect the computer to run them. But
         | in math, there's a lot of tacit agreement and assumptions that
         | go on. Lots of shortcuts and conventions.
         | 
         | This kind of context around how math is done as a human
         | activity in practice, especially in contrast to programming, is
         | extremely helpful orientation for programmers trying to self-
         | teach mathematics.
         | 
         | It would've saved me tons of time and trouble if I'd known the
         | above while trying to work through math texts after graduating
         | with a CS degree: instead I wasted a tone of time writing over-
         | detailed proofs, always feeling as if I were doing something
         | wrong if every tiny step weren't explicit (more closely
         | matching my experience with programming).
        
       ___________________________________________________________________
       (page generated 2021-08-16 23:00 UTC)