Learning

Learning is the process of acquiring new understanding, knowledge, behaviors, skills, values, attitudes, and preferences. The ability to learn is possessed by humans, animals, and some machines; there is also evidence for some kind of learning in certain plants. Some learning is immediate, induced by a single event (e.g. being burned by a hot stove), but much skill and knowledge accumulate from repeated experiences. The changes induced by learning often last a lifetime, and it is hard to distinguish learned material that seems to be “lost” from that which cannot be retrieved.
— Wikipedia

Learning is the process, so don’t need too much worry about how much time you need to learn something or how much time you already spend. Need just focus on process.

There are tons of learning resources aviable, but you need to chose what to learn you are interested in and what is the most important for you.

Learning is very tightly connected with practice and repetition, so after you learn something the best method to consolidate your knowledge is to practice it and test yourself. Personally I implement my projects and working projects to strengthen my studies.

The only way to learn a new programming language is by writing programs in it.
— Kernighan and Ritchie-The C programming language

Repeat the tutorial from memory, notes can help. Experiment, do something new, based on tutorials. Make something dirty but get experience.

My learning path

This is my important place in choosing what to learn for my work goals and my projects required skills.

Since I’m use Zettelkasten, I can create new notes based on education materials and extend them with different sources, my experience, etc.

My current focus is on following things, order is not important. All with help of spaced repetition, SQ3R method, Zettelkasten, study techniques, etc.

I need spent at least 2 hours per day for learning, it’s not so much, but it’s enough to learn something new. My actual current learning list is aviable with t project:learn command (Taskwarrior).

The Feynman Technique: Master the Art of Learning

Some of concepts of Feynman Learning technique.

Also very motivational video about same topic (check part 6 on 55:00):

Local copy

Complexity and jargon often mask a lack of understanding.

Anyone can make a subject complicated but only someone who understands can make it simple.

Simple is beautiful.

Feynman’s learning technique comprises four key steps:

  1. Select a concept to learn.
  2. Teach it to a child.
  3. Review and refine your understanding.
  4. Organize your notes and revisit them regularly.

General ideas: understanding the true essence of a concept rather than merely knowing its name. This learning technique can be applied universally, irrespective of the subject.

  • Step 1: Select a concept to learn. What topic are you curious about? Take out a blank sheet of paper. Write out everything you already know about the subject you want to understand deeper. As you learn more about the topic, add it to your sheet. If you use a different color pen as you learn new things, you can literally watch your knowledge grow. Once you think you understand the topic well enough, move on to step 2.

  • Step 2: Teach it to a child. Can you explain your chosen concept to a 12-year-old? Test your understanding by simplifying your notes. Banish jargon and complexity, using only words a child would comprehend. Simplicity reveals a depth of understanding, while jargon often conceals ignorance.

  • Step 3: Review and Refine. Write down your simplified explanation. The act of writing aids reflection and learning. In fact, reflection is the most important part of the learning process. Reflection is how we learn what we know and what we need to learn. Clear writing gives poor thinking nowhere to hide. Ensure your notes are free of any jargon or something that sounds confusing. If something sounds confusing, it needs more refinement. Read it out loud as if to a child. If the explanation isn’t simple enough or sounds confusing, that’s a good indication that you need to reflect and refine. Go back to the source material, reviewing the parts you don’t quite understand yet. Repeat until you have a simple explanation.

  • Step 4: Organize and Review. To test your understanding in the real world, present your explanation to someone else. How effective was your explanation? What questions did they ask? What parts did they get confused about? When you’re happy with your understanding, take the page you created with a simple explanation and put it into a binder. Following this technique for everything you learn gives you a binder full of learning that you can review a couple of times a year.

Simplicity is the hallmark of true understanding. Challenge others who use jargon to explain concepts in simple terms, and their reactions may reveal their comprehension (or lack thereof).

Fundamentals of science and computer science

Science is source of knowledge and predictions about the world, and I want to learn it better. My main focus is on fundamental sciences and especially computer science. I’ll describe my learning paths for each field in this section.

How I learn computer science. Computer science help me to understand my profession (software engineer) better and break my barriers in software development.

How I learn mathematics. Mathematics is a “clean” fundamental science, and part of many others, and I want to learn it better, at least on some beginner/medium level.

How I learn physics and chemistry. physics and chemistry go after mathematics in my learning priority. I want to understand world better, and this fields can help me with it.

Linguistics, my primary focus is Russian and English languages. English is great to reveal huge part of world, new knowledge and opportunities, I’m native Russian speaker, currently I spent more time to learn English. How I learn English.

Knowing history is improving your understanding of current world events and help to avoid mistakes from past.

Programming and software development

Programming and software development are very deeply linked with science, and computer science in particular. It’s a little bit different from science/computer science, because it’s more practical and applied, but in fact it uses all from them. This is also my current work and main source of projects.

How I learn programming and software development. This is place where I store programming applied learning materials, related outline notes (like frontend/backend) and some management stuff.

My editing workflow, including code, is heavily related to Neovim, but it can be replicated in some advanced code editor (like Pycharm), check these notes for more information. I also keep collecting various useful information, which can be related to various software, like keyboard shortcut, Blender, Krita, GNU Utilities, Linux, NixOS, etc.

How I learn computer graphics. Computer graphics impress me, and I want to learn more about it. It’s a great way to express my thoughts in easy to understand form.

My awesome software list is subset of endlessly large software list, which I use for my work and personal life. In fact this is sort of my tools list.

Productivity

My productivity workflow is about how I manage my time, tasks, etc. It’s very useful to learn how to manage your time and tasks better.

Art

Art is a great way to express my thoughts in easy to understand form. Art for me is also deeply integrated into computer graphics, because it provides many opportunities to create something beautiful. Here is my art learning path.

I organize all my art related stuff in my art note.

For literature is great solution to fun and relax. I collect my reading list and favorite books in my fiction books note.