Math ∩ Programming
It seems there are a lot of gaps in his primers -- he includes topology and some intro to Python, but the actual heart of programming -- algorithms and algorithm techniques -- is mostly missing.<p>This is of course his right -- it's just a collection of blog posts after all -- but caveat lector.<p>I would probably go for textbooks instead. Textbooks usually do give a bigger picture in the topics mentioned and they usually have an acceptable learning curve, so no additional primer is required (though as always, googling additional info is a plus).<p>If you're learning CS, it's often super useful to mix and match two or three textbooks to get a nice picture of things. For example, when you're reading an Algorithms book about graph traversal, it's nice to read a book on graph theory as well. Conversely, several equalities in graph theory can be proven by a simple algorithm (greedy or DFS, for instance).<p>My personal favourite is mixing up Dynamic Programming (from an Algorithms textbook) with recurrence solving in a discrete math book (which is what DP is actually about) and mixing all that with a more advanced chapter of discrete math -- generating functions.