Code.org CSP Syllabus '24 - '25 (1)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Code.

org Computer Science Principles Syllabus and Overview

AP® Computer Science Principles


Code.org’s Computer Science Principles (CSP) curriculum is a full-year, rigorous, entry-level course that introduces
high school students to the foundations of modern computing. The course covers a broad range of foundational topics
such as programming, algorithms, the Internet, big data, digital privacy and security, and the societal impacts of
computing. All teacher and student materials are provided for free online and can be accessed at code.org/csp.

AP Endorsed
Code.org is recognized by the College Board as an endorsed provider of curriculum and professional
development for AP® Computer Science Principles (AP CSP). This endorsement affirms that all
components of Code.org CSP’s offerings are aligned to the AP Curriculum Framework standards, the AP
CSP assessment, and the AP framework for professional development. Using an endorsed provider
affords schools access to resources including an AP CSP syllabus pre-approved by the College Board’s
AP Course Audit, and officially-recognized professional development that prepares teachers to teach AP
CSP.

AP is a trademark registered and owned by the College Board.

Curriculum At-a-Glance
Unit 1 Explore how computers store complex information like numbers, text, images
Digital Information and sound and debate the impacts of digitizing information.
1. Welcome to CSP
2. Representing Information
3. Circle Square Patterns
4. Binary Numbers
5. Overflow and Rounding
6. Representing Text
7. Black and White Images
8. Color Images
9. Lossless Compression
10. Lossy Compression
11. Intellectual Property
12. Assessment

Learn about how the Internet works and discuss its impacts on politics, culture,
and the economy.
1. Welcome to the Internet
2. Building a Network
Unit 2
3. The Need for Addressing
The Internet
4. Routers and Redundancy
5. Packets
6. HTTP and DNS
7. Internet Dilemmas - Digital Divide
8. Assessment

Unit 3 Design your first app while learning both fundamental programming concepts
Intro to App Design and collaborative software development processes.
1. Introduction Apps*
2. Introductions to Design Mode*
3. Designing an App Part 1*
4. The Need for Programming Languages*
5. Intro to Programming
6. Debugging
7. Project - - Designing an App Part 2*

1
Code.org Computer Science Principles Syllabus and Overview

8. Assessment

Unit 4 Expand the types of apps you can create by adding the ability to store
Variables, Conditionals, and Functions information, make decisions, and better organize code.
1. Variable Explore
2. Variables Investigate
3. Variables Practice
4. Variables Make
5. Conditional Explore
6. Conditionals Investigate
7. Conditionals Practice
8. Conditionals Make
9. Functions Explore/Investigate
10. Functions Practice
11. Functions Make
12. Decision Maker App
13. Assessment

Explore and visualize datasets from a wide variety of topics as you hunt for
patterns and try to learn more about the world around you.
1. Learning from Data
2. Exploring One Column
3. Filtering and Cleaning
Unit 5
4. Exploring Two Columns
Data
5. Big, Open and Crowdsourced Data
6. Machine Learning
7. Algorithmic Bias
8. Tell a Data Story
9. Assessment Day

Build apps that use large amounts of information and pull in data from the web
to create a wider variety of apps.
1. Lists Explore
2. Lists Investigate
3. Lists Practice
4. Lists Make
5. Loops Explore
Unit 6 6. Loops Investigate
Lists, Loops, and Traversals 7. Loops Practice
8. Loops Make
9. Traversals Explore
10. Traversals Investigate
11. Trasversals Practice
12. Traversals Makes
13. Project - Hackathon
14. Assessment Day

Unit 7 Learn how to design clean and reusable code that you can share with a single
Parameters, Return, and Libraries classmate or the entire world.
1. Parameters and Return Explore
2. Parameters and Return Investigate
3. Parameters and Return Practice
4. Parameters and Return Make
5. Libraries Explore
6. Libraries Investigate
7. Libraries Practice

2
Code.org Computer Science Principles Syllabus and Overview

8. Project Make a Library Part 1


9. Project Make a Library Part 2
10. Project Make a Library Part 3
11. Assessment Day

Unit 8 Research and debate current events at the intersection of data, public policy,
Cybersecurity and Global Impacts law, ethics, and societal impact.
1. Project - Innovation Simulation Part 1
2. Data Policies and Privacy
3. The Value of Privacy
4. Project - Innovation Simulation Part 2
5. Security Risks Part 1
6. Security Risks Part 2
7. Innovation Simulation Part 3
8. Protecting Data Part 1
9. Protecting Data Part 2
10. Project - Innovation Simulation Part 4
11. Assessment Day

Unit 9 Practice and complete the Create Performance Task (PT).


Create PT Prep 1. Create PT Deep Dive
2. Create PT Make a Plan
3. Create PT - Complete the Task (9hrs)
4. Create PT Written Response Mock Exam

Unit 10 Design and analyze algorithms to understand how they work and why some
Algorithms are considered better than others.
1. Algorithms Solve Problems
2. Algorithms Efficiency
3. Unreasonable Time
4. The Limits of Algorithms
5. Parallel and Distributed Algorithms
6. Assessment Day
* Unit 3 - Some lessons will be completed in MP4 or as a partnered project.
Below, you will find detailed descriptions of each unit, that highlight the big ideas and computational thinking practices that
are developed in that unit.

Unit 1 - Digital Information


Students explore how computers store complex information like numbers, text, images, and sound, and they debate the
impacts of digitizing information (DAT). Alternating between lessons away from the computer ("unplugged"), and lessons
that use digital tools called "widgets," this unit encourages an exploratory and collaborative approach to learning about
digital information. For example, in one activity students design a device using household items like pipe-cleaners, cups,
string, etc. that will allow them to communicate simple messages across a room. As students are challenged to send
increasingly complex messages, they must improve their device collaboratively with their partner while confronting some
of the challenges underlying the representation of digital information (CTP1). To close out the unit, students debate the
pros and cons of digitizing information and the impacts of digital information on society and culture at large (CTP5) (IOC).

Unit 2 - The Internet


Students learn how the Internet works and discuss its impacts on politics, culture, and the economy (CSN). Throughout
this unit, students use a digital tool called the Internet Simulator that simulates how different parts of the Internet work and
forces students to grapple with and solve the problems each aspect of the Internet was designed to solve (CTP1). At the
conclusion of the unit, students investigate an "Internet Dilemma," both from the standpoint of its technical background
and its impacts on different groups of people (CTP5) (IOC).

3
Code.org Computer Science Principles Syllabus and Overview

Unit 3 - Intro to App Design


Students design their first app while learning both fundamental programming concepts and collaborative software
development processes (CRD, AAP). Students work with partners to develop this simple app that teaches classmates
about a topic of personal interest (CTP1, CTP4, CTP6). Throughout the unit they learn how to use App Lab to design user
interfaces and write simple event-driven programs. Along the way, students learn practices like debugging, pair
programming, and collecting and responding to feedback, which they will be able to use throughout the course as they
build ever more complex projects. The unit concludes with students sharing the apps they develop with their classmates.

Unit 4 - Variables, Conditionals, and Functions


Students expand the types of apps they can create by adding the ability to store information (variables), make decisions
(conditionals), and better organize code (functions) (AAP). Students are introduced to these concepts through guided
hands-on activities that feature approachable manipulatives like sticky notes and plastic bags. They are then provided
opportunities to explore working examples of programs that use each concept (CTP4) before setting out on a series of
increasingly challenging practice activities. The exploration of each of these three concepts concludes with a lesson in
which students must write the code for a simple app that uses each concept without starter code. The entire unit
concludes with an open-ended project in which students must build an app that helps their classmates make a decision
based on user input (CTP1, CTP3, CTP4, CTP6).

Unit 5 - Data
Students explore and visualize datasets from a wide variety of topics as they hunt for patterns and try to learn more about
the world around them (DAT). Students work with datasets in App Lab and are asked to make use of a data visualizer tool
that assists students in finding data patterns. Students learn how different types of visualizations can be used to better
understand the patterns contained in data sets and investigate hypotheses. At the conclusion of the unit, students learn
about the impacts of data analysis on the world around them, before completing a final project in which they must uncover
and present a data investigation they've completed independently (CTP5).

Unit 6 - Lists, Loops, and Traversals


Students learn to build apps that use and process lists of information (AAP). Like the Variables, Conditionals, and
Functions unit, students explore the core concepts of lists, loops, and traversals through a variety of lesson types ranging
from hands-on unplugged activities, to reading and modifying working code, to collaboratively working through
programming challenges (CTP4). Late in the unit, students are introduced to tools that allow them to import tables of
real-world data to help further power the types of apps they can make. At the conclusion of the unit, students complete a
week-long project in which they must design an app around a goal of their choosing that uses one of these data sets
(CTP1, CTP4, CTP6).

Unit 7 - Parameters, Return, and Libraries


Students learn how to design clean and reusable code that can be shared with a single classmate or the entire world
(AAP). In the beginning of the unit, students are introduced to the concepts of parameters and return, which allow for
students to design code that encapsulates algorithms (CTP3). In the second half of the unit, students learn how to design
libraries of functions that can be used in a variety of situations. The unit concludes with students designing a small library
of functions that can be used by a classmate (CTP1, CTP2, CTP3, CTP4).

Unit 8 - Cybersecurity and Global Impacts


Students research and debate current events at the intersection of data, public policy, law, ethics, and societal impact
(IOC). This unit is built around a simulated "future school" conference in which students must take on the persona of a
stakeholder in a school setting and propose and debate technological innovations that could improve schools. Throughout
the unit students learn about the privacy and security risks of many computing innovations, and learn about the ways
some of these risks can be mitigated. Students complete their Explore Curricular Requirement as part of this project as
they investigate at least three computing innovations, then discuss and debate many other innovations with their
classmates (CTP5, CTP6). At the conclusion of the unit, the class holds a conference in which teams present their overall
vision for a school of the future and the computing innovations that would power it.

4
Code.org Computer Science Principles Syllabus and Overview

Unit 9 - Create PT Prep


Students practice and complete the Create Performance Task (PT). The unit begins with a series of activities that ensure
students understand the requirements of the Create PT, which they have practiced throughout the year. Subsequently,
students are given at least 9 class hours in which to complete the Create PT.

Unit 10 - Algorithms
Students learn to design and analyze algorithms to understand how they work and why some algorithms are considered
more efficient than others (AAP). This short unit is entirely unplugged, and features hands-on activities that help students
get an intuitive sense of the differences between how quickly different algorithms run and the pros and cons of different
algorithms (CTP2). Later in the unit, students explore concepts like undecidable problems and parallel and distributed
computing (CSN).

You might also like