Establishing a personal learning framework — Questions to ask yourself

Developing a personal, systemic approach towards learning is crucial — it’s the EXP percent booster in RPG games. If you are level 1 in a RPG, would you rather enchant your armor with a permanent EXP percent booster or gain a one time dose of EXP?

Though I am a consistent and curious learner, I never established a good routine — my focus is guided by my interest in the spur of the week. So, in the past month, I started thinking through how to establish a better learning framework for myself. And the first step I took was to dig into, currently, 1) how I learn and 2) where do I learn from. I conduct this through pairs of Q&A (these questions you can also ask yourself):

Q: What are some topics you know nothing about; what are some topics (outside of your specialty) that you know a lot about? Identify the topics you know nothing about that you wish to know something about.

A: I am unknowledgeable but wish to learn more about Business, Behavioral Biology and Economics, and Music. I don’t know much about the fields outside of my major (Computer Science).

Q: What is your feed composed of?

A: RSS reader (on arxiv, hackernews, and a few tech blogs); Youtube subscriptions (on a few music and tech channels); Email newsletters (DeepLearning.AI Blog, NY Times).

I don’t use my RSS reader enough (I often visit hackernews directly), and I don’t read the NY Times newsletters.

Q: What medias do you usually learn from? A: Textbooks for breadth and research papers for depth.

Q: What hours of your day are spent on learning new things? A: I spend about 4 hours a day towards things outside my uni curriculum. 2 of those hours are usually non-CS, 2 of those are still CS. During the weekend, I spend about 6-8 hours on things outside of uni.

Now, onto some counterfactuals — Q: Think about the recent times you made sense of a concept, what did it take? How could you have optimized your search path to achieve the fastest understanding time?

Speaking of counterfactuals, one recent concept I made sense of is causal inferencing. Here was my workflow to getting a good grasp of it.

  1. I jumped into downloading Judea Pearl’s textbook on causal inferencing. I read the intro:

Q: Think about your last critical career point, what information could you have ingested more in order to get to a better spot? Now think about your next critical career point.

And, finally — Q: What can you do better now?

The evil of depth-first curiosity is that I can never check an item off my reading list. Last week, I read Hutton’s paper It’s easy as 1, 2, 3, I understood the denotational and small-step semantics sections in the paper perfectly (since it was with a toy expression language). But, Hutton listed further readings immediately after each section — and I almost impulsively downloaded the denotational semantics textbook he recommended. I knew that if I go down that route, I start growing up a stack that I will finally empty months later. As humans, we accumulate more stress with this depth-first model of learning.

So, new rule: Finish what’s on the plate first before fetching more food. Exception: I lack the presumed background necessary to understand the current material. In that case, if the material is for personal-studies — erase the current reading from my todo-list and replace it with the background reading. If the material is for school or research, unfortunately, I must pile on.

I realized — if I can understand a chapter perfectly and be able to recite the examples — It’s best to stop diving further. Instead, just note the further readings and exercises possible, and return at a later time. I got less and less motivated in the PLP book because I spent significant time in the early chapters. I was building scanners and parsers that weren’t even asked of in the exercises, but that deviated from my original goal, which was to just learn the higher level details of PLs.

I usually don’t recur into my search trees. In other words, if I’m reading a new wikipedia entry and I come across another term unbeknownst to me, I probably won’t try and go understand it. However, I do go depth-first-search on things I’m deeply fascinated by. Recently, I got to reading lazy evaluation papers through this flow: Programming Language Pragmatics Textbook Ch. Parser | Ok, I can write a parser in python, but I wonder if Haskell can do this elegantly -> Parsec's source code | I don’t really understand anything, let me go read its paper -> Parsec's paper | It mentions it’s an improvement upon Hutton’s work, so I gotta go read its related works -> Hutton's Monadic Parser Paper | I learned a lot, but I didn’t understand how the force combinator worked, so I gotta go read the lazy evaluation paper.

Another thing I’ve been thinking about is longevitiy.

3) I love but don’t form enough cross-discipline associations — but, when the dots across quadrants connect, they lead to beautiful stories. And stories, is what people are moved by and respond to. Most people are trained to argue. In American, we hold debates from school clubs and classrooms, but also on the big stages (Lincoln-Douglas). But even Lincoln, the great debater himself, won an unfavorable election not because of his logic, but because of his ability to disarm people with stories. Americans watched Zelensky’s Congress speech not because he is the president of a nation under attack, but because he himself stood in the front lines, because of the story of courage. 4) I’m good at finding the right resources for a new topic, but I often have too many items on my plate (I frequently between search trees, and worse, I don’t keep track of my active search trees).

In addition to my learning behaviours, it is equally important to lay out where do I source my learning materials from: 1) Textbook for CS (Computer Science) broad topic 2) Research papers on wikipedia entries on smaller CS topics. 3) Non-fiction book for non-CS broad topics (e.g., I am currently reading Projections: A story of human emotions for understanding neuroscience more).

Ok, now I analyze my learning behaviors and materials, before coming up with a personal learning framework.

Designing personal learning path

Highlight webpage, and review it when I finish the day or finish reading the webpage.