AP Computer Science Principles Syllabus


AP Computer Science Principles is a year-long high school course that fully addresses the seven "Big Ideas" of computer science and six "Computational Thinking Practices".


The following units introduce students to the computational thinking skills that will enable them to exploit the power of digital technology and help them to develop a strong foundation in core programming and problem solving skills. In addition, students will develop a profound appreciation for the key role that information plays in computing and the many ways information can be codified, expressed, stored, and manipulated.

Unit 1: Computational Thinking

Introduction to computational thinking, logical reasoning, and describing processes through algorithms and pseudocode.

Unit 2: Programming

Use Scratch to explore sequencing, selection, and iteration as part of the goal to create programs that serve useful functions.

Unit 3: Data Representation

Explore the different means of representing information digitally.

Once students are armed with the necessary skills to create computational programs and artifacts, the following units allow students to further explore a variety of ways digital computing can and has been applied to revolutionize industries and enable new forms of expression, communication, and discovery.

Unit 4: Digital Media Processing

Use Processing to programmatically manipulate digital images and audio.

Unit 5: Big Idea

Discover new knowledge through the use of large data sets.

Unit 6: Innovative Technologies

Explore the current state of technology and its role in our everyday lives.

Finally, serving as a capstone to the course, the Performance Task unit encourages students to demonstrate what they've learned by designing, developing, and further refining a number of student-directed projects, both individually and collaboratively.

Unit 7: Performance Tasks

Students demonstrate their learning by creating a portfolio of their work from each of the previous units for submission to the College Board.


In addition to minor, informal assessments throughout each unit, student learning and progress will also be monitored at the end of each unit through formal assessments and an evaluation of their independent and collaborative efforts.

Formal assessments are modeled after the single-select and multiple-select multiple choice questions of the AP Computer Science Principles exam so that students can familiarize themselves with the scope and style of questions that they can expect to see on the AP exam in May.

Likewise, as preparation for the Performance Tasks that the students will submit to the College Board in May, each student will be required to maintain and document a portfolio of their independent and collaborative work throughout each unit. During Unit 7 (Performance Tasks), students are encouraged to draw upon this body of work to produce their final submissions for the College Board.


  • 20% Informal assessments throughout each unit
  • 40% Formal assessments at the end of each unit (Modeled after the AP CSP Exam Questions.)
  • 40% Evaluation of independent and collaborative efforts. (Each student will be required to maintain and document a portfolio of their independent work throughout each unit.)

Rubrics: Each unit project is accompanied by a clear defined rubric that specifies the set of expectations for student work throughout each unit. Grading rubrics will be provided at the start of each unit as part of the initial discussion. This sets clear expectations that guide and focus the learning path.

Late Work: Late work will not be accepted. Assignments will not be available after the deadline. If you have an extenuating circumstance, please contact me by private message at least 24 hours before the assignment is due to make alternate arrangements.

Instructor: Mr. Crossett

Email: kcrossett@hbuhsd.edu

Classroom: Room J10

Course Schedule

Every Monday: 0 Period Face-to-Face Class Meetings

Required Open Lab Meetings: Tuesday - Friday during 0 Period

Tutorial: Tuesday - Friday



Announcements will be posted in CANVAS on a regular basis. They will appear on your CANVAS dashboard when you log in. Please make certain to check them regularly, as they will contain important information about upcoming projects and class concerns.


In this course we will use the CONVERSATIONS feature in CANVAS. You can either check your messages in the CANVAS system or set up notifications to your preferred method of contact. Please check your messages regularly. When submitting messages, please do the following:

  • Put a subject in the subject box that describes the email content with your name, week and message subject. Example: YOURNAMEWK2ASSIGNMENT
  • Send email only to CONVERSATIONS and not my school @hbuhsd.edu account.
  • Do not send messages asking general information about the class, please post those in the QUESTION FORUM.
  • Do not submit your assignments by message.
  • Make sure you check your messages frequently.


In online courses it is normal to have many questions about things that relate to the course, such as clarification about assignments, course materials, or assessments. Please post these in the QUESTION FORUM which you can access by clicking the DISCUSSIONS button in the course navigation links. This is an open forum, and you are encouraged to give answers and help each other.


Discussion Forums are a way for you to engage with each other about the course content. Each lesson module will have a question that links to a forum. You can also access each forum by clicking on the DISCUSSION button in the course navigation links. In order to get full credit for each discussion, you will need to post a thoughtful, well-written response on the question and respond to two of your classmates answers.


Computer science by its nature relies on learning from the work of others. You are encouraged to examine each other's code and to discuss various approaches and coding styles. You won't really learn anything, though, if you don't "try it yourself".

In this regard, discussion and general method used to solve a problem is certainly encouraged. Taking another student's source code and modifying it is really counter-productive; you learn to program by working out the programming exercises and assignments. If you don't do the assignments yourself, you won't learn how to program, and you won't be able to pass the course assessments.

When it comes to testing time, I expect a high level of academic honesty. Cheating violations will referred to the supervision department for review.


You are entitled to an environment that encourages learning, as are all your fellow classmates. You should not behave in a manner that negatively impacts other class members. In a classroom, such behavior includes hostile behavior such as yelling and screaming, as well as interrupting other students and attempting to inappropriately dominate the classroom. In our "online classroom", disruptive behavior includes "flaming" or harassing email, as well as posting offensive material on the class discussion board.

I expect all of you to be polite, respectful, and helpful to your fellow students; in short, I expect you to act like adults should act. If, in my judgment, your behavior negatively impacts the rest of the class, you may be subject to disciplinary action.




Created with images by SpaceX-Imagery - "rocket launch night trajectory" • jurvetson - "Tesla Robot Dance" • Yasuhiko Ito - "Asimo and big doe" • lynnea - "typewriter vintage vintage typewriter"

Made with Adobe Slate

Make your words and images move.

Get Slate

Report Abuse

If you feel that this video content violates the Adobe Terms of Use, you may report this content by filling out this quick form.

To report a Copyright Violation, please follow Section 17 in the Terms of Use.