How to understand complex coding concepts better using the Feynman Technique
Tags: javascript, beginners, webdev, programming
Published: 2022-03-19 22:20:57

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.](https://www.nobelprize.org/prizes/physics/1965/feynman/biographical/)


> "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](https://cesscode.hashnode.dev/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](https://developers.google.com/tech-writing). 

- **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](https://forum.freecodecamp.org). 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:

- [Learning From the Feynman Technique](https://medium.com/taking-note/learning-from-the-feynman-technique-5373014ad230)
- [Getting work done with the Pomodoro technique](https://cesscode.hashnode.dev/getting-work-done-with-the-pomodoro-technique)
- [Richard Feynman](https://en.wikipedia.org/wiki/Richard_Feynman)