Plano de Ensino - CEFET-MG
MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO CAMPUS TIMÓTEO
📘 Identificação da Disciplina
| Campo | Descrição |
|---|---|
| Disciplina | Tópicos Especiais em Fundamentos de Engenharia de Computação: Técnicas de Programação |
| Código | GT07FEC005.1 |
| Início | 08/2023 |
| Carga Horária Total | 60 horas-aula |
| Semanal | 04 aulas |
| Créditos | 04 |
| Natureza | Prática |
| Área de Formação | Profissionalizante |
| Competências/Habilidades | C06, C08, C09 |
| Departamento | DECOMTM |
Aplicabilidade
- Curso: Engenharia de Computação
- Período: 5º
- Eixo: Fundamentos de Engenharia de Computação
- Optativa: Sim (X)
📝 Ementa
Estudo e aplicação de técnicas avançadas para análise e desenvolvimento de algoritmos eficientes. Abordagem sistemática de paradigmas algorítmicos com foco na otimização de recursos computacionais (memória, CPU e disco) e na resolução de problemas complexos.
🎯 Objetivos
A disciplina deverá possibilitar ao estudante:
- Aplicar os fundamentos teóricos da análise de algoritmos.
- Desenvolver algoritmos eficientes para problemas computacionais.
- Implementar e avaliar diferentes estratégias algorítmicas.
- Analisar e comparar algoritmos em termos de eficiência.
- Resolver problemas práticos utilizando técnicas algorítmicas avançadas.
Pré-requisitos: Algoritmos e Estrutura de Dados I, Laboratório de Algoritmos e Estrutura de Dados I.
📑 Unidades de Ensino
| Unidade | Conteúdo | Carga Horária |
|---|---|---|
| 1 | FUNDAMENTOS DA ANÁLISE DE ALGORITMOS: Estudo dos limites reais de execução como uso de memória, CPU, disco e restrições de tempo, memória e I/O em ambientes computacionais. | 08h |
| 2 | TÉCNICAS DE PROJETO DE ALGORITMOS I: Recursividade, Tentativa e erro (Backtracking), Divisão e conquista. | 08h |
| 3 | TÉCNICAS DE PROJETO DE ALGORITMOS I: Programação dinâmica. | 08h |
| 4 | TÉCNICAS DE PROJETO DE ALGORITMOS II: Algoritmos gulosos, Backtracking. | 08h |
| 5 | MATEMÁTICA COMPUTACIONAL: Aritmética e álgebra; Análise combinatória; Teoria dos números. | 08h |
| 6 | ALGORITMOS EM GRAFOS: Ordenação Topológica, Fluxo em redes e Árvores Segmentadas. | 12h |
| 7 | GEOMETRIA COMPUTACIONAL: Conceitos fundamentais; Algoritmos geométricos básicos. | 08h |
| Total | 60h |
📚 Bibliografia
Bibliografia Básica
- CORMEN, Thomas H. et al. Algoritmos: teoria e prática. 3. ed. Rio de Janeiro: Elsevier, 2012.
- ZIVIANI, Nivio. Projeto de algoritmos: com implementação em Java e C++. São Paulo: Thomson Learning, 2007.
- FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson Prentice Hall, 2005.
Bibliografia Complementar
- SEDGEWICK, Robert. Algorithms in C: parts 1-4: fundamentals, data structures, sorting, searching. 3rd ed. Boston: Addison-Wesley, 1998.
- SEDGEWICK, Robert. Algorithms in C++: parts 1-4: fundamentals, data structures, sorting, searching. 3. ed. Boston: Addison-Wesley, 1998.
- KNUTH, Donald Erwin. The art of computer programming: introduction to combinatorial algorithms and boolean functions. Upper Saddle River, N.J.: Addison-Wesley, 2008.
- HOROWITZ, Ellis; SAHNI, Sartaj. Fundamentos de estruturas de dados. Rio de Janeiro: Campus, 1987.
- MANBER, Udi. Introduction to algorithms: a creative approach. Massachusetts: Addison-Wesley, 1989.