AP Computer Science Principles: Course Planning and Pacing Guide

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

AP Computer

Science Principles
Course Planning and Pacing Guide

Richard Kick
Newbury Park High School ​▶ ​Newbury Park, CA

© 2015 The College Board. College Board, Advanced Placement Program, AP, AP Central, SAT, and the acorn logo are registered trademarks of the
College Board. All other products and services may be trademarks of their respective owners. Visit the College Board on the Web: www.collegeboard.org.
About the College Board Welcome to the AP Computer Science
The College Board is a mission-driven not-for-profit organization that Principles Course Planning and Pacing Guides
connects students to college success and opportunity. Founded in 1900,
This guide is one of several course planning and pacing guides
the College Board was created to expand access to higher education.
designed for AP Computer Science Principles teachers. Each provides
Today, the membership association is made up of over 6,000 of the
an example of how to design instruction for the AP course based on
world’s leading educational institutions and is dedicated to promoting
the author’s teaching context (e.g., demographics, schedule, school
excellence and equity in education. Each year, the College Board helps
type, setting). These course planning and pacing guides highlight how
more than seven million students prepare for a successful transition to
the components of the AP Computer Science Principles Curriculum
college through programs and services in college readiness and college
Framework — including the learning objectives, essential knowledge
success — including the SAT® and the Advanced Placement Program®.
statements, and computational thinking practices — are addressed in
The organization also serves the education community through research
the course. Each guide also provides valuable suggestions for teaching
and advocacy on behalf of students, educators, and schools. For further
the course, including the selection of resources, instructional activities,
information, visit www.collegeboard.org.
and classroom assessments. The authors have offered insight into the
why and how behind their instructional choices — displayed along the
AP® Equity and Access Policy right side of the individual unit plans — to aid in course planning for
AP Computer Science Principles teachers.
The College Board strongly encourages educators to make equitable
access a guiding principle for their AP® programs by giving all willing The primary purpose of these comprehensive guides is to model
and academically prepared students the opportunity to participate approaches for planning and pacing curriculum throughout the
in AP. We encourage the elimination of barriers that restrict access school year. However, they can also help with syllabus development
to AP for students from ethnic, racial, and socioeconomic groups that when used in conjunction with the resources created to support
have been traditionally underrepresented. Schools should make every the AP Course Audit: the Syllabus Development Guide and the four
effort to ensure their AP classes reflect the diversity of their student Annotated Sample Syllabi. These resources include samples of evidence
population. The College Board also believes that all students should and illustrate a variety of strategies for meeting curricular requirements.
have access to academically challenging course work before they enroll
in AP classes, which can prepare them for AP success. It is only through
a commitment to equitable preparation and access that true equity and
excellence can be achieved.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. i
Contents
1 Instructional Setting

3 Overview of the Course

4 Computational Thinking Practices

6 Pacing Overview

Course Planning and Pacing by Exploration

8 Exploration 0: Introduction to CSP


13 Exploration 1: Creativity and Computing
21 Exploration 2: Identifying and Using Abstractions
25 Exploration 3: Using Data
30 Exploration 4: Exploring Algorithms
35 Exploration 5: Problem Solving With Programming
40 Exploration 6: Guided Internet Explorations
44 Exploration 7: Identifying Innovations

50 Resources

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. ii
Instructional Setting
Newbury Park High School ▶ Newbury Park, CA
School Newbury Park High School is in the Conejo Valley Unified School District, which has 18 elementary
schools, six middle schools, and five high schools. The high school is a suburban school
approximately 50 miles northwest of Los Angeles, CA. It is commonly known among community
members as “Nice People High School.”

Student There are 2,550 students at Newbury Park High School with the following demographics:
population 2 percent African American, 8 percent Asian, 21 percent Hispanic, and 68 percent Caucasian.
Each year, approximately 95 percent of the school’s graduates enter colleges or universities.

Instructional The high school offers an intensive block schedule that includes three 95-minute class periods
time plus two 50-minute class periods, one at the beginning and one at the end of the school day.
Classes that meet each school day complete a traditional full-year class in one semester (90 days).
Classes that meet every other school day on the alternating block cycle complete a traditional
year-long class in one school year (180 days). Computer Science Principles meets every other
school day, beginning in August and ending the second week of June.

Student Students at Newbury Park High School enter Computer Science Principles with a wide variety of
preparation backgrounds. Some students have had no formal computer science training. Other students have
taken an introduction to HTML and CSS or an introduction to BASIC programming in one of the
introductory courses offered at the school. Some students have experienced summer programs
that included introductory programming using one of several possible programming languages.
We also have a small number of students who have completed AP Computer Science A before
entering Computer Science Principles. It is expected that all students entering Computer Science
Principles will be knowledgeable about the topics taught in Algebra I, including functions,
variables, and expressions.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 1
Instructional Setting (continued)
Primary planning Abelson, Hal, Ken Ledeen, and Harry Lewis. Blown to Bits: Your Life, Liberty, and Happiness After
resources the Digital Explosion. New York: Addison-Wesley, 2008. Accessed June 15, 2015.
http://www.bitsbook.com.
Blown to Bits provides engaging readings about the digital world and its effects on our society. It is available
free as a PDF online and for purchase in print.

ACM TechNews. Accessed July 14, 2015. http://technews.acm.org.


This online collection of articles discusses important research related to computer science.

IntroComputing.org. Accessed July 14, 2015. http://introcomputing.org.


This free resource teaches and gives practice in JavaScript programming.

Kick, Richard. “Webpage Programming with JavaScript.” Accessed July 22, 2015.
http://kickstyle.net/~rkick/courses/apcs/principles.
I often use this instructor site to display JavaScript programming examples.

Piazza. Accessed July 14, 20154. http://piazza.com.


I use Piazza as my course management system.

“Resources.” Mr. Kick. Accessed July 14, 2015. https://sites.google.com/site/nphsrkick/Home/


csprinciples/resources.
I often use this list of Web resources in my Computer Science Principles course at Newbury Park High School
for various activities.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 2
Overview of the Course
Computer Science Principles is designed to encourage a diverse group The primary programming language used in this course is JavaScript.
of students to explore computer science. Rather than limiting this However students are exposed to other programming options in the
introductory study to just two traditional topics — algorithms and form of block languages and languages that illustrate the connection
programming — this course introduces students to a broad set of big between blocks and text-based syntax.
ideas. These big ideas, which include algorithms and programming,
As the instructor, I guide students toward personal discoveries and
are often summarized using the terms creativity, abstraction, data,
introduce them to computer science topics that are related to current
Internet, and impact. In addition, this course emphasizes the use of
events and their own experiences. I often draw students to these
computational thinking practices for effective learning experiences
topics through the use of storytelling. The stories shared originate from
and problem solving. These practices include connecting, creating,
community experiences, current and former student experiences, and
abstracting, analyzing, communicating, and collaborating.
my own experiences. The stories derive from topics related to popular
At Newbury Park High School, Computer Science Principles uses an culture, historical events, or any other areas of student interest. Rather
integrated learning approach. Students build their knowledge and than limiting studies to materials I present, I encourage students to
understanding through participation in a wide variety of activities and pursue personal interests related to presented materials, which often
explorations. These experiences are not broken into contiguous blocks leads to explorations in unanticipated directions. Student-initiated
of common content. Instead, they are integrated throughout the school explorations are among the most valuable for both students and the
year. Before, during, and after explorations, connections are made to the instructor. After each exploration, I organize discussions to facilitate
seven big ideas at the core of the course. Activities encourage students student reflections about what they have learned, what they have yet
to regularly apply the six computational thinking practices to their work. to learn, and what they wish to further explore in future studies. Both
students and the instructor influence the final activities and related
Although explorations may primarily focus on a single big idea, there
requirements associated with final assessments. This method requires
is a conscious effort to have students make connections to each of the
me to be familiar with a wide variety of possible destinations to which
seven big ideas during each exploration. For example, explorations that
each exploration can lead.
are primarily focused on programming are distributed throughout the
course as a means to support students in their search for enhanced Explorations for Computer Science Principles are designed to spark
understanding of all seven big ideas. Exploration themes do not occur interest, curiosity, enthusiasm, and enjoyment. These ambitious goals
at just one time in the course but at various times throughout it. are usually accomplished through adjustments made because of
Students revisit themes and build on previous knowledge by exploring student contributions to classroom discussions, online posts using the
the themes at a deeper conceptual level. While working within the classroom management system, and student journals.
introductory theme, students become familiar with terminology,
content, and computational tools. Later explorations require students
to communicate about their explorations using new terms, content, and
tools in addition to the terms, content, and tools previously introduced.
By the end of the course, students have been encouraged to seek new
resources and share them with their peers to more deeply and rapidly
repeat the learning cycle experienced during earlier introductions.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 3
Computational Thinking Practices
P1: Connecting Computing ▶▶Identify abstractions.
▶▶Describe modeling in a computational context.
Developments in computing have far-reaching effects on society and
have led to significant innovations. The developments have implications
for individuals, society, commercial markets, and innovation. Students
P4: Analyzing Problems and Artifacts
in this course study these effects, and they learn to draw connections The results and artifacts of computation and the computational
between different computing concepts. Students are expected to: techniques and strategies that generate them can be understood
▶▶Identify
both intrinsically for what they are as well as for what they produce.
impacts of computing.
They can also be analyzed and evaluated by applying aesthetic,
▶▶Describe connections between people and computing. mathematical, pragmatic, and other criteria. Students in this course
▶▶Explain connections between computing concepts. design and produce solutions, models, and artifacts, and they evaluate
and analyze their own computational work as well as the computational
P2: Creating Computational Artifacts work others have produced. Students are expected to:

Computing is a creative discipline in which creation takes many forms, ▶▶Evaluate a proposed solution to a problem.
such as remixing digital music, generating animations, developing ▶▶Locate and correct errors.
websites and writing programs. Students in this course engage in the ▶▶Explain how an artifact functions.
creative aspects of computing by designing and developing interesting
▶▶Justify appropriateness and correctness of a solution, model,
computational artifacts as well as by applying computing techniques to
or artifact.
creatively solve problems. Students are expected to:
▶▶Create an artifact with a practical, personal, or societal intent. P5: Communicating
▶▶Select appropriate techniques to develop a computational artifact.
Students in this course describe computation and the impact of
▶▶Use appropriate algorithmic and information management principles. technology and computation, explain and justify the design and
appropriateness of their computational choices, and analyze and
P3: Abstracting describe both computational artifacts and the results or behaviors of
Computational thinking requires understanding and applying such artifacts. Communication includes written and oral descriptions
abstraction at multiple levels, such as privacy in social networking supported by graphs, visualizations, and computational analysis.
applications, logic gates and bits, and the human genome project. Students are expected to:
Students in this course use abstraction to develop models and ▶▶Explain the meaning of a result in context.
simulations of natural and artificial phenomena, use them to make ▶▶Describe computation with accurate and precise language, notations,
predictions about the world, and analyze their efficacy and validity. or visualizations.
Students are expected to:
▶▶Summarize the purpose of a computational artifact.
▶▶Explain
how data, information, or knowledge is represented for
computational use.
▶▶Explain how abstractions are used in computation or modeling.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 4
Computational Thinking Practices (continued)
P6: Collaborating
Innovation can occur when people work together or independently.
People working collaboratively can often achieve more than individuals
working alone. Learning to collaborate effectively includes drawing on
diverse perspectives, skills, and the backgrounds of peers to address
complex and open-ended problems. Students in this course collaborate
on a number of activities, including investigation of questions using
data sets and in the production of computational artifacts. Students are
expected to:
▶▶Collaborate with another student in solving a computational problem.
▶▶Collaborate with another student in producing an artifact.
▶▶Share the workload by providing individual contributions to an overall
collaborative effort.
▶▶Foster a constructive, collaborative climate by resolving conflicts and
facilitating the contributions of a partner or team member.
▶▶Exchange knowledge and feedback with a partner or team member.
▶▶Review and revise their work as needed to create a high-quality artifact.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 5
Pacing Overview

Hours of
Exploration Theme Exploration Exploration Theme Summary
0: Introduction to CSP 15 Computer science is introduced as a study of the seven big ideas facilitated by the application
of the six computational thinking practices. Websites inspire discussions and document creation
related to current topics. Students read and discuss articles, respond in journal entries, and create
artifacts that summarize their interests and knowledge.

1: Creativity and 25 Students write program code, primarily in JavaScript, throughout the school year. Much of this
Computing programming focuses on creating artifacts of interest to individual students. Manipulations range
from modifying all pixels in an image to performing algorithmic computations associated with
changes in selected collections of pixels. Students write programs to merge images using pixel
selection algorithms, create patterns, and combine multiple techniques into a new, higher-level
technique. Students analyze and visualize data sets, explore JavaScript application programming
interfaces, and create a dynamic website that facilitates the exploration of topics of personal
interest.

2: Identifying and 10 Students are introduced to abstractions used to efficiently create effective programs. Everything
Using Abstractions that a student says or does involves the use of abstractions. It is important to help students
become aware of abstractions and how they affect their ability to understand and navigate the
world in which they live. In particular, Computer Science Principles involves abstractions whose
application enhances computational capabilities.

3: Using Data 10 Programming is used to help students effectively process and summarize data. Publicly available
data sources are used for exploration, the discovery of information, and the creation of new
knowledge. Students identify topics that interest them and search the Web for data associated
with those topics. Early in the course, students are provided data sources that are stored on the
server used for their programming. This method allows students to more easily process data in
an effort to discover new information and knowledge. Later in the course, data sources must
be entered into the programming environment in an acceptable format. Doing so often requires
computational manipulation of the data using text editors, spreadsheets, JavaScript programs, or
statistics software packages.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 6
Pacing Overview (continued)

Hours of
Exploration Theme Exploration Exploration Theme Summary
4: Exploring 10 Students present, analyze, and implement algorithms that are designed to accomplish specific
Algorithms tasks related to solving problems of personal interest and motivational artifact creation. While
exploring image manipulations, students learn how to create gray scale images, produce
enhanced color schemes based on original image color schemes, merge images, and transform
images using reflections, rotations, and dilations. Students also generate row, column, diagonal,
and checkerboard patterns. They use their knowledge and experience to create new algorithms
that accomplish their image manipulation goals. Students also apply their knowledge of
algorithms to process data and gain new information and knowledge.

5: Problem Solving 20 Students use programming to efficiently solve problems. Relatively simple problems that require
With Programming programming to efficiently obtain a solution are presented to students early in the course. For
example, students are asked questions about images in terms of their color properties. Because
the images contain thousands of pixels, the students must use computational thinking to answer
the questions in a reasonable amount of time. Students are required to write programs that
efficiently answer the questions, and they are challenged to pose questions that they and their
peers can further explore.

6: Guided Internet 15 Students explore the characteristics and uses of the Internet. They examine and discuss security
Explorations and privacy issues related to the Internet. For example, students simulate a binary transmission
using paper clips. They create and use Huffman coding trees to encode text messages into binary
form and then model the messages using chains or packets of connected paper clips. Students
also explore encryption and decryption techniques.

7: Identifying 20 Students select areas of interest that are affected by computing. They research and report on
Innovations those areas in written and oral reports and present computational artifacts. Past activities have
included a debate about the impact of computing on society, the creation of videos on computing
in a variety of fields, and the development of infographics that illustrate computing information
that is personally relevant.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 7
EXPLORATION 0: INTRODUCTION TO CSP Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 7  Global Impact ▶▶EU 1.1, EU 1.2, EU 7.1, EU 7.3 ▶▶Creating and Using Piazza Accounts  ▶  Using Google Accounts
to Create Course Journals  ▶  Reading and Summarizing Articles
About Computing

Guiding Questions
▶ ​What is computer science? ​▶ ​How can information be efficiently communicated between small and large groups
of people? ​▶ ​How can productive collaboration be effectively facilitated? ​▶ ​How has cloud computing affected
our education?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Instructional Activity: Creating and Using Piazza Accounts ◀◀ Students create and use an
development process when Piazza I lead students through the process of creating an account on Piazza account on the Piazza course
creating computational artifacts. and posting introductory information about themselves. They create management system using
[P2] this self-introduction in the form of a Piazza “Note” and typically the school-provided Gmail
LO 1.2.1: Create a computational include the name by which they prefer to be addressed, their primary account as identification.
artifact for creative expression. interests, and their experiences using a computer as a creative tool. This approach allows me to
[P2] Students also respond to at least two introductory posts by their identify users in a consistent
peers. They can post questions about any course-related content in manner through the use of a
LO 1.2.2: Create a computational
the form of a Piazza “Question.” Students and I can respond and mark single email address. I give
artifact using computing tools and
it as “Resolved” or “Unresolved” if the originator of the question students time in class to
techniques to solve a problem. [P2]
requires further communication. use Piazza. Doing so is most
LO 1.2.3: Create a new important for students who
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A, B, E; 1.2.2 A; 1.2.3 A;
computational artifact by do not have easy access
1.2.4 A, B, F
combining or modifying existing to the Internet outside
artifacts. [P2] the classroom.
LO 1.2.4: Collaborate in the creation
of computational artifacts. [P6]
Formative Assessment: Creating and Using Piazza Accounts ◀◀ Piazza provides a tool that
Every day, students read and respond to posts that their peers and summarizes the number of
I created as an ongoing formative assessment. Students also reflect posts created and read by
on how the use of Piazza affects their ability to gain an education. I individual students. Although
lead discussions about perspectives on how computing has affected this information can be
education over the last three decades. I give students opportunities helpful to the instructor,
to explain how computing has affected their personal educational it does not provide details
experiences. about the quality of the posts.
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A, B, E; 1.2.2 A; 1.2.3 A;
I must read the posts and
1.2.4 A, B, F determine the extent to which
students are meeting
course expectations.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 8
EXPLORATION 0: INTRODUCTION TO CSP Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 7  Global Impact ▶▶EU 1.1, EU 1.2, EU 7.1, EU 7.3 ▶▶Creating and Using Piazza Accounts  ▶  Using Google Accounts
to Create Course Journals  ▶  Reading and Summarizing Articles
About Computing

Guiding Questions
▶ ​What is computer science? ​▶ ​How can information be efficiently communicated between small and large groups
of people? ​▶ ​How can productive collaboration be effectively facilitated? ​▶ ​How has cloud computing affected
our education?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Instructional Activity: Using Google Accounts to Create Course Journals
development process when Google Docs Students create a private Google Docs journal that they use
creating computational artifacts. journals throughout the course to share information with me. This journal
[P2] is shared with only me, not with other students in the class. My
LO 1.2.1: Create a computational available time will determine whether I instruct students to share the
artifact for creative expression. journal document as “Can comment” or “Can view.” I recommend
[P2] that the document not be shared using the “Can edit” option, as this
setting may lead to confusion as to whether or not I modified the
LO 1.2.2: Create a computational
document. In any case, using the “See revision history” file option
artifact using computing tools and
can clarify when and by whom the document was modified.
techniques to solve a problem. [P2]
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A, B, E; 1.2.2 A; 1.2.3 A;
LO 1.2.3: Create a new
1.2.4 A, B, F
computational artifact by
combining or modifying existing
artifacts. [P2]
LO 1.2.4: Collaborate in the creation
of computational artifacts. [P6]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 9
EXPLORATION 0: INTRODUCTION TO CSP Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 7  Global Impact ▶▶EU 1.1, EU 1.2, EU 7.1, EU 7.3 ▶▶Creating and Using Piazza Accounts  ▶  Using Google Accounts
to Create Course Journals  ▶  Reading and Summarizing Articles
About Computing

Guiding Questions
▶ ​What is computer science? ​▶ ​How can information be efficiently communicated between small and large groups
of people? ​▶ ​How can productive collaboration be effectively facilitated? ​▶ ​How has cloud computing affected
our education?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Formative Assessment: Using Google Accounts to Create Course Journals ◀◀ Keeping answers secure
development process when Google Docs Every week, students write in their journals about their explorations. from peers can be
creating computational artifacts. journals I use the journals to assess students’ writing and monitor their ability difficult, depending on the
[P2] to include sufficient detail and depth. Generally, students respond to configuration of the computer
LO 1.2.1: Create a computational the following questions: lab. Generally, quiz questions
artifact for creative expression. 1.  What exploration this week was particularly interesting, was selected for inclusion in
[P2] particularly motivational, or inspired a strong sense of the journal document
personal accomplishment? require individual insights
LO 1.2.2: Create a computational
and perspectives. This
artifact using computing tools and 2.  What exploration this week was particularly challenging, was less
characteristic makes copying
techniques to solve a problem. [P2] interesting, or resulted in significant struggles to accomplish your
the answers of another
LO 1.2.3: Create a new goals?
student impractical.
computational artifact by 3.  What activities or ideas did we not explore that you would like to
combining or modifying existing include for future consideration?
artifacts. [P2] Additional prompts are included throughout the course to emphasize
LO 1.2.4: Collaborate in the creation the focus of each topic explored. Prompts can also include multiple-
of computational artifacts. [P6] choice questions.
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A, B, E; 1.2.2 A; 1.2.3 A;
1.2.4 A, B, F

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 10
EXPLORATION 0: INTRODUCTION TO CSP Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 7  Global Impact ▶▶EU 1.1, EU 1.2, EU 7.1, EU 7.3 ▶▶Creating and Using Piazza Accounts  ▶  Using Google Accounts
to Create Course Journals  ▶  Reading and Summarizing Articles
About Computing

Guiding Questions
▶ ​What is computer science? ​▶ ​How can information be efficiently communicated between small and large groups
of people? ​▶ ​How can productive collaboration be effectively facilitated? ​▶ ​How has cloud computing affected
our education?

Learning Objectives Materials Instructional Activities and Classroom Assessments


7.1.1: Explain how computing Web Instructional Activity: Reading and Summarizing Articles About Computing ◀◀ Discussions are characterized
innovations affect communication, ACM I give students time to independently read the titles of a variety as having volunteers “starting
interaction, and cognition. [P4] TechNews of articles highlighted on ACM TechNews. I then ask them to the discussion” rather than
7.1.2: Explain how people Google Docs independently select the one article that they find most interesting, stating answers. I encourage
participate in a problem solving journals read the article, and write a brief summary of it in their journal. I then students to share their
process that scales. [P4] give students an opportunity to share their insights and discoveries perspectives, even if they are
with their table partners and the entire class. As the year progresses, not certain they are correct.
7.3.1: Analyze the beneficial and
students are expected to improve their ability to use correct computer Comments and replies to
harmful effects of computing. [P4]
science terminology and include details associated with computing statements help all students
innovations that are related to the articles. enhance their perspectives on
Essential knowledge addressed: 7.1.1 D, E, M, O; 7.1.2 E; 7.3.1 K
the topic of focus. Although
student-led discussions
may address all ideas, no
particular essential knowledge
statements other than the
ones listed here are required
during this exploration.
Print Instructional Activity: Reading and Summarizing Blown to Bits ◀◀ I usually facilitate student
Abelson, Throughout the course, students read sections of Blown to Bits and discussions by grouping
Ledeen, and summarize their findings in small- and large-group discussions and students in table groups.
Lewis, chapters journal posts. I select particular sections of the book to emphasize Large-group discussions of
1, 2, and 5, specific content. Students select other sections based on individual what each group summarizes
Conclusion, interests. Typically, students read all of chapter 1, although not take place among the entire
and Appendix in a single sitting. Students also read all of chapters 2 and 5, the class. Students create written
Web conclusion, and the appendix. I allow students to read some sections summaries using Google
Google Docs during class time and provide paper copies when necessary to allow Docs that are shared with the
journals for reading outside of class. I give students questions to answer for group. Students transfer the
required readings. For student-selected sections, students summarize information to Piazza as a
the reading in paragraph form and as a bulleted list of major post to allow the summaries
computing concepts learned from the reading. to remain persistent and
Essential knowledge addressed: 7.1.1 D, E, M, O; 7.1.2 E; 7.3.1 K
accessible by all students
throughout the remainder of
the course.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 11
EXPLORATION 0: INTRODUCTION TO CSP Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 7  Global Impact ▶▶EU 1.1, EU 1.2, EU 7.1, EU 7.3 ▶▶Creating and Using Piazza Accounts  ▶  Using Google Accounts
to Create Course Journals  ▶  Reading and Summarizing Articles
About Computing

Guiding Questions
▶ ​What is computer science? ​▶ ​How can information be efficiently communicated between small and large groups
of people? ​▶ ​How can productive collaboration be effectively facilitated? ​▶ ​How has cloud computing affected
our education?

Learning Objectives Materials Instructional Activities and Classroom Assessments


All of the learning objectives from Web Summative Assessment: Introduction to CSP ◀◀ This summative assessment
this exploration are addressed. Google Docs Students answer multiple-choice and free-response questions about addresses all the guiding
journals particular topics presented and discussed in class. Of course, because questions for this exploration.
Google Forms the content is presented and discussed throughout the course, Teachers more comfortable
portions of the assessment are integrated into several assessments with a traditional approach
Piazza
given on a monthly basis. This method helps students keep all to organizing course
concepts current as they prepare for the end-of-year assessment. materials could organize
Students submit their summative assessments in the form of Piazza each exploration and its
posts that are private and can be seen only by the instructor, as corresponding summative
submissions to Google Forms, or as additions to their student journal. assessment into a single
All of the exploration’s essential knowledge statements are addressed. unbroken block of time.
However, this approach
reduces opportunities for
students to make connections
and be creative.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 12
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Instructional Activity: Introduction to Programming ◀◀ Encourage students to
development process when IntroComputing Students work in pairs as “drivers” and “navigators” to complete explore the use of the binary
creating computational artifacts. .org the “Introduction and Code” and “Digital Images” exercises on operators &, |, and ^ before
[P2] Piazza IntroComputing.org, along with extension exercises posted on Piazza. they know their definitions
LO 1.2.1: Create a computational The traditional for loop is introduced and applied to the creation and properties. After student
“Rihanna —
artifact for creative expression. of pixel patterns. The modulus operator % is defined and used to explorations, formally
Diamonds (Live
[P2] make patterns of pixels in row, column, and checkerboard patterns. define the operators and
on SNL)”
Students use solid colors and pixels obtained from images to create their properties. Students
LO 1.2.2: Create a computational
the patterns. They use binary representations of data and binary should make connections
artifact using computing tools and
operators to modify pixel colors. Students explore base systems and between what they observed
techniques to solve a problem. [P2]
conversions between bases. We regularly discuss the manipulation in their images and the
LO 1.2.3: Create a computational of images as a class, in small groups, and on Piazza. Students post properties associated with
artifact by combining or modifying screenshots of the output produced and the code they used to the operators. Examples of
existing artifacts. [P2] generate it. digital image manipulations
LO 1.2.4: Collaborate in the creation Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A-E; 1.2.2 A, B; 1.2.3 A-C;
in popular culture, such as
of computational artifacts. [P6] 1.2.4 A-F; 1.2.5 A-D; 1.3.1 A, C; 2.1.1 A-G; 2.1.2 D; 2.2.1 B, C; 2.2.2 A, B; the background images in the
LO 1.2.5: Analyze the correctness, 2.2.3 A, K; 5.1.1 A-F; 5.5.1 A-G; 7.2.1 G Rihanna performance, can
usability, functionality, and increase motivation and
suitability of computational spark discussion.
artifacts. [P4]
LO 1.3.1: Use computing tools and
techniques for creative expression.
[P2]
LO 2.1.1: Describe the variety of
abstractions used to represent
data. [P3]
LO 2.1.2: Explain how binary
sequences are used to represent
digital data. [P5]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 13
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


(continued from previous page) Web Formative Assessment: Introduction to Programming ◀◀ I usually assign the
LO 2.2.1: Develop an abstraction IntroComputing Students write JavaScript code within IntroComputing.org text images that are the most
when writing a program or .org areas to generate images. They post their images and corresponding algorithmically challenging to
creating other computational Piazza code on Piazza. Students then comment on and ask questions about produce as pair programming
artifacts. [P2] their classmates’ posts. I give students credit for their posts if they assignments. I assign images
communicate information that helps the reader to better understand that encourage students to
LO 2.2.2: Use multiple levels of
the process used to develop an image. I also give them credit if they express themselves creatively
abstraction to write programs. [P3]
ask specific questions that help themselves and their peers better as independent projects.
LO 2.2.3: Identify multiple levels of understand the content of existing posts. Students create some
abstractions that are used when images by writing code collaboratively in pairs.
writing programs. [P3]
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A-E; 1.2.2 A, B; 1.2.3 A-C;
LO 5.1.1: Develop a program for 1.2.4 A-F; 1.2.5 A-D; 1.3.1 A, C; 2.1.1 A-G; 2.1.2 D; 2.2.1 B, C; 2.2.2 A, B;
creative expression, to satisfy 2.2.3 A, K; 5.1.1 A-F; 5.5.1 A-G; 7.2.1 G
personal curiosity, or to create new
knowledge. [P2]
LO 5.5.1: Employ appropriate
mathematical and logical concepts
in programming. [P1]
LO 7.2.1: Explain how computing
has impacted innovations in other
fields. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 14
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Instructional Activity: The Chaos Game
development process when Paul, Jody, Rich Students start with code from the Creativity and Global Impact
creating computational artifacts. Kick, and Paul Curriculum Module found under the resources section on the AP
[P2] Tymann, “AP Teacher Community for Computer Science Principles. Students
LO 1.2.1: Create a computational CSP Curriculum should independently research the chaos game using a search engine
artifact for creative expression. Module — and then modify and add to the code provided to create original
[P2] Creativity and extensions of the chaos game that are personally relevant. Most
Global Impact” recently, students have used pixel properties from images rather than
LO 1.2.2: Create a computational
IntroComputing solid colors to plot chaos figures. They accomplished this by writing
artifact using computing tools and
.org code using the IntroComputing.org website’s “Custom Bluescreen”
techniques to solve a problem. [P2]
text area to load images that reside on their computer. The results
LO 1.2.3: Create a computational were fractal images combining properties of multiple existing images
artifact by combining or modifying that were personally meaningful to the students.
existing artifacts. [P2]
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A-E; 1.2.2 A, B; 1.2.3 A-C;
LO 1.2.4: Collaborate in the creation 1.2.4 A-F; 1.2.5 A-D
of computational artifacts. [P6]
LO 1.2.5: Analyze the correctness,
usability, functionality, and
suitability of computational
artifacts. [P4]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 15
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Formative Assessment: Implementing and Extending the Chaos Game ◀◀ As I review students’
development process when “AP CSP Students write code to implement a variety of versions of the chaos code, I provide comments
creating computational artifacts. Curriculum game. Multiple examples are given in the Creativity Curriculum and guidance as needed
[P2] Module — Module, but students should create images different than the to ensure that the
LO 1.2.1: Create a computational Creativity and examples. Differences may include variations such as color, vertex students are progressing
artifact for creative expression. Global Impact” number and location, move to ratios, probabilities associated with in their understanding of
[P2] Piazza the frequency of selecting particular vertices, and plotted pixel programming constructs.
colors using images selected by students. Students should post at
LO 1.2.2: Create a computational
least three images to Piazza: one that was the result of collaborative
artifact using computing tools and
work with a partner, one that was the result of individual work,
techniques to solve a problem. [P2]
and one that illustrates insights gained and progress made during
LO 1.2.3: Create a computational their individual explorations. Students post their images and
artifact by combining or modifying corresponding code on Piazza, and they comment and ask questions
existing artifacts. [P2] about their peers’ posts.
LO 1.2.4: Collaborate in the creation Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A-E; 1.2.2 A, B; 1.2.3 A-C;
of computational artifacts. [P6] 1.2.4 A-F; 1.2.5 A-D
LO 1.2.5: Analyze the correctness,
usability, functionality, and
suitability of computational
artifacts. [P4]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 16
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Instructional Activity: Using Online Tools to Generate Art
development process when “Blockly In this activity, I introduce students to the programming sites listed in
creating computational artifacts. Games: Turtle” the Materials section of this activity. I encourage students to explore
[P2] Mr. doob each site and use them to generate unique artifacts. I introduce
LO 1.2.1: Create a computational recursion using graphic examples created with Recursive Drawing,
Pencil Code
artifact for creative expression. plus nongraphic examples of recursion in the form of mathematical
Recursive definitions, such as exponentiation. Students use a shape they have
[P2]
Drawing created to generate recursive images by dragging a copy of the
LO 1.2.2: Create a computational
original shape into the drawing region it occupies. The software
artifact using computing tools and
replicates the copy and the modifications associated with it. Shape
techniques to solve a problem. [P2]
modifications can include changes in size and rotational orientation.
LO 1.2.3: Create a computational In pairs, students produce complex, self-similar images using
artifact by combining or modifying relatively simplistic algorithms and describe the steps they used to
existing artifacts. [P2] generate the recursively generated graphics.
LO 1.2.4: Collaborate in the creation Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A-E; 1.2.2 A, B; 1.2.3 A-C;
of computational artifacts. [P6] 1.2.4 A-F; 1.2.5 A-D; 4.1.1 A, B, E, H, I; 4.1.2 A-I
LO 1.2.5: Analyze the correctness,
usability, functionality, and
suitability of computational
artifacts. [P4]
LO 4.1.1: Develop an algorithm for
implementation in a program. [P2]
LO 4.1.2: Express an algorithm in a
language. [P5]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 17
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Formative Assessment: Using Online Tools to Generate Art ◀◀ As I review students’
development process when “Blockly Students independently write code to generate images possessing code, I provide comments
creating computational artifacts. Games: Turtle” the characteristics described in prompts that I provide to them. and guidance as needed
[P2] Mr. doob Examples of characteristics requested are horizontal, vertical, and to ensure that the
LO 1.2.1: Create a computational rotational symmetries like those characteristics exhibited in typical students are progressing
Pencil Code
artifact for creative expression. functions studied in Algebra I, as well as self-similarity like the in their understanding of
Recursive characteristics possessed by many recursively generated graphics. programming constructs.
[P2]
Drawing Students post their images and corresponding code on Piazza. They
LO 1.2.2: Create a computational
must identify the tools and techniques used to generate the graphics,
artifact using computing tools and
and they also must comment on and ask questions about their
techniques to solve a problem. [P2]
peers’ posts.
LO 1.2.3: Create a computational
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A-E; 1.2.2 A, B; 1.2.3 A-C;
artifact by combining or modifying
1.2.4 A-F; 1.2.5 A-D; 4.1.1 A, B, E, H, I; 4.1.2 A-I
existing artifacts. [P2]
LO 1.2.4: Collaborate in the creation
of computational artifacts. [P6]
LO 1.2.5: Analyze the correctness,
usability, functionality, and
suitability of computational
artifacts. [P4]
LO 4.1.1: Develop an algorithm for
implementation in a program. [P2]
LO 4.1.2: Express an algorithm in a
language. [P5]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 18
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.3.1: Use computing tools and Instructional Activity: Exploring Creativity Associated with Digital Artifacts
techniques for creative expression. Students divide themselves into collaborative groups based on
[P2] personal interests in the following types of digital artifacts: images,
audio, video, and animations. We use approximately three hours of
class time to research, using the World Wide Web, how the chosen
type of artifact has transformed industries. They must find some
technical details about how the artifact type is created and how
it is used to transform the industry that they identify. They also
should find details about how data are associated with the creation
and/or use of the artifact. I let students do research during class to
accommodate those who do not have Internet access at home.
Essential knowledge addressed: 1.3.1 A-E

Formative Assessment: Exploring Creativity Associated with Digital Artifacts ◀◀ After each presentation I
Student groups present their discoveries to the class using artifacts, encourage students to ask
styles, and techniques of their choosing. Each group has the questions about and share
flexibility to present in a way that best aligns with its members’ personal experiences with
talents and interests. Some groups create videos using video the types of artifacts that
recording and editing tools, some create songs with digital recording were presented.
and editing software, and others use graphics software. In the past,
presentations have included skits, song performances, videos, and
program demonstrations. I encourage students to be creative and
build on personal interests and experiences. I assess presentations
based on the extent (high, medium, or low) to which they address
each of the requirements listed in the preceding instructional activity.
I also offer potential bonus points for creativity and originality.
Essential knowledge addressed: 1.3.1 A-E

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 19
EXPLORATION 1: CREATIVITY AND COMPUTING Estimated Time: 25 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 1.3, EU 2.1, EU 2.2, EU 4.1, EU 5.1, ▶▶Introduction to Programming  ▶  The Chaos Game  ▶  Using
BIG IDEA 4  Algorithms EU 5.5, EU 7.2 Online Tools to Generate Art  ▶  All-School Art Show
BIG IDEA 5  Programming
BIG IDEA 7  Global Impact

Guiding Questions
▶ ​What are digital images, and how can they be created and manipulated? ​▶ ​How can mathematics be used
to generate images that are artistically appealing? ​▶ ​How can computational artifacts be used to affect a
community? ​▶ ​What is recursion, and how can its use enhance the creation of computational artifacts?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 5.1.1: Develop a program for Web Instructional Activity: All-School Art Show
creative expression, to satisfy IntroComputing Students work independently to analyze program code that
personal curiosity, or to create new .org generates digital fractal images on IntroComputing.org and identify
knowledge. [P2] portions of the code responsible for specific characteristics of the
LO 5.5.1: Employ appropriate images, such as color, size, shape, and complexity. They create and
mathematical and logical concepts implement algorithms designed to produce new images having
in programming. [P1] the characteristics that they desire. Their goal is to create artifacts
that are unique and appealing to themselves and to their peers.
LO 7.2.1: Explain how computing
The process of creating fractal images includes generating color
has impacted innovations in other
schemes and shapes using mathematical functions that determine
fields. [P1]
the properties of the images. Each student creates a digital work
of art through programming and submits the work as an entry in
the all-school art show. Students’ art is judged based on originality,
complexity, and visual appeal.
Essential knowledge addressed: 5.1.1 A-F; 5.5.1 A-G; 7.2.1 G

All of the learning objectives from Web Summative Assessment: Creativity and Computing ◀◀ This summative assessment
this exploration are addressed. Piazza I give students instructions outlining the characteristics of an image addresses all of the guiding
they are to create. The image creation process begins with an image questions for this exploration.
that I provide. Students write code to generate image modifications
in the form of regular pixel patterns, color modifications, and fractals.
To submit their final image, students must take a screenshot of the
image and submit both the screenshot and the code used to generate
the final image. Students submit their summative assessments in
the form of Piazza posts that are private and can only be seen by the
instructor or as additions to their student journal.
All of the exploration’s essential knowledge statements are addressed.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 20
EXPLORATION 2: IDENTIFYING AND USING ABSTRACTIONS Estimated Time: 10 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.3, EU 5.4 ▶▶Identifying and Describing Abstractions in Daily Life 
▶  Identifying and Describing Abstractions in Programming 
▶  Using Abstractions to Write Programs

Guiding Questions
▶ ​What is an abstraction? ​▶ ​How does the use of abstractions affect the program development process? ​
▶ ​What abstractions are provided in professional application programming interfaces (APIs)?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.2.1: Develop an abstraction Web Instructional Activity: Identifying and Describing Abstractions in Daily Life ◀◀ The concept of a cookie (a
when writing a program or “The Art of I ask students to define the term cookie and to work in pairs to type of dessert) is used to
creating other computational Abstraction — agree on a definition. I randomly select students to share their illustrate a relatively simple
artifacts. [P2] Computerphile” definitions. I then provide examples of cookies that do not match their idea that is incredibly difficult
definitions and emphasize how difficult it is to fully describe a cookie. to precisely define without
Independently, students select an everyday term (car, sandwich, excluding the types of cookies
book) and write a detailed definition that they present to a partner. that one would want included
After each presentation, the partner asks probing questions about in the definition. Some
the definition, requiring the student to add more detail. Eventually, students may define cookie in
students realize the concept is much more complex than originally terms of a computer science
thought. Students switch roles and repeat. I then guide a whole-class concept. Acknowledge the
discussion summarizing the need for abstractions in order to reduce interpretation as valid and
complexity and facilitate communication about ideas. then redirect students to a
Essential knowledge addressed: 2.2.1 A, B
conversation about dessert.
Students can watch the
YouTube video listed under
Materials to solidify their
understanding.
Web Formative Assessment: Identifying and Describing Abstractions in Daily Life ◀◀ As I review students’
Google Docs Students independently write a summary about the preceding summaries, I provide
journals activity and post it to their Google Docs journal. They describe their comments and guidance as
choice of concept, their initial definition, the difficulties they and their needed to ensure that the
partner encountered when exploring exceptions to the definition, and students are progressing
the added complexity needed to accurately represent the concept. I in their understanding
then ask students to summarize the importance of abstractions for of abstractions.
facilitating communication. Students also should make connections to
communications associated with programming.
Essential knowledge addressed: 2.2.1 A, B

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 21
EXPLORATION 2: IDENTIFYING AND USING ABSTRACTIONS Estimated Time: 10 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.3, EU 5.4 ▶▶Identifying and Describing Abstractions in Daily Life 
▶  Identifying and Describing Abstractions in Programming 
▶  Using Abstractions to Write Programs

