Thoughts On Learning Mathematics And Computer Science

What Schools get wrong and how it can be improved.

I have a deep love for Mathematics and Computers in my life. In a world where so much makes little sense, my mind often finds solace in them for the sheer rationality of it. These are my thoughts on how young people interact with Math today and how this can be improved.

First of all, Schools get Math horribly wrong. They make it out to be an unnatural set of incoherent rules and theorems that need to be memorized. This is like asking someone to enjoy football by just iterating all the rules to them.

Math is one of the most creative endeavors out there. It demands you to think in first principles. Our whole history is full of people who have drawn inspiration from wildly unrelated ideas to solve real world problems to build this world. Revel in the creativity of it all.

As with anything else, having heroes is important. But you need to take time in choosing your heroes. Look up to people who have genuinely achieved great things by excelling in their creativity and use it to inspire yourself. Read a ton of books about inspiring people. For example, my recommendation is to read up about Richard Feynman to learn what a badass he was. Then, go read Surely you’re joking Mr. Feynman and use it to learn how to genuinely be curious about the world around you and have fun while doing it.

Yes, Mathematics can be hard. My meta advice here is to learn to enjoy doing hard things. Do not be intimidated if it looks like it comes naturally to others. Given sufficient time, practice is indistinguishable from intuition and intelligence in most practical matters.

Learn concepts until you’re confident you can explain it to a 5 year old child. There’s no right way to learn. Be as creative as you want in your process. Use techniques from unrelated fields. I routinely visualize math when solving problems. Sounds bizarre, but it works for me.

Look beyond school to understand how stimulating math can be. The biggest turning point in my life was when I prepared for Math olympiads like RMO/INMO/IMO. It opened my eyes to creativity like I had never seen before. I’ve been hooked ever since, just chasing those highs.

I see programming as a logical next step to mathematics. It’s like you have all the ingredients, now go bake a cake. Competitive programming is a natural extension to high school math olympiads. It’s a sport. But young people have, ironically, gamified it in the worst sense. Treating it as a means to an end (a job) is the worst experience you can have with it. It is a sport. You should play it like one. Practice, go through highs and lows, have periods of obsession, take breaks. Their influence in job interviews is a side effect and for good reason.

Their correlation with a software engineer job is very low. Learn about being a good software engineer instead. To be good at your job, fundamentally understanding stuff counts. You can only hack your way up for so long. People will see through the facade ridiculously fast.

And software engineering is so much more. Broaden your horizons as soon as possible. Writing code makes up only about 30% - 40% of your work and I feel like I am still exaggerating. Read up as much as you can about it. Get your hands dirty often to learn more effectively.

The Uber meta point of this post is summarized aptly by Mr. Richard Feynman.

Study hard what interests you the most in the most undisciplined, irreverent and original manner possible.

– Richard Feynman

Success, whatever that means, will be a side effect.

Written by

Lifig Author

I am a Data / Privacy Engineer based in Sydney.