In Bryant’s Artificial Intelligence and Robotics course, playing board games like Connect Four and Fox and Hounds has never been more important. Taught by Professor of Science and Technology Brian Blais, Ph.D., the course tasks students with building “thinking machine” mobile robots that play to win and can autonomously defeat human opponents.
Along the way, students develop key skills in design, programming, problem-solving, and engineering – and acquire hands-on experience that will set them apart in the real world. “We’re able to take algorithms and machine-learning problems and actually apply them,” says Data Science major Andrew Allen ’21. “We’re able to see how what we’re programming can have a direct impact on the outside world.”
Cracking the code
The students receive an extensive primer in a variety of data science areas, from the robotics concepts they use in construction, to the coding that allows the robots to read the board, to the neural networks that aid the robots in making strategic decisions. “We’ve learned a lot over the semester,” says Spencer Chapman ’20. “The course touches on pretty much every field in data science.”
“I look at some of the students’ projects and, for some of them, I can legitimately say ‘I’ve never seen this before.’”
“This was definitely a class that I knew I wanted to take as soon as I saw it was offered,” says John Belval ’20, an Actuarial Mathematics and Biology double major. “The concepts we’re studying, like machine learning, just seemed so far beyond me, almost like they were magic. I really wanted to see what I was capable of." Now, he says, "I’m much more comfortable with the concepts because I can see how they’re applied. It’s not as unknowable anymore.”
The course also provides ample opportunity to practice programming in Python, a powerful coding language used across a wide range of industries. “Being able to code in Python is super-important in the data science field, and it’s what employers are looking for,” says Jorge Karduss ’20. “This class is pure Python – you learn everything from the basics to more complicated ideas.”
“You have to be able to think through every possibility and see the whole picture. The class is expanding my horizons, and how I think about things.”
At its core, the course is an exercise in problem-solving. “A lot of deep imagination goes into this. You can let your creativity run wild,” says Data Science major Fernando Cassanova ’20. “Some of the groups are working on similar games," he says, but each solution is "totally different."
Blais encourages that experimentation, noting that it can often lead to fascinating results. “I look at some of the students’ projects and, for some of them, I can legitimately say ‘I’ve never seen this before,’” he says.
“Professor Blais encouraged us to challenge ourselves,” notes Allen. “So far it’s been quite a journey.”
“There’s no blueprint,” adds Tyler Kontulis ’21. “That’s the hard part, but it’s the fun part, too.”
Making it work
The journey is marked by trial and error. Though small, the robots contain a range of complex systems, all of which need to work in harmony. For Cassanova, that adds another level to the work. “You have to be able to think through every possibility and see the whole picture,” he says. “The class is expanding my horizons, and how I think about things.”
That focus on the details and bringing together diverse pieces is a key part of the process, explains Blais. “The students need to be constantly thinking and writing new code, and then examining it and testing it to make sure it works,” he says.
“There are no tests or quizzes. It’s results-based and about being able to complete the objectives.”
The robots are constructed from LEGO bricks, which allows for rapid iteration: "Try something new, see if it works, then break it down and try something else if it doesn’t,” says Belval.
Into the scrum
The course employs a scrum method, widely used in software development, that separates robot construction into five sections, or sprints, each focusing on a different process. At the end of each sprint, the students present their work at a public demonstration.
“It helps you break down a complicated project into more manageable pieces,” notes Chapman.
The course’s unique organizational structure lends itself to a focus on making things work. “It’s different from a lot of other classes,” says Data Science student Nicholas Sweeney ’21. “There are no tests or quizzes. It’s results-based and about being able to complete the objectives.”
“You can apply what we’re learning to pretty much anything. Every field is going to need people who can do this.”
“It’s not artificial or abstracted. They have to be able to show publicly that they’re actually making progress,” says Blais. “That ups the stakes a little bit.” The demonstrations also require students to practice explaining their work to others, a vital skill for professionals working in technical fields.
Robots are for everyone
Though having some programming experience can be helpful for the course, it’s not required, and the skills the students acquire are valuable for a variety of professions – not just building robots.
“The things that the students learn in this class transfer to other fields pretty easily,” Blais says. “One of my students, who was an actuarial major, got a job with an actuarial firm because of this class. It stood out on their transcript and showed that they knew how to program and how to solve problems.”
“You can apply what we’re learning to pretty much anything,” agrees Chapman. “Every field is going to need people who can do this.”