USC Computer Science Student Teams Win First and Second Place at “Programming Olympics” Regional Contest

| December 1, 2017

USC will progress to world finals of Association for Computing Machinery’s International Collegiate Programming Contest in Beijing, China

USC’s winning team, (left to right) Pengda Xiang, Chenhui Zhu and Changyu Zhu, will advance to theACM ICPC world finals next year. Photo/Yang Li.

The “Olympics of computer programming,” otherwise known as the Association for Computing Machinery’s International Collegiate Programming Contest (ACM ICPC), will host three USC computer science students at the 2018 world finals in Beijing, China, Apr. 15 – 20.

The USC Cardinal team won the Southern California regional contest hosted at Riverside Community College on Nov. 11. But that’s not all—in an unprecedented victory, a USC student team also scored second place in the regional competition.

Founded in 1977, the ACM ICPC contest is widely considered the oldest, largest and most prestigious programming contest in the world. This year, 104 teams from universities across Southern California and Nevada took part in the regional contest, including squads from University of California Los Angeles (UCLA), University of California Irvine, and the California Institute of Technology.

In total, four USC teams competed in the contest, coached by USC computer science professor David Kempe, computer science lecturer Michael Shindler, and PhD candidate Ruixin Qiang.

In first place, the USC Cardinal team, comprising Pengda Xiang, Chenhui Zhu, and Changyu Zhu, was the only team to solve all 10 given problems. In second place, USC Gold team members Justin Cheng, Sitan Gao and Yeji She, solved nine problems. USC’s other two teams, USC 673 and the USC Trojans, earned 9th and 27th place, respectively.

Top teams from regional competitions advance to the final round, with the opportunity to go for gold on the world stage.

“This is a really strong result across the board, and I’m very proud of all our student teams,” said Kempe. “The winners are a very skilled team and I think we are in a strong position for the world finals.”

The contest pits teams of three university students against the clock to complete 10 or more complex programming problems, with one computer and a grueling five-hour deadline. Photo/Southern California ACM International Collegiate Programming Contest.

Battle of the brains

In ACM ICPC’s programming contests, teams of three university students have five hours and one computer to complete around 10 complex programming problems.

Teammates collaborate to quickly identify the easiest problems to tackle first, then devise clever algorithms to find solutions and swiftly debug errors—all while staying cool under pressure. The team that solves the most problems in the fewest attempts in the least cumulative time is declared the winner.

“It was a very intense but exciting experience,” says computer science freshman Changyu Zhu, a member of the winning team. His team’s mantra? Relax. Stay confident. Have fun.

“What really helped us succeed was good teamwork,” says Zhu. “You should do your favorite algorithms and let your teammates play to their strengths, too. And practice, practice, practice.”

While Southern California can send two teams to the world finals, ACM ICPC rules do not allow two teams to enter from the same school—USC’s Cardinal team will join third place regional finalists UC Irvine at the world competition. If successful, they will be crowned the top university team out of 2,948 universities from 103 countries on six continents.