Cronograma - Técnicas de Programação 2026-1
Bem-vindo à disciplina Tec.Prog
Esta é a página da disciplina de Técnicas de Programação (Tec.Prog) do curso de Engenharia de Computação do CEFET-MG, semestre 2026-1.
Tec.Prog é uma disciplina estritamente prática de 4 horas-aula semanais, com encontros às quartas-feiras (14:50) e quintas-feiras (10:40).
A disciplina adota uma metodologia estritamente prática, focada na resolução de exercícios e problemas algorítmicos. Para alunos do 5º período, ela funciona como uma oportunidade de reforço opcional para quem deseja aprofundar em implementações de grafos, árvores e algoritmos fundamentais. Para alunos de períodos subsequentes, o foco é o desenvolvimento de habilidades de programação pura, dominando diversas técnicas algorítmicas e heurísticas. A estrutura do curso conta com trabalhos para casa constantes e avaliações quinzenais (a cada 15 dias), garantindo um acompanhamento contínuo do aprendizado e consolidando os conceitos práticos abordados. Utilizamos o juiz online Maratona para submissão e correção automática dos exercícios, proporcionando feedback imediato e preparando os alunos para desafios reais e competições de programação.
Histórico e Motivação
A disciplina nasceu da necessidade de dar continuidade aos estudos de AED2 e treinar alunos para competições de programação. Foi ofertada pela primeira vez em 2017.1, obtendo resultados interessantes e fomentando na formação de equipes competitivas. Em 2020.2, foi ofertada no modelo remoto, com resultados mais modestos.
Atualmente, a disciplina foi reformulada para integrar a nova grade do curso (PPC 2023). Com a ausência da disciplina de Laboratório de AED2, assumimos o papel crucial de reforçar a prática algorítmica. O objetivo é que a oferta seja regular, garantindo que os alunos tenham esse fortalecimento técnico, essencial tanto para a formação acadêmica quanto para processos seletivos de grandes empresas, que utilizam competições e desafios algorítmicos como sistema de seleção.
Metodologia e Dinâmica
As aulas serão realizadas integralmente em laboratório. A dinâmica padrão consiste em uma apresentação teórica do tópico, seguida de um tempo dedicado para os alunos resolverem um exercício clássico relacionado ao tema. Semanalmente, será sugerida uma lista com cerca de 5 exercícios para casa.
Na semana seguinte, haverá um momento para a resolução de 1 ou 2 exercícios selecionados e para tirar dúvidas em sala. Para obter a pontuação completa de participação/exercícios na disciplina, os alunos devem entregar pelo menos 80% dos exercícios propostos.
Avaliação e Mini Maratonas
As avaliações principais serão no formato de Mini Maratonas, realizadas presencialmente e em duplas não fixas.
- Duração: 1 hora e 40 minutos.
- Formato: Aproximadamente 3 exercícios.
- Pontuação: A nota é atribuída com base em uma régua de transição baseada na classificação (ranking).
- As duplas com melhor desempenho recebem 100% da nota.
- As duplas com desempenho inferior recebem 60% do valor.
- Exceção: Caso todos os alunos resolvam todos os exercícios, todos receberão 100% da nota.
Planos de Ensino 2026-1
Cronograma
A disciplina segue um fluxo pedagógico em espiral, alternando entre fundamentos, paradigmas de resolução de problemas e estruturas avançadas. O “ritmo” proposto para o semestre é:
- Fundamentos (CS2/Rev): Revisão de Análise de Algoritmos, Recursão e Notação Big-O.
- Busca e Divisão (CS3): Do Brute Force (Backtracking) à otimização por subproblemas independentes (Divisão e Conquista).
- Otimização Combinatória (CS3): Estratégias gulosas (Greedy) e globais com memória (Programação Dinâmica).
- Matemática e Grafos (CS3): Teoria dos Números como base para criptografia e algoritmos em Grafos.
- Tópicos Avançados (CS3): Geometria e Estruturas de Dados especiais.
Para uma visão detalhada dos tópicos e códigos da ontologia, consulte o Mapeamento Curricular Wokodex.
As aulas ocorrem todas as quartas-feiras às 14:50 e quintas-feiras às 10:40.
| Aula | Data | Dia | Conteúdo | Nível ACM |
|---|---|---|---|---|
| 01 | 04/03 | Qua | Apresentação, Maratona e Juízes Automáticos Classes de Problemas Conteúdo Preparatório |
- |
| 02 | 05/03 | Qui | Fundamentos: Análise de Algoritmos Limites Computacionais Limites Computacionais Slides |
CS2 |
| 03 | 11/03 | Qua | Complexidade e Notação Assintótica Ex: Busca Binária Ex: Busca Binária Ex: MergeSort |
CS2 |
| 04 | 12/03 | Qua | Complexidade e Notação Assintótica Ex: Busca Binária Ex: MergeSort |
CS2 |
| 04 | 12/03 | Qui | Recorrências e Teorema Mestre | CS2 |
| 05 | 18/03 | Qua | Técnicas I: Backtracking e Busca Completa | CS3 |
| 06 | 19/03 | Qui | Exercícios: Backtracking | CS3 |
| 07 | 25/03 | Qua | Técnicas I: Divisão e Conquista | CS3 |
| 08 | 26/03 | Qui | Exercícios: Divisão e Conquista | CS3 |
| 09 | 01/04 | Qua | Mini Maratona 1 (Recursão, Backtracking, D&C) | CS2/CS3 |
| 10 | 02/04 | Qui | Algoritmos Gulosos (Greedy) | CS3 |
| 11 | 08/04 | Qua | Exercícios: Algoritmos Gulosos | CS3 |
| 12 | 09/04 | Qui | Programação Dinâmica: Introdução | CS3 |
| 13 | 15/04 | Qua | Programação Dinâmica: Clássicos (Mochila/Troco) | CS3 |
| 14 | 16/04 | Qui | Programação Dinâmica: Avançado (LIS/Edit) | CS3 |
| 15 | 22/04 | Qua | Mini Maratona 2 (Gulosos, PD) | CS3 |
| 16 | 23/04 | Qua | Matemática: Teoria dos Números | CS3 |
| - | 29/04 | Qui | Recesso | - |
| - | 30/04 | Qui | Recesso | - |
| 17 | 06/05 | Qua | Matemática: Combinatória | CS3 |
| 18 | 07/05 | Qui | Exercícios: Matemática | CS3 |
| 19 | 13/05 | Qua | Grafos: Introdução e Travessia | CS3 |
| 20 | 14/05 | Qui | Grafos: Caminhos Mínimos | CS3 |
| 21 | 20/05 | Qua | Grafos: Árvores Geradoras (AGM) | CS3 |
| 22 | 21/05 | Qui | Mini Maratona 3 (Math, Grafos Básico) | CS3 |
| 23 | 27/05 | Qua | Grafos: Fluxo em Redes | CS3 |
| 24 | 28/05 | Qui | Estruturas: SegTree e Fenwick | CS3 |
| 25 | 03/06 | Qua | Exercícios: Grafos Avançados | CS3 |
| - | 04/06 | Qui | Feriado: Corpus Christi | - |
| 26 | 10/06 | Qua | Geometria: Conceitos Básicos | CS3 |
| 27 | 11/06 | Qui | Geometria: Algoritmos e SweepLine | CS3 |
| 28 | 17/06 | Qua | Exercícios: Geometria | CS3 |
| 29 | 18/06 | Qui | Tópicos Extras: Strings | CS3 |
| 30 | 24/06 | Qua | Mini Maratona 4 (Geral) | All |
| 31 | 25/06 | Qui | Revisão Geral | - |
| 32 | 01/07 | Qua | Mini Maratona 5 (Geral) | All |
| 33 | 02/07 | Qui | Simulado Maratona | - |
Distribuição de Pontos
| Atividades avaliativas | Valor | Data Prevista |
|---|---|---|
| Mini Maratona 1 | 10 | 01/04 |
| Mini Maratona 2 | 10 | 22/04 |
| Mini Maratona 3 | 10 | 20/05 |
| Mini Maratona 4 | 10 | 25/06 |
| Mini Maratona 5 | 10 | 01/07 |
| Exercícios (Juiz Online) | 50 | Contínuo |
| Total | 100 | - |
Conteúdo
Última atualização: r Sys.Date()
