Iniciação (Nível 0)

Para quem nunca programou, ou ainda não se sente confortável com os básicos da programação. Nesta secção é possível aprender a preparar um ambiente de programação (compilador, editores de código, ...) em vários sistemas operativos, os básicos de programação assim como alguns conceitos mais avançados de programação.

Começar a aprender!

Base (Nível 1)

Para quem já sabe programar bem e quer começar a aventurar-se com os conceitos algorítmicos mais simples. Nesta secção atravessa-se um conjunto de temas importantes para construir o leque de ferramentas base de um problem solver. Desde ordenação e pesquisa às estruturas de dados mais simples, mas úteis. Quem dominar estes temas não terá dificuldade a passar à fase final das ONI.

Começar a aprender!

Intermédio (Nível 2)

Para quem já tem os blocos algorítmicos base consolidados e quer aprofundar estes conhecimentos para poder resolver problemas mais difíceis e interessantes. Nesta secção discutem-se temas como grafos ou programação dinâmica, assim como algumas estruturas de dados mais avançadas. Para ter uma hipótese de ser selecionado para a Olimpíada International de Informática é importante dominar estes tópicos.

Começar a aprender!

Avançado (Nível 3)

Para quem já tem alguma prática a resolver problemas e tem experiência em vários concursos. Este tópico é especialmente desenhado para iniciar o treino para a IOI e obter alguma prática com problemas e temas mais complicados. Os temas desta secção incluem estruturas de dados avançadas, conceitos avançados de teoria de grafos entre outros.

Começar a aprender!

Olímpico (Nível 4)

O ultimate training de preparação para a IOI. Além de resolver problemas de IOI e discutir de temas avançados, esta secção tem como objetivo fomentar a construção de um portfolio para concursos, tendo em vista uma cobiçada medalha na IOI.

Começar a aprender!

Lista de recursos e material

Um conjunto de recursos para treino para todos os níveis