Manipulating the Real World in an Introduction to Computer Science Course
Ira Goldstein Siena College
Abstract A manipulative is a physical object used in the classroom to help make abstract concepts more concrete. In mathematics, manipulatives are frequently used in primary and middle schools to teach a range of topics from geometric solids and measurement to fractions and number bases. In computer science education, languages such as Logo with its turtle graphics and Alice with its drag and drop story telling ability have been used so that students can have immediate visual (on-screen) feedback of their programming efforts. While these approaches have been useful, they do not provide the ability to manipulate real world physical objects. Originally developed at the Carnegie Mellon CREATE Lab, the Finch is a small, inexpensive robot that allows students to write programs to manipulate and interact with a physical device. The Finch robot contains light sensors, an accelerometer, compass, and an ultrasonic obstacle/distance sensor. It also has a marker holder that allows it to draw on paper. Most of the published research using the Finch has been in primary and secondary settings. We propose a study to evaluate the use of the Finch in a college introductory computer science course. Specifically, we will look at how well the Finch helps students understand the key concepts of iteration and of conditional statements.