I’m launching an email list for my book-in-progress, which is tentatively titled, “A Programmer’s Introduction to Mathematics.”
This will probably end up being a monthly or once-every-two-months newsletter with my progress updates. I’ll probably also use this email list to send out sneak peeks of certain chapters and ask for feedback. A lot about the book is still up in the air, but now that the excitement of my PhD defense has passed, I can focus deeply on the book.
A short description of the intended audience (from the comments on this post)
My target audience is a programmer who has gotten through the standard CS education, but never felt they deeply understood math. Think of it as a step up from Kalid’s Better Explained blog (I won’t explain the basics of exponents or trigonometry), but a big step below the hard posts on this blog. I’ll emphasize connections and analogies between math and programming. Think of it as a coherent, linear version of the introductory posts on this blog with cool and nontrivial applications. I will also focus on building the skills and mindset that allows one to pick up other math books and continue learning.
More than anything, I want to keep this blog free of too much non-math, so this will be my last plug for the book until the day it’s released.
I gladly subscribed, but I wonder: what background will be book presume? (i.e. will it start from basics, or from some intermediate level?) Looking forward to it anyway!
My target audience is a programmer who has gotten through the standard CS education, but never felt they deeply understood math. Think of it as a step up from Kalid’s Better Explained blog (I won’t explain the basics of exponents or trigonometry). Alternatively, think of it as a coherent, linear version of the introductory posts on this blog with cool and nontrivial applications. I will also focus on building the skills and mindset that allows one to pick up other math books and continue learning.
Sounds good, thanks!
The biggest problem are people that think math is different than programming. I can’t say CS educations are highly rated. They aren’t even mastering Pong these day. Most programmers don’t even understand Boyer-Moore. Actually many of the internet sources I’ve seen don’t even properly present Boyer-Moore. All CS people do is learn to sort numbers. Forget about graphics, numerical methods, constraint programming, finite element method, machine learning (applied statistics) or distributed algorithms. They can barely bubble sort! They’re not the kind of people to master gauge theories or Clifford algebra.
I read this a while back: “By failing to provide practical programming classes, Yale is contributing to New Haven’s economic irrelevance. When startups can’t find people with even basic coding skills, they leave New Haven for the greener pastures of Boston and Silicon Valley. As former president of the Yale Entrepreneurial Society, I saw countless Yale student startups sputter and die without because they couldn’t find a technically proficient co-founder. Less than 10 percent of ventures had founders that could actually build a product.”
Most CS majors don’t even take Calc III! It’s such an embarrassing major that is obsessed with automata theory and pointless and inferior languages. Then someone comes along with a Julia and shows they can’t even do languages well. There is a reason that Alan Kay and Co. created the Squeak development environment in a 1.6 MB executable and Visual Studio is 30GB. Windows is getting over 100 million SLOC! They’re poorly-trained hacks even from brand name universities.
Intel 4004 0.092 MIPS at 740 kHz
Intel Pentium 188 MIPS at 100 MHz
Pentium 4 EE 9,726 MIPS at 3.2 GHz
Intel Core i7 5960X 255,260 MIPS at 4.12 GHz
GTX Titan X 6.14 TFLOP/s
Tianhe-2 Supercomputer 33,862.7 TFLOP/s (54,902.4 TFLOP/s Theoretical)
It just gets slower. I have the numbers to prove it.
It sounds to me more like a difference of priorities. I don’t think math majors have it any better, cf. https://medium.com/@jeremyjkun/the-competing-incentives-of-academic-research-in-mathematics-6d7b9436d46b#.rnfhhyaqr
I would like a little of topology to appear in your book using discrete models and graph theory. For example R. Stanley about combinatorics and polytopes, problems with worst case complexity equal to mean complexity, lower bounds for circuit complexity, perfect graphs, applications of NP complete problems, expanders graphs (Avi Widgerson), Richard Stanley, Lovasz, Noga Alon (the book), random graphs and many more.
I think that is too advanced for what I have in mind for this book. Those are all close to active research topics.
Just to give an example of the topics I would like to see here is a document about evasiveness and topology: http://www-personal.umich.edu/~carlmi/Evasiveness.pdf
Another suggestion, topics along the lines of Programming Collective Intelligence by Toby Segaran, now using the more mature python ecosystem (numpy, pandas, jupyter, scikit-learn) and some machine learning labs like ISLR labs. (Introduction to Statistical Learning with R). People looking for jobs are more interested in how to construct a good reputation and how to succeed in an interview, how to manage a project, how to make simple things easy (a presentation by the creator of Clojure).
There are two kind of people for your book, the math people that love programming and the programming people that are trying to capture what is beautiful and practical about math. You should decide what is the initial point for your book math => programming or programming -> math. I don’t know if the middle point is interesting for both type of people.
Another suggestion could be to introduce some math – programming problems in your blog and give some reputation prize to people (like a post of Steve Yegge about how to get users by gamming or similar).
I apologize if the other suggestions were too advanced for ann introductory book (perhaps I was more about showing up my deep knowledge of math )).
Good luck with your book, would I have a lot of money I would buy a lot of interesting and inspiring books.
I don’t know if a little of category theory with a little of haskell would another interesting subject. Programming people are now looking at erlang because elixir is like ruby and allow a better notation (not like prolog).
Another interesting post is The Mathematical Hacker by Evan Miller
It would be interessting showing at HN a cluster of your viewers/readers and developing your book following the steppest ascent subject.
Hi! I am Valerio, i am a teoretica physicist, now working on big data. I am enjoing reading your site, interested in a possible collaboration. Further I suggest aspetto topic for your book and site Topological Data Analysis.
Hey any update on the progress Jeremy? 🙂
Current page count is 180…
Awesome news! I subscribed to your mailing list for periodic chapters as you had planned originally. Did you scrap this idea finally cause I never received anything…..:(
I’m working on a review plan once I finish another chapter or two