MAC0499 - Trabalho de formatura supervisionado
Aplicação web para organizar o estudo para programação competitiva
Gustavo de Medeiros Carlos
Supervisor: Carlos Eduardo Ferreira
Resumo
A programação competitiva reúne milhares de participantes do mundo inteiro em múltiplas competições. São várias as plataformas na internet que disponibilizam problemas e recursos para a prática para essas competições. O Codeforces é uma das mais utilizadas e possui uma API para o acesso aos seus dados. O treino para programação competitiva exige centenas de horas de dedicação ao estudo de algoritmos e estruturas de dados e à resolução de problemas. Existem algumas estratégias de estudo recomendadas para torná-lo mais eficiente. Para auxiliar os competidores nesse processo, foi desenvolvida uma aplicação web que se propõe a incentivar o emprego dessas estratégias em conjunto com uma integração com o Codeforces pelo uso de sua API. A aplicação pode ser utilizada a partir do navegador e conta com variados componentes que ajudam o treino em diferentes aspectos. Durante seu desenvolvimento, foi considerada uma infraestrutura que facilita a adição futura de outras funcionalidades, além das já implementadas.
Abstract
Competitive programming gathers thousands of students around the world in a varied set of competitions. Multiple online tools have their own collection of problems and contests that allow practicing for them. Codeforces is one of the most used websites for this purpose, and it provides an API that makes its data easily accessible. Training for those competitions requires hundreds of hours dedicated to learning algorithms and data structures and solving problems. There are recommended study strategies to ensure this is done efficiently. A web application was developed to help competitors in this matter. It encourages the use of some of those strategies with an integration with Codeforces using its API. The website can be used in the browser, and it has components to help practice in different aspects. Its development considered a range of possible features, so it allows adding new ones in addition to the ones already implemented.
Monografia
Trabalho escrito com detalhes sobre o desenvolvimento da aplicação. A proposta inicial do projeto pode ser encontrada aqui.
Código fonte
Pôster
Pôster exposto no Instituto de Matemática e Estatística (IME-USP) durante a semana de apresentações dos trabalhos.