CSC 499 Grinnell College Summer, 2011
 
Using Robots in CSC 161: an Exploration
 

Time line — Tentative Schedule of Activities

Week index: 12345678910  fall

Although the project will evolve over the summer, the following schedule outlines a possible time line for this project.

Week Dates Activities Status Product(s)
Week 1: 13-17 June experiment with basic properties/controls for Scribbler 2 substantial experimentation completed  
read Python-based book on use of robots for beginners material reviewed
write Python programs to experiment with basic Scribbler 2 capabilities done sample Python programs
use Python environment to update software in Fluke dongle and Scribbler 2 units done updated software installed
document steps to activate Bluetooth on Linux workstations done documentation posted
expand robot capabilities defined in C/C++ header and implementation files to include sound and basic motion done myroLocal.h, myroLocal.cpp
write simple C programs for robot to test sound and basic motion with myroLocal.h, myroLocal.cpp done sample C programs
experiment with camera and picture capabilities in C done myroLocal.h, myroLocal.cpp, 1-2 application programs
first draft definition of robot capabilities in C/C++ header and implementation files draft completed myroLocal.h, myroLocal.cpp
Week 2: 20-24 June refined myroLocal environment, plan several CSC 161 lab options, and develop demonstrate programs for the Scribbler 2 done plan of demonstrations and labs
establish bazaar version control for myroLocal.h, myroLocal.cpp done elements under version control
review CSC 161 labs for spring, 2010: for 4-6 labs, outline a Scribbler 2 application. done demonstration programs
review CSC 161 labs for spring, 2011: for 4-6 labs, outline a Scribbler 2 application. done demonstration programs
start write demonstration programs for range of robot capabilities
  • move until obstacle
  • move to avoid object on left, or on right, or in center
done demonstration programs
Weeks 3-4: 27 June-8 July develop outline of each (of 8) module draft produced module outline available
Map modules to day-by-day class schedule draft completed tentative class schedule (postscript / pdf)
Module 0: Outline materials (readings, examples, lab exercises, code, Web pages, documentation, project description) in progress Initial draft outline available
Module 0 example program: play music program completed pirates.c, spirit-song.c
Module 1 example program: music and movement (ice cream truck) program completed ice-cream-truck.c
Module 1 lab program: 4 uses of conditionals program completed conditional-battery.c, conditional-direction.c, conditional-pic-size.c
Module 1 lab program: 4 uses of loops program completed loops.c, loops-complete.c
Module 1 lab program: Scribbler 2 motion (forward, turn, back, repeat) program completed basic-motion.c
Module 2 example program: avoid object program completed avoid-obj.c
Module 2 example program: move until wall and turn right program completed wall.c
Module 2 example program: follow moving object program completed follower.c
Module 2 lab program: loop through 1-dim array of motions program completed array-move.c
Module 2 lab program: loop through 1-dim array of notes to play song program completed array-notes.c, loops-song-shell.c, loops-song-complete.c
Module 2 lab program: loop through 1-dim array of pictures to display movie program completed array-photos.c
Module 2 lab program: divide song into pieces with functions for each piece program completed revised-spirit-song.c
Module 2 lab program: divide dance into pieces with function for each piece program completed robot-hoedown.c
Module 2 lab program: wrapper function gives normalized values of sensors — either as single return value or using & operator with multiple parameters program completed get-obstacle-percent.c, get-ir-param.c
Module 3 lab program: use of I/O to provide basic menu framework program completed io-lab-1.c
Module 4 example program: define function to transform a pixel and apply it to entire picture program completed color-to-gray-picture.c
Module 4 example program: illustrate a pixel-based transformation to a picture (e.g., sort pixels by color) program completed pixel-sort.c
Module 4 lab program: transform picture by using of struct to hold pixel data program completed pixel2.c
Module 5 lab program: create/return array with pointers to hold array of sensor data program completed get-obstacle-percent-pointers.c, get-obstacle-percent-pointers-alt.c
Module 7 lab program: command-line arguments to control robot program completed command-line-program.c
Module 7 example program: use robot with command-line arguments and log file program completed robotLobber.c
experiment with multi-threading subject explored several technical issues identified, so multi-threading deferred
Week 5: 11-15 July document installation of MyroC package draft document completed README document
Module 0: Complete draft materials module framework completed Module 0 Outline
  • Module 0: Preliminary Examples
programs completed pirates.c (Pirates of the Caribbean), avoid-obj.c (Movement avoiding obstacles)
  • Module 0: Lab on Linux basics
materials available reading, lab
  • Module 0: Lab on files in Linux
materials available reading, lab
  • Module 0: Lab on file permissions in Linux
materials available reading, lab
  • Module 0: Lab on an introduction to C
materials available readings (quarts.c: A first program in C, Intro. to emacs), lab
  • Module 0: Lab on using the Scribbler 2 robot
materials available readings: (scribblerlab.c: A first C program using the Scribbler 2) , Annotated programs: (earsHandLow.c, spirit-song.c), lab
  • Module 0: Project description
draft completed Draft available
Weeks 6-7: 18-28 July Module 1: Complete draft materials module framework completed Module 1 Outline
  • Module 1: Preliminary Examples
programs completed dance.c , ice-cream-truck.c
  • Module 1: Lab on types and variables (with casting)
materials available readings from K&R, lab
  • Module 1: Lab on conditionals and Scribbler 2 motion
materials available readings (K&R, Booleans, Scribbler 2 motion, condition-battery.c ), lab
  • Module 1: Lab on loops
materials available readings, lab
  • Module 1: Lab on loops and Scribbler 2 motion
in progress readings from K&R, lab
  • Module 1: Project description
draft completed Draft available
Module 2: Complete draft materials module framework completed Module 2 Outline
  • Module 2: Preliminary Examples
materials available follower.c , wall.c
  • Module 2: Lab on 1-dimensional arrays
materials available readings from K&R, lab
  • Module 2: Lab on the & Operator and Addresses
materials available readings from K&R, lab
  • Module 2: The & operator and addresses
materials reading , lab
  • Module 2: Lab on testing
materials available reading , lab
  • Module 2: Project description
draft completed Draft available
Weeks 7-8: 28 July-9 August Module 4: Complete draft materials module framework completed Module 4 Outline
  • Module 4: Preliminary Examples
materials available picture-splice.c , square-move.c
  • Module 4: transform a pixel
materials available readings , lab
  • Module 4: Lab on transform pixels in a picture
materials available readings from K&R, lab
  • Module 4: Lab on sorting pixels in a picture
materials available readings , lab
  • Module 4: Project description
draft completed Draft available
Module 5: Complete draft materials module framework completed Module 5 Outline
  • Module 5: Preliminary Examples
materials available list-example.c
  • Module 5: Lab on pointers: create/return array, populate with sensor data
materials available readings from K&R, lab
  • Module 5: Lab on Scheme-like linked lists
materials available reading (from K&R, Scheme-like lists ) , lab
  • Module 5: Lab on linked lists and robotics
materials available lab
  • Module 5: Project description
draft completed forthcoming
Week 9: 5-12 August Module 3: Complete draft materials module framework completed Module 3 Outline
  • Module 3: Preliminary Examples
materials available io-NATO.c , counting-chars.c
  • Module 3: Lab on characters and strings
materials available reading from K&R , lab
  • Module 3: Lab on input and output
materials available readings (reading from K&R , getchar-example.c , strings in C ), lab
  • Module 3: More I/O
materials available readings (reading from K&R , scanf-example.c ) , lab
  • Module 3: Project description
draft completed Draft available
Module 7: Complete draft materials module framework completed Module 7 Outline
  • Module 7: Preliminary Examples
materials available Walker, An Introduction to C Through Annotated Examples , Programs 19 (genfile.c), 20 (readfiles.c), 21 (fileletters-1.c), 22 (fileletters-2.c), and 23 (fileletters-3.c)
  • Module 7: Lab on command-line arguments
materials available (reading from K&R) , lab
  • Module 7: Lab on reading and writing with files
materials available (reading from K&R) , lab
  • Module 7: Lab on more files
materials available (reading from K&R) , lab
  • Module 7: Project description
draft completed Draft available
Week 10: 15-19 August prepare poster completed 2 posters placed on bulletin boards
set up Science 3818 for robots work completed installation done, C programs run, and robots tested for 9 Scribbler 2
install updated Myro C++ and Myro C materials available shared libraries in /home/walker/Myro
upload materials to launchpad.com materials uploaded and checked email announcements sent to Myro list (myro-users@myro.roboteducation.org) and SIGCSE list (sigcse-members@acm.org)
write/refine paper for publication paper outlined assignments allocated to team members
Module 6: Complete draft materials module framework completed Module 6 Outline
  • Module 6: Preliminary Examples
materials available stack implementations: 1, 2, 3, 4, main
  • Module 6: Lab on stacks
materials available readings ( reading on stacks , stack implementations 1, 2, 3, 4, main ), lab
  • Module 6: Lab on queues
materials available reading , lab
  • Module 6: Lab on bash scripts
materials available reading , lab
  • Module 6: Project description
draft completed Draft available
Fall 2011 September / October possibly write/refine paper for publication in progress forthcoming
planning of MAP presentation not yet scheduled forthcoming

This time line will be updated regularly throughout the project.

created 9 May 2011
last revised 22 August 2011
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.