AP Computer Science Principals

Big Ideas

  • Creativity
  • Abstraction
  • Data and Information
  • Algorithms
  • Programming
  • The Internet
  • Global Impact

Computational Thinking Practices

  • Connecting computing
  • Creating computational artifacts
  • Abstracting
  • Analyzing problems and artifacts
  • Communicating
  • Collaborating


Computer Science: The New Literacy

Whether it’s 3-D animation, engineering, music, app development, medicine, visual design, robotics, or political analysis, computer science is the engine that powers the technology, productivity, and innovation that drive the world. Computer science experience has become an imperative for today’s students and the workforce of tomorrow.

The AP Program designed AP Computer Science Principles with the goal of creating leaders in computer science fields and attracting and engaging those who are traditionally underrepresented with essential computing tools and multidisciplinary opportunities.


Rigorously Developed

In development since 2008, AP Computer Science Principles was created with significant support from the National Science Foundation. The College Board worked with more than 50 leading high school and higher education computer science educators who piloted the course at their institutions. This rigorous process of development and testing has yielded a course that not only reflects the latest scholarship in the field, but provides students with a relevant and engaging learning experience.

Over 90 colleges and universities have stated their support for the course, with the majority anticipating they will award college credit for high exam scores.



AP Computer Science Principals


Code.org- AP Computer Science Principals Syllabus

Mr. Burrill's Course Syllabus

---Class Links---

Code Studio - App Lab - Blown to Bits - Nimbus Screencast

Unit 3 - Algorithms and Programming

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


Day 17 Unit 3: Lesson 1 - The Need for Programming Languages

Download PowerPoint Day 17

Today's Agenda-

  • US Marines Presentation- Staff Sergent Smith
  • Movie- Quiz
  • Programming Language Background
  • Algorithm
  • Lego Activity
  • Reflection/Discussion
  • Video- You Should Learn to Program
  • Complete Code.org Unit 3 Lesson 1
  • Journal Info



Day 18 Unit 3: Lesson 2 & 3- The Need for Algorithms /Creativity in Algorithms / Lesson 4 & 5- Programming With Simple Commands / Creating Functions

Download PowerPoint Day 18

Today's Agenda-


  • Vocabulary- Algorithm, Low Level Programming Language, High Level Programming Language, Pseudocode, Efficiency, Javascript, Turtle Programming, Abstraction, Define Function, Commands, Call It, Execute, Procedure
  • Video/Article- How Science Can Help You Sort Your Socks
  • Place JavaScript Commands in Journal...


Day 19 Unit 3: Lesson 6 & 7- Functions and Top-Down Design / APIs and Function Parameters

Download PowerPoint Day 19- None

Today's Agenda-

  • Lesson 1 - 7 Quiz (10 Points)
  • Lesson 6- Functions and Top-Down Design
  • Worksheet- Top-Down Design
  • Lesson 7- APIs and Function Parameters
  • API - a collection of commands made available to a programmer
  • Documentation - a description of the behavior of a command, function, library, API, etc.
  • Hexadecimal - A base-16 number system that uses sixteen distinct symbols 0-9 and A-F to represent numbers from 0 to 15.
  • Library - a collection of commands / functions, typically with a shared purpose
  • Parameter - An extra piece of information passed to a function to customize it for a specific need
  • API
  • Documentation
  • Library
  • Parameter



Day 20 Unit 3: Lesson 8- Creating functions with Parameters

Download PowerPoint Day 20- None

Today's Agenda-

  • Quiz
  • Parameter - An extra piece of information passed to a function to customize it for a specific need
  • randomNumber min/max
  • function myFunction(n){ //code }
  • Call a function with parameters
  • Video: Functions with Parameters
  • Finish Lesson 8


  • Vocab- Parameter


Day 21 Unit 3: Lesson 9- Looping and Random Numbers

Download PowerPoint Day 21- None

Today's Agenda-

  • For Loop - Loops that have a predetermined beginning, end, and increment (step interval).
  • Loop - The action of doing something over and over again.
  • Video: Loops
  • Finish Lesson 9


  • Vocab- For Loop, Loop


Day 22 Unit 3: Lesson 10- Design a Deigital Scene

Download PowerPoint Day 22- None

Today's Agenda-

  • Abstraction - a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
  • Students work in groups of 3 or 4 to design and write the code for a program that draws a digital scene of their choosing. Students break the scene down into small parts and divvy up the code writing amongst the team. Each individual's code is combined at the end to create the full scene.
  • Code Print - Create PT Code Formatting
  • Design a Digital Scene - Project and Programming Rubric (copy as MS Word, Google Doc)
  • Design a Digital Scene - Project Guide (copy as MS Word, Google Doc)
  • Present to class next period
  • Review Next Period
  • Test Next Class


  • Have journal ready for test


Day 23 Test Day





Continue to Unit 5- Building Apps