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: VULTURNUS

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

Booktopia!

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.

Photo From The UTOPIAN JUNGLE

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!

Monday, December 7, 2015

Try an Hour of Code at Khan Academy

At Khan Academy, we know how important computer science and computer programming are - in fact, the Khan Academy website wouldn’t exist if Sal didn’t know how to code! That’s why we participate in Code.org’s Hour of Code campaign every year during Computer Science Education Week - we want to make sure every student gets to learn the basics of coding.

From December 7 to 13, millions of students around the world will be learning to code - in classrooms, in after-school clubs, and with parents at home. We invite you to join the #HourOfCode movement by learning to code here on Khan Academy, picking from one of our three tutorials:

image

Hour of Drawing with Code: Learn to program using JavaScript, one of the world’s most popular programming languages, via two great options:
- Drag-and-drop: block-based coding for those with less typing experience or on tablet devices (ages 8+).
- Typing: keyboard-based coding (ages 10+).

Hour of Webpages: Learn to make your own webpages using the basics of HTML and CSS (ages 10+).

Hour of Databases: Learn the fundamentals of databases using SQL to create tables with data and query the data (ages 12+).

We hope you’ll join us in celebrating Computer Science Education Week and spend an hour on Khan Academy learning to code!

- Pamela, Coder and Content Creator at Khan Academy