CodeGym /Java Blog /Success Stories /How To Create A Robot With CodeGym's Help

How To Create A Robot With CodeGym's Help

Published in the Success Stories group
In Hollis Montessori School (New Hampshire), there's a robotics team. Its members are highly motivated and willing to go the extra mile to create, learn, and win. They've built a robot, keep improving it and participate in global championships. And CodeGym helps them achieve their goals. How To Create A Robot With CodeGym's Help - 1

How it all started

Hollis Montessori School's robotics team was founded in 2014 under the name "8888 Infinity Factor". 8888 was a random number assigned to the team by FIRST Robotics. As the eights look like infinity symbols, the students decided to name the team Infinity Factor. Later, initial members graduated, but in 2020, the team was resurrected. Unfortunately, the pandemic became an instant obstacle to its development. Nevertheless, in 2021, the new members decided to participate in the FIRST Tech Challenge. FIRST stands for “For Inspiration and Recognition of Science and Technology”. It's a global competition where students learn to think like engineers. They design, create, and code robots using Java. The challenge consists of several stages: Practice Competition (Scrimmages), where all teams can take part; Regional Competitions (all teams can take part); State Competitions (only certain teams, which have been selected by judges, can participate); and Global Competition (only for selected teams).

The robot is born

Every year, the FIRST Tech Challenge has different requirements for robots. For example, in the 2020 season, robots were shooting rings. The 2021 season required robots to maneuver over spikes and deliver cargo. This year's challenge requires robots to lift cones to a height of 82 cm and then put them down onto a rod attached to a spring. So, when the FIRST Tech Challenge season starts every year, team 8888 designs the robot to have a form factor that will excel in the game. Today, the team's robot can intake cones and place them on the poles. It can also park autonomously in designated areas, and the team is currently working on getting it to be able to "see" (to place cones autonomously). Creating a robot is a complicated task requiring prioritizing and clear responsibility distribution. One of the team members, Pranai Rao, says, "Everyone on our team is equal, so we don't have a team captain. However, we have students who lead their subgroups in their areas of expertise. For example, I lead the programming team and community outreach while other students lead the hardware (and 3D design) group, the strategy group, and the fundraising group." The team sources the materials to build the robot from multiple companies, including REV Robotics, goBILDA, and Tetrix. They also design and 3D print custom brackets and parts to meet specific needs. The software for the robot is coded and customized each season by the students who have learned how to program in Java. The robot's control hub is essentially an android device for which team members create an app that provides the robot with the instructions it needs to execute. And that's where CodeGym comes in handy!

What does learning with CodeGym look like?

The team discovered CodeGym with the help of their mentor, David Jedlinsky, a senior computer scientist at Adobe. "CodeGym is very popular among high school and college-level students, but our junior high team found the free version incredibly helpful to learn Java and liked how it explained various aspects of it in a fun way," Pranai says. How To Create A Robot With CodeGym's Help - 2After getting acquainted with the free version of the course, the team reached out to the company to discuss a partnership between CodeGym and Infinity Factor and got a positive response. Since then, for almost two years, the students have been learning Java and applying their skills to create the robot. They study individually but also have weekly classes to learn together, and this approach helps them learn more efficiently. As Pranai says, "Without CodeGym, our team wouldn't have attracted as many aspiring programmers as we had and enjoyed learning Java together as much as we do. CodeGym's website is very easy to navigate, even for the youngest members of our team. The course can be customized by tweaking the amount of motivation provided and the style of teaching. It makes the CodeGym course more enjoyable for each learner on our team. In particular, we like how easy Java syntax seems in the lessons. Also, the tasks are challenging, but not too much, so we can solve them using the knowledge we've already learned." The team's results are worth a thousand words. In 2021, Infinity Factor participated remotely in the FIRST Tech Challenge, Ultimate Goal, and won the Connect Award for communicating with several engineering businesses and engineers (specifically, CodeGym and the international engineering company FARM), as well as teaching the school community about FIRST. And the following season was even more successful: the team won the Design Award, the Finalists Award, the second Place Think Award, and the second Place Motivate Award. "Before we found CodeGym, in the first competition season of 2021, our programmers were learning Java as we programmed the robot, i.e., through trial and error. It slowed us down and made us dependent on our mentor to explain how Java worked. When we discovered CodeGym, our programmers were able to learn Java so much more quickly! Despite the differences in Command Line Interface of Java and robotics Java, the CodeGym course gave us a solid foundation which allowed us to expand our skills further."

What's next?

So far, in 2022, the team has participated in three scrimmages. Soon, it will go to the Regional Competition and, if selected by the judges, move forward through the next stages. For the team members, such competitions aren't just fun activities but also steps toward their future careers. Some of them want to become software developers and consider Java to be a very attractive specialty. "We started studying Java because it's the only language that could help us program the robot. But as we continued to learn it with CodeGym, we began to admire certain nuances that differentiated it from other languages like Python. For example, the syntax of declaring variables in a "visibility type name = data;" format and how Java code can be organized (class/interface/method) to improve the programming flow in Java. As one of our experienced team members said, you get the whole story when you are looking at something instead of just a fragment," Pranai says. Besides creating the robot and preparing for competitions, Infinity Factor runs after-school camps. It started in 2021 when the team taught students at their school, vital engineering skills to prepare them for STEM opportunities. Because of the pandemic, the team members were limited to their school only (to reduce the spread of COVID). But now, they plan to open the program to anyone in their region. "I believe that teaching is the best way to master a subject. With our team members teaching students skills that they have already learned, they are reinforcing their own knowledge and planting seeds for our team's future," Pranai says. In addition, such camps have helped the team to expand from 6 to 12 members. We wish Infinity Factor team members to achieve all goals they have in mind, and we look forward to their future success!