5.5 bubble #22 AP Create Performance question


#1

In this questions, students were given row 7 of the rubric and a screenshot of code. They were asked to explain why you would or would NOT award the point for Row 7 based on the criteria given in the rubric.
This is my first year teaching APCSP with no CS background. After looking at the answer key, I need help explaining two things to students:

  1. . Why are event-handlers NOT considered abstraction by the College Board
  2. . Explain how code “manages complexity”

#2

An abstraction simplifies (and “manages complexity”) by hiding details. Going back to Unit 3, we taught the turtle “turnRight” really means “turnLeft, turnLeft, turnLeft”. It’s much easier as a human to deal with a simple command “turnRight”, even though behind the scenes (thanks to our definition of the turnRight function), what’s really happening is “turnLeft turnLeft turnLeft”. We deal with the simple thing while really a more complex thing is happening. Also, we created that abstraction… we taught the turtle what we want it to do when we say “turnRight”.

That’s an example of managing complexity because if we hadn’t made that abstraction, we would have to give the turtle three commands. Our abstraction allows us to do the same work using just one command.

Event handlers might manage complexity because they hide whatever code is happening at a lower level to interface with the computer hardware, but that work was done by some professional developer - not the student… thus event handlers are not student-developed abstractions. The student might develop what happens when that event is triggered, but the student’s work does not result in simplifying or managing the complexity of the code.