O'Reilly logo

O'Reilly School of Technology

Log In

Call 707-827-7288

Live Chat

My Thoughts on Codecademy

There is yet another new wave of start-ups emerging in the educational technology space and like those that came before, most of this new wave neglects to address some critical issues. Every few years, a new set of companies comes out with what they refer to as, “the next wave in digital education.” However, these “new” methods and technologies are rarely actually new. Experienced educators who have followed the evolution of digital education since its inception over fifty years ago, have seen it all. The new distribution technologies offered by the new web don’t actually enable new pedagogies that haven’t been tried yet. Since the mid-1980s, there has been adequate technology and tools available to allow us to try out the entire array of pedagogical theories. Believe me, every combination of existing tools has been employed, and with a slight variance from subject to subject, very few methods used in conjunction with technology have been effective at improving educational outcomes.

For instance, numerous attempts have been to incorporate video training into Mathematical Sciences (which, since the 1980s also includes the field of Computer Programming); it has failed in both our school systems and in corporate training every decade since the 1950s. Each decade a new distribution technology for video comes to market and education companies try to seize the moment by using the new distribution model to pump video lectures into the system. In the 60s it was TV, in the 70s it was closed circuit two-way TV, in the 80s it was video tape and CD-ROM, in the 90s it was the web, and now it’s Youtube. However, these efforts continue to fail to make a positive change in education because each fails to recognize that the problem lies not the distribution and availability of lectures, but in lecturing itself. Lecturing does not propel people to learn to solve problems in subjects like mathematics, physics, and computer programming. For that reason, regardless of the way they’ve been distributed, the videos ultimately fall out of favor. And even though we’ve seen it happen before, it takes longer for the eventual admission of defeat to occur each time around, because the videos are delivered by increasingly efficient distribution models that spread them farther and wider. I think it will take ten years for people to realize that Khan Academy, the latest addition to the education video pile, isn’t making students better at mathematics (at least not at the Calculus level or higher). It’s possible that math education at the K-12 level is in such a sad state that Khan Academy may be improving that situation. And while I agree completely with Khan’s recommendation that instructors move away from the podium and into the role of coach, there are more and better ways to flip the classroom that we can demonstrate with Making Math (see: http://makingmathblog.org for updates). TV video poker games such as deal on no deal game uses this computer programming as you can see from the games and game deal or no deal game real money casino game capitalized on that technology.

I am pleasantly surprised that Codecademy has emerged as the latest online learning system to follow in the footsteps of the O’Reilly School of Technology and the Netmath program at the University of Illinois, and create an opportunity for itself to take a pedagogical stand to improve the way we teach with technology. Let me first say I like what is there so far! Currently, Codecademy is executing a what is eerily similar to an earlier version of what we started with back in the mid 1990s with Useractive, inc. and what eventually landed here at the O’Reilly School of Technology. But as is often the case, the web is abuzz about this new kid on the learning block. It is in essence a carbon copy of the first version of CodeRunner that Trish and I built in the mid-1990s; in our older version we too initially offered tutorials for free and gathered a lot of signups. Our effort back then ultimately stalled, and hopefully the web has changed enough with the addition of social networking that Codecademy can get a better foothold that we did. We learned the hard way about the way people learn, as well as the constraints of various education and training markets since then, lessons that Codecademy might have to learn as well, in order to stay afloat. This post could be of real value to them on their path toward refining their system of online education. I hope so.

Before, reviewing and analyzing Codecademy though, I’d like to address the issue of armchair journalism in the Silicon Valley and the press coverage of educational products. Armed with a blog and twitter account and then attempting to report on educational technology (a topic with which most have little to no experience either building or using), many of these “journalists” will latch onto anything “new” to them, and call it “revolutionary” without offering any perspective or context. It’s sadly similar to the way people react, for example, to new fitness products, thinking they can get rock hard abs and look like a professional athlete by using some exercise product 30 seconds a day! If you want to get the blogosphere and twitterverse raving about your online educational product, here is how:

The recipe to make your online educational product instantly popular:

  1. It must be free, with minimal transaction effort.
  2. There should be exaggerated claims of ultimate learning outcomes without evidence. Place the promise on the future, not now.
  3. It needs to make people feel like they’ve learned something in a few minutes by giving them a thumbs up, or badge for accomplishing something trivial.
  4. The copy on the site needs to tell the visitors to your site exactly what to say about it, regardless of veracity, because most reporters won’t take the time to actually go through the lessons themselves (or if they do, they won’t know enough about the subject matter itself to make an educated statement about it).

You do these things, and voila! You’ve got a popular educational technology that the twitterverse will love and the Silicon Valley will throw money at with reckless abandon!

I don’t think it was planned, but the founders of Codecademy accomplished those tasks, and collected $2.5 million for it. For that they deserve a big congratulations, because now they have the chance to do something real. The purpose of this post is to lend both educational and historical context to the story that so many journalists seem to bypass, and to share my own perspective and experience. I am motivated by a desire to prevent others from the pitfalls I have already encountered, and further the field that has been my passion for the past twenty-five years.

At first glance, Codecademy’s technology and pedagogy bears a striking resemblance to ours here at the O’Reilly School of Technology, specifically to our web based code editor we call CodeRunner. There are some things I really like about what they’ve done so far (there isn’t much elearning I’ve liked over the past couple of decades). Here is a screen shot of their “web based code editor,” much ballyhooed in the blogosphere and twitterverse:


Now compare that to our CodeRunner system here at the O’Reilly School of Technology:


CLICK HERE to see the output a student see of the simple lesson being worked on in CodeRunner above.

It’s showing how to use the createElement method to add content to a web page dynamically.

Clearly, these two interfaces have some similarities, and I’m very pleased that people do recognize their respective values. I’m also glad that they enjoy using Codecademy, because so far they seem to be taking a step in our general direction, and a step away from static text and ineffective video lectures on the subject. As you can see, both learning environments contain some of the essential elements of what we call “useractive” style lessons. (Useractivity is interactivity where the end-user can create a project of their choosing, using the environment provided. An example might be to compare an ATM machine, which is interactive, to a laptop, which is useractive.) They both have places to edit code, they both have content that can be seen and followed while editing, and they both have a way to track progress. Yay!

But there are also some important differences between what we’re doing at O’Reilly School of Technology when compared to Codecademy, but that’s is to be expected given that they are just starting out. First, their editor is not yet an actual tool that can be used by students to create interactive web applications themselves, and therefore it is extremely limited in scope so far. Further, their files can’t be saved and referenced, their students don’t have access to a web server, and not even their Javascript lessons call upon students to create actual webpages, which is a pity because that’s where the real power and fun of web programming begins. In addition, Codecademy students don’t type in the initial examples they’re working on themselves, which, in my experience, helps to transfer ownership of learning from the content to the student, and also allows them to experience real coding. Finally, and most importantly Codecademy offers no hand-in functionality, nor an available instructor to coach and give feedback to the students (yet!).

The most valuable lesson we learned over the years in building the O’Reilly School of Technology is that you cannot replace a human “code coach” with technology. The help, feedback, and encouragement given by our instructors are key to our learning system. Technology serves to get people started and prompts them to experiment, which leads to questions and teaching moments that are then utilized by our instructors to guide our students to solve problems and work toward greater understanding though their own reasoning power.

After a student finishes an O’Reilly School of Technology course, they are invited to review it. In these reviews, students consistently rave about the O’Reilly School of Technology instructors who have helped them through difficulties with their coding projects and who offered them encouragement and guidance. Our CodeRunner interface and lessons simply serve to set up these unique and constructive conversations between student and instructor. Without instructors on the other end to help students, I believe educational technologies are worthless.

The type of system we designed for OST (and now Making Math) is called a Tool Integrated Learning Environment
. A TILE consists of three parts built and integrated to work seamlessly with each other. An abstract diagram of a TILE system looks like this:


The tools are real, web-delivered production environments like our CodeRunner code editor, Eclipse, and Visual Studio, with modifications and a new online custom version of Mathematica we call Hilbert. So far we’ve created courses in these subjects: HTML/CSS, Javascript, Java, C/C++, Python, Perl, Linux, SQL, PHP, C#, XML, DBA, Algebra&Trig, Calculus, Differential Equations, Probability and Statistics, Linear Algebra, Matrix Theory, and we have the capabilities to teach many more. All courses start with the tool, then the content and Learning Content Management System (LCMS) are added to comprise a complete course. The LCMS supports human feedback, grading, and conversations, as well as the authoring and editing of course materials. The content is written specifically to drive students to type code and to learn the subject matter through code (even mathematics). A TILE is like three-legged stool; the removal on one leg will cause the stool to fall, much like the loss of any one leg of a TILE breaks the pedagogy and the learning system falls. From what I can tell, Codecademy currently has a two-legged stool that offers content and a code editor.

So, for all of my beliefs about the way online education ought to be presented, if people are learning about coding though Codecademy, why am I concerned about which features comprise that learning system? My first thought in response to that question is to consider whether people are really learning to code or do they just think they are? Who decides? Can people who go though those lessons actually open up a programming interface and create something from scratch? Can they explain the coding language to someone else? I doubt it, not yet anyway. Would you hire someone whose experience lies in having gone though some computer lessons and received a few badges for putting in a variable here and there? I wouldn’t, but perhaps that isn’t the point. And even if their current solution is only for children, why constrain that solution to text-only output and offer no instructor? I don’t think they intend to stay that way, but adding more functionality beyond client side execution of Javascript will start to raise the cost of serving it up. Finally, from a business perspective, if people going through Codecademy actually do learn some coding techniques, would that education be of enough value for someone to actually pay for it? I don’t think so. Though it’s possible that Codecademy intends to offer free online tutorials forever, and they have something really clever up their sleeves.

Most problems with new learning systems begin when companies try to monetize them. I anticipate that they plan to resolve some of their system’s current shortcomings, and will work to make it more capable and dynamic, but even if they were able to make something great by increasing its scope, or even adding human instructor feedback, they may still fail in the end because of some not so obvious realities and constraints of the education and training markets. How do I know? Because I’ve been there, and I discovered the hard way, through trial and error, that there is one specific and huge challenge associated with simply creating a great online learning system for end-users and anticipating good results (especially in Computer Programming)–there isn’t any money in it. In addition, there are some monumental differences in the dynamics of each of the vertical markets in the learning space. The only way to make money in education is to make sure your offerings meet ALL of the needs and expectations of your target market, only then will your products have value. But each vertical market has a completely different set of parameters for a learning product. There are different decision makers, different end-users, different pricing structures, different branding considerations, and different subject matter considerations.

The value of online education products is completely driven by the intrinsic and extrinsic requirements of the decision makers, who may or may not be the buyers or the end-users. In trying to meet the requirements of these markets, as well as those of various decision makers, you will be pressured to compromise your learning philosophy and pedagogy. The only way I’ve found to preserve my own teaching objectives, finance my philosophy and pedagogy, and still satisfy the intrinsic and extrinsic motivations of the decision maker, is to run a technical school behind a strong brand, like O’Reilly. When you operate a school, the decision maker is the buyer and the end-user. Because they have the extrinsic motivation of obtaining a degree or certification to improve their long-term job opportunities, they have the motivation required to work through difficulties in order to become proficient at their chosen field of study. They are also willing to meet the pricing demands needed to cover the costs of quality instruction and continued R&D. Their extrinsic motivation helps you meet the promise of satisfying their intrinsic motivation of becoming a good coder with the needed skill set to pursue their career path beyond their studies.

Another important lesson I learned in regard to online education is that most online learning products are not paid for by the end-users (students). They are paid for by schools, by companies, or financed by state and federal governments. No one, and I mean no one has figured out how to get end-users to pay for individual courses online unless they are attached to some kind of degree or certification. They will pay for books, ebooks, or they will pay for subscriptions to enormous amounts of online reference materials like Lynda.com or Safari Books Online, but even in those cases many of those end-users will be reimbursed by their employers. Simply put, end-users will not pay much (if anything) just to learn online. This is similar to how online poker games works as users are able to learn through poker books and play the skilled poker games.

Or maybe Codecademy has ambitions of creating a new vertical learning market? Online education and training markets are generally too mature and established for anyone to expect to create a brand new one. Of course, Amazon and Apple helped to spur the ebooks market by investing billions of dollars, so it’s technically possible to invent a market with that kind of investment behind you. If you don’t have billions of dollars though, then you HAVE to fit your product into an existing pipeline and you have to do it in a way that meets ALL of the expectations of the buyers. Hopefully, in the interest of quality education and success, you can discover ways to satisfy those expectations without compromising your vision.

At the heart of my current discussion of Codecademy is a good understanding of where they stand right now, where they need to be (which is a long way off,) and knowing the exact mistakes they are on course to make in the coming years. As I mentioned before, each type of learning product is ultimately tied to business models and markets, so it will be interesting to see which direction Codecademy goes. Right now, Codecademy doesn’t fit into any market, unless you count free tutorials as a market (which it could be if there were enough people in the world interested enough in programming to drive enough traffic revenue to support a large team or pay back investors, but currently that market simply isn’t big enough. ).

Codecademy and others can learn from our experience:

I’ll finish up by sharing some background about Useractive and the O’Reilly School of Technology. At the very least it should serve as a warning to people who want to create new educational products. Most people have the same misconceptions about the world of education and learning that I had at the beginning. For instance, I used to think people went to college to learn. That’s not true. People go to college to become validated. Learning is a means to that end, not the end itself. Think back to how you chose your college. Did you ask how they taught their courses or what their learning outcomes were? In most cases, probably not. You wondered about their reputation and the rates at which their graduates got jobs or got into graduate schools. Colleges are about branding and validation, period. That’s why they can afford to post their lectures and learning content up on the internet for free; that’s not what they sell. They sell validation with education as the tool to get there. This is but one misconception most people have about training and education. There are many others.

From my own experience starting an education company, I’ve learned that anyone can put up a free tutorial and attract hundreds of thousands of users. I did it in the 1990s and early 2000s when I founded Useractive, which was initially a free and almost identical system to Codecademy. People loved it and we were praised mightily for it. Eventually, I decided to try to turn my work into a business, and like Codecademy, I also attracted investors. Over the next five years, we tried all kinds of ways to get people to pay for our offerings. We tried up-selling hosting accounts to students who could save their pages and code projects they were in the middle of completing. We tried making limited versions of lessons and up-selling them to purchase continuing lessons that offered more detail and advanced topics. We tried selling the service to schools and to businesses. It seemed everything we tried met with failure because the demands of each market weren’t really related to learning outcomes. It wasn’t until we added instructors to coach our students, grade and give them feedback on their projects, and simultaneously partnered with the University of Illinois and O’Reilly to offer professional certificates for the completion of these courses, that we started to make headway. Eventually, O’Reilly bought my company and we changed the branding of the O’Reilly Learning Lab to the O’Reilly School of Technology. Finally, it began to come together. We were meeting ALL the extrinsic and intrinsic motivations of the decision makers, buyers, and end-users who, in this case, were all the same people. We are now exploring the idea of becoming accredited and ultimately offering degrees ourselves. Universities, both private and public, demand the highest price points online, even though their current methods are poor, because they meet so many of the traditional extrinsic motivations if not as many of the intrinsic ones. We here at O’Reilly School of Technology hope to up the ante in online education, by meeting both of those motivations the best ways possible.

Here is a short list of some of the lessons we’ve learned about education and training markets:

  • Individuals who are in a casual or DIY learning mode, won’t pay much, if anything at all for online courses. They’ll gorge themselves on free learning resources or they will buy books and ebooks which they consider to be a handy references to keep permanently in their bag of tricks.
  • Individuals and companies alike will pay for huge banks of learning and reference resources on a subscription or “all you can eat” basis, especially if it’s content they can’t get for free. (There has to be an enormous amount of materials, well into the thousands of whatever the selected format might be–lessons, books, videos–included to add value.)
  • Individuals who are looking to take online courses with instructors know that learning takes a lot of work and commitment, and for that effort they want much more than simply to pick up some skills without proof of that achievement. They want some kind of validating stamp to put on their resumes from a reputable organization that companies will respect. They are willing to commit if they are convinced that not only will they gain the skills they need, but also earn a piece of paper with a strong reputable name on it. In some cases these courses are financed by title IV, or reimbursed by their company. Accreditation and a strong reputation is best for that purpose, with exam prep certification courses for the likes of Cisco, Java, and MSDN coming in a close second.
  • Companies looking for online learning courses are mostly looking for a one-stop vendor of learning resources for the least amount of investment (like Skillsoft). They are usually just trying to acquire these resources as HR benefits to employees and they care more about quantity than quality. These “courses” are usually paid for on a subscription basis. When they want something really good for a specific business need, they look for custom classroom training from consultants, or custom online courses created specifically for them.
  • At colleges, professors are the decision makers, but students are the end-users. In this case, products have to be made with the professors’ needs in mind first, and it must make their jobs easier (which is difficult to do given that they normally just walk into large classrooms and lecture for an hour or two three times a week). For the most part, they love systems that grade short answer and multiple-choice questions for them, so they can concentrate on research and other scholarly activities.
  • At the K-12 level, schools don’t have money for “extras” like computer programming. (Unfortunately, most don’t even have money to teach trades, music, or art anymore. Personally, I believe that needs to be fixed before anything else.) They are having a difficult enough time supplying the subjects they’ve deemed most important like Math and Science (which explains why the free Khan Academy is currently so popular at the K-12 level).

Ultimately, I wish the folks at Codecademy the best of luck for their success and offer my assistance to them toward that end however I can. I sincerely want them to hit a mark with this style of presentation, because as Tim O’Reilly likes to say about business, “A rising tide lifts all boats.” .

  • Kathy Sierra

    Hmm there is too much here for me to agree/disagree/question, so I will start with this one: I see some of code academy’s limitations as a potential *feature*, not a liability. At least from a learning perspective, and with respect to getting someone from “never coded” to “wrote some code”, then what you consider necessary elements I see as potential cognitive load.
    If they are trying to take people further up their learning journey toward being programmers with real expertise, then of course I agree with you. But either they will add these things or they will remain the place you *start*, and that could be a very massive place if they are doing things right (I cannot comment on their actual learning content or the details of their evironment since I haven’t seen it; I am just responding to your post and the screen shots).
    A journey from ZERO / never programmer to being a working programmer (or a high-functioning hobbyist) is a long and twisty one with many significant milestones. Attrition happens all along that path, but the most critical for attracting more people to programming are these:
    1. Going from never wrote code to coding
    2. The first weeks of programming
    If Codeacademy can nail the first one and help with the second, they could change the world. And it might end up that their very low-functioning environment is exactly what could make them successful.
    I think I agree with most of what you are saying about *making people into working, good programmers*, but if that is not the code academy mission (or rather, code academy is only working on the START HERE step), then I am not sure much of your arguments are applicable. They could be solving a very different problem than what you describe. And as someone who, like you, has been teaching first-time programmers for more than twenty years, I think that first step is the one to change the world.
    If they can make trying your hand at a little coding something almost too easy NOT to try, wow, that’s awesome. If they turned around and made that same environment one suitable for serious programming courses, it might stop being the right learning context for the newcomer. (not that they couldn’t keep multiple contexts depending on how advanced the user is, of course).
    If you think of code academy as a potential gateway drug to more serious and robust courseware and learning environments…
    They are of course not even *remotely* a replacement for a full, professional course. But they have the potential to bring more people into those courses. They have the potential to teach a whole lot more people exactly WHY they should keep going on that journey.
    I was about to say, “who cares what the journalists say…” but realized that I agree with you on the negative impact Kahn academy has had on the discussion of education, by completely derailing it. Where we should be discussing WHAT should be taught and how REAL learning actually happens, suddenly we are now discussing the benefits of DELIVERY and distribution, as a revolution. Meanwhile, we are distributing what is already proven to be the least effective, efficient, or motivating form of learning — the lecture. (and the mastery exercises only make this worse, not better). While I do celebrate Kahn academy for, especially, at least *enabling* a flipped classroom, it has simply postponed the far more crucial issues about learning. (see Dan Meyer and of course, Roger Schank, for more on this).
    But then, I think *most* learning contexts today are largely missing the point, and thus doing an extremely weak job of creating actual learning in users, whether it is professional training or pubic school education. But in a nutshell, we need way more Schank and way less Kahn. Or rather, we need a scalable, lightweight, 80/20 version of what Roger Schank has been telling us all for god knows how many decades.
    I encourage everyone to read “Teaching Minds”.

  • ChazD

    What a timely post. I was just extolling to a colleague the virtues of OST’s online instructional approach that offers, most importantly, human mentors AND certifications from University of Illinois, Urbana-Champaign. Uncanny.
    I’ve tried IT self-learning, a local community college, and some other major for-fee educational vendors. In my opinion, OST is hard to beat for integrity, quality, reputation, and value.
    Interested readers may want to check out a related post by Scott entitled “O’Reilly School Curriculum: It’s not always about what’s new” at http://blog.oreillyschool.com/2010/02/oreilly-school-curriculum-its-not-always-about-what-new.html It’s still worth reading.

  • Scott Gray

    Kathy, once again, I find myself agreeing with your points.
    I didn’t mean to make it seem like I think that Codecademy has done anything wrong. They haven’t. Their solution does have loads of potential and its the reason I’m even commenting on it as opposed to hundreds of other solutions out there. If it gives people the sense and inspiration to become a coder then its certainly great thing!
    I’m sure they plan on adding a lot of features and capabilities to create greater learning outcomes and move early learners up the chain. However, I happen to know that building and maintaining those capabilities is difficult and expensive and so they need to match those outcomes to the right market to feed off of rather than to just be a gateway drug.
    I wish I were wrong about this: Statistically speaking, people don’t want to pay for online learning resources just for the sake of learning. There are always other motivations at play. Learning has always been free, at least since public libraries have been around. If Codecademy kind find an external motivation out there to satisfy while maintaining what they have then they will own the world!

  • http://www.domainnoob.com John Humphrey

    I would just like to point out that there is more content in this blog post than is currently contained in the entire Codecademy site.

  • Roshan Choxi

    We do a lot of the things you mentioned Codecademy should do, check out Bloc.
    We have interactive tutorials as well as the ability to let you develop and deploy real applications live to the web. Right now we show you how to build some simple apps, including a URL shortener. Would love to hear your thoughts on our approach.

  • http://www.britcruise.com Brit Cruise

    Thanks for the great article. Currently working with Codecademy and focused on content direction at the moment. I do think our “third peg” will require an evolved error/hint/execution experience, among other things. I’m also focused on structuring the courses according to a learning taxonomy which roughly progresses as: introduce, apply, create. I do think we can take people from 0 to 80. Pareto law is always present when I make decisions.

    I will ponder about your article for the next few days… Interesting story!

    Thank you,

  • Anonymous

    I am not a teacher nor an education researcher, but a self learner, who has spent quite a lot of time on Khan Academy(KA).

    In my experience KA is not a lecture, and it is not something that has been done before. The quality of the material in itself makes it something completely new. And it is something that is still growing. These points, I think, are missed in a lot of discussions about KA.

    From my learner’s perspective, I find it hard to see how modern teaching/learning techniques are incompatible with KA.

    I find that KA videos + exercises are useful in the following context: an explanation of an idea, and then some way of testing if the listener has understood the explanation, and making these accessible to a wide audience. In the future, there is the possibility of a KA online community, which would also enable discussions and interactions with other learners and teachers.

    If the premise is that explanations have no part in the learning process, then of-course, KA is not the way to go forward. But if explaining ideas have even a minor role in learning, then KA takes some of the burden off of the teacher, freeing the teacher to use other teaching methods like model making, learning through real life scenarios and others, as their main teaching tool.

    For example, why can’t “Making Math” be used along side KA? If the former is related to the TED talk given by one of the founders of Mathematica, then I can easily see myself using both as learning tools.

    In fact, I could even see something like “Making Math”, if it is similar to what is referred to in the TED talk, replacing the KA exercise platform. Something like that would be a positive and creative use of available resources. (But I hope this never happens, because once Mathematica enters the scene, I will have to sell a kidney to get access to information/knowledge. Please use something like Sage, and invest in it if the current version is not good enough.)

    Perhaps, the reason that KA has taken over the discussion space from others, is that it is something accessible to a lot of people, is of high quality and is something that is making people enjoy learning(i.e., getting from 0-40 or 0-60). If something similar is done with the techniques and tools that are mentioned here, and I have no doubt that they will get the same sort of attention as KA.

    Also, Mr. Khan implies all these in the very large number of interviews and talks he has given, and he seems quite open to ideas. It is also apparent that he is constantly looking for others to help bring new ideas to KA.
    It would be great for people like me if OST and KA and others work together.

    Finally, thanks for a sane discussion of (and comments on) KA and codecademy and others, unlike the over the top “wrath of khan” , “web 2.0uh-oh” and similar articles that simply miss the point and adds to the confusion.

  • scott gray

    Thanks for the comments and perspective on Khan Academy.

    I’m not concerned with people who already know how to learn like you. For people like you, it’s best just to have loads of resources and suggest a path. How it’s presented is not relevant. Since you know how to learn already, you what’s necessary to proceed. You know you have to work to learn and you know how to work to learn.

    When I taught in the classroom, I’d say about 2% of the population fell into this DIY able category. For those people, I could just hand them book and get out of their way.

    What’s difficult is teaching people HOW to learn a subject area. So the real value of these learning environments that Codecademy and the O’Reilly School have is their ability to walk people through the processes that EVERY coder needs to go through to learn to code. That’s what keeps people from learning to code. They don’t work on coding. They watch video or read a book and never actually put the tools together and get to typing in code and trying it. So the idea is that we lower the cognitive overload of putting coding environments together, and we ask them to do stuff with the code editor staring them right in the face and viola we’ve got people coding.

    Turns out we can do the same thing with Mathematics. We can get them playing around with mathematics before they get locked out and alienated by the cognitive overload of doing hand calculations. Once they get the concepts the hand calculations become meaningful and easier.

    As for Khan Academy, I like what Sal Khan says but not what other people say about it. I like that he’s essentially marginalizing the lectures and relegating them to youtube and recommending that teachers become coaches.

    I also heard him say he thinks the best assessment technique is to stop students in the hall and ask them questions about math. Yay! I’m also a fan of asking for and assessing explanations instead of just looking for a short or multiple choice answer.

  • Scott Gray

    After reading my own post, it’s clear that I packed too many ideas into this relatively short blog. Each one needs much more qualification and explanation. I will write a book on this stuff in a few years.

    Basically, I’m a constructionist and believe knowledge and skills are constructed by the learner and cannot simply be handed to them by a teacher. I think in general people try to explain too much too soon. People explain things before questions have even been asked. To this end, I need to emphasize that I really do like Codecademy, which is why I wrote about them in this post (I think I just became one of those of those critical fathers who wants the best for his sons). Notice I didn’t discuss Team Treehouse; They aren’t related to me! ;o)

  • http://domainnoob.com John Humphrey

    P.S. Scott, I’d never heard of the O’Reilly School of Technology before. Wishing there were a few free introductory tutorials to get a feel for it. (Thinking now of how CodeSchool attracted so much attention with their RailsForZombies.com tutorial).

  • http://www.mordy.com Mordy Golding

    You kinda did mention Team Treehouse by making the comments about the badges (do a jump, get a snack! yay!). I don’t see it helping in an already narcissistic society (although that explains why so many a drawn to it).

    But that isn’t the point I wanted to make in my comment :)

    I don’t necessarily agree with your approach to what drives people to learn. Sure, I get it — colleges are brands. The sports industry proves that more than anything else. Just about every single sports player identifies themselves by the college program they attended. And likewise, in every speech, they thank their coach. So yeah, there’s the human element too.

    But it’s all driven by the will to learn. At SOME point in any successful person’s life, there was a moment of inspiration. It could have been an impact that a teacher had on a student, a want to be rich, a comment by a family member or a situation of difficulty. Simply going to college doesn’t mean anything. The very fact that College costs so much skews the results — it’s too easy for a person to be motivated to learn while in college if they are thinking “I spent all this money and don’t want to waste it” — but there is still an external motivation.

    So in my own humble opinion, the online learning landscape can’t start that process — but when someone is struck by a moment of inspiration, a company that is able to capitalize on that moment will ultimately be the successful one.
    So I see the following as being key:

    – The content has to be readily available. If you are inspired to learn but come to a site that takes an hour to stumble through, you’ve lost the heat of the moment.

    – The content must be engaging. If I made the decision to learn something, I need to be drawn in my someone who inspires me to continue. And I need a constant and even balance of information and inspiration.

  • Scott Gray

    I wish you were right, Mordy! Colleges are more about achievement than learning. Without degrees colleges would vanish.

    Even without the financial cost of taking courses, learning topics like Engineering, Mathematics, Chemistry, Physics, etc. takes an enormous commitment in time and effort. It takes years to even become an entry level participant in most college level subjects.

    Who is willing to risk their years of the time and effort and to fight through and overcome all the difficulties they are bound to face, without the promise of a degree that they can show others as proof that they did it?
    Many Universities now post all of their learning materials for free online that includes notes, homework problems, video lectures and powerpoint slides. How many individuals in the world have gone through enough of those courses and became proficient enough to become a scientist, or engineer, or anything? How many people have gone though and done all the work equivalent to any degree program? How many people have completed all the work to just 5 courses in any given subject? (Maybe at the Ph.D. and research level)

    I’m betting the answer to each of those questions is a number a lot closer to zero than it is to 100 (with the exception of research level courses which I’m sure professors and graduate students take all of the time and do all the work a lot).

    As another example, here at the O’Reilly School of Technology, people can take individual courses or they can pursue a certificate program. Most people paying for the courses themselves end up taking and completing a certificate program. The courses we have that aren’t part of a certificate program simply don’t sell much.

  • http://domainnoob.com John Humphrey

    Excellent! I just followed you guys @OReillySchool to keep tabs. Best in 2012.

  • https://twitter.com/mjlevitt Mark J. Levitt

    So, can I have a badge for reading this entire post? (kidding :) There’s priceless perspective in this article and comments.

    I especially appreciate the points about the human/coach role, which cannot be understated. Even the geekiest of the self-taught self-starters who know how to learn need a little mentoring.

    I wonder if Udemy (also part of the new wave) is closer to CodeAcademy than Treehouse. It was they’re marketing that sparked my intrigue, I must admit (ie I know nothing of the content quality or learning techniques).

  • Scott Gray

    John, free tutorials in Javascript are going to happen in 2012 (of course the problem is that we can’t provide the mentoring and feedback for free).

    Also, like the Making Math project which is syndicated courses for schools and others, we’re planning a Making Code project to provide a platform for other schools to use our technology and content (as well as their own).

  • http://mauimakers.com Jerry Isdale

    Link for the Making Math blog is broken. i think you got quotes in wrong place. Also that blog has not been updated since August 2011 – after total of 3 posts. The full site makingmath.com has only been launched to beta (alpha) invitees.
    Looking at the CodeAcademy site, i’ll echo the remarks above that it looks like it would be good for first toe dipping experience into programming. I give em props for trying so far. I have no experience with OST but now that I’m here I’ll check it out.
    My personal way to introduce people (kids, etc) to programming is using the Arduino. I skim over the intro first and get them to wire up and program BLINK exercise. That gets past the initial learning wall and into the ‘this is cool and not that hard’ state. Then go back to some lecture on programming basics, and back to do more exercises. So far its worked well with small groups of high school kids…. and a couple 4th graders… and a number of older kids (eldest is 84).
    Get em started with something hands on – then go back for theory.
    We had some local college kids volunteer to help – and they learned as much real coding in our class as their 1st year of IT/CS college.

  • Scott Gray

    Jerry, thanks for pointing out the broken link!
    The Making Math site is launching as I type in conjunction with the joint math meeting in Boston this week. I’m really excited about and the site will be live and ready to go this time tomorrow as well as a new blog post at makingmathblog.org announcing the purpose of the new site.
    Using Arduino is a fantastic way to introduce programming principles. Your methods are a great example of the power of constructionism in learning. But, the it’s combo of them building and doing with your feedback, encouragment, and converstion that pulls it all together. You have all the legs of a TILE system (internally we call it a Maker Cube, and you have all the axes of Maker Cube, whereas Codecademy does not).
    Thanks for sharing!

  • http://www.cammpus.com/ Brian Hayden

    Scott – thank you for sharing your perspective and experiences. I wanted the article to keep going because I was getting so much out of it.
    I helped build an online learning division within a traditional professional education company, and recently started a separate brand to license the homegrown platform to companies and organizations to do their own online teaching. The only innovation is bringing the cost and staff requirements down for small groups that want to teach something. No revolution.
    Reading your article was humbling – it gives me a glimpse of everything I don’t know. But it’s also very encouraging because even small victories are important. The fact that I’m seeing great things happen, even for a small number of people, is probably good enough for now.
    I’m going to learn more about O’Reilly and read more of your thoughts in the weeks and months ahead. Good luck with our work and thanks again.

  • reader

    this post is completely subjective. you’re criticisms feel like their backed with jealousy that their product is getting more attention in the media than the oreillyscool.
    you may have valid points, but by mixing personal feelings your make your review of the product way less credible.
    plain and simple, codeacademy has free services. oreillyschool does not. aspiring coders want something simple and free. don’t act as if the world is completely misled or misinformed just because your product does not recieve equal attention.

  • Scott Gray

    Some of us view the world of learning and education as an area in serious crisis. If more people like me would stand up and talk about reality rather than letting cursory skimming of learning systems drive the marketplace then we might actually have a chance to make things better. If anything my blog post puts a challenge in the face of codecademy not to be just another stupid parlor game posing as a learning system.
    The final word on Codecademy is still out. We have a chance to see where this lands.

  • Joss Sanglier

    I am particularly interested with your notes about Video tutorials of any kind.
    With free and easy screen grab programmes and systems like YouTUbe and Vimeo I am seeing more and more tutorials and documentation being presented on video, and it is completely hopeless.
    Video is great for presentations or if you are giving a general overview of something; having spent some years as a video producer I know the power it can have to give broad impressions.
    However, if you are trying to give details in a detailed step-by-step basis, you leave the viewer having to pause, move back a bit, find their place again, struggle with screen sizes and everything else that is guaranteed to make their life miserable.
    To make it worse, many of the video tutorials I have watched have been made by the presenter just hitting “record” and then doing it off the top of their head. The result ends up with tons of hesitation, wandering off mike, corrections (Oh, I didn’t mean that, ignore that window), assumed knowledge … the list goes on and on!
    At the end of the day, the written word is one of the best ways of teaching if you cannot have a live teacher. Anyone out there who wants to teach anyone anything, start by writing it down – as a default position, there is nothing better!

  • Jitendra Shah

    will definitely be using codeacademy in the near future!

  • Craig

    This article touches on too many issues to address in a reply but as a former educator and current administrator of a private tech. ed. program (iD Programming Academy)similar to Code Academy, I want to touch on public schools. They fail at tech. ed. not due to lack of quality programs, but because of poor execution. Schools rely on teachers to deliver. Teachers don’t know software. I’ve seen them try and fail to teach simple web design after taking a workshop. They simply are not trained properly. The key to the Programming Academy’s success is to hire Programmers with a knack for teaching. Not teachers trying to learn how to code. The Prog. Academy also limits class size to 8 students so that each one has the opportunity to explore and use individual creativity. Plus, the teacher has the ability to spend one on one time. This is where the motivation comes from. Simply put, schools inherently cannot accomplish what a private program can.And many parents are willing to pay a premium for this kind of quality instruction.

  • Scott Gray

    Rajesh, nice work and thanks for sharing!


  • Dylan Holmes

    Hey Scott –

    Very impressed with your article. While I’m not nearly educated enough about online education to have a strong opinion one way or the other, I generally buy your argument. Particularly, you are absolutely right about the reason most people go to college!

    I realize you’re talking about general trends and the mass market, because that’s what you have to address if you’re going to be a successful business. However, I thought I’d throw a few outlying logs on the fire, just as food for thought.

    It seems a main criticism you have of the current incarnation of Code Academy (apart from their questionable financial future) is that you won’t necessarily really learn to code from it. Which I’ll believe. But I’m going through code academy right now during some down time, and while I would love to learn to code it’s not my principal goal.

    I’m a technical writer at a cloud computing startup. I was hired based largely on my writing skills, with hopes that I could use technical aptitude to quickly learn the technical aspects of the job. It’s worked out pretty well so far. But my lack of programming background means there are times when I have trouble understanding certain terminology or how something *really* works. In just the first lesson of code academy, I’ve had a number of “Aha!” moments in regards to basic coding ideas and terminology, and that’s honestly made the early lessons a worth investment of the time in and of itself. Again, this can’t really be a “target market,” but it’s worth noting that at least someone can get something out of it right now.

    The model’s elasticity also has its benefits. In a more structured course environment, I’d have less leeway in when and how often I did code academy’s lessons. I did a ton my first week, and then had a bunch of work pileup that prevented me from doing any for a week and a half; now I can get back on the wagon. It’s not an ideal way to learn, and it doesn’t work for most people because it requires a lot of self-discipline (something I learned at my college – see below) but for me, it’s preferrable given my current work situation.

    Finally, on a largely unrelated note, I very much *did* think about pedagogy during my search for a college, and none at all about how likely I was to get a job. This led me to Hampshire College, an alternative school in western Massachusetts, and it’s probably the best decision I’ve ever made. Not only did I get an education that engaged me for more than I had been in traditional educational models, but it drove me to produce work (namely, a full-length book on the history of storytelling in video games) that led directly to my employment. If I had gone in looking for the economic value of a degree, I never would have attended an alternative school because of their low “brand name value” and the larger society’s suspicion of them (due, in large part, to simply not understanding why they exist).

    In short: I feel like most people probably do need more feedback, guidance, and encouragement than Code Academy currently provides (though I’ll be interested to see how much this is substituted by social networks; I know plenty of programmers both on and offline that I can turn to for guidance), but I can see it offering a lot to those who already pursue self-guided education.

  • Scott Gray

    Hey Dylan, one of the reasons I picked Codecademy to write about was that they are on the right track. It *IS* a great way to get started. However, there are certainly some questions concerning their model. First, I think that the biggest joy and really the biggest hook for learning programming is actually engaging in MAKING programs. So, I wonder, why not just have a simple editor and have you copy the examples and play around with them, save them, adapt them, and actually build working Javascript driven webpages and websites? It’s not actually any harder for learners to do than what they are having you do. We’ve walked people of all ages through this process online, most of whom have never even made a simple web page. With a system that’s slightly closer to being an actual tool, there isn’t a glass ceiling in the types of topics that can be covered, and so the entire path in skill acquisition from 0 to 100 can be provided (instead of just 0 to 10). I suspect the answer is that doing that necessarily adds to the cost of their offering, since then they would have provide you with server accounts and web servers so that you can do these tasks, and see the published end product. Also, once you’ve reached a certain place in your learning you’re going to run into problems you’ll need help with, the help can be done somewhat with community, but are you going to pay just to be part of community of helpers, especially as a casual learner who isn’t looking to change careers to become a coder? Also, if you really can learn this without an instructor, what would you really be paying for? Which again brings us back to business model and economics. Unfortunately, in the end, ALL learning products win or lose based on economics.

    Dylan, I’d like to ask, that while I have no doubt that you are learning something about coding. What would you pay for this experience with Codecademy? Given the relatively small size of the market, they will need to earn many hundreds of dollars from each customer who is willing to pay. No matter what the price, simply adding a transaction cost to customers experience will reduce their numbers 100 fold. One way to get hundreds of dollars from customers is through a subscription service. However, because of their learning model which I have an intimate relationship with and is indeed to superior to simple text and videos, they will never be able to keep up with videos and text only offerings in their breadth and speed of development, which is ultimately what subscribers demand.

    I love your comments on the school you chose! But, I have to ask, would you have paid as much as you did at your college of choice if they didn’t offer you a degree at all? Your degree was still related to your ambitions to better your life and who you are as a person, and that is quite valuable. You still wanted the endorsement of the the school you chose, whether or not your ultimate ambitions was to make tons of money.

    Dylan, thank you so much for your thoughts, they make me want to go back to being a pure idealist and be less aware of the harsh realities and issues with education and learning. But, alas, my ultimate goal is to change the education system, and so while I’m pushing what I consider to be the best ideal pedagogical system for learning programming and mathematical skills, I have to be keenly aware of the economics at play and use them to my advantage or risk being beaten into submission by them.

  • Ben

    very interesting pints about codecademy I didn’t know anything about.

  • Chris

    I hesitate to pile on here, but i came away from this post feeling frustrated with the bitter tone as well. I would love to turn this towards something more positive, that is, that the conversation improves the chances for more people to get the education (and yes validation and “branding” for those that feel they need that) they require to compete in an increasingly complex world.

    In short, i think this is a reciprocal thing Scott. I hope your group is also learning from what folks like Code Academy and others like them are doing. Win-win-win. Now there is a 3 legged stool we can count on!

    Cheers, and best for the future!

    ~ Chris

  • Scott Gray

    I may have missed the opportunity to really explain the problem here. The problem is that as it currently stands, Codecademy is to learning to Code, what Guitar Hero is to learning to play guitar.

    While Codecademy has successfully reduced the extraneous cognitive loads (which is great!), they have also lowered the germane cognitive load of actually learning to code. It’s more learning about code than learning to code. This is fine for causal learners who really don’t intend to build their skills and become coders, but it’s a BIG business problem since those casual learners won’t pay for such a service.

    I’ll explain all this in much greater detail in my next blog post this week.

    Thanks for your comments!

  • carter

    forgive my typing skills but they will help you understand where i am coming from in trying to explain to you about a group of students that are in schools or have been but are still learning in their 80’s. they have burning desire to learn through out their whole life. they are the kids that may have started at 4 or 5 years old, hanging out at the construction site, the light pole when work was happening, sneaking into the repair shops, projector room at the theater, or later on in life sitting in a class that they weren’t suppose to be in but it had a subject they were interested in and a REAL teacher. these kids were the ones that had poor grades in some classes because they did not have real teachers in those classes. they are the kids that every one thought that they would never go anywhere in life except being a bum, but they turned out to be successful business men or highly skilled in the skilled labor market area.

    i am a person who can not understand a subject just from a book. i have to use my five senses and then i can understand the book to a greater extent. from the sixth grade to the twelfth grade i had two real teachers. one in the eighth grade and one in the ninth grade. i should have quit school at that point, because every grade from there was a waste of time. no, i am not looking for pity by explaining this.

    you can give me just about anything and i can tear it apart and learn why and how it works with out a book. i am basically self taught in just about anything you can name, build a house, an air conditioner, a car, welding, electricity, computers, and so on.

    i have signed up for a few programing programs and have dropped them because they did not give you the basic tools and explained them, how to use them and what they did. the tools are the little signs that you never use on a key board, but they cause the wonders to appear. that is where code academy hooked me. i feel if i can learn java then i believe i can move into the deeper programing.

    thank you

  • Scott Gray

    Carter, thank you. You’ve written the most important comment on this thread, and I stand corrected. Codecademy has given you hope. That’s all any learning system can hope to achieve.

    Carter, when you feel ready, drop me a note at scott@oreilly.com and I’ll sign you up for any and all of our certificate courses for free.

    Thanks again, Carter! Go get em.


  • gary carpenter

    egregious overuse of the word pedagogue. you should read strunk and white…and get a thesaurus ^_~

  • Mattled

    Scott, I found your article really interesting, but am more impressed by your taking the opportunity to honour Carter, who is exactly the type of person who “real teachers” dream of have: thirsty to learn and ready to work.

    I was looking at Codeacademy as a possible example for elearning for languages. I like that it is “sudoko-y”, (i just did four weeks of work in it at a sitting) and that it is a gentle lowering into the waters. What I found, thinking of doing something like that for languages, that there was not enough open-ended problems for language teaching. I thought that perhaps the fact that there was a different type of content meant that there was a different way of doing things. It was interesting to see your viewpoint in this.

    As a note, in Spain, where I am based, the casual learners in language are actually the ones who pay the most money: they stay at the same level forever, switching schools occasionally as a display of frustration, bouncing from one type of the educational version of “food-like substance” to the next.

  • Rob Levin

    I read the full article + all comments on an iPhone! That’s how interesting this post is. I’m a programmer with about 7 years on the job and I’ve started to question how I go about using he little extra time I have to learn. Don’t have a CS degree in a world where many of my colleagues do (or insane Math centric degree). Therefore, to be competitive I MUST perfect self learning!

    I definitely feel that unless your just a freak of nature you need to code it to get it to stick. Being a vimmer and a fast typer I can almost follow along a video/screencast in a 1 tiered situation (eg no course integrated editor etc). But the teacher part does seem to be where the magic extras are as well as plain old help. I’m pretty sure I’m going to give OR school a try since the teacher and affiliation with UOI etc. all seem like they’d be pretty credible in the circles I work.

  • Francis

    Hello Scott?

    I stumbled upon this article while searching for a critique of codeacademy. All I wanted to know is whether users of codeacademy actually learn coding and general programming skills. Thanks to you I now have a very detailed perspective of the website.

    Although what codeacademy is in learning coding is similar to what guitar Hero is in learning guitar; I feel I have gained a lot of knowledge with regards to coding since I joined a week ago. I also came to learn about codeacademy through mashable which i guess is categorized as an armchair journalist’s blog. I have also learned that there are very dedicated learners at codeacademy; you can check their Q&A section where users ask questions and get answers. it is motivating to know that you are not the only one “struggling” with coding! :)

    I live in Kenya,Africa where education opportunities are limited and getting good college education in what you aspire is a nightmare that ends in a dogfight. higher institutions of learning are business brands that aim at selling certificates to the middle and upper classes of the society. In a country with high poverty levels, college education for many is considered a luxury.Even after securing a desired certificate, there are other issues such as corruption, silly politics, and tribalism that can easily lock you out from employment opportunities. This leaves the DIY type of guys very grateful for websites such as codeacademy and youtube that can help us learn for free. I hope to complete the codeacademy online course and complement the acquired knowledge with anything i can find online for free that actually works (including google books).

    My ultimate desire is to create a website and manage a self-hosted blog by myself without paying exorbitant web-design fees. People in kenya are slowly taking up IT and I want to play a part in this transition. I joined code academy because I believed that they would help me gain this knowledge. In fact they have this message on their website;

    “Learning with Codecademy will put you on the path to building great websites, games, and apps”.

    If codeacademy doesn’t work I will try and find something else that does (Including Khan academy). What code academy may not be aware of, is that they are providing knowledge even to those who cannot afford it. I am currently enjoying my experience with codeacademy and I am grateful for it. I really hope they stay up.

    I agree with most of the points you have raised in your article, it is well written and very informative. Thank you.

    • Mike

      Have you tried http://codeavengers.com? Would love your thoughts on how you found it compared to CodeCademy.

  • Niall

    I found this article an interesting read as an end user having a go with Codeacademy currently I found it a refreshing approach to teaching programming online which I was not aware of and it keeps my attention well, I found this article by looking for reviews of Codeacademy that might also lead me to a similar system for learning other languages. So for me the Oreillys system possibly looks to be an attractive second step if the price is within reach. I think it would be interesting to see something like Codeacademy providing teachers and coders a framework with the ability to create their own courses/mini courses using this system, like a youtube for but for creating user active courses I think that could prove popular.

  • Andrew

    I am just getting starting in the coding game, I am happy to give codeacademy a try. I tried something similar once before, I didn’t do so well. Hopefully 2nd times the charm.

  • Paul E. Virgo

    I’d like to thank both Scott and the numerous replies to this post. I do agree that the issue with education is too much emphasis on ‘lecture’ and even ‘teaching to test'(thanks, No Child Left Undone–er–Behind) vs hands-on application and letting a student see for themselves the results of what they’ve done right before their eyes. I also have to give O’Reilly a BIG plug–thanks to their books(plus,yes,college courses), I have the career that I do. Right now, I am looking to teach my 12-yr old daughter how to put together a Linux system–and began wondering if there are any ‘Linux for Kids’ tutorials out there. I’m also going to take a look at CodeAcademy, as a way to dip her toes into programming, and later, perhaps OST–if the interest is still there. Anyway, thanks again!

  • Randall Reviere

    A missing piece of the discussion above is that different subjects have vastly different ‘hands-on’ components as a function of the a) goals of instruction and b) the amount of narrative that constitutes the ‘body’ of information. Consider learning to drive a car as a low narrative subject with high practical and certification component. No one learns to drive without lots of time behind the wheel and a human instructor on the seat beside them. In contrast let’s say our certification course is the medieval political history of Venice. Histories largely consist of stories, involving persons, settings, conflict and turning points. The ‘hands-on’ component of such a course would be pretty small, given goals of instruction that focus on familiarization vs. broader skill development, such as writing, analysis or recitation.

    I believe that ‘there is a high risk’ in non-inverted classrooms that an average instructor delivering an average lecture to a mixed group of learners that this lecture time will be an inefficient use of everyone’s time and effort compared with an inverted situation based on Khan-style or The Teaching Company style materials for narrative material, and use the classroom time for activities (any kind of doing) that allows everyone to experience some trial and error, apply decision processes to the domain, etc., with help from an instructor as needed.

    In my experience there is a HUGE difference in quality (and the insights gained) between those ‘most gifted’ at organizing and delivering narrative elements and the many teachers who for reasons touched on above go through the motions. I speak as a lifetime learner with over 300 college credit hours (including a doctorate in engineering years ago) and probably 1/2 of The Teaching Company catalogue under my belt plus lots of TED and Khan and others.

    As pointed out, the winning formula that we are looking for is a) great narrative delivered ideally flexibly, b) aligned lab and practical exercise w/ high coaching component, c) pertinent testing/measurement, and d) high perceived value certification. Since all but a) can be problematic for internet delivery in many subjects (driving, sports, chemistry, etc.) institutions are not going away, but will need to focus on where they add value (organizing the certification process, providing physical facilities, providing expert coaching). And obviously institutions must be paid if the full package is desired.

    I believe that technology will be a huge enabler by delivering a) high quality, granular narrative and b) simulations (or real environments the case of programming) for lab uses. Lots of work remains.

  • Mr Gonzalez

    It is always good to learn from different sources to develop yourself to be a unique programmer from others . However I find your review to be biased promoting the  O’Reilly system and Universities. In the programming field you always have to be open to new ideas and cody academy refresh my knowledge a lot for my Computer Science degree.

  • Mr Gonzalez

    It is always good to learn from different sources to develop yourself to be a unique programmer from others . However I find your review to be biased promoting the  O’Reilly system and Universities. In the programming field you always have to be open to new ideas and cody academy refresh my knowledge a lot for my Computer Science degree.

  • Webb Moncure

    I just wanted to share that I am currently working through an autodidactic effort of teaching myself python, javascript, c, c++, html, css – but I have a fairly strong background / interest in coding from the time I was a child (I am now 35) and I have always studied languages in school.

    I would agree with the author’s post that the “coach” or “mentor” or whatever you want to call the person who has the answers on hand to the most obvious questions of even an intelligent student is what’s missing in the whole online environment. There are such resources as IRC chat rooms to ask questions – but they’re short in the way of encouragement! You have to be either steadfastly determined to understand the concepts you’re studying – and I mean dig for every answer – or you will not get the same level of education as you will receive in the classroom.

    Every evening when I’m studying online, typing text into a terminal screen, checking the IRC chat rooms, and googling for answers, I wish I just had that old high school English teacher of a mentor right around the corner to address the most simple concept I’m on the verge of understanding completely, or to direct my chain of thought into something that “jives” with what I’m learning.

    Teachers are the greatest – and when you’re without them and studying by yourself, you almost have to become your own teacher, your own motivation. It takes much longer, it can be done, but it’s extremely difficult. I WISH I had a retired programmer, a retired teacher, a mentor of some sort to work with for an hour a day – and maybe I’ll find one.

    Meanwhile, the coding websites will have to do. I particularly enjoy the Learn Python The Hard Way approach – very hands on and you’re forced to get your hands dirty. Very lonely, too. But if one’s going to play catch up, you gotta do what you gotta do.

  • YouSirAreLong

    Long winded.. 

  • http://almostreadytogoamish.blogspot.com/ Rational νεόφυτος

    I only use Codecademy for the free classes (no ads either!) and the nifty badge system. Badges are the most ridiculously pointless thing in the universe, and yet they drive me to do more!

    • Guest

      The irony. You mention badges are pointless, yet they’re doing exactly what they were designed to do: get you to do more.

  • Tony

    tl, dr: its 2013 and O’Reilly is now a major investor in codeacademy, whowouldathunkit

  • http://ludovicurbain.blogspot.be/ Ludovic Urbain

    Interesting but far too long ?

    Other than that, here’s my point of view on that : http://ludovicurbain.blogspot.be/2013/06/codecademy-review.html

    Also, oreilly can probably learn a lot from codecademy 😉 success is important.

  • Mike

    And now level 2 web and JavaScript courses

  • anwar ahmed

    hi…………there…..me too 35, and learning all the same stuff as you, i would like to know you what your experiences have been…….i am into this stuff for more than a year, now taking a course at Udacity, though previously i had tried youtube and then Lynda.com etc, i have found Udacity to be extremely good, but I totally agree with your teacher/mentor part. Learning by yourself is not an easy thing especially if you are late-late-late bloomer that is over 30, and someone like me who dropped out of what is a program that leads to something equivalent to a CPA in the United States (i.e. Chartered Accountancy). I remember a year back, when i would sit in front of computer and try to solve a problem and got stuck, i could hear someone in my head yelling “hey you are stupid, you had your time, why did not you study at school and college when it was time” and that really frustrated me and caused me loads and loads of guilt. And when after some effort I would successfully go through something and get a grasp and it is time to be happy I hear again that same voice inside my head, ‘Had you been such a good diligent student back then almost 15 years ago, wouldn’t life have been different for you’, and this would just bitter the joy for me for a moment. Long story short……this going back to education has been kind of a repentance for me, and i regret that i blew up my parents’ and later my older sister’s aspirations at that time, who worked hard so I could get a good education…But anyway i have come this far (and I get less and less of those self-criticizing, mocking and annoying voices in my head :D), and I will try to go as far as I can, do care to chat with me if you want at codesmith2000@gmail.com God bless you.