[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)