Guiding Questions
▶ ​What is an abstraction? ​▶ ​How does the use of abstractions affect the program development process? ​
▶ ​What abstractions are provided in professional application programming interfaces (APIs)?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.2.2: Use multiple levels of Web Instructional Activity: Identifying and Describing Abstractions in Programming
abstraction to write programs. [P3] “Google Maps I pair students and give them program code that uses the Google
LO 2.2.3: Identify multiple levels JavaScript API” Maps API (application programming interface) and YouTube Data
of abstractions being used when Piazza API. Students read and identify the abstractions used in the code in
writing programs. [P3] the form of a Piazza post. They read appropriate API documentation
“YouTube Data
to fully understand the how the abstractions are represented and
API: JavaScript
how they should be properly applied when programming. This
Code Samples”
activity helps to prepare students for similar writing associated with
the Create Performance Task.
Essential knowledge addressed: 2.2.2 A, B; 2.2.3 A-D

Web Formative Assessment: Identifying and Describing Abstractions ◀◀ As I review abstraction


“Google Maps in Programming summaries, I provide
JavaScript API” Students individually write a summary of their choice of an comments in the form of
Piazza abstraction used in a program that I provide. The abstraction should private Piazza posts that
correspond to code that is used to provide some significant feature guide students toward
“YouTube Data in the program provided. The summary must include the purpose improvement in their ability
API: JavaScript of the abstraction, any input and output associated with the use to describe abstractions
Code Samples” of the abstraction, and any algorithms used by the abstraction to in detail.
accomplish its related task. The summary must be written as a Piazza
post that is private and can only be seen by the instructor.
Essential knowledge addressed: 2.2.2 A, B; 2.2.3 A-D

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 22
EXPLORATION 2: IDENTIFYING AND USING ABSTRACTIONS Estimated Time: 10 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.3, EU 5.4 ▶▶Identifying and Describing Abstractions in Daily Life 
▶  Identifying and Describing Abstractions in Programming 
▶  Using Abstractions to Write Programs

Guiding Questions
▶ ​What is an abstraction? ​▶ ​How does the use of abstractions affect the program development process? ​
▶ ​What abstractions are provided in professional application programming interfaces (APIs)?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 5.1.1: Develop a program for Web Instructional Activity: Using Abstractions to Write Programs
creative expression, to satisfy “Google Maps I give students an API (such as the Google Maps JavaScript API) and
personal curiosity, or to create new JavaScript API” provide examples of how to read it. I demonstrate how a program
knowledge. [P2] JSFiddle feature (e.g., placing a marker on a map at a specific location) is
LO 5.1.2: Develop a correct program implemented by searching the API for programming abstractions that
to solve problems. [P2] facilitate the implementation of the feature. Students read the related
information about the abstraction, use the sample code provided in
LO 5.1.3: Collaborate to develop a
the API illustrating the use of the abstraction, and then add to and
program. [P6]
modify the sample code in a demo program. Modifying the sample
LO 5.3.1: Use abstraction to manage code provides the desired result in the sample program (displays
complexity in programs. [P3] a marker in the correct location). Students write program code in
LO 5.4.1: Evaluate the correctness collaborative pairs using JSFiddle for creative expression and
of a program. [P4] problem solving.
Essential knowledge addressed: 5.1.1 A-F; 5.1.2 A-J; 5.1.3 A-F; 5.3.1 A-O;
5.4.1 A-E

Web Instructional Activity: Using Abstractions to Write Programs ◀◀ Commenting code


“Google Maps Students individually write programs in JSFiddle that interest them appropriately is emphasized
JavaScript API” using the Google Maps JavaScript API. Students are encouraged during this activity. Writing
JSFiddle to search the Web for, and to use, additional APIs that they find detailed descriptions of the
interesting. They select features that can be implemented using abstractions used helps
Piazza
API functionality and write the code that accomplishes the desired prepare students for the
results. Students comment their code to provide the reader with Create — Applications from
insight into the abstractions that are used and how they help the Ideas Performance Task.
programmer accomplish goals. Students share their work with peers
by posting their JSFiddle URLs on Piazza.
Essential knowledge addressed: 5.1.1 A-F; 5.1.2 A-J; 5.1.3 A-F; 5.3.1 A-O;
5.4.1 A-E

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 23
EXPLORATION 2: IDENTIFYING AND USING ABSTRACTIONS Estimated Time: 10 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.3, EU 5.4 ▶▶Identifying and Describing Abstractions in Daily Life 
▶  Identifying and Describing Abstractions in Programming 
▶  Using Abstractions to Write Programs

Guiding Questions
▶ ​What is an abstraction? ​▶ ​How does the use of abstractions affect the program development process? ​
▶ ​What abstractions are provided in professional application programming interfaces (APIs)?

Learning Objectives Materials Instructional Activities and Classroom Assessments


All of the learning objectives from Web Summative Assessment: Identifying and Using Abstractions for Enhanced ◀◀ This summative assessment
this exploration are addressed. Google Docs Creativity and Problem Solving addresses all the guiding
journals I give students program code and a general description of the questions for this exploration.
Piazza purpose of the program as a Piazza post. They must identify an It is important to remind
abstraction used in the program, as well as create and use an students that abstractions
abstraction that expands the problem-solving capabilities of the are simplified representations
program. Students must provide a written summary of how the of concepts. APIs provide
identified abstraction and the student-created abstraction are abstractions in the form
used to accomplish the program’s purpose. They share their code, of procedures designed to
running program screen capture, and abstraction summaries with the accomplish tasks related to
instructor in the form of an addition to their Google Docs journal. the abstraction. Students
All of the exploration’s essential knowledge statements are addressed. are encouraged to divide
their desired functionality
into logical blocks and to
implement that functionality
as procedures.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 24
EXPLORATION 3: USING DATA Estimated Time: 10 Hours
BIG IDEA 3  Data and Information Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 3.1, EU 3.2, EU 3.3, EU 5.5 ▶▶Finding Appropriate Online Data Sources  ▶  Collecting, Cleaning,
and Formatting Data  ▶  Visualizing Data  ▶  “You Can’t Say That on
the Internet”

Guiding Questions
▶ ​Which data sets that are associated with topics of personal interest are freely available online? ​▶ ​What is the
difference between data, information, and knowledge? ​▶ ​How can data be cleaned and formatted to facilitate the
effective extraction of information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 3.1.1: Find patterns and test Web Instructional Activity: Finding Appropriate Online Data Sources
hypotheses about digitally Mr. Kick, I introduce a variety of online data sources using the “Resources”
processed information to gain “Resources” page on my course website. Students actively search the Web in pairs
insight and knowledge. [P4] (selected based on common interests) to find URLs for data sources
LO 3.1.2: Collaborate when that are relevant to topics of their choice. Students collect data from
processing information to gain their chosen online sources using techniques that are appropriate
insight and knowledge. [P6] for the data format that is available. Note that students may find
several databases that are very difficult to use. They also may find it
LO 3.1.3: Explain the insight
difficult to find freely available data sources associated with financial
and knowledge gained from
resources. Resources that I provide represent a compromise between
digitally processed data by
individual interests and usable data sources.
using appropriate visualizations,
notation, and precise language. Essential knowledge addressed: 3.1.1 A-E; 3.1.2 A-F; 3.1.3 A-E; 3.2.1 A-I;
[P5] 3.2.2 A-H; 5.5.1 H-J

LO 3.2.1: Extract information from


data to discover and explain
connections or trends. [P1]
LO 3.2.2: Determine how large
data sets impact the use of
computational processes
to discover information and
knowledge. [P3]
LO 5.5.1: Employ appropriate
mathematical and logical concepts
in programming. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 25
EXPLORATION 3: USING DATA Estimated Time: 10 Hours
BIG IDEA 3  Data and Information Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 3.1, EU 3.2, EU 3.3, EU 5.5 ▶▶Finding Appropriate Online Data Sources  ▶  Collecting, Cleaning,
and Formatting Data  ▶  Visualizing Data  ▶  “You Can’t Say That on
the Internet”

Guiding Questions
▶ ​Which data sets that are associated with topics of personal interest are freely available online? ​▶ ​What is the
difference between data, information, and knowledge? ​▶ ​How can data be cleaned and formatted to facilitate the
effective extraction of information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 3.1.1: Find patterns and test Web Formative Assessment: Finding Appropriate Online Data Sources ◀◀ As I review students’
hypotheses about digitally Piazza Students work in pairs to summarize, using a Piazza post, their summaries, I provide
processed information to gain topic of interest and their processes for obtaining a data source comments and guidance as
insight and knowledge. [P4] or data sources. They also summarize the content of the data and needed to ensure that the
LO 3.1.2: Collaborate when potential techniques they may need to use in order to obtain relevant students are progressing
processing information to gain information and knowledge from the data. in their understanding of
insight and knowledge. [P6] Essential knowledge addressed: 3.1.1 A-E; 3.1.2 A-F; 3.1.3 A-E; 3.2.1 A-I;
obtaining appropriate
3.2.2 A-H; 5.5.1 H-J data sources.
LO 3.1.3: Explain the insight and
knowledge gained from digitally
processed data by using appropriate
Local Software Instructional Activity: Collecting, Cleaning, and Formatting Data ◀◀ Cleaning and formatting data
Fathom I demonstrate the process of cleaning and formatting data in order uses techniques that vary
visualizations, notation, and precise
Dynamic Data to obtain new insights and knowledge. This cleaning often involves based on the nature of the
language. [P5]
Software the removal of portions of the data that is not relevant to the area of data used. The file type used
LO 3.2.1: Extract information from interest. I use a variety of tools, such as a text editor, a spreadsheet, to store the data will also
Web
data to discover and explain a professional statistics software package called Fathom, and affect which techniques are
Mr. Kick,
connections or trends. [P1] JavaScript programs that I have written to clean and format the data. used to manipulate the data.
“Resources”
LO 3.2.2: Determine how large Students, in the same pairs used in the previous instructional activity,
data sets impact the use of discuss the techniques they will need to clean and format their data.
computational processes They divide up the tasks to more efficiently prepare the data for
to discover information and information extraction. They apply the techniques discussed in class
knowledge. [P3] to their own data sets.
LO 5.5.1: Employ appropriate Essential knowledge addressed: 3.1.1 A-E; 3.1.2 A-F; 3.1.3 A-E; 3.2.1 A-I;
mathematical and logical concepts 3.2.2 A-H; 5.5.1 H-J
in programming. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 26
EXPLORATION 3: USING DATA Estimated Time: 10 Hours
BIG IDEA 3  Data and Information Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 3.1, EU 3.2, EU 3.3, EU 5.5 ▶▶Finding Appropriate Online Data Sources  ▶  Collecting, Cleaning,
and Formatting Data  ▶  Visualizing Data  ▶  “You Can’t Say That on
the Internet”

Guiding Questions
▶ ​Which data sets that are associated with topics of personal interest are freely available online? ​▶ ​What is the
difference between data, information, and knowledge? ​▶ ​How can data be cleaned and formatted to facilitate the
effective extraction of information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 3.1.1: Find patterns and test Web Formative Assessment: Collecting, Cleaning, and Formatting Data ◀◀ As I review students’
hypotheses about digitally Piazza Each student pair will summarize, using a Piazza post, how they summaries, I provide
processed information to gain obtained, cleaned, and formatted the data they selected. They must comments and guidance as
insight and knowledge. [P4] describe in detail the processes they used so that someone unfamiliar needed to ensure that the
LO 3.1.2: Collaborate when with the data could replicate their work. They must also describe any students are progressing
processing information to gain difficulties they encountered while processing the data, as well as in their understanding of
insight and knowledge. [P6] how they collaborated to resolve those difficulties. appropriate techniques for
Essential knowledge addressed: 3.1.1 A-E; 3.1.2 A-F; 3.1.3 A-E; 3.2.1 A-I;
obtaining, cleaning, and
LO 3.1.3: Explain the insight and
3.2.2 A-H; 5.5.1 H-J formatting data.
knowledge gained from digitally
processed data by using appropriate
Local Software Instructional Activity: Visualizing Data
visualizations, notation, and precise
Fathom I demonstrate how to search clean, formatted data for patterns and
language. [P5]
Dynamic Data information. I use a spreadsheet program, Fathom Dynamic Data
LO 3.2.1: Extract information from Software Software, and instructor-written JavaScript programs to create
data to discover and explain appropriate visualizations and numerical summaries of the data.
Spreadsheet
connections or trends. [P1] Students use data manipulation exercises on IntroComputing.org that
software
LO 3.2.2: Determine how large explore the Social Security Administration’s names data from 1880 to
Web
data sets impact the use of 2014. These data summaries reveal new information and knowledge
IntroComputing
computational processes that can be extracted from data. I also share statistical insights to
.org
to discover information and help students make appropriate choices for their own visualizations
knowledge. [P3] and numerical summaries. Students use the tools of their choice to
LO 5.5.1: Employ appropriate process their data and gain insights that were not available through
mathematical and logical concepts simply observing the data in its original form.
in programming. [P1] Essential knowledge addressed: 3.1.1 A-E; 3.1.2 A-F; 3.1.3 A-E; 3.2.1 A-I;
3.2.2 A-H; 5.5.1 H-J

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 27
EXPLORATION 3: USING DATA Estimated Time: 10 Hours
BIG IDEA 3  Data and Information Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 3.1, EU 3.2, EU 3.3, EU 5.5 ▶▶Finding Appropriate Online Data Sources  ▶  Collecting, Cleaning,
and Formatting Data  ▶  Visualizing Data  ▶  “You Can’t Say That on
the Internet”

Guiding Questions
▶ ​Which data sets that are associated with topics of personal interest are freely available online? ​▶ ​What is the
difference between data, information, and knowledge? ​▶ ​How can data be cleaned and formatted to facilitate the
effective extraction of information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 3.1.1: Find patterns and test Local Software Formative Assessment: Visualizing Data ◀◀ It is important to emphasize
hypotheses about digitally Fathom Student pairs create and submit an artifact in the form of a PDF file that the visualizations
processed information to gain Dynamic Data that visually and numerically represents information and knowledge created should help
insight and knowledge. [P4] Software gained from analyzing the data they selected. Students may use the reader to better
LO 3.1.2: Collaborate when Spreadsheet data from IntroComputing.org if they wish. This artifact must consist understand information
processing information to gain software of a combination of artifacts generated during the students’ data- associated with the data.
insight and knowledge. [P6] processing activities. Students submit the artifact by uploading the I use this opportunity to
Web
PDF to Google Drive and sharing it with my Google school account. emphasize to students
LO 3.1.3: Explain the insight and Google Drive
Essential knowledge addressed: 3.1.1 A-E; 3.1.2 A-F; 3.1.3 A-E; 3.2.1 A-I;
how communications are
knowledge gained from digitally IntroComputing
3.2.2 A-H; 5.5.1 H-J enhanced through the
processed data by using appropriate .org use of the Internet and
visualizations, notation, and precise
the World Wide Web.
language. [P5]
Student submissions are
LO 3.2.1: Extract information from completely paperless.
data to discover and explain
connections or trends. [P1]
LO 3.2.2: Determine how large
data sets impact the use of
computational processes
to discover information and
knowledge. [P3]
LO 5.5.1: Employ appropriate
mathematical and logical concepts
in programming. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 28
EXPLORATION 3: USING DATA Estimated Time: 10 Hours
BIG IDEA 3  Data and Information Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 3.1, EU 3.2, EU 3.3, EU 5.5 ▶▶Finding Appropriate Online Data Sources  ▶  Collecting, Cleaning,
and Formatting Data  ▶  Visualizing Data  ▶  “You Can’t Say That on
the Internet”

Guiding Questions
▶ ​Which data sets that are associated with topics of personal interest are freely available online? ​▶ ​What is the
difference between data, information, and knowledge? ​▶ ​How can data be cleaned and formatted to facilitate the
effective extraction of information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 3.3.1: Analyze how data Print Instructional Activity: “You Can’t Say That on the Internet”
representation, storage, security, Abelson, I give students class time to read portions of Chapters 3 and 7 of
and transmission of data involve Ledeen, and Blown to Bits. I introduce a question about the reading and give
computational manipulation of Lewis, chapters table partners 30 seconds each to answer while their partner listens.
information. [P4] 3 and 7 After each partner presents an answer, the partners have another 60
Web seconds to agree on and record their answer in a Google Doc. This
Google Docs structured learning technique is repeated for each question related
to the reading. Time is adjusted depending on the complexity of the
question presented. After all questions have been answered, table
groups share their Google Docs and discuss similarities, differences,
and suggestions for a common group answer to each question.
Groups share their answers in a class discussion and modify their
answers as needed.
Essential knowledge addressed: 3.3.1 A-I

All of the learning objectives from Local Software Summative Assessment: Using Data ◀◀ This summative assessment
this exploration are addressed. Fathom I give students a large data set that I distribute as a shared Google addresses all of the guiding
Dynamic Data Doc. They must independently clean, filter, format, and visualize the questions for this exploration.
Software data to answer specific questions about the data and the processes This assessment can
Spreadsheet they used to manipulate the data. The questions are provided in a significantly vary in difficulty
software Google Form, which students use to submit their answers. based on the size and format
Web All of the exploration’s essential knowledge statements are addressed. of the data provided to the
Google Docs students. The validity of the
assessment can be improved
Google Forms
by sharing different versions
of the data set that lead to
different correct answers for
each set.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 29
EXPLORATION 4: EXPLORING ALGORITHMS Estimated Time: 10 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 4  Algorithms ▶▶EU 1.1, EU 1.2, EU 4.1, EU 4.2 ▶▶Creating Algorithms to Manipulate Images  ▶  Huffman
Coding Trees  ▶  Comparing Algorithms for Image File
Creation  ▶  Designing Algorithms for Map Creation

Guiding Questions
▶ ​What is an algorithm? ​▶ ​What are common algorithms used for digital image manipulation? ​▶ ​How can
algorithms be evaluated for correctness and efficiency? ​▶ ​How can messages be translated between multiple
representations? ​▶ ​How is map location data used to obtain practical information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 1.1.1: Apply a creative Web Instructional Activity: Creating Algorithms to Manipulate Images
development process when “Algorithms” I introduce the concept of algorithms by having a volunteer instruct
creating computational artifacts. “How Search a peer on how to leave the classroom. The peer must respond to
[P2] Works: From relatively low-level commands such as “stand,” “turn,” and “walk”
LO 1.2.1: Create a computational Algorithms but to ignore high-level commands such as “go to the door.” Students
artifact for creative expression. to Answers” generate an algorithm designed to guide their peer out of the
[P2] room. I present the Google Inside Search “How Search Works”
IntroComputing
site as an example of how algorithms are used to accomplish
LO 1.2.2: Create a computational .org
powerful computing tasks. Next, students choose images from
artifact using computing tools and
IntroComputing.org to manipulate. They create and implement
techniques to solve a problem. [P2]
algorithms for common image manipulations such as gray scale,
LO 1.2.3: Create a new reflections, and rotations. Each algorithm is analyzed during small-
computational artifact by group and whole-class discussions. Students also create new
combining or modifying existing algorithms that manipulate pixel patterns in unfamiliar ways.
artifacts. [P2]
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A, B, E; 1.2.2 A; 1.2.3 A;
LO 1.2.4: Collaborate in the creation 1.2.4 A, B, F; 1.2.5 A-D; 4.1.1 A-I; 4.1.2 A-I; 4.2.1 A-D
of computational artifacts. [P6]
LO 1.2.5: Analyze the correctness, Web Formative Assessment: Creating Algorithms to Manipulate Images ◀◀ Having students use
usability, functionality, and IntroComputing Students write code to modify existing images using algorithms they Piazza to post their code
suitability of computational .org create. They may use IntroComputing.org for examples if they wish. and a screenshot of their
artifacts. [P4] Piazza They post on Piazza their code and a screenshot of their images. manipulated images makes it
They then provide feedback to their peers as Piazza comments easier for me to review their
LO 4.1.1: Develop an algorithm for
and questions. work. It also helps their peers
implementation in a program. [P2]
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A, B, E; 1.2.2 A; 1.2.3 A;
to learn through commenting
LO 4.1.2: Express an algorithm in a and posting questions.
1.2.4 A, B, F; 1.2.5 A-D; 4.1.1 A-I; 4.1.2 A-I; 4.2.1 A-D
language. [P5]
LO 4.2.1: Explain the difference
between algorithms that run in a
reasonable time and those that do
not run in a reasonable time. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 30
EXPLORATION 4: EXPLORING ALGORITHMS Estimated Time: 10 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 4  Algorithms ▶▶EU 1.1, EU 1.2, EU 4.1, EU 4.2 ▶▶Creating Algorithms to Manipulate Images  ▶  Huffman
Coding Trees  ▶  Comparing Algorithms for Image File
Creation  ▶  Designing Algorithms for Map Creation

Guiding Questions
▶ ​What is an algorithm? ​▶ ​What are common algorithms used for digital image manipulation? ​▶ ​How can
algorithms be evaluated for correctness and efficiency? ​▶ ​How can messages be translated between multiple
representations? ​▶ ​How is map location data used to obtain practical information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


4.1.2: Express an algorithm in a Web Instructional Activity: Huffman Coding Trees
language. [P5] Mr. Kick, I introduce students to Huffman coding trees and the algorithms
4.2.4: Evaluate algorithms “Resources” associated with the creation and use of these binary trees through
analytically and empirically for videos created by my former students. I create coding trees using
efficiency, correctness, and clarity. specific input and discuss the correctness of those trees. Students
[P4] replicate the process and apply that process to new data. Later in
the course, during discussions about the transmission of information
over the Internet, students enjoy not only using the trees to send
messages that are generally not readable by the general public but
also creating the trees and encoding their own messages.
Essential knowledge addressed: 4.1.2 A-I; 4.2.4 B-C

Formative Assessment: Huffman Coding Trees ◀◀ Student work is assessed


I give students a frequency list for characters used to create through comparison of the
messages. They independently use the frequencies to create a student-created tree and the
Huffman coding tree. Students review the work of their partner by correct tree associated with
comparing the tree they create with the one their partner created. the given data. The number
Students discuss the similarities, differences, and correctness of of nodes generated should
the trees. match the original number of
Essential knowledge addressed: 4.1.2 A-I; 4.2.4 B-C
letters given in the problem.
High-frequency letters should
be higher in the tree than
low-frequency letters.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 31
EXPLORATION 4: EXPLORING ALGORITHMS Estimated Time: 10 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 4  Algorithms ▶▶EU 1.1, EU 1.2, EU 4.1, EU 4.2 ▶▶Creating Algorithms to Manipulate Images  ▶  Huffman
Coding Trees  ▶  Comparing Algorithms for Image File
Creation  ▶  Designing Algorithms for Map Creation

Guiding Questions
▶ ​What is an algorithm? ​▶ ​What are common algorithms used for digital image manipulation? ​▶ ​How can
algorithms be evaluated for correctness and efficiency? ​▶ ​How can messages be translated between multiple
representations? ​▶ ​How is map location data used to obtain practical information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 4.2.2: Explain the difference Web Instructional Activity: Comparing Algorithms for Image File Creation
between solvable and unsolvable Mr. Kick, I introduce students to an algorithm used by a previous student in
problems in computer science. [P1] “Resources” the course to generate an image file. I present a modified algorithm
LO 4.2.3: Explain the existence of that generates the same image file much more quickly. I then ask
undecidable problems in computer students to compare the two algorithms in terms of the number of
science. [P1] steps needed to complete each algorithm. Discussions related to
these and other algorithms lead students to an understanding of how
LO 4.2.4: Evaluate algorithms
to evaluate algorithms based on both correctness and efficiency.
analytically and empirically for
efficiency, correctness, and clarity. Essential knowledge addressed: 4.2.2 A-D; 4.2.3 A-C; 4.2.4 A-H
[P4]
Web Formative Assessment: Comparing Algorithms for Image File Creation ◀◀ Student choices are
Piazza I give students pairs of algorithms designed to accomplish the same anonymous among
task in the form of Piazza polls. I ask them to independently select the peers but categorized by
best and worst of the two algorithms in terms of readability, memory respondents when viewed
usage, and runtime efficiency. I allow students to view the results of by the instructor. Students
each poll after they submit their answers. Class discussions follow who consistently answer
after all students have entered their choices in the polls. I encourage correctly and post valuable
students to ask questions and contribute insights into why they insights into their reasoning
selected their choices. Summaries of the ideas discussed in class are score highest. Students who
entered as replies to the Piazza polls. make errors but discuss their
Essential knowledge addressed: 4.2.2 A-D; 4.2.3 A-C; 4.2.4 A-H
thinking and post corrections
in their thinking also score
highly. Students who post
incorrect answers and do not
post insights into appropriate
modifications in their
thinking score lowest.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 32
EXPLORATION 4: EXPLORING ALGORITHMS Estimated Time: 10 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 4  Algorithms ▶▶EU 1.1, EU 1.2, EU 4.1, EU 4.2 ▶▶Creating Algorithms to Manipulate Images  ▶  Huffman
Coding Trees  ▶  Comparing Algorithms for Image File
Creation  ▶  Designing Algorithms for Map Creation

Guiding Questions
▶ ​What is an algorithm? ​▶ ​What are common algorithms used for digital image manipulation? ​▶ ​How can
algorithms be evaluated for correctness and efficiency? ​▶ ​How can messages be translated between multiple
representations? ​▶ ​How is map location data used to obtain practical information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 4.2.2: Explain the difference Web Instructional Activity: Designing Algorithms for Map Creation
between solvable and unsolvable “Google Maps I show students the Google Maps JavaScript API. I then demonstrate
problems in computer science. [P1] JavaScript API” past student function implementations and discuss their code. The
LO 4.2.3: Explain the existence of JSFiddle examples include total distance traveled from a starting location to
undecidable problems in computer an ending location including a sequence of intermediate stopping
science. [P1] points, the centroid of a collection of locations, and the animated
display of a sequence of map locations. Students discuss in small
LO 4.2.4: Evaluate algorithms
groups, with each student speaking individually for 30 seconds,
analytically and empirically for
practical algorithms that they can implement using the API. Students
efficiency, correctness, and clarity.
implement the algorithms using JavaScript and the Google Maps
[P4]
API. They create the implementations using the JSFiddle website for
HTML and JavaScript programming.
Essential knowledge addressed: 4.2.2 A-D; 4.2.3 A-C; 4.2.4 A-H

Web Instructional Activity: Creating Map Websites ◀◀ I encourage students to


