Jeremy Karnowski

Jeremy Karnowski

School: University of California San Diego (La Jolla, CA, USA)

Grade Levels: Undergraduate Freshmen and Sophomores

Courses Taught: Hands-On Computing


What are the main learning objectives in your course(s)?

The Hands-On Computing course introduces students to the basics of programming and wiring circuits to solve open-ended problems. Students use state machines to diagram out the operation of their robots and use this idealized version to compare to actual performance. The course covers variables, arrays, control flow, and functions. Throughout the course, students are also introduced to some key concepts in Cognitive Science and hear guest speakers doing current research in robotics. This course meets 3.5 hours a week for 10 weeks.


Which Parallax items do you use in your course?

  • Board of Education Shield Robotics Kit.
  • The Robotics Primer by Maja Mataric and the BOE Bot Tutorials.

There is also a collection of other sensors from Parallax that students have access to for use in their final projects.


Describe the experience for you and your students.

Having open ended problems where students can engineer their own solutions has made for an engaging class dynamic. Even a little bit of programming knowledge gets immediately translated into realizable robotic actions. Students participate in a robotic dance competition linking a song of their choice to robot movements. They work to solve a maze, one that has several possible paths, using any IR sensor configuration they choose. For the final project, they highlight what they've learned by using new sensors and programming novel behaviors.

The course website for Fall 2014 is


What is your favorite Parallax product and why?

I really appreciate the BOE Shield-Bot. It's a fantastic tool to quickly engage students into learning programming. The additional lessons on the site give a very comprehensive tutorial for people who want to experiment with Arduino as well as develop a course of their own.


Any tips for other teachers?

I would recommend constructing the robots ahead of time with helpers so that students can immediately make the robot move on day one. This makes the course, and programming in general, seem accessible to students. Every time you introduce a new programming concept, make it a key element for success in the next lab. Build and test the IR sensor configurations early as this has given the most issues for students. Bring in other faculty or graduate students to judge a robot competition. Connect the ideas in the course to current robotics research and other courses being offered at your institution.