# Learn to code in 2012 - Codecademy

**URL:** <https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [January 11, 2012, 6:38am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141 "2012-01-11T06:38:58Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wolverine](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@Wolverine](https://boards.straightdope.com/u/Wolverine)\
**Post date:** [January 11, 2012, 6:38am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/1 "2012-01-11T06:38:58Z")

</div>

Codecademy is teaching anyone that wants to learn how to code. It is a free program running through 2012 with weekly lessons. I’ve just started Week 1 and wonder if anyone else here is also doing this? Apparently 250,000 people signed up including Michael Bloomberg. I’ll post some thoughts once I finish the first lesson.

---

<div class="post-metadata">

**Author:** ![Wolverine](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@Wolverine](https://boards.straightdope.com/u/Wolverine)\
**Post date:** [January 11, 2012, 10:43am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/2 "2012-01-11T10:43:05Z")

</div>

I finished the first lesson and it was harder than expected. The instructions are clear and they cover a lot of ground, but it would be very helpful to be able to ask questions about what I’m doing and seeing. I started the FizzBuzz application under the extra courses but I encountered some problems and got stuck. I sent in some feedback, but I don’t know how long it will take them to respond.

Frustrated, but excited.

---

<div class="post-metadata">

**Author:** ![Red\_Stilettos](https://avatars.discourse-cdn.com/v4/letter/r/fbc32d/32.png) [@Red\_Stilettos](https://boards.straightdope.com/u/Red_Stilettos)\
**Post date:** [January 11, 2012, 6:14pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/3 "2012-01-11T18:14:56Z")

</div>

I thought about enrolling in this, as I think a bit of coding skill could be very useful to me. But, I was reluctant because I’m currently finishing a Master’s degree which includes a thesis and working full-time. I don’t really have a lot of time to dedicate to it. After your initial thoughts, I’m not feeling any more confident about having the time to do it. Maybe I’ll check it out this weekend. Do you have to keep up with it each week or do the older lessons remain available?

---

<div class="post-metadata">

**Author:** ![phreesh](https://avatars.discourse-cdn.com/v4/letter/p/9fc29f/32.png) [@phreesh](https://boards.straightdope.com/u/phreesh)\
**Post date:** [January 11, 2012, 6:58pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/4 "2012-01-11T18:58:29Z")

</div>

I joined and have completed the first lesson. Not too hard, but I worry that my recall will be quite poor. It’s only been a couple days and I feel like I’ve forgotten about 80% of it. We’ll see…

---

<div class="post-metadata">

**Author:** ![Sunspace](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/sunspace/32/1250_2.png) [@Sunspace](https://boards.straightdope.com/u/Sunspace)\
**Post date:** [January 11, 2012, 7:09pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/5 "2012-01-11T19:09:20Z")

</div>

I could use this. I’d like to know more Java and Javascript, especially as they relate to HTML5. What languages do they teach?

:: starts playing ::

It _is_ Javascript!

---

<div class="post-metadata">

**Author:** ![DadWagonDriver](https://avatars.discourse-cdn.com/v4/letter/d/edb3f5/32.png) [@DadWagonDriver](https://boards.straightdope.com/u/DadWagonDriver)\
**Post date:** [January 11, 2012, 9:53pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/6 "2012-01-11T21:53:34Z")

</div>

This is really cool; thanks for posting it!

---

<div class="post-metadata">

**Author:** ![Wolverine](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@Wolverine](https://boards.straightdope.com/u/Wolverine)\
**Post date:** [January 12, 2012, 12:06am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/7 "2012-01-12T00:06:33Z")

</div>

> [@Red\_Stilettos](#):
>
> Do you have to keep up with it each week or do the older lessons remain available?

They only have 4 courses available right now for Week 1, but they appear to stay up for the whole year. I already had to backtrack during the FizzBuzz application to an earlier course to remind myself how to do something. There is no rush, but there are supposed to be some social aspects of it to track your progress against friends. Codecademy expects people to fall behind and is using different methods to keep people engaged. These include “points” instead of grades, medals for achievements, weekly emails, and peer pressure.

---

<div class="post-metadata">

**Author:** ![Darryl\_Lict](https://avatars.discourse-cdn.com/v4/letter/d/7cd45c/32.png) [@Darryl\_Lict](https://boards.straightdope.com/u/Darryl_Lict)\
**Post date:** [January 12, 2012, 12:12am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/8 "2012-01-12T00:12:55Z")

</div>

This is great for me. I just wish they had an online javascript manual along side it as unfamiliar code convention is hard for me to remember. Looking up proper syntax in a manual doesn’t seem unreasonble.

---

<div class="post-metadata">

**Author:** ![Crowbar\_of\_Irony\_3](https://avatars.discourse-cdn.com/v4/letter/c/f08c70/32.png) [@Crowbar\_of\_Irony\_3](https://boards.straightdope.com/u/Crowbar_of_Irony_3)\
**Post date:** [January 12, 2012, 1:59am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/9 "2012-01-12T01:59:52Z")

</div>

I like how they’re using interactivity to teach certain concepts across. For the first lesson, though, I wish they put some time into explaining why you need the quotes. But the underlying reasons for that is quite complex too.

It’s really friendly to beginners. Thumbs up!

---

<div class="post-metadata">

**Author:** ![BigT](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bigt/32/12044_2.png) [@BigT](https://boards.straightdope.com/u/BigT)\
**Post date:** [January 12, 2012, 2:29pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/10 "2012-01-12T14:29:03Z")

</div>

I’ve done some work on my own in JavaScript before, but this is kinda fun. I still learned a few things even in the more basic lessons.

> [@Wolverine](#):
>
> I finished the first lesson and it was harder than expected. The instructions are clear and they cover a lot of ground, but it would be very helpful to be able to ask questions about what I’m doing and seeing. I started the FizzBuzz application under the extra courses but I encountered some problems and got stuck. I sent in some feedback, but I don’t know how long it will take them to respond.
> 
> Frustrated, but excited.

I got 'em all, although a couple questions took me forever to figure out what they wanted (and I reported them). Which one is giving you problems? Maybe I can tell you what they want in a way that makes more sense.

* * *

Am I the only person who has only 98% on “Getting Started with Programming” despite having all the lessons complete?

Also, did anyone else completely rewrite the FizzBuzz program so you wouldn’t have to include an exception? If not, try it for an extra challenge, since they are already a week late.

Hint:Use regular if, not else if. Figure out a way to easily replace the else with an if statement. And store your output in a variable and only write at the end, since you console.log always takes up a whole line.My code:[spoiler]

```php
 
var max = 100; //set to highest number
// for the numbers 1 through max,
for (i=1; i<=max; i++) { 
  
  var output = "";
  // if the number is divisible by 3, write "Fizz"
  if ( i % 3 === 0 ) { 
    output = output + "Fizz";  
      //I guess output = "Fizz" would work, but it's less generalizable
  }
  // if the number is divisible by 5, write "Buzz"
  if ( i % 5 === 0 ) {
    output = output + "Buzz";
  }   
  // if you haven't written anything, write just the number
  if (!output) {
    output = i;
  }
  console.log(output);
}

```

[/spoiler]The result could be used as a template for any alternate games with more replacement words, and thus, I would think, is better code.

---

<div class="post-metadata">

**Author:** ![Wolverine](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@Wolverine](https://boards.straightdope.com/u/Wolverine)\
**Post date:** [January 12, 2012, 5:04pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/11 "2012-01-12T17:04:01Z")

</div>

> [@BigT](#):
>
> I got 'em all, although a couple questions took me forever to figure out what they wanted (and I reported them). Which one is giving you problems? Maybe I can tell you what they want in a way that makes more sense.

I went back and figured out what was the problem. I had the right if (i%3===0) and else but I had an extraneous piece of code at the beginning that I thought I needed, but didn’t. While I didn’t write it without an exception (you did some stuff I’m not familiar with), I’m happy I wrote the game to include a prompt for any possible positive integer.

```php
var number;
number = prompt("Enter a positive, whole number");
for (i=1; i<=number; i++) { 

```

I currently have 100% on 3 of the courses and stopped partway through “JavaScript Quick Start Guide”. I didn’t understand the instructions for #3-3 Bang Operator. I understand the concept, but not my goal. I’ll get back to it later when I have more time.

---

<div class="post-metadata">

**Author:** ![ZipperJJ](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/zipperjj/32/211_2.png) [@ZipperJJ](https://boards.straightdope.com/u/ZipperJJ)\
**Post date:** [January 12, 2012, 7:06pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/12 "2012-01-12T19:06:00Z")

</div>

> [@Darryl\_Lict](#):
>
> This is great for me. I just wish they had an online javascript manual along side it as unfamiliar code convention is hard for me to remember. Looking up proper syntax in a manual doesn’t seem unreasonble.

Anything you ever wanted to know about Javascript (and most coding) is already on the Web. I think an important part of being able to code is being able to find answers to your questions online. I do it every day.

The W3 Schools is usually the best place to find explanations of everything. Here’s their section on [Javascript](http://www.w3schools.com/js/).

---

<div class="post-metadata">

**Author:** ![RoeCocoa](https://avatars.discourse-cdn.com/v4/letter/r/7feea3/32.png) [@RoeCocoa](https://boards.straightdope.com/u/RoeCocoa)\
**Post date:** [January 13, 2012, 12:28am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/13 "2012-01-13T00:28:44Z")

</div>

I blazed through all of the available material on Codecademy last night. There was one lesson (can’t remember which one) where you have to add some code to solve a problem, but there’s also a mistake in the existing code that the lesson doesn’t tell you about-- so if you just do what the instructions tell you, the program will keep returning an error until you find the mistake that you don’t yet know how to look for.

It’s true that all of this information is available elsewhere, but I really like the interactive format. I’m looking forward to the next set of lessons.

---

<div class="post-metadata">

**Author:** ![BigT](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bigt/32/12044_2.png) [@BigT](https://boards.straightdope.com/u/BigT)\
**Post date:** [January 13, 2012, 3:45am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/14 "2012-01-13T03:45:21Z")

</div>

> [@Wolverine](#):
>
> I currently have 100% on 3 of the courses and stopped partway through “JavaScript Quick Start Guide”. I didn’t understand the instructions for #3-3 Bang Operator. I understand the concept, but not my goal. I’ll get back to it later when I have more time.

Yip. That was one that gave me trouble. I used at least two other methods that were perfectly legit, but they didn’t like it. I finally buckled down and looked at the hint, which tells you exactly what they want. All I’ll tell you is that they do not want you to use !true or !==. They want the simplest possible way.

BTW, does anyone else think it would be interesting to see the JavaScript they use to check and see if you got it right?

---

<div class="post-metadata">

**Author:** ![Wolverine](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@Wolverine](https://boards.straightdope.com/u/Wolverine)\
**Post date:** [January 13, 2012, 4:55am UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/15 "2012-01-13T04:55:39Z")

</div>

> [@BigT](#):
>
> Yip. That was one that gave me trouble. I used at least two other methods that were perfectly legit, but they didn’t like it. I finally buckled down and looked at the hint, which tells you exactly what they want. All I’ll tell you is that they do not want you to use !true or !==. They want the simplest possible way.

My mistake was that I was using console.log instead of return. What is the difference between these? I found some individual definitions elsewhere but little explanation on the difference and when each is appropriate.

---

<div class="post-metadata">

**Author:** ![UncleRojelio](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/unclerojelio/32/3160_2.png) [@UncleRojelio](https://boards.straightdope.com/u/UncleRojelio)\
**Post date:** [January 13, 2012, 3:53pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/16 "2012-01-13T15:53:50Z")

</div>

What do they want in "Functions in JavaScript Lesson 2.3? It says to run the code to see the error but not what they want to finish the lesson.

Nevermind.

Just comment out the offending line

---

<div class="post-metadata">

**Author:** ![UncleRojelio](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/unclerojelio/32/3160_2.png) [@UncleRojelio](https://boards.straightdope.com/u/UncleRojelio)\
**Post date:** [January 13, 2012, 4:06pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/17 "2012-01-13T16:06:29Z")

</div>

Done, when does the next lesson come out?

---

<div class="post-metadata">

**Author:** ![UncleRojelio](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/unclerojelio/32/3160_2.png) [@UncleRojelio](https://boards.straightdope.com/u/UncleRojelio)\
**Post date:** [January 18, 2012, 3:21pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/18 "2012-01-18T15:21:23Z")

</div>

Anyone working on Functions in JavaScript » Lesson 1.4? I’m getting the correct output but still getting the “Oops, try again.” message. What does it take to make this thing happy?

---

<div class="post-metadata">

**Author:** ![UncleRojelio](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/unclerojelio/32/3160_2.png) [@UncleRojelio](https://boards.straightdope.com/u/UncleRojelio)\
**Post date:** [January 18, 2012, 4:24pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/19 "2012-01-18T16:24:22Z")

</div>

Nevermind again. I proceeded on past and came back to the offending exercise. When I reran the same code it worked. Go figure. I’m all caught up on this weeks exercises now.

---

<div class="post-metadata">

**Author:** ![UncleRojelio](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/unclerojelio/32/3160_2.png) [@UncleRojelio](https://boards.straightdope.com/u/UncleRojelio)\
**Post date:** [January 23, 2012, 9:05pm UTC](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141/20 "2012-01-23T21:05:40Z")

</div>

New exercises are out.

[Next page](https://boards.straightdope.com/t/learn-to-code-in-2012-codecademy/609141.md?page=2)
