Coding the Feynman Technique

This is what I hope should be a growing blog post as I create a starting point for turning the Feynman technique into a usable and reusable piece of software. It’s something I have been thinking of multiple applications for but ultimately all rely on the same core functionality.

What is the Feynman Technique?

Essentially it is a mental model based on the technique used by Richard Feynman to learn, understand and remember concepts quickly and comprehensively. I was drawn to it by this post which will give a better description but I mainly want to focus on the defining steps of the technique; those which I will replicate in code.

Step 1 – Naming the Concept

Quite simply the title that covers a subject you want to delve into. This just acts as the starting point for the process but also puts some boundary in place to control the scope of the problem or concept.

Step 2 – Explain the Concept

Starting with just the information you know already, try to start explaining the concept in as much detail as possible to highlight your current understanding but also, and most importantly, begin to reveal things about the subject that you don’t know.

Step 3 – Review the Gaps

Using the explanation, pinpoint the areas that are unknown and begin a focused effort on learning about those things through research and using the same process as step 2, write an explanation of these areas with as much detail as possible

Step 4 – Simplify the Language

This step reminds me of a quote by Albert Einstein; “If you can’t explain it simply, you don’t understand it well enough”.

Now that your explanation covers the topic entirely, to check that you truly understand it; go back through the explanation and simplify the language so that it is written clearly and define any larger terms or jargon using analogy where possible.

Modelling this with software

Using these steps I aim to create in software something that allows for modelling the initial concept; organising it into sub categories and a set of defined terminology. Moreover, the software should be able to link terms to their definitions where one has been provided and highlight terms that have not yet been explained. When completed, we will have created a clean and organised network of data between the concepts subcategories and the defined terms that explain them.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: