Study Method Suggestions?

Hi all! I’m totally new to coding and am just getting rolling with the coursework. If I were in college, I would take notes, make flash cards, etc. Would you suggest that type of study, or does the coursework go over everything enough times that it’s not necessary? Some online courses tend to mention something once in passing and expect you to know it forever, others repeat a lot. Notes would be much more beneficial in a course designed like the former and less necessary in the latter. Just not sure which of those examples freecodecamp resembles.

I appreciate any and all input!

That’s so fantastic. Really appreciate it!

++ to what P1xt says about taking notes.

Two other things that are helping me a bunch: Mark Myers’ A Smarter Way to Learn JavaScript and flashcards.

The Myers book comes with online practice exercises that are great for giving you immediate practice and feedback. I generally do the Myers chapters first, then complete the corresponding FCC challenge.

As for the flashcards, I’ve been writing my own using AnkiApp. I write the flashcards into the app on my laptop as I’m learning and then I try to review the cards at least twice a day. Amazing how much faster you can code when you you have memorized the methods and syntax.

4 Likes

Awesome, thank you @heidikana & @P1xt!

Now i just need to get my parents to buy me the book.

You really can’t say ‘take notes’ too many times, haha.

I’ve been doing Javascript algorithms basically every day for a while now, and this is what I do to really juice the experience. I make a ‘worksheet’ in a word processor to organize my notes, and make sure I’m noting the right things. If you’re like me, and you’re super OCD about not getting the most of these lessons, this worksheet might work for you.

My worksheet has the following headings:

WHAT I DID YESTERDAY - Here, I review/link to problems and challenges I did yesterday so I can make sure I can still do them today.

NOTES - For the current challenge/algorithm, this is where I write out my thought process before I actually code. If you don’t already do this, it makes coding sooo muuch easierrr…

ALGORITHM QUESTIONS - This is where I write the ‘little steps’ involved in solving a challenge/algorithm: how do I remove duplicate elements from an array? how do I flatten an array? Any ‘little steps’ that I think I’ll need again in the future goes here, so that I can memorize them for future problems

ERRORS - This is where I write out common mistakes that I make that fudge up my code, so I can stop making them!

THINGS I FORGOT - This is where I note what methods and functions I knew about, but had to look up. There’s a big difference between ‘knowing’ and ‘sort of knowing’!

HOW THE BEST ANSWER WORKS - If I have access to someone else’s answer, this is where I explain to myself how that answer works, so I can absorb what ‘good code’ actually looks like (versus my own wordy, clunky code).

When all of that’s done, I add anything under ‘ALGORITHM QUESTIONS’ and ‘THINGS I FORGOT’ to my flashcards (I use Quizlet) to study for later. I then save this worksheet, then look at it again tomorrow so I can remind myself of common mistakes, things I learned yesterday, etc…

5 Likes

Check this out http://www.lastinglearning.com/, centered around the research that has been going on with learning.

I’m currently working on building a framework to use with learning any new subject so it becomes a more efficient process. When I get it built up to an acceptable level I’d be happy to share it with anyone who is interested.

1 Like

I’m backtracking my notes (screenshots from my computer) and filling in the gaps.

Let’s take an extended metaphor and beat it to death: learning software engineering is like learning carpentry. It is, ultimately, a practice rather than a philosophy, and you’re going to hear the phrase “learn by doing” a lot. Some pursuits might involve sitting down and memorizing a lot of something–molecular formulas or whatnot. Coding is not primarily that kind of pursuit, but one where you use tools.

If you’re learning carpentry, you don’t start by banging on a piece of wood and hoping it turns into a birdhouse. But you also don’t start by memorizing all possible geometric formulas and conversions of measure. You get some knowledge, you build some, you screw it up some, you learn from your mistakes, you keep reference works close at hand to quickly see commonly used formulas and methods, and you memorize the most common ones for quick access. You ultimately learn the most from your projects.

So just to be perfectly clear: I’m concerned that when you say “take notes,” and “make flashcards” you’re thinking of a learning system that focuses on memorization of data–the date of the Battle of Hastings, the atomic weight of cesium–but what you hear from @P1xt and @LeatherGreenGargoyle is that “take notes” means almost the same thing as “keep journals”–use a written medium to augment and externally process the experiences you’re having. There will always be reference works to remind you of all the possible attributes of an HTML element, or the syntax of a javascript for loop; focus instead on your personal understanding and synthesis of the “why” and the “how” of these processes, not just the “what.”

5 Likes

Very well put! I’ve read the same advice everywhere, regarding coding. That’s why I was put off by the idea of taking notes, and memorizing. It didn’t seem right. I like the way you put it though, comparing it to carpentry.

This is exactly what I was thinking!

I’ve tried a lot of different “prep courses” and online classes - for some I took notes and for others I didn’t. Although at first I thought taking notes was helpful I’ve found that I’ve never gone back to review them because ALL of the information you need is online (mostly MDN [Mozilla Developer Network]).

The most helpful thing to do is literally practice everyday. Here are a bunch of extra ways to get in more practice/knowledge:

Just to be clear, I don’t mean to discourage note-taking. Just that it needs to be very personal and reflective–I have some Google Docs titled “Stuff I still don’t understand about javascript” and “What I learned today,” etc. And the value is not so much in reading them later as it is that writing them down in the first place synthesizes learning in a different way than reading.

1 Like