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

O código fonte pode ser encontrado neste repositório do Github.

Pôster

Pôster exposto no Instituto de Matemática e Estatística (IME-USP) durante a semana de apresentações dos trabalhos.


Apresentação

Slides utilizados para a apresentação do trabalho.


Contato

gustavo.dmcarlos@gmail.com