UofT’s competitive programming team is heading to the world finals later this year.

By Vikram Nijhawan, Senior Arts and Culture Editor

UofT’s ICPC. world finalists (from left to right): Matthew Agar, Michael Nematollahi, and Victor Tao.

Three bright UofT undergraduates will be traveling to Bangladesh to compete in the world finals of the International Collegiate Programming Contest (ICPC) between November 6 and 11.

Michael Nematollahi, Victor Tao, and Matthew Agar will be representing UofT at this event, the world’s highest level coding competition, facing other top schools within North America like MIT, as well as international ones like Seoul National University and Moscow State University.

The ICPC is the world’s oldest and most prestigious algorithmic programming contest, where teams of three compete to solve a series of difficult computational problems with the most speed and accuracy. The competition will be hosted by the University of Asia Pacific in Dhaka, Bangladesh on November 10.

The team’s journey to the world finals was multi-tiered and arduous. UofT placed fourth in the 2021 North American East Division Championships, and later seventh in the 2021 North American Championships, both conducted online, edging out other top universities such as Stanford, Carnegie Mellon, Cal-Tech, and Harvard in the latter competition.

Nematollahi had previously competed at the ICPC world finals in China in 2018 while studying in his home country of Iran. As a high school student, he won the gold medal at the International Informatics Olympiad in Tehran in 2017. After his first undergraduate year, Nematollahi transferred to UofT to continue his studies in Computer Science, and to have the chance to compete in the ICPC once more.

“This feels like the capstone of my college experience,” said Tao, who has participated on UofT’s team throughout all of his undergraduate career. As a competitive coder during his high school years, Tao was scouted and recruited to join the team even before beginning his freshman year. He now acts as the de facto team captain, managing their budget, travel arrangements, and other logistics.

Each year, the team seeks to recruit new talent from a new pool of Computer Science undergraduates. In the past, UofT’s Computer Science Department had provided financial support for the team, covering their travel expenses and other costs. However, since Nematollahi and Tao will have already graduated by the time they compete at the world finals, the prospect of further financial backing from the school remains uncertain.

Agar, a third-year Computer Engineering student, joined the team later than his other two peers. Unlike them, he did not have competition experience in high school, only learning about ICPC after his first year at UofT. But after much practice and dedication, his competitive skills rose to that of his peers’ top-level.

“I’m just thinking out loud here,” begins Agar, as he and his teammates approach the solution to a sample problem during a practice session.

The team meets every Monday to practice for their competitions. During one of these weekly meetings, they worked on a problem from a past high school Olympiad in Poland. Colloquially known as the ‘chicken nugget problem,’ the challenge requires competitors to determine an exact number – conceptually, a number of chicken nuggets – if they are sold in sets containing different quantities. Many of the problems posed in ICPC events often contain such ‘flavour’ to make abstract numerical concepts more digestible.

Silent contemplation defines much of the team’s practice time, but their synergy is palpable. There is much scratching of chins and shuffling of chairs to get a new perspective on the numbers and symbols written out on the whiteboard in front of them. To an outsider, their communication can appear blunt. They are not afraid to shoot down each other’s incorrect ideas or dissuade poor paths of reasoning, but this is all part of the search for the correct answer. 

“Are you following me so far?” asks Nematollahi to his two teammates, more rhetorically, as he eventually walks through the solution process with them.

It took roughly an hour for the team to arrive at the correct solution for the ‘chicken nugget’ problem. During the actual competition, they will face ten similar questions of varying difficulty and have five consecutive hours to solve and code each of them.

Determining the conceptual solution to a problem is just half the battle – the solutions also need to be coded. The three teammates share one computer between them in their competitions, and part of their strategy is divvying up parts of the problems and the coding required to solve them.

Even for an activity largely confined to a computer screen, the team is eager to experience the connectivity and atmosphere of competing together in Dhaka after operating online for more than two years.

“I’m looking forward to competing in person and travelling with these guys,” said Agar, gesturing to his teammates. “They’ve become my friends over the past couple of years, so it will be a fun experience overall.”


Vikram Nijhawan is the Senior Arts and Culture Editor for the Trinity Times, and a fourth-year undergraduate student at Trinity College, studying English, History, and Classical Civilization.

Leave a Reply

Your email address will not be published.