Analyzing Competitive Programming Competitions to Develop Effective Training Methods for Improving Problem-Solving Skills in Students
Abstract
Competitive programming is a mind sport that has become increasingly popular in recent years, with thousands of programmers participating in online competitions every day. Despite its popularity, there is not much research on the competition or effective training methods for students. This study aimed to fill this gap by analyzing previous competitive programming competitions to tag problems and determine which theoretical knowledge is most valuable in improving students' problem-solving skills. We also examined how competitive programmers approach problem-solving, resulting in a flowchart algorithm for solving problems, which we tested on problems from previous competitions to show its usefulness. Based on this research, we created a series of competitive programming practice meetings for students at Emory University, tracking their progress over time. Our approach was found to be successful, culminating in the university's participation in the ICPC Southeast Regional and qualification for the North America Championship.