This past weekend, the ACM-ICPC Pacific Northwest region (among others) held a 5-hour-long team programming contest to decide which universities will compete at the World Finals in Rapid City, South Dakota, this May. Coursera has been a proud sponsor of the regional contest every year since our incorporation.
Why have we done so?
Several of us here at Coursera have fond memories of participating in ACM-ICPC during our college years, both as contestants and as coaches. Some of us have even continued to participate as problem writers and as judges. As a result, we’ve maintained a personal interest in following the contest and cheering for the teams, much as we would for sporting events. And that interest is contagious among our engineers; even those of us who have never competed can pick up a copy of the problem set and follow along, and we’re all inspired by the tremendous effort and accomplishment that doing well in this contest represents.
Sponsoring the regional contest also helps to reduce the financial barriers that some schools may face when entering this contest. Organizing a contest for 150 teams to meet in person across six sites can be costly, and these costs are passed on to the contestants as registration fees. Corporate sponsorships of this contest offset these fees, enabling schools with tighter budgets to send more teams than they might otherwise. As a company committed to improving access to education, we’re more than happy to help increase participation in this event. Relatedly, those of us here who have been participating as problem writers have also been strong advocates of the region’s recent decision to create multiple divisions, in order to provide an environment for newcomers to competitive programming to learn the ropes.
Of course, we hope that the students participating in this contest will check us out not only as a potential online resource for supplementing their education, but also as a company to join as interns or full-timers. Obviously, the work we do here isn’t the same as tackling a dozen clearly-scoped problems in five hours, but a lot of skills actually do transfer over, such as the ability to recognize and account for corner cases or the ability to debug both your own and your teammates’ code. And perhaps most importantly, the desire to be challenged by problems you’ve never seen before, to push yourself to learn outside of the classroom setting, is a quality we value in all of our roles.
Personally, I first learned about ACM-ICPC during my sophomore year of college when I came across a sign on the door of the computer lab where the local team selection contest was to be held the next day. I gave it a shot and ended up experiencing a problem set that was far more challenging than anything covered in my coursework thus far. I was hooked! I joined the team, eager to learn more about algorithms and problem solving. This early experience eventually led me to pursue a doctoral degree in computer science. It also introduced me to the team coach – a PhD student who would, nearly a decade later, refer me to Coursera. These days, I continue to be involved in ACM-ICPC as a volunteer judge and problem setter, drawing inspiration from my experiences in research and in industry to write new problems. I also work at Coursera, where my work helps bring university-level courses to millions of people around the world. I’m happy to see Coursera as a perennial sponsor of the contest, as it serves as a constant reminder to me that learning takes on many forms, even ones where adrenaline and pressure are positive features.
Congratulations to the winning teams in this and other regions, and best of luck at World Finals!