Main content
Course: Unlisted resources area > Unit 1
Lesson 1: Unlisted videos- A message from Sal on school closures and distance learning with Khan Academy
- Video tour: Teaching programming in the classroom
- Video tour: Khan Academy AP®︎ Computer Science Principles
- Adding two 16-bit binary numbers
- Editing a webpage in an online editor
- Editing webpages in a desktop editor
- Editing a webpage from a command line editor
- Using inspect element for HTML
- Using inspect element for CSS styles
- A Tour of Programming on Khan Academy
- John Resig: Building jQuery
- Genesis effect
- Online Python Tutor (1-minute demo)
- Tetrilingo
- LXJS 2013 - Bill Mills and Angelina Fabbro - JavaScript for Science
- AP CSP example: Traffic simulation
- Scientific simulations: IllustrisTNG Single Galaxy Formation
- Memoized Fibonacci visualization
- Memoized factorial visualization
- Bottom-up Fibonacci visualization
- Recursive Fibonacci Calls (Diagrammed)
- Memoized Recursive Fibonacci Calls (Diagrammed)
- A message from Sal on school closures and Khan Academy remote learning.
© 2024 Khan AcademyTerms of usePrivacy PolicyCookie Notice
Video tour: Teaching programming in the classroom
Pamela, the Computer Science fellow, takes you on a guided tour of KA's Computer Science offerings.
Want to join the conversation?
- WHat is the difference between khanacademy CS programming and C++?(11 votes)
- The Khanacademy CS programming courses are based on a programming lanugage called Javascript. C++ and Javascript share some syntax and general programming concepts, but C++ and Javascript are intended for different types of applications.
Without going too in depth: Javascript might be used more for web applications, user interfaces to data, and quick development, while C++ is for more complex software that needs to run 'closer' to the hardware.(6 votes)
- What is the youngest starting age that you would recommend?(11 votes)
- From the author:I've published stats about completion across ages here:
http://cs-blog.khanacademy.org/2014/03/challenge-completion-across-gender-and_4.html
You can start young, like at 8 years old, but they'll need a lot more encouragement at that age. If you're a bit older, you're more likely to succeed.(8 votes)
- Is Khan Academy doing anything [extracurricular-like] other than this Khan CS?(6 votes)
- They have some art videos, but I don't know if that would count as extracurricular.(1 vote)
- Hi there. I am really excited to use the Intro to JS and Computer Science courses in my online classroom, but I also need to pull in other videos to meet my local curriculum outcomes. For example, I want students to watch this video: https://www.khanacademy.org/math/algebra-home/alg-intro-to-algebra/algebra-alternate-number-bases/v/number-systems-introduction.
Can I add this lesson/video somewhere in the class I created? It is currently focused on the Intro to JS mission.
Also, can I have multiple missions in a class?
Thanks for your time.(4 votes)- From the author:In case anyone has the same question: you can now use the assignments feature to assign content from multiple areas of the site.(1 vote)
- DO you have any advice for ethical hacking education?(4 votes)
- From the author:I met a middle school teacher who very much likes this middle school level curriculum on AI & Ethics: https://www.media.mit.edu/projects/ai-ethics-for-middle-school/overview/
(That is not necessarily on hacking, however- I do not offhand know of K-12 curriculums on Ethics & Cybersecurity)(1 vote)
- Is it possible to add Computer Programming activities to another class, like Algebra 2?(3 votes)
- From the author:There are curriculums out there that mix Computer Science concepts with Algebra, such as the Bootstrap curriculum (https://www.bootstrapworld.org/) and Code.org's version (https://curriculum.code.org/algebra/). We do not specifically mix them here on Khan Academy, but you could assign your students activities from both areas of the site.(1 vote)
- is there a way you could like move the shapes while it is still made and you don't have to delete everything you make?(2 votes)
- Do you have any modules to help teach programming to elementary school students?(0 votes)
- From the author:The most elementary-appropriate tutorial we have is the "Hour of Drawing with Blocks", linked from the Hour of Code page. That is only an hour long, but you could make it longer with more drawing projects.(5 votes)
- Could i have a coach for programming? Is that I'm now in the game making subject and now that there are no longer any videos it docent really make you understand as well. So if any of you have any beginners classroom or you are just a coach, i would really appreciate if you took me into consideration. I am a 8th grader, an a+ student, great with math, and a quick learner.(1 vote)
- From the author:I hope you found someone to support you on your programming quest! Sorry that I never had the time to turn the games articles into talkthroughs, I know that many would prefer that. Perhaps one day :)(1 vote)
- For all the audio instructions, is there a way to slow down the pace of talking? For students whose native language is not English, it will be easier to follow the audio instructions if there's a way to modify the speed. I know that the iPAD has that feature in it Settings, under 'General'. Thank you.(1 vote)
- From the author:The Khan Academy videos all have the option to change the playback speed. However, the programming talkthroughs do not yet have that option. They do each have a "Watch on YouTube" button, however, so students can follow that button to watch the talkthrough in video form and use YouTube's speed settings.(1 vote)
Video transcript
Voiceover: First of all thank
you for watching this video. We're really excited about CS on Khan
Academy and we're happy that there's other people
excited too. Even though computer science isn't a part
of the core curriculum in U.S. K through 12
education or really anywhere in the world we still think that it's an incredibly important
subject to learn. Because when students learn to program,
they learn how to think logically, how to break down problems into steps and how
to learn from their mistakes. These are skills that they can use outside
of programming too. It can also be a great outlet for
creativity. Once students know the basics of
programming, they can start to include their own ideas and feel like they
have the power to invent new things, and they don't need
money or time to buy supplies, all they need is their
computer and their brain. Personally, I get a surge of adrenaline
every time I realize an idea into reality via a
program. And every student deserves to feel that. Plus, the statistics show that there'll be
a massive number of jobs in computing in the future, more than
any other STEM field. So, by teaching them these skills now,
they'll be much more likely to go into that field. We wanna get them pumped and prepared. So that's why we have an entire topic dedicated to computer science and
programing on Khan Academy. And we look forward to working with
teachers like you to figure out how to incorporate it into
the classroom. One way is to actually teach it as a
subject. If you're lucky enough to work at a school
or a summer camp, where CS is a core topic,
then you can use the Khan Academy CS curriculum the
same way you could use any of the other topics on
Khan Academy. We now have a full intro to programming curriculum that teaches JavaScript using
the processing JS language. Which means that students learn both a
JavaScript language and how to make fun drawings and animations at
the same time. So, in this curriculum, go watch talk
throughs, where we'll explain a concept and have code on
one side and output on the other, and then
they'll actually do interactive challenges
themselves, which they'll get points for if they complete. And and throughout, they'll also have
projects, which are more free-form and creative things,
and these are great things that you could actually do
pair programming with in the classroom, if you have that
opportunity. So this this curriculum here is between 10
to 15 hours, depending on how much time you spend on
the challenges and the projects, and will take them all the
way through all the basics of JavaScript all the way up to
Object-Oriented Design. As a programming teacher, you also have multiple ways of tracking your students
activity. For example, you might check out their
activity graph and find out what coding challenges they've completed or talk throughs they've
watched. You might get the email every week that
says you know, what your students have been up to
that week. And you can also look at all the programs
that your students have been making. You can also use Khan CS for independent
study. Let's say you have advanced students, that
you wanna keep engaged and they've already blazed through the
curriculum that you've given them. Well, you could assign them to learn
programming as an independent project. Maybe ask them to go through the programming tutorial, up to a particular
point. And have 'em propose a project that ties
into what else they're learning. For example, if the student is learning
chemistry. They could learn programming, and then
write a program to visualize a molecule, like this
cool 3D one. Or if they're in math, and they're
learning trigonometry they can write these visualizations to
show what they've learned. And then, think about it, they could
actually share these with the rest of their class, and say, hey, classmates, look at this
thing I made to help us visualize what we've
learned. And if I were their classmates, I would be
really impressed. If I was the student, I'd be really,
really proud. You can also use Khan CS for Applied
Learning. We've a lot of great programs that
demonstrate concepts from math and science, and
they're highly interactive. Even if your students don't yet understand
programming, you can play with these programs to give them a
different understanding of a topic. And you can even tinker with a few of the
variables. For example, if students are learning
about pendulums, you can point them to this pendulum example, where you can
actually play with the angle and the lane. You've seen, I've already had to tinkered
with some of the variables. You can change the gravity to be on a
completely different planet that, you know, most of us don't get the
pleasure of getting to visit. You can change the mass. You can change the radius. So you can tinker both in the UI and in the variables over here for a lot of these
simulation programs. And look, I'd managed to do what every
school child wants to do when you're on the swingset, be able to
swing all the way over. The Holy Grail. For another example, if you're learning
the solar system, like in Astronomy, you could
use this solar system simulation to see how it
is that the planets move around the sun. And then you can just easily tweak the
variables on the side. And say, you know, what happens if the
Earth moves really, really fast and goes zoomy zoomy
zoomy around the Sun. And what happens if the Earth is huge. So you can give students this program and
have them tinker with the variables and get them actively engaged in it with
thinking about, you know, how the solar system
works. And maybe also it gets them thinking about
programming and maybe they start to explore
programming independently which is something that would be great for
schools that don't actually get to teach it as a core
topic. Eventually in the future what we're hoping
is that you know, all kids will grow up learning how to program and
every time they learn something in. You know a math or science or even an art topic, they'll think oh, that's
really cool. I wonder if I can make this program to
help me understand it even deeper. Right? And I think that's the power of programing
is that I can actually connect all these pieces together and help us
explore them in a more interactive way. So those are some ways that we thought of
about how you can use the Khan CS program. But don't feel limited by them. The world is your programmatic oyster! If you come up with some other way of
using it, let us know. We would absolutely love to hear it.