Your Name Goes Here Assignment Number, Part Number Goes Here PROGRAM TRACE TABLE Program Source File: File Name Goes Here Directions are listed on the next page – read them all before starting!!

Line# Program Statement Robot's Robot's Robot's Robot's Extra Extra Extra Extra Extra Extra Street # Ave # Direction Backpack Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Contents

For a new row in this table, move the cursor to this cell, then push the 'Tab' key

Directions: You should remove these directions before handing in this file for homework assignments, etc. Failure to do so will result in a loss of points.

You'll notice that there are a number of extra columns, labeled "Extra Column N" where N is a number. Feel free to use these columns to keep track of anything you want to. DO change the column label, so that it's clear what you're keeping track of. Any columns that you don't use, you should get rid of, by deleting them.

If you need help making Word do the things you want to the tables (for example, removing columns), feel free to ask in class.

New Students: Since this table is designed to track a robot as the program runs, you should start tracing the program at the first line after all the setup code. As you progress though the course, you'll be shown how to trace through all the rest of the code, including the setup code. Using the example code in Figure 1 (below), you should start tracing at line 7. You should fill in the first line with the consist of the code for line 7 and the state of the robot after line 7 has been executed. See Figure 2 for an example. This should help make it more clear exactly what effect each line of code has.

Note: You should NOT include blank lines, lines that contain only { }, or lines that contain comments – you only include lines that actually cause the program to do something (remember that some lines, like line 7 in the below example, cause the program to do something, even if that something isn't visible to the user)

Line Program Source Code 1 import becker.robots.*; 2 3 public class ICE_01_Tutorial_1 extends Object 4 { 5 public static void main(String[] args) 6 { 7 City toronto = new City(); 8 Robot karel = new Robot(toronto, 0, 3, Directions.EAST, 0); 9 Thing theThing = new Thing(toronto, 2, 3); 10 CityFrame frame = new CityFrame(toronto); 11 12 karel.move(); 13 karel.move(); 14 karel.pickThing(); 15 karel.move(); 16 karel.putThing(); 17 karel.turnLeft(); 18 karel.move(); 19 } 20 } Figure 1: Example Code Robot's Thing's Robot's Robot's Robot's Line# Program Statement Backpack Location Ave # Street # Direction Contents - - - - - 7 City toronto = new City(); - - - - - 8 Robot karel = new Robot(toronto, 0, 3, Directions.EAST, 0); 0 3 EAST 0 (2,3) 9 Thing theThing = new Thing(toronto, 2, 3); 0 3 EAST 0 (2,3) 10 CityFrame frame = new CityFrame(toronto); 0 3 EAST 0 (2,3) 12 karel.move(); 1 3 EAST 0 (2,3) 13 karel.move(); 2 3 EAST 0 (2,3) 14 karel.pickThing(); 2 3 EAST 1 - 15 karel.move(); 3 3 EAST 1 - 16 karel.putThing(); 3 3 EAST 0 (3,3) 17 karel.turnLeft(); 3 3 NORTH 0 (3,3) 18 karel.move(); 3 4 NORTH 0 (3,3) Figure 2: Example of Tracing Note: I removed the column that I don't use.