Live data from Hacker News

Show HN: Codecademy.com, the easiest way to learn to code

codecademy.com

221–230 of 239 posts

Re: Show HN: Codecademy.com, the easiest way to learn to code

#221
post #217

Earlier quoted context omitted.

The way I would describe an array to a novice is that it's a more complex and potentially useful type of variable, similar to the ones you've been making so far, only instead of having a single "slot" for data, they are organized in a way that allows for multiple slots for information, and you can reference each slot by their position in the array, starting with position 0 (0, 1, 2, etc. describing the first, second…

I need some milk! Let me add that to my shopping array. Back in the real world, I see non techies deal with lists every day. Ordered lists. Given a list, with numbers in the margin, they can easily answer "Who came first?" or "What's next on the list?", or "What's item 5 on the agenda". But noooo. We have to call them arrays. Lists are something else. o_O The way I would describe an array to a novice is that it's a m…

That's because arrays do get more complicated than flat lists like the example I gave above. You can actually have multiple organized data points in each position of the array as well, making arrays function more as a 2D relational database than as a flat list of data.

For example, I could make an address book array with multiple data points as such:

    var addressbook = [{"firstname": "John", "lastname": "Doe", "phone": "555-555-5555", "email": "johndoe@host.com"}, {"firstname": "Jane", "lastname": "Smith", "phone": "666-666-6666", "email": "janesmith@host.com"}]
Then, I can retrieve a piece of information like Jane's phone number like this:

    var janesnumber = addressbook[1].phone
Arrays are very powerful tools, especially once you start referencing other arrays in them, as it allows complex organization of data without always needing to resort to a database solution, with a whole new language to learn.

Re: Show HN: Codecademy.com, the easiest way to learn to code

#223
This is great. Especially now, Javascript's a great language to learn and possibly is directly useful to many people.

A suggestion is to gently scold users who do a variety of "bad javascript" things. You may want to let them know that what they did works, but may cause problems somehow.

The first item that comes to mind is accidentally making global variables by leaving out the `var` when creating new variables.

Also encourage users to end lines with semicolons (maybe only when using an editor).

Currently, if you do these things you can pass the exercises anyway. Arguably you shouldn't be able to pass "Let's Try That Again" in "Variables" if you do it with a global variable.

Re: Show HN: Codecademy.com, the easiest way to learn to code

#224
A typo is the hint in "UpperLowerCase" reads `just type .toUpperCase after it` missing the parenthesis on the function.

Additionally if the user actually does this, they don't get an error and instead get something they probably don't expect:

    > "asdf".toUpperCase
    ==> function toUpperCase() {
        [native code]
    }
Maybe sometimes don't always output the evaluated result of what the user typed. Or just output an error also with it.

Re: Show HN: Codecademy.com, the easiest way to learn to code

#225
post #55

Earlier quoted context omitted.

No, it is absolutely not an implementation detail. When I was setting out to learn programming, I bought every book I could lay my grubby teenaged hands on about the language. Knowing the name of the programming language allows you to ask questions about it of other people and the Internet.

It's an implementation detail to a beginner .

I was a beginner.

Re: Show HN: Codecademy.com, the easiest way to learn to code

#226
post #95

Earlier quoted context omitted.

Awesome, thanks! I've always thought the use of books to teach programming was a bit ironic, especially for interpreted languages. Back in the early '90s I had a book called Master C, which came with a floppy that ran a similar type of tutorial. http://www.amazon.com/Waite-Groups-Master-Book-Disks/dp/1878... Seems like a long gap between then and now. Also, please let me request a course on Clojure. That would rule!

http://www.try-clojure.org/

(+ 3 3) is really how arithmetic is performed in Clojure? Okay, I'm done with learning Clojure.

Re: Show HN: Codecademy.com, the easiest way to learn to code

#227
post #101

Why doesn't this say right at the very beginning what language you are trying to teach? The tone of the site is incredibly arrogant. What makes you qualified to teach? Have you heard of the Dunning-Kruger effect? It should be more explicit that this site is teaching Javascript (are you teaching other languages? it is not clear) and it is for complete beginners, and that the site creators make some very patronizing as…

I agree that the site should mention that the user will be programming in Javascript... but I'm not sure where you were going with the rest of that. "Arrogant" is definitely not the word I would use there.

ARROGANT is precisely the word. The 'teachers' are showing off their real time javascript interpreter in an ersatz form of diluted rote learning. Monkey-see monkey-do is like putting blinders on someone.It's like telling you I am going to show you how to eat ice cream and giving you a scoop of vanilla out of your freezer.. I'd rather go to Kimball's and see people getting all sorts of flavors, all sorts of ways-and then when I see something interesting-ask them what does it taste like. Arrogance is when you hightlight the difference between you and me and then doing something to maintain that divide. Arrogance is the mechanism of maintain inequality. False advertising is a subtle, but commonly used form of arrogance.

Like I said earlier, show me a way to interact and tinker with an already existing codebase that does something interesting. Make sure that codebase is extremely well commented and hyperlinked. And I will be swimming with freedom in a limitless sea of knowledge that people have cultivated over decades.

Re: Show HN: Codecademy.com, the easiest way to learn to code

#229
post #226

Earlier quoted context omitted.

http://www.try-clojure.org/

(+ 3 3) is really how arithmetic is performed in Clojure? Okay, I'm done with learning Clojure.

It may look like a weird way to type things, but it has hidden advantages when you try to do more complex things, like treating data as a program... or programs as data.

It's a small price to pay, really, for the power to make some really complex things a lot easier, even if it's a bit weird at first.

After a while, it won't even seem weird any more.

Re: Show HN: Codecademy.com, the easiest way to learn to code

#230

Interesting feedback: I had my gf do it, and she got stuck in the .length portion, because she kept typing: "name".length. This is because the prompt said: Well done! How long is your name? Find out by typing your name in quotes and ending it with .length. For me, that'd be "Ryan".length. Apparently its not clear enough what is code and what isn't. While you and I can tell that the last period belongs to the sentence…

Yeah that was the very first thing I noticed, and I have to admit I stopped right there since there was already a typo on the very first lesson
Post reply on HN