0% found this document useful (0 votes)
2K views21 pages

AP® Computer Science Principles: Unit 1

Uploaded by

api-370628488
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views21 pages

AP® Computer Science Principles: Unit 1

Uploaded by

api-370628488
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

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. The course is designed for typical school settings with teachers in classrooms. All teacher and student
materials are provided for free online.

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 is a trademark registered and
owned by the College Board.
AP CSP.

Curriculum Overview and Goals 


Computing affects almost all aspects of modern life and ​all​ students deserve access to a computing education that
prepares them to pursue the wide array of intellectual and career opportunities that computing has made possible. This
course is not a tour of current events and technologies. Rather, it seeks to provide students with a “future proof”
foundation in computing principles so that they are adequately prepared with both the knowledge and skills to live and
meaningfully participate in our increasingly digital society, economy, and culture.

Here is a brief summary of each of the units in the Code.org CSP curriculum.

Learn how the multi-layered systems of the internet function as you collaboratively solve
Unit 1:  
problems and puzzles about encoding and transmitting data, both ‘unplugged’ and using
The Internet 
Code.org’s Internet Simulator.

Unit 2:   Learn how computers store complex information like images, video, and sound. Use
Digital Information  interactive widgets to explore concepts like image representation and compression.

Learn the JavaScript language with turtle programming in Code.org’s App Lab coding
Unit 3:  
environment. Learn general principles of algorithms and program design that apply to any
Intro to Programming 
programming language.

Unit 4:   Research current events at the intersection of data, public policy, law, ethics, and societal
Big Data and Privacy  impact. Learn the basics of how and why modern encryption works.

Explore PT Prep  Practice and then complete the Explore Performance Task (PT).

Continue learning how to program in the JavaScript language. Use Code.org’s App Lab
Unit 5:  
environment to create a series of applications that live on the web. Each app highlights a
Building Apps 
core concept of programming.

Create PT Prep  Practice and then complete the Create Performance Task (PT).

Post AP:  Learn how computers allow data to be collected, cleaned, analyzed, and visualized in
Data Tools  order to find patterns and draw conclusions.

1
Code.org Computer Science Principles Syllabus and Overview 

Addressing Diversity, Equity, and Broadening Participation  


in the Curriculum 
A central goal of Code.org’s CSP curriculum is for it to be accessible to all students, especially those in groups typically
underrepresented in computing. To this end, we have worked to provide examples and activities that are relevant and
topical enough for students to connect back to their own interests and lives. Wherever possible, and especially in the
videos that accompany the curriculum, we seek to ​highlight a diverse array of role models ​in terms of gender, race,
and profession from which students can draw inspiration and “see themselves” participating in computing.

The curriculum assumes no prior knowledge of computing and is written to support ​both​ students and teachers
who are new to the discipline. ​Activities are designed and structured in such a way that students with diverse learning
needs have space to find their voice and to express their thoughts and opinions. The activities, videos, and computing
tools in the curriculum strive to have a broad appeal and to be accessible to a student body diverse in background,
gender, race, prior knowledge of computing, and personal interests.

Broadening student participation in computer science is a national goal, and effectively an issue of social justice.
Motivational marketing messages only get you so far. We believe that the real key to attracting students to computer
science and then sustaining that growth has as much to do with the teacher in the classroom as it does with anything else.
The real “access” students need to computing is an ​opportunity to ​legitimately and meaningfully participate​ in every
lesson ​regardless of the student’s background or prior experience in computing coming into the course. For example, the
course begins with material that is challenging but typically unfamiliar even to students who have some prior experience
or knowledge of computer science.

Who Should Take This Course? 


There are no formal prerequisites for this course, though the College Board recommends that students have taken at least
Algebra 1. The course requires a significant amount of expository writing (as well as writing computer code, of course).
For students wishing to complete the requirements of the AP Exam and Performance Tasks, we recommend they be in
10th grade or above due the expectations of student responsibility and maturity for an AP course.

The curriculum itself does not assume any prior knowledge of computing concepts before entering the course.​ It
is intended to be suitable as a ​first course in computing ​though students with a variety of backgrounds and prior
experiences will also find the course engaging and with plenty of challenges.​ ​While it is increasingly likely that students
entering this AP course in high school will have had ​some​ prior experience in computer science (particularly with
programming), that experience is equally likely to be highly varied both in quantity and quality. It is for this reason that the
course ​does not​ start with programming, but instead with material that is much more likely to put all students on a level
playing field for the first few weeks of class. Read more about this below in the description of Unit 1.

   

2
Code.org Computer Science Principles Syllabus and Overview 

Who Should Teach This Course? 


The curriculum is designed so that a teacher who is new to teaching this material has adequate support and
preparation​ - especially for those who go through Code.org’s professional development program. A teacher who is
motivated to teach a course like this, but who has limited technical or formal computer science experience should be able
to be successful. At a minimum, we strongly recommend that the teacher have a reasonable level of comfort using
computers (using the web, email, downloading and saving files, basic troubleshooting, etc.).

Teachers of this course should be especially interested in creating and nurturing equitable, engaging classrooms. The
work of providing an equitable classroom doesn't start or stop with curriculum -- the classroom environment and teaching
practices must also be structured such that all learners can access and engage with the material at a level that doesn’t
advantage some at the expense of others. ​Equitable teaching practices​ are inextricably linked and woven into the
design and structure of our lessons, and in some cases the reason for their existence.

The curriculum provides a number of resources for the teacher, such as assessment support, computing tools that are
designed for learning specific concepts, and the programming environment, App Lab. These resources have been
specifically curated ​for each step of each lesson,​ which allows the teacher to act in the role of facilitator and coach when
addressing unfamiliar material, rather than having to worry about presenting or lecturing.

Code.org CS Principles Course At-A-Glance 


The chart on the following page is intended to show the big picture of the entire course. While the layout of units may
appear to be modular, the units of study are scaffolded ​and sequenced to build students’ skills and knowledge
toward the Enduring Understandings of the CSP Course Framework. ​The lessons for each unit assume that students
have the knowledge and skills obtained in the previous units. There are also many thematic connections that can be made
between and among lessons and units. A summary of how the course is arranged is below.

● The course is split into several ​units​.


● Larger units are divided into two ​chapters​ - groups of lessons that address a related set of topics.
● Each ​lesson​ is intended to be a complete thought that takes the student from some motivational question or
premise to an activity that builds skills and knowledge toward some learning objective(s). Lessons are typically
designed to be taught in one ~50 minute class session though exceptions are noted throughout.
● Units will contain at least one and often multiple major projects and assessments. Projects are typically designed
as ​Practice PTs​ and mimic some elements of the Create or Explore Performance Tasks.
● Pacing guidance is provided for each lesson, visually indicating roughly how many weeks each chapter or unit
should take. Lessons are roughly allocated to weeks.
● Preparation for the AP© Create and Explore Performance Tasks is integrated throughout the course. The Create
PT Prep and Explore PT Prep units are included to help you prepare students to understand the requirements of
the tasks and set aside the required time to complete them.

3
Code.org Computer Science Principles Syllabus and Overview 

Unit 1 - The Internet  Explore PT Prep 


Ch. 1: Representing and Transmitting Info  Explore PT - Review the Task
wk 
wk  Personal Innovations Explore PT - Make a Plan

1  Sending Binary Messages Explore PT - Complete the Task (8 total class hours)
  Sending Messages with the Internet Simulator Explore PT - Complete the Task (continued)

Number Systems
Binary Numbers Unit 5 -Building Apps 
2  Sending Numbers
Sending Text Ch. 1: Event-Driven Programming 
Unit 1 Chapter 1 Assessment wk  Buttons and Events
Ch. 2: Inventing The Internet  1  Multi-screen Apps
The Internet is for Everyone   Building an App - Multi-Screen App
3  The Need for Addressing Controlling Memory with Variables
Routers and Redundancy Building an App - Clicker Game

Packets and Making a Reliable Internet Unit 5 Assessment 1
4  The Need for DNS User Input and Strings
HTTP and Abstraction If-Statements Unplugged

Practice PT - The Internet and Society Boolean Expressions and if-Statements

Unit 1 Chapter 2 Assessment “if-else-if” and Conditional Logic
Unit 2 - Digital Information  4  Building an App - Color Sleuth
Unit 5 Assessment 2
wk  Bytes and File Sizes Ch. 2: Programming with Data Structures 
1  Text Compression
  Encoding B&W Images While Loops
5  Loops and Simulations
Encoding Color Images Introduction to Arrays
2  Lossy Compression and File Formats
Rapid Research - Format Showdown Building an App - Image Scroller
Unit 2 Chapter 1 Assessment Unit 5 Assessment 3

Processing Arrays
Unit 3 - Intro to Programming  Functions with Return Values
wk  The Need For Programming Languages Building an App- Canvas Painter
1  The Need for Algorithms 7  Unit 5 Assessment 4
  Creativity in Algorithms Unit 5 Assessment 5 - AP Pseudocode Practice
Create PT Prep 
Using Simple Commands
2  Creating Functions Create PT - Review the Task
wk 
Functions and Top-Down Design Create PT - Make a Plan

Create PT - Complete the Task (12 total class hours)
  APIs and Function Parameters 2 
3  Creating Functions with Parameters Create PT - Complete the Task (continued)
  Looping and Random Numbers 3  Create PT - Complete the Task (continued)
Practice PT - Design a Digital Scene Post AP - Data Tools 

Unit 3 Chapter 1 Assessment
wk  Intro to Data
Unit 4 - Big Data and Privacy  1  Good and Bad Data Visualizations
wk  What is Big Data?   Making Data Visualizations
1  Finding Trends with Visualizations Discover a Data Story
  Check Your Assumptions 2  Cleaning Data
Rapid Research - Data Innovations Creating Summary Tables

Identifying People with Data Practice PT - Tell a Data Story

The Cost of Free Post AP Assessment
3  Simple Encryption
Encryption with Keys and Passwords
Public Key Crypto
4  Rapid Research - Cybercrime
Unit 4 Chapter 1 Assessment

4
Code.org Computer Science Principles Syllabus and Overview 

Technical and Material Requirements 


The course requires and assumes a 1:1 computer lab or setup such that each student in the class has access to an
Internet-connected computer every day in class. Each computer must have a modern web browser installed. All of the
course tools and resources (lesson plans, teacher dashboard, videos, student tools, programming environment, etc.) are
online and accessible through a modern web browser. For more details on the technical requirements, please visit:
code.org/educate/it

While the course features many “unplugged” activities designed to be completed away from the computer, daily access to
a computer is essential for every student. It is not required that students have access to internet-connected computers at
home to teach this course. But because almost all of the materials are online, it is certainly an advantage. PDFs of
handouts, worksheets and readings are available on the course website.

Computational Tools, Resources and Materials Provided 


The Code.org CSP curriculum includes almost all resources teachers need to teach the course including:
Lesson Plans
● Instructional guides for every lesson
● Activity Guides and handouts for students
● Formative and summative assessments
● Exemplars, rubrics, and teacher dashboard

Videos
● Student videos​ - including tutorials, instructional and inspirational videos
● Teacher videos​ - including lesson supports and pedagogical tips and tricks

Computational Tools
● Widgets​ for exploring individual computing concepts
● Internet Simulator​ - Code.org’s tool for investigating the various “layers” of the internet
● App Lab​ - Code.org’s JavaScript programming environment for making apps

Required Materials / Supplies: 


One potentially significant cost to consider is printing. Many lessons have handouts that are designed to guide students
through activities. While it is not required that all of these handouts be printed, many were designed with print in mind and
we highly recommend their use.

Beyond printing, a some lessons call for typical classroom supplies and manipulatives such as:

● Student Journal
● Poster paper
● Markers
● Post-it notes
● Graph paper, etc.

There is a complete materials list in the curriculum front matter. Besides printing costs, all other materials are highly
suggested, and are low cost (cups, string, playing cards, etc.).

   

5
Code.org Computer Science Principles Syllabus and Overview 

Suggested Text 
Blown to Bits​ ​http://www.bitsbook.com/
This course does not require or follow a textbook. ​Blown to Bits​ is a book that can be accessed online ​free of
cost​. Many of its chapters are excellent supplemental reading for our course, especially for material in Units 1,
2 and 4. We refer to chapters as supplemental reading in lesson plans as appropriate.
 
AP​®​ Assessment 
The AP Assessment consists of a 74-question multiple choice exam and two “through-course” assessments called the ​AP
Performance Tasks (​ PTs)​. T
​ he tasks can be found in the official ​AP CS Principles Exam and Course Description​.
● Explore Performance Task (p. 108)
● Create Performance Task (p. 113)

 
   

6
Code.org Computer Science Principles Syllabus and Overview 

Coverage of the AP CS Principles Framework and Computational 


Thinking Practices 
The ​CS Principles Framework​ outlines seven “Big Ideas” of computing, and six “Computational Thinking Practices”.
Activities in the course should ensure that students are engaging in the Computational Thinking Practices while
investigating the Big Ideas.

Seven Big Ideas   Six Computational Thinking 


The course is organized around seven big ideas,
which encompass ideas foundational to studying
Practices 
Computational thinking practices capture important aspects of
computer science. 
the work that computer scientists engage in.
Big Idea 1: Creativity
P1: Connecting Computing
Big Idea 2: Abstraction
P2: Creating Computational Artifacts
Big Idea 3: Data
P3: Abstracting
Big Idea 4: Algorithms
P4: Analyzing Problems and Artifacts
Big Idea 5: Programming
P5: Communicating
Big Idea 6: The Internet
P6: Collaborating
Big Idea 7: Global Impacts

These ​Big Ideas​ and ​Practices​ are not intended to be taught in any particular order, nor are they units of study in and of
themselves. The ​Big Ideas​ overlap, intersect, and reference each other. The ​practices​ represent higher order thinking
skills, behaviors, and habits of mind that need to be constantly visited, repeatedly honed, and refined over time.

Unit Overviews 
On the pages that follow are more in-depth prose descriptions of each unit of study which explain the topics covered, what
students will be doing and how the lessons ​build toward the Enduring Understandings i​ n the framework.

We also show how each lesson maps to the CSP Framework for the ​Enduring Understandings​ as well as the specific
Learning Objective​ and ​Essential Knowledge​ statements. For example you might see a table like:

Unit 1: The Internet ← Unit Title

Ch 1: Representing and ← Chapter Title


Transmitting Information
• • •
2. Sending Binary Messages ← Lesson Name
2.1 2.1.1[P3] (ABCE) ← EU LO [P] (EKs)
2.1 2.1.2[P5] (DEF) ​| | | ↳​ ​EK = ​E​ssential ​K​nowledge statements
3.3 3.3.1[P4] (AB) ​| | ↳ ​[P] = Computational Thinking P ​ r​ actice
​| ↳ ​LO = L​ ​earning O​ ​bjective
​ n
​↳ ​EU = E ​ during U​ ​nderstandin​g

See the CSP Framework document for listings of all the Enduring Understandings.

Each unit also highlights a particular lesson, project or assignment of interest, explaining what students do and showing
which learning objectives and computational thinking practices that particular assignment addresses.

   

7
Code.org Computer Science Principles Syllabus and Overview 

Unit 1: The Internet 


This unit explores the technical challenges and questions that arise from the need to represent digital information in
computers and transfer it between people and computational devices. Topics include: the digital representation of
information - especially, numbers, text, and communication protocols. The first unit of this course purposefully addresses
material that is fundamental to computing but with which many students, even those with computers at home or who have
some prior experience with programming, are unfamiliar. This levels the playing field for participation and engagement
right from the beginning of the course.

Chapter 1 of the unit begins with a consideration of what is involved in sending a single bit of information from one place
to another. In the ​Sending Binary Messages​ lesson students work with a partner to invent and build their own bit-sending
“device.” Complexity increases as students adapt their machines to handle multi-bit messages and increasingly complex
information. Students use an Internet Simulator that allows them to develop and test binary encodings and communication
protocols of their own invention.These should be an illustrative set of activities that helps build toward the Enduring
Understandings that: ​A variety of abstractions built upon binary sequences can be used to represent all digital
data (2.1) ​and that​ characteristics of the Internet influence the systems built on it​ ​(6.2).

Chapter 2 of the unit is called “Inventing the Internet”


because through the unit students continue to solve Unit 1: Practice PT Highlight
problems similar ones that had to be solved to build
Practice PT: The Internet and Society
the real Internet. Students design their own versions
Students will research and prepare a flash talk about a
of protocols, each one layered on the previous one, in
social issue related to the Internet. Students pick one of:
a process that mimics the layered sets of protocols on
Net Neutrality, Internet Censorship, or Computer/Network
the real Internet and builds toward the Enduring
Surveillance. This lesson is good practice for certain
Understandings​ ​that​ The Internet is a network of
elements of the Explore Performance Task, which
autonomous systems (6.1) ​and that​ How the
students will complete later in the school year. Students
Internet was designed (layers of protocols) affects
will do a bit of research about impacts of the Internet,
the systems built on top of it (6.2) ​as well as its
explain some technical details related to ideas in computer
ability to grow and adapt.
science, and connect these ideas to global and social
impacts. Students will practice synthesizing information,
For the practice Performance Task at the end of the
and presenting their learning in a flash talk.
unit students research a modern societal issue related
to the Internet such as “Net Neutrality” or internet
Learning Objectives Addressed:
censorship, which layers in Enduring Understandings
Internet: ​ 6.1.1[P3], 6.2.2[P4], 6.3.1 [P1]
about the fact that ​computing has a global affect --
Global Impacts: ​ 7.1.1 [P4], 7.3.1 [P4], 7.4.1 [P1], 7.5.2
both beneficial and harmful -- on people and
[P5]
society (7.3)​.
Computational Thinking Practices Emphasized:
P1:​ Connecting Computing
P5:​ Communicating

8
Code.org Computer Science Principles Syllabus and Overview 

CS Principles Framework Mappings 


Unit 1: The Internet

Ch 1: Representing and Transmitting Information Ch. 2: Inventing the Internet


1. Personal Innovations 8. The Internet Is for Everyone
7.1 7.1.1[P4] (ABCDEFGHIJKLMNO) 6.1 6.1.1[P3] (BCE)
7.2 7.2.1[P1] (ABCG) 6.2 6.2.2[P4] (E)
7.3 7.3.1[P4] (ABCDEGHIJKLMNO) 7.3 7.3.1[P4] (ADEGL)
7.4 7.4.1[P1] (ABCD) 7.4 7.4.1[P1] (CDE)
9. The Need for Addressing
2. Sending Binary Messages
6.1 6.1.1[P3] (CDFH)
2.1 2.1.1[P3] (ABCE)
6.2 6.2.1[P5] (C)
2.1 2.1.2[P5] (DEF)
6.2 6.2.2[P4] (D)
3.3 3.3.1[P4] (AB) 6.3 6.3.1[P1] (A)
3. Sending Binary Messages with the Internet 10. Routers and Redundancy
Simulator
3.3 3.3.1[P4] (AF)
2.1 2.1.1[P3] (ABCE) 6.1 6.1.1[P3] (BCE)
2.1 2.1.2[P5] (DEF) 6.2 6.2.1[P5] (AD)
2.3 2.3.1[P3] (ABCD) 6.2 6.2.2[P4] (B)
2.3 2.3.2[P3] (A) 11. Packets and Making a Reliable Internet
3.1 3.1.3[P5] (A) 6.2 6.2.1[P5] (AD)
3.3 3.3.1[P4] (AB) 6.2 6.2.2[P4] (ABG)
6.1 6.1.1[P3] (AC) 12. The Need for DNS
6.2 6.2.2[P4] (DJK) 6.1 6.1.1[P3] (G)
4. Number Systems 6.2 6.2.1[P5] (B)
2.1 2.1.1[P3] (ABCDE) 6.2 6.2.2[P4] (CD)
2.3 2.3.1[P3] (AB) 13. HTTP and Abstraction on the Internet
2.3 2.3.2[P3] (ABC) 6.1 6.1.1[P3] (I)
5. Binary Numbers 6.2 6.2.2[P4] (H)
2.1 2.1.1[P3] (ABCDEG)
14. Practice PT - The Internet and Society
2.1 2.1.2[P5] (ABCDEF) 6.3 6.3.1[P1] (AB)
2.3 2.3.1[P3] (ABCD) 7.1 7.1.1[P4] (ABCDHIJKMO)
2.3 2.3.2[P3] (ABCDE) 7.4 7.4.1[P1] (ABDE)
3.1 3.1.3[P5] (AB)
6. Sending Numbers
2.1 2.1.1[P3] (ABCDEG)
2.1 2.1.2[P5] (ABCDEF)
2.3 2.3.1[P3] (ABCD)
2.3 2.3.2[P3] (ABCDE)
3.1 3.1.3[P5] (ABDE)
6.2 6.2.2[P4] (DGH)
7. Sending Text
2.1 2.1.1[P3] (ABCDE)
2.1 2.1.2[P5] (BDEF)
2.2 2.2.1[P2] (AB)
3.1 3.1.3[P5] (E)
3.3 3.3.1[P4] (A)

9
Code.org Computer Science Principles Syllabus and Overview 

Unit 2: Digital Information 


This unit further explores the ways that complex digital information is encoded and represented. In this unit students will
use a variety of tools including several Code.org widgets.

The unit begins by exploring the sheer size of files used by


computers today. Using the Text Compression Widget Unit 2: Practice PT Highlights 
students will then learn how compression helps decrease the
amount of space necessary to store a piece of information. Rapid Research - Format Showdown
Next they’ll use a Pixelation Widget to explore how both Students will research and present a real world file
black and white and color images are stored in computers. format, incorporating concepts like compression
Along the way they’ll learn the importance of metadata, or and metadata that they have explored throughout
data about data, when storing information in a computer and the unit. Students will need to identify reliable
how hexadecimal notation allows humans to quickly sources of information when searching online.
represent binary sequences. Throughout this sequence When presenting their format to their peers
students are considering both the possibilities and limitations students will need to compare their file format to
of encoding information in binary and building on the other similar ones, highlighting the relative benefits
Enduring Understanding that a ​variety of abstractions built and drawbacks of the one they have chosen.
upon binary sequences can be used to represent all
digital data (2.1). Learning Objectives Addressed:
Creativity: ​ 1.1.1[P2], 1.2.1[P2], 1.2.2[P2],
In the last two lessons of the unit students hone their 1.2.4[P6]
research skills by investigating how familiar real world file Abstraction: ​ 2.1.1 [P3], 2.1.2 [P5], 2.2.1 [P2]
formats use these concepts. In the Rapid Research activity Data: ​ 3.2.1 [P1], 3.3.1 [P4]
that ends the unit students have a “showdown”, arguing the Global Impact: ​7.5.1 [P1] 7.5.2 [P5]
relative benefits and drawbacks of their format compared to Computational Thinking Practices Emphasized:
others. This continues to build the Enduring Understanding P1: ​Connecting Computing ​P2: ​Creating
that ​there are trade offs when representing information Computational Artifact ​P3: ​Abstracting
as digital data (3.3)​. P5: ​Communicating P ​ 6: ​Collaborating

10
Code.org Computer Science Principles Syllabus and Overview 

CS Principles Framework Mappings 


Unit 2: Digital Information

Ch. 1: Encoding and Compressing Complex Information


1. Bytes and File Sizes
2.1 2.1.1[P3] (BC)
2.1 2.1.2[P5] (BCEF)
3.3 3.3.1[P4] (G)
2. Text Compression
2.1 2.1.1[P3] (ABC) 3.3 3.3.1[P4] (A)
2.2 2.2.1[P2] (B) 4.2 4.2.1[P1] (ABCD)
3.1 3.1.1[P4] (ADE) 4.2 4.2.2[P1] (BC)
3.1 3.1.2[P6] (ABCD) 4.2 4.2.3[P1] (ABC)
3.1 3.1.3[P5] (AE) 4.2 4.2.4[P4] (ACD)
3. Encoding B&W Images
1.1 1.1.1[P2] (AB) 3.1 3.1.1[P4] (ADE)
1.2 1.2.1[P2] (A) 3.1 3.1.2[P6] (ABCD)
1.3 1.3.1[P2] (C) 3.1 3.1.3[P5] (AE)
2.1 2.1.1[P3] (ABC) 3.2 3.2.1[P1] (GHI)
2.1 2.1.2[P5] (AB) 3.3 3.3.1[P4] (A)
2.3 2.3.1[P3] (ABCD)
4. Encoding Color Images
1.1 1.1.1[P2] (AB) 2.3 2.3.1[P3] (ABCD)
1.2 1.2.1[P2] (A) 3.1 3.1.1[P4] (ADE)
1.3 1.3.1[P2] (C) 3.1 3.1.2[P6] (ABCD)
2.1 2.1.1[P3] (ABCDF) 3.1 3.1.3[P5] (AE)
2.1 2.1.2[P5] (DEF) 3.2 3.2.1[P1] (GHI)
2.2 2.2.1[P2] (AB)
5. Lossy vs. Lossless Compression
3.3 3.3.1[P4] (ACDEG)
7.3 7.3.1[P4] (FQ)
7.5 7.5.2[P5] (AB)
6. Rapid Research - Format Showdown
1.1 1.1.1[P2] (AB) 2.2 2.2.1[P2] (AB)
1.2 1.2.1[P2] (ABCDE) 3.2 3.2.1[P1] (GHI)
1.2 1.2.3[P2] (AC) 3.3 3.3.1[P4] (DEGH)
1.2 1.2.4[P6] (ABCDEF) 7.3 7.3.1[P4] (FQ)
2.1 2.1.1[P3] (BCDE) 7.5 7.5.1[P1] (C)
2.1 2.1.2[P5] (F) 7.5 7.5.2[P5] (AB)

   

11
Code.org Computer Science Principles Syllabus and Overview 

Unit 3: Intro to Programming 


This unit introduces students to programming in the JavaScript language and creating small applications (apps) that live
on the web. This introduction places a heavy emphasis on understanding general principles of computer programming
and revealing those things that are universally applicable to any programming language.

To start the unit we use unplugged activities to introduce algorithms and highlight the need for a programming language to
implement them on a computer. These activities will involve the whole class working in small groups to solve problems
using simple manipulatives like playing cards or blocks. We want to draw connections here between the rules of Internet
protocols developed earlier in the course, in which students acted as the computer processing the information. Many of
the structured and systematic thinking that goes into developing communication protocols feels similar to designing
algorithms - ultimately you’re designing a series of steps to solve a problem that a machine could follow. We want to
establish the dual Enduring Understandings that ​algorithms are precise sequences of instructions for processes that
can be executed by a computer and are implemented using programming languages (4.1) ​and ​people write
programs to execute algorithms (5.2).
Students are introduced to the App Lab programming
environment by writing programs to control a “turtle”, an imaginary Unit 3: Practice PT 
character that moves around the screen and can draw. In the
lessons students learn features of the JavaScript language by
Highlight 
going through a series of short tutorials to familiarize students Practice PT: Design a Digital Scene
with the environment, and new concepts. There is a heavy In this project students work with a small team
emphasis on writing procedures (functions in JavaScript), and to create a digital scene with turtle graphics.
using top-down program design - a process by which a large They plan the scene together, code the parts
problem is broken down into smaller and more manageable parts. separately and bring them together to make a
These lessons highlight the way ​multiple levels of abstraction whole. An important focus of this project is on
are used to write programs (2.2)​. how teams of programmers work together.
Students reflect on their experience in a way
Along the way students create more and more sophisticated that is similar to the ​Create ​performance task. A
drawings culminating in the ​Practice PT: Design a Digital Scene heavy programming emphasis is on writing
in which small groups must collaborate to design and share code functions (procedures) that can be easily
to create a small vignette created with turtle art. Through the incorporated into others’ code.
lessons and PTs we want to build toward some Enduring
Understandings that ​creative development can be an essential
process for creating computational artifacts (1.1) ​and that Learning Objectives Addressed:
collaboration and ​computing enables people to use creative Creativity: ​ 1.1.1 [P2], 1.2.1 [P2], 1.2.4 [P6],
development processes to create computational artifacts for 1.3.1 [P2]
creative expression or to solve a problem (1.2)​. Abstraction: ​ 2.2.1 [P2], 2.2.2 [P3]
Algorithms: ​ 4.1.1 [P2]
Programming: ​ 5.1.1 [P2], 5.1.3 [P6], 5.3.1
[P3]
Computational Practices Emphasized:
P2: ​Creating Computational Artifacts ​P3:
Abstracting ​P6:​ Collaborating

   

12
Code.org Computer Science Principles Syllabus and Overview 

CS Principles Framework Mappings 


Unit 3: Algorithms and Programming

Ch. 1: Programming Languages and Algorithms 9. Looping and Random Numbers


1. The Need for Programming Languages 4.1 4.1.1[P2] (D)
4.1 4.1.2[P5] (ABCFI) 5.1 5.1.2[P2] (BC)
5.2 5.2.1[P3] (E) 5.3 5.3.1[P3] (ACDFGL)
2. The Need for Algorithms 5.4 5.4.1[P4] (CDEFGHIJK)
4.1 4.1.1[P2] (ABCDHI)
4.1 4.1.2[P5] (ABG) 10. Practice PT - Design a Digital Scene
4.2 4.2.4[P4] (F) 2.2 2.2.1[P2] (C)
5.4 5.4.1[P4] (FI) 2.2 2.2.2[P3] (AB)
3. Creativity in Algorithms 2.2 2.2.3[P3] (AB)
2.2 2.2.3[P3] (C) 4.1 4.1.1[P2] (D)
4.1 4.1.1[P2] (ABCDEFGHI) 5.1 5.1.2[P2] (BC)
5.2 5.2.1[P3] (ABDEJ) 5.1 5.1.3[P6] (ABCDEF)
4. Using Simple Commands 5.3 5.3.1[P3] (ACDFGL)
5.1 5.1.2[P2] (AI) 5.4 5.4.1[P4] (CDEFGHIJK)
5.1
5.2
5.1.3[P6] (BCDF)
5.2.1[P3] (AB)  
5.4 5.4.1[P4] (ADEI)
5. Creating Functions
2.2 2.2.1[P2] (AB)
2.2 2.2.2[P3] (AB)
5.3 5.3.1[P3] (ABCL)
5.4 5.4.1[P4] (ABCD)
6. Functions and Top-Down Design
2.2 2.2.1[P2] (A)
2.2 2.2.2[P3] (AB)
2.2 2.2.3[P3] (AD)
5.1 5.1.2[P2] (ABC)
5.1 5.1.3[P6] (ABCDEF)
5.3 5.3.1[P3] (ABCD)
7. APIs and Using Functions with Parameters
2.2 2.2.2[P3] (AB)
2.2 2.2.3[P3] (AB)
5.1 5.1.2[P2] (DEF)
5.3 5.3.1[P3] (DEFGMNO)
8. Creating Functions with Parameters
2.2 2.2.1[P2] (C)
2.2 2.2.2[P3] (AB)
5.3 5.3.1[P3] (ACDFGL)
5.4 5.4.1[P4] (CDEFGHIJK)

   

13
Code.org Computer Science Principles Syllabus and Overview 

Unit 4: Big Data and Privacy 


The data rich world we live in also introduces many complex questions related to public policy, law, ethics and societal
impact. In many ways this unit acts as a unit on current events. It is highly likely that there will be something related to big
data, privacy and security going on in the news at any point in time. The major goals of the unit are 1) for students to
develop a well-rounded and balanced view about data in the world around them and both the positive and negative effects
of it and 2) to understand the basics of how and why modern encryption works.

During the first two weeks of the unit students will research and discuss ​innovations enabled by computing in a wide
variety of fields (7.2)​.​ ​During this time views about the benefits - “Big Data is great!” - and drawbacks - “Big Data is
scary!” will swing quickly. We primarily want to build toward the dual Enduring Understandings that ​Computing
facilitates exploration and the discovery of connections in information (3.2) ​and that ​Computing innovations
influence and are influenced by the economic, social, and cultural contexts in which they are designed and used
(7.4) ​while the ​beneficial and harmful effects (7.3) ​of these things must be weighed and kept in balance.
The activities later in the unit about data encryption follow a
pattern: introduce an encryption concept through an unplugged Unit 4 Practice PT Highlights
activity or thinking prompt, and then “plug it in” by using a
Rapid Research - Data Innovations
Code.org widget to explore the concept further. The purpose of
Students will complete a research project on a
the widgets is to allow students time to play with some of the
computing innovation and the data that allows it to
ideas - often mathematical in nature - underlying different
function. Students will need to identify appropriate
methods of encryption and why they might be susceptible to
online resources and compile their findings to
being “cracked.” These explorations lead towards an
present to classmates. Many components and
understanding of computationally hard problems and the fact that
audio / visual artifact students will identify are
algorithms can solve many but not all computational
similar to those students will see in the AP
problems (4.2)​.
Performance Tasks.
In particular students should come away with a high level
understanding of how asymmetric encryption works and why it Learning Objectives Addressed:
makes certain things possible (sending encrypted data without a Creativity: ​1.2.3 [P2], 1.2.5 [P5]
shared key) and certain things basically impossible (cracking a Data: ​ 3.3.2 [P3]
key). By investigating some of the mathematical foundations of Global Impacts:​ 7.1.1 [P4], 7.4.1 [P1], 7.5.2 [P5]
encryption we build toward the Enduring Understanding that
cybersecurity is an important concern for the Internet and Computational Thinking Practices Emphasized:
the systems built on it (6.3) ​and as always ​There are trade P1:​ Connecting Computing
offs when representing information as digital data (3.3). P3: ​Abstracting
P5:​ Communicating

   

14
Code.org Computer Science Principles Syllabus and Overview 

CS Principles Framework Mappings 


Unit 4: Big Data and Privacy

1. What is Big Data? 10. Rapid Research - Cybercrime


3.2 3.2.2[P3] (ABCDEFGH) 6.2 6.2.2[P4] (H)
7.2 7.2.1[P1] (ABCDEFG) 6.3 6.3.1[P1] (CDEFGH)
7.5 7.5.2[P5] (AB) 7.3 7.3.1[P4] (G)
2. Finding Trends with Visualizations
3.1 3.1.1[P4] (ABE)
3.1 3.1.2[P6] (ABCDEF)
3.1
3.2
3.1.3[P5] (ABCE)
3.2.1[P1] (ABCDE)
 
3. Check Your Assumptions
3.1 3.1.1[P4] (E)
3.1 3.1.2[P6] (ABCDF)
3.2 3.2.1[P1] (ABC)
7.4 7.4.1[P1] (ABCD)
4. Rapid Research - Data Innovations
1.2 1.2.3[P2] (C)
1.2 1.2.5[P4] (AD)
3.2 3.2.2[P3] (ABCDEFGH)
7.1 7.1.1[P4] (DEFGHIJKLMNO)
7.4 7.4.1[P1] (ABCDE)
7.5 7.5.2[P5] (AB)
5. Identifying People With Data
3.2 3.2.2[P3] (D)
3.3 3.3.1[P4] (BF)
7.3 7.3.1[P4] (GJKL)
6. The Cost of Free

3.3 3.3.1[P4] (ABF)


7.3 7.3.1[P4] (AGHJKLMN)
7. Simple Encryption
1.2 1.2.2[P2] (A)
3.3 3.3.1[P4] (BF)
6.3 6.3.1[P1] (CHIK)
7.3 7.3.1[P4] (G)
8. Encryption with Keys and Passwords
2.3 2.3.2[P3] (A)
3.1 3.1.1[P4] (A)
4.2 4.2.1[P1] (ABCD)
6.3 6.3.1[P1] (CHIJK)
9. Public Key Cryptography
4.2 4.2.1[P1] (ABCD)
4.2 4.2.2[P1] (A)
4.2 4.2.3[P1] (A)
4.2 4.2.4[P4] (ABC)
6.3 6.3.1[P1] (HIL)

15
Code.org Computer Science Principles Syllabus and Overview 

Explore PT Prep 
In Units 1-4 students learn the content and practice the skills they need in order to succeed on the AP CSP Explore
Performance Task. This short unit prepares students for the logistics of completing and submitting the Explore
Performance Task.

The first two lessons of this unit include whole-class activities designed to prepare students for the task itself. Students will
explore sample submissions and complete activities designed to help them understand the task requirements and develop
a plan for the time given to complete the task. The third lesson guides students through the process of completing the task
and gives guidance to the instructor on how to effectively manage the classroom during the ​8 hours of class time ​a
teacher is required to give students to complete the task. Guidance is also provided to teachers on how much assistance
they are able to provide students during this largely independent project.

The 8 hours are the minimum amount of class time required, and do not need to be contiguous.

CS Principles Framework Mappings 


Explore PT Prep

1.Explore PT Prep - Reviewing the Task


1.1 1.1.1[P2](AB) 7.5 7.5.1[P1](ABC)
1.2 1.2.1[P2](ABCDE) 7.5 7.5.2[P5](AB)
1.2 1.2.3[P2](ABC)
2. Explore PT Prep - Making a Plan
1.1 1.1.1[P2](AB) 7.5 7.5.1[P1](C)
1.2 1.2.1[P2](ABCDE)
3. Explore PT - Complete the Task (8 hours)
1.2 1.2.1[P2] (ABCDE) 3.3 3.3.1[P4] (ABCDEFGHI)
1.2 1.2.2[P2] (AB) 7.1 7.1.1[P4] (A-O)
1.2 1.2.3[P2] (ABC) 7.2 7.2.1[P1] (A-G)
1.2 1.2.5[P4] (ABCD) 7.3 7.3.1[P4] (A-Q)
3.1 3.1.3[P5] (ABCDE) 7.4 7.4.1[P1] (ABCDE)
3.2 3.2.1[P1] (A-I) 7.5 7.5.1[P1] (ABC)

   

16
Code.org Computer Science Principles Syllabus and Overview 

Unit 5: Building Apps 


This unit continues to develop students’ ability to program in the JavaScript language, using Code.org’s App Lab
environment to create a series of small applications (apps) that live on the web, each highlighting a core concept of
programming. In this unit students transition to creating event-driven apps. The unit assumes that students have learned
the concepts and skills from Unit 3, namely: writing and using functions, using simple repeat loops, being able to read
documentation, collaborating, and using the Code Studio environment with App Lab.

