Next: References Up: Connect 4 as a Previous: Finding the Shoulder


After a high level of interest among prospective students, a surprisingly few students (three) enrolled. This created an atmosphere of pushing hard against the odds and a close deadline. Fortunately, the author and instructor had already written a preliminary version of the code to implement robot control as described in the previous section. The three students each focused on one of the following: the parent program, the child program and the evaluation function.

None of the students had substantial experience programming in C, (in which the project was developed), but all had some experience in other languages (mostly BASIC and Pascal). Consequently, some time was spent the first few days examining the basic features of the C language along with developing a design for the project. Approximately four to five days were devoted to developing code for the system leaving a couple of days for fine tuning.

Because the RoboArm does not use stepping motors, some amount of inaccuracy in positioning was observed. While this inaccuracy was small enough not to be a problem for single moves in the game, compounding of the error caused the robot to drift out of calibration over the course of five to ten moves. Consequently, before the robot picked up the next checker to play, the parent program paused to allow for any necessary recalibration.

On the final day of the program, the students challenged students in all other Summer Scholars classes to play against the robot. Of the five games played by students and counsellors, the computer/robot won four.

Brian L. Stuart