I've been a longtime member @ HN, but I haven't been a developer. In fact, my only HN submission has been one asking how to learn to code (http://news.ycombinator.com/item?id=820741). My cofounder and I decided to solve the problem by making a simple, interactive way to get started with Codecademy. We'd love your feedback. If you're interested in helping us to get more courses up (on any topic!), please send us an email at [email protected].
[+] [-] zds|14 years ago|reply
[+] [-] fredBuddemeyer|14 years ago|reply
its obvious something is great when you instantly think why the hell hasn't everything been like this all along.
[+] [-] beefman|14 years ago|reply
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!
[+] [-] stephenou|14 years ago|reply
I am going to test how many students at our high school can get interested in programming after trying out Codecedemy.
[+] [-] HiroshiSan|14 years ago|reply
[+] [-] czzarr|14 years ago|reply
[+] [-] tolmasky|14 years ago|reply
[+] [-] nicki_easy|14 years ago|reply
I think that if this is aimed at beginners it needs to be dumbed down more--I am a reasonably intelligent absolute beginner curious about coding and whether I'm interested in learning some, and in this lesson you have completely lost me; I no longer understand what I am doing or why, and I don't know how to proceed:
Everything we've talked about so far has one value. But what happens when you need to store an ordered list of values? You use a data structure known as an array.
The editor now has an array named numbers with the numbers 1, 4, and 6 (look at how we set the values). To access a particular value, you can use the name of the array and its position, or index (they start with 0). To get the number 4 from the array numbers, you would write numbers[1].
Try writing a line that will set the value of a variable called six to third number in the array.
I feel like there is not enough building on the previous lesson and not enough practice/repetition for me to get a toehold on what I'm doing/learning before moving on to the next thing. Here you have already moved me up to a level of abstraction where I cannot continue the exercise without seeking outside help (from Google, a book, a friend...).
And my hint is: To do this exercise, you have to declare a new variable (using var six =) and set it equal to the value of the array (done with numbers[2]). Remember: array indexes start at 0, not 1.
I'm totally lost. This hint is not helpful to me and there are no more hints. I'm stuck and can't continue within the lesson itself without more hints, exercises or explanation.
Also, I think this is brilliant <3. Keep going.
[+] [-] zds|14 years ago|reply
[+] [-] reemrevnivek|14 years ago|reply
Also, "You're doing great! To continue, you'll need to register or sign in. Otherwise all that awesome progress you've made will be lost. Sign In\Register (it's free)" was a complete surprise, and felt like a roadblock (in spite of the "it's free" message.
If a user types through enough of the pages to get this message, they probably are enjoying the site and want to keep working with it. Why not include a "Not now" option in this dialog?
That way they can choose to join when they step back when they are done and say "Wow, that's a nice site! I want to come back later and keep working on this. I guess I ought to register!", rather than a "Meh, I've only invested 2 minutes, guess not".
[+] [-] jhen095|14 years ago|reply
The "You're doing great! To continue, you'll need to register or sign in. Otherwise all that awesome progress you've made will be lost. Sign In\Register (it's free)" dialog is most definitely a road block as there were no links available to go back to the home page.
Only two options were sign in or register. So yeah, there should be a cancel, or return to homepage
[+] [-] zds|14 years ago|reply
we'll update the dialog as well.
really appreciate the feedback! feel free to email more to me - zach (at) codecademy (dot) com.
[+] [-] revorad|14 years ago|reply
One thing I'd change is this error message which is not really an error message : "ERROR: Sorry, that's not correct. Please try again."
It appears every time I try some command which is not exactly the next step defined in the tutorial. It kind of feels like an old school tutor forcing me to follow a rigid book exercise and discouraging experimenting.
If you want me to complete the tutorial, don't move the progress indicator until I complete the next step, but please don't scold me with fake errors :-)
One thing I've been craving for is a place where I can jump in and get a quick primer on some random topic from another programmer. Think SO in real-time. I know there's IRC, but it's not very user friendly and I don't want to hop around different channels to ask different language questions.
If you build a truly social and interactive site for learning programming, I'd use it a lot.
Good luck!
[+] [-] zds|14 years ago|reply
we're opening it up to free programming asap and we're going to stop the fake errors thing.
this is exactly what we're planning on doing - let me know if you'd be interested in creating a lesson or if you have other feedback - zach (at) codecademy (dot) com.
[+] [-] OmarIsmail|14 years ago|reply
Starting with Javascript is definitely the way to go, as I strongly believe it's the language of the future (and right now actually). One request for courses would be intermediate/advanced javascript for people that already know how to program.
Also I think you should reach out to library developers (backbone, underscore, jquery, etc) so that instead of having a static readme/how-to they can create a course on how to use their library. I know that would get me up to speed on them a heck of a lot faster and would be super useful.
[+] [-] reemrevnivek|14 years ago|reply
@zds: Any plans to make this an online course submission, or do you want to filter everything through emails?
[+] [-] rkalla|14 years ago|reply
I really well done flow (like this one) reminds me just how fun it is to learn something when it is presented well. I am ashamed to say that if I had to teach someone, say Java, I wouldn't know how to present it in a fun, non-crushing manner.
I am glad there are people out there working on resources like this.
[1] http://try.redis-db.com/
[2] http://www.mongly.com/tutorial/index
[+] [-] zds|14 years ago|reply
[+] [-] psychotik|14 years ago|reply
Any thoughts/plans to go that route?
[+] [-] zds|14 years ago|reply
[+] [-] Hostile|14 years ago|reply
I always loved that, and I think this has a lot of potential. Tomorrow being Whyday, I think I'll send this to some people to try and spread the joy of programming.
I do think that the parentheses and semicolon stuff might appear sort of abruptly for the completely non-technical, but it's hard for me to judge, really.
[+] [-] zds|14 years ago|reply
[+] [-] Gring|14 years ago|reply
Imagine a customer that is really happy with what you provide. Do you really believe that this person is unable to recommend it to others without your help?
What these logos tell me is this: You believe your site isn't good enough that people will take the 2 minutes to talk about it, but you hope that if you make it easy enough to just click a button, masses of these low-involment-recommendations would somehow make up for it. Which they never do.
Great concept otherwise, congrats.
[+] [-] jsharpe|14 years ago|reply
This is a really awesome site though, and I'm really excited to see it grow with more and more lessons.
[+] [-] jsharpe|14 years ago|reply
[+] [-] tnorthcutt|14 years ago|reply
[+] [-] ph0rque|14 years ago|reply
[+] [-] SudarshanP|14 years ago|reply
[+] [-] zds|14 years ago|reply
[+] [-] scelerat|14 years ago|reply
I think basic programming is actually conceptually easy. I remember being frustrated by not understanding the lingo and I think that's where a lot of people starting off get hung up, too. What's the difference between a syntax error and a runtime error? Or an exception? What happens when the compiler spits out some gobbletygook, and now I'm digging through a manual written for people who already know how to program.
In this sense the Codeacademy poses similar hurdles. It will report an Error, without giving more context. Why is it an error? Did I quote something I shouldn't have? What does unexpected token mean? OH, I left off a quote.
i.e. instead of "Error: Unexpected token ILLEGAL", a better message (perhaps linked from the strict message) would be "The program interpreter couldn't understand what you meant because it was expecting to see some syntax or punctuation that didn't exist. Common reasons are unpaired quotes, braces or parentheses"
Because the environment is already somewhat controlled, the helpful messages can have a narrower, clearer scope. Overall Codeacademy is great; I'm recommending it to a lot of people.
[+] [-] olivercameron|14 years ago|reply
[+] [-] primigenus|14 years ago|reply
We ended up initially putting you into an introductory prototype when you first start an account where we bring you up to speed on what our tool can do in terms of writing HTML before we go further and show you more about how our tool is special.
Strangely, after launching in the Chrome Web Store, we started getting a lot of feedback from people who had stumbled into it and were discovering HTML for the first time through our getting started guide. They don't have a clue what "HTML prototyping" or "interaction design" is, but they love learning about "how to make websites" with Handcraft.
Just thought I'd share. Great work with Codecademy! I'll be keeping my eye on it and might start forwarding people over if they get stuck with what we have on offer.
[+] [-] chetan51|14 years ago|reply
Small bug: On http://www.codecademy.com/programming-intro/4#!/exercise/3, it says "We've given you an example for the first one", but there is no example.
[+] [-] zds|14 years ago|reply
[+] [-] amasad|14 years ago|reply
[+] [-] zds|14 years ago|reply
[+] [-] peterb|14 years ago|reply
[+] [-] peterb|14 years ago|reply
[+] [-] physcab|14 years ago|reply
[+] [-] SudarshanP|14 years ago|reply
[+] [-] zds|14 years ago|reply
[+] [-] planckscnst|14 years ago|reply
Because I'm a programmer, I know that the + operator concatenates strings, but I don't think everyone will think consider that, and it hasn't been mentioned at that point.
[+] [-] zachshallbetter|14 years ago|reply
[+] [-] cadr|14 years ago|reply
Was that on purpose?
[+] [-] jeffreymcmanus|14 years ago|reply
[+] [-] cwilson|14 years ago|reply
[+] [-] zds|14 years ago|reply