Weird Copy/Paste Learning Tactic for Coding
Updated: Aug 14, 2020
~How I’ve decided to not memorize stuff even though I loooove memorizing stuff.
4 things I’ve been relying on to avoid wasting time memorizing things that are not useful:
A huge VS CODE file full of everything I’ve learned. (copy of my brain)
Stack Overflow and Google to find anything I haven’t learned and then I paste that into my VS CODE file.
Anki flashcards to review anything I’ve had trouble with or had to look up. I re-look up nearly all answers in my VS Code file after trying to actively recall
Rocket Erasable Notebook as a portable whiteboard
BUT FIRST! I’m using the Data Science track via Codecademy to learn everything as I go and to help me track my progress. Part of the reason I began using these systems is that I found it slow to backtrack through Codecademy to look up things I had forgotten.
VS Code file:
So, I realized after watching this video that memorizing syntax isn't very useful in 2020. Nearly every answer with proper syntax is already on the internet waiting for you to copy and paste. So I decided to make it even faster. Anything I learn(including from Codecademy) at any time goes into the VS Code file(and into Anki too if it's tricky). I try to write a little note above it so I can easily use the F + Command to search the whole file for what I’m looking for. (ie “lambda” if I’d like to write a lambda function similar to one I previously wrote). I use this file because it is easier/quicker than re-searching and it is pretty easy to remember why I put it in the file as soon as I find it.
Stack Overflow & Google:
In that previously mentioned video, he shows how he uses Stack Overflow now. After googling and clicking on a seemingly decent result he simply goes down to the green checkmark and copies and pastes. He doesn’t even read anything else. I now do the same. It saves a lot of time, though it might not be my complete answer, it gives me something to work with that has worked for someone and is legitimized by others. If it doesn’t work I might look up other possible solutions or even look up a tutorial on the web that explains the subject in more detail. I’ve learned that using google to look things up is itself a skill that I’m getting much better at.
This is where I make sure I’m actually not forgetting what I’ve learned. There is a theory of ‘spaced repetition’ that believes you can remember stuff forever so long as you space out your active recall of it. There are different theories on how to space it out, but its something like 30min, 2 hrs, 15hrs, 1 week 1 month 3 months… This is way off the actual theory but its kinda like that and its not a very well substantiated theory as far as I understand.
Anki is a flashcard system that is pretty easy to copy and paste code or questions into. I simply write a flashcard that will make me have to actively recall what I learned whenever I have to look something up or check my notes. My hope is that by doing flashcards every day for a bit, I will avoid the frustration fo having to look up the same stuff over and over.
So everyone seems to keep saying that the most important part of coding is actually what you write on the paper before you start. So many people urge learners to actually use a whiteboard. I've been using the Rocketbook notebook for simply because its easy to take pictures of the notes in Evernote and I don't ever run out of paper, but it is fantastic for helping me solve problems once I've painted myself into a corner, and it's totally erasable and reusable. Here's my setup
The advice for coding seems: to be: “Don’t memorize Code. Learn to solve problems.” So this is the system I’ve been using to learn how to solve problems while avoiding memorizing syntax and keeping my momentum going. A long time ago I read the book “Moonwalking with Einstein” which I highly recommend. It teaches you that memorization is mostly a technique that anyone can learn, but it takes significant time and effort. I loooove memorizing things now, but I’m trying to make sure I’m not wasting time memorizing syntax that will change or things that I can simply copy and paste.
It’s been working pretty well so far, though I’m trying to get myself to do regular Anki flashcards each day. more soon...