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