In AP Computer Science Principles, program state is the collection of internal values and conditions a program holds at a given moment during execution. Output usually depends on both the program's input and its prior state (EK CRD-2.D.2, Topic 1.2).
Program state is everything a program is currently "remembering." That includes the values stored in variables, which screen is showing, whether a user is logged in, what's in a shopping cart, and any other internal condition at a specific moment during execution. Think of it as a snapshot of the program's memory right now.
The CED brings state in through outputs. EK CRD-2.D.2 says program output is usually based on a program's input or prior state, meaning internal values the program already had before the new input arrived. That's why the same input can produce different outputs. Tapping "submit" does one thing if you're logged in and another if you're not. The input is identical; the state is different. State is also why a program needs to work for a variety of inputs and situations (EK CRD-2.B.3), because every new input lands on top of whatever state the program is already in.
Program state lives in Unit 1: Creative Development, Topic 1.2 (Program Function and Purpose). It directly supports learning objective AP Comp Sci P 1.2.D (identify outputs produced by a program), since EK CRD-2.D.2 explicitly ties output to input and prior state. It also supports AP Comp Sci P 1.2.B (explain how a program or code segment functions), because you can't fully explain a program's behavior without tracking what it remembers between events. State is the missing piece when input alone doesn't explain the output. If you can name what a program stores internally and how that changes its behavior, you can describe program function the way the exam wants.
Keep studying AP® Computer Science Principles Unit 1
Program Inputs (Unit 1)
Inputs and state are the two ingredients of output. Input is data arriving from outside the program right now; state is what the program already remembers from before. EK CRD-2.D.2 puts them side by side, so when an MCQ asks why an output happened, check both.
Event-Driven Programming (Unit 1)
In event-driven programs, each event (a click, a key press) triggers code, and that code often reads or changes the program's state. A button can behave differently on its second click because the first click changed a stored value.
Variables and Assignment (Unit 3)
Variables are how state actually gets stored in code. When Unit 3 has you trace a code segment line by line, you're literally tracking how each assignment statement changes the program's state. Unit 1 names the idea; Unit 3 makes you compute it.
Code Segment (Unit 1)
A code segment is a chunk of program statements, and explaining what a segment does usually means describing how it transforms state, meaning what values it reads and what values it leaves changed when it finishes.
You won't get a question that just asks "define program state." Instead, state shows up inside questions about program behavior and output. Multiple-choice stems describe a program (a grade calculator, an inventory manager) and ask you to explain why it produces a certain output or how a code segment functions within it. The move you need is recognizing that output depends on input plus stored internal values, not input alone. State also matters for the Create Performance Task, where you describe how your program functions. A strong description explains what your program stores (lists, variables, flags) and how that stored data shapes what the user sees. No released FRQ uses the phrase "program state" verbatim, but the idea underlies every code-tracing question on the exam.
Inputs are data sent to the program from outside, like a key press, a mouse click, or text a user types (EK CRD-2.C.1). State is internal, the values the program already holds from earlier execution. The clean test: if the data arrives during this interaction, it's input; if the program was already remembering it, it's state. EK CRD-2.D.2 treats them as two separate sources of output, so the exam expects you to tell them apart.
Program state is the set of internal values and conditions a program holds at a specific moment during execution.
Per EK CRD-2.D.2, a program's output is usually based on its input or its prior state, so identical inputs can produce different outputs.
Inputs come from outside the program; state is what the program already remembers internally.
In event-driven programs, events often change state, which is why a program can respond differently to the same action over time.
Variables (Unit 3) are the concrete mechanism for storing state, and tracing code means tracking how state changes line by line.
Explaining how a program functions (AP Comp Sci P 1.2.B) means describing what it stores, not just what the user does to it.
Program state is the collection of internal values and conditions a program has at any given moment, like variable values or login status. It matters because output depends on input plus prior state (EK CRD-2.D.2 in Topic 1.2).
No. Input is data sent to the program from outside, such as a click or typed text, while state is what the program is already storing internally. The exam expects you to recognize that output can come from either one.
Yes, and program state is exactly why. EK CRD-2.D.2 says output is based on input or prior state, so a "submit" click does different things depending on what the program already remembers, like whether you're logged in.
Mostly in variables and data structures like lists. Unit 1 introduces the concept, and Unit 3 makes it concrete when you trace code and track how assignment statements change stored values.
Yes, but as a behavior concept rather than a vocab flashcard. MCQs about explaining program output and code segments rely on it, and your Create Performance Task description is stronger when you explain what data your program stores and how it affects what users see.
Connect this key term to the AP exam workflow: review the course, practice questions, and check related study tools.
Review units, study guides, and course resources.
Check this vocabulary in multiple-choice context.
Apply key concepts in written AP responses.
Estimate the exam score you are working toward.
Review the highest-yield facts before practice.
Put the full course together before test day.