DEV Community

Cover image for How to understand complex coding concepts better using the Feynman Technique
Cess
Cess

Posted on • Originally published at cesscode.hashnode.dev

How to understand complex coding concepts better using the Feynman Technique

There are other learning techniques available, but this is one of my favorites. The Feynman approach is an excellent way to gain a deeper understanding of a complex topic. It's one of the quickest ways to turn a complex topic into one that you can explain in simple terms to others.

This article will teach you how to break complex coding concepts into the simplest terms.

let's get started ๐Ÿ’ƒ

The Feynman Technique Of Learning

Richard Feynman, a Nobel Prize-winning physicist, created the Feynman method for learning. He enjoyed explaining complex topics in simpler terms. In Feynman's view, the best way to study an idea was to ask hard questions and fully understand it.

For more information about Richard Feynman, see this article.

"If you want to learn something, read about it. If you want to understand something, write about it. If you want to master something, teach it." - Yogi Bhajan.

Feynman's technique, in a nutshell, is you can't explain something well if you do not know it well yourself. When you try to explain what you know to someone who doesn't know anything about it, you'll notice your flaws. The goal is to communicate what you've learned in a simple way that a child can understand.

What are the benefits of using the Feynman technique?

Here are a few of the benefits of using Feynman's learning techniques:

  • It helps in gaining a thorough understanding of what you're learning. If you're having trouble understanding Javascript loops, try this learning method.

  • Learn new Ideas: It allows you to learn new things fast, recall what you have learned, and be more productive.

  • It helps you become a better teacher. You get better at teaching when you keep sharing your knowledge with others.

  • It improves your critical thinking ability. You will be able to reason in an organized manner to explain complex stuff in simpler terms.

The four steps of the Feynman technique

The Feynman Technique consists of four significant steps:

  • Choose a topic you want to learn about.
  • Explain it to a 12-year-old.
  • Review Your Explanation.
  • Simplify.

Step 1 - Choose a topic you want to learn about

First, you should come up with a subject or topic you would like to learn and then write it at the top of a piece of paper.

For example, if you want to study javascript loops, write it as a heading on a blank piece of paper. As you keep learning about javascript loops, write whatever you know on that piece of paper. Write it so that someone who knows nothing about javascript loops will understand it.

Before moving on to step 2, do more research on Javascript loops or take a practice test to see how good you are.

Check out this article for resources to help you practice web development.

Once you have a firm understanding of the topic (Javascript loops), proceed to step 2.

P.S. Paper can be anything you use for writing, such as your phone's notebook app to any other app you use every day.

Step 2 - Explain it to a 12-year-old

Now that you have a clear understanding of Javascript loops, it's time to explain it to a 12-year-old.

You don't have to look for a 12-year-old to teach. All you have to do is explain loops in the most basic terms possible, such that even a child can understand.

There's a saying that using complex terms to explain a topic mask one's lack of understanding. So your ability to explain loops in the simplest terms possible means you know what you are saying.

I know some of you reading this article are thinking, but what if I don't have somebody to explain what I'm learning?

That's not a problem. You'll use a variety of methods to explain what you've learned, including:

  • Technical writing: You don't have to be a great writer to start writing. All you have to do is start writing. Platforms like dev.to, hashnode, medium make it easy to share what you learn. So sign up for one of the platforms and begin writing. Also, check out Google's free technical writing course.

    • Join online communities: Join online communities to share what you have learned. When you join online developer groups, you'll meet people who share your interests. You will be comfortable sharing and answering questions. A fantastic developer community to join is the Freecodecamp online forum. You can also use social media platforms like YouTube, Tik Tok, Twitter, e.tc.

Another way you can explain what you've learned is by doing it in front of an imaginary audience. Pretend you're teaching a group of 12-year-olds about javascript loops.

Teaching to an imaginary audience might be fun, but they cannot ask questions. This learning method works best when you use a real audience because they can ask questions.

When your audience asks you questions, you get to identify areas in which you need to improve.

Step 3 - Review Your Explanation

Step 2 will, as stated before, assist you in identifying specific areas where you need to improve.

Review your loop explanation and identify areas where you think it fell short. Now that you know where you fell short, go back over your learning material to understand better. Consider using other learning resources if possible. Study until everything you couldn't explain before is clear to you.

Step 3's goal is to change your areas of weakness into your areas of strength.

Step 4 - Simplify

As a result of step 3, you now have a better knowledge of javascript loops. Step 4 requires you to practice step 2 again with your new understanding of loops.

Take up your note and simplify every area of loops you couldn't explain before. Rewrite your loops article or give someone else a better explanation.

You can also pretend you're teaching a group of 12-year-olds about javascript loops. If you cannot explain a particular part of the topic, go back to step 3 to understand it better.

This method of learning works best for topics that are tough to understand. It is not an effective learning method if you already understand a concept.

Conclusion

This learning style is all about understanding a topic to the point where you explain it in your own words. When you describe it, act as though you're educating a child to see how well you know the subject.

Also, keep in mind that you can use this learning method to study any concepts that you find difficult.

Thank you for reading. I hope you enjoyed the article! If you have any questions or a learning strategy you would love to share? Post about it in the comment section. I'll attend to them shortly.

If you found this article helpful, please like and share it ๐Ÿ’™.

Resources

Here are some resources that may be useful to you:

Top comments (12)

Collapse
 
cjsmocjsmo profile image
Charlie J Smotherman

In nursing school we had something similar to learn new procedures

See one
Do one
Teach one

By the time you get to Teach one you usually over prepare for fear of not knowing the answer to any possible questions your fellow students may ask.

Collapse
 
cesscode profile image
Cess

That's a great way of learning. Do you have second chances to teach if you couldn't do a good job the first time?

Collapse
 
otumianempire profile image
Michael Otu

We'd, I should you, we do, you do.. it was a good concept that help me a lot..

Collapse
 
danacoding profile image
DanaCoding

This article of yours doesn't follow Feynman. lol. But it's definitely worth looking into.

Collapse
 
cesscode profile image
Cess • Edited

What do you mean by it does not follow Feynman?

Collapse
 
webjoyable profile image
webjoyable

If you cannot explain it better, it's wise not to criticize. You might have misunderstood Feynman method

Collapse
 
danacoding profile image
DanaCoding

I don't mean to criticize, this is a great article. I mean this is an article explaining Feynman's method, just not using Feynman's method in this article. Please excuse my expression, my native language is not English after all.

Thread Thread
 
webjoyable profile image
webjoyable

No worries, I'm not native English as well. Reason I was triggered is that you gave very rude and condescending remark, on something that took effort to be composed

Collapse
 
heidari profile image
Reza Heidari

I concur with the idea. When I was in deep research of programming price action and algorithmic trading strategies, I tried this technic and created a group consists of 15 people who have passion for learning algo trading an tried to explain some stuff. It really works well.

Collapse
 
fikradev profile image
Fikra_Dev • Edited

A well written and clearly structured article. Just what i wanted at the present moment.

Collapse
 
somarathimadhusai profile image
SomarathiMadhusai-srijan

superb article

Collapse
 
cesscode profile image
Cess

Thanks for reading. Share with your developer friends