How I study Computer Science (Learning how to Learn) - Part 1 (What is Learning?)

2023-11-29--- views
How I study Computer Science (Learning how to Learn) - Part 1 (What is Learning?)

What advice would you give to a Computer Science major student that you wish you were given when you started learning Computer Science?

What is Learning?

Focused vs Diffused mode

Focused mode helps you think about things you are somewhat familiar with. Focused thinking is dependent on established neural pathways and existing thought patterns

Diffuse thinking allows the subconscious to make unexpected connections between disparate ideas. Diffuse thinking, as it turns out, is representative of the brain's many neural resting states. We all access this mode quite naturally when we do things like go for a walk or take a shower or even just drift off to sleep.

When we find ourselves stuck on a problem, let things settle back and take a bit more time - more neural processing can take place, often below conscious awareness in the diffuse mode. to build the new neural structures that allow us to learn something new

We use a pinball analogy to compare the two modes. Analogies are also a great way to use diffused mode to better understand a concept by using something else to convey an idea.



It often takes time for neural processing to take place, and time, as well, to build the new neural structures that allow us to learn something new. This is why tackling procrastination is so very important.

The easiest way to tackle procrastination is to use the Pomodoro technique - 25 minute stretch of focuses concentration followed by a bit of mental relaxation.

My favorite way to apply the Pomodoro technique is with the Forest app by Seekrtech. It lets you earn coins through locking your device for a selected amount of time. Every session gifts you trees to plant on a digital forest, and you can use the coins to buy new trees. You can even plant real life trees for every 1000 coins (but the app only lets you plant 5 of them, as of now). Here is a picture of my forest for September 2023:



It's through practice and repetition that we can help enhance and strengthen the neural structures we're building as we're learning something new. Practice and repetition is particularly important for more abstract topics.

  • There are four slots in our working memory. Things can fall out of those slots unless we keep repeating them to hold them in mind. In that sense working memory is like a not very good blackboard.

  • Long term memory, on the other hand, is like a storage warehouse. If you practiced and repeated something well enough to get it into long-term memory, you can usually call it up later if you need, although you may need an occasional bit of repetition to freshen the memory up.

It's never a good idea to cram your learning by repeating things many times all in one day. Because that's like trying to build muscle by lifting weights all in one day there's no time for solid structures to grow.



Sleep is important for washing away the toxins that develop during our days activities.

  • Avoid taking tests or doing anything difficult with little sleep the night before
  • Trying to think with poison on the brain



Exercise is surprisingly valuable in helping both improve our memory and our ability to learn. It can also activate the diffused mode after being stuck on a problem.


How I can apply my findings to learning Computer Science?

Before every work day, I write down a to-do list of at least 3 items, and at most 6. Each item is assigned an estimated number of pomodoros it'll take to complete, based on previous experience. Otherwise, the default asignmment is 4 "poms".

My challenge with applying the Pomodoro Technique is I don't actually take a break between pomodoros. To quote Barbara Oakley:

The problem is that activities which encourage diffuse thinking can make us feel lazy and guilty. Instead, we often opt for mediocre substitutes, like social media, which give our mind a break without really allowing for true mind-wandering.

Therefore, I will commit to the breaks by wandering around, getting water, or with breathing exercises. The breaks should be treated as part of the productive process, not the opposite. In return, I am constantly engaging my diffused mode thinking before returning to problem solving.

I also start tasks later than I should (somewhere during the middle of the given duration, or even days or hours before the deadline). The best way to prevent this is immediately start after given a task. If not possible, I should just think about what I would do and let it be the first thing I do whenever available.

Given a sceneration, I'd be tasked on a research topic before commuting home. I'll immediately start finding a literature survey on a topic, or find recent papers on it. After coming home, I'll note down the dataset, algorithms and preprocessing used on a Google Sheet. Later that night, I can continue a different time-sensitive task, but the research task is already ongoing and I don't have to deal with workload paralysis.

As a Computer Science student, I don't rely on memory on recall as much as analytical skills. Just like Mathematics, the skills are ingrained the more you do it, and the definitions and theorems just make sense to reiterate in your own words. Until I started taking Theory of Computation and Design & Analysis of Algorithms, I realize maybe proofs do need to be memorized. I realized that the fastest way to learn maths is that you don't waste time until you "understand", you get used to it.

Getting used to classical problems such as applying Network Flow into Bipartite Graph Matching comes in clutch, when applying to variations such as constraints and assignment problems. Same goes for proving decidability and getting used to the Halting problem and its variations.


I only started sleeping enough a week before my Theory of Computation exam, and it was the first time in a while since I felt mental clarity. I didn't realize I couldn't hear my own thoughts until 4 days after I slept more than 7 hours. I also incorporated power naps (drinking caffeine before a 20-minute nap).

Back in Vietnam, I try incorporating exercise by walking between home and university. After coming to Singapore, I practically walk everywhere since there's only public transportation. My current pace is fine, but I think I should try working out or try rock climbing out of a friend's recommendation.

Final note

This is the first out of 4 parts, each comes out a day apart. Please remind me to stick to my own advices here. Thank you so much for reading!