Row 6 Selection, Arguments

It seems that the Function Requirments section from the Survival Guide is at odds with Example 4 and maybe even the College Board’s Scoring Guidelines.

Code.org’s Survival Guide, Function Requirements (which received the point)

Selection means that a conditional, or if-statement, selects between two or more portions of your program to run. Iteration simply means repeating some behavior, as in a loop.

Code.org’s Survival Guide, Algorithm 4

function addPositives(list){
   var total = 0;
   var currentItem;
   for(var i = 0; i < list.length; i++){
      currentItem = list[i];
      if(currentItem > 0){
         total = total + list[i];
      }
   }
   return total;
}

College Board’s Scoring Guidelines

describe two calls to the selected procedure identified in written response 3c. Each call must pass a different argument(s) that causes a different segment of code in the algorithm to execute.

Question
If argument A causes line x to execute and
argument B prevents line x from executing, (example 4)
Does that satisfy “different segments of code in the algorithm to execute”?

It is my understanding from listening to people who actually know these things that yes, the absence of running a statement constitutes selection.

I agree. However, I think it will be easier for students to write about something happening rather than something not happening.

And, code.org should clear that up on their Survival Guide.

Hi @michael_campbel,

Thanks for bringing up this point! Like @jdonwells mentioned, from what we understand selection can mean that in one case a statement is run, and in another, the same statement is not. However, this would be a great question to pose on the College Board Forum [link].

As for our examples, I will keep this in mind when we update them for next year’s curriculum. With this being the first year the exam is being scored, we will have a lot better understanding of how the rubric is implemented as we head into next year.

Thanks again for bringing this up!
Cheers,
Ken