Skip to main content

Unit 1

10–13% of exam

Creative Development

Programs are made by people, usually working in teams, to solve a problem or let someone create something. In this unit you'll see how programmers collaborate, how a program's purpose shapes its inputs and outputs, how programs are planned, built and documented, and how to find and fix the errors that always creep in. It's the thinking behind your Create task.

Study this unit

Flashcards (33)Practice questions (53)Computer Science Principles must-know sheet

Free-response questions on this unit

Write your own answer, then score it with the rubric or with AI.

Big ideas

  • Teams with different backgrounds and skills catch problems one person would miss
  • A program's purpose is the problem it solves; its function is what it does when it runs
  • Programs are built in small steps and tested along the way
  • Comments and documentation explain code and give credit to code written by others
  • Testing with inputs you choose, and outputs you expect, is how you find errors

Full unit reviews

Longer videos that cover the whole unit. Good for a first pass or a final review.

  • AP CS Principles Exam Review - Creative Development

    Flavio KupermanWatch on YouTube (opens in a new tab)

  • AP Computer Science Principles Big Idea 1: Creative Development

    Dr. D's TutorTimeWatch on YouTube (opens in a new tab)

  • AP CS Principles: Creative Development Review

    Mr Comp SciWatch on YouTube (opens in a new tab)

  • AP CSP 2024 Exam Review | Big Idea #1: Collaboration

    Computer Science CoachWatch on YouTube (opens in a new tab)

Most computing innovations are built by teams, and people with different backgrounds, skills and points of view spot needs and problems that one person would miss. Teams share work through practices like pair programming and online tools, and they ask users for feedback through surveys, interviews and testing.

Key terms

  • computing innovation
  • collaboration
  • diverse perspectives
  • pair programming
  • user feedback
Read the review notes: 1.1 Collaboration

A few quick questions on this topic, with the answers explained.

Every program is written for a purpose, like solving a problem or letting people express themselves, and knowing that purpose helps you design and test it. A program takes input (from a user, a sensor or another program), runs its code and produces output, and many programs are event-driven: code runs when something happens, like a click or a key press.

Key terms

  • purpose
  • behavior (function)
  • input
  • output
  • event
  • code segment
Read the review notes: 1.2 Program Function and Purpose

A few quick questions on this topic, with the answers explained.

Building a program means investigating what users need, then designing, prototyping and testing. Development can be iterative (you go back and refine based on feedback) or incremental (you build and test small pieces, then add them together), and comments and other documentation explain your code and credit any code you used that someone else wrote.

Key terms

  • iterative development
  • incremental development
  • program requirements
  • prototype
  • program documentation
  • comments
  • AP CSP Topic 1.3 - Program Design and Development - Explanations and 5 MCQs!

    Dr_WuWatch on YouTube (opens in a new tab)

  • Program design: catering contract | Intro to CS - Python | Khan Academy

    Khan AcademyWatch on YouTube (opens in a new tab)

  • Program Planning - AP CSP in Roblox

    CodeHSWatch on YouTube (opens in a new tab)

  • Karel Python - Commenting Code

    CodeHSWatch on YouTube (opens in a new tab)

  • AP CSP Topic 1.3 - Program Design and development - Speedrun! 18 MCQs

    Dr_WuWatch on YouTube (opens in a new tab)

Read the review notes: 1.3 Program Design and Development

A few quick questions on this topic, with the answers explained.

There are four kinds of error to know. A logic error means the program runs but does the wrong thing; a syntax error means the code breaks the language's rules; a run-time error happens while the program is running, like using a list index that doesn't exist; and an overflow error happens when a number is outside the range the available bits can hold. You find errors by testing with inputs you pick (including values at the edges of what's allowed) and comparing the output with what you expected, and by tracing the code by hand, using a debugger or adding extra output statements.

Key terms

  • logic error
  • syntax error
  • run-time error
  • overflow error
  • test case (input and expected output)
  • debugging
  • AP CSP Topic 1.4 - Errors part 1. 5 practice MCQs! Logical, Runtime, Syntax.

    Dr_WuWatch on YouTube (opens in a new tab)

  • AP CSP Exam Review 1.4 Identifying & Fixing Errors

    Computer Science CoachWatch on YouTube (opens in a new tab)

  • Debugging with test cases | Intro to CS - Python | Khan Academy

    Khan AcademyWatch on YouTube (opens in a new tab)

  • Debugging with errors

    CodeHSWatch on YouTube (opens in a new tab)

  • AP CSP Topic 1.4 - Identifying and Correcting Errors (Pseudocode only) - Explanations and 5 MCQs!

    Dr_WuWatch on YouTube (opens in a new tab)

Read the review notes: 1.4 Identifying and Correcting Errors

A few quick questions on this topic, with the answers explained.