Students compete in programming competitions during IAP

MASLAB, Battlecode, Web Programming Competition attract students to build robots, code programs

This IAP, several programming competitions provided interested students the opportunity to learn new skills, practice old ones, and collaborate with — or compete against — their peers. Three such competitions are summarized below.


In 6.146 (Mobile Autonomous Systems LABoratory: MASLAB), eight teams designed and built autonomous robots from scratch in three weeks. The robots competed to move balls of three different colors into corresponding goals with no human interaction. The class encouraged students to commit six to ten hours per day to working on their robot.

The intense design and build process required a combination of mechanical engineering, electrical engineering, and computer science skills. Andrew Reilly, director of MASLAB 2018, told The Tech in an email that most teams opted for a similar physical structure but diverged more in their software.

Team “No Motorcycles Allowed” (Shreyas Kapur ’20, Jeevesh Konuru ’20, Noah Moroze ’20, Thanh Nha Nguyen ’19, and Aashish Welling ’20) won the competition. The team implemented time outs for when their bot was stuck, helping it to react effectively in these disadvantageous situations.

“In order to score well, robots need to be able to detect and respond intelligently to a wide range of scenarios. Unlike in many pure software projects, thresholds between these scenarios aren't always clean and it can be more difficult to detect when a physical process has failed compared to a software process,” Reilly wrote.

The competition was “a bit more challenging than expected,” he said, and so the MASLAB staff will probably simplify it next year to ensure time for testing at the end.

“Autonomous systems are exciting because of how widespread they are,” Reilly wrote. “Anything that needs to operate without human intervention is an autonomous system, including robots, automatic trading software, and even vehicles such as modern airliners and self-driving cars.”

Working on a team is another important component of MASLAB. “The class tests participants’ teamwork skills because it requires team members with differing skill sets to work together tightly for a month,” Reilly wrote.


Over 1,000 teams and 3,000 individuals registered for this year’s Battlecode — a battle strategy and artificial intelligence competition — making it the largest yet. In this year’s game, teams faced off against each other while escaping from Earth to Mars on virtual maps.

This year’s winner was “Orbitary Graph” (Mårten Wiman, Simon Lindholm, and Aron Granberg, from KTH Royal Institute of Technology in Sweden). Team “StarMarket is Moving to Mars” (Yong Hui Lim ’21, Yogeshwar Velingker ’21, Calvin Yost-Wolff ’21) won the Newbie Tournament, which is exclusively for MIT teams competing for the first time. Team “howrusogood??” (Lawrence Chen Benjamin Qi, Franklyn Wang, and Richard Qi from Princeton High School) won the High School Tournament for U.S. high school students. Some middle school students also competed.

The number of international and high school participants has increased in the past two years, following Battlecode’s Reddit AMA post leading up to the 2017 competition. Since then, word of mouth has continued to increase participation outside of MIT, according to Gina Yuan ’19, president of Battlecode.

Participation has also exploded within MIT this IAP: 148 MIT students pre-registered for 6.147, the corresponding class for Battlecode.

For the first time, Battlecode supported multiple languages. “Our goal was to give competitors greater flexibility, and also to make Battlecode more accessible to beginners,” Yuan wrote. “In particular, Python is a faster and more intuitive language to code in, and is also the language of many intro programming classes at MIT.”

About half of all teams used Python, about one third used Java, which was previously the only supported language, and most remaining teams used C or C++.

Web Programming Competition

In 6.148 (Web Programming Competition), about 200 students, comprised of mostly freshmen and sophomores who were new to website design and development, learned how to build websites.

“The class is difficult because the field we’re teaching is hard …  a lot of prerequisite knowledge is needed,” Aaron Sipser ’19, president of 6.148, told The Tech in an interview. “Most freshmen have never done a real programming project.”

Jessica Tang ’20 and Shannon Peng ’20, creators of Plix, won the competition. Plix enables users collaborate on pixel art.

Web development requires thorough knowledge of three languages — HTML, CSS, and Javascript — as well as the ability to use them together. Students also had to learn how to use frameworks to structure their code.

Spiser explained to The Tech that a lot of students in introductory programming classes work on small snippets of Python code that do not have tangible applications to industry. However, Spiser believes that practicing web development is directly applicable to life outside of MIT.

6.148 is broken down into two divisions: casual and competitive. Many freshmen are drawn to the casual division because of its smaller time commitment

“Our group was up from noon until 3am every day the last eleven days of the project. The last day of the project, we stayed up for 45 hours to get it done,” Sipser said about his experience in the competitive division as a freshman. “We had to [both] learn the material and make the website.”

He encourages students to participate in the competitive division. “Dive into it, and have fun with it,” Sipser said.