JSFiddle Students work in pairs in class to create websites on JSFiddle that comment on both general and
use the features of Google Maps to illustrate travels that they have technical details associated
experienced or would like to experience. Each student Web page with each website. Here I
created with JSFiddle is associated with a URL that can be shared am looking for the general
with anyone accessing the World Wide Web. It is popular for students effectiveness of the website
to illustrate family vacations or travels associated with family in presenting relevant
relocations. Students have also animated sequences of locations information, the complexity of
taken from movies that they have seen. The animations often include the algorithms implemented
text bubbles that provide insights into the movie plot corresponding in the site, and the readability
to the film locations. Students share their work with the entire class of the code and comments
at the end of the project by posting JSFiddle URLs on Piazza. used to implement the
Essential knowledge addressed: 4.2.2 A-D; 4.2.3 A-C; 4.2.4 A-H
algorithms.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 33
EXPLORATION 4: EXPLORING ALGORITHMS Estimated Time: 10 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 4  Algorithms ▶▶EU 1.1, EU 1.2, EU 4.1, EU 4.2 ▶▶Creating Algorithms to Manipulate Images  ▶  Huffman
Coding Trees  ▶  Comparing Algorithms for Image File
Creation  ▶  Designing Algorithms for Map Creation

Guiding Questions
▶ ​What is an algorithm? ​▶ ​What are common algorithms used for digital image manipulation? ​▶ ​How can
algorithms be evaluated for correctness and efficiency? ​▶ ​How can messages be translated between multiple
representations? ​▶ ​How is map location data used to obtain practical information?

Learning Objectives Materials Instructional Activities and Classroom Assessments


All of the learning objectives from Web Summative Assessment: Exploring Algorithms ◀◀ This summative assessment
this exploration are addressed. Google Forms Students are given questions in a Google Form that are related to addresses all of the guiding
algorithms and their creation and use. They submit their answers to questions for this exploration.
these multiple-choice and free-response questions to me within
the form.
All of the exploration’s essential knowledge statements are addressed.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 34
EXPLORATION 5: PROBLEM SOLVING WITH PROGRAMMING Estimated Time: 20 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.2, EU 5.3, EU 5.4, EU 5.5 ▶▶Baby Name Analysis  ▶  Mad Libs 
▶  Using Maps for Problem Solving

Guiding Questions
▶ ​How can programming be used to process data and obtain new information and knowledge? ​▶ ​How can programs
process user input to create amusing results? ​▶ ​How can the Google Maps API be used to generate maps and solve
map-related questions?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.2.1: Develop an abstraction Web Instructional Activity: Baby Name Analysis ◀◀ Students enjoy exploring
when writing a program or JSFiddle Students independently write JavaScript code to answer the names that are meaningful
creating other computational IntroComputing questions posed about baby names (from the Social Security to them — usually family
artifacts. [P2] .org, “Table Administration database) in the “Table Data” section of names or names of their
LO 2.2.2: Use multiple levels of Data” IntroComputing.org. They also pose name-related questions and friends. Exploring changes in
abstraction to write programs. [P3] answer their own questions and the questions of their peers using the rankings of those names
“Top 10 Baby
JavaScript programming. This programming uses JSFiddle or text over decades is particularly
LO 2.2.3: Identify multiple levels Names for
files that are loaded into a Web browser. Students who need to appealing to most students.
of abstractions being used when 2014”
refresh their memory of JavaScript syntax and functionality may use
writing programs. [P3] W3Schools, the W3Schools website’s “HTML” tutorial. Students are required to
LO 5.1.1: Develop a program for “HTML” explain — in small peer groups and in their weekly journal, using
creative expression, to satisfy appropriate terminology and various levels of abstractions — how
personal curiosity, or to create new they solved the problems.
knowledge. [P2]
Essential knowledge addressed: 2.2.1 A-C; 2.2.2 A, B; 2.2.3 K; 5.1.1 A-F;
LO 5.1.2: Develop a correct program 5.1.2 A-J; 5.1.3 A-F; 5.2.1 A-K; 5.3.1 A-N; 5.4.1 A-O; 5.5.1 E-J
to solve problems. [P2]
LO 5.1.3: Collaborate to develop a
program. [P6]
LO 5.2.1: Explain how programs
implement algorithms. [P3]
LO 5.3.1: Use abstraction to manage
complexity in programs. [P3]
LO 5.4.1: Evaluate the correctness
of a program. [P4]
LO 5.5.1: Employ appropriate
mathematical and logical concepts
in programming. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 35
EXPLORATION 5: PROBLEM SOLVING WITH PROGRAMMING Estimated Time: 20 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.2, EU 5.3, EU 5.4, EU 5.5 ▶▶Baby Name Analysis  ▶  Mad Libs 
▶  Using Maps for Problem Solving

Guiding Questions
▶ ​How can programming be used to process data and obtain new information and knowledge? ​▶ ​How can programs
process user input to create amusing results? ​▶ ​How can the Google Maps API be used to generate maps and solve
map-related questions?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.2.1: Develop an abstraction Web Formative Assessment: Problem Solving Through Programming ◀◀ Students present the problem
when writing a program or Google Docs Students work in pairs to write programs that solve problems of their choice and their
creating other computational journals posed on IntroComputing.org. They write all the solutions for these programming solution to their
artifacts. [P2] IntroComputing problems in the text areas provided within the site. Students also peers and in their weekly
LO 2.2.2: Use multiple levels of .org must pose problems to be solved by their table partners. Students are journals. It is important to
abstraction to write programs. [P3] allowed to write code that solves problems posed by their peers using emphasize to students that
JSFiddle
JSFiddle or simple text files that are loaded into the Web browser. JavaScript is run within
LO 2.2.3: Identify multiple levels
Essential knowledge addressed: 2.2.1 A-C; 2.2.2 A, B; 2.2.3 K; 5.1.1 A-F;
a Web browser. Sites like
of abstractions being used when
5.1.2 A-J; 5.1.3 A-F; 5.2.1 A-K; 5.3.1 A-N; 5.4.1 A-O; 5.5.1 E-J IntroComputing.org and
writing programs. [P3]
JSFiddle provide relatively
LO 5.1.1: Develop a program for easy, low-overhead methods
creative expression, to satisfy for entering and running
personal curiosity, or to create new the code. JavaScript code
knowledge. [P2] also can be written in text
LO 5.1.2: Develop a correct program files that are formatted as
to solve problems. [P2] HTML files with embedded
LO 5.1.3: Collaborate to develop a JavaScript.
program. [P6]
LO 5.2.1: Explain how programs
implement algorithms. [P3]
LO 5.3.1: Use abstraction to manage
complexity in programs. [P3]
LO 5.4.1: Evaluate the correctness
of a program. [P4]
LO 5.5.1: Employ appropriate
mathematical and logical concepts
in programming. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 36
EXPLORATION 5: PROBLEM SOLVING WITH PROGRAMMING Estimated Time: 20 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.2, EU 5.3, EU 5.4, EU 5.5 ▶▶Baby Name Analysis  ▶  Mad Libs 
▶  Using Maps for Problem Solving

Guiding Questions
▶ ​How can programming be used to process data and obtain new information and knowledge? ​▶ ​How can programs
process user input to create amusing results? ​▶ ​How can the Google Maps API be used to generate maps and solve
map-related questions?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.2.1: Develop an abstraction Web Instructional Activity: Mad Libs
when writing a program or JSFiddle Students work in groups of four and create a story about a topic
creating other computational Piazza of interest. They then must create a Web page for the story that
artifacts. [P2] contains images, colors, and general setting descriptions of their
LO 2.2.2: Use multiple levels of choosing. They must include input devices (e.g., text box, text area,
abstraction to write programs. [P3] checkbox, radio button, pull-down menu) through which users will
input nouns and verbs to be used in the story as determined by the
LO 5.1.1: Develop a program for
group. Students brainstorm about how to divide the programming
creative expression, to satisfy
task among the group in order to use the strengths of each individual.
personal curiosity, or to create new
They must write a JavaScript program within the Web page that
knowledge. [P2]
uses input from the page to determine the final details of their story.
LO 5.1.2: Develop a correct program Stories are shared using JSFiddle URLs posted on Piazza.
to solve problems. [P2]
Essential knowledge addressed: 2.2.1 A-C; 2.2.2 A-B; 5.1.1 A-F; 5.1.2 A-J;
LO 5.1.3: Collaborate to develop a 5.1.3 A-F; 5.2.1 A-K; 5.3.1 A-O; 5.4.1 A-N; 5.5.1 E-J
program. [P6]
LO 5.2.1: Explain how programs
implement algorithms. [P3]
LO 5.3.1: Use abstraction to manage
complexity in programs. [P3]
LO 5.4.1: Evaluate the correctness
of a program. [P4]
LO 5.5.1: Employ appropriate
mathematical and logical concepts
in programming. [P1]

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 37
EXPLORATION 5: PROBLEM SOLVING WITH PROGRAMMING Estimated Time: 20 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.2, EU 5.3, EU 5.4, EU 5.5 ▶▶Baby Name Analysis  ▶  Mad Libs 
▶  Using Maps for Problem Solving

Guiding Questions
▶ ​How can programming be used to process data and obtain new information and knowledge? ​▶ ​How can programs
process user input to create amusing results? ​▶ ​How can the Google Maps API be used to generate maps and solve
map-related questions?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.2.1: Develop an abstraction Web Formative Assessment: Using User Input ◀◀ Students share their Web
when writing a program or JSFiddle I give students, who are working in pairs, sets of input and ask them pages with me using
creating other computational to write JavaScript code that processes the input and produces the JSFiddle.
artifacts. [P2] desired output. For example, numerical data in the form of coordinate
LO 2.2.2: Use multiple levels of pairs may be used for computations such as distances between
abstraction to write programs. [P3] points. String data may be used for alphabetical comparisons or word
searches. Tag data in the form of text may be used for Web page
LO 5.1.1: Develop a program for
output formatting. All data is input through the use of Web page
creative expression, to satisfy
input elements, processed using JavaScript, and output in the form of
personal curiosity, or to create new
Web page content.
knowledge. [P2]
Essential knowledge addressed: 2.2.1 A-C; 2.2.2 A-B; 5.1.1 A-F; 5.1.2 A-J;
LO 5.1.2: Develop a correct program
5.1.3 A-F; 5.2.1 A-K; 5.3.1 A-O; 5.4.1 A-N; 5.5.1 E-J
to solve problems. [P2]
LO 5.1.3: Collaborate to develop a Web Instructional Activity: Using Maps for Problem Solving ◀◀ Input devices in the Web page
program. [P6] “Google Maps I introduce a sample Web page that includes a JavaScript program should include text box, text
LO 5.2.1: Explain how programs JavaScript API” that allows for user input and displays output in the form of map area, checkbox, radio button,
implement algorithms. [P3] JSFiddle data. One portion of the page allows the user to enter addresses, pull-down menu, and so on.
one per line of text. Clicking the submit button runs the JavaScript Some ways students can
LO 5.3.1: Use abstraction to manage
program that processes the addresses, generates map coordinates, manipulate the map are by
complexity in programs. [P3]
and plots markers on the map at each address. In pairs, students adding graphics, computing
LO 5.4.1: Evaluate the correctness create a Web page that contains a map displaying a region of interest. distances between locations,
of a program. [P4] The page includes input devices that allow the user to enter data and estimating travel times
LO 5.5.1: Employ appropriate associated with map manipulations. Each student writes a JavaScript between those locations.
mathematical and logical concepts program within the Web page that uses input to manipulate the map
in programming. [P1] in creative ways. Web pages are shared with the class using JSFiddle.
Essential knowledge addressed: 2.2.1 A-C; 2.2.2 A-B; 5.1.1 A-F; 5.1.2 A-J;
5.1.3 A-F; 5.2.1 A-K; 5.3.1 A-O; 5.4.1 A-N; 5.5.1 E-J

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 38
EXPLORATION 5: PROBLEM SOLVING WITH PROGRAMMING Estimated Time: 20 Hours
BIG IDEA 2  Abstraction Essential Understandings: Projects and Major Assignments:
BIG IDEA 5  Programming ▶▶EU 2.2, EU 5.1, EU 5.2, EU 5.3, EU 5.4, EU 5.5 ▶▶Baby Name Analysis  ▶  Mad Libs 
▶  Using Maps for Problem Solving

Guiding Questions
▶ ​How can programming be used to process data and obtain new information and knowledge? ​▶ ​How can programs
process user input to create amusing results? ​▶ ​How can the Google Maps API be used to generate maps and solve
map-related questions?

Learning Objectives Materials Instructional Activities and Classroom Assessments


All of the learning objectives from Web Summative Assessment: Problem Solving With Programming ◀◀ This summative assessment
this exploration are addressed. Google Forms I give students a set of data (such as data from IntroComputing addresses all of the guiding
IntroComputing .org) and questions about that data. They must individually write questions for this exploration.
.org programs that answer the given questions by effectively processing
the various forms of data provided. Their code must be appropriately
commented and accompanied by a general explanation of how the
program accomplished its tasks. Students work on the programming
problems using the programming tools of their choice. They write
code that answers the given questions and then submit their answer
using a Google Form. Students must also select one well-commented
program that solves one of the given problems and submit the code
for that program as text in the same Google Form.
All of the exploration’s essential knowledge statements are addressed.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 39
EXPLORATION 6: GUIDED INTERNET EXPLORATIONS Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 2.1, EU, 2.2, EU 2.3, EU 6.1, EU 6.2, ▶▶Simulating Internet Communications 
BIG IDEA 6  The Internet EU 6.3 ▶  Understanding the Internet 
▶  The Hardware and Binary Connection 
▶  Creating Videos Explaining Characteristics of the Internet

Guiding Questions
▶ ​How does communication over the Internet occur? ​▶ ​What resources are available for better understanding the
Internet? ​
▶ ​What are the hardware components associated with the Internet and its functionality? ​▶ ​What are the
characteristics of the Internet that make it so powerful and flexible?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.1.1: Describe the variety of Web Instructional Activity: Simulating Internet Communications ◀◀ To explain the historical
abstractions used to represent Piazza I ask students to search YouTube using the keywords Huffman need for efficient message
data. [P3] YouTube coding tree encoding and to select videos that effectively present representations in binary
LO 2.1.2: Explain how binary encoding and decoding using Huffman coding trees. Each group code, I present an Apple
sequences are used to represent posts the URL of its video choice on Piazza. I build a Huffman coding II1 computer with 64KB
digital data. [P5] tree based on sample letter frequencies from instructor- and student- of RAM. I share stories of
generated messages. I translate the messages into binary form current software engineers
LO 2.3.1: Use models and
using large (1) and small (0) paper clips linked together in fixed- who create compression
simulations to represent
length packets. I label the packets with destination information that schemes to more rapidly store
phenomena. [P3]
ensures reassembly after transmission. Packets are passed through and transmit the content
LO 2.3.2: Use models and student “routers,” who receive packets and pass them toward their of chips during program
simulations to formulate, refine, destination. Packets are reassembled at the message destination and failure. Be sure to emphasize
and test hypotheses. [P3] translated from binary to the original message form. Students enjoy that Huffman coding is not
LO 6.1.1: Explain the abstractions in sending “secret messages” to their peers. cryptography but that it
the Internet and how the Internet Essential knowledge addressed: 2.1.1 A-E; 2.1.2 D-F; 2.3.1 A-D; 2.3.2 A-H;
can be used to obscure the
functions. [P3] 6.1.1 A-I; 6.2.1 A-D meaning of messages for the
LO 6.2.1: Explain characteristics of general public.
the Internet and the systems built
on it. [P5]

Web Formative Assessment: Simulating Internet Communications ◀◀ The student journals must
Google Docs Students work in small table groups to create their own messages. include an example of a
journals They create, on paper, a Huffman coding tree for their messages message that was sent, the
using the character frequencies for all of their messages combined. tree used for encoding and
Each group uses its tree to encode its message into binary form, decoding, and a summary of
breaks the messages into packets, and sends its packets through the difficulties and successes
designated “routers” to an intended destination. If the receiving experienced during the
group, when given the coding tree, decodes the message, the entire process.
transmission is considered a success. Students summarize their
experiences in their weekly journal on Google Docs, where I can
review and provide feedback as needed.
Essential knowledge addressed: 2.1.1 A-E; 2.1.2 D-F; 2.3.1 A-D; 2.3.2 A-H;
6.1.1 A-I; 6.2.1 A-D

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 40
EXPLORATION 6: GUIDED INTERNET EXPLORATIONS Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 2.1, EU, 2.2, EU 2.3, EU 6.1, EU 6.2, ▶▶Simulating Internet Communications 
BIG IDEA 6  The Internet EU 6.3 ▶  Understanding the Internet 
▶  The Hardware and Binary Connection 
▶  Creating Videos Explaining Characteristics of the Internet

Guiding Questions
▶ ​How does communication over the Internet occur? ​▶ ​What resources are available for better understanding the
Internet? ​
▶ ​What are the hardware components associated with the Internet and its functionality? ​▶ ​What are the
characteristics of the Internet that make it so powerful and flexible?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 6.1.1: Explain the abstractions in Print Instructional Activity: Understanding the Internet ◀◀ I monitor the posts and
the Internet and how the Internet Abelson, I post URLs associated with different iterations of the school website contribute to the process
functions. [P3] Ledeen, and over time on Piazza. I encourage students to view the history of as needed. I add important
LO 6.2.1: Explain characteristics of Lewis, chapter the site and consider the persistent nature of data on the Internet. questions that are not asked
the Internet and the systems built 7 and Appendix Students gather in table groups and generate a set of questions by students to Piazza as
on it. [P5] Web per table that they have about the Internet. Each table posts its well. Generally, students do
Internet questions on Piazza (one post per unique question). Students use very well at obtaining and
LO 6.2.2: Explain how the
Archive Way the Internet, chapter 7 and the appendix of Blown to Bits, and the summarizing answers to
characteristics of the Internet
Back Machine, resources listed on my course website to research the answers the questions posted by
influence the systems built on it.
“Newbury Park to their peers’ questions. Each table discusses and posts its best their peers.
[P4]
High School” responses. Students respond to one another’s comments, refining the
LO 6.3.1: Identify existing Archives answers and eventually resulting in fairly accurate responses to the
cybersecurity concerns and original questions.
potential options that address “Resources,”
these issues with the Internet and Mr. Kick Essential knowledge addressed: 6.1.1 A-I; 6.2.1 A-D; 6.2.2 A-K; 6.3.1 A-M
the systems built on it. [P1]

LO 2.2.3: Identify multiple levels of Web Instructional Activity: The Hardware and Binary Connection
abstractions that are used when IntroComputing Students read the “Computer Hardware” page on IntroComputing.
writing programs. [P3] .org, “Computer org and explore the concepts (e.g., hardware, chip, CPU, transistor)
Hardware” and images (pictures of hardware) presented while examining
American actual hardware in the classroom (I use an Apple II1 computer).
Computer Students discuss the topics in table groups and answer questions
Science about the hardware I present to them. I introduce competition-style
League, questions similar to those found on the “Sample Problems” page on
“Sample the American Computer Science League site on the topics of Boolean
Problems” algebra and logic gates. Sample problems are presented, discussed,
and solved in large groups, small groups, and individually. Students
make connections between the hardware used to create computing
technology and binary systems.
Essential knowledge addressed: 2.2.3 E-K

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 41
EXPLORATION 6: GUIDED INTERNET EXPLORATIONS Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 2.1, EU, 2.2, EU 2.3, EU 6.1, EU 6.2, ▶▶Simulating Internet Communications 
BIG IDEA 6  The Internet EU 6.3 ▶  Understanding the Internet 
▶  The Hardware and Binary Connection 
▶  Creating Videos Explaining Characteristics of the Internet

Guiding Questions
▶ ​How does communication over the Internet occur? ​▶ ​What resources are available for better understanding the
Internet? ​
▶ ​What are the hardware components associated with the Internet and its functionality? ​▶ ​What are the
characteristics of the Internet that make it so powerful and flexible?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 2.2.3: Identify multiple levels of Web Formative Assessment: The Hardware and Binary Connection ◀◀ I facilitate games in which
abstractions that are used when Google Docs Students summarize the concepts related to logic gates and binary students work together in
writing programs. [P3] journals representations on Piazza in small- and large-group discussions and small teams to respond to
Piazza in their weekly journal. They also answer competition-style questions Boolean algebra and logic
associated with Boolean algebra and logic gates. gate questions.
Essential knowledge addressed: 2.2.3 E-K

LO 1.1.1: Apply a creative Web Instructional Activity: Creating Videos Explaining Characteristics ◀◀ Effective collaboration
development process when Piazza of the Internet is essential for success in
creating computational artifacts. I list the major characteristics of the Internet on the board this project. I may make
[P2] (hierarchical, redundant, fault tolerant, standardized through adjustments in team numbers
LO 1.2.1: Create a computational
protocols, packet-switched, and scalable), and students vote using after initial voting takes
artifact for creative expression. a Piazza poll for the characteristic that is most interesting to them. place to ensure equity in the
[P2] After participating in the poll, students move to a location in the workload for each student.
room designated as representing the characteristic they selected and Video production done well
LO 1.2.2: Create a computational divide into teams. I instruct students to create a video of no longer is a big job and requires
artifact using computing tools and than one minute that illustrates the characteristic of the Internet planning, scripting, staging,
techniques to solve a problem. [P2] that they voted for. When each team has completed its video, I (or a video capturing, editing,
LO 1.2.3: Create a new student volunteer) edit all submissions into a single video illustrating sound management, and so
computational artifact by the major characteristics of the Internet. on. Each of these tasks can
combining or modifying existing be a large job. Encourage
Essential knowledge addressed: 1.1.1 A, B; 1.2.1 A, B, E; 1.2.2 A; 1.2.3 A;
artifacts. [P2] 1.2.4 A, B, F students to divide up the
LO 1.2.4: Collaborate in the creation work when possible to ensure
of computational artifacts. [P6] higher-quality work in a
relatively short time.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 42
EXPLORATION 6: GUIDED INTERNET EXPLORATIONS Estimated Time: 15 Hours
BIG IDEA 1  Creativity Essential Understandings: Projects and Major Assignments:
BIG IDEA 2  Abstraction ▶▶EU 1.1, EU 1.2, EU 2.1, EU, 2.2, EU 2.3, EU 6.1, EU 6.2, ▶▶Simulating Internet Communications 
BIG IDEA 6  The Internet EU 6.3 ▶  Understanding the Internet 
▶  The Hardware and Binary Connection 
▶  Creating Videos Explaining Characteristics of the Internet

Guiding Questions
▶ ​How does communication over the Internet occur? ​▶ ​What resources are available for better understanding the
Internet? ​
▶ ​What are the hardware components associated with the Internet and its functionality? ​▶ ​What are the
characteristics of the Internet that make it so powerful and flexible?

Learning Objectives Materials Instructional Activities and Classroom Assessments


All of the learning objectives from Web Summative Assessment: Guided Internet Explorations ◀◀ This summative assessment
this exploration are addressed. Google Forms I give students questions related to the Internet in the form of addresses all of the guiding
multiple-choice and free-response questions using Google Forms. questions for this exploration.
Students submit their answers, which I accumulate into a single
spreadsheet for relatively quick assessment. Students are not only
able to take an online assessment about the Internet using the
Internet, but they also see the power of the Internet for effective
dissemination of information, accumulation of responses from
relatively large numbers of people, and rapid assessment of those
responses through programming.
All of the exploration’s essential knowledge statements are addressed.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 43
EXPLORATION 7: IDENTIFYING INNOVATIONS Estimated Time: 20 Hours
BIG IDEA 7  Global Impact Essential Understandings: Projects and Major Assignments:
▶▶EU 7.1, EU 7.2, EU 7.3, EU 7.4, EU 7.5 ▶▶Identifying and Summarizing Articles About Computing
Innovations and Impacts  ▶  Wharton Top 30 Innovations
List  ▶  Debating the Beneficial and Harmful Impacts of Computing
on Our Society

Guiding Questions
▶ ​What computing innovations have the greatest impact on your life? ​▶ ​What recent computing innovations are on
the Wharton Top 30 Innovations list? ​▶ ​What are the beneficial and harmful effects of computing on your life?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 7.1.1: Explain how computing Web Instructional Activity: Identifying and Summarizing Articles About Computing ◀◀ ACM TechNews is a constant
innovations affect communication, ACM Innovations and Impacts source of new information
interaction, and cognition. [P4] TechNews Students go to ACM TechNews and select one article that identifies and cutting-edge innovations
LO 7.1.2: Explain how people Piazza a computing innovation that affects or has the potential to affect our being explored and developed
participate in a problem-solving society. They then write a summary of the article on Piazza and are by computer scientists today.
Mr. Kick, given an opportunity to verbally share their insights with their table
process that scales. [P4] Whereas students have
“Resources” partners and the entire class. Their summary must include a clear previously read articles in this
LO 7.2.1: Explain how computing statement of how the innovation functions, how it is used and by course based on their general
has impacted innovations in other whom or what, and how it affects people and society (both beneficial interests, their previous
fields. [P1] and harmful impacts). Students post their summaries to Piazza. experiences now allow them
LO 7.3.1: Analyze the beneficial and to be more selective in their
Essential knowledge addressed: 7.1.1 A-I, M-O; 7.1.2 A-G; 7.2.1 A-D;
harmful effects of computing. [P4] 7.3.1 A-C, E, G, J, M-O; 7.4.1 A-D; 7.5.1 A-C; 7.5.2 A, B choices of articles.
LO 7.4.1: Explain the connections
between computing and real- Web Formative Assessment: Discussing and Summarizing Ideas from Readings ◀◀ Writing about innovations
world contexts, including Piazza Students read the innovation article summary written by a classmate described in ACM TechNews
economic, social, and cultural whom I randomly selected as their partner. They must ask the helps prepare students
contexts. [P1] summary author clarifying questions about the innovation. They then to successfully complete
LO 7.5.1: Access, manage, and
write the insights gained through their questioning and discussions the Explore — Impact of
attribute information using as a response to the original article summary posted on Piazza. Computing Innovations
effective strategies. [P1] Essential knowledge addressed: 7.1.1 A-I, M-O; 7.1.2 A-G; 7.2.1 A-D;
Performance Task. Having
7.3.1 A-C, E, G, J, M-O; 7.4.1 A-D; 7.5.1 A-C; 7.5.2 A, B the opportunity to question
LO 7.5.2: Evaluate online and print
another student about his
sources for appropriateness and or her article summary helps
credibility. [P5] both students improve the
quality of their writing and
expand the level of detail
provided in their writing.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 44
EXPLORATION 7: IDENTIFYING INNOVATIONS Estimated Time: 20 Hours
BIG IDEA 7  Global Impact Essential Understandings: Projects and Major Assignments:
▶▶EU 7.1, EU 7.2, EU 7.3, EU 7.4, EU 7.5 ▶▶Identifying and Summarizing Articles About Computing
Innovations and Impacts  ▶  Wharton Top 30 Innovations
List  ▶  Debating the Beneficial and Harmful Impacts of Computing
on Our Society

Guiding Questions
▶ ​What computing innovations have the greatest impact on your life? ​▶ ​What recent computing innovations are on
the Wharton Top 30 Innovations list? ​▶ ​What are the beneficial and harmful effects of computing on your life?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 7.1.1: Explain how computing Web Instructional Activity: Wharton Top 30 Innovations List
innovations affect communication, Piazza I give students time to read, in pairs, the list of the top 30 innovations
interaction, and cognition. [P4] “A World from Wharton and to select two computing innovations that most
LO 7.2.1: Explain how computing Transformed: interest them. Students then write a technical summary, as a Piazza
has impacted innovations in other What Are post, of how computing is related to those innovations. Finally, I
fields. [P1] the Top 30 give students an opportunity to share their insights with their table
Innovations partners and the entire class.
LO 7.5.1: Access, manage, and
attribute information using of the Last Essential knowledge addressed: 7.1.1 A-I, L-N; 7.2.1 A-C; 7.5.1 A-C; 7.5.2 A, B
effective strategies. [P1] 30 Years?”
LO 7.5.2: Evaluate online and print Web Formative Assessment: Wharton Top 30 Innovations List ◀◀ Technical summaries
sources for appropriateness and Google Docs Students summarize the technical aspects of a commonly known associated with computing
credibility. [P5] computing innovation that I select for them. I provide class time for are usually relatively difficult
students to research the computing innovation in small table groups. for students to write.
They then create a collaborative summary of the technical aspects of Emphasize to students that
the computing innovation through the use of Google Docs. Each table they should share their
presents its summary to the rest of the class. Peers are encouraged writing and use questions
to ask questions to help students provide details that they omitted in about their writing from their
their initial summary. peers as an opportunity to
Essential knowledge addressed: 7.1.1 A-I, L-N; 7.2.1 A-C; 7.5.1 A-C; 7.5.2 A, B
make revisions, correct errors,
and clarify ambiguities.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 45
EXPLORATION 7: IDENTIFYING INNOVATIONS Estimated Time: 20 Hours
BIG IDEA 7  Global Impact Essential Understandings: Projects and Major Assignments:
▶▶EU 7.1, EU 7.2, EU 7.3, EU 7.4, EU 7.5 ▶▶Identifying and Summarizing Articles About Computing
Innovations and Impacts  ▶  Wharton Top 30 Innovations
List  ▶  Debating the Beneficial and Harmful Impacts of Computing
on Our Society

Guiding Questions
▶ ​What computing innovations have the greatest impact on your life? ​▶ ​What recent computing innovations are on
the Wharton Top 30 Innovations list? ​▶ ​What are the beneficial and harmful effects of computing on your life?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 7.1.1: Explain how computing Instructional Activity: Debating the Beneficial and Harmful Impacts of ◀◀ Students traditionally enjoy
innovations affect communication, Computing on Our Society this activity. It gives them the
interaction, and cognition. [P4] I ask students to stand and move to a portion of the room that opportunity to express their
LO 7.1.2: Explain how people
indicates whether they believe computing has provided more benefits opinions and logically support
participate in a problem-solving to society than harm. Another portion of the room is designated for them with evidence. Students
process that scales. [P4] students who disagree. I conduct a question-and-answer session that learn from their individual
helps shift students to balance groups, if needed. I then give students research but also from the
LO 7.2.1: Explain how computing time in class to collaborate with their group, plan arguments for their research and discussions with
has impacted innovations in other side, and debate the topic. I record the debate and make a video that their peers.
fields. [P1] summarizes it. Students earn extra credit by volunteering to edit
LO 7.3.1: Analyze the beneficial and the video.
harmful effects of computing. [P4]
Essential knowledge addressed: 7.1.1 A-O; 7.1.2 A-G; 7.2.1 A-G; 7.3.1 A-Q;
LO 7.4.1: Explain the connections 7.4.1 A-E; 7.5.1 A-C; 7.5.2 A, B
between computing and real-
world contexts, including Web Formative Assessment: Debating the Beneficial and Harmful Impacts of ◀◀ The process of summarizing
economic, social, and cultural Google Docs Computing on Our Society their perspectives in their
contexts. [P1] journals Students summarize in their journals their perspectives about the journal helps students
computing debate after they have listened to all arguments that better understand their own
LO 7.5.1: Access, manage, and
were made. They must include a summary of their position before thinking. Often, they are
attribute information using
the debate, a list of points made during the debate that most affected not fully aware of their own
effective strategies. [P1]
their perspective, and a summary of their position after the conclusion opinions until they have to
LO 7.5.2: Evaluate online and print of the debate. take a side and write about
sources for appropriateness and their reasoning.
Essential knowledge addressed: 7.1.1 A-O; 7.1.2 A-G; 7.2.1 A-G; 7.3.1 A-Q;
credibility. [P5]
7.4.1 A-E; 7.5.1 A-C; 7.5.2 A, B

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 46
EXPLORATION 7: IDENTIFYING INNOVATIONS Estimated Time: 20 Hours
BIG IDEA 7  Global Impact Essential Understandings: Projects and Major Assignments:
▶▶EU 7.1, EU 7.2, EU 7.3, EU 7.4, EU 7.5 ▶▶Identifying and Summarizing Articles About Computing
Innovations and Impacts  ▶  Wharton Top 30 Innovations
List  ▶  Debating the Beneficial and Harmful Impacts of Computing
on Our Society

Guiding Questions
▶ ​What computing innovations have the greatest impact on your life? ​▶ ​What recent computing innovations are on
the Wharton Top 30 Innovations list? ​▶ ​What are the beneficial and harmful effects of computing on your life?

Learning Objectives Materials Instructional Activities and Classroom Assessments


LO 7.1.1: Explain how computing Print Instructional Activity: Reading and Discussing the Conclusion to Blown to Bits
innovations affect communication, Abelson, I assign the conclusion to Blown to Bits as an in-class reading
interaction, and cognition. [P4] Ledeen, assignment. I ask each table to identify the technologies and social
LO 7.1.2: Explain how people and Lewis, settings mentioned in the text and to use that information to write,
participate in a problem-solving Conclusion in a shared Google Doc, the time period in which the book was
process that scales. [P4] Web researched and written. In that same Google Doc, students should
Google Docs list technologies and settings that might have been used if the book
LO 7.2.1: Explain how computing
had been written today. Each group presents one of the technologies
has impacted innovations in other
it listed and one of the social settings it identified. Groups take turns
fields. [P1]
sharing their ideas until all groups have been able to share all of the
LO 7.3.1: Analyze the beneficial and technologies and social settings they have identified.
harmful effects of computing. [P4]
Essential knowledge addressed: 7.1.1 A-O; 7.1.2 A-G; 7.2.1 A-G; 7.3.1 A-Q;
LO 7.5.1: Access, manage, and 7.5.1 A-C; 7.5.2 A, B
attribute information using
effective strategies. [P1]
LO 7.5.2: Evaluate online and print
sources for appropriateness and
credibility. [P5]

All of the learning objectives from Web Summative Assessment: Identifying Innovations ◀◀ This summative assessment
this exploration are addressed. Google Forms I give students questions in a Google Form that are related to addresses all of the guiding
innovations and how they are connected to people and society. questions for this exploration.
Students submit their answers to these multiple-choice and free-
response questions to me within the form.
All of the exploration’s essential knowledge statements are addressed.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 47
AP Performance Task ESTIMATED TIME: 8 hours

Explore – Impact of Computing Innovations


Students complete the Explore – Impact of Computing Innovations Performance Task toward the end of the
second semester of the course. They have already debated the effects of computing on society and have written
several entries about the impact of computing as related to personally interesting topics. They have received
both informal and formal feedback from the instructor and their peers on their writing and its effectiveness in
conveying their ideas on these topics. All of the exploration themes have been at least partially completed at this
time in the course. Students are ready to individually complete the performance task at this time.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 48
AP Performance Task ESTIMATED TIME: 12 hours

Create – Applications from Ideas


Students complete the Create – Applications from Ideas Performance Task as their final task in the course
before taking the AP Computer Science Principles Exam. At this point in the course, students are thoroughly
familiar with JavaScript programming. They generally receive very positive feedback on their efforts at
producing computational art for the all-school art show, and they are highly motivated to continue the creation of
personally relevant artifacts. They have collaboratively worked almost an entire school year with their peers.
At this stage in the course, they are comfortable creating and summarizing their work with partners.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 49
Resources All links to online resources were verified before publication. In cases where links are no longer
working, we suggest that you try to find the resource by doing a keyword Web search.

General Resources Exploration 2 (Identifying and Using Abstractions)


Abelson, Hal, Ken Ledeen, and Harry Lewis. Blown to Bits: Your Life, Liberty, and Resources
Happiness After the Digital Explosion. New York: Addison-Wesley, 2008. Accessed “The Art of Abstraction – Computerphile.” Computerphile. YouTube. Video, 5:21.
June 15, 2015. http://www.bitsbook.com. Accessed July 8, 2015. https://www.youtube.com/watch?v=p7nGcY73epw.
ACM TechNews. Accessed July 14, 2015. http://technews.acm.org. “YouTube Data API: JavaScript Code Samples.” Google Developers. Accessed July 14,
Fathom Dynamic Data Software. Accessed July 22, 2015. http://fathom.concord.org. 2015. https://developers.google.com/youtube/v3/code_samples/javascript.

Google Docs. Accessed July 14, 2015. https://docs.google.com.


Google Forms. Accessed July 14, 2015. https://www.google.com/forms/about.
Exploration 3 (Using Data) Resources
Google Drive. Accessed July 14, 2015. https://drive.google.com.
“Google Maps JavaScript API.” Google Developers. Accessed July 20, 2015.
https://developers.google.com/maps/documentation/javascript/examples.
Exploration 4 (Exploring Algorithms) Resources
IntroComputing.org. Accessed July 14, 2015. http://introcomputing.org.
“Algorithms.” Google Inside Search. Accessed July 14, 2015. http://www.google.com/
JSFiddle. Accessed July 28, 2015. http://JSFiddle.net. insidesearch/howsearchworks/algorithms.html.
Kick, Richard. “Webpage Programming with JavaScript.” Accessed July 22, 2015. “How Search Works: From Algorithms to Answers” Google Inside Search. Accessed
http://kickstyle.net/~rkick/courses/apcs/principles. July 14, 2015. http://www.google.com/insidesearch/howsearchworks/thestory/
Piazza. Accessed July 14, 2015. http://piazza.com. index.html.
“Resources.” Mr. Kick. Accessed July 14, 2015. https://sites.google.com/site/
nphsrkick/Home/csprinciples/resources. Exploration 5 (Problem Solving with Programming)
Resources
Exploration 1 (Creativity and Computing) Resources “HTML.” W3Schools. Accessed July 15, 2015. http://www.w3schools.com.
Paul, Jody, Rich Kick, and Paul Tymann. “AP CSP Curriculum Module — Creativity and “Table Data.” IntroComputing.org. Accessed July 14, 2015.
Global Impact.” College Board. Accessed September 22, 2015. http://introcomputing.org.
https://apcommunity.collegeboard.org/group/csprinciples/resource-
“Top 10 Baby Names for 2014.” Social Security Administration. Accessed July 15, 2015.
details?p_p_id=contentItem_WAR_aptccontentitemportlet&p_p_
http://www.ssa.gov/oact/babynames.
lifecycle=0&p_p_col_id=column-1&p_p_col_count=1&p_r_p_1243656882_
resourceId=47534342&pageQueryString=p_l_id%3D44665487%26p_v_l_s_g_
id%3D0%26p_p_id%3DSearch_WAR_aptcsearchportlet%26_Search_WAR_ Exploration 6 (Guided Internet Explorations) Resources
aptcsearchportlet_pageName%3DresourceLibrary%26backToSearch%3Dtrue. “Computer Hardware.” IntroComputing.org. Accessed August 11, 2015.
“Blockly Games: Turtle.” Blockly Games. Accessed July 28, 2015. http://introcomputing.org/hardware-1.html.
https://blockly-​games.appspot.com/turtle?lang=en. Newbury Park High School. Accessed July 14, 2015. http://nphs.org.
Mr. doob. Accessed July 14, 2015. http://mrdoob.com. “Newbury Park High School — June 12, 1998.” Internet Archive Way Back Machine.
Pencil Code. Accessed July 15, 2015. https://pencilcode.net. Accessed July 14, 2015. http://web.archive.org/web/19980207072056/
http://www.nphs.org.
Recursive Drawing. Accessed July 14, 2015. http://recursivedrawing.com.
“Newbury Park High School — March 1, 2000.” Internet Archive Way Back Machine.
“Rihanna — Diamonds (Live on SNL).” YouTube. Video, 4:07. Accessed July 14, 2015.
Accessed July 14, 2015. http://web.archive.org/web/20000301052305/
https://www.youtube.com/watch?v=2LT23ixDaJo.
http://www.nphs.org.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 50
Resources (continued)
“Newbury Park High School — July 22, 2001.” Internet Archive Way Back Machine.
Accessed July 14, 2015. http://web.archive.org/web/20010722013253/http://nphs.org.
“Newbury Park High School — October 1, 2003.” Internet Archive Way Back Machine.
Accessed July 14, 2015. http://web.archive.org/web/20031001133739/
http://www.nphs.org.
“Newbury Park High School — December 14, 2007.” Internet Archive Way Back
Machine. Accessed July 14, 2015. http://web.archive.org/web/20071214154949/
http://www.nphs.org.
“Newbury Park High School — October 6, 2008.” Internet Archive Way Back Machine.
Accessed July 14, 2015. http://web.archive.org/web/20081006040719/
http://www.nphs.org.
“Sample Problems.” American Computer Science League. Accessed August 11, 2015.
http://www.acsl.org/samples.htm.
YouTube. Accessed July 21, 2015. http://www.youtube.com.

Exploration 7 (Identifying Innovations) Resources


“A World Transformed: What Are the Top 30 Innovations of the Last 30 Years?”
Knowledge@Wharton. Accessed July 14, 2015. http://knowledge.wharton.upenn.edu/
article/a-world-transformed-what-are-the-top-30-innovations-of-the-last-30-years.

AP Computer Science Principles  ■  Course Planning and Pacing Guide  ■  Richard Kick © 2015 The College Board. 51

You might also like