Sunday, August 23, 2015

Three Ways to Help Retain Coding Knowledge

A few days ago one of my friends in higher ed posted this article regarding student learning.  The article explores whether taking notes on the computer is more or less effective than taking notes in the old school pen and paper fashion.  This hit home for me as I have been engaged in my own coding journey for around a month now.

(1) Repetition
When I first started to code I was obsessed with the "best" online resources.  I only wanted to utilize the top books and tutorials because I imagined that I would only be doing a few of them.  What I have learned is that you will probably end up doing more than one book and/or tutorial about each language, track, or topic you want to learn about.  I have found repetition to be crucial!

Early on, I started with Code Academy and went through their Ruby, HTML, and most of their Python lessons.  More than anything, this was a warm up.  I retained little from these early days.  Since that time I have worked through additional TreeHouse tutorials on many of these topics and read other books and tutorials about the same topics.  Each time I do a new one, I understand a little bit more and I get a little bit more understanding before everything becomes a mush of confusion.  Don't beat yourself up if you have to go through many resources on the same topic, I am pretty sure this is very normal.

(2) Note Taking
The next thing, that I try to do is take copious notes.  I have these cheap ass 17 cent notebooks that I bought a boatload of for use in my coding journey.  As I do anything I take notes.  This slows me down a bit, but it definitely helps retention.  I do not take notes to reference, the internet is probably better to reference than my handwritten notes.  However, just the act of writing helps to add these terms and syntax to my brain.  If you are learning coding but not taking notes, I suggest you add note taking.  It is kind of annoying, but I think it helps a lot.

I do organize them by resource.  I have one for books, one for online tutorials, and one specifically reserved for Hartl's tutorial since I think that one is really important.  I also think if you are really committed to mastering commands and syntax that you could make flashcards as Zed Shaw says.  Yu don't need to run them all the time, but carry them around with you and flip through them when you have a second.

(3) Practice
Finally, there is the one I am bad at - putting it into practice.  I think this is a crucial way of making the knowledge stick.  Make a few programs using the commands, even if they are not very long or intense. This is more or less what Shaw suggests in Learning Ruby the Hard Way.  He makes you type into the editor and create programs.  However, ultimately, you need to build your own stuff.  Right now, I don't feel like I can build much anything of any real use so I don't do this that much which is probably a mistake.  That said, I really just want to keep learning more right now until I can do functional work.

How do you retain your knowledge?  Do you any other ideas for me?

Code Report!

Resources in Progress:
Total hours into Programming: 87 (4 since last time )
Total Weeks Programming/Hours per week: 4/21

Progress on Gaddis' Starting out with Python: Done With Chapter 1, Appendix A,B


Progress on Shaw's Learning Ruby the Hard Way: Finished Exercise 1-13

My Text game: 3 hours, 118 lines

TreeHouse (1549 Points, 19 Badges)

Code Academy Points: (672 points, 70 badges)

Progress on Hartl's Tutorial Ready to start Chapter 3! 

Resources Finished:
Josh Kemp's No Degree, No Problem 8/14/2015


Chris Pine's Learn to Program 8/9/2015

TreeHouse Make a Website Track 8/17/2015

Code Academy Ruby Course 8/5/2015
Code Academy Make a Website Course 7/29/2015

No comments:

Post a Comment