CompSci 89s: Teaching with Robots
(Spring 2010)

Course Information
Duke/DPS Robotics Program
Mentor Site
Discussion Forum


Course Goals

After taking this course, students should be able to:
  • Be able to design and implement the software and hardware architecture of a LEGO robot to perform tasks such as line following and simple map building
  • Formulate a lesson plan for an after school robotics enrichment program for middle or high school students
  • Formulate and support a hypothesis on how access to and proficiency with computing technology affects education
  • Effectively mentor students from diverse cultural and educational backgrounds

Course Description

This seminar introduces programming in the context of mobile robotics. Students will develop a variety of projects using LEGO robot kits. The course also has a service-learning component where participants will mentor local middle and high school students on mobile robot projects as part of the Duke/Durham Public Schools Robotics Program.

No prior programming or computer science experience is required.

Time and Place

Discussion on 6:00-6:50 on Mondays in North Building 311 and lab sessions 3:30pm-5:35 on Thursdays in North Building 311. Students will also work on robot projects in the Robotics Teaching Lab; North Building 018.

Mentoring sessions will run from 4:00-5:30 in the Academy Building of Durham School of the Arts starting October 15. Students also need attend Saturday sessions on November 7 and December 5.

Texts and Software

Texts are available in the Duke textbook store. Students will also be given a number of readings which are printed from various sources.

The Unofficial LEGO MINDSTORMS NXT Inventor's Guide by David J. Perdue (required)
Mindstorms: Children, Computers, and Powerful Ideas 2nd Edition by Seymour Papert (optional)
LEGO MINDSTORMS NXT-G Programming Guide, by James Floyd Kelly (optional)
Most software for the course will be provided via this website. You can use computer science department-owned laptops during class. If you would like to use your own laptop, you will need to purchase the LEGO NXT Education software from
LEGO Education


Instructor: Jeff Forbes
Office: D235 LSRC
Office hours: Mondays 1-2:30, any time my door is open (which is most of the time), or by appointment

Undergraduate TA: Tony Thomas
Email: antonyt AT
Office Hours: TBA

Topics covered

  • Robotics
    • Architectures
    • Applications
    • Societal Implications
    • Use in education
  • LEGO Basics
    • Basic structures
    • Building a car powered by rubber bands
    • Beam and Gear Math
  • Software Development
    • The Design Process
    • The Programming Process
    • Programming Elements
    • Debugging
    • Environments
  • Access to Technology
    • The Digital Divide
    • Schools and technology
    • Is computer and Internet access really that important?
    • Gender and computing
  • Technical Literacy
    • Definition
    • Programming concepts
    • Fundamental algorithms
    • Dynamical systems
    • Logical thinking
    • Knowledge representation

Mentoring & Service Learning

A key aspect of the program is the close interaction of students with their mentors in small groups. Mentors will consistently advise a team of four students throughout the semester. These small groups will enable deep interaction and inquiry into creating RoboCupJunior champions.

As part of the requirements for the course, students are required to attend weekly mentoring session in Durham Public Schools. Durham Public Schools will conduct a criminal record check on volunteers who may have unsupervised contact with children. Successful completion of the course is subject to satisfactory completion of the background check and any other Durham Public Schools requirements.

As part of this course, you will need to travel off campus to Durham School of the Arts. You may choose to drive your own car, be driven by one of your classmates, or walk. You are not required to drive your own car or provide any of other classmates with transportation, but that is permitted.

Travel off campus has inherent risks. Your instructor has attempted to minimize and control these risks through careful design and organization of your service experience. However, a certain level of risk is inevitable, and it is important that you understand this so that you may make an informed decision to take this course.

The service for this course is an integral part of the learning experience for the class. The mentoring experience will serve as a laboratory for the technical, pedagogical, and ethical concepts that are investigated in this course.

Service Learning

In 1999, the Deans Advisory Committee for Service-Learning adopted the following definition of service-learning:
Service-learning links classroom learning with service to communities. Service opportunities are developed through collaboration among faculty, students, and individuals and organizations in the community. Service placements are designed to meet two criteria: to enhance the educational goals of a course and to serve the public good by providing a needed service to individuals, organizations, schools, or other entities in the community. Students involved in service-learning make a commitment to engage in a service project or to complete a specified number of hours of service work. Through structured activities of reflection and analysis, they are asked to integrate their service experience with the other materials of the course.

Service-learning goes beyond extracurricular community service because it involves participants in reading, reflection, and analysis. Credit is awarded not for service alone, but for academic work integrating the service experience. At its best, service-learning enhances and deepens students understanding of an academic discipline or subject, while providing them with experience that develops leadership and life skills and engages them in critical reflection about individual, institutional, and social ethics.


  1. Each student will participate in at least 20 hours of service through afterschool mentoring sessions and weekend workshops.
  2. The service experience is integrally related to the academic subject matter of the course. Students will need to learn how to build and program robots, so they can effectively mentor their student teams. Furthermore, students will learn about teaching techniques and discuss the social ramifications of technology in education.
  3. Coursework involves critical reflection on the relationship between academic course content and the service experience. Students will complete journals on Blackboard after each mentoring experience and discuss the relationship between course material and their teaching experiences.
  4. Coursework involves critical reflection on the ethical and civic dimensions of the service experience. Students will complete a paper on the purported need for afterschool science and technology enrichment programs and how they may or may not contribute to educational and social goals.

Web, Newsgroup, and Blackboard

Most of the course materials, including the syllabus, lecture notes, reading assignments, homework, programming FAQs, etc., will be available through the course Web page (

The discussion forum is useful for posting questions that are likely to be of interest to the rest of the class. We very much encourage students in the class to post responses to questions. We will monitor the the discussion forum regularly, and post responses to questions that have not previously been asked or answered. Before posting a question, please do make sure that you have read all previous messages and that your question has not yet been discussed.

We will use the Blackboard course management system ( and for turning in some assignments.

Finally, please check your email regularly, as important course announcements will be sent via email.


Grading is done on an absolute, but adjustable scale. This means that there is no curve. Anyone earning 90% or more of the total number of points available will receive a grade in the A range; 80% or more guarantees a grade in the B range, 70% or more guarantees a grade in the C range, 60% or more guarantees a grade in the D range. This scale may slide down, but it will not go up.

There will be several types of assignments during the term, each contributing to your final grade by approximately the following percentages:

Projects & assignments35%
Service learning/journals40%
Tests/Papers 25%

Course Policies

  • Collaboration Policy

  • Individual extensions will be granted only for medical reasons (see the Short-term Illness Notification policy) or other circumstances beyond your control that must be presented with an official Dean's excuse. We do not grant extensions after an assignment is due, you must request an extension before an assignment is due.

  • The secret to successfully surviving this course is to start early and work steadily; it is not possible to cram or skim in Computer Science classes. If you are having trouble, be sure to the professor as far before the due date as possible. Do not give up, ask for help.

Last updated Mon Mar 29 17:54:30 EDT 2010