<?xml version="1.0" encoding="ISO-8859-1"?>
<CAT xmlns:cat="http://www.w3.org/TR/html4/" version="2.0"> 
<cat:title>Integer vs. Integer Array Categorizing Grid</cat:title>
<cat:author>Tammy VanDeGrift and Kate Deibel</cat:author>
<cat:date>October 28, 2003</cat:date>

<cat:technique>Categorizing Grid</cat:technique>

<cat:purpose>
<p>
This activity allows instructors to see if students are aware of when it is best to use a single integer or an array of integers.
</p>
</cat:purpose>
<cat:activity>
<p>
This activity will give you the opportunity to decide what sort of variable you would use when programming. Place each item in the Values box under the variable type that would <i>best</i> represent it.
</p>

<br></br>

<center>

<table border="1">
<tr>
<td align="center" width="150">
Integer
</td>
<td align="center" width="150">
Integer Array
</td>
</tr>
<tr>
<td height="155">

<br></br>

</td>
<td height="155">

<br></br>

</td>
</tr>
</table>

<br></br>

<table border="1">
<tr>
<td align="center">
Values
</td>
</tr>
<tr>
<td>

<ol>
<li>The total rainfall for the past month</li>
<li>The daily rainfall for the past month</li>
<li>The number of jobs completed by Bill and Debbie</li>
<li>The position of the white king on a chessboard</li>
<li>The number of days till the final exam</li>
<li>The position of all the pieces in a chess game</li>
<li>The number of days in each month of they year</li>
<li>A collection of homework grades</li>
<li>The total points posssible on all homeworks</li>
<li>A chessboard</li>
</ol>

</td>
</tr>
</table>

</center>
</cat:activity>
<cat:solution>
<p>
The following are suggestions, but several of the items in this activity are meant to encourage discussion.
</p>

<ol>
<li>INT: The total rainfall for the past month</li>
<li>ARRAY: The daily rainfall for the past month</li>
<li>INT: The number of jobs completed by Bill and Debbie</li>
<li>INT: The position of the white king on a chessboard</li>
<li>INT: The number of days till the final exam</li>
<li>ARRAY: The position of all the pieces in a chess game</li>
<li>ARRAY: The number of days in each month of they year</li>
<li>ARRAY: A collection of homework grades</li>
<li>INT: The total points posssible on all homeworks</li>
<li>ARRAY: A chessboard</li>
</ol>
</cat:solution>
<cat:analysis>
<p>
Run through the grids and mark incorrect or missing entries. Identify the most common errors as well as any patterns that could explain student confusion. Reflect upon these errors and report them back to the class as you see fit.
</p>
</cat:analysis>
<cat:variant_uses>
	<cat:variation>For each item, have the students also give a proper, well-named variable declaration in addition to the categorizing grid.</cat:variation>
	<cat:variation>Have students work in groups to complete this activity. The instructor may want to circulate throughout the groups to ensure that each group is making progress. After the groups have completed their lists, the instructor can ask for votes on each item. It is important that the instructor explains why each data structure is appropriate for the task.</cat:variation>
	<cat:variation>Have students work individually on their lists and then form groups of 4-5 people to discuss their individual lists with other members of the group.</cat:variation>
</cat:variant_uses>
<cat:classification>
<cat:assessment_goals>
	<cat:goal>Develop analytic skills</cat:goal>
	<cat:goal>Develop ability to draw reasonable inferences from observations</cat:goal>
	<cat:goal>Improve memory skills</cat:goal>
	<cat:goal>Develop appropriate study skills, strategies, and habits</cat:goal>
	<cat:goal>Learn terms and facts of this subject</cat:goal>
	<cat:goal>Learn concepts and theories of this subject</cat:goal>
</cat:assessment_goals>
<cat:topics>
	<cat:topic>Integers</cat:topic>
	<cat:topic>Arrays</cat:topic>
	<cat:topic>Design</cat:topic>
	<cat:topic>Variables</cat:topic>
</cat:topics>
<cat:participation_level>
</cat:participation_level>
<cat:time>
	<cat:preparation_time>LOW</cat:preparation_time>
	<cat:class_time>LOW</cat:class_time>
	<cat:in_class_analysis_time>LOW</cat:in_class_analysis_time>
	<cat:out_class_analysis_time>LOW</cat:out_class_analysis_time>
</cat:time>
<cat:instructor_response>
	<cat:response>Lecture</cat:response>
	<cat:response>Next Day Summary</cat:response>
	<cat:response>Class Discussion</cat:response>
	<cat:response>Homework</cat:response>
</cat:instructor_response>
<cat:device_enabled>Has Been Enabled</cat:device_enabled>
<cat:related_topics>
	<cat:topic>Types</cat:topic>
	<cat:topic>Doubles</cat:topic>
	<cat:topic>Design</cat:topic>
	<cat:topic>Structs</cat:topic>
	<cat:topic>Classes</cat:topic>
	<cat:topic>Functions</cat:topic>
</cat:related_topics>
</cat:classification>
</CAT>