Skip to content

AP Computer Science Principles

Grades 9 to 125 units and 15 lessons. Helio talks each one through and draws each step on a board.

Units

  1. Creative development

    2 lessons
    1. Collaboration and program designExplain how collaboration improves a program, describe a program by its purpose, inputs, outputs and function, and document code so others can read it.
    2. Program development and testingDescribe how programs are developed in steps, name the kinds of errors, design test cases that find them, and list what the Create performance task asks for.
  2. Data

    2 lessons
    1. Binary numbers and data compressionConvert between binary and decimal, explain how many values n bits can hold, describe overflow and round-off, and compare lossless and lossy compression.
    2. Extracting information from dataExplain how data and metadata give information, find patterns and trends by filtering, cleaning and combining data, and say why a correlation is not proof of a cause.
  3. Algorithms and programming

    6 lessons
    1. Variables, expressions and assignmentTrace a short program that assigns variables, evaluate arithmetic expressions with MOD, and predict the values the variables hold after each line.
    2. Boolean logic and selectionWrite and evaluate conditions with relational and Boolean operators, and trace IF and IF ELSE statements, including nested selection.
    3. IterationTrace REPEAT n TIMES, REPEAT UNTIL and FOR EACH loops, count how many times a body runs, and spot a loop that never ends.
    4. Lists and data abstractionUse lists, with indexes starting at 1, to store many values under one name, apply APPEND, INSERT, REMOVE and LENGTH, and explain how a list manages complexity.
    5. Procedures and abstractionWrite and call procedures with parameters and RETURN, trace a call, and explain how procedural abstraction hides detail and makes code reusable.
    6. Algorithmic efficiency and undecidable problemsCompare algorithms by how their number of steps grows with the input, tell reasonable from unreasonable running time, and explain why some problems have no algorithm that always solves them.
  4. Computer systems and networks

    2 lessons
    1. The internet and its protocolsExplain how a message becomes packets that cross routers by different paths, how IP addresses, DNS and TCP make that dependable, and why open protocols let the internet scale.
    2. Fault tolerance and parallel computingExplain how redundant paths make the internet fault tolerant, and compare sequential, parallel and distributed computing by the time they take and the speedup they give.
  5. Impact of computing

    3 lessons
    1. Beneficial and harmful effectsEvaluate a computing innovation by naming its intended benefits, its unintended harms and who each one reaches, and explain how one innovation can help and harm at once.
    2. The digital divide and biasExplain what the digital divide is and what causes it, and explain how bias in data, in the people who design a system and in an algorithm can lead to unfair results.
    3. Privacy, security and lawExplain what personal data is and how it is collected, describe common attacks and the protections against them, and explain how copyright and Creative Commons licences share creative work.

A tutor you can talk to

45 minutes every month. No card.