Adding a Robot Project to a CS1 Course Patricia Roth Pierce April 17, 2010
Introduction • A Little Bit About Me • Where the course fits into the curriculum • Why I added a robot project to CS1/CS2 • How I did it • Results
My Background • Undergraduate Math major – no CS at that time. • Worked for IBM several years, teaching customers and employee training classes in programming - early 60s. • After being married and starting a family, worked part time at two and four year colleges wherever we were located - late 60s to late 90s (since 1982 at SPSU). • Returned to school for a Masters in Software Engineering and landed a full time position at SPSU in 2002. • Current position - Senior Lecturer
Southern Polytechnic State University • Founded in 1948 as a two-year division of the Georgia Institute of Technology • requested by Georgia business and industry. • 16 students and 12 staff. • Housed in an airport building in Chamblee, GA. • Today, SPSU is a four year accredited university with: • A 230 acre campus in Marietta, GA. • 35 buildings and 3 new ones under construction. • 5000+ students from 61 countries. • Four Schools – Arts & Sciences, Engineering & Technology Management, Architecture, CET, & Construction, and Computing and Software Engineering (includes IT)
Computing and Software Engineering • Undergraduate/Graduate degrees in: • Computer Science • Software Engineering • Information Technology • Gaming (undergraduate only at this point)
CSE Curriculum • Currently all four CSE undergraduate degrees begin with a 2 or 3 semester programming sequence of: • Program and Problem Solving I (Java) • Program and Problem Solving II (Java) • Data Structures (C++) • CSE School also provides the first two programming courses for our Engineering, Math, Biology, and Physics students.
Program and Problem Solving I and II • 4 credit course – 3 hours lecture (40 students), 1.5 hours closed lab (20 students with full attendance of professor and lab assistant). • Graded on 3 tests, 6 outside projects, 11 closed lab assignments, and a few homework papers. • Every semester, I have made the last project a two-student team assignment to design a program with a GUI or graphic component and present the results in front of the class. Grade is on depth, correctness, and enthusiasm. I encourage them to have fun with it. • I have been pleasantly surprised!
Why I Added Robot Project to Courses • Current popularity • SIGCSE conference, Spring, 2009 • Email from my department chair • NOTE: Not trying to teach robotics or teach all of CS1 using a robot (Ga. Tech.) - just considered adding a robot project to current course, in place of the GUI/Graphics assignment.
Possible Robot Choices • Lego – too much time to build and program. • Cricket – too youthful, aimed at grade and high school, I felt. • Scribbler - www.roboteducation.org
Scribbler Robot • Lots of sensors, camera, pen attachment, and speaker • Wireless • Local contacts at Ga. Tech. • ~ $250.00 for Scribbler, Bluetooth thumb drive, and Lancet fluke dongle. • Free resources on internet a.) text: Learning Computing with Robots by Deepak Kumar b.) reference manual: Myro_Reference_Manual - Python language (2.4)
One Hour of Lecture! • Basic Python commands for the Scribbler • motors, forward, backward, rotate, move • Ask students to code drawing a square forward(1,1) turnLeft(1,.3) forward(1,1) turnLeft(1,.3) forward(1,1) turnLeft(1,.3) forward(1,1) (all as separate commands) • Function definition in Python • sample dance routine from text – see handout
Several Lab Hours • My lecture on Scribbler was given after midpoint of the semester. • One week to think about it, read material, choose teammate (optional), and propose a robot activity. • Sign-up sheet - any stragglers were assigned by me. • Closed lab time available for practice, as well as several other times with lab assistant. • I encouraged them to play and learn as much as they could but not to try to do more than was realistic. • Presentations were during the last full week of class – attendance mandatory.
First Scribbler Projects • First Year Students – C++ • Parallel Park • Draw a Box frontwards and backwards, followed by a song • Play Mario theme song and draw a box • Trace a zig-zag path and return • Recreate a Gone with the Wind scene • Draw a house • Draw a figure 8 • Act like a dog, play Jingle Bells • Play Rock, Scissors, Paper, Spock, Lizard – uses camera • Draw a 3-D box • Draw 2 intersecting diamonds • Play Twinkle, Twinkle, Little Star, draw and redraw a box • Draw First Robotics Logo
First Scribbler Project (cont) • Second Year Students – Java • Play baseball with three different sounds • Boogie Dance to a wav sound file • Wanders, detects obstacles, and moves away • Staying on white paper, surrounded by black – playpen effect • Play Flight of the Bumblebee • Follow a light source • Takes a picture, determine color and moves 3 different ways, based on color it “saw”, play Ode to Joy • Print “HELLO” using 4 functions • Gradually speeded up and slowed down wheel motors • Avoid objects and make car start up and running noises, blink lights • Find green color (balloon) and pop it • Trace across a white poster board and calculate its area and perimeter • Draw and retrace a spiraling circle • Draw two boxes, side by side • Imitate a puppy by backing off from any object and barking
Biggest Lessons • Have patience when using mechanical devices – learned this very well. • Learning a new language after the first is a piece of cake!
Frustrations – a few • Scribbler eats batteries – I have changed to rechargeable batteries. • Scribbler must be recalibrated from time to time and, even then, is not precise. • Students do not have enough time to do all that they want to do, although some students really got into it and enjoyed every moment
Questions, Demo, and Contacts • Questions? • Film • Demo • Thank you and I welcome any later questions/comments you may have – just email me at: firstname.lastname@example.org • PowerPoint slides available at: http://cse.spsu.edu/proth