Wednesday, June 24, 2015

New case study: Teaching JS to elementary schoolers

As part of our teaching guide, we have case studies that show the various ways that teachers use our curriculum across the world. I recently found out about an elementary school teaching JavaScript to their students, and was surprised because most folks think that elementary schoolers are too young to learn a syntactic language like JavaScript. However, they found their students took to it quite well -- "begging to do extra homework".

You can read all about the class in the case study, including how they bring in guest speakers over Google hangouts and how they showcase their great project work to parents. Thank you to Omar Alvarez for sharing it!

Monday, June 22, 2015

Our community's programs, up on the big screen!

Every morning I wake up and browse programs on Khan Academy, and every morning I'm impressed with the creativity and productivity of our coding community. Seeing the wide range of programs that they create is probably my favorite part of this job, and it's also what I love sharing with others.

This week, I got the chance to share hundreds of our community's programs with a thousand industry programmers at the jQuerySF conference. I held a Generative Art contest that got 445 submissions, turned 200 of them into an auto-advancing slideshow, and today through tomorrow, the jQuery conference organizers are displaying that between speakers! In most of the entries, the creator says what they love about programming, which makes the slideshow even more inspirational. To quote one of them, "its just great how i can type some mumbo jumbo and it will make amazing things." :)

An MC in front of the slideshow:
Photo of the slideshow behind a speaker

Some of the top submissions:
Screenshot of 6 of the submissions

Congratulations to our community on their hard work, and thank you to jQuerySF for sharing it with the world!

Summer of Scripting: join an online cohort to learn JS!

Over the last few months, I've been digging through our stats and doing surveys to understand more about our Intro to JS learners, trying to answer questions like "Why do they want to learn JS?", "What school level are they at?", and most importantly, "At what point in the course do they give up and stop learning?". To help me with that question, I surveyed several thousand learners that dropped out of one of the earlier challenges - asking why they dropped out - and their overwhelming response was "I wanted to keep learning, but I didn't have time in my schedule."

That makes sense. For school-age kids, programming isn't a requirement for the vast majority of them, but tons of academic fields are, so thats where they have to spend their time. For our lifelong learner crowd, well, life often gets in the way. It's hard to stick to an online course, especially when you're doing it alone.

So I want to give people an excuse to make time in their schedule -- not too much time, but enough time to learn. That's why I'm running Summer of Scripting over the next 2 months. Once people sign up, I'll email them every week with their weekly goals, plus fun contests. If they can put in ~3 hours a week, they should be able to complete the course over the 2 months period, and still be able to attend to the rest of their busy lives.

At the end of the summer, I'll look through the stats and surveys again to see if it helped. If it did, maybe we can run cohorts more regularly on Khan Academy, to give people the excuse to carve time out of their schedule for a little extracurricular learning! :)

JS 101: 2-day workshop lesson plan

As I mentioned in my last post, I spend many of my weekends teaching in-person workshops for GDI SF, and I've started turning my workshops from traditional lecture style to self-paced style, using the KA online courses and coaching tools.

This past weekend, I ran the JS 101 workshop using our Intro to JS course, and it was a lot of fun. I've written up a lesson plan, which includes tips on optimally pairing students up for the projects by looking at the skill progress tab.

2 students pair programming

You can find that lesson plan and others on our new lesson plans list in our teaching guide.

Let us know if you have any lesson plans to share!

Monday, June 8, 2015

HTML/CSS: 2-day workshop lesson plan

When I'm not creating programming courses for Khan Academy, you can often find me teaching workshops for GDI SF, a non-profit that offers low-cost web dev workshops to women.

When I first started teaching for GDI, I ran workshops the traditional way - with live lectures and breaks for exercises. However, especially with the longer workshops and more complex topics, I found that students would be unhappy because some would find it moved too fast and some would find it moved too slow.

Now that we have more courses on KA, I now have the students work on the KA content at their own pace, and I've become more of a learning facilitator than a teacher. I make sure to mix in a lot of social components - networking, demos, pair programming - so that students feel like they're a community and can learn from each other. The students are much happier with the format, so I'm hoping to move all of our long workshops over to the self-paced format.

To make it easier for other GDI chapters and clubs to implement, I've put together a lesson plan, which you can grab from our new lesson plans list in our teaching guide. I'll be adding the JS 101 and JS 200 lesson plans there over the next month, as I'll be teaching those workshops next.

Let us know if you have any lesson plans to share!

Monday, June 1, 2015

We're looking for a Computer Science Content Fellow!

Khan Academy just announced that we're looking for fellows in many new content areas, and we're excited that Computer Science is one of them!

As a CS content fellow, you would spend one year creating and curating content for our Computer Science subject - improving the current topics and bringing in new ones, potentially partnering with experts (like we did with Dartmouth on our Algorithms content). We're looking for fellows that have experience teaching CS, especially at the intro college level, and love designing great learning experiences. Interested? Learn more and apply!

Monday, May 11, 2015

New course: Learn SQL interactively on Khan Academy

There are millions of SQL users around the world. Who are these people, what is SQL, and what are they all using it for?

SQL stands for "Structured Query Language" and it's the standard way to interact with relational databases, a way we store data in apps and websites. Like if we actually had a database of all the people in the world and the things they use, we could find out the exact number who use SQL with a query like this:

SELECT COUNT(*) FROM people WHERE things_they_use LIKE "%sql%";

It's not just the database admins that are using it; it's the engineers that are writing code to send data to it, it's the product managers that are making decisions based on it, it's the marketing managers checking if their campaign was successful.

So that's why we decided to teach SQL on Khan Academy. We think it's the kind of skill that a huge range of people can use in their everyday life, and even if they don't, it's a great introduction to data storage and manipulation.

We started with just an Hour of SQL back in December, and based on its popularity, we're releasing a full introductory SQL course today. You'll learn more ways to query complex data, how to join data across multiple tables, how to update and delete data, and see a lot of real world examples along the way. And of course, like with all of our programming courses, you'll be writing the SQL yourself in our interactive editor.

Whether you're learning SQL for work or play, we hope you'll join us! Get started with the welcome video, or if you already did the Hour of SQL, jump in on the advanced queries tutorial: