Friday, July 10, 2020

Check out the winners of the "Music" contest!

From Khan Academy Challenge Council Member Allison (tAG54):

For the months of May and June, participants for this month’s contest were prompted to create a webpage or PJS program showing, describing, or representing music in their life. Participants created games, slideshows, graphics, and simulations depicting how music has impacted their lives and the benefits of it, along with showcasing some of their favorite music.

Below you’ll find the ensemble of winners, along with the judge’s comments. Congratulations and thank you to all the winners and participants!

Advanced Bracket

HexaTone Alpha version
Created By: Kiefer
Why we chose this program:
This program features a very creative game concept! (sound wave + maze + puzzle = cool) The code was well commented and the walk-through mode was very well done!

Circular Rhythm
Created By: SKY
Why we chose this program:
This program has a very clean, and simple to use interface with a clever way to create music measures. The code was clear and overall very well done!

3D Marble Machine instrument
Created By: ๊š‚ ๐šŽ ษ™ ษฑ ฯ… เดŸ
Why we chose this program:
This program is amazingly detailed, and we particularly liked the blueprint and vintage film wheel effects!

Music - My Entry
Created By: KING
Why we chose this program:
This program has a nice entry animation, followed by an easy-to-follow layout and lots of great information!

Intermediate Bracket

A Jazz Space
Created By: E A
Why we chose this program:
This is a beautifully rendered, intimate stage. The light effects are great, and there is an excellent use of functions with position and other arguments to layout objects in the scene.

My Musical Journey
Created By: Stephen
Why we chose this program:
This is a very well done, personal slideshow! The program has a good use of coordinate transforms to lay out objects, and includes interesting comments throughout!

A guy with a beat
Created By: ๐‘บ๐’‘๐’‚๐’„๐’†๐‘น๐’‚๐’๐’ˆ๐’†๐’“
Why we chose this program:
This program features an excellent graphic, with good uses of the beginShape, endShape, and vertex functions.

The benefits of music
Created By: JI Peter
Why we chose this program:
This program has a very nice, clean design and it features a good use of jQuery for the multiple pages!

Beginner Bracket

Stage Performance
Created By: LILI <3
Why we chose this program:
This program has good rendering, with organized, well commented code. The visuals are very detailed, and the curtain opening was nice touch!

Spin-off Contest: MusicWIP
Created By: Poorvi Singhai
Why we chose this program:
This is a beautiful drawing with significant detail. The program makes good use of subroutines as well as begin/endShape.

Dj for: Contest Music
Created By: purplebanane12
Why we chose this program:
Music is something to participate in, and we liked how this program had the user interact with it!

My Favorite Music
Created By: bookwhiz
Why we chose this program:
This program has good use of stylesheet, as well as a clean layout!

Monday, June 1, 2020

Khan Academy AP® CSP updated for 20-21 standards

Last year, we released our AP Computer Science Principles review course to help students learn and practice a vast array of computing concepts.

Now that this year's AP CSP students have submitted their portfolios, we've updated the course to reflect the new AP CSP 2020-2021 standards from the College Board.

We've added:
  • New unit: Digital Information
    • Includes previously covered topics of binary numbers, compression techniques, and licenses.
    • Adds new topics: bytes, binary representation of text, sampling analog data.
  • New unit: Online data security
    • Includes previously covered topics of cookies, browsing history, geolocation, encryption, phishing attacks, and passwords.
    • Adds new topics: PII, search history, rogue access points, multifactor authentication.
  • New unit: Simulations
    • Includes previously covered topic of randomness. Adds new content on exploring and creating simulations.
  • New unit: Computing Innovations
    • Covers similar topics as previous "Global impact" unit but with new exercises focusing on the harms and benefits of innovations.
  • New lesson: Parallel & distributed computing (in Algorithms unit)
We've changed a lot of the content in the Internet unit. There's a big overlap in the content covered in the articles, but the exercises have changed to reflect the change in the standards, and the content now covers UDP, WWW, scalable systems, and open protocol development.

We're removed the Computers unit. The lessons on binary data and compression are in the new Digital information unit. The lessons on computer hardware, files, and hexadecimal numbers are still available in our Computers and the Internet content.

We hope this updated content helps students and teachers master the variety of topics in AP CSP in the coming years. Happy learning!

Wednesday, May 13, 2020

Check out the winners of the "Utopia" coding contest

From Khan Academy Challenge Council Member Allison (tAG54):

"For the months of March and April, the Challenge Council prompted Khan Academy’s coding community to create a program which represented what a Utopia -- or a perfect (and sometimes futuristic) society, place, or world -- would look like to them. Users created games, graphics, animations, and interactive slideshows showing their visions of ideal places to live, and some even created programs to show the upsides and downsides to them.

Below are the winning entries for this contest, along with the judge’s comments. Congratulations and thank you to all of the participants for their hard work and effort!"

Advanced Bracket

A New Journey | UTOPIA (Episode 1?)

Created By: Jam0708

Why we chose this program:
This animation/short film is very well put together! It tells a nice story, has great transitions, and includes excellent visuals and animations!

Exoplanet Utopia

Created By: Admiral Betasin

Why we chose this program:
The high-quality graphics and blended colors are excellent in this program!

Future (Animated)

Created By: Gray Wolf

Why we chose this program:
This is a very well-made graphic with cool animated elements. The colors and designs are very well thought out and look amazing!

Intermediate Bracket

Utopia: A Place . . . Or a Mindset?

Created By: SavannahRW01

Why we chose this program:
This program gave users two "paths" to choose from, and both had beautiful graphics, great information, and advanced shapes!

Scientific/Technological Utopia

Created By: ๏ผถ๏ผต๏ผฌ๏ผด๏ผต๏ผฒ๏ผฎ๏ผต๏ผณ

Why we chose this program:
This is a very creative and well put-together graphic, with clean and commented code!

Utopia in the Distance

Created By: William Wang

Why we chose this program:
Beautifully made graphic with lots of great information! The detail is very impressive!

Beginner Bracket


Created By: Bookworm Boy

Why we chose this program:
This is a nice animated graphic with well-commented code! A very nice layout with some added creativity and futuristic animation.


Created By: Colored Feather

Why we chose this program:
This is a very fun and colorful graphic! The use of the camera to lead into the image of the utopia was very creative. Well-commented and organized code!

What is your Utopia?

Created By: Elemental Phoenix

Why we chose this program:
This program was very well done, with well-commented code, complexity, and user interaction!

Thursday, June 28, 2018

Intro to JS: Teaching Guides

Are any of you teachers or TAs in classrooms? If so, you might find our new teaching guides to be a helpful resource. We now have one teaching guide for each unit in Intro to JS, and each guide includes an overview of what students learn, what students often struggle with, plus discussion and trivia questions. Some of them even have fun unplugged activities!

Monday, January 11, 2016

Thanks for joining us for Hour of Code 2015

This year, hundreds of thousands of new coders (from age 6-76) tried out our Khan Academy Hour of Code tutorials, learning either JS, HTML, or SQL.

Some fun stats from 2015:
  • 103,810 students spent 29,825 hours working on 175,317 projects.
  • We sent 14,099 coaches notifications about 58,463 certificates earned by their students.
  • Hour of Code students asked 1,463 questions that week, 87% of them were answered.
And now my favorite part - photos of the new coders in action.

New coders trying it out at home!

New coders in the classroom!

New coders trying it out in their clubs!

Pair programming!

See you and your students next year!

Monday, January 4, 2016

Custom (and bigger!) program sizes

As a Xmas present to our community, we released a feature that our coders have oft requested: bigger canvas sizes for their programs. Now, you can change your canvas from the default 400x400 up to a max of 600x600, by using the settings dialog.

For examples of the way students are using the feature, check out these entries from the Retro Game contest:

Friday, December 18, 2015

The most common syntax mistakes from SQL newbies

We teach SQL on Khan Academy by embedding SQLite.js inside our real-time editor. In our courses, students first learn how a concept works in an interactive talk-through and then they work through a step-by-step SQL-writing challenge.

We've now had thousands of learners attempt the SQL challenges in our SQL course. Many of those figure out how to write correct SQL and pass the challenges. But a big fraction of them struggle to write SQL correctly the first time and bang their head over syntax errors. When that happens, I get a JIRA report with their code and any other colorful language they'd like to express :) A few weeks ago, I triaged nearly 2,000 reports from our first 3 challenges, and I was fascinated to see the huge variety of syntax errors.

Some of the errors kept popping up - here were the top 3:

  • Students putting a whitespace in their table name.
  • Students missing semi-colons after SELECT or INSERT statements.
  • Students spelling INTEGER as INTERGER and not noticing that extra 'R'.

For most syntax errors, students used to see "syntax error near [token]" and nothing else - so they knew something was wrong near a line of their SQL but had no other clues about why their SQL was wrong. To help those new SQLers out, I added more specific messages using simple regex-based checks. For example, the students from before will now see these messages:

  • You can't have a space in your table name.
  • Do you have a semi-colon after each statement?
  • Is INTEGER spelled correctly?

As I saw more repeat errors across learners, I just kept adding more messages. Here's a table of all the messages I added:

example SQL message
CREATE TABLE books (id PRIMARY KEY INTEGER,name TEXT,rating INTEGER ); Did you mean to put PRIMARY KEY after INTEGER?
CREATE TABLE books (id INTEGER PRIMARY KEY, name TEXT, rating INTEGER; Are you missing a parenthesis?"]);
CREATE books(id INTEGER PRIMARY KEY name TEXT); You may be missing what to create. For example, CREATE TABLE...
CREATE TABLE (name TEXT); Are you missing the table name?"]);
CREATE TABLE books (id INTEGER PRIMARY KEY,name,TEXT,rating INTEGER); Do you have an extra comma between the name and type?
CREATE TABLE booklist (id, INTEGER PRIMARY KEY, name TEXT, rating INTEGER); Do you have an extra comma between the name and type?
CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT, rating out of ten INTEGER); You can't have a space in your column name.
INSERT INTO FavBooks VALUES (1, Beautiful Creatures, 10); Are you missing quotes around text values?
CREATE TABLE books (name TEXT) INSERT INTO books VALUES (1, 'book a', 100) INSERT INTO books VALUES (2, 'book b', 110) INSERT INTO books VALUES (3, 'book c', 1) Do you have a semi-colon after each statement?
INSERT, INTO books VALUES (1, \"gone with the wind\", 1); There shouldn't be a comma after INSERT.
CREATE TABLE customers (id INTEGER PRIMARY KEY); INSERT INTO customers VALUES (1); INSERT INTO customers VALUES (1); Are you specifying a different value for each row?
CREATE TABLE customers (id INTEGER PRIMARY KEY, id TEXT); You have multiple columns named `id` - column names must be unique.

I stopped there, but there's still much more work to do: I put 23 more syntax error situations in a Github issue on our live-editor open source repo. If you're interested in making SQL easier to learn, I encourage you to submit a PR for that issue or any other SQL-related issues. Your message could prevent thousands of future SQLers from pounding their head against a keyboard!