Lately, I have been trying different auto-didactic methods for learning new concepts and I have come to the realization that books are probably the most reliable and rigorous medium in terms of learning, especially self-learning. Although there are other modes of learning like online videos, interactive moocs, etc, but books provide a distinct advantage in terms of comprehension and depth that other mediums fail to. For eg. with online lectures things can spiral out of your zone of competence even with just a small amount of attention lapse, leaving your brain in the ever exhausting catch-up games. And if the lecture is too dry (i.e., lacking any engagement factor), it can get even more tedious taking a toll on your will powerKurzban et al., have said shown that will power is an exhaustible resource, pushing which can lead to complete burnout. Also See: Baumeister & Tierney (2011). So I thought I will log things that are working for me in terms of helping me with persisting with the material.
Note: "How to read a book" by Mortim Adler had a big impact on me with respect to tinkering and trying with various methods.So what you read below might come across as a variant of Adler's advice on reading, but to be honest, there are just too many interesting things that Adler covers for any one of us to even seem unique in our approach. So judge accordingly.
- Multipass Reading
- Tips to complement Multipass Reading
- Cycling over completion
- The anthology route
- Publish or publish
- Pass 1:
[Duration: 1/2 Hour, Stage: Skimming]
Thoroughly examine the table of content. Skim through the chapters that seem familiar to you and get accustomed to the structure. Take note of all the Jargons
- Pass 2:
[Duration: 2 Hour, Stage: Mapping]
Read just the prose, take note of the familiar ideas and double down on the connection between the newly learned broad ideas and the familiar ones.
- Pass 3:
[Duration: 3 Hour, Stage: Re-mapping]
Study the theorems, proofs, code etc. Take note of the unknown ideas and jargons; and double down on the connection between the unknown and the known
- Pass 4:
[Duration: 2-3 Hours, Stage: Internalizing]
Solve the problems, excercises, etc. Tie all the concepts together
I have been studying Category Theory and Algebraic Geometry for quite sometime now and I find it easier to navigate the books when I am doing multiple passes instead of a single pass with focus on each topic. One reason is the completion rate, that is, with multipass reading you get to skim through the entire book at least once which allows you to keep the motivation alive, whereas with one-pass if you are dejected at any given point due to the book's sheer size or the complexity of the content, the chances of you ever picking up and studying it to completion becomes pretty much zero. Also the other advantage is the multipass reading works more like a neural net training mechanism i.e., with multiple epochs comes better clarity.
Tips to complement Multipass Reading
The Big Book Problem
Initially use big books only as references. Pick books and resources that allow you to digest information in an engaging way, without tiring or unnaturally stretching your attention span. Attention is a contextual commodity, it grows on its own as you gain proficiency. Once you feel even a little bit confident about the topic jump to big books.
Multiple books(resources) on a single topic works very well. For eg. Being a C++ dev, learning category theory from Bartosz’s posts helps, but using Lawvere & Schanuel, Awodey, Seven Sketches, Joy of Cats, nLab just make it so much easier when going back to Bartosz’s posts.
The advantage is this also helps with Multipass reading i.e., you can pace yourself easily and if you are bored or frustrated with the material you can always switch sources and come back to it later.
Or as Nassim Taleb says:
"Be bored with a book, not with the act of reading"
—Nassim Nicholas Taleb, Antifragile
Cycling over completion
Don’t try to forcibly complete a chapter before going on to the next one, especially if it is a large technical book. It helps with the motivation & also sometimes going forward and getting a vague idea of the advanced abstract concepts can make earlier chapters easier to grasp.
Sometimes it can get difficult when you are not making progress or the content is too intimidating, but most people chose to stay put and eventually lose all the motivation instead of de-congesting the traffic-jam. When you go to the more advanced portions of the book it might seem difficult, but even having a very vague idea of a more advanced concept can really help with the "click" when you go back to the chapter in which you were stuck.
The anthology route
Yes, go become a historian of computer science and dig through its history, you will learn more as an amateur historian digging through the rusty old papers than as a computer science undergrad.
I do not know if this needs any futher explanation, but for what it is worth, the benefit is you have a temporal consistency that helps you mature along with the material. I have seen this help me so much with my research and understanding in it allows you form a mental model without the need for solving assignments, that is, if you read all of leibniz's work in its chronological order, you will realize that there is this wavelength that you strike with him in that you stumble upon calculus just about in the same fashion that he did. Thus allowing you to have a more naturalistic understanding of the ideas and the concepts without going through the unpleasant route of having to solve some made up problems that is forced upon you by the author of a calculus textbook…
Publish or publish
I can't insist more on the benefits of sharing your work with others in a structured manner. Write a blog post or a tweet storm about monads if that's your thing, but do it. Helps as a feed-forward loop, which in turn helps with the motivation to study more and dig deeper.
Note: Will keep updating this post as I go about studying some advanced concepts in Algebraic Geometry.
 Descartes on the matter: