Je suis professeur.
var numPresent = 0;
for (i=0;i<roll.length;i++){
if (students[roll[i]]===true){
numPresent++;
}
}
I’m always interested in improving myself, and there has been a lot of major press – that is, journalism in places like the New York Times and Time magazine – recently about the concept of online education and its potential for massive, world-wide learning disruption.
For the most part, this attention is focused on education startups like Cousera, which offers massive open online courses, or MOOCs. A MOOC is an online course that can be joined by large groups, as opposed to online courses that acted like correspondence courses, which are limited to a certain number of students and are generally run by an instructor who assigns readings and problem sets and then provides feedback on student performance. MOOCs take this concept further by automating much of the instruction, and employing video and multimedia to enhance the students’ experience, and presumably, to improve student learning. Because of the “massive” nature of the courses, feedback is less personal, rather more mechanical – but hopefully no less thoughtful and well-designed.
I’m enrolled in a full-time Ph.D. program right now, so I’m not really interested in a full “course” experience. I have a couple of large, long-term learning goals that are not directly related to my main academic field of study, and I think the Internet can help me achieve those goals. My experiment in online learning will side-step the MOOC entirely, and focus on free or very cheap learning tools that operate a bit more like games.
My three main goals are:
1. Learn the fundamentals of programming.
2. Learn how to read and understand (and speak, if possible) French.
3. Solidify my ability to read and understand (and speak, if possible) Spanish.
The first goal – programming – is really just a hobby. I want to see what’s possible when I have some actual programming ability behind technology projects that I dream up.
Goals two and three – French and Spanish – are required for my degree. I have to pass a translation exam in two languages other than my native tongue, and since I already know some Spanish, and French is a major language in philosophy and literary theory, these two languages seemed correct for me. I have approximately two years from today to achieve the proficiency I need in these two languages.
Goal #1: Learn the fundamentals of programming – Codecademy

Codecademy. Because, like math, programming is a highly structured field of knowledge (at least, at the basic levels), it can be taught in a sequential manner using examples and exercises and automated testing for feedback. Codecademy has created a beautiful web-based service for learning basic skills in programming. I spent about two months over the summer working hard on the Fundamentals of Javascript, and I did some initial work on Ruby.
The System
The learning happens in a dashboard view that gives content instruction and exercise instructions on the left, a javascript console on the right, and a terminal window for the output of your code down below. When your programs work correctly, a link is displayed to push you to the next exercise. Each newly completed exercise is worth a point, each set of exercises or series of lessons that constitute a project or course earns you a badge. Each exercise provides the student with instant feedback, and when things don’t go correctly, the Codecademy system has a built-in tiered method for giving hints, and then showing you the way forward. Students can also go back and complete exercises multiple times, if they want extra practice. I did this a number of times, just to review previous concepts and techniques.

Many of the lessons and exercises are well-written. Because the course authors each have their own style of writing and prompting student responses, I ended up enjoying some lessons more than others. Some lessons were harder, some were easier. Some moved fast, some slow. Some gave me a clear sense of my learning goals, some were more opaque. But even with the lessons that I didn’t prefer, I felt that the investment was paying off – each author presented me a different challenging view of the puzzle of programming, and not being locked into a single pedagogical style makes me more flexible when it comes to understanding Javascript, or any concept. I keep thinking about the Suzuki method of learning violin – its power is its standardization, and students really do learn how to make music with the Suzuki method, but in the end, that’s what they learn: how to make music with the Suzuki method. As I worked on the Codecademy exercises, I did not feel that I was being indoctrinated to a particular method of programming, beyond what are generally agreed to be solid fundamental practices.
Feedback
Each student gets a profile page, but instead of your favorite books and movies, your profile is your current report card. All the courses you’re participating in are listed, and your progress through them is tracked, along with the amount of learning you’ve done recently, an updated “notification list” of what accomplishments you’ve made, a record of badges and medals, etc. What’s nice is that you don’t need grades to be motivated – knowledge is truly its own reward. The points and badges are not extrinsic motivators, they are merely encouraging reminders of the intellectual progress you’re making.

The combination of fun, interactive lessons and instant feedback makes Codecademy one of the most successful learning models I’ve encountered on the web. The large community of learners and experts in the forums means that Codecademy doesn’t feel like a ghost-town, either – you are supported by a lively bunch of like-minded techies.
Overview
Codecademy requires effort. Just because it looks friendly and the lessons are fun doesn’t mean it is easy or not demanding. It’s built-in gamification mechanics makes coming back every day easier, but like learning anything new, it’s hard and requires discipline.
In the end, Codecademy is a fantastic, free resource for learning a sequentially-oriented skill like programming. Incidentally, I’m glad it doesn’t exist on iOS. Programming is such a keyboard-centric activity that making an iOS app would be folly. Codecademy offers tools for learning Javascript, HTML and CSS, Python, Ruby, and JQuery. This content is perfectly wedded to the online environment.
Goal #2: Learn French – Duolingo
I stumbled onto Duolingo through their iOS app, but I’ve since discovered a remarkable web-based platform for language learning that I would highly recommend to schools or individuals who want to realize the dream of online, student-centered language instruction. It’s been ages since I took a proper language class, but language classes are overwhelmingly oral, which makes perfect sense. Duolingo hits the sweet spot between writing, speaking and listening – and has a peculiar but useful focus on translation. My goal is exactly that: build a knowledge of French that will help me translate, at least at first.
The System

The Duolingo website presents the student with a map of skills. You can see immediately the goals, the roadmap, and the steps you need to take to get there. Each level unlocks subsequent levels, and there are several points at which the more experienced speaker can “test out” of earlier levels and jump straight to higher levels.

The very last level – talking about spirituality and philosophy – is my eventual goal, with economics, politics and science backing it all up. The texts I will have to translate will almost certainly deal with vocabulary at that level. So I know where I’m headed.

Within each unit, there are a number of different kinds of prompts and questions – a robotic but not unpleasant female voice reads the French phrases, and the student is asked to translate the text from French to English or English to French, to speak the sentence, to type something that has been said (you can listen to the sentence or phrase as many times as you like, and you can hear it slowed down, as well), or answer a multiple choice question.



Feedback
As with Codecademy, feedback is immediate at every step. Also, a student can retake a lesson even after successfully passing it, to reinforce a set of vocab or concept, or to improve the score. There is a separate practice space that lets students pick certain words or phrases from their vocal list or simply get random questions drawn from the entire list. Each word and concept is tracked to indicate the strength of mastery, and a student can see at a glance those words they need to rehearse and review further.

Practice
Students can do timed or untimed practice – the words you strengthen are reported back immediately at the end of the practice session. Points are awarded for the strengthened words. The timed practice session makes it much more like a “game” – you play against the clock. Every right answer gets you extra time, and the session ends when the clock runs out. This keeps the practice sessions short but focused.

Design
The website is beautifully designed, and so is the iOS app. Honestly, it’s heartbreaking how often decent websites put out crappy iOS apps. Both web and iPhone are perfect in Duolingo’s case.

One odd feature of Duolingo’s technique is to favor the element of translation. The About page claims that Duolingo is always going to be free because the website performs an essential (and presumably lucrative) function of translating real webpages from English to the target language, using some kind of crowd-sourcing logic. The translation exercises are exactly what I wanted out of my language learning process, so I couldn’t be happier.

Overview
This system is, like Codecademy, actually very fun. You can learn French, Spanish, German and Portuguese (still in beta as of this review). I could see an entire ab initio class based on this service, especially if you linked the modules with your own offline activities and assessments. Both Codecademy and Duolingo offer the ability to “follow” other people’s progress – the perfect opportunity to create a learning community.
Goal #3: Get better at Spanish
I can’t wait.
Conclusion
The hype about MOOCs is fascinating, but the free, online learning opportunities I’ve described here seem more interesting as conceptual and practical successes. The combination of instant feedback, clear roadmaps to success, fun and games, student-driven and student-paced learning, and the possibility of joining a community of learners online all make Codecademy and Duolingo not only intriguing, but genuinely fantastic learning tools. These are not just banks of videos and quizzes, but active, challenging self-improvement engines. The fact that they are totally free is almost scandalous.





