Thursday, February 20, 2014

Join Khan this summer: Help us improve CS education!

At Khan Academy, we are always blessed by amazing groups of smart and passionate interns. On the Computer Science team, we’ve benefited immensely by their talent over the last two summers, as they’ve written much of the code that powers our environment and curriculum today. Here’s a recap:

Summer 2012:

  • Jamie Wong built the entire server-side of the Khan CS platform, enabling students to save, spin off eachothers programs, and browse the community’s programs. Since then, he’s continued to work for us remotely, and recently built an entire JS testing framework for us!
  • Jessica Liu created Computer Science tutorials, meticulously researching methodologies and iterating after gathering user feedback. If you view some of the CS tutorials you’re sure to enjoy much of her expertise and wit. She also worked on improving the usability of the editor and the curriculum, making it far easier for newbies to get up to speed.

You can read more details about the Summer 2012 CS platform launch here.


Summer 2013:

  • Sophia Westwood wrote the StructuredJS library, which uses Esprima to parse JS and look for matching patterns.
  • Leif Foged wrote our coding challenge framework, which builds on top of StructuredJS so that we can present step-by-step challenges to students and award them upon completion.
  • On the curriculum front, Leif created challenges for conditionals, and Sophia created and delivered our Loops curriculum, helping us get to the full JS 101 curriculum that we have today.

We have a lot of ideas for the problems that interns could help us tackle this summer:

  • Teaching HTML/CSS: How can we create an amazing real-time playground for learning HTML, complete with helpful hints? How can we assess a student’s HTML with fun yet practical challenges?
  • Complex Projects: Students are creating amazing programs on Khan Academy, like FlappyBird clones and solar system simulations. How can we make their development environment better - like with a tabbed IDE, library importing, and more flexible canvas sizing? How can we measure program complexity and highlight the most interesting programs?
  • Data Analysis: We have hundreds of thousands of students learning to program on our platform now, across a range of ages, genders, and locales. How can we use our data and A/B framework to improve the curriculum? Or to share what we’ve learnt with the rest of the CS education community, to help improve CS education globally?

If you join the team, you’ll be working closely with us — John Resig, who created jQuery and kickstarted the whole CS platform 2 years ago, and Pamela Fox, who worked on improving education at Google and Coursera before coming to Khan Academy and completely revamping the curriculum from the ground up. And we’re totally nice and cool people, too, as is clearly demonstrated in this photo. :-)

Most importantly: This summer you will ship features that students directly interact with and benefit from. No boring rewrites, no sub-systems - only features or analysis that are impacting students.

We’re hoping to find interns that are passionate about solving the problems of teaching programming online, and ready to spend the summer with us. Interested? Apply here. Be sure to mention that you’re interested in working on the Computer Science platform!