Learning Recommendation: It is recommended that a student in the AP Computer Science
Principles course should have successfully completed a first year
high school algebra course with a strong foundation on basic
linear functions and composition of functions, and problem solving
strategies that require multiple approaches and collaborative
efforts. In addition, students should be able to use a Cartesian (x, y)
coordinate system to represents points in a plane. It is important
that students and their advisers understand that any significant
computer science course builds upon a foundation of mathematical
and computational reasoning that will be applied throughout the
study of the course.

General Description: The AP Computer Science Principles course is designed to be
equivalent to a first-semester introductory college computing course.
In this course, students will develop computational thinking vital for
success across all disciplines, such as using computational tools to
analyze and study data and working with large data sets to analyze,
visualize, and draw conclusions from trends. The course is unique in
its focus on fostering student creativity. Students are encouraged to
apply creative processes when developing computational artifacts
and to think creatively while using computer software and other
technology to explore questions that interest them. They will also
develop effective communication and collaboration skills, working
individually and collaboratively to solve problems, and discussing
and writing about the importance of these problems and the impacts
to their community, society, and the world.

Content: The following are the major areas of study, or big ideas which are
foundational to studying computer science:
• Creativity: Computing is a creative activity. Creativity and
computing are prominent forces in innovation; the innovations
enabled by computing have had and will continue to have
far-reaching impact.
• Abstraction: Abstraction reduces information and detail to
facilitate focus on relevant concepts. It is a process, a strategy,
and the result of reducing detail to focus on concepts relevant
to understanding and solving problems.
• Data and Information: Data and information facilitate the
creation of knowledge. Computing enables and empowers
new methods of information processing, driving monumental
change across many disciplines — from art to business to
science.
• Algorithms: Algorithms are used to develop and express
solutions to computational problems. Algorithms realized
in software have affected the world in profound and lasting
ways.
• Programming: Programming enables problem solving, human
expression, and creation of knowledge. Programming and
the creation of software has changed our lives. Programming
results in the creation of software, and it facilitates the creation
of computational artifacts, including music, images, and
visualizations.
• The Internet: The Internet pervades modern computing. The
Internet and the systems built on it have had a profound
impact on society. Computer networks support communication
and collaboration.
• Global Impact: Computing has global impact. Our methods
for communicating, collaborating, problem solving, and doing
business have changed and are changing due to innovations
enabled by computing.

Strategies: The course also incorporates computational thinking practices that
set clear expectations of what students will do in the course:
• Connecting Computing – Students learn to draw connections
between different computing concepts.
• Creating computational artifacts – Students engage in
the creative aspects of computing by designing and
developing interesting computational artifacts as well as
by applying computing techniques to creatively solve
problems.
• Abstracting – Students use abstraction to develop models and
simulations of natural and artificial phenomena, use them to
make predictions about the world, and analyze their efficacy
and validity.
• Analyzing problems and artifacts – Students design and
produce solutions, models, and artifacts, and they evaluate
and analyze their own computational work as well as the
computational work others have produced.
• Communicating – Students describe computation and the
impact of technology and computation, explain and justify the
design and appropriateness of their computational choices,
and analyze and describe both computational artifacts and the
results or behaviors of those artifacts.
• Collaborating – Students collaborate on a number of activities,
including investigation of questions using data sets and in the
production of computational artifacts.

Equipment Required of Student: Currently their are three main curricula for AP CS Principles: BJC, Code.org, and Mobile CSP. All of them require a PC or Mac for each student. Mobile CSP is the most interesting, as it would allow students to learn the computer science principles while develop Android applications. Although it is not strictly required to have Android devices, it certainly would be optimal.