ICPC Club helps students reach full potential in competitive programming

Greiner and team offer weekly computer programming contests and mentorship in challenging advanced topics overlapping with Rice CS curriculum

John Greiner PhD, ICPC Club Rice University

John Greiner, Ph.D. who is a Senior Lecturer in Rice’s online Master of Computer Science program reestablished the Rice University chapter of International Collegiate Programming Contest (ICPC) over a decade ago. The ICPC is the most widely recognized global competition in the field of computing that fosters creativity and collaboration amongst students to solve highly challenging computer programming problems. Even though when Greiner was an undergrad at Rice there wasn’t an official Rice ICPC club, he became an ICPC World Finals contestant. Now with an official Rice ICPC student club, Greiner’s mentorship has helped the team qualify for the regionals every year since the club’s inception, as well as participate in the World Finals in 2006, 2015, and 2016.

The President of Rice’s ICPC club, Ye Cao, and lead member, Charlie Liu, have been involved with the club since their freshmen year and represented Rice University at the North American Championships (team "Rice Owls"). Within the past 2 years, they “focused on lecturing and teaching challenging advanced topics in competitive programming,” said Cao.

While Cao is mainly in charge of lecturing about complicated concepts such as Dynamic Programming, Liu helps organize campus contests, draft announcements, in addition to teaching and mentoring new members. They have meticulously curated lecture recordings in an online database for students to follow in a self-paced manner. These lectures also overlap with the Rice CS curriculum, providing an extra benefit to students enrolled in the program.

This year, they decided to switch to a more hands-on approach by hosting weekly mini competitions and discussion sessions. A recent contest included 8 problems of variable difficulty related to number theory, greedy algorithms, and dynamic programming from the Kattis Problem Archive; “the easiest ones being solvable with almost no knowledge in algorithms, and the hardest ones being challenging even for the best problem solvers in the nation,” said Liu. A primary intent of the contest was “to give interested yet inexperienced students a taste of competitive programming,” remarked Liu when asked about the motivation for the contest. Furthermore, the contest helped identify and bring together students who have an interest in competitive programming.

Nineteen students participated in the contest for three hours to solve 8 challenging algorithmic problems. Freshman Marko Tanevski ranked 1st place with 5 problems solved. Sophomore Wisha Wanichwecharungruang and freshman Yanran Ma ranked 2nd and 3rd, with four and three problems solved, respectively. 

Tanevski is not a stranger to the competitive programming world; he is the 2022 International Olympiad in Informatics (IOI) bronze medalist. He found the contest to be “properly organized, with the problems chosen carefully to cover all the difficulty levels, and no general technical difficulties or other issues.” 

According to Tanevski, “the active members are very invested in the club.” Tanevski is optimistic about the future of Rice ICPC club as he thinks “the club’s strong mentorship can finally take the team to the ICPC World Finals,” and hopes more students will join the club. 

Although the activities of the Rice ICPC Club revolve around training and preparation for ICPC, its members have also participated in other competitions such as Google Kickstart, Google Code Jam, and Codeforces. Thus, the club provides mentorship led by Greiner in a collegiate environment that helps students reach their full potential in the field of competitive programming.

For more information on the ICPC Club at Rice, visit their website.


Faiza Hussain, Ph.D. (’09), Rice CS contributing writer