CSC 499 | Grinnell College | Summer, 2011 |
Using Robots in CSC 161: an Exploration | ||
Week index: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 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
| 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 | ||
| programs completed | pirates.c (Pirates of the Caribbean), avoid-obj.c (Movement avoiding obstacles) | ||
| materials available | reading, lab | ||
| materials available | reading, lab | ||
| materials available | reading, lab | ||
| materials available | readings (quarts.c: A first program in C, Intro. to emacs), lab | ||
| materials available | readings: (scribblerlab.c: A first C program using the Scribbler 2) , Annotated programs: (earsHandLow.c, spirit-song.c), lab | ||
| draft completed | Draft available | ||
Weeks 6-7: | 18-28 July | Module 1: Complete draft materials | module framework completed | Module 1 Outline |
|
programs completed | dance.c , ice-cream-truck.c | ||
| materials available | readings from K&R, lab | ||
| materials available | readings (K&R, Booleans, Scribbler 2 motion, condition-battery.c ), lab | ||
| materials available | readings, lab | ||
| in progress | readings from K&R, lab | ||
| draft completed | Draft available | ||
Module 2: Complete draft materials | module framework completed | Module 2 Outline | ||
| materials available | follower.c , wall.c | ||
| materials available | readings from K&R, lab | ||
| materials available | readings from K&R, lab | ||
| materials | reading , lab | ||
| materials available | reading , lab | ||
| draft completed | Draft available | ||
Weeks 7-8: | 28 July-9 August | Module 4: Complete draft materials | module framework completed | Module 4 Outline |
| materials available | picture-splice.c , square-move.c | ||
| materials available | readings , lab | ||
| materials available | readings from K&R, lab | ||
| materials available | readings , lab | ||
| draft completed | Draft available | ||
Module 5: Complete draft materials | module framework completed | Module 5 Outline | ||
| materials available | list-example.c | ||
| materials available | readings from K&R, lab | ||
| materials available | reading (from K&R, Scheme-like lists ) , lab | ||
| materials available | lab | ||
| draft completed | forthcoming | ||
Week 9: | 5-12 August | Module 3: Complete draft materials | module framework completed | Module 3 Outline |
| materials available | io-NATO.c , counting-chars.c | ||
| materials available | reading from K&R , lab | ||
| materials available | readings (reading from K&R , getchar-example.c , strings in C ), lab | ||
| materials available | readings (reading from K&R , scanf-example.c ) , lab | ||
| draft completed | Draft available | ||
Module 7: Complete draft materials | module framework completed | Module 7 Outline | ||
| 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) | ||
| materials available | (reading from K&R) , lab | ||
| materials available | (reading from K&R) , lab | ||
| materials available | (reading from K&R) , lab | ||
| 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 | ||
| materials available | stack implementations: 1, 2, 3, 4, main | ||
| materials available | readings ( reading on stacks , stack implementations 1, 2, 3, 4, main ), lab | ||
| materials available | reading , lab | ||
| materials available | reading , lab | ||
| 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 |
![]() ![]() |
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |