Skip to main content

Written Response 1: Program design, function and purpose

Lost and found: meeting users' needs

  • Units 1, 3 and 5
  • 1 point
  • About 15 minutes

One prompt about the program as a whole: for example, who the program is for and how its design meets that user's needs, what its inputs and outputs are, or what documentation would help another programmer understand a code segment. On the exam: Question 1 of 2 (1 point). Section II has 2 written-response questions (4 prompts) in 60 minutes, taken in Bluebook at the end-of-course exam; no calculator. On the real exam the questions are about your own Create performance task program, and you can see your Personalized Project Reference (screenshots of your procedure and list code). The Create task is 30% of the AP score, scored on 6 one-point rows: video, program requirements, WR1, WR2(a), WR2(b) and WR2(c). On this site you answer the same kinds of prompts about a short sample program given with the question.

The question and its sources

This written-response prompt is about the sample program below. On the exam you answer this kind of prompt about your own Create task program; here, answer about this program and refer to its code. Write in complete sentences.

About the program

This is a school's online lost-and-found. Anyone who finds an item posts a short description, such as "blue water bottle, cafeteria". getPosts() returns a list of every posted description. contains(text, word) returns true if word appears anywhere in text, ignoring uppercase and lowercase.

A student who lost something types one keyword, and the program shows every matching post.

Example: if the posts are "black water bottle, gym", "blue hoodie, library", "calculator, room 112" and "blue water bottle, cafeteria", typing bottle displays the two water-bottle posts.

Source: Sample program written for this practice question (hypothetical)

The procedure

Pseudocode
PROCEDURE findMatches(foundItems, keyword)
{
    matches ← []
    FOR EACH description IN foundItems
    {
        IF(contains(description, keyword))
        {
            APPEND(matches, description)
        }
    }
    RETURN(matches)
}

Source: Sample program written for this practice question (hypothetical)

The main program

Pseudocode
foundItems ← getPosts()
keyword ← INPUT()
results ← findMatches(foundItems, keyword)
IF(LENGTH(results) = 0)
{
    DISPLAY("No matches yet. Check back tomorrow.")
}
ELSE
{
    FOR EACH r IN results
    {
        DISPLAY(r)
    }
}

Source: Sample program written for this practice question (hypothetical)

Suggested time: 15 minutes

Your answers are saved in this browser as you type.

Something wrong with this question?

What's wrong?

Please don't include personal details.

Part (a)

1 point

Two groups use this program: people who post items they found, and people looking for something they lost. Choose one of these groups. Describe one way the program's design meets that group's needs, and connect it to specific code.

0 / 2,500 characters

Checking scoring…

Scoring it yourself shows you the rubric, examples and a model answer. Try writing your answer first.