AP CSP Computer Science Principles


Week 8: Oct 21 - Oct 25


  • rubber duck debugging: A form of debugging where the programmer explains the logic, goals, and operations to an inanimate listener to methodically step through the code.


Week 7: Oct 15 - Oct 18


  • ASCII  - American Standard Code for Information Interchange - ASCII is the universally recognized raw text format that any computer can understand - it takes one byte of data to store a single character
  • caesar's cipher - an encryption that shifts each letter by a certain number of characters
  • cipher - the generic term for a technique (or algorithm) that performs encryption
  • computationally hard - a "hard' problem for a computer is one in which it cannot arrive at a solution in a reasonable amount of time.
  • cybersecurity - technology, processes, and practices designed to protect digital data on networks and devices on these networks; includes hardware, software, and human components
  • cyberwarfare - use of technology by a nation-state, organization, or individual to disrupt or damage computers or networks of another nation-state, or organization
  • decryption - reversing encryption - taking the alterered message and turning it into the original information
  • encryption - a process of using mathematical algorithms to encode messages to that the original text is hidden from anyone who is not the intended recipient
  • high level programming language: A programming language with many commands and features designed to make common tasks easier to program. Any high level functionality is encapsulated as combinations of low level commands
  • low level programming language: A programming language that captures only the most primitive operations available to a machine. Anything that a computer can do can be represented with combinations of low level command


Week 6: Oct 7 - Oct 11

Week 5: Sep 30 - Oct 4


  • casting - converting one data type into another
  • Bandwidth - Transmission capacity measure by bit rate
  • Bit - A contraction of "Binary Digit"; the single unit of information in a computer, typically represented as a 0 or 1
  • Bit rate - (sometimes written bitrate) the number of bits that are conveyed or processed per unit of time. e.g. 8 bits/sec.
  • Latency - Time it takes for a bit to travel from its sender to its receiver.
  • Protocol - A set of rules governing the exchange or transmission of data between devices.
  • hexadecimal number system - sixteen-digit number system where each number represents a power of 16

Week 4: Sep 23 - Sep 27


  • enumerate - (in python) - keeps a count of each time a list is looped through - this number will match the index position of each item as it is used in the loop (iteration)
  • iteration - repeating lines of code over and over - also called a loop
  • index (of a list) - The index is the position(or location) of an item in a list, string or array. The first item is at index 0.
  • lists: Ordered series of other kinds of data, collected under one variable name and accessed via numeric indice (the position value: index). Also known as arrays.
  • tuples - Tuples are basically lists that can never be changed

Week 3: Sep 16 - Sep 20

Week 2: Sep 9 - Sep 13

Week 1: Sep 3 - Sep 6