AP Computer Science Principles is equivalent to a first-semester, college-level course in computer science.
Reference Text
Blown to Bits. Abelson, H., Ledeen, K., & Lewis, H. 2008, Addison-Wesley.
Primary Course Resources
Snap! (snap.berkeley.edu/run)
Beauty and Joy of Computing curriculum (bjc.edc.org)
CodeHS (codehs.com)
Big Ideas
The following are the major areas of study, or big ideas, that serve as the foundation of the course, enabling students to create meaningful connections among concepts and develop deeper conceptual understanding:
BIG IDEA 1: CREATIVE DEVELOPMENT (CRD)
When developing computing innovations, developers can use a formal, iterative design process or a less rigid process of experimentation, and will encounter phases of investigating and reflecting, designing, prototyping, and testing. Collaboration is an important tool at any phase of development.
BIG IDEA 2: DATA (DAT)
Data are central to computing innovations because they communicate initial conditions to programs and represent new knowledge.
BIG IDEA 3: ALGORITHMS AND PROGRAMMING (AAP)
Programmers integrate algorithms and abstraction to create programs for creative purposes and to solve problems
BIG IDEA 4: COMPUTING SYSTEMS AND NETWORKS (CSN)
Computer systems and networks are used to transfer data.
BIG IDEA 5: IMPACT OF COMPUTING (IOC)
Computers and computing have revolutionized our lives. To use computing safely and responsibly, we need to be aware of privacy, security, and ethical issues
Computational Thinking Practices
The following computational thinking practices describe what skills students should develop during the course:
Computational Solution Design -- Design and evaluate computational solutions for a purpose.
Algorithms and Program Development -- Develop and implement algorithms.
Abstraction in Program Development -- Develop programs that incorporate abstractions
Code Analysis -- Evaluate and test algorithms and programs
Computing Innovations -- Investigate computing innovations.
Responsible Computing -- Contribute to an inclusive, safe, collaborative, and ethical computing culture.
Students will setup accounts for this course, review and discuss lab rules, in-class expectations, and online expectations. They will explore the AP Computer Science Principles course syllabus, review the tips for being successful in this course.
Students dive right into Snap! and CodeHS Python programming by designing games and visual projects using loops, randomization, and control blocks. They get to know the Snap! interface, coordinate system, sounds, mathematics, variables, and how to build their own blocks. Students are encouraged to experiment with Snap! playing with inputs, trying out blocks before they have been formally introduced, and modifying and extending the assigned tasks. Students will explore Python programming using activities in the CodeHS application environment.
Students consider the innovations around us that collect data about us, and the ways in which that information may be available online. They discuss why we generally want to protect privacy and for what purposes we might choose to give up some privacy. They learn how they can protect their own online privacy. Students also examine communications technology and ways that computing impacts community (including cyberbullying).
This unit introduces lists, a powerful data type for storing multiple items of any type, including numbers, strings, other lists, or even blocks (function/procedure as data). Just as functions can take numbers and strings as inputs, they can also take lists as input or produce lists as output. A list is an ordered sequence of items.
Students are introduced to several powerful higher-order list-processing functions that take functions, along with other data, as inputs. One virtue of the higher order list functions is that they generate new lists to report rather than mutate (modify) existing lists. This is in contrast with the imperative, looping, mutation-based programming that is more common, but more error-prone, in dealing with sequential data. Near the end of the course, students build these higher order functions for themselves.
The readings from Blown to Bits describe the underlying technology and also raise questions about risks. The BJC lab pages focus more on the latter. In the case of searching, the main issues are about user profiling (for serving advertising and for tailoring search results) and about bias in results (profile-based or otherwise). For encryption, we do emphasize how revolutionary public key cryptography has been, but the main emphasis is on how the various social stakeholders view the question of strong encryption of user data.
This module focuses on several types of analysis: analysis of problems to generate algorithms for their solution; analysis of the algorithms (especially of the time it takes to execute them) in order to optimize them; analysis of phenomena by generating models and simulations that give insight and help one generate and test hypotheses; and analysis of data, especially including visualization.
Students have been generating algorithms to solve problems from the start of this course but have not yet focused on analyzing them for efficiency. For small enough computational problems, such analysis isn't needed. But modeling complex phenomena and handling large data sets requires understanding that there are sometimes alternative algorithms that reduce the impact of the size of a model on the time it takes to execute. In-depth coverage of this broad domain (computational complexity, data analysis, modeling and simulation) is beyond the scope of an introductory course, but module 7’s projects in each of these areas will give students a good first-approximation understanding of these issues.
Students learn the meaning of copyrights and patents, discuss their impact and relevance in an increasingly computationally mediated world, and learn about the simultaneous invention of the telephone
Students will review and understand the general requirements for the AP Computer Science CREATE performance task. They will complete and learn how to submit all requirements of the AP CREATE performance task to the teacher AND College Board.
Addresses the structure of the Internet, the various protocols on which it runs, and the implications of this technology to society. Students learn to recognize HTML and learn that it is another computer language, and they learn to “scrape” an HTML page for data (a technique to automatically access and extract large amounts of information from a website). They build on their work to analyze lists containing data using Snap! procedures and strategies they have already learned.
Students first consider what rules perhaps ought to exist regarding behavior or content on the Internet. They use the Blown to Bits reading and what they've learned about the Internet throughout this Unit to discuss the challenges of regulating the Internet, look at ways that countries (including the United States) approach regulation and censorship of online content, examine statistics about Internet usage around the world.
Computers are everywhere. But how many of us understand how they work, or how they think? Computer science explores these questions. Students will learn about how computers work, while addressing critical mathematics and science concepts such as number systems, algorithms, and manipulating variables and logic.
AP Computer Science Principles Student Page
Students are evaluated on the basis of their work, which can take the form of quizzes, test, and programs. Self-check quizzes are built into the lab pages and the CodeHS activities. The end-of-unit assessments help to prepare students for the College Board AP Create Performance Task and the AP Exam.
The AP Computer Science Principles Exam has two parts: the Create performance task—which you’ll complete over the course of the year and submit online for scoring through the AP Digital Portfolio—and the end-of-course multiple-choice exam. Both measure your proficiency in and grasp of the course practices and content, and both contribute to your final AP score on a scale of 1–5.
AP Computer Science Principles Exam
· End-of-Course Multiple Choice Exam -- Monday, May 9, 2022 12:00 p.m.
70 Questions
57 single-select multiple-choice
5 single-select with reading passage about a computing innovation
8 multiple-select multiple-choice: select 2 answers
120 Minutes
70% of Assessment Score
· Create Task – Due Monday, May 2, 2022 11:59 p.m. EDT
12 Hours Classroom time
30% of Assessment Score
GRADING POLICY
Most assignments and projects will be completed in class. Only completed assignments turned in on time can receive full credit. The grading is calculated on a weighted scale as follows:
A 90 – 100
B 80 – 89
C 70 – 79
D 60 – 69
F 0 – 59
GRADE CATEGORIES
20% Prepare Homework, Warm-Ups, Exit Tickets, Check For Understanding
30% Rehearse Quizzes, Labs, Mini-Assessments, Mini-projects, Classwork/Discussion
50% Performance Unit Assessments, Common Assessments, Performance Tasks, Writing Assignments, Projects with Rubrics, Labs, Presentations
LATE WORK POLICY
Late assignments will be accepted until one week (5 school days) after the “perform” date (due date) for that goal / objective. Five (5) points will be deducted per day for late submissions. Work submitted after the 5th day will receive a grade of zero. Late feedback.
RETEST POLICY
Performance assessments (not projects or writing assignments) can be retaken for up to an 80 after reteaching and / or extra practice. Performance assessment must be taken within three weeks of the original test.
ABSENCES
Students who are absent will need to make arrangements to make up missed tests or assignments within 5 school days. Students who miss more than 10 days of class must complete Attendance Recovery or receive an F in class regardless of their academic grade.
CLASS ATTENDANCE POLICY
Regular attendance is required. Your presence in class is crucial since most of the activities in this course occur during class time. Your active participation will enhance your success as well as that of your classmates. Be active in class! Participate in class discussions! Your opinions, input, and questions are what this class is all about! Following any absence(s), a student is required to present a written document from the parent or guardian stating the reason for the absence.
STUDENT USE OF COMPUTER EQUIPMENT/ELECTRONICS/INTERNET
Please READ and COMPLY with the CMS Code of Conduct handbook page 14 Rule 14 VANDALISM (Responsibility/Respect/Citizenship), Rule 21 page 15 Unauthorized Use of Technology, and your Providence Student handbook regarding appropriate use and of computer equipment/internet and consequences for misuse of both.
TUTORING
Tutoring is scheduled on Tuesday 2:15 pm – 3:30 pm. Alternate and/or additional dates and times may be arranged with teacher.
TARDY POLICY
Students are expected to be in class prior to the tardy bell. A student is tardy when he/she is not in the classroom or laboratory where his/her class regularly meets when the bell begins to ring. Student must report to the Student Management Center (SMC) in room 139 for an admittance slip. A tardy will be recorded. Please see Providence Handbook regarding tardy policy and consequences.