'My Criterion is: Is it a Boolean?': A card-sort elicitation of students' knowledge of programming constructs