Code Academy • Jan 27, 2012

Code Academy fun times
Code Academy Week 3 has come to an end and, so far, I’m extremely satisfied. Although the curriculum seems to be moving quite fast, I’ve had no trouble keeping up and already feel confident in my ability to create a simple, fully-functional web application. There are, however, a few aspects of the class that I didn’t expect.

Here are 3 things about Code Academy that caught me off guard:

The Easy Way and the Hard Way

Something I didn’t know about Ruby on Rails (and perhaps other software programming languages, as well) is the idea that something can be accomplished with either 1 line of code or many lines of code. In any coding language there is always more than one way to do something, but it’s pretty amazing how hours and hours of work can be avoided by simply knowing one line of code that contains/accomplishes everything.

Case in point: we’ve spent at least the last 2 weeks slowly building a simple app; one where database information can be created, read, updated, and destroyed (CRUD). This application was built the hard way, line by line, hour by hour. Then, at the end of the day on Thursday, Jeff introduced to us a single line of code that, when entered into Terminal, could create everything that we’d spent the last 2 weeks working on (“rails generate scaffold”). When I learned this, it felt like that one dream sequence in Fellini’s 8 1/2 where Guido is stuck in gridlocked traffic and suddenly flies out the window of his car and freely soars over all the traffic.

Nevertheless, I appreciate that I learned things the hard way first, especially since I’m told that by week 5 or 6 that single line of code will no longer work for our needs.

Pair Programming vs. Note-Taking

It has come to my attention that pair programming—that is, 2 people working together at 1 computer to create 1 application—is a hugely important part of the software programming and web development world. Having worked in front-end web design, I’m no stranger to working with a close-knit team; yet, the practice of having 2 keyboards connected to 1 iMac, with myself and another person coding at the same time, is going to take some getting-used-to. On the other hand, it’s helped me to get to know some of my classmates and break out of my comfort zone.

The only aspect of this that kind-of bothers me is not being able to keep my laptop open to take notes. There seems to be a prevailing hypothesis that, by having your laptop open, you’re not paying attention to the class and not as focused on doing pair programming (speaking only for myself, this is not true). The proposed solution has been that we keep a shared Google doc open in the background to take notes together. I see 3 key problems with this:

  1. Multi-tasking chaos! At any given time you’ll have open numerous Terminal tabs, files in TextMate, a Google doc, a join.me screen share of Jeff Cohen’s Keynote presentation, a localhost server window, and other necessary resources. All that swapping around between files becomes cumbersome and ultimately leads to poor note-taking.
  2. Pen and paper: With laptops being disapproved of, many people have begun taking notes with pen and paper. This is simply not an option for people like myself who have atrocious handwriting. I much prefer to use the Evernote Mac app for my notes so that I have my notes synced up between my laptop, iPad, and iPhone and can access them anytime, anywhere.
  3. Notes are personal: In any educational setting, no two people are ever going to have the same set of notes. Note-taking is a very personal thing in that it reveals the stuff a person thinks they would not otherwise be able to remember. A person should never have to feel embarrassed because they need to write down something that others may consider to be obvious or unusual.

Code Academy instructor Jeff Cohen

HTML5 and CSS3

This one is relatively minor, but I didn’t realize that the HTML5 and CSS3 part of Code Academy is its own, separate class. The normal Tuesday/Thursday classes I attend will be almost strictly focused on Ruby, Ruby on Rails, and an assortment of other items. Every Monday night, Shay Howe holds a 2 hour class at Code Academy where HTML5 and CSS3 concepts are discussed.

In a way, this makes more sense given that different people in the class have widely varying levels of experience with front-end design and, thus, there is more time for people to ask questions and dive deeply into specific concepts. I’ll admit that I haven’t been to any of Shay’s classes yet, since my understanding is that the lessons so far have been fairly basic HTML and CSS. I’ve been working with these 2 things for over 10 years now, and consider myself fairly advanced (e.g.: I built this WordPress theme from scratch), so I plan to join in next week when they will hopefully be covering some of the more HTML5 and CSS3-specific concepts. Even still, it never hurts to have a refresh on some of that stuff.

Loving Code Academy so far. Next week I hope to start building my own, custom application. Details on that coming soon. I’ve also just purchased Douglas Crockford’s JavaScript: The Good Parts and am going to begin trying to learn JavaScript, as well.

Tags: , , , , , , , , , ,

5 Responses to “Code Academy Week 3: My Brain is Exploding”

  1. Hey Charlie,

    Great posting. You bring up some good points. On the last class I paired with Ben Block and I took notes on the Mac. Simply because the previous classes I didn’t take notes and when I went to do my homework I was struggling because I could not remember some key things.

    I could have done it on my laptop but I don’t know I guess I forgot. So while typing on the MAC, I saw that Ben was correcting some of my notes. Which was really good, because then I would have gone home with notes that were not so accurate and would have confused me when trying to do my homework.

    So it was a good catch from Ben that we were sharing the notes. At the end of the class he attached the notes to an email and sent it to me and himself.

    Also. I would like to know the output of the code you posted above. Does it work?

    About the HTML class. Although I am not experienced in this area, I think there is just too much info already with the day class. I will try to go more often cause I missed the last 2.

    Thanks for sharing your thoughts.

  2. Charlie Thomason

    Thanks for your comment, Tom! And yes, the Ruby code above does work; it simply spits out “true” and is a variation of the checking account example that Jeff did during Week 2. I’m also definitely planning on going to more of the HTML5/CSS3 classes. Not 100% sure if I’ll be able to make it tomorrow night, but I’ll hopefully be there.

  3. [...] where I feel confident in my ability to ask logical, educated questions in class. If by the end of Week 3 I was barely learning to crawl, then I now feel ready to stand and [...]

  4. Hey thanks for the writeup. As someone looking into attending CodeAcademy, this is very eye opening. Best of luck the rest of the way through.

  5. Charlie Thomason

    Thanks, Andrew! I’m sure you’ll love it. I hope to continue blogging about it more in the weeks to come.

Leave a Reply

The Recycled Film is a blog about film, art, photography, web design & development, grunge music, and more. This site is owned, managed, and written by Charlie Thomason, an artist and web designer from Chicago.