We simplify complex ideas to understand them. When working well, math makes things simpler. (Occasionally the medicine is worse than the disease.)

Let's change the generic "Math teaches you to think" to a more specific "Math helps us simplify ideas". We hide detail after detail to reveal an essential truth.

Is this style of thinking necessary? Required for survival? Usually not. But it's often interesting.

What's the simplest drawing you can recognize as a face? What's the simplest joke that's still funny? The simplest exercise that grows a muscle? Would knowing that improve your art, humor, or fitness?

## Abstracting Counting

What's in this picture?

A computer says "millions of pixels" and you say "three lions". In seconds you threw away countless details to reveal a deeper insight.

What happened? We abstracted the scenario into something simpler.

- Remove background from foreground
- Remove differences between each animal
- Remove "animal-ness" (treat lions as generic "lines")
- Remove need to count objects with literal lines
- Remove need to specify a fixed number ("n happens to be 3 today")

We tend to call the steps we're explicitly aware of "math". Once it becomes natural, it's just "effortless seeing". (Wouldn't it be nice to move more concepts into the "effortless" category?)

## Abstracting Learning

Let's try the "math simplification" on a bigger idea: learning.

What does learning involve? At its bare essence, what do we need?

`Learning = Insight + Enthusiasm`

Insight (for me) comes from Analogies, Diagrams, Examples, Plain English descriptions, and Technical definitions. (Read more about the ADEPT method)

Enthusiasm comes from humor, warmth, empathy, and being treated like a human (not math robot).

A good lesson has both. But wait: is enthusiasm enough by itself? Hrm. Maybe it's better written:

`Learning = Insight * Enthusiasm`

- If you have 0 for either, you aren't really learning.
- "Negative insight" is learning something false.
- "Negative enthusiasm" is hating something, even to the point of discouraging others.
- "Negative insight with negative enthusiasm" could be discouraging others from learning something false (which is good, right?).

This is just playing with words and pseudo-equations. Sure. But seeing how enthusiasm impacts education reveals a truth: an educational experience can become negative when enthusiasm points the wrong way.

The equations above don't have to be "right". They're helping us work through an idea. The math approach is to isolate the key factors and figure out how they're related.

## Abstracting Technology

For something like a car, the key elements seem to be:

`Car = Propulsion * Control`

Traditionally, the details of propulsion involve a gas engine, and the details of control require a human driver. But we're interested in abstraction: are these details we can hide?

Maybe propulsion can be electric. Maybe control can be from a computer. A self-driving electric car satisfies the essence of the equation with different details. (Just like 1 apple + 2 apples = 3 apples works as well as 1 lion + 2 lions = 3 lions.)

Asking the right question is difficult, and critical. For this problem, what are the essential variables? What counts, and what can be thrown away?

## Abstracting Programming

A lot of people argue that "math helps your programming". Yes, but not in the way you think.

Most programmers don't use anything beyond algebra and basic statistics. (Yes, yes, if you're working on a video game physics engine you can sit down.)

The key lesson from math is how it abstracted the vast complexity of the world. Here are a few fundamental types of "quantity":

- integers (whole numbers)
- floats (decimal numbers)
- hexadecimal numbers (whole numbers with a simpler way to use powers of 2)
- null (an unset number, different from zero)

Programmers don't need math skills so they can crank through arithmetic. They need math to see examples of the world getting simpler.

Any piece of data (text, images, video, etc.) can be expressed as a giant list of numbers, a combination of the above elements. That's pretty simple.

What other metaphors from math (functions, structure, change, chance) can help us simplify our code?

## The Ladder of Abstraction

Bret Victor has a wonderful essay on the Ladder Of Abstraction.

If a new concept is difficult for me, I wonder if I'm at the right level of detail. There's no all-purpose answer like "less detail is better". Sometimes you're staring at your feet and need to zoom out, sometimes you're in the clouds and need to zoom in.

Analogies, Diagrams, Examples, Plain English and Technical definitions, throw them at the wall and trial-and-error a way to better understanding. Like getting an eye exam, move closer or further from an idea until it snaps into focus.

Happy math.

## Other Posts In This Series

- Developing Your Intuition For Math
- Why Do We Learn Math?
- How to Develop a Mindset for Math
- Learning math? Think like a cartoonist.
- Math As Language: Understanding the Equals Sign
- Avoiding The Adjective Fallacy
- Finding Unity in the Math Wars
- Brevity Is Beautiful
- Learn Difficult Concepts with the ADEPT Method
- Intuition, Details and the Bow/Arrow Metaphor
- Learning To Learn: Intuition Isn't Optional
- Learning To Learn: Embrace Analogies
- Learning To Learn: Pencil, Then Ink
- Learning to Learn: Math Abstraction
- Learning Tip: Fix the Limiting Factor
- Honest and Realistic Guides for Learning
- Empathy-Driven Mathematics
- Studying a Course (Machine Learning) with the ADEPT Method

## Leave a Reply

25 Comments on "Learning to Learn: Math Abstraction"

Wow! What a beautiful article about math and abstraction. Code is poetry, too :)

Thank you for this , is refreshing to have Aha! moments from time to time.

Best regards

Thanks Gina, glad you enjoyed it!

Yes, that made a lot of sense to me, too, especially the part about math people using not the operations of math but the mindset of abstraction. I have been going through a programming course and I have found that people with a better math background are going a lot faster than I am but when I ask them if their math background helps they always say something to the effect that they are not using math. That is true in the narrow sense but not in the wider sense you have just so well described.

I have just been trying to do what you suggest and abstract more when I am learning how to program. I had just been trudging through a lot of tutorials, but these are just one specific step after another. You can do that forever and not really learn how to program. You have to make some kind of abstraction. I have been trying to force myself to do the abstraction part on my own by writing down general directions without the commands and coming back later to test myself to see if I can write in the necessary commands on my own. I have also been going back to specific recipes and trying to write in more general descriptions of what the specific steps are tying to accomplish. Doing this I have found that some programs that I seen as being completely separate and unrelated are actually very similar.

I think this is one of the reasons that more experienced people are always recommending beginners to comment their code more. The more experienced programmers always frame this advice in terms of being able to understand your code when you come back to it later, but I think the real benefit is in understanding your code better as you write it.

I really like the way your concept makes us think in terms of drilling down to levels of greater detail. Until lately I have thought of programming as a long series of steps that go one after the other from beginning to end. Instead, following your diagram, I think we have to think of our programs not from beginning to end but from higher levels of abstraction to lower levels of detail.

I have found your books and blog posts very helpful for math but also for programming. I hope you turn your talents explicitly to programming some day. Until then, thanks!

Michael

Thanks Michael, really glad you’re enjoying it. I have a few dozen posts on various programming topics (http://betterexplained.com/articles/category/programming/) but I’d like to visit the “why” of programming. Many tutorials focus on details, but not the key principles that persist between generations. (In software, inevitably things get out of date, but core ideas remain. You start recognizing new technology as a combination of previous ideas.)

Thanks for the note!

How did I not know about these programming notes? I must have been on this site 20 times and I have bought both of your books but I never thought to click on your programming notes before! I think this is a kind of break through, making the connection between math and programming both being forms of abstraction. Thanks again!

The Wolfram Language Image Identification Project (what a mouthful) does identify that image as “lion” but misses the “three” part.

See here: https://www.imageidentify.com/result/1m4iwh1a2vd40

Neat find — that’s pretty impressive.

Great article! congrats!

Glad you enjoyed it!

A Fun Jot: I move in close. I move back. I move in closer. I move farther back. What’s missing?…Reflective ability!…To reflect an object and/or its background without you becoming an observer. Example: Stealth technology! Good job, Kalid!

Cool site. Iv been searching everywhere trying to help myself with math, just doing basic algebra starting on functions now, but you have no idea how difficult it is for me.

This article made me think about it a little more, hopefully it helps.

I ALWAYS think too detailed, like when u asked about the picture i thought, some lions, some trees, some bushes, the color green, brown, black, Probly reds, than my brain starts to think of the details of the plants and animals more ie types composition other bugs like ticks,etc., and i tell myself thats not the point.

I feel like this would be a blessing, noticing details but its not.

So in math when a professor explains something i subconsciously think too much, and ask, well what if this,or that?, but than i get myself confused with other concepts since math is so similar even with completly different concepts(to me at least)

like the functions…f of x s I guess i have to practice on dumbing down how i think about things.

Oh math, why you gotta be like that?

This is at least the 2nd time I’ve read this article and I am amazed at how each time I gather more insight and concepts continue to solidify. One of the big things I’ve learned is as you’ve said, abstracting the complexity out of things so they are more easily understood. That is what I enjoy from math, the complexity and rigor yes, but also how it can be represented so…simply.

The picture only has 305 100 pixels, therefore a computer would not answer millions of pixels.

Very thought provoking!

Thanks Joan!

I really like your articles. I am really interested in learning mathematics, and mathematical way of thinking. I am a software developer and I am interested in Artificial intelligence. Because I don’t have enough mathematical knowledge for getting into the field I am interested in, I am starting again with basics through algebra so that I can better understand calculus and linear Algebra. I just don’t want to solve the mathematical problem, I am reading your calculus book. It really gives me great insights, what calculus is really about. Thank you very much. Please provide me the suggestions, so that I can learn mathematics better , not just to solve the dry problems, but to understand it and use it to at my will .

Great illustration of abstraction. Thank you!

Your phrase:

“We tend to call the steps we’re explicitly aware of “math”. Once it becomes natural, it’s just “effortless seeing”. (Wouldn’t it be nice to move more concepts into the “effortless” category?)”

says quite a lot. I have been studying the “tacit theory of knowledge” by Michael Polanyi who separates knowledge into the “explicit” and what he calls “tacit”. You are doing the same thing with the term “effortless seeing”. There are steps that can be taken to help us move from explicit knowledge transforming it into effortless. If anyone is interested in pursuing this further check out the website “tacitknowledge.org”. I am a strong fan of “better explained” and hope more of this type of explanation shows up in schools and colleges.

Thank you Kalid. When I was a youngster no one took the time to help me appreciate math. I am learning to do that with your posts.

Great newsletter about math and abstraction re:calculus. Seeing diagrams definitely helps me to understand formulas and concepts. Do you have anything that will help me to understand pi in relation to periodic wave graphs?This may sound silly but why DO we use pi to measure periodic waves? Can’t find it in any of my textbooks, they just present it as so. But I want to know why?!

I should add that I understand that radians are measured by ratios of pi which also correspond to degrees of a circle. I just don’t get how periodic waves relate to a circle.

If you plot the x or y on the vertical axis and the angle at which it appears on the horizontal axis you will see the cosine or sine which are periodic waves.

Thank you so much for the insight. I am so dumb when it comes to math & I know it is because I just don’t understand it! You have given me hope.

Thanks Jerri, really glad it helped. My goal is to help people realize the issues are typically with the explanation, not the student. Multiplication was considered a nearly impossible feat until we moved away from Roman numerals. Now it’s done by kids in grade school. Better ways of thinking are accessible to everyone.

I’m trying to expand on the x-ray and time lapse ideas into 3D, so I’m attempting to do a thought experiment for the surface area of a sphere being the addition of “rings” and its volume being the addition of discs. So my feeling is that for a unit sphere that would be: A= 2*integral(2pi(sqrt(1-x^2))dx and V=2*integral(pi(1-x^2)dx). both over x=0 to x=1. It works for volume, how am I going astray on area?