Student-developed algorithm in AP Computer Science Principles

In AP Computer Science Principles, a student-developed algorithm is a sequence of steps you create yourself (often by combining or modifying existing algorithms) that uses sequencing, selection, and iteration to solve a problem, per LO 3.9.B in Topic 3.9.

Verified for the 2027 AP Computer Science Principles examLast updated June 2026

What is student-developed algorithm?

A student-developed algorithm is exactly what it sounds like. It's an algorithm YOU built, not one copied straight from a library, a tutorial, or your block-coding platform's built-in functions. The CED (EK AAP-2.M.1) says algorithms can be created three ways: from an original idea, by combining existing algorithms, or by modifying existing algorithms. All three count as "student-developed" as long as the final logic is yours.

The phrase carries real weight in AP CSP because the Create Performance Task requires your program to include a student-developed algorithm that uses sequencing (steps in order), selection (if/else decisions), and iteration (loops). Think of it like cooking. Using salt and flour someone else made is fine; the recipe still has to be yours. EK AAP-2.M.2 even hands you a starter pantry of existing algorithms to build from, like finding a max/min, computing a sum or average, checking divisibility, or steering a robot through a maze.

Why student-developed algorithm matters in AP® Computer Science Principles

This term lives in Topic 3.9 (Developing Algorithms) in Unit 3: Algorithms and Programming, supporting LO 3.9.B (create algorithms; combine and modify existing ones) and LO 3.9.A (compare algorithms to see if they yield the same result or side effect). It matters beyond the multiple-choice exam because the Create Performance Task and its written response are scored on whether your program contains an algorithm you developed that includes sequencing, selection, and iteration. EK AAP-2.M.3 also gives you the strategic reason to build from existing pieces. Using correct algorithms as building blocks means less debugging and a faster path to a working program, which is exactly how real programmers (and smart Create task submissions) work.

How student-developed algorithm connects across the course

Equivalence of Algorithms (Unit 3)

EK AAP-2.L.1 says different algorithms can accomplish the same task, and EK AAP-2.L.5 says the same problem can be solved multiple ways. So your student-developed algorithm doesn't have to match anyone else's. The exam tests whether you can tell when two different-looking algorithms produce the same result.

Side Effects (Unit 3)

The flip side of equivalence. EK AAP-2.L.2 warns that algorithms that LOOK similar can produce different side effects or results. When you modify an existing algorithm into your own, a small change (like swapping the order of steps) can quietly change what the program does.

Existing Algorithms as Building Blocks (Unit 3)

EK AAP-2.M.2 lists go-to patterns like max/min, sum/average, divisibility checks, and maze navigation. Your student-developed algorithm is usually these LEGO bricks snapped together in a new way. Combining them is encouraged, not cheating.

Selection and Iteration (Unit 3)

Earlier Unit 3 topics teach conditionals and loops as separate skills. A student-developed algorithm is where they merge. You need all three constructs (sequencing, selection, iteration) working together in one piece of logic, which is exactly what the Create task rubric checks for.

Is student-developed algorithm on the AP® Computer Science Principles exam?

Multiple-choice questions on Topic 3.9 typically show you two or more algorithms (often in pseudocode or robot-on-a-grid form) and ask whether they produce the same result, which lines up with LO 3.9.A. You might also be asked which modification to an algorithm achieves a new goal. The bigger stakes are on the performance-task side. College Board's 2023 scoring criteria (Q5 of the written response) assessed students on their program's student-developed algorithm, so you need to be able to identify the algorithm in your own code, explain how it uses sequencing, selection, and iteration, and describe how it functions. The verb that matters here is create, then explain. Memorizing the definition isn't enough.

Student-developed algorithm vs Existing algorithm

An existing algorithm is a known, pre-built procedure like finding a maximum or computing an average. A student-developed algorithm is the new logic you create, which can absolutely use existing algorithms as building blocks (EK AAP-2.M.1). The line that matters for the Create task is that calling a single built-in function by itself isn't a student-developed algorithm. Combining or modifying existing pieces into your own sequence of steps is.

Key things to remember about student-developed algorithm

  • A student-developed algorithm is logic you create yourself, and it must combine sequencing, selection, and iteration to count on the Create Performance Task.

  • Per EK AAP-2.M.1, you can build it from scratch, by combining existing algorithms, or by modifying one, and all three methods are legitimate.

  • Using known building blocks like max/min, sum/average, or divisibility checks (EK AAP-2.M.2) reduces debugging and is explicitly encouraged by the CED.

  • Different algorithms can solve the same problem (EK AAP-2.L.5), so your algorithm doesn't need to match a classmate's to be correct.

  • Algorithms that look almost identical can produce different results or side effects (EK AAP-2.L.2), so test your modifications carefully.

  • On the written response, you have to point to your algorithm in your code and explain how it works, not just claim it exists.

Frequently asked questions about student-developed algorithm

What is a student-developed algorithm in AP CSP?

It's an algorithm you create yourself, combining sequencing, selection, and iteration to solve a problem. It comes from Topic 3.9 (LO 3.9.B) and is a scored requirement of the Create Performance Task.

Can I use existing algorithms in my Create task and still have it count as student-developed?

Yes. EK AAP-2.M.1 says algorithms can be created by combining or modifying existing algorithms, and EK AAP-2.M.3 notes this reduces development time and errors. The combination or modification just has to be your own work.

Does my student-developed algorithm need a loop and an if statement?

Yes. For the Create Performance Task, the algorithm must include sequencing, selection (a conditional), and iteration (a loop). An algorithm with only sequenced steps won't earn the point.

What's the difference between a student-developed algorithm and a procedure?

A procedure is a named, reusable block of code (a function), while an algorithm is the step-by-step logic itself. On the Create task, your student-developed algorithm typically lives inside a student-developed procedure, but they're scored as related, not identical, ideas.

Is there only one correct algorithm for a given problem?

No. EK AAP-2.L.1 and AAP-2.L.5 state that algorithms can be written in different ways and different algorithms can solve the same problem. The exam often asks you to compare two algorithms and decide whether they yield the same result.