In my opinion, this actually may be the best time in human history to learn math, or just about anything for that matter. If you are of sufficient means to have access to the internet, which unfortunately not all people are, you have access to an unprecedented amount of information. The problem is the overwhelming amount of information that is out there and how to find it. So I wanted to share some of my tricks to finding good math information, which I call "Math Mining", of course these can be used for any academic information, so maybe "Academic Mining" may be more apropos.
One of the reasons that the present time is a good time to learn math is due to the diversity of sources for information, Wikipedia is one of those sources, Wiki Surfing, as has been previously discussed, but that is just the tip of the math iceberg and the really cool thing is that there are many resources that can give you entirely new and fresh perspectives on things that may sometimes seem dull and obfuscated by more traditional approaches found in books, not that there aren't a lot of great books too. It really is an exciting time.
Many professors have their publications, notes and course resources freely available on the internet and some of these include full books in pdf or ps or html format. In fact that leads me to my little google trick, let's assume you want to find some information about a math subject, we'll use Linear Algebra as an example. Then if you use the Google search:
"Linear Algebra" inurl:pdf
You will get a lot of hits that are academic pages, these will be a mix of publications and course related material. Once you find a document, you can use that url to find more information. For example let's say that our above search leads us to the following (fictitious) url:
After you click the link and get your reward, you should realize that this is a potential gateway to much more information. Now admittedly this might be seen as a moral gray area, because sometimes I get the feeling that some of these resources are not as openly exposed as they could be so it may be that the instructors do not want to openly share their work and they are practicing security through obscurity, but in my opinion if directory browsing is enabled and/or your documents are indexed by Google, then they're fair game, so if you are someone who this applies to, I suggest that you either share it openly it or lock it down. I encourage anyone who is sharing their work to do it freely and openly regardless of whether people are taking your classes. After all it's for the greater good. "The greater good." And if you openly share it then people like me can read it, learn it, know it and talk about how awesome you and your work are. It's a win-win.
Hack the Site
Hack #1 Url Suffix Removal
By removing "chapter10.pdf" yieldingwill expose more resources if this directory has browsing enabled or if it has a default page. You can progressively remove directories to find one that is useful, and actually sometimes it is worth it to jump directly to which will often be a professor home page which can yield links to publications, course pages with documents, and other potentially interesting information.
Hack #2 File Name Enumeration
So you looked at chapter10.pdf and it's awesome but Hack #1 did not yield it or the related chapters. Due to the naming convention try:or , often this approach will yield other related documents.
Hack #3 Invoke the Power of Google
Let's say the hack #1 didn't work and the resultant url had a random characteristic like:
The following Google search will ferret out those pesky hard to find pdf's:
Also you can use .ps and .ps.gz in place of .pdf for file type searches. If you feel that this is crossing some kind of moral line then don't do it, but I like to say all is fair in Love and Math.
I would like to give another example of this technique, I recently came across "Mapreduce & Hadoop Algorithms in Academic Papers (4th update - May 2011)" which linked to "Max-cover algorithm in map-reduce" which caught my interest, and of course the ACM is charging for it, but no worries, there is usually no need to pay them, actually I recommend boycotting them. I employed the above tricks but they didn't work, simply Googling one of the authors did (always pick the most unique name(s)):
In regards to academic publications there are two excellent repositories with a wealth of information these are Citeseer out of Penn State, this site can be a little flaky in terms of availability, at least that's been my experience in the past and the other is arXiv run by Cornell University. These mostly contain research oriented work but you can often find relevant information even for neophytes, actually a lot of advanced papers and books for that matter start out with introductory sections that can be worth looking at.
Encyclopedic and other Miscellaneous Resources
There are a number of blogs that blog about both math and programming related math. Actually if your primary interest is machine learning, I recommend Bradford Cross's Measuring Measures blog, it is hard to find things on his site and it was recently restyled with a magenta/maroon background which I now find a little bit harder to read. The relevant links here are: Learning About Network Theory, Learning About Statistical Learning, and Learning About Machine Learning, 2nd ed. Additionally Ravi Mohan did a follow-up: Learning about Machine Learning.
Good Math Bad Math by Mark Chu-Carroll has lots of good articles about math including some for beginners in various areas. Catonmat by Peteris Krumins has some nice entries with notes about the online MIT courses that he has worked through which currently covers Algorithms and Linear Algebra also mentioned above. The Unapologetic Mathematician has a lot of nice articles, this is a bit more advanced though. Math-Blog has a lot of articles as well. They tend to focus on more traditional areas of math. Math blog's abound and there are too many to mention, here's a few:
- The n-Category Café
- Michi's blog
- A Neighborhood of Infinity
- XOR's Hammer
- Gödel's Lost Letter and P=NP
- Terrance Tao's Blog
- Steven Strogatz
- Devlin's Angle by Keith Devlin
- The programming/CS Theoretical Lambda The Ultimate
The well known Khan Academy offers a number of courses including several math courses.
On Stanford Engineering Everywhere the following might be of interest:
The Mechanical Universe is primarily dedicated to physics, but several math topics such as Calculus and Vectors are covered explicitly. It's also a nice series of lectures on the topic in spite of being a little dated in productions values.
Other Online Videos
Two math documentaries are covered here are Fermat’s Enigma: The Epic Quest to Solve the World’s Greatest Mathematical Problem and the overly dramatic but still interesting Dangerous Knowledge.
The story of Maths by Marcus du Sautoy.
Keith Devlin talks about Pascal and Fermat's coorespondance while working out probability in this intersting talk: Authors@Google: Keith Devlin.
The Catsters videos on youtube cover various Category Theory related topics.
N J Wildberger's Algebraic Topology
Dan Spielman has a video discussing Expander Graphs.
- Basics of probability and statistics by Mikaela Keller.
- Probability, Information Theory and Bayesian Inference by Joaquin Quiñonero Candela.
- Introduction To Bayesian Inference by Christopher Bishop
- Information Theory by David MacKay
- Gaussian Process Basics by David MacKay,
- Statistical Learning Theory by John Shawe-Taylor
- Bayesian Learning by Zoubin Ghahramani.
If you find these videos too slow this might interest you.
There are many math related software packages and libraries three of which are covered in more detail here.
Math library Sage written in Python
Various Books and Academic Stuff
Here are a bunch of interesting courses and books that I have encountered during my searching which you might find interesting as well. These are presented in no particular order:
Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani.
Steven Skiena author of the The Algorithm Design Manual offers some pretty comprehensive course notes for his cse541 LOGIC for COMPUTER SCIENCE not to mention the opportunity to learn how to bet on Jai-alai in the Cayman Islands.
The Haskell Road to Logic, Math and Programming by Kees Doets and Jan van Eijck
Analysis WebNotes is a self-contained course in Mathematical Analysis for undergraduates or beginning graduate students.
Applied Analysis by John Hunter and Bruno Nachtergaele.
Introduction to Probability Theory by Ali Ghodsi.
Introduction to Probability by Charles M. Grinstead.
Think Stats: Probability and Statistics for Programmers by Allen B. Downey.
Principles of Uncertainty by by Chapman and Hall.
Information Theory, Inference, and Learning Algorithms by David MacKay.
Machine Learning/Date Mining
Machine Learning Module ML(M) by M. A .Girolami.
The Elements of Statistical Learning: Data Mining, Inference, and Prediction (Second Edition) by Trevor Hastie, Robert Tibshirani and Jerome Friedman.
Introduction to Information Retrieval by Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze.
Abstract Algebra by Thomas W. Judson.
Elements of Abstract and Linear Algebra Edwin H. Connell.
Linear Algebra by Robert A. Beezer.
Really cool interactive tutorial on Singular Value Decomposition by Todd Will.
Introduction to Logic by Michal Walicki.
Logic for Computer Science: Foundations of Automatic Theorem Proving by Jean Gallier.
The Novel Research Institute has a number of free academic books including: Logic and Metalogic:Logic, Metalogic, Fuzzy and Quantum Logics and Algebraic Topology, Category Theory and Higher Dimensional Algebra-Results and Applications to Quantum Physics
Abstract and Concrete Categories The Joy of Cats by Jiri Adámek, Horst Herrlich, George E. Strecker.
A gentle introduction to category theory --- the calculational approach pdf by Maarten M. Fokkinga.
Algebraic Topology/Topos Theory
A free, protected, password available by request, e-book on topology: Topology without Tears by Sidney A. Morris.
Spectral Graph Theory
Fan Chung Graham has a lot interesting stuff, some pretty advanced, relating to graph theory including social graph theory and spectral graph theory.
A course in game theory by Martin J. Osborne and Ariel Rubinstein, requires registration.
Pat Hanrahan's CS448B: Visualization.
It's all a click away
The links in this entry, especially the academic links are susceptible to link rot, people move from institution to institution or leave academia for jobs in the private sector. I will endeavor to revisit this entry and try to keep these up to date and perhaps even add to them, however, if you encounter this page and have any interest in any or all of these resources I recommend downloading them now so that you have them.
Using the resources of this blog you should be able to get your hands on a huge amount of free resources on a wide range of topics. This can be helpful if you are on a budget or just want to try before you buy an expensive book on a topic. I hope you avail yourself of some of these, there's lots of great stuff and if you know of some that I do not please add them in the comments.