Trailer

Sinopse

Gosta de programar e também de desafios? Conheça a disciplina Treinamento para Competições de Programação, ministrada pelo professor Sérgio Medeiros. Nesta disciplina você pode adquirir os conhecimentos necessários para participar das mais importantes competições de programação do Brasil e do mundo, como a Olimpíada Brasileira de Informática (OBI) e a International Olympiad in Informatics (IOI). O curso aborda conhecimentos como estrutura de dados e grafos, tem carga horária de 60h e modalidade presencial. Transforme o seu interesse em lógica, pensamento computacional e programação e se torne apto a subir ao pódio e ganhar a medalha de ouro!

Vídeo

Classificações

30%
70%

Clássicas

Ativas

60%
40%

Provas

Atividades

40%
60%

Teórica

Prática

20%
80%

Social

Técnica

80%
20%

Individuais

Em grupo

100%
0%

Presencial

EAD


Podcast

Velocidade 1.0x

Materiais


Conhecimentos / Competências Desejados

Gostar de programar. Projetar algoritmos para resolver exercícios. Matemática básica (funções). Estruturas de dados básicas (arrays/vetores, mapas/tabelas hash).

Tópicos

  1. Matemática básica (funções)
    Domínio desejado: 7
  2. Estruturas de dados básicas
    Domínio desejado: 7
  3. Projetar algoritmos para resolver exercícios
    Domínio desejado: 10
  4. Gostar de programar
    Domínio desejado: 10

Obstáculos

O maior obstáculo sem dúvidas é o gerenciamento do tempo. Nas competições o tempo é limitado, por isso é importante aprender a identificar rapidamente a abordagem correta para resolver cada problema, o que requer bastante prática, e é importante também que o aluno se preocupe em ampliar o seu repertório de resolução de problemas clássicos, o que requer muita dedicação. Além disso, a falta de domínio sobre conceitos como busca binária, programação dinâmica, ou grafos também podem ser uma grande barreira.

Metodologias

Aprendizado Baseado em Problemas e Soluções Simulação de Competições

Perguntas Frequentes

Não, embora o foco seja a preparação para competições, as habilidades desenvolvidas, como resolução eficiente de problemas e raciocínio lógico são valiosas para qualquer programador.
Não, a prova deve ser feita presencialmente no laboratório.
É importante que já tenha alguma familiaridade com lógica de programação e estruturas básicas como vetores e mapas para se ter uma base mínima para acompanhar as aulas.
2025

Índices de aprovação

Altere a data ou marque/desmarque a opção "Todos os períodos" para fazer uma nova busca.

Aprovados 0%
Reprovados 0%
Nota média (todas as unidades)
0
Nota média por unidade
Unidade 1 N/A
Unidade 2 9.7
Unidade 3 4.2

Conteúdos

Ementa

  • Introdução a Competições de Programação. Arrays e o uso da técnica de dois ponteiros. Ordenação e busca. Estruturas de dados: filas de prioridade, dicionários, conjuntos e pilhas. Algoritmos Gulosos. Programação Dinâmica. Backtracking. Operações básicas em grafos: busca em profundidade, busca em largura, menor caminho.

Conceitos

  • Resolução de Problemas.
  • Complexidade de Algoritmos.
  • Técnicas de resolução de problemas: Ordenação; Programação dinâmica; Algoritmos gulosos; Grafos.
  • Discussão da abordagem utilizada pelos alunos para resolver os problemas.

Referências

  • Livro: Antti Laaksonen. <strong>Guide to Competitive Programming</strong>. 1. Springer. 2017 Livro: Steve Halim, Felix Halim e Suhendry Effendy. <strong>Competitive Programming 4: The Lower Bound of Programming Contests in the 2020s</strong>. . Lulu. 2020 Site: Competitive Programmer?s Handbook Livro: Programação Dinâmica Trabalho de conclusão de curso Monografia

Oferta/Matrícula


Ofertas

Última oferta: Buscando...

    Ofertas passadas
    Últimos 5 anos

      Faça uma pergunta!

      Professor

      Sérgio Queiroz de Medeiros
      Email: sergio.medeiros@ufrn.br

      Créditos
    • Anderson Pedro do Nascimento
    • Produtor
      Davi Gabriel Costa Nolasco
    • Produtor
      Dênis Rocha da Silva
    • Produtor
      Flávio Henrique de Oliveira Neves
    • Produtor
      Gabriel Sydney de Paiva
    • Produtor