17 ms·
A Programmer's Introduction to Mathematics
- oblib 8y agoI've been wanting to peek into mathematics and an "introduction" is exactly what I need. Thank you for sharing this.
- org3432 8y agoThis was the book that Richard Feynman used to teach himself calculus when he was 10 or 11 as I recall: https://www.amazon.com/Calculus-Practical-Man-J-Thompson-ebook/dp/B004SN1UMC/ref=sr_1_2?s=books&ie=UTF8&qid=1543707079&sr=1-2 https://www.amazon.com/Calculus-Practical-Man-J-Thompson-ebo...
- theoh 8y ago"If you’re a programmer who wants to learn math, this book is written specifically for you!" Singleton Book B is written specifically for Programmer P, for all values of P such that P wants to learn math? Maybe I'm being pedantic, but this book is not written specifically for each individual programmer who wants to learn math. It is a one-size-fits-all solution, unlike in-person learning processes that are actually, you know, tailored to each student's strengths, weaknesses and interests. I'm sorry, but this kind of overselling is annoying and a very bad sign.
- mrcartmenes 8y agoIt’s a shame you don’t get to read any of the actual maths in the sample pages. Otherwise I might have been able to evaluate whether I want to buy this book. Intros don’t really tell us much
- febin 8y agoI have been searching for something like this for a while. Just bought the book, I will get back to you. I hope the book will give me exactly what it promises.
- febin 8y agoI would have loved to have the printed version of this book. Unfortunately not available in India.
- Koshkin 8y agoIt's good to have something that lowers the bar for programmers so they could learn themselves some math without much fear. Knowing math is very important if you are a coder - and not just linear algebra: knowing a formula, for example, might let you do certain things in constant rather than linear time or, perhaps, reduce the cost of the iteration. Unfortunately, too many of those who can call themselves programmers by trade know very little math (you'd be lucky if they remember what they learned in high school).
- oblib 8y agoThat's really me to a "tee". I just never had a teacher in high school who really understood more than basic math, and I went to work instead of college afterwards. I expect I'll have to work at it to follow this book but that's why I need something like this. And I need to spend some time with Python too so I'm looking forward to digging into it.
- Waterluvian 8y agoI'm sorry if this isn't your intent but the way you structured your comment comes off as very condescending. Aside from that, I'm also skeptical that the frequency in which these maths apply to practical, commercial programming is really that high. Im not anti math or something. I just think the practical value gets way over sold by some people. And sometimes it feels like it's because of the dislike of "those who can call themselves programmers by trade."
- chrisbroadfoot 8y agoIf anything, I think the practical value of mathematics is generally undersold. It seems OK if some people tend to oversell it.
- codesushi42 8y agoIt is an incredibly important foundation for analyzing any kind of data. That is a need that crosses many different fields, be it sales forecasting, quantitative finance, econometrics, deep learning, signal processing, any sort of scientific computing etc. I would be more interested in hearing an argument about why math knowledge is not useful or lucrative.
- aargh_aargh 8y agoHmm, the "first few pages" end just before the "meat" begins. From the table of contents, there seem to be short prose sections inteleaved with the teaching sections. I hoped to see an example of the teaching section, not the prose.
- org3432 8y agoAmazon lets you browse more of the book and you can get a better feel for it. The E-Book you have to suggest a price, which in theory seems nice to pay what you what, but now I don't know what I'd pay. :)
- j2kun 8y agoYeah, I should update that to have the full first chapter.
- king_magic 8y agoWould love to see a little more of the math - am hooked on the idea though!
- j2kun 8y agoFirst chapter is up now at https://pimbook.org/pdf/pim_first_pages.pdf https://pimbook.org/pdf/pim_first_pages.pdf Also note that the Amazon "Look Inside" lets you see basically any page. Some readers have told me the first chapters were too slow, and so I think more advanced readers will want to breeze through that (though the applications in the first two technical chapters have a coolness to them that is hard to beat!).
- nootropicat 8y agoThe description got me excited, but looking at the table of contents, the level is ultra basic - appears to roughly correspond to first year of a cs degree.
- blt 8y agoStill potentially useful for people who got into programming by some path that doesn't include a CS degree.
- 0xddd 8y agoCertainly more than just the first year, and I don't think the majority of CS degrees require multivariable calc or any group theory. I do wish there were more of a preview than just the TOC to see how novel the examples are and how much it helps with intuition for these mathematical concepts beyond what you would learn in a plain CS sequence. That would be my reason for buying the book and I wouldn't write it off just because the list of topics covers the first two years of college math.
- preommr 8y agoMy uni did this weird thing where they put all the math courses into the first year (except for one stat course in the second year). The first semester had highschool basics like calc and trig, followed up by another two courses the following semesters that covered linear algebra and ... something else. I don't remember, I because I was too busy with girl problems. Looking back, that first year was brutal with each successive year getting way easier and way more fun.
- twtw 8y agoThe title is "introduction to mathematics." I think you are probably looking for a different book.
- csomar 8y agoNot all software developers have been through a CS curriculum. Not all CS curriculums teach rigorous math.
- 40acres 8y agoThanks for the effort. I purchased the e-book and will start working through it immediately. I'll let you know what I think.
- sjroot 8y agoAs someone who works as a programmer but wasn’t super interested in mathematics, I’ve found this blog to be a fantastic read time and time again. I’d highly recommend going through Jeremy’s previous posts if this is your first time seeing his site on here. If this topic piques your interest I would also recommend Mathematics for Computer Science: https://courses.csail.mit.edu/6.042/spring17/mcs.pdf https://courses.csail.mit.edu/6.042/spring17/mcs.pdf
- newnewpdro 8y agoWhat's provided currently at [1] doesn't provide the reader with any impression of the teaching style or quality/quantity of visual aids. I'm very likely to buy a hard copy of such a book, but not unless I can do the equivalent of flipping through it like I would in a book store. Consider changing the preview instead to a scattered sampling of some of your proudest pages. [1] https://pimbook.org/pdf/pim_first_pages.pdf https://pimbook.org/pdf/pim_first_pages.pdf
- blt 8y agominor suggestion: make it easier to see the table of contents. A survey book leaves uncertain exactly what is included.
- liftbigweights 8y agoI guess this is for the nontraditional programmers since computer science is a mathematical field and programming is simply applied mathematics in some sense. I don't see how you could get a CS degree without being competent in mathematics to some degree since CS is a mathematical field.
- deleted 8y ago[deleted]
- jamestimmins 8y agoOn a related note, I'm curious if anyone has taken the Mathematics for Machine Learning (https://www.coursera.org/specializations/mathematics-machine-learning https://www.coursera.org/specializations/mathematics-machine...) courses on Coursera, and whether it really covers enough to be comfortable with ML. The course bills itself as enough math knowledge for folks who barely remember high school math.
- csomar 8y agoLooking at the courses, it doesn't cover calculus and probability. That's two topics that you should already know and that you might not have mastered in High School. Otherwise, you are good to go.
- pumanoir 8y agoI have. It’s great because it’s developed using geometric intuition (a la 3b1b). Just missing probability/stats.
- harias 8y agoI have completed all three courses in the series. It was a good supplement to other resources, especially 3blue1brown's Linear Algebra course on youtube[0] (mind-blowing, do check it out) but I wouldn't recommend it as a first course. The first two courses weren't rigorous enough for my taste (I am yet to find a rigorous course on Coursera), but the third was pretty good. You should take up books if you are serious. MIT OCW Scholar(independent study) course on Linear Algebra by Prof. Strang[1] is really good and is designed for self-study. If you have the time, you could look up Coding the matrix[2] too. I read probability from Mathematics for Computer Science-MIT[3] and also referred Khan Academy[4] and PennState STAT 414/415 [5] for statistics and probability. StatQuest channel[6] on Youtube has handwavy but easy to understand videos on statistics for ML too. The Deep learning book[7] by Ian Goodfellow et al. has a couple of chapters at the beginning that gives you a fairly good idea of the mathematics required to get into Deep learning. Communities like r/AskStatistics and r/statistics on Reddit were really helpful when I got stuck. I also chanced upon Mathematics for Machine Learning[8] book recently and it seems to be good. It has a chapter on optimization that is left out in most books but skips statistics. [0] - https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x... [1] - https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/ https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algeb... [2] - http://codingthematrix.com/ http://codingthematrix.com/ [3] - https://courses.csail.mit.edu/6.042/spring18/mcs.pdf https://courses.csail.mit.edu/6.042/spring18/mcs.pdf [4] - https://www.khanacademy.org/math/statistics-probability https://www.khanacademy.org/math/statistics-probability [5] - https://onlinecourses.science.psu.edu/stat414/ https://onlinecourses.science.psu.edu/stat414/ [6] - https://www.youtube.com/user/joshstarmer/videos https://www.youtube.com/user/joshstarmer/videos [7] - https://www.deeplearningbook.org https://www.deeplearningbook.org [8] - https://mml-book.com https://mml-book.com
- codesuki 8y agoJust ordered from Amazon! I used to read his blog a few years ago and I loved the articles and the breadth of topics. Thank you!
- threwythrw 8y agoDo the exercises have solutions? The most annoying things about math books is the lack of solutions. A beginner absolutely needs to know whether or not their solutions are correct. The “the reader should know if they are correct” logic doesn’t apply here. A beginner could easily have faulty logic and fool themselves into thinking their solutions are correct. I usually don’t buy math books without solutions if I’m self-studying. Would like to know if solutions are provided in this book. If not, I won’t consider buying it. If this book doesn’t make the cut with a solution manual, does anyone have recommendations on an intro to proofs book with one?
- Koshkin 8y agoAgree. Actually, studying a good solution even if you have one of your own is one of the best ways to learn mathematical tricks of the trade, so to speak - just as it's a great way to learn coding: one learns from the master (as one should) and not just "from the book."
- chii 8y agobeing told a solution can sometimes lead to "rote" learning - where you learn a particular way of solving the problem, rather than applying creative thinking. Also, if you can't prove a solution correct, then you haven't solved it!
- ptd 8y agoIs this a feature or a bug? If it takes you two weeks to apply creative solutions and it take me one week to apply a “rote” solution, what is the benefit?
- gbear605 8y agoThe idea is that it might take you longer to learn, but when you are applying it in the real world and hit real world problems that are messy, you’ll be a lot faster
- mlevental 8y agoJeremy, been reading your blog for years. Just wanted to say thanks for the wealth of readable intros to interesting mathematics.
- cbHXBY1D 8y agoI'd like to tag onto this: I've been reading your blog for nearly a decade and can say that you were one of my inspirations for studying math and CS.
- baron816 8y agoI’ve found myself unable to do even elementary maths recently just because I’m sorely out of practice. Hasn’t really affected my performance as a programmer. Wondering, what kind of math I could learn that would benefit me in my job?
- diego 8y agoWhat kind of work do you do? For some types of development, basic knowledge of mathematics will take you reasonably far. Knowing more math opens up possibilities. For example, I recently found myself wanting to add features to some flight control software for drones. I wanted a return-to-home feature, which involved implementing a PID controller for gps navigation. I studied control theory in college decades ago, and hadn't used it for anything professionally until this year. Also, autonomous navigation requires taking vectorial inputs from sensors that must be rotated to the frame of reference of the drone (e.g. the accelerometer). I could not have participated in this project if I didn't have enough knowledge of calculus and algebra.
- johnsonjo 8y ago> Wondering, what kind of math I could learn that would benefit me in my job It depends on what you want to do. I’ll get to your question in a bit, but I think this passage from the book on page (i) describes why you might want to learn mathematics. > So why would someone like you want to engage with mathematics? Many software engineers, especially the sort who like to push the limits of what can be done with programs, eventually come to realize a deep truth: mathematics unlocks a lot of cool new programs. These are truly novel programs. They would simply be impossible to write (if not inconceivable!) without mathematics. That includes programs in this book about cryptography, data science, and art, but also to many revolutionary technologies in industry, such as signal processing, compression, ranking, optimization, and artificial intelligence. As importantly, a wealth of opportunity makes programming more fun! To quote Randall Munroe in his XKCD comic Forgot Algebra [0], “The only things you HAVE to know are how to make enough of a living to stay alive and how to get your taxes done. All the fun parts of life are optional.” If you want your career to grow beyond shuffling data around to meet arbitrary business goals, you should learn the tools that enable you to write programs that captivate and delight you. Mathematics is one of those tools. You should never feel like a lesser programmer, because you don’t know mathematics it’s just something that might make things a little more interesting and fun while adding some value. Of course it’s not always fun for everyone, so let yourself decide if it’s for you. Mathematics can create value for a programmer in a lot of different ways like as stated above, but yet again people should not feel belittled not having this knowledge because there are many other ways you can add value to your job as a programmer without mathematics. With that said, I’ll give you a list of programming topics below that are enabled by mathematics and what kind of mathematics can help with those topics. If you’re not needing to study any of these topics or needing to use them in your daily job I think one of the most useful and fun types of mathematics is discrete math for everyday programming. This can build foundations of logic and reasoning needed for programming. Someone else already mentioned the mathematics for computer science course from MIT [9] in this thread and that’s a great intro to discrete though it can be pretty challenging at times especially if you’re new to the topic. Programming Topic - Math Topics to Study cryptography - number theory, abstract algebra, probability, basic combinatorics, information theory and asymptotic analysis of algorithms [1] data science - Linear algebra, Regression techniques, Probability theory, Numerical analysis [2] art/computer graphics - geometry, linear-algebra, physics-based calculus, topology and numerical methods [3] signal processing: Fourier transforms, Laplace transforms, differential equations, statistics, linear algebra, and complex analysis [4] Data structures and algorithms: mostly discrete math (set theory, logic, combinatorics, number theory, graph theory, formal proofs), asymptotic notation. compression: Information theory, statistics, probability, linear algebra [5] ranking: statistics, markov chains (think PageRank), probability, linear-algebra [6] optimization: numerical analysis, computational geometry, discrete mathematics, probability, linear-algebra, calculus [7] artificial intelligence: discrete math, statistics, analysis, linear-algebra [8] [0] see the hover over: https://www.xkcd.com/1050/ https://www.xkcd.com/1050/ [1]: https://crypto.stackexchange.com/a/10468 https://crypto.stackexchange.com/a/10468 [2]: https://www.datascienceweekly.org/articles/how-much-math-stats-do-i-need-on-my-data-science-resume https://www.datascienceweekly.org/articles/how-much-math-sta... [3]: https://math.stackexchange.com/questions/830856/how-is-math-used-in-computer-graphics https://math.stackexchange.com/questions/830856/how-is-math-... [4]: https://www.reddit.com/r/ECE/comments/4i7jq9/what_math_will_i_need_for_signal_processing/ https://www.reddit.com/r/ECE/comments/4i7jq9/what_math_will_... [5]: https://en.wikipedia.org/wiki/Data_compression#Theory https://en.wikipedia.org/wiki/Data_compression#Theory [6]: https://en.wikipedia.org/wiki/Learning_to_rank https://en.wikipedia.org/wiki/Learning_to_rank [7]: https://en.wikipedia.org/wiki/Mathematical_optimization https://en.wikipedia.org/wiki/Mathematical_optimization [8]: https://math.stackexchange.com/questions/791326/what-maths-are-the-most-important-for-artificial-intelligence https://math.stackexchange.com/questions/791326/what-maths-a... [9]: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/ https://ocw.mit.edu/courses/electrical-engineering-and-compu...
- paultopia 8y agoThis looks really nice, from the preview content---I really like the approach of explaining the background assumptions of reading mathematical definitions and such. Ordered!
- hdt91 8y agoFrom the ToC, is the any reason there is no chapter covering probability/statistics? It has chapters for single/multivariable calculus and linear algebra, and all CS programs I know have all three, especially when there are some nice connections between them, not to mention how useful they are in other CS/engineering subjects.
- ziont 8y agoI am basically trying to understand the formulas in machine learning papers, will this book help achieve improvements in speed? I just realize I fear math because the educational system I grew up in was violent (like beating kids for getting a quiz wrong wtf). It was only through psilocybin mushrooms did I discover math and calculus again.
- Ericson2314 8y agoPlenty of cliffhangers in this comment
- ziont 8y agoSure, I grew up in South Korea much of my childhood, corporal punishments was the norm. So I have this phobia of calculus and math. Anytime I'm faced with a formula I get this panic attack. Some may call it PTSD. But it explains why I had such problem with calculus and it really made me feel inferior. it's still a cliff hanger, searching for my arc.
- andrepd 8y agoFrom the bit I've read from https://pimbook.org/pdf/pim_first_pages.pdf https://pimbook.org/pdf/pim_first_pages.pdf it seems to be very very poor. * 19 pages of droning before you start with something concrete. Much talk talk talk about your experiences before you get to the point. I can't put into words how much it frustrates me when I'm expecting to read something interesting and the author takes 3 paragraphs talking about nothing (usually with lots of overexcited exclamation marks). [sorry if I am being blunt, but it's how I feel] * Imprecise definitions. This defeats the purpose of learning mathematics. Like Leslie Lamport says, rigour in mathematics is not a hurdle or a chore one must endure, it's the whole point of learning the damn thing. You give imprecise definitions, and then obscure it even further with neverending paragraphs of confusing explanations. This to me kills the whole pedagogical value the book might have. Here is a rule of thumb that in my experience applies well to almost everything in mathematics: the simpler your explanation is, the better. Your goal is to explain a concept as succintly and beautifully as possible. This exposes the idea behind it. A long and meandering explanation only serves to obscure the idea behind. Less is more. * Attempting to shoe-horn programming "lingo" into mathematics. Sometimes, the best way to explain something, even to programmers themselves, is not to force an awkward analogy with Java programming. EDIT: 5 pages later: "The best way to think about this is like testing software." oh boy... * The graph in e.g. page 8 (20 of the pdf) is terribly typeset. The axes text is way too small to read and in a font that doesn't match the rest of the content.
- dustycat 8y agoI am curious how many people the author has taught mathematics to. It doesn't seem a good idea to jump into writing a textbook teaching mathematics unless one has experience of teaching mathematics. But the author makes the very point about early failures of programming, due to lack of experience, so perhaps he can supply information about what his pedagogical experience consists of. Teaching other people is a craft, similar to programming or mathematics, with its own necessities.
- jacobolus 8y agoApparently he was a TA as a math PhD student at UIC. Now is a programmer working at Google. He wrote a bunch of posts on his website over the years, https://jeremykun.com/main-content/ https://jeremykun.com/main-content/
- wainstead 8y agoPlease tell me you wrote it in LaTeX. It would be another reason to buy it.
- j2kun 8y agoOf course!
- beefsack 8y agoIt appears the ebook is in PDF format[1], does anyone know if an EPUB will become available? [1]: https://gumroad.com/l/pim-book https://gumroad.com/l/pim-book
- Snowe 8y agoI prefer EPUB for most ebooks, but maths books work far better in PDF because mathematical notation gets turned into image files in an EPUB and don't render nearly as nicely.
- alan_wade 8y agoCan you create an EPUB version? I'd like to buy it but I need EPUB for my reader.
- deleted 8y ago[deleted]
- alan_wade 8y agoI really wish this book would include probability and statistic sections. My guess is that a lot of people, like me, will want to read it because they're getting started with ML and need help getting used to the math, and probability/stats is an important part of it that's missing. Any chance you could add it in the future?
- j2kun 8y agoWell, two chapters have singular value decomposition and neural networks as the applications. So it does have a lot of ML :) But yes, I unfortunately had to cut a probability chapter. I think someone who reads this book would have a much easier time learning probability after, and a better foundation.
- yantrams 8y agoHave just ordered the e-book. Didn't expect to find a chapter on Hyperbolic tessellations. Nice!
- bsg75 8y ago> I think someone who reads this book would have a much easier time learning probability after, and a better foundation. So will you be following up with a prob & stats book? ;)
- codesushi42 8y agoThank you for this book. There is a huge need for this. It saddens me that schools may be handing out CS degrees without having first required students to at least have taken linear algebra, multivariable calculus, and discrete math that covers basic counting, sets, graphs and groups. How can this be? Probability and statistics should also be a required part of every CS program.
- j2kun 8y ago/shrug misaligned incentives probably. Schools are also handing out CS degrees without students being all that good at writing programs either.
- yantrams 8y agoI am a huge fan of Jeremy's blog. Found his primers on a multitude of topics very useful - https://jeremykun.com/primers/ https://jeremykun.com/primers/ As a Math guy who got into the world of programming relatively recently, I am on the opposite side of the spectrum I suppose but I'm gonna order this nonetheless to support him.
- j2kun 8y agoWould you read "A Mathematician's Introduction to Programming"?
- _Nat_ 8y agoTo the author: You might want to extend the preview PDF to include a few pages from later chapters. The issue's that the [current preview](https://pimbook.org/pdf/pim_first_pages.pdf https://pimbook.org/pdf/pim_first_pages.pdf) only gets into polynomials over its 45 pages. But since polynomials are typically taught to students during early childhood, it seems like most readers are liable to just skim that content, being more interested in the topics discussed later. For example, the start of Chapter 14 (on optimization) would be neat to see. That said, I like the parts that translate between analytical expressions and programming code. Such mappings seem like high-value content to readers; the language barrier can keep people from understanding mathematical writing, while a few helpful translations can help to tear down those language barriers.
- westoncb 8y ago> But since polynomials are typically taught to students during early childhood, it seems like most readers are liable to just skim that content, ... My view was that the initial chapter was more about how to learn mathematics generally using polynomials as a source of examples, rather than being on the subject of polynomials like you'd get in grade school. Agreed though—I would like to see some of the later material, too :) Edit: actually you can skip around and see more on the Amazon preview.
- j2kun 8y agoThe Amazon preview has more pages, in case you're still curious.
- jordigh 8y agoI think the choice to showcase the polynomial chapter is deliberate. The topic is likely to be familiar to many, but he's using it as an example to explain why mathematicians do things they way they do. I've often expressed the same frustrations that he describes when trying to explain to programmers why mathematics can't be replaced with a rigid programming language.
- armatav 8y agoCan we get that GitHub solutions repo going? I feel like that's super important for this book. Bought it anyway.
- suj1th 8y agoI guess it's best if Jeremy starts the repo himself, and we contribute to it. But I agree; cannot understate the importance of solutions to make the best use of this book.
- j2kun 8y agoLet's get it started, and initial thoughts, questions, or suggestions can be in Github issues for now. https://github.com/pim-book/exercises https://github.com/pim-book/exercises
- bwobst 8y agoI recently started reviewing mathematics on Khan Academy to brush up on my math skills and learn more Calculus so I can better understand ML. Really looking forward to reading this!
- herostratus101 8y agoI'm a little skeptical of CreateSpace. Why did you decide to self-publish?
- j2kun 8y agoI actually used to work for CreateSpace! I think they do a splendid job on the printing, and the royalties are much better than a publisher. I think I will write a longer blog post with more details.
- herostratus101 8y agoI had a CreateSpace textbook once and the mathematical notation was so grainy that it was unpleasant to read.
- antoinevg 8y agoI tried to buy it but for some reason Paypal refuses to use my existing balance and instead asks for my card. Is this something you can control on your end?
- billfruit 8y agoDoes it compare to Don Knuth, et al, "Concrete Mathematics: A foundation for Computer Science"?
- johnsonjo 8y agoIt might have some crossover, but my guess is it's probably much more introductory than that book. I didn't know this until fairly recently, but Concrete Mathematics was used in a Graduate level course at Stanford as the textbook (with the course name following the book's, Concrete Mathematics). Kind of threw me off when I first found out, because the book says it's a foundation for computer science, so I thought it would be an undergraduate course. So, I don't think you need to be a graduate student or in particular a Stanford level computer science graduate student to read Jeremy Kun's book.
- mkagenius 8y agoNice. I tried to start something similar which tried to explain all weird maths symbol via code. It went nowhere. But feel free to check https://github.com/mkagenius/mathsymbol2code https://github.com/mkagenius/mathsymbol2code
- EGreg 8y agoI was teaching a college class for high schoolers last year and thought it would be great to record my lectures for them. Then I put it up as an entire youtube channel for everyone: https://m.youtube.com/channel/UCuge8p-oYsKSU0rDMy7jJlA https://m.youtube.com/channel/UCuge8p-oYsKSU0rDMy7jJlA It basically builds up mathematics rigorously from basic definitions, while trying to stay very accessible. If anyone has the time, or desire to learn math this way, let me know what you think, and if I should make more in this series!
- mlejva 8y agoI have a genuine question which might sound dumb but I really do wonder. How do you actually read math, physics and programming books? Reading them the same way as you'd read a novel doesn't seem right. I try to go chapter after chapter and make notes but I often get bored because I don't see the usage in my real life coding. Maybe I'm not working on problems that are challenging enough? Also after few chapters it often turns into a "job" of finishing the book. I don't have the pleasure of learning new stuff anymore. Do you really finish such books? What am I doing wrong?
- danellis 8y agoDepends how they're written. Some are written to be read cover-to-cover, whereas others are references that you dip into as you need. If you're getting bored because you're reading something that's not relevant to what you're doing, skim over it instead and make a mental note of what the content covers so you'll know what you have available to you should the topic come up later.
- heinrichhartman 8y agoProf. Manfred Lehn has some very good advice on his web-site (in German): http://www.alt.mathematik.uni-mainz.de/Members/lehn/le/seminarvortrag http://www.alt.mathematik.uni-mainz.de/Members/lehn/le/semin... Here is the Google Translate transcript: """ How do you read mathematical texts? If you are ready to give a seminar lecture in your studies, you have already studied one or two semesters and read one or the other book and know what is important: If you read mathematical texts, there are two modes in which You can proceed: From the bird's eye view: What are the rough lines? What is the subject of the present text? What are the central concepts and definitions, what are the central statements and sentences? What are the rough evidence structures? Why do you do it all? From a frog's perspective: how is it done in detail? How does a proof work? Why do you need the prerequisites in the sentence? What happens if you leave them out? You often have to switch between these modes. First, one has to get an overview of where one is actually going, otherwise one bites oneself in the first technical lemma and gets stuck. At the first reading one can skip all the evidence and focus on the statements of the sentences. At some point, however, comes the point where one no longer understands the sentences, because one has developed no feeling for the introduced concepts. Then it's time to take a closer look at the evidence as well. If you have understood more technical details, you should step back a bit and ask yourself again what the overall context is, etc. In an adapted form, this also applies to the way you approach individual sentences or examples. If you are confronted with a new sentence, you may ask questions of the following kind before, after, or even while studying your proof: What are simple examples of the sentence (such as special cases)? What are simple counterexamples where certain conditions are not met? Does the sentence, or the term used or the proof, refer to already known things? Is there a characteristic example of observing all the essential phenomena? Work in circles in the literature to your presentation (and his position in the seminar). """ (You have to swap the word "sentence" with (mathematical) "proposition" or "theorem" at some places for this to make more sense. In german those are the same word ("Satz").)
- Sniffnoy 8y agoSome comments/corrections on the first chapter, if you don't mind: 1. Theorem 2.4 is stated incorrectly. Given the context, I feel like this is worth correcting. Specifically, it says "degree n" rather than "degree at most n". Part of the proof purports to prove that the degree is indeed n but of course it doesn't because that needn't be true. There are other cases where you say "degree n" for "degree at most n". Again usually this would be a minor error not worth pointing out, but in this context it seems worth getting right. 2. At one point you introduce a convention that deg(0)=-1. Later, in the exercises, you ask, is this really such a good convention? (The answer being, of course, no.) IMO you should anticipate this. Indeed I don't think you should state, as you do, "By convention the zero polynomial is defined to have degree -1", because that suggests it's some standard universal convention, which is definitely correct, and it's neither of those. Rather you should say something like "We'll use the convention that the zero polynomial is defined to have degree -1". But anyway, the point I made is that, if you're going to question its correctness later, you should anticipate that here, maybe saying something like "(Think about whether this convention makes sense.)" Or maybe not, and just getting rid of the absolutism of your current wording is sufficient. Either way, getting rid of that absolutism and certainty is good; you want to encourage to people about this sort of thing immediately, not encourage them not to think about it until later. 3. You say that when you see a definition you should write down examples. I would add, "and non-examples". Ideally non-examples that come as close as possible but don't quite make it. You touch on this a little with your polynomial examples, but it's worth stating explicitly. (In some cases non-examples are unnecessary, but in the generic case one should look for them.) 4. Regarding your polynomial examples, you don't justify that they are, in fact, not polynomials. Now of course you don't, that would be too hard to do here and take up lots of space you want to use for other things. That's fine. But if you're not going to do it, you should call out that you're skipping over it, like you do with other things. After all, all sorts of nonobvious things can be polynomials -- such as (x-1)(x+6)^2, as you pointed out earlier, but included no similar examples here. (Yes that's obvious to anyone who knows anything about polynomials, but my point is that it's not in the correct syntactic form.) Like, x^e - x^e is a polynomial, you know? Because it's 0. So without some more knowledge, you can't immediately conclude that your example x + x^2 - x^pi + x^e is in fact not a polynomial! You should make a note of that, as I said. 5. I feel like it's likely worth noting somewhere in this chapter that actually in general in math it's the "syntactic" definition of polynomial that turns out to be the right one (you don't want to define polynomials to be functions if you're working over a finite field, say!). Maybe not and that would just be confusing, I dunno. 6. This is just nitpicking, but I'd suggest rewriting Theorem 2.3 in a clearer, more standard way. "A nonzero polynomial of degree n has at most n distinct roots." What you wrote down is equivalent, of course, but (IMO) harder to read. Otherwise, this is pretty nice. I remember being distinctly confused by stuff like "the product over j not equal to i" when I was a kid. I imagine it'll be quite helpful to a number of people that you're laying things out like that explicitly. Actually, sorry, on that note, one further comment: 7. You comment on how sigma and pi notation are special cases of fold, but you might want to make a further note about how (unlike general folds) these are folds where the order doesn't matter, and that the fact that the order doesn't matter is one of the things that allows notation like "product over j not equal to i".
- harias 8y agoI see a lot of users are learning maths for machine learning. I did the same and here is what I found: I started with 3blue1brown's Youtube course[0] on Linear Algebra and loved it. I had already done a college course on LA, but this made me truly understand what I was doing. MIT OCW Scholar(independent study) course on Linear Algebra by Prof. Strang[1] is really good and is designed for self-study. If you have the time, you could look up Coding the matrix[2] too. I read probability from Mathematics for Computer Science-MIT[3] and also referred Khan Academy[4] and PennState STAT 414/415 [5] for statistics and probability. StatQuest channel[6] on Youtube has handwavy but easy to understand videos on statistics for ML too. The Deep learning book[7] by Ian Goodfellow et al. has a couple of chapters at the beginning that gives you a fairly good idea of the mathematics required to get into Deep learning. Communities like r/AskStatistics and r/statistics on Reddit were really helpful when I got stuck. I also chanced upon Mathematics for Machine Learning[8] book recently and it seems to be good. It has a chapter on optimization that is left out in most books but it skips statistics. [0] - https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x.. https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x.... [1] - https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algeb.. https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algeb.... [2] - http://codingthematrix.com/ http://codingthematrix.com/ [3] - https://courses.csail.mit.edu/6.042/spring18/mcs.pdf https://courses.csail.mit.edu/6.042/spring18/mcs.pdf [4] - https://www.khanacademy.org/math/statistics-probability https://www.khanacademy.org/math/statistics-probability [5] - https://onlinecourses.science.psu.edu/stat414/ https://onlinecourses.science.psu.edu/stat414/ [6] - https://www.youtube.com/user/joshstarmer/videos https://www.youtube.com/user/joshstarmer/videos [7] - https://www.deeplearningbook.org https://www.deeplearningbook.org [8] - https://mml-book.com https://mml-book.com Copied from my comment here: https://news.ycombinator.com/item?id=18582022 https://news.ycombinator.com/item?id=18582022
- bootsz 8y ago> The problem is that the culture of mathematics and the culture of mathematics education--elementary through lower-level college courses--are completely different ... I've had many conversations with such students [...] who by their third year decided they didn't really enjoy math. The story often goes like this: a student who was good at math in high school (perhaps because of its rigid structure) reaches the point of a math major at which they must read and write proofs in earnest. It requires an earnest, open-ended exploration they don't enjoy. I found this interesting because I too discovered this difference in approach but had the complete opposite reaction. I absolutely hated math in middle and high school. It wasn't until I took a discrete math course for my CS program that I got exposed to dealing with real proofs, which I found required a level of creative thinking, and I totally loved it. This admittedly wasn't an "advanced" university math class, but the difference from high school math was still quite stark.
- j2kun 8y agoThat's exactly how I felt. I didn't really discover math until college.
- master_yoda_1 8y agoI think the author is confused. His book is not for programmers his book is for "programmers lacking computer science education" as computer science is a branch of applied match. If somebody says they have a computer science degree and they don't know math, I would doubt their degree.
- 00067349 8y agowhy is it not working
- madhadron 8y agoI would be interested to see someone post their experiences after working through at least half of the book. I am completely outside the target audience, and it would be really useful to know what works to teach mathematics to programmers and what doesn't.
- gUMBIT 8y agoHow/why is this at +800 and on the front page a day later? It's literally just a link to a couple paragraphs long advertisement. Actual useful books published online for free rarely get 1/3rd this attention. Paid upvotes or what?
- dhodges 8y agoLong-time programmer without a CS degree here. I've studied polynomial factoring, adding, subtracting, graphing them, etc. Sites like Khan Academy break things down in little bits but the underlying theory seldom emerges. But after working through the preview pages of this book I feel like I finally have a feel for some of the underlying theory ideas behind polynomials. This really emerged during the proofs section. The bits of code and analogies to programming really help. It was like a lightbulb going off in my brain. As a result I have ordered the book from Amazon and can't wait for it to arrive. Thank you for this book.
- holmberd 8y agoEbook a tad too expensive for me.
- Nasuno 8y agoA section on quaternions would be nice.