AP CSP 3.13 Exercise 2: Developing Procedures Applied Challenge

Big Idea 3: Algorithms and Programming · Topic 3.13 · Exercise 2

Developing Procedures: Applied Challenge

Six design decisions about what belongs in a procedure and what belongs in its parameters.

How this one is different

Writing a procedure is not the hard part. Deciding its boundary, what it takes in and what it hands back, is what the Create Task is graded on.

Applied Practice

6 questions · scenario driven · every answer is recorded for your teacher

Question 1 of 6Evaluate
A procedure computes sales tax but reads the rate from a variable defined outside it.
Why is passing the rate as a parameter usually better?
Incorrect. Reading outside variables is generally permitted. It is a design weakness, not a rule violation.
Incorrect. The line count is about the same either way.
Incorrect. Parameter passing is not a speed optimization.
Correct. A procedure that depends on outside state can only be reused where that state exists. Parameters make the dependency explicit and the procedure portable.
Question 2 of 6Apply
A program repeatedly converts a letter grade to grade points.
What is the best procedure signature for that work?
Incorrect. Displaying instead of returning forces every caller to want printed output, which most will not.
Incorrect. With no input and no output the procedure cannot do the job at all.
Correct. The conversion has one input and one result, so it maps cleanly onto one parameter and one return value, which lets callers use the result however they need.
Incorrect. Without a parameter there is nothing to convert.
Question 3 of 6Analyze
A single procedure validates input, computes a total, formats a receipt, and sends an email.
What is the strongest specific objection?
Incorrect. Length has no compilation limit here.
Correct. Bundling independent responsibilities destroys reuse and couples unrelated changes, which is the practical cost of a missing abstraction boundary.
Incorrect. No such rule exists. This is a design principle, not a limit.
Incorrect. Splitting it does not make it faster. The gain is in reuse and maintainability.
Question 4 of 6Trace
Given the procedure below, what does DISPLAY classify(45) show?
PROCEDURE classify(n) { IF (n MOD 2 = 0) { RETURN "even" } ELSE { RETURN "odd" } }
Correct. 45 MOD 2 is 1, which is not 0, so the ELSE branch returns odd and the caller displays it.
Incorrect. The argument is not what the procedure returns.
Incorrect. The remainder is computed internally but is not the return value.
Incorrect. 45 divided by 2 leaves a remainder, so the first branch is not taken.
Question 5 of 6Transfer
A team member is told to use a procedure written by someone else.
What do they need to know, and what can they safely not know?
Incorrect. Argument order and meaning cannot be guessed and are part of the contract.
Incorrect. A procedure without a stated interface is precisely the one that gets misused.
Incorrect. Requiring the implementation defeats the purpose of the abstraction.
Correct. The interface, meaning name, inputs, and output, is the contract. Hiding the implementation behind it is exactly what procedural abstraction provides.
Question 6 of 6Evaluate
A student writes one procedure for the Create Task and it takes no parameters.
Why is this likely to lose credit on the student developed procedure requirement?
Incorrect. Execution speed has no bearing on the rubric.
Incorrect. There is no fixed parameter count required.
Correct. The requirement is about a parameter that changes what the procedure does, since that is what shows the abstraction is real rather than decorative.
Incorrect. Parameterless procedures are callable. They simply do the same thing every time.

Where to go next

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]