Code Academy, a newbie’s perspective

This summer and its idleness has been turning my unused brain into mush.  With a good amount of prodding from B, I’ve decided to revisit my olden days of “coding” by learning some front end development.  Mostly just for fun now, with a long range plan of redesigning this blog on my own, and possibly, maybe, perhaps some small side work for future summers.  My experience with coding goes as far back as 1994/1995, where my freshman year computer class was introduced to the world wide web through Netscape.  This naturally led to a desire to create my own page which documented all my favorite bands.  I learned some HTML through viewing the source code of pages, coded a few iterations of personal sites and promptly stopped when it got really complicated with tables. A couple years later came sites like GeoCities, and my need to learn how to code just died.  If I had known back then that this tinkering around with coding  could branch out into an actual career, I probably would not have just given up so soon.

My background knowledge of HTML only gets as deep as links, images and background colors, so needless to say, I’m starting from the bottom.   The internets to the rescue!  B suggested three sites for me to check out:  Codeacademy, Treehouse and CodeSchool.  Code School requires a decent background on the fundamentals of HTML and CSS, so that’s coming later.  I poked around Treehouse and Codeacademy, looking for a good fit for my non-existent skill level and learning style.  After going through the first demo session of Treehouse and Codeacademy, I’ve decided to go with the freebee and more comprehensive Codeacadamy (CA).

A few things I love about CodeAcademy as a student of code with the mind of a teacher:

  • It’s free, and therefore I can force recommend that my students use it also. When you start from scratch, it makes sense to save here and shell out bigger bucks (possibly at Code School) for higher level coding.
  • CA starts you off with the basics.  The real basics, from the very very bottom, as in “what are tags?”  Treehouse on the other hand, claims to start with the basics, but jumbles CSS and HTML together from the get go, which was confusing.
  • CA leads their Web Fundamentals track with HTML only, getting you used to the skeleton of a page.  After a bit of practice, it eases you into incorporating some CSS  inline with the HTML, before guiding you into separate HTML and CSS files.  My student brain needs that type of delineation between HTML and CSS in order to fully understand how the two interact with each other.  It also helps with a more overarching understanding of why CSS exists in the first place.
  • CA’s “teaching style” is practice and learn through both repetition and applied skills.  It works well with both my old school “memorize and regurgitate” brain and my new school “show me what you have learned by applying it in a different way” brain.
  • Positive reinforcement! Screen Shot 2013-08-16 at 7.39.45 PM I’m not such a sucker for badges and the like.  But I do value positive reinforcement, no matter how cheesy I find it.  It ads a bit of cutesy and competition that I know the kids would like.  I have a bunch!Screen Shot 2013-08-16 at 7.40.28 PM

A few things I feel like CA was missing as a newbie coder who needed B (web developer) to help fill in the blanks:

  • There was never any real explanation for coding syntax and the reasoning behind it.  Why is it “font-family” and not “font family”?  Why is it a “{” in CSS but a “<” in HTML?  I felt the need to ask these questions so that I could move away from just memorizing to applying, ie: when spaces are allowed and when you need hyphens.  CA goes into a bit of syntax reasoning with the use of a “;” to separate properties.
  • The individual lessons were too small for my taste.  I wanted larger chunks to learn.  CA walks you through one tag at a time, which can get a bit tedious  I’m such a fast learner I blow by them as my brain needs larger projects with multiple tasks to fully grasp the bigger picture.  With CA, you learn headers, then paragraphs, then lists, then tables, etc all as bite sized lessons.  Why not learn more at once and use more at once?
  • I need my vocab to be front loaded (little known fact: I was classified as an ELL until 4th grade) and CA academy does not touch on vocab development.  I kept calling things like “background-color” style elements until B corrected me to “properties”.  A bit of vocab can help, so that I at least have the right words to use when I’m stuck and looking for help.  I already forgot – what’s an “attribute”?  So far I’ve gotten one little bit of vocab in CA:Screen Shot 2013-08-16 at 7.43.11 PM
  • no videos – not something I mind, really.  But I can see how some people would be drawn to Treehouse’s snazzy tutorials.
  • There wasn’t much said about code formatting and code editor use.  Little did I know, this question led to a complete TMI explanation from B about tabs vs 4 spaces and nesting and aligning coding practices.

School is starting in a couple short weeks, so here’s hoping I find the time to keep this up during the school year.  It would be pretty darn awesome to be able to teach a web design class of some sort in the future.  I’ve only been at this for a few days here and there so far — I’m about 60% of the way through CA’s “Web Fundamentals” pathway.  I’m still far from embodying my favorite 90’s move character: