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 BJC AP CSP curriculum

The Khan Academy content is designed as a supplementary resource for all AP CSP classrooms. There are many endorsed CSP curricula, and each of them teach the topics in a different order.
Beauty and Joy of Computing (BJC) is a freely available curriculum that introduces the CSP topics through the Snap! coding environment and interactive labs.
This diagram gives a high level overview of how the BJC units relate to the Khan Academy units:
A diagram of the mapping between BJC and Khan Academy AP CSP units
This table provides a more detailed breakdown:
BJCRelated content on Khan Academy
Unit 1: Introduction to ProgrammingSee below:
• Lab 1: Click Alonzo GameNo related content
• Lab 2: GossipLesson: What is programming?, Article: Storing strings in variables, Lesson: Procedures, Lesson: Simulating randomness
• Lab 3: Modern Art with PolygonsLesson: Repetition
• Lab 4: Protecting your PrivacyLesson: PII, Lesson: User data tracking
• Lab 5: Follow the LeaderArticle: Conditionals with if, else, and Booleans
Unit 2: AbstractionSee below:
• Lab 1: GamesLesson: Variables, Article: Storing and updating lists
• Lab 2: Making ListsLesson: Lists
• Lab 3: Making DecisionsLesson: Boolean logic, Article: String operations
• Lab 4: Making Computers Do MathLesson: Numbers and math
• Lab 5: CopyrightsLesson: Digital copyright and licenses
Unit 3: Data structuresSee below:
• Lab 1: Dealing with complexityLesson: Building algorithms
• Lab 2: Contact ListNo related content
• Lab 3: Tic-Tac-ToeNo related content
• Lab 4: Robots and AILesson: Bias in machine learning
• Lab 5: Computers and workLesson: Collaborative innovations
Unit 4: How the Internet WorksSee below:
• Lab 1: Computer networksUnit: The Internet (minus The digital divide)
• Lab 2: CybersecurityLesson: Cyber attacks, Lesson: Data encryption techniques, Lesson: Secure Internet protocols, Lesson: User authentication methods
• Lab 3: Community and online interactionsUnit: Computing innovations (minus Monitoring), Lesson: The digital divide
• Lab 4: Data representation and compressionUnit: Digital information (minus Copyright lesson)
Unit 5: Algorithms and simulationsSee below:
• Lab 1: Search algorithms and efficiencyLesson: Evaluating algorithms, Article: Using heuristics, Lesson: Parallel and distributed computing
• Lab 2: SimulationsUnit: Simulations
• Lab 3: Turning data into informationUnit: Data analysis
• Lab 4: Unsolvable and undecidable problemsArticle: Undecidable problems
• Lab 5: Computing in warNo related content
Since the programming topics are covered in a very different order, it would probably be best to wait until after the three programming-focused units (Programming, Abstraction, and Data structures) and then practice using the Khan Academy Programming unit.

Want to join the conversation?