This CAT allows instructors to find out if students understand the definitions and requirements of a function definition in Java.
Fill out the following matrix. The first column lists the concepts associated with a function. In the second column, write yes or no depending on if this concept is necessary for a function definition. In the third column, write the possible number of uses of each concept for a function definition.
| Concept | Necessary (yes/no) | If used, how many are possible? |
| Local Variables | ||
| Return Statement | ||
| Return Value | ||
| Parameters | ||
| Function Name | ||
| Return Type | ||
| Prototype |
| Concept | Necessary (yes/no) | If used, how many are possible? |
| Local Variables | no | zero or more |
| Return Statement | no (in the case of a void return type) | zero or more |
| Return Value | no | zero or one |
| Parameters | no | zero or more |
| Function Name | yes | one |
| Return Type | yes | one |
| Prototype | no (if function definition appears in file before function is called) | one |
Look at each cell and count the frequency of correct answers. Also, circle any answers that are exceptionally good or bad (use different colors to make finding them again easier). Using the frequency numbers, identify which aspects are most misunderstood among the students.
Determine what you want to discuss with the class and select representative solutions from the student submissions.