Codecademy closes $10M round
blogs.wsj.com
blogs.wsj.com
Codecademy meets Geocities
I did my first web programming on Geocities when I was in middle school. I saw an awesome website my friend made with crazy animated gifs and pictures of Shaq. I wanted one for my own.
I went home, and in a week, I banged out my own site with pictures of Stephon Marbury and a pageview counter and more animated gifs. It was glorious.
I've only been able to learn by doing and the best kind of doing is creating something. I'd love to see someone have lessons in an online, interactive programming environment a la Codecademy, but have the result exist and be live on the web, and provide a basic development environment to just build stuff.
In other words, lesson one is "Hello World". When I'm done, my app is available at http://newapp23.codecademymeetsgeocities.com. I'll show my friends. I'll change the text to read "Hello suckas!" I'll move on to the next lesson, or I'll just start playing. I can toggle between viewing my app as a progression of lessons, or as files and folders.
If someone's working on this, do let me know.
There's definitely space for this, but what we've discovered is that it has the same problems as Codecademy-esque services. You can do various things to attempt to keep users engaged, but at the end of the day nobody is paying for anything and therefore has very little invested in the process.
That's not to say it can't work -- perhaps it can. But it's been tried and the variables need to be tweaked just right, and it's a hard combination to find.
I agree, I'd love this too. I learned in a similar manner as what you've described.
On the other hand, arguably Wordpress, Scratch[1] and even the Chrome, Apple, etc. app stores have already filled this niche in different domains (PHP, kids, browser plugins, apps).
Heroku is probably the easiest to get started with and is generously free (you can run actual sites from that free instance). At work when we were mentoring a boss's nephew we had him going to Michael Hartl's Rails tutorial and he had a site up on heroku in about an hour and was really have a great time seeing things iterate as he pushed up changes.
You don't get newapp32.codeacademymeetsgeocities.com but you do get something like rushing-waterfall-2311.heroku.com and you can customize that rushing-waterfall-2311 should you care too (still for free).
I learned the same way as you, using free website hosting (with http://en.wikipedia.org/wiki/Wanadoo) in my local library in 2003. While my friends played Runescape I harnessed the power of <marquee>
For anyone new to Python, I highly recommend Udacity. It's still a little unbelievable to me that it's free.
*edit: I should have mentioned that this course uses app engine throughout it's entirety. Not just the first lesson :)
I still recommend books for anyone that is serious about learning to code.
"I still recommend books for anyone that is serious about learning to code."
Agree although I haven't tried the site since January.
"looking to translate the site, considering I think their English version is of mediocre quality"
Expand expand expand before getting your own house in order. It sounds impressive to investors and future investors if you've got a large footprint and as many users as possible. The experience and utility of codecademy is of course of less importance and that info certainly isn't going to be released. Other than we will most likely have some carefully placed stories about someone who was able to give up pole dancing because they learned to code in order to support their 4 children and go to medical school.
As far as sites teaching coding, I'm a fan of http://www.codeschool.com/
Most of its content requires a $25/month membership, but last I checked just its free content is more and higher quality than what you can get at codecademy
we're working on fixing a lot of these problems. much of our content is community generated and moderated/rated by the community. we're getting better at course quality and won't stop until you'd recommend us over books. thanks again - feel free to email me if you have any further questions!
If you are working on fixing and improving your site that is what you should be spending your time on.
Not doing this:
"“We will launch foreign-language sites in German, Spanish, Japanese, Russian and Chinese,” he said. The translation is being done by the site’s users."
Regardless of whether the translation is done by the site's users my feeling is that that is a distraction to you right now in coming up with the best product you can for your initial market.
Mr. Simms is unapologetic. “Think about it less as coding and more as algorithms,” he said. “Traditionally there are the 3 Rs—reading, writing and arithmetic. We think algorithms should be the fourth. Not everyone has to learn to code, but needs to learn the notions of algorithms, realizing what you can use code for.”
-----------------------------------------------------------
This is an odd thing for him say--when I tried Codecademy, the focus was coding and algorithms were given no attention that I could see. Has this changed?
I'm not sour on Codecademy, but it seems to me they need better ways of evaluating completion of an exercise.
The tests are arranged in order of normal input to increasingly strange user input, i.e., edge cases.
Should be easy enough for Codecademy to implement that.
"signed up the Mayor New York, Michael Bloomberg"
"London Mayor Boris Johnson, a man more at ease with Catullus than C++, was reported by the British Broadcasting Corp. to be “in awe” of Mr. Bloomberg.""
In awe of signing up apparently. Of course I have no personal knowledge of whether Bloomberg has actually done anything on codecademy since signing up. But I suspect he hasn't simply because of his busy schedule and limited utility for learning "to code".
It's amazing how things like this get repeated by the press though. As if signing up really means anything at all which it doesn't. It's like signing your name to a petition at the mall.
Well signing your name to a petition can matter a whole lot when you're the Mayor of New York.
I get what you're saying, and I don't doubt that this is a publicity stunt to an extent. But still- Bloomberg has decided that learning to code is something he ought to promote and make visible to a wider audience. That's notable.
Agree that it's notable. Keep in mind though that Bloomberg has ties to Fred Wilson of USV who invested in codecademy and codecademy is located in NYC (so even w/o the Wilson connection that's an axe to gore/grind whatever). Wilson opened http://afsenyc.org/
http://schools.nyc.gov/Offices/mediarelations/NewsandSpeeche...
http://articles.businessinsider.com/2012-01-12/tech/30618838...
http://www.avc.com/a_vc/2011/06/the-chorus-for-immigration-r...
Disclosure: I've done some consulting for the above mentioned entity.
I'm a bit worried about what might happen to all these young potential coders if the marketing doesn't deliver as promised.
Meanwhile, I'd like to propose a much humbler effort which is not intended to compete by any means with codecademy:
We run a little anti-school from our Brooklyn loft. We call it Kitchen Table Coders [1] because we only allow as many people who can fit around our kitchen table. Every weekend we pick a topic that we're excited about and carve out some time to teach it to others.
(btw - we're not a startup nor do we wish to be. If you'd like to start a Kitchen-Table-Coders session in your town, please do. We'll help you get started.)
It may not be taking a CS 101 course at an Ivy league school, but it's a great game to get people to start using if statements, loops, conditionals, classes, and objects.
Also, there's nothing like putting a bunch of Card objects into a Hand object to quickly realize: "Oh, THIS is why we do object-oriented programming."
Of course, the "final version" of that functional program is in the Javascript console at the moment. But they are adding jQuery classes in addition to their CSS and HTML offerings. The intent is clear: at the end you will have a complete website.
Even now, if you pick up a book on jQuery and know a bit of HTML already, you can bridge the gap between just the Javascript final project and a website in an afternoon. As I did a few days ago: http://www.highwaterlabs.com/apps/blackjack.html
As the cirriculum develops the final will go way beyond just blackjack.
Here's hoping this money enables Codeacademy to ignore funding for awhile and just build!
But:
"If they come, especially if 450,000 users come in six months, you will get $10 million dollars. Then you will build it."
This could also work ;)
In short, I am the ideal user of Codecademy and have really enjoyed the experience relative to other resources available.
I have to pry...what is the most useful thing you've been able to do with what you've learned so far? I've taught Ruby to beginners and though it hate the configuration process, at least I can show how to do useful things pretty quickly, like writing a loop to pull down a set of webpages. I want to teach JS to beginners but can't think of useful things to do...there are neat things, of course (such as JQuery animations)...but I'm looking for practical tasks.
Alternatively you can do this entirely with localStorage, problem there is that you need to provide an extra lesson about why localStorage doesn't work "online" (across the network).
I definitely think javascript is at a state where it's actually easier to understand the underlying principles of programming, i.e. why design decisions are made and how each component is integrated with the next component. Contrast this with rails where everything is magic, and I would much rather learn from a bottom-up kind of approach. When the front-end logic is all taken care of, Your next lesson will be to build "the part that parse.com is taking care of". So you throw up a sinatra app maybe, provide 2 REST endpoints etc. Thinking about applications as a composition of integrated services (database, database api, UI, application logic, etc) proves a lot more understandable and also has the benefit that it's a very mature way to look at things actually!
Just writing this get's me excited to start teaching my friends again. The problem is it's very hard and very exhausting (in a good way but I only have so many hours in the day!)
The biggest problem for me keeping the iceberg manageable. I should let them know just how many TONS of stuff they will eventually need to know, but ideally I want to do that in a procedural fashion so that it makes elegant sense.
I can't imagine how frustrating it is for a total beginner to understand the mechanisms, even if they are web desires with some experience with the DOM.
The good thing about teaching a language like Ruby or Python is that you don't have to build a webpage. In fact, most people are very content with not publishing on the web...and so they are reluctant to study JS because they think it's only for web development.
But with Ruby, you could write something that sucks in Craigslist results and reformat it so that you don't have to click through to see the pics...and then store it as a local file that is written to every 5 hours...I did this plenty of time when doing a furniture search...
I know you can hack Google tables/fusion to do some of this, but that's a whole new layer of things to learn...whereas everyone gets basic text files existing on the HD
I think it probably just comes down to preference. I'm positive that a large portion of people that "want to learn to program" really mean "make a web application", but that's not to say that scripting isn't equally rewarding/fun. HN is filled with cool posts about how to make little command-line utilities that do xyz -- yes very nice indeed!
Lastly, FWIW, I sure am glad you say "ruby" as opposed to "rails" because I can't imagine the DOM being harder to learn than everything that rails is taking care of for you under the hood.
But yeah, ruby != rails. That is most definitely something I clear the air about right away.
Interesting video to watch. Serious question here. When do you think starting most sentences with "so" is going to stop?
That being said, it's still a good tool with potential, and they might just be worth whatever valuation this round was brought in at (I didn't see mention of it in the article). Best of luck to the team!
However, these people are not the majority. When I TA'd for an introduction to Computer Science course, most of student's difficulty, especially on more difficult assignments, was not syntactic and getting a program to compile or run but rather conceptualizing and implementing the intermediate tasks that the program needed to accomplish in order to produce the final result. In my opinion, this is the most difficult part of writing anything beyond the most basic piece of software and the area which online programming courses are the least helpful.
That being said, I think that Codecademy and similar sites are very helpful of learning the syntax of a particular language which, of course, is the first step to being able to write code.
"Learning by doing: doesn't that sound fantastic? That’s why I’m investing in @Codecademy http://t.co/V62rcoWK
Except that learning by codecademy is not doing it's learning
Learning by doing might be learning while working as an apprentice for a master plumber, carpenter etc.
I think better introductions to programming for complete novices would include things like visual programming environments (Scratch, Blockly), or editing/tweaking levels in a game, or making alterations to an existing simple game or animation, like the Processing.js ones on jsdo.it and other sites.
patio11 brought up a good point in that in order to read one must learn the alphabet. I think this is very true but lets apply that here and realize codecademy teaches the alphabet -- not how to read.
Agree. While I am not a programmer, I can certainly do enough to have made money with programs that I have written that have allowed me to achieve some goal that I had. Starting with editing shell scripts with ed and awk (a crude estimating system). To me it's fun. What can I do to automate something? How can I tweak this or that? I'm sure this is quite common. Fun. You want to do it. You like doing it. It's not work.
I've been doing this for quite some time now and found it fun right from the start and never get bored and it's always a challenge.
The bottom line though with all my learning has been making mistakes and figuring things out. In order to do this you need to actually make something and use it in order to think and come up with ideas on how to make it better and to solve the problems you run into.
If you want to learn to read: you learn the alphabet first.
If you want to learn to code: you learn the basics first.
Codeacademy targets nonliterate coders, AKA people who don't know the alphabet.
It's pedantic to say that people aren't learning coding, just like it's pedantic to watch someone learning the alphabet and saying "You're not learning to read". Yes, they are, that's the entire reason they're learning the alphabet.
I don't know what they could do differently to keep me more engaged, because I feel like it's my own fault, not theirs.
I'm a designer by trade and a visual learner by heart and none of these services have helped me further my grasp on JavaScript as a whole.
CodeAcademy's error prompts are too vague to help those of us who don't know what is fundamentally going on. In one click I can find the answer, learn nothing from it and move on to the next challenge. Being able to cheat so easily is a huge turn-off to me and should be an equally big turn-off to employers/teachers who hope to utilize the badge systems these sites tout to gauge the student's abilities.
CodeSchool is apparently for people who already have a background in programming. Both my boyfriend and I attempted to take jQuery Air (a front-page testimonial says that someone without any JS knowledge could do it) and both of us got stuck at the same part. After doing some reading into the issue I found someone else that was having a similar problem in another course. The answer from CodeSchool was that they just assume students have the knowledge going into a course to tie up any loose ends and that it was intended that they'd have to do some research on their own. Yeah, no thanks. Furthermore, the way they handle "hints" is terrible and detrimental to the experience (I shouldn't have to waste 3 hints and get my score lowered in order to get to the one that's actually relevant to my problem). Another issue I had with CodeSchool is that going through the quizzes of things I already knew to get the badges, the way their app handles your input is really delicate. I wasn't able to use any shorthand CSS (for borders, CSS3 properties, etc.) without it telling me I was doing it wrong (note: Treehouse actually impressed me here). An additional gripe I have with CodeSchool is the quizzes (at least in the case of jQuery Air) feel clunky. It should be possible, if not standard, to have the video framed above the quizzes. I found myself going back and forth trying to find where the instructor mentioned a certain item that was relevant to the scenario, whereas with Treehouse, I was writing the code along with them.
Treehouse is, so far, the best. I liked not having to deal with the lessons associated with what I already knew and I felt the questions within those quizzes were well-rounded enough to make me feel like I wasn't cheating my way to a badge. That being said, the guy that teaches the JavaScript courses is all over the place; his variables and functions are often named "varX" and "funcX" which confuse the user, he waits until 3-5 minutes into a lesson to tell the user to comment out the last lesson (whereas sometimes he actually utilizes the previous code or variables). Where the JS fundamentals courses really fail though is in creating a story, a scenario in which we'd really have to use that code. The worst way for me to learn is to build something that has zero meaning. Writing 10 functions that do nothing but spit true and false at me isn't going to help me understand how and where I'd use such a thing. I need relevance and context.
Overall I've been really unhappy with the online/interactive tools available right now and have really only kept my subscriptions active in hopes that that money is going towards bettering not only the lessons themselves, but the in-browser engagements as well.
There are a few smaller ones I've tried out (and I'm currently registered for a few Coursera courses in case that is better suited to me), but if anyone has any suggestions about other sites I can try, please let me know!
I actually find that doing some research on your own encourages an active learning model, which really pays off in the form of better retention/understanding of the material.
It seems that the younger generation's culture of passively consuming large amounts of content has really hampered the ability for meaningful learning.
I'm not looking for a one-size-fits-all solution. Web development motivates the hell out of me but that passion alone doesn't help me get over pre-existing barriers and how my brain comprehends things. I assume once I have my first ah-ha! moment the pieces will start falling into place, but I'm just looking for a peg on the wall to grasp onto at this point.
I'm surprised this post got as many upvotes as it did because admittedly I feel out of place here in a sea full of people who are naturally inclined, incredibly determined and/or had some great teachers, so I wasn't sure if my problems would translate.
Learning this stuff isn't as essential to my job as it would be just incredibly useful to me personally, otherwise I wouldn't be so flexible in using these services and would probably be hitting the books instead of making multiple monthly payments. I know if I find a site that I can learn from that any of my friends can learn from it too. There are hundreds and thousands of those people out there who want to learn this stuff in a way that is easy to swallow, which will in turn spur the rate at which we see new services and tools. It's a cash cow if someone does it right, and I want to see them succeed and help them in the process.
Additionally, it also doesn't help me feel better about the quality of the research I'm doing when the top result for any web development question is still W3Schools.
I have no idea where this expectation came from, because it's not possible. You have to work to learn.
Yes, they exist. I agree with everything else you've said and indeed that's the challenge.
A) If your message is "You're learning it the wrong way. You need to actively work to understand and do research on your own." then that is mildly rude and also not really very germane to the discussion. The whole point of the service is to do the best possible job guiding you through learning programming; having to fire up Google to complete its exercises is a failure mode. The parent is offering specific, valuable feedback as to where and how it fails.
B) But you didn't just say that. Instead, you signed it off with a baseless, bullshit line insulting the poster and half of the userbase, and that's all it is, an insult; unless you have some very interesting studies in your back pocket, you have absolutely no idea whether "passively consuming large amounts of content has really hampered [our] ability for meaningful learning." That is pure flamebait. Leave it in your keyboard.
It's so ridiculous how people can appear insightful with some useless and completely untrue complaint about "young people today," "today's materialist society" or whatever.
Young people today do far far more self learning, actively pursuing stuff that interests them than any previous generation, in my opinion. They have much better tools. My younger brother (in his teens) has for several years been in a mode where he gets into little obsessions about learning this or that. Video special effects. Lock picking. Fishing. Whatever. A lot (maybe most) kids his age are like that. The topic can be whatever: diet, exercise, skin care, sex. Not necessarily the stuff that HN gets escited about but it is the stuff that interest them. I wouldn't surprised to learn that the mean skill level for application of make up has skyrocketed among teenage girls in the last ten years. Their starting point acquiring knowledge knowledge (who is the president of X?) is Youtube but that doesn't make it "passively consuming large amounts of content".
Want to test this? Try giving a group of 35-45 year olds and a group of teenagers photoshop lessons at work or school. Then give them a project. See how many of them are reading online tutorials and watching youtube videos to get things done vs how many are just using the prescribed material with the notion that they can't be expected to know anything outside of it.
This whole thread by the way is amazing. It's all about new ways that people are acquiring knowledge & skills. Full of anecdotes and opinions about what approach or tool for learning stuff is good or bad. What the problems are. Underlying it all is a sense that the best possible learning tools are incredible and coming soon.
Lets give credit where credit is due. Lets look at this as what it is: a discussion about how to make the awesome awesomer.
Thanks for calling the OP up on pure curmudgeonry.
we decided that the automated, "interactive" approach just doesn't work -- the feedback systems are just not flexible or responsive enough. So now we do online bootcamps for WebDev, iOS, and Design where we mentor you and a group of peers virtually. You can check it out at http://bloc.io
It's expensive, but people who are serious enough about learning know that it's an investment in themselves and pays itself back 10x.
It's a legitimate question. Empirically, it seems like it is possible since DevBootcamp in SF has been able to do it and 88% of their students were qualified enough to obtain jobs as Rails developers. I think that's a pretty fair metric to go by.
Our bootcamp is not as much of a time commitment as DevBootcamp, but I think more than half of the battle of learning a new domain is minimizing the space of "things you don't know you don't know". I think that's a much more reasonable goal, after which it's a lot easier to direct your own learning because you've gotten through the steepest parts of the learning curve.
For example, if you never had any concept of a database, it'd be really hard to learn more about them. Someone new to web development and programming probably has no concept of databases being separate from code. If they wanted to have "users" in their application, they probably wouldn't even know how to formulate a question to ask Google. Would they ask "how do I store users in an app?" No, because they probably don't have any concept of "storage" in an app. Or maybe they do but they pick the wrong word and ask "how do I save users in an app?". "save" and "store" are almost synonymous in a general context, but Google will give you drastically different results because they have different idiomatic meanings in a web development context. In any case, neither of those queries will get you what you want from Google (which is, to discover what a "database" is).
I guess my point is that the goal for us at Bloc isn't to cram your brain with enough knowledge for you to call yourself a Rails hacker -- it's to get you through the steep part of the learning curve and give you a large enough view of the landscape of web development for you to continue learning afterword.
I'm currently at livngsocial doing front-end dev and you may have heard of the Hungry Academy program that they have going on right now. The students (some of which had no prior programming experience) are 4 months in now and it's pretty amazing what they can do.
The timeline can be something like these: - 2 weeks: basic programming knowledge(just Ruby, not Rails) - 2 weeks: basic website knowledge(html/css/js) - 2 weeks: basic rails knowledge(modal/view/controller) - 2 weeks(final): a final project to do whatever you want?
Most importantly, there is a huge difference between learning it yourself and learning it under the guidance of someone else who already knows a lot about teaching others programming.
http://howilearnedeverything.com/2011/10/30/clearing-the-air...
I only know his side of the story, but I know Neal and have the highest respect for him. He's a good dude.
My designer friend took the jQuery Air course and found it PERFECT. It gave him a lot of cues that it would not have understood without it.
I'm not quite sure what exactly your problems were with it, but you seems quite bitchy for nothing
For what it's worth, while I was very impressed by the production value behind 'Rails for Zombies', I felt it was lacking as a learning tool. Coding rails snippets without context in the browser really doesn't translate very well to web app development.
We work every day to improve the educational flow of our courses, and while our weighted hint & point system can be a great motivator for some students it can also be frustrating for others, as we've discovered. We have plans to improve it in the future as Eric mentioned above.
I can't stress enough how valuable honest criticism like this is to us, thanks.
Your comments don't generally seem too ill-informed, but there are standards of conversation that are worth holding to, and your recent remarks are falling short.
Love the concept of 'higher' in this quote. Some become programmers, but some learn 'higher skills' - like writing html. The whole idea of higher (and presumably lower) is fascinating. HTML and CSS is higher than administrative assistant. Does anyone here understand how hard it is to be an admin assistant??? A PA, essentially... Much much harder than hacking a bunch of tweaks on top of bootstrap or whatever.
And, incidentally, this whole higher/lower bullshit is what your "founders"/"funders" arses think about you - you are the bitches with the "lower skills" and one day, if you learn, you'll get your own bitches with the "low skills" who will code your marvellously fantastic idea and if it fails it's because they hired muppets, and if it succeeds, it's because they are the next messiah.
Frankly, I'm surprised CodeAcademy hasn't complained about this. When you search for CodeAcademy the results default to CodeCademy.
I don't know any of the players, and maybe it doesn't matter, but wouldn't a first-use trademark dispute tend to defer to the 2002 registration?