Join the Team of High School Machine-Learning Robot Builders

It may take a major university to build a true self-driving car, but any high school class with a 3D printer can create a robot that drives around, learning as it goes. All you need is a simple reinforcement learning algorithm such as Q-Learning, a handful of parts, and a little Python.

What is Q-Learning?

Q-Learning is a shallow artificial intelligence algorithm, so there’s no "black-box" full of hidden numbers or magical math. It’s the easiest entry point for the field of reinforcement learning. Under the hood, Q-Learning relies on nothing more than one array of numbers, simple arithmetic, and a really clever approach. Everything inside a Q-Learning algorithm is plainly visible and easy to understand.


To teach Q-Learning, LoisLab (an upstart not-for-profit group of volunteers in Portsmouth, NH) created the self-driving Q-bot, a simple robot that learns as it goes (see this article, or GitHub for full details). Students will discover that the exact same Python code that tackles tic-tac-toe can learn to guide the Q-bot through basic tasks, like seeking an object or avoiding a wall.

Based on the Raspberry Pi Zero W, a Q-bot can be built for under $50. Then, turn it loose and watch it wander around the classroom, getting smarter as it goes. Better yet: challenge your students to build a better Q-bot, and contribute it back to the project. Or, build a Q-something-else, using the same code.

Q-Bot looking around

The Goal: Machine Learning, Simplified

Educators may be surprised to find that students needn’t wait until junior or senior year of college to embrace machine learning. Those concepts can be distilled down to problems that fit into a 10th or 11th grade computer science curriculum. Machine learning may sound daunting, but like many brilliant ideas, the concepts are simple, well-resolved, and clear.

An open-ended lesson can equip the kids with the fundamentals -- three or four years ahead of schedule -- and turn them loose to extend their projects in any direction they choose.


The Q-bot project is a start-to-finish exercise in machine learning, with no shortcuts or hidden pieces. Before you know it, the students will be working out in the Open AI Gym.

Join In The Fun

We are calling out to high schools and makerspaces to join the project, to see what we can build. We are here to support educators, to make sure projects are successful.


So here’s the plan: interested educators should take a look at the materials above, and contact We can set up a walk-through, or answer questions, or get things started. Then, you (or your students) can contribute designs back to the repo, to be shared with others.

We can’t wait to see what you and your students create.


Michael studied computer science so long ago that his university did not then offer it as a major. He develops software used in the financial markets, and now devotes half-time to volunteer teaching. He is co-founder of LoisLab, a community computer science lab in Portsmouth, NH.

Subscribe to SparkFun Education Blog

Recent Posts

Submit Your Idea