How I’m teaching myself Computer Science (Update 1)
Have you decided to teach yourself computer science?
What is computer science? Computer science is a collection of different studies revolving around understanding computers. The biggest chunk of those studies are maths and algorithms. Computer science is different than computer programming. Programming requires no previous knowledge and never forces you to know anything outside the system that you are programming for. For example, I’ve made many websites and apps without knowing any math or algorithms.
Computer science makes you a better programmer. With a lot of hard work, anyone can sit down at a computer and build an app. But without knowledge of deep mathematical concepts, advanced algorithms, and the fundamentals of computer systems and how a computer works, it would be impossible to write the code behind Netflix or SpaceX. Basically, comp sci enables you to do insane stuff with computers. Stuff like creating an AI that can create any image you ask it to.
Personally I want to make video games. But my code skills involving making websites and stuff are not enough. I need to know math and science.
The Self-Taught Mathematician
I suck at math. Im the guy who failed 10th grade. I failed my college entrance exam and I barely passed my GED (Actually I’m pretty sure they just passed me out of pity).
I never even memorized my multiplication tables.
This is a big problem because the programming behind
- Advanced Networking
- Data Science
- Machine Learning
- Security Analysis
- Game design
all require you to know math. So personally, this means starting from 1st grade and going all the way to Calculus 2, College Statistics, and Linear Algebra.
But I have one huge advantage.
My self-esteem far outstrips my ability to disturbing degree. It’s almost as if my ego is as big as my knowledge is small. It’s my super power. I call it a growth mindset (learn more here). Other people call it being an idiot. Either way, I have a goal and I’ll just take a baby step toward it every day.
The baby steps
I started on Khan Academy. To make sure my fundamentals were solid I started with 1st grade. At first, I was embarrassing to be doing 1st grade math in the middle of Starbucks but I’m happy to say that I passed with a gold star.
In all seriousness, learning math from scratch was the one of the smart decisions I made. Sal Khan (the creator of Khan Academy) is one of the best teachers I’ve ever had. (And I’ve done thousands of hours worth of tutorials). Following the courses one by one unlocked understanding in arithmetic that I never had.
I learned how to
- Calculate large numbers in my head
- Understand fractions / decimals / percentages
- Do Algebra
I could go make that list 100 items long but in reality, most of arithmetic involves integers and rational numbers and figuring out how to figure them out. The big thing that stopped me as a kid from understanding math was that I never learned my times tables and never understood how to work with fractions. It’s important to not have any holes in mathematics. The more holes your foundation has, the more and more difficult it becomes to advance.
It took me an average of 5 hours a day for 3 months to complete all of pre-algebra. The biggest mind-fuck is realizing that all of elementary, middle, and high school math is so simple that anyone could learn it in a few months.
How I did it
Khan Academy is amazing, but it’s garbage compared to the real tool I’m using to learn math.
Anki
The problem with learning anything on youtube is that, without forcing your brain to struggle and work the problems, you won’t learn anything. A lot of opponents of online learning argue that it doesn’t really work. (https://www.youtube.com/watch?v=eVtCO84MDj8). Me personally, I love watching “infotainment” because it makes me feel smart. But the truth is that just watching something doesn’t make you smarter. Practice > Theory.
It’s easy to combat this issue. Use Anki. Anki is a simple flashcard app that uses a smart sort algorithm. The algorithm always shows you cards that you are weakest with first and cards you have memorized show up less and less frequently. Combine this with Khan Academy and your math skills blow up fast. I simply watch the videos, do the practice questions, and put the questions I failed in a flash card. Then I review all the flashcards every day. It takes about an hour to finish them all. I started with the times tables and now I’m doing linear equations.
I also read these two books and followed this guide by a youtuber called The Math Sorcerer.
Anki (https://apps.ankiweb.net/) and Khan Academy (https://www.khanacademy.org/) are free.
That’s what I’ve been doing. Next step is to finish Khan Academy and master Algebra. Message me on twitter if you wanna talk.
I’m broke, jobless and starting from zero trying to get a job as a iOS developer. Subscribe to my blog if you wanna root on, or if you’re in the same boat and wanna pursue this goal together.
Thanks so much for reading. 🐶🇯🇵 ライキより