Lincoln Laboratory staff use racecars as a vehicle to teach coding
On Saturday, April 13, toy-sized cars were zipping along the classroom floor of the Roxbury Innovation Center. However, no one was following them around with remote controls. Instead, each car used code to react autonomously to obstacles — code written by a classroom full of middle school students.
Andrew Fishberg, a staff member in the Advanced Capabilities and Systems Group at Lincoln Laboratory, had seen how students engaged with the Rapid Autonomous Complex-Environment Competing Ackermann-steering Robot (RACECAR) during the workshop at the Beaver Works Summer Institute (BWSI). However, BWSI is aimed at high school seniors who already excel in science, technology, engineering, and math, and Fishberg was worried that the program was reaching students too late in their educations to have maximum impact. "It only gets harder [to learn coding] the later you get to the students," he said. "I think the future of these things is at the middle school age."
So, with the help of a handful of volunteers including Eyassu Shimelis from the Advanced Concepts and Technologies Group and several high school volunteers, almost all of whom were coincidentally named Dan, and the Timothy Smith Network, Fishberg designed a four-week program to introduce middle schoolers to coding by programming racecars.
The Timothy Smith Network is named for a wealthy merchant who spent most of his life in Roxbury, Massachusetts, and upon his death in 1918 bequeathed his estate to improve the welfare of Roxbury residents. Since 1996, that trust has been used to bring the benefits of computer technology to residents via dozens of public technology centers and educational programs. Collaboration between the Timothy Smith Network and Lincoln Laboratory could help the RACECAR program reach middle schoolers who might not otherwise have the opportunity to learn to code. "Our motto is inclusiveness," said Khalid Mustafa, the IT director of the Timothy Smith Network. "Too often we have all these rules that filter people out. How do we invite people in?"
Both groups wanted to stress accessibility. Although coding is becoming a fundamental part of a modern education, schools in communities with limited educational budgets are significantly less likely to offer computer science classes. Holding the workshop at the Roxbury Innovation Center, instead of at the Beaver Works Center in Cambridge, made it more accessible for lower income students and students of color.
The workshop was stretched out over the course of a month — four hours, every Saturday from March 23 through April 13. Between one and two dozen students attended each time. The first three workshops focused on coding basics, such as Boolean data (data that has one of two possible values, often true or false) and the difference between "or" and "exclusive or" ("exclusive or" is true if only one value is true, whereas "or" is true if at least one value is true). "We don't want to lock anybody out because they haven't had a chance to program before, so we had to start from square one," Fishberg explained. He would teach a principle and demonstrate the code on screen at the front of the classroom, then have students call out answers to build a program together. More often than not, the code the students created wouldn't run the way they wanted it to. At that point, Fishberg would walk the students through the code, explaining the logic with which computers approach problems and allowing the students to find the bugs themselves. Usually, the code spat out numbers as expected within minutes.
On the fourth Saturday, Fishberg brought out the racecars. Slightly larger than a phone book, the cars have the wheels and body of an off-the-shelf remote-controlled car, upon which is mounted a piece of cardboard that holds a spinning lidar, a small processor, and a battery pack. The cars cost around $500 each to build and made their debut at this RACECAR middle school event as a cost-effective alternative to the racecars used at BWSI. The excitement — from the volunteers, students, and observers — was palpable. "Basically everything they've been learning…turns into the logic to drive the car," Fishberg said. "That application really drives home the learning objectives."
The racecars "see" by using lidar – each car's lidar system shoots out a pulse of laser light and measures how long it takes to bounce back. By aiming laser beams in 720 directions all around the car, the lidar system can map the distance between it and the nearest obstacles. The students began by calibrating their racecars, finding which direction marked zero degrees in the lidar's measurements by circling the car with pieces of cardstock and looking for changes in the lidar's readouts. They also calibrated the car to drive straight forward when it is prompted, and then moved on to harder coding challenges, such as having the car stop itself when it sensed an obstacle. The students were exhilarated by their successes and suggested designs for complex obstacle courses the cars could navigate. Fishberg used this as an opportunity to impart another fundamental principle of coding: KISS, or Keep It Simple, Silly.
Both Fishberg and Mustafa hope to make this year's workshop the first of many. Coding is becoming a vital skill, and introducing students to it at a young age opens doors in their education — such as to the BWSI, which is aimed at high school seniors who perform well in the STEM fields. "We're looking to expand," Mustafa said. "Our goal is to really establish this [class] as a model."
Mustafa thought that the most powerful part of the workshop and the collaboration between the Timothy Smith Network and Lincoln Laboratory was the way it brought people together who wouldn't otherwise be able to share their skills. "How do we give each other access to each other?" Mustafa asked. "That's really the key."