A team of undergraduate computing students from The Australian National University (ANU) recently showcased their skills on the global stage at an international programming competition.
The 2024 International Collegiate Programming Contest (ICPC) World Finals took place in Astana, Kazakhstan in September. The ANU team was represented by students Hadyn Tang, Cormac Kikkert, and Andrew Kerr. The team were guided on their journey by coach Dr Ahad Zehmakan from the School of Computing, who delivers the ‘Algorithms’ and ‘Advanced Algorithms’ courses at ANU.
The ICPC is one of the world’s most prestigious competitive programming events, attracting over 50,000 university students annually through multiple rounds of local, regional, and global competitions. Our ANU team earned their place in the World Finals by finishing as one of the top two teams at the ICPC South Pacific Regional Finals last year.
At the World Finals, the team solved five challenging problems, ranked joint 51st globally, and earned the title of ‘Honors’.
One of the standout moments from the competition was Hadyn Tang’s impressive solution to Problem K, considered one of the most difficult challenges in the contest. Only three out of 141 teams managed to solve this problem at the World Finals.
ICPC contests are a rigorous test of problem-solving and programming skills. Teams of three students work together to solve as many problems as possible within a five-hour timeframe.
Each problem requires the development of an algorithm that reads an input file, processes it to solve the problem, and outputs the correct result. Submitted programs are evaluated on multiple hidden test cases, and every input must produce the correct output for a solution to be accepted.
The problems span a wide range of topics, including mathematics, graph theory, combinatorics, data structures, dynamic programming, game theory, and probability. A key challenge is designing algorithms with efficient time complexities to ensure they run within the time limit. While it may be straightforward to write a brute-force solution that is ‘correct’, these solutions often fail to meet the performance requirements for worst-case inputs.
One unique aspect of the competition is that each team has access to only one computer and one keyboard, requiring plenty of collaboration and strategic time management.
“To prepare for ICPC we practiced simulated contests together, as being able to effectively share the computer and collaborate is crucial,” said team member Andrew.
“To reduce time spent debugging on the computer, we eagerly printed buggy code to review it separately, allowing others to use the computer in the meantime. We also tried to write code drafts on paper while waiting for the computer as it makes implementation much quicker once it’s your turn at the keyboard.”
The event was not just a test of programming skills but also an incredible opportunity to connect with talented students from around the world and experience Kazakh culture. The contest venue offered cultural workshops, interactive activities, and sponsor exhibits. Local craft workshops included pottery making, leathercraft, and embossing custom necklace with a sledgehammer. The team even tried local cuisine, such as the delicious fried bread balls called ‘baursak’.
The team also had the opportunity to explore the host city, Astana, which, like Canberra, is a planned capital city.
“Astana has many futuristic, geometric buildings and monuments. There was a huge spherical science museum and a pyramid-shaped museum of peace. The Astana Grand Mosque, the largest mosque in Central Asia, was right across from our competition accommodation. The impressive mosque had beautiful mosaics, calligraphy, and patterned carpet, and visiting it was a highlight of the trip,” said Andrew.
Reflecting on the experience upon their return, the ANU team described the contest as a valuable learning opportunity and highly recommended it to others.
“We are very grateful to the College and the ANU School of Computing for their excellent teaching and for their support with attending these competitions. I’d highly recommend trying out competitive programming to students who like problem solving and algorithms,” said Andrew.
The South Pacific Competitive Programming Association organises regular contests throughout the year, visit sppcontests.org/spar/ for details. These free online contests are a great opportunity to test your skills or prepare for the annual South Pacific ICPC Preliminary Contest held later in the year.
If you’re interested in competing in next year’s ICPC, please contact Dr Ahad Zehmakan to express your interest.