Adding Robotics To Your Computer Science Curriculum Edward J. Moskal emoskal@spc.edu Saint Peter’s College Abstract Robotics was introduced in our Computer Science Club during the 2006/2007 Academic Year in which we observed our students generating a high level of enthusiasm. As a result of the high level of enthusiasm we thought it would be a good idea to develop an Introduction and Advanced Robotics course for our Computer Science Undergraduate program. The two new courses could help us further attract and retain computer science students and introduce interesting courses in our curriculum. Robotics has been a rapidly evolving technology as business and society are continuously looking for ways to automate procedures, processes and activities. Its development and evolution in industry and with consumers will depend on the existence of a robotics-savvy workforce. Offering Robotics courses at our College will have a positive impact on our computer science students as they head out into the workforce and strengthen our computer science curriculum. Keywords: Human-Computer Interaction, Student Research, Assessment, Software, Design 1. ROBOTICS AT OUR COLLEGE We introduced robotics in our Computer Science Club this past 2006/2007 academic year using Lego Mindstorms Robot kits. Students conducted research in software programming tools and human-computer interaction, and built motion sensor robots. We observed students generating a high level of enthusiasm, deep engagement, self-motivation, and independent learning. Students were drawn to the challenge of creating and building a robot and at the same time they developed and exercised critical thinking and logical decision-making skills. During our annual Academic Symposium, in which students from all majors display and present projects to faculty, administration, and fellow students, there was very positive feedback received on the robots our Computer Science Club members presented. As a result, the Computer Science Department decided to pursue the development of two new robotics courses (Introduction to Robotics and Advanced Robotics). In order to justify the two new robotics courses, a survey was given to all students that were enrolled in a computer science class during the Fall 2006 semester (computer science as well as non-computer science majors). The survey asked the students which courses they would be most interested in taking and robotics was one of the top courses selected. As a result of the survey, the new robotics courses will be developed and offered at our College starting in the Fall 2007 semester. We will use Lego Minsdtorms kits as part of the robotics curriculum. 2. ABOUT LEGO MINDSTORMS Lego Mindstorms is a kit that contains the parts and the computer software required for students to assemble and program robots. The key component of Lego Mindstorms is a microcomputer, called the NXT Intelligent Brick, which can be programmed using a personal computer via an infrared port. The NXT uses input sensors to collect data from its environment, processes the data, and then outputs signals to activate motors. Components of the Lego Mindstorms kit include the following: * an NXT Intelligent Brick with 32-bit microprocessor and memory * interactive motors with built-in rotation sensors to align speed for control * sound sensors that react to sound commands, patterns and tones * ultrasonic visual sensors that responds to movement * touch sensors that reacts to touch and release * light sensors that detects different colors and light intensities * input and output ports * matrix display * sound speakers * USB 2.0 and Bluetooth support * personal computer interfaces * NI LabVIEW Software - Intuitive, icon-based drag-and-drop program "building" environment * 500 LEGO parts for building robots NI LabVIEW is the software that gives the student the ability to assemble the instructions that become the brains of the robot. NI LabVIEW offers a range of sophistication that supports beginning to advanced students. NI LabVIEW is intuitive graphical programming software used by scientists and engineers worldwide to design, control and test consumer products and systems such as MP3 and DVD players, cell phones, and vehicle air bag safety systems. Applications include helping to control the NASA Mars Pathfinder exploration to testing the Microsoft Xbox. Together, Mindstorms and NI LabVIEW form a hardware and software package that supports the creation of robots. Once built and programmed, the students’ robotic creations can interact with their environment, operating independently based on their creator’s programmatic instructions. Students can design and build a temperature monitor, a light-sensitive intruder alarm or a robotic rover that can follow a trail and move around obstacles. The options for problem solving and creativity are endless. 3. WHY ROBOTICS? By adding robotics courses to the Computer Science curriculum a number of exciting educational benefits can be offered to students. These benefits include: * Provide hands-on activities that support creativity, problem solving, troubleshooting, and direct learning. * Provide classroom instruction that can give students meaningful exercises that introduce and reinforce the following science and math concepts: - algorithms - ratios - diameter, radius, and circumference - friction - measurement of distance, time, angles, and speed - light and the electromag- netic spectrum - electricity and circuits - programming techniques * Increase student awareness of robotics and interest in robotics-oriented jobs. * Familiarize students with a technology that will become important during their lifetimes. * Enhance the computer science curriculum to attract students of computer science. 4. DESCRIPTION OF NEW COURSES The two courses below are planned for the 2007/2008 academic year. At the time of the 2007 ISECON Conference, the major part of the first semester will have been taught. During this years Conference, I plan to present preliminary results. Introduction to Robotics: This course will focus on models and methods for the design and development of robotic devices whose function is to accomplish prescribed tasks with minimal human intervention. Emphasis will be on basic robotics elements: simple mechanics (moving, turning, lifting), sensing the environment (light, contact, proximity), monitoring internal state (time, position, orientation), and incremental design for solving a problem. A major objective will be the implementation of a working robot to address a performance specification. There will be a laboratory component. Students will work in teams of 2 on laboratory projects utilizing Lego Mindstorms kits. The laboratory component will include: * Exercises: Move, Loop, Lift, Light Sensor, Proximity, Sound, Switch * Robot Build Assignments: Explorer, Humanoid, Time Machine, Poker Machine, Locomotion on Rails * Final Project – Build an intelligent, autonomous, mobile robot incorporating components/functionality learned during the course. Course pre-requisite: Introduction to Computers and Information Systems or Introduction to Programming. Advanced Robotics: The course will teach advanced programming concepts in robot technology. Topics covered include robot control and robot hardware, the mathematics of robot control (local and global coordinate systems and transformations between them), and robot programming languages. Planning topics include obstacle avoidance, task planning, and navigation. Sensing emphasizes vision, including binary image processing, robot vision, and knowledge-based vision systems. There will be a laboratory component. Students will work in teams of 2 on programming assignments and laboratory experiments utilizing Lego Mindstorms kits. The laboratory component will include: * Exercises: Multiple Tasks, Switches, Variables, Obstacle Avoidance, Navigation, Program Languages * Robot Build Assignments: Camera Bot, WiFi Robot, Web Controlled Robot, Maze Runner Robot, Acidity Tester Robot, Temperature Sensor, Radar Bot * Final Project – Build an intelligent, autonomous, mobile robot incorporating components/functionality learned during the course. Course pre-requisite: Introduction to Robotics. The final project for both courses will have the following grading criteria: 20% - Demonstration of Robot 25% - Robot design as evidenced in report 25% - Experimental method as evi- denced in report 15% - Review of background mate- rial as evidenced in report 5% - Web page abstract 5% - Presentation of report 5% - Project management in ex- perimental log book 5. MATERIALS AND COSTS There should be enough materials to engage 60 students at a time (2 classes with 30 students in each class), with one Lego Mindstorms kit for every two students (total of 30 kits). Each Lego Mindstorms kit will cost $250. The approximate cost to acquire the Lego Minsdstorm kits and accessories is $10,290. An additional $5,000 is allocated for faculty stipends to develop the new courses. Following are cost details: Item Cost Lego Mindstorms NXT Kits $7,500 Bluetooth Dongles $1,140 Rechargeable AA Batteries $900 AA Battery Re-chargers $150 Tupperware Containers $600 Sub-Total $10,290 Stipend - 2 Faculty $5,000 Grand Total $15,290 Once established, the costs of maintaining the Robotics courses should be minimal. These costs will include the replacement of parts, upgrades to the NI LabVIEW software when new versions become available, and additional parts such as temperature sensors to support advanced projects. 6. IMPLEMENTATION PLAN Following is our implementation schedule for rolling-out the 2 new Robotics courses: * 06/15/2007: Purchase Lego Mindstorms kits and associated materials. Install NI LabVIEW software, test hardware and software, label and load storage bins. * 07/15/2007: Faculty education and research. * 08/30/2007: Develop “Introduction to Robotics” course, build and test robot prototype. * 09/01/2007: Offer College first Robotics Course. * 11/30/2007: Demonstrate Robot prototype at Annual College Open House. * 12/10/2007: Student Course Evaluations. * 12/15/2007: Completion of first Robotics course at College. * 02/01/2008: Course Assessment Analysis. * 06/15/2008: Develop “Advanced Robotics” course, build and test robot prototype. * 08/15/2008: Prepare for roll-out of 2nd Introduction to Robotics course and initial “Advance Robotics” course in Fall 2008 semester. * 09/01/2008 and on: Continue to run Introduction to Robotics and Advanced Robotics courses and enhance courses based on evaluations and assessments. 7. ASSESSMENT Student enthusiasm for robotics and computer science is one of the primary goals. It will be measured by the students’ focus during classroom and laboratory activities during the robotics course they engage in. In addition, the following will be used to rate course effectiveness: * The quality of the students’ critical thinking and logical decision-making skills will be measured by their ability to overcome setbacks and unexpected results in the course of building and programming their robots. Peer reviews and project post-implementation reviews will provide an opportunity to assess the depth and precision of students’ problem analysis. * Student ability to describe modules and how they fit together and interact to accomplish a task. Student presentations will be made. * Student ability to modify a robotic design based upon peer/instructor feedback. Student demos of the new design will be made. * The gathering, synthesis and application of technical information pertinent to robot design and providing technical communications to a technical audience. Students will develop web pages to collect and assist in communicating information. * Students will write, implement, test and debug the programs that run the robots. This will be measured by the efficiency and sophistication evident in the programs. * Students will express their robot design, mathematical ideas, and troubleshooting activities/solutions in a development notebook that will be reviewed and graded by the instructor. * Students will exercise leadership and teamwork skills, creating teams that are inclusive, where all opinions are solicited and valued. * Student evaluations that have already been established in the College for courses will be compared between the Robotics courses and the more traditional computer science courses (Introduction to Computers & Information Systems and Introduction to Programming) to analyze critical thinking and problem solving skills utilized in each course. * A survey will be conducted of computer science students to obtain statistics/metrics to determine if Robotics courses have attracted students into computer science. The survey will be targeted to students initially enrolled in the computer science program, undecided students that enroll in computer science, and students that change majors to go into computer science. 8. CONCLUSION When we introduced robotics in our Computer Science Club this past academic year we observed students generating a high level of enthusiasm, deep engagement, self-motivation, and independent learning. Students were drawn to the challenge of creating and building a robot and at the same time they developed and exercised critical thinking and logical decision-making skills. By adding robotics courses to the Computer Science curriculum we can offer a number of exciting benefits to our students in a technology that will become important during their lifetimes. Robotics features a unique combination of technology, theory and physical dimensions that gives it tremendous possibilities for learning. It integrates science and math with imagination, creativity, and hands-on problem solving. Solving physical problems with robotics will provide a means for students to manipulate variables like time, speed, and direction while being able to clearly observe the results of their experimentation. It can provide a test-bed for computer science and math concepts, increasing computer literacy, and allowing students to demonstrate and enhance their leadership and teamwork skills. Preliminary results of the Robotics courses that are offered during the 2007/2008 academic year will be discussed at the 2007 ISECON Conference. 9. REFERENCES Allyn and Bacon (1984) Benjamin S. Bloom Taxonomy of Educational Objectives, Pearson Education Brumson, Bennett (2006) Robotics Industry Poised for Continued Growth in 2006, Robotics Online Dodds, Greenwald, Howard, Tejada, Weinberg (2006) Robots and Robotics in Undergraduate AI Education, AI Magazine Erwin, Benjamin (2001) Creative Projects with LEGO Mindstorms, Addison-Wesley Martin, Fred (2000) Robotic Explorations, Prentice Hall Meadhra and Stouffer (2000) Lego Mindstorms: for Dummies. Wiley, John & Sons