Table 1
Task Analysis Guide for Coding (TAG-C).
| LEVEL OF COGNITIVE DEMAND | KEY DESCRIPTORS |
|---|---|
| Low | Explicit directions are given to do one (or more) lines of code Task is so open that writing any code would accomplish the task (for example, code your robot to do a dance) Any decisions made by the student are arbitrary (not goal-oriented decisions) |
| Medium-low | Students have to make some decisions or put some lines of code together to accomplish a task, but the decisions or lines can be accomplished relatively independently, and there is a clear script for accomplishing each part There is little to no consideration of efficiency There is little to no incentive or expectation for creating the entire code before testing each part Some aspects of debugging may be present (for example, in a medium-low coding task, if the teacher asks students to debug their own code, this likely does not raise the cognitive demand of the task) |
| Medium-high | There is some aspect of metacognition (for instance, by having to think through the situation or problem before writing the code) There are some built-in constraints that require students to engage in some thinking or reflection to put the code together There is consideration of efficiency Some use of control structures (i.e., sequential, selection, repetition) is expected Some expectation for reflecting on their own code Task involves analyzing and comparing or modifying given code |
| High | Meets all or most of the medium-high descriptors and includes some of the following descriptors: Creating a program to solve some problem The number of decisions needed is high There are not known clear-cut procedures or scripts to accomplish the task There are potentially sub-routines or coordination of actions The tasks require some complexity in coordinating actions, structures, or routines Students may reflect on previously written code and put it together to create something new |
[i] Note: To classify a task, examine its characteristics. Choose the level that includes a majority of its characteristics. A task may fit more than one category; choose the category that includes the preponderance of evidence.
Table 2
Classification and Analysis of Example Tasks.
| TASK | DESCRIPTION | LEVEL OF COGNITIVE DEMAND |
|---|---|---|
| A | Code the Ozobot to perform a dance. | Low |
| B | Code the Ozobot to travel in a straight line of any distance, turn around, and come back. | Low |
| C | Draw a polygon and code the Ozobot to travel around the perimeter of your drawn polygon. | Medium-low |
| D | Code the Edison to travel in a straight line of a particular distance marked by a length of tape on the floor. Reflect on your code: Did it work? If not, how should you change your code? | Medium-low |
| E | Code the Roborobo to travel around the outline of a capital letter R, drawn on a gridded mat with only line segments and no curves. Write the entire code before implementing it with your robot. | Medium-high |
| F | Code the Roborobo to travel the path of a square using the loop block. Your code should contain at most six blocks. | Medium-high |
| G | Measure the side lengths of a given rectangle. Then code the Ozobot to travel around the outline of the rectangle or square on the first try. | Medium-high |
| H | Code an Ozobot and give it to a partner. The partner must guess the code and recreate the code so their own Ozobot mimics the actions of their partner’s robot. | High |
| I | Code a scene in Scratch that animates all phases of the rain cycle. Explain how you coded your scene. | High |
