UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO I IDENTIFICAÇÃO CURSO: Licenciatura em Computação MODALIDADE: Presencial DISCIPLINA: (06241) Algoritmos e Estruturas de Dados PRÉ-REQUISITOS: Matemática Discreta e Introdução a Programação ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: Estatística e Informática PROFESSOR RESPONSÁVEL : Jeane Cecília Bezerra de Melo Ano: 2009 Semestre Letivo: ( ) Primeiro ( X ) Segundo Total de Créditos: 03 Carga Horária: 4 horas semanais (Teóricas: 2h Práticas: 2h) II - EMENTA (Sinopse do Conteúdo) Análise de Algoritmos: Notação O e Análise Assintótica. Estruturas de Dados: Listas, Árvores e Grafos. Pesquisa de Dados. NP-Completude. Projeto: desenvolvimento de programa com estruturas de dados avançadas.
III - OBJETIVOS DA DISCIPLINA Gerais Apresentar aos alunos conceitos e questões relativas ao desenvolvimento e análise de algoritmos, bem como sua relação com estruturas de dados. Desenvolver o raciocínio algorítmico para resolução de problemas computacionais. Específicos Apresentar aos alunos conceitos, problemas, aplicações e estratégias para desenvolvimento e análise de algoritmos. Apresentar estruturas de dados, acessibilidade de dados nestas e suas implicações no desenvolvimento de algoritmos. Apresentar conceitos básicos de NP-completude. IV - CONTEÚDO PROGRAMÁTICO 1. Análise de Algoritmos. 1.1. Análise do Pior Caso; 1.2. Notação Assintótica; 2. Estruturas de Dados. 2.1. Listas ligadas: simples, duplas, circulares; 2.2. Alocação dinâmica de memória; 2.3. Pilhas, Filas: alocação estática e dinâmica; 2.4. Árvores: binárias; 2.4.1. Construção recursiva de árvores; 2.4.2. Passeio em árvores: préfixo, pósfixo e central; 2.5. Grafos: orientados e não-orientados; 2.6. Aplicações. 3. Pesquisas de Dados. 3.1. Seqüencial e Binária; 3.2. Árvores: busca (largura e profundidade), inserção e remoção; balanceamento; 3.3. Grafos: busca, árvore geradora; 3.4. Aplicações. 4. Conceitos Básicos de NP-Completude 4.1. Problemas NP-completos; 4.2. Redutibilidade; 4.3. Aplicações. 5. Projeto de Desenvolvimento com Estruturas de Dados Avançadas
V MÉTODOS DIDÁTICOS DE ENSINO (X ) Aula Expositiva ( X ) Seminário ( ) Leitura Dirigida (X ) Demonstração (prática realizada pelo Professor) (X ) Laboratório (prática realizada pelo aluno) ( ) Trabalho de Campo ( ) Execução de Pesquisa ( ) Outra. Especificar: VI - CRITÉRIOS DE AVALIAÇÃO Primeira verificação: [Lista de Exercícios] (peso 2) + Prova Teórica (peso 7) + Participação (peso 1) Segunda verificação: Prova Teórica (peso 3) + Projeto (peso 6) + Participação (peso 1) Terceira Verificação: Prova Escrita (todo o assunto) Exame Final: Prova Escrita (todo o assunto) FORMAS DE ACOMPANHAMENTO DO ALUNO DURANTE O SEMESTRE: Participação nas aulas práticas e teóricas; Execução das atividades solicitadas.
CRONOGRAMA Aula1 Aula2 Aula3 Aula4 DATA CONTEUDO Apresentação do Plano de Ensino; Apresentação da disciplina; Análise de Algoritmos: Estudo de caso: Insertionsort; Análise do Pior Caso; Notação Assintótica; Análise de Algoritmos: Estudo de caso: Mergesort Análise de Algoritmos: Estudo de caso: Mergesort Análise de Algoritmos: Estudo de caso: Quicksort Aula5 Aula6 Aula7 Aula8 Aula9 Aula10 Aula11 Aula12 Aula13 Aula14 Aula15 Aula16 Aula17 Aula18 Estruturas de Dados: Pilhas, Filas: alocação estática e dinâmica; Estruturas de Dados: Pilhas, Filas: alocação estática e dinâmica; Estruturas de Dados: Listas ligadas: simples, duplas, circulares; Alocação dinâmica de memória; Aula de Exercício Estruturas de Dados: Listas ligadas: simples, duplas, circulares; Alocação dinâmica de memória; Estruturas de Dados: Aplicações. Estudo de caso:heapsort Estruturas de Dados: Árvores binárias; Construção recursiva de árvores; Passeio em árvores: préfixo, pósfixo e central;. Pesquisas de Dados: Seqüencial e Binária; Aula de Revisão Primeira Verificação de Aprendizagem Projeto de Desenvolvimento com Estruturas de Dados Avançadas: Definições de Grupos; Propostas de Temas; Fixar datas de apresentação Pesquisas de Dados: Árvores: busca (largura e profundidade), inserção e remoção; balanceamento; Pesquisas de Dados: Árvores: busca (largura e profundidade), inserção e remoção; balanceamento;
Estruturas de Dados: Grafos: orientados e não-orientados; Aula19 Pesquisas de Dados: Grafos: busca, árvore geradora; Aula20 Aula21 Aula22 Aula23 Aula24 Aula25 Aula26 Aula27 Aula28 Aula29 Aula30 Aula 31 Conceitos Básicos de NP-Completude: Problemas NP-completos; Aplicações; Avaliação Parcial dos Projetos Apresentação dos Projetos Apresentação dos Projetos Segunda Verificação de Aprendizagem Revisão Terceira Verificação de Aprendizagem Exame Final VIII BIBLIOGRAFIA (Conforme normas da ABNT) BÁSICA: 1. Cormen, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002. COMPLEMENTAR: 2. Ziviani, Nivio. Projeto de Algoritmos. Editora Nova Fronteira, 2004. 3. Sedgewick, Robert. Algorithms in C++. Addison Wesley, 2000. 4. Manber, Udi. Introduction to Algorithms: A Creative Approach. Addison Wesley, 1989. 5. Sedgewick, Robert. and Flajolet, Philippe. An Introduction to the Analysis of Algorithms. Addison Wesley, 1996. Jeane Cecília Bezerra de Melo Professor Responsável