Monday, May 4, 2015

Step 1) Learn English, Step 2) Learn to code ?

I just watched this TEDx talk where a kid shares his story of learning English and then learning JS on Khan Academy (fast-forward to 4:20):

It's awesome how much people can learn on the internet with enough motivation. Hopefully, we'll keep building out our translations so that more people can learn to code before they even learn English.

Wednesday, April 29, 2015

New article: Classroom debugging tips

I'm starting weekly programming office hours for the Khan Lab School, and today was my first time down there, helping the mixed age students with their challenges and projects. As I helped them debug their programs, I realized that other teachers and TAs could benefit from my strategies for debugging programs together. That's why I ran home and wrote this classroom debugging guide. Enjoy, and let me know if you have any tips to add!

Thursday, April 23, 2015

Check out awesome projects from Algorithms students!

In November, we released the algorithms course, a combination of articles, visualizations, quizzes, coding challenges, a few creative projects. Today we turned on the project evaluations page for algorithms, so that our community can see the neat projects that learners are coming up with, and help evaluate the projects. Here are some of my favorites I've seen so far:

A visualization of selection sort:

A rainbow-colored Sierpinski triangle:

Check out more on the project feedback page and give them your feedback!

Monday, April 20, 2015

How does our real-time editor work? Find out for yourself!

We now have a real-time, interactive editing environment on Khan Academy for JS/ProcessingJS, HTML, and SQL. Last year, we decided to make the editing environment open source on Github, to share how it works and encourage others to contribute. We've since had multiple contributors, and the most prolific, Kevin Barbarash, joined KA as a full-time employee.

If you're curious how it works, you can watch this talk from John Resig and this talk from me (Pamela Fox). You can also read this deep dive into the JS editor or browse through the code itself. If you're willing and able, we'd love more help in tackling the many complex issues that we run into when creating this cross-browser, real-time environment that's used by millions of students.

New classroom project idea: Make a music video

In our teacher's guide, we have a list of additional project ideas. I've just added another project to that, Project: Make a music video. That project is based on the Let it Code music video that I made with our online community last year, and it would be a lot of fun for a classroom of creative coders.

If you try that project or have other additional project ideas, let us know!

Tuesday, February 24, 2015

New course: Make interactive webpages with JavaScript

On Khan Academy, our two most popular programming courses are Intro to JavaScript, where you learn the fundamentals of JavaScript with the ProcessingJS library, and Intro to HTML/CSS, where you learn to create, style, and lay out a web page. But that's like having strawberries and chocolate in front of you, and not dunking a strawberry in the chocolate.

Why? Well, JavaScript was originally invented in order to bring HTML/CSS web pages to life, to make them interactive with events and animation. The language has become very popular since its invention and is now used outside of browsers, but still today, it is the only language that browsers natively understand and it is used by every interactive web page on the internet.

That's why we've put together a course on making web pages interactive -- combining your knowledge of HTML/CSS with your knowledge of JavaScript so that you can programmatically access parts of your page and modify them in response to all sorts of user events. With that knowledge, you can make slideshows, games, galleries, apps -- virtually anything you've seen on the web.


Get started with the welcome video and HTML/CSS/JS review quizzes, then get deep into DOM access, modification, events, and animation.

A big thanks to our early reviewers for all their great feedback:
Nicholas Zakas, Kevin Lozandier, @wbwalp, @SpongeJR, Katarina L., and @TheSwedishHutt. Now go make your webpages fly!

Tuesday, February 10, 2015

Earn rewards for your classroom with DonorsChoose.org and Google

We've partnered with DonorsChoose.org and Google on a program to help teachers earn rewards for their classroom while encouraging their students to learn programming. We ran a similar program last year, and since teachers and students both reported loving it, we're doing it again this year.

How does it work? Once teachers sign up for the program, they tell students to start working through Intro to JS, and in mid-March, we'll tally up how many students completed the course and send that to DonorsChoose.org. The teacher will then get a gift code equivalent to $100 for each student that completed, and they'll be able to use it to fund classroom technology projects on DonorsChoose.org - and all that funding is thanks to Google. Many teachers use the projects to buy things like laptops and robotics, so they can better teach computing in the future.

The funding rewards program is currently only available to public schools and high school students at this time, though of course, the course is available and free for anyone. If you're a teacher that's not eligible for this program but does want technology for your classroom, look through this list of technology grants that we've collected.