Teaching the World to Code: The Codecademy Story Part Two

by Evelyn Levine

 Part Two: A User’s Experience

In Part One, the author, Evelyn Levine, interviewed Zach Sims, CEO and co-founder of Codecademy, a site that promises to let people teach themselves to code.  In true learn-by-doing fashion, though, her review couldn’t be complete until she tried out the site herself!  In Part Two of this article, below, Evelyn tells us the story of her experience.]

Introduction:

I was intrigued when I first heard about Codecademy — an educational web site where I could learn programming online, free of charge.  Wouldn’t this require some sort of technical background, or spending hours online struggling to decipher lines and lines of code? Or, is it really something – as the site proclaims — that everyone can, and should, learn to do?

I decided to give it a try; but where to begin? Browsing the possible online courses, I felt a bit overwhelmed, and finally decided on taking the Introduction to HTML course. I suppose since I was feeling like I was being dropped in foreign territory, learning the language (of the Web) seemed like a good place to start.

Starting to Code:

The course I chose is designed in two sections: Section I: HTML Basics (which includes an Introduction to HTML, Body Elements, and Adding Images); and Section Il:  Project: Build Your Own web page.

I began uncertainly, wondering just how difficult learning HTML would be. Initially, I  felt as if I was trying to master a new language with its own style, syntax and terminology.

I began by learning how to set up and format a simple HTML file. The Codecademy course explained how a browser recognizes a file as HTML from the syntax of the HTML initializing tag and HTML opening and closing tags, and asked me to practice using these tags. And, as I continued, I started gaining confidence as I was slowly being introduced to new coding elements, and given the opportunity to practice my new skills. For example, in one section, I learned how the 6 different types of headings work and then an exercise allowed me to practice (making various headings, in this case).   Each exercise has a “hint” that gives some extra help if you are stuck. You rate the exercise with a thumbs up or down (what they do with these ratings is unclear but it gave me a sense of satisfaction being able to give feedback as I went along.).

While working on my HTML code, I was able to switch views between the HTML file and Codecademy’s own web browser (which worked seamlessly for the most part).  This makes it quick and easy to see how the code looks on a webpage. I felt like a “coder” right away as I entered HTML code and saw how my own written code was successfully being rendered in the browser.

Since I am new to coding, I appreciated the light, friendly, coaching style and the mostly “non-techie” language. The tone even creates a sense of fun. Take the six heading types: the largest size is described as “The CEO” or <h1> “– the mid-size heading is “Director of Some Stuff” or <h3> “to the smallest heading size described as “Gets Coffee for Everyone” or <h6>”.  When trying to learn something as potentially dry as coding, the light tone helps. I felt as if I was being taught by a friend who has a real passion for coding.

There were points where the new information felt overwhelming and once, halfway through the course, and as if reading my mind, the site displayed:  “A Mid-lesson breather”—“You’ve done an awesome job! Here’s a quick summary of things we’ve learned..)

And, whenever I needed a break, I just saved my work and was easily able to come back to the exact spot where I left off in the course, my own attempts to code waiting for me on the screen

When learning about HTML opening and closing tags, Codecademy explains that when I type in the opening tag, the site automatically creates the closing tag, and also provides the spacing for me. And, if I was wondering what happens when I have to do this in the real world, it quickly adds: “Good news: the editors that are used in web development typically have this functionality. It’s built in to help us. Remember, spacing is not technically required for the computer to understand what is going on. It is to help us when we need to make edits”.

This may be overstating a bit, but, the site’s anticipation of potential issues before they even arise made me feel as if I was in the hands of a masterful and caring teacher.

A comprehensive glossary of HTML documentation is included on a side tab for easy reference.  Using the reference is totally voluntary–I would have preferred if some of the exercises forced you to get in the habit of utilizing this reference–and I never gave it more than a quick glance.

Working through Codecademy’s course on the iPad is a bit tricky, and I wouldn’t recommend it. But it was possible for me to complete a small section once I finally got used to dealing with the typing, editing and spacing issues.

Getting by with a little help from my “Friends”….

Of course, I knew this type of thing would eventually happen…I got an error message (during an  exercise uploading images) and was still unable to resolve the problem (the message read “Check that you have entered all the necessary <p> tags”? …well, I already did that..).  But I  wasn’t stuck for long. I went to the very active Q&A forum on Codecademy’s site. I had two responses in a matter of hours, both helpful. It turns out that the means of importing images is dependent on which browser is being used. Who knew?

Out of curiosity, I spent some time browsing through the Q&A forum and saw a wide range of posts—there was everything from “Dude, I like need help to get through this….” to people submitting their code for debugging; to some very general questions such as “Is there a difference between the HTML this site is teaching and HTML5?”. To be fair, the Q&A forum guidelines do instruct you to be specific and descriptive in your question, to say what code you tried and what error message was received. But, this highlights the fact that this type of learning may not work well for everyone. The ideal student would be highly motivated, and self-directed.

I noticed that, at times, the Codecademy moderator jumped in to a discussion to clarify a point or add some tips and tricks, but mostly the answers were given by others on the forum.
On a  Coding Streak?

As I progressed, “badges” (given for successful completion of the independent exercises) and “points” (truthfully, if was not clear to me how these were being earned) were posted on my “profile.” The profile can be viewed by others in the fashion of a social networking site which provides friendly competition along with a sense of being part of a community of learners.

I found some motivation right on the site. This message was there when I logged into the site for a second day in a row: “You’ve started a coding streak? Can you keep it alive?.”  A bit hokey, maybe, but it made me smile, and I was reminded of it on the next day when considering if  I should log in or skip that day. Also, at another point, being able to see that I had already completed 70% of a section helped motivate me to stay with it and complete it.

I finally did complete the entire course with a total of 329 points and 8 badges; feeling a bit like a Girl Scout, happy with my merit badges, but not quite knowing exactly how proud I  should be of this level of achievement?

 

Am I a coder now?

I did learn to write some simple lines of HTML code and was able to set up a web page with a title, headings of various sizes, and to add images and web links to the page.  I suppose I am a coder—if this meets your definition of a coder.

However, if you think a coder needs to have a more global understanding of how HTML works, should know how their lines of codes will affect other parts of a site, and how the code can be modified, in the future, as needed–then I am not yet a coder. But, I also have to say that I am more interested in learning all this now that I’ve had a taste of it. And even after this short course, I felt a sense of satisfaction and the confidence that I could successfully continue on to the advanced course.

 

Was it worthwhile?

Codecademy founders are passionate about coding and want to share the joy; just as, for example, a dedicated Judge may feel that everyone should learn the Law.

And, for the rest of us, learning something new can be mentally stimulating and fun. And, beyond that, for anyone who relies on the internet for their work and personal life, it surely gives you a better understanding of how things work “behind the scenes.”  And there was a real sense of power seeing my own written code create a new web page from scratch.

But, will it help me perform my job, as a Training Manager, better?

It will certainly help if I am called upon to create or edit a website or to add web page links to training materials. And, who knows what tasks, assignments, and responsibilities I may be called upon to perform in the future…..an introductory knowledge of HTML may just come in handy.

The Last Word:

Looking at the big picture, though, I have to agree with one of this site’s blog readers who suggested in his post that what is most useful for the layperson is to get a general sense of how the Internet works and leave the coding to the professionals.  And, to use his musical analogy: after completing this course, I may be able to play a passable “Happy Birthday” on a piano, but I am hardly a musician.

Advertisements