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.

Saturday, January 10, 2015

Just released: sound effects for ProcessingJS programs!

The students of the Khan Academy programming community love making games, animations and mini-movies, and they've been clamoring for a particular new feature for the last year: sound. Their wait is over! Last week, we released a way for programs to play sound effects.

The code is as simple as this, purposefully similar to image():

playSound(getSound("rpg/metal-clink"));

The current sound effects in the picker are from an RPG pack:

We also have more sound effects coming soon, like a retro pack made by one of our top community members.

We've updated the program guidelines to specify that sounds should only be in response to user interaction, so that sounds don't become an annoyance. We'll hold a contest soon to challenge students to use the sound to enhance their programs in the most impressive ways. We hope that sound effects inspire even more creativity in our community!

Holiday contests: Lights, trees, snow globes, fireworks, and games!

In December, while millions of new students were trying their first hour of code, thousands of students in our programming community were creating amazing entries in four holiday-themed coding contests. I picked the top 5 for each one (it was sooo hard!) and made a few montage videos, too. Check them out!

Contest: Light up this house!

Check out the entries here and winners here. Here's a video montage that I made of the entries, synced to Pachebel's Cannon:



Contest: Animate this snow globe

Check out the entries here and winners here.


Contest: Tree decorating

Check out the entries here and winners here.


Contest: Snow game

Check out the entries here and winners here.


Contest: Fireworks

Check out the entries here and winners here. Here's a montage I made of the entries, synced to "Ride of the Valkyries":

Tuesday, December 16, 2014

Hour of webpages: Now dubbed in French!

Our hour of webpages, which teaches the basics of HTML and CSS, now has French dubbings and fully translated challenges, thanks to our French partner Libraries without Borders. Check it out here! Maybe you can write a better poem than I did. :-)


What can you draw in an hour of JavaScript?

Last week, as part of Hour of Code 2014, we had hundreds of thousands of students learning to make drawing with JavaScript and ProcessingJS. We love seeing what new programmers can make with a little know-how and imagination -- here are some of our favorites:

This mustache'd pig:


This unicorn just casually walking around a rainbow:


This adorable penguin about to get viciously eaten/hugged by a polar bar:


This pink and purple turkey, full of love:


This highly suspicious walrus: