If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Main content

How Khan Academy content relates to Code.org AP CSP curriculum

The Khan Academy content is designed as a supplementary resource for all AP CSP classrooms.
However, since many classrooms are using the freely available Code.org AP CSP curriculum, we attempted to sequence the topics in a similar order to their units.
This diagram gives a high level overview of how Code.org units relate to the Khan Academy units:
A diagram of the mapping between Code.org and Khan Academy AP CSP units
This table provides a unit-by-unit breakdown:
Code.orgRelated content on Khan Academy
Unit 1 - Digital InformationUnit: Digital information
Unit 2 - The InternetUnit: The Internet
Unit 3 - Intro to App DesignLesson 6 is similar to What is programming from Programming unit, but we do not teach App Lab or application design principles.
Unit 4 - Variables, Conditionals, and FunctionsFrom Programming unit: Variables, Math, Strings, Boolean logic, Defining a procedure
Unit 5 - Lists, Loops, and TraversalsFrom Programming unit: Repetition, and Lists, plus Unit: Simulations
Unit 6 - AlgorithmsUnit: Algorithms
Unit 7 - Parameters, Return, and LibrariesParameters and return values are covered in Procedures from Programming unit. We do not yet have a lesson on libraries.
Unit 8 - Create PT PrepWe do not discuss preparing for the Create PT here, since it is often specific to the programming environment used by the classroom.
Unit 9 - DataUnit: Data analysis
Unit 10 - Cybersecurity and Global ImpactsCovered in two units: Online data security and Computing innovations
This table provides a lesson-by-lesson breakdown:
Code.orgRelated content on Khan Academy
Unit 1 - Digital InformationSee below ⬇
Lesson 1: Welcome to CSP
Lesson 2: Representing Information
Lesson 3: Circle Square Patterns
Lesson 4: Binary NumbersLesson: Bits & bytes, Lesson: Binary numbers
Lesson 5: Overflow and RoundingLesson: Limitations of storing numbers
Lesson 6: Representing TextLesson: Storing text in binary
Lesson 7: Black and White ImagesLesson: Converting analog data to digital data
Lesson 8: Color ImagesLesson: Converting analog data to digital data (Same as previous lesson)
Lesson 9: Lossless CompressionLesson: Lossless data compression
Lesson 10: Lossy CompressionLesson: Lossy data compression
Lesson 11: Intellectual PropertyLesson: Digital copyright and licenses
Lesson 12: Project - Digital Information Dilemmas Part 1
Lesson 13: Project - Digital Information Dilemmas Part 2
Lesson 14: Assessment DayUnit test on Digital information
Unit 2 - The InternetSee below ⬇
Lesson 1: Welcome to the InternetLesson: Introducing the Internet
Lesson 2: Building a NetworkLesson: Connecting networks
Lesson 3: The Need for AddressingLesson: Addressing the Internet, first half of Video: IP addresses and DNS
Lesson 4: Routers and RedundancyLesson: Routing with Redundancy
Lesson 5: PacketsLesson: Transporting packets, Video: Packets, routers, and reliability
Lesson 6: HTTP and DNSLesson: Web protocols, Lesson: Scalable systems, Lesson: Secure Internet protocols
Lesson 7: Project - Internet Dilemmas Part 1Lesson: The digital divide
Lesson 8: Project - Internet Dilemmas Part 2Lesson: The digital divide (Same as previous lesson)
Lesson 9: Assessment DayLesson: The Internet protocol suite, Lesson: Open protocol development, Unit test on the Internet
Unit 3 - Intro to App DesignSee below ⬇
Lesson 1: Introduction to Apps
Lesson 2: Introduction to Design Mode
Lesson 3: Project - Designing an App Part 1
Lesson 4: Lesson 4: Project - Designing an App Part 2
Lesson 5: The Need for Programming Languages
Lesson 6: Intro to ProgrammingLesson: What is programming?
Lesson 7: Debugging
Lesson 8: Project - Designing an App Part 3
Lesson 9: Project - Designing an App Part 4
Lesson 10: Project - Designing an App Part 5
Lesson 11: Assessment Day
Unit 4 - Variables, Conditionals, and FunctionsSee below ⬇
Lesson 1: Variables exploreLesson: Variables
Lesson 2: Variables InvestigateLesson: Math, Lesson: Strings
Lesson 3: Variables Practice(Same as above)
Lesson 4: Variables Make(Same as above)
Lesson 5: Conditionals ExploreLesson: Conditionals
Lesson 6: Conditionals Investigate(Same as above)
Lesson 7: Conditionals Practice(Same as above)
Lesson 8: Conditionals Make(Same as above)
Lesson 9: Functions Explore / InvestigateArticle: Defining a procedure, Exercise: Defining a procedure
Lesson 10: Functions Practice(Same as above)
Lesson 11: Functions Make(Same as above)
Lesson 12: Project - Decision Maker App Part 1
Lesson 13: Project - Decision Maker App Part 2
Lesson 14: Project - Decision Maker App Part 3
Lesson 15: Assessment Day
Unit 5 - Lists, Loops, and TraversalsSee below ⬇
Lesson 1: Lists ExploreArticle: Storing and updating lists, Exercise: Storing and updating lists
Lesson 2: Lists Investigate(Same as above)
Lesson 3: Lists Practice(Same as above)
Lesson 4: Lists Make(Same as above)
Lesson 5: Loops ExploreLesson: Repetition
Lesson 6: Loops InvestigateLesson: Exploring simulations, Lesson: Simulating randomness, Lesson: Creating simulations
Lesson 7: Loops Practice(Same as above - repetition lesson)
Lesson 8: Loops Make(Same as above - repetition lesson)
Lesson 9: Traversals ExploreArticle: Iterating over lists with loops, Exercise: Iterating over lists with loops
Lesson 10: Traversals Investigate(Same as above)
Lesson 11: Traversals Practice(Same as above)
Lesson 12: Traversals Make(Same as above)
Lesson 13: Project - Hackathon Part 1
Lesson 14: Project - Hackathon Part 2
Lesson 15: Project - Hackathon Part 3
Lesson 16: Project - Hackathon Part 4
Lesson 17: Project - Hackathon Part 5
Lesson 18: Assessment DayUnit test on Simulations
Unit 6 - AlgorithmsSee below ⬇
Lesson 1: Algorithms Solve ProblemsLesson: Building algorithms
Lesson 2: Algorithm EfficiencyArticle: Measuring an algorithm's efficiency, Exercise: Measuring an algorithm's efficiency
Lesson 3: Unreasonable TimeArticle: Categorizing runtime efficiency, Exercise: Categorizing runtime efficiency
Lesson 4: The Limits of AlgorithmsLesson: Solving hard problems
Lesson 5: Parallel and Distributed AlgorithmsLesson: Parallel and distributed computing
Lesson 6: Assessment DayUnit test on Algorithms
Unit 7 - Parameters, Return, and LibrariesSee below ⬇
Lesson 1: Parameters and Return ExploreArticle: Procedures with parameters, Exercise: Procedures with parameters, Article: Procedures with return values, Exercise: Procedures with return values
Lesson 2: Parameters and Return Investigate(Same as above)
Lesson 3: Parameters and Return Practice(Same as above)
Lesson 4: Parameters and Return Make(Same as above)
Lesson 5: Libraries ExploreNo content on libraries yet
Lesson 6: Libraries Investigate
Lesson 7: Libraries Investigate
Lesson 7: Libraries Make
Lesson 8: Project - Make a Library Part 1
Lesson 9: Project - Make a Library Part 2
Lesson 10: Project - Make a Library Part 3
Lesson 11: Assessment DayUnit test on Programming
Unit 8 - Create PT PrepNo related content for this unit
Unit 9 - DataSee below ⬇
Lesson 1: Learning from Data
Lesson 2: Exploring One ColumnArticle: Storing data sets, Article: Computing basic statistics, Exercise: Computing basic statistics
Lesson 3: Filtering and Cleaning Data
Lesson 4: Exploring Two ColumnsArticle: Finding patterns in data sets, Exercise: Finding patterns in data sets
Lesson 5: Big, Open, and Crowdsourced DataLesson: Big data, Lesson: Crowdsourcing innovations, Lesson: Collaboration innovations
Lesson 6: Machine Learning and BiasLesson: Bias in machine learning
Lesson 7: Project - Tell a Data Story Part 1
Lesson 8: Project - Tell a Data Story Part 2
Lesson 9: Assessment DayUnit test on Data analysis
Unit 10 - Cybersecurity and Global ImpactsSee below ⬇
Lesson 1: Project - Innovation Simulation Part 1
Lesson 2: Project - Innovation Simulation Part 2
Lesson 3: Data Policies and PrivacyArticle: Why care about data security?, Lesson: PII, Lesson: Communication innovations
Lesson 4: The Value of PrivacyLesson: User data tracking
Lesson 5: Project - Innovation Simulation Part 3
Lesson 6: Security Risks Part 1Lesson: Cyber attacks
Lesson 7: Security Risks Part 2(Same as above)
Lesson 8: Project - Innovation Simulation Part 4
Lesson 9: Protecting Data Part 1Lesson: Data encryption techniques
Lesson 10: Protecting Data 2Lesson: User authentication methods
Lesson 11: Project - Innovation Simulation Part 5
Lesson 12: Project - Innovation Simulation Part 6
Lesson 13: Project - Innovation Simulation Part 7
Lesson 14: Assessment DayUnit test for Online data security, Unit test for Computing innovations

Want to join the conversation?