View from India: Hyderabad team prepares for ‘Olympics of programming’
Three students from the International Institute of Information Technology-Hyderabad are gearing up to take part in the world championships of an event that is often seen as the ‘Olympics of programming’.
IIIT-H, an autonomous research university known for its cutting-edge applied research across disciplines, is one of several educational institutions in India that will participate in the 2018 ACM-ICPC World Finals. The World Championship round is being hosted by Peking University and will take place on 19 April 2018 in Beijing, China.
ACM-ICPC or Association of Computing Machinery International Collegiate Programming Contest is regarded as the oldest, largest and most prestigious programming contest in the world.
Headquartered at Baylor University, Texas, USA, the contest pits teams of three university students against eight or more complex, real-world problems that need to be solved within a five-hour deadline.
In the process, the students will have to exhibit their logic, teamwork strategy and mental endurance, along with analytical skills and ability to work under pressure and within a timeframe. During the contest, teammates synergise their efforts to deduce the requirements, design testbeds and build competitive software systems that solve the problems.
Tanuj Khattar, CG Vedant and Rajas Vanjape, who are pursuing a computer science and engineering degree in IIIT-H, will represent the institution in the final round.
The first time the students appeared in the regional round, they were somewhat apprehensive. So they chose to call the team TooWeakTooSlow.
Even today, the team from IIIT-H is identified by this name, but on a serious note, a lot of ground work goes into the making of the team. IIIT-H has a programming club run by the student body. This club conducts introductory sessions to familiarise students with competitive algorithmic programming, essential for solving real-world problems. Besides that, the course structure itself is visualised in such a manner that it introduces students to competitive algorithms programming at a very early stage.
“We have C-programming (computer programming language) and a data structures course in the first two semesters for which the seniors double up as teaching assistants and conduct lab sessions and tutorials. We are given programming assignments, and this early introduction helps in kindling an interest among students, many of whom start practising early,” said Khattar.
An insight into data structures and advanced algorithms definitely helps. As a result, the team has developed an interest in algorithmic programming and has gained exposure by participating in online programming competitions from time to time.
Problem-solving at the World Finals calls for a thorough knowledge of algorithms, mathematics and analytical perspective. With that comes coding as well as abstract thinking. “While practising is definitely important to perform well, I think it is more about developing a problem-solving ability in general and not only about being able to solve a certain type of problem,” he highlighted.
Any contribution in terms of new algorithms or tricks to the competitive programming ICPC community would also be a contribution to the theoretical computer science community and of course vice versa. ICPC is not about just solving a certain type of problems but more about coming up with novel ideas and techniques.
“Winning the India regionals and qualifying for the finals was not very hard, given that we have been practising for quite some time now and had won the India regionals last year as well, except that we had a different team member,” reasoned Khattar. The major challenge lies in preparing for the finals. Preparations are in full swing through regular practice sessions.
To think of it, ICPC is like any other sport, and performing well depends on a lot of other factors besides just raw skill. And time management is definitely one of the most important factors. That’s because participants have to prove themselves in five hours. One of the most important skills they have developed is not to spend too much time on problem-solving. Seen hypothetically, in case a problem takes too long to solve, it is left midway due to time constraints and a problem less difficult to solve is addressed. Understandably, such glitches can dent a student’s confidence during a contest platform. However, a lot depends on teamwork and coordination. Khattar’s experience tells him that having one very strong team member may not be such a good option as having three moderately strong members with good team coordination.
The team has received valuable inputs from Professor Venkatesh Choppella, associate professor, IIIT-Hyderabad, who was their coach last year. “ACM-ICPC is the number one event in the world for programmers. It brings a lot of prestige and visibility to the institute, considering IIIT-Hyderabad’s reputation is already quite formidable as a mecca for programming in the country. The problems in the competition are very advanced and challenging from an algorithmic point of view. Not only do the students have to be good at coding, but also at abstract thinking. It’s very intense, given there’s a set time limit,” explained Prof. Choppella.
The ACM-ICPC platform is not new to the country; every year the world’s largest regional contest is organised in India. What probably could be done is to improve the quality of the teams participating so that they are able to compete with the top teams and win medals. This can happen by exposing students to both theory and applications of advanced algorithms, along with Theory of Computation, Principles of Programming Languages and Database Systems.
The other Indian teams to make it to the 2018 finals are from the Indian Institutes of Technology (IITs) representing different locations. These are IITs from Delhi, Kanpur, Kharagpur, Madras, Patna and Rourkee, and the International Institute of Information Technology, Bangalore (IIIT-Bangalore). According to the ICPC website, this year 49,935 contestants from 3,098 universities in 111 countries have competed in regional competitions at over 530 sites worldwide. The ICPC student participation has increased 20-fold in 20 years.
Participating in such contests grooms the students to become software programmers and real-world problem solvers.
Here’s wishing them the very best.