Skip to main content

Written Response 1: Program design, function and purpose

Clinic reminders: users the design leaves out

  • 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

A health clinic runs this program the evening before appointments. Three procedures come from the clinic's existing system: getAppointments(tomorrow) returns a list of the ID numbers of patients with appointments the next day, hasApp(id) returns true if that patient has installed the clinic's smartphone app, and sendAppNotification(id, message) sends a message to the app.

Example: if tomorrow's list is [101, 102, 103, 104] and only patients 101 and 103 have the app, the program sends two reminders and displays Reminders sent: 2 of 4.

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

The procedure

Pseudocode
PROCEDURE sendReminders(patientList, message)
{
    sent ← 0
    FOR EACH id IN patientList
    {
        IF(hasApp(id))
        {
            sendAppNotification(id, message)
            sent ← sent + 1
        }
    }
    RETURN(sent)
}

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

The main program

Pseudocode
tomorrowPatients ← getAppointments(tomorrow)
sent ← sendReminders(tomorrowPatients, "Reminder: you have an appointment tomorrow.")
DISPLAY("Reminders sent:")
DISPLAY(sent)
DISPLAY("of")
DISPLAY(LENGTH(tomorrowPatients))

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

Identify one group of the clinic's patients whose needs this program's design does not meet. Describe one change to the program's design that would meet that group's needs, and identify the code you would change.

0 / 2,500 characters

Checking scoring…

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