The first chapter begins by introducing App Lab’s “Design Mode” which allows students to rapidly prototype an app. Again,
we want to highlight the Enduring Understanding that ​Computing enables people to use creative development
processes to create computational artifacts for creative expression or to solve a problem (1.2)​. As students
construct simple apps that respond to user actions and inputs, the lessons progress through some core concepts of
programming; Specifically, the lessons cover variables, boolean logic and conditionals, which enforces the understanding
that ​Programming uses mathematical and logical concepts (5.5).
The second chapter goes deeper into core programming
concepts including looping, arrays, and the ​use of models Unit 5: Practice PT Highlight 
and simulation to develop new insight and knowledge
Building an App: Color Sleuth
(2.3)​. We want to reinforce the idea that​ programs are
Students will design a game, following the creative
developed, maintained, and used by people for different
development process of two fictional students. The
purposes (5.4)​.​ ​Each app also emphasizes a different core
lesson alternates between dialogue in which these
concept and skill of programming allowing us to further the
fictional students decide on which features to add
connections that ​people write programs to execute
to the project and opportunities for your actual
algorithms (5.2)​ and that ​programs employ appropriate
students to program these features themselves. At
abstractions (5.3)​ (such as list structures) as well as
the end of the lesson students will extend this
mathematical and logical concepts (5.5) ​to ​extend
project by adding features of their own design. This
traditional forms of human expression and experience
lesson is designed to highlight the types of
(1.3)​.
development processes students will use
themselves when they create the AP Create
The Practice PT: ​Create Your Own App​ asks students to look
Performance Task.
back at the apps they’ve created during the unit and use one
as a point of inspiration for creating their own app. This project
Learning Objectives Addressed:
is designed to highlight the way ​programs can be developed
Creativity: ​ 1.1.1 [P2], 1.2.1 [P2], 1.2.3 [P2], 1.2.4
for creative expression, to satisfy personal curiosity, to
[P6], 1.2.5 [P4]
create new knowledge, or to solve problems (5.1)​ and is
Abstraction: ​ 2.2.1 [P2]
designed to closely mirror the actual Create PT which students
Algorithms: ​ 4.1.1 [P2], 4.1.2 [P5]
will complete in the following unit.
Programming: ​ 5.1.1 [P2], 5.1.2 [P2], 5.1.3 [P6],
5.2.1 [P3], 5.3.1 [P3], 5.4.1 [P4], 5.5.1 [P1]
Computational Practices Emphasized:
P1: ​Connection Computing ​P2: ​Creating
Computational Artifacts ​P3:​ Abstracting ​P4:
Analyzing Problems and Artifacts ​P5:
Communicating ​P6:​ Collaborating

17
Code.org Computer Science Principles Syllabus and Overview 

CS Principles Framework Mappings 


Unit 5: Building Apps

Ch. 1: Event-Driven Programming Ch. 2: Programming with Data Structures


1. Introduction to Event-Driven Programming 11. While Loops
1.1 1.1.1[P2] (B) 5.1 5.1.2[P2] (J) 3.1 3.1.1[P4] (A) 5.2 5.2.1[P3] (ABCDIJK)
1.2 1.2.1[P2] (ABE) 5.4 5.4.1[P4] (ACDEFHKM) 4.1 4.1.1[P2] (ABCDH) 5.4 5.4.1[P4] (BEFGHKLM)
5.1 5.1.1[P2] (AB) 4.1 4.1.2[P5] (ABCDEFG) 5.5 5.5.1[P1] (DEFG)
2. Multi-Screen Apps 12. Loops and Simulations
1.1 1.1.1[P2] (B) 5.1 5.1.1[P2] (BC) 2.3 2.3.1[P3] (ACD) 4.1 4.1.2[P5] (AB)
1.2 1.2.1[P2] (A) 5.1 5.1.2[P2] (J) 2.3 2.3.2[P3] (ABDEFGH) 5.1 5.1.1[P2] (A)
1.2 1.2.3[P2] (A) 5.1 5.1.3[P6] (D) 13. Introduction to Arrays
1.2 1.2.4[P6] (ADE) 5.4 5.4.1[P4] (CEFM) 1.1 1.1.1[P2] (B) 5.3 5.3.1[P3] (ABCKL)
3. Building an App: Multi-Screen App 5.1 5.1.2[P2] (A) 5.5 5.5.1[P1] (HIJ)
1.1 1.1.1[P2] (AB) 5.1 5.1.2[P2] (ABCDEFJ) 14. Building an App: Image Scroller
1.2 1.2.1[P2] (ABCE) 5.1 5.1.3[P6] (BCD) 5.1 5.1.1[P2] (A) 5.4 5.4.1[P4] (BCGM)
5.1 5.1.1[P2] (AB) 5.4 5.4.1[P4] (EFGL) 5.2 5.2.1[P3] (EFIJK) 5.5 5.5.1[P1] (HIJ)
4. Controlling Memory with Variables 5.3 5.3.1[P3] (ABCDGKL)
15. Processing Arrays
5.2 5.2.1[P3] (CF)
1.2 1.2.3[P2] (A) 5.1 5.1.2[P2] (AB)
5.4 5.4.1[P4] (C)
4.1 4.1.1[P2] (ABCD) 5.3 5.3.1[P3] (KL)
5.5 5.5.1[P1] (D)
4.2 4.2.4[P4] (DEFH) 5.5 5.5.1[P1] (EJ)
5. Building an App: Clicker Game
16. Functions with Return Values
1.1 1.1.1[P2] (AB)
1.1 1.1.1[P2] (B) 4.1 4.1.1[P2] (ABCDEF)
1.2 1.2.1[P2] (ABCDE)
1.2 1.2.3[P2] (AC) 5.1 5.1.2[P2] (ABCJ)
1.2 1.2.3[P2] (A)
2.2 2.2.1[P2] (AC) 5.3 5.3.1[P3] (ABCDEFGKL)
5.1 5.1.1[P2] (ABC)
2.2 2.2.2[P3] (AB) 5.5 5.5.1[P1] (EJ)
5.2 5.2.1[P3] (C)
17. Building an App: Canvas Painter
5.4 5.4.1[P4] (C)
1.2 1.2.1[P2] (ABCD) 5.1 5.1.1[P2] (ABCDE)
5.5 5.5.1[P1] (D)
1.3 1.3.1[P2] (CDE) 5.1 5.1.2[P2] (ABCJ)
6. User Input and Strings
2.2 2.2.1[P2] (ABC) 5.3 5.3.1[P3] (ABCDEFGJKL)
5.1 5.1.1[P2] (B)
2.2 2.2.2[P3] (AB) 5.4 5.4.1[P4] (ABCDEFGHLMN)
5.3 5.3.1[P3] (L)
4.1 4.1.1[P2] (ABCD) 5.5 5.5.1[P1] (DEFGHIJ)
7. 'if-statements unplugged
4.1 4.1.2[P5] (ABCGI)
4.1 4.1.1[P2] (AC)
4.1 4.1.2[P5] (ABG)
5.2 5.2.1[P3] (ABD)
8. Boolean Expressions and 'if' Statements
4.1 4.1.1[P2] (ABC)
5.5 5.5.1[P1] (EG)
9. 'If-else-if' and Conditional Logic
4.1 4.1.1[P2] (C)
5.1 5.1.2[P2] (J)
5.5 5.5.1[P1] (EG)
10. Building an App: Color Sleuth
1.1 1.1.1[P2] (AB) 5.1 5.1.1[P2] (ABCD)
1.2 1.2.1[P2] (ABCDE) 5.1 5.1.2[P2] (ABCDEFGHIJ)
1.2 1.2.3[P2] (AC) 5.1 5.1.3[P6] (ABCDEF)
1.2 1.2.4[P6] (ACDEF) 5.2 5.2.1[P3] (ABCD)
1.2 1.2.5[P4] (D) 5.3 5.3.1[P1] (ABC)
2.2 2.2.1[P2] (AB) 5.4 5.4.1[P4] (CDEFG)
4.1 4.1.1[P2] (AC) 5.5 5.5.1[P1] (DE)
4.1 4.1.2[P5] (G)

18
Code.org Computer Science Principles Syllabus and Overview 

Create PT Prep 
In Units 1-5 students learn the content and practice the skills they need in order to succeed on the AP CSP Performance
Tasks. This short unit prepares students for the logistics of completing and submitting the Create Performance Task.

The first two lessons of this unit include whole-class activities designed to prepare students for the task itself. Students will
explore sample task submissions and complete activities designed to help them understand the task requirements and
then develop a plan for the time given to complete the task. The third lesson guides students through the process of
completing the task and gives guidance to the instructor on how to effectively manage the classroom during the ​12 hours
of class time ​a teacher is required to give students to complete the task. Guidance is also provided to teachers on how
much assistance they are able to provide students during this largely independent project.

The 12 hours are the minimum amount of class time required, and do not need to be contiguous.

CS Principles Framework Mappings 


Performance Tasks

1.Create PT Prep - Review the Task


1.1 1.1.1[P2] (B) 5.1 5.1.2[P2] (A)
1.2 1.2.4[P2] (ABCDEF) 5.1 5.1.3[P6] (ABCDEF)
2. Create PT Prep - Make a Plan
1.2 1.2.1[P2] (ABE) 7.5 7.5.1[P1] (ABC)
1.2 1.2.4[P6](CDEF) 7.5 7.5.2[P5] (AB)
3. Create PT - Complete the Task (12 hours)
1.2 1.2.1[P2] (ABCDE) 5.1 5.1.1[P2] (ABCDEF)
1.2 1.2.2[P2] (AB) 5.1 5.1.2[P2] (A-J)
1.2 1.2.3[P2] (ABC) 5.1 5.1.3[P6] (ABCDEF)
1.2 1.2.4[P6] (ABCDEF) 5.2 5.2.1[P3] (A-K)
2.2 2.2.1[P2] (ABC) 5.3 5.3.1[P3] (A-O)
2.2 2.2.2[P3] (AB) 5.4 5.4.1[P4] (A-N)
4.1 4.1.1[P2] (A-I) 5.5 5.5.1[P1] (A-J)
4.1 4.1.2[P5] (A-I)

19
Code.org Computer Science Principles Syllabus and Overview 

Post AP: Data Tools 


In this unit students develop skills interpreting visual data and
using spreadsheet and visualization tools to create their own Project Highlights 
digital artifacts. Through an ongoing project - the “class data
tracker” - students learn how to collect and clean data, and to Tell a Data Story
use a few common tools for computing aggregations and This small project culminates a series of lessons in
creating visualizations. These activities build toward the which students must use digital tools to
Enduring Understandings that ​people use computer collaboratively investigate a data set to discover
programs to process information to gain insight and possible connections and trends. Students must
knowledge (3.1)​ and that ​computing facilitates produce a visual explanation of their findings in the
exploration and the discovery of connections in data and write a short piece about what the data
information (3.2)​. shows.

As students explore ways in which ​computing enhances Learning Objectives Addressed:


communication, interaction, and cognition (7.1)​, they also Creativity​: 1.1.1 [P2], 1.2.1 [P2], 1.2.4 [P6], 1.2.5
examine how human error during data analysis can lead to [P4]
inaccurate and potentially damaging conclusions. This leads Data: ​ 3.1.1 [P4], 3.1.2 [P6], 3.1.3 [P5], 3.2.1 [P1]
to a deeper understanding that there are ​trade offs​, and Global Impacts: ​ 7.1.1 [P4]​, ​ 7.4.1 [P1]
potentially ​beneficial and harmful effects when Computational Practices Emphasized: P1:
representing information as digital data (3.3, 7.3). Connecting Computing ​P2: ​Creating Computational
Artifacts ​P5​: Communicating ​P6: ​Collaborating
This unit does not necessarily need to be taught after the AP
test but due to the length of the course it is recommended
that this be the last unit of instruction.

   

20
Code.org Computer Science Principles Syllabus and Overview 

CS Principles Framework Mappings 


Post AP: Data Tools

1. Introduction to Data
2.2 2.2.3[P3] (E)
3.1 3.1.1[P4] (BCDE)
3.1 3.1.3[P5] (D)
3.2 3.2.1[P1] (ABC)
7.3 7.3.1[P4] (HJ)
2. Good and Bad Data Visualizations
1.2 1.2.5[P4] (ABCD)
3.1 3.1.1[P4] (DE)
3.1 3.1.2[P6] (ABCDF)
3.1 3.1.3[P5] (ABCDE)
3. Making Data Visualizations
1.2 1.2.5[P4] (ABCD)
3.1 3.1.1[P4] (DE)
3.1 3.1.2[P6] (ABCDF)
3.1 3.1.3[P5] (ABCDE)
4. Discover a Data Story
1.1 1.1.1[P2] (AB) 1.3 1.3.1[P2] (E)
1.2 1.2.1[P2] (ABC) 3.1 3.1.1[P4] (DE)
1.2 1.2.2[P2] (A) 3.1 3.1.2[P6] (ABCDF)
1.2 1.2.4[P6] (A) 3.1 3.1.3[P5] (ABCD)
1.2 1.2.5[P4] (D)
5. Cleaning Data
1.2 1.2.1[P2] (ABCDE) 3.1 3.1.2[P6] (ABCDEF)
1.2 1.2.4[P6] (AB) 3.2 3.2.1[P1] (ABCDEF)
3.1 3.1.1[P4] (AB) 3.2 3.2.2[P3] (BCG)
7.1 7.1.2[P4] (CD)
6. Creating Summary Tables
1.1 1.1.1[P2] (AB) 3.1 3.1.2[P6] (DEF)
1.2 1.2.1[P2] (ABE) 3.1 3.1.3[P5] (ABCD)
1.2 1.2.4[P6] (AB) 3.2 3.2.1[P1] (CF)
3.1 3.1.1[P4] (ABCDE)

7. Project - Tell a Data Story


1.2 1.2.1[P2] (ABCE)
1.2 1.2.2[P2] (AB)
1.2 1.2.5[P4] (ABCD)
3.1 3.1.3[P5] (ABCD)
7.3 7.3.1[P4] (J)

21

You might also like