PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

Documentos relacionados
PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

PLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

TEORIA: 60 LABORATÓRIO: 0

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

SCC-501 Introdução à Ciência de Computação II

SCC-201 Introdução à Ciência de Computação II

ESTRUTURA DE DADOS DCC013

UNIDADE ACADÊMICA: Faculdade de

Estrutura de Dados II

( X ) SEMESTRAL - ( ) ANUAL

Algoritmos para Automação e Sistemas

If969 - Algoritmos e Estruturas de Dados

Solução de Recorrências

Projeto e Análise de Algoritmos

Análise e Projeto de Algoritmos

Descrição da Disciplina

PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação

PLANO DE APRENDIZAGEM. CH Teórica: 80 Prática: 20 CH Total: 100 Créditos: 05 Pré-requisito(s): Linguagem de Programação I Período: III Ano: 2019.

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Trabalho Prático 1. Valor: 1,0 pontos (10% da nota total) Data de Entrega: 02/05/2010

ALGORITMOS E ESTRUTURAS DE DADOS I PROF. EDSON IFARRAGUIRRE MORENO

PLANO DE ENSINO DE ALGORITMOS

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE UBERLÂNDIA

Programa Analítico de Disciplina INF333 Programação Competitiva

PCC104 - Projeto e Análise de Algoritmos

BCC Projeto e Análise de Algoritmos Aula 0: Apresentação

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco.

Análise e Projeto de Algoritmos

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

n Professor n Duas Avaliações prático-teóricas: n Componente Teórico: 20 pontos n Componente Prático: 15 pontos

Web site. Profa. Patrícia Dockhorn Costa.

FORMULÁRIO PARA CRIAÇÃO E/OU REGULAMENTAÇÃO DE DISCIPLINA

1 a Lista de Exercícios

BACHARELADO EM SISTEMAS DE INFORMAÇÃO MATEMÁTICA DISCRETA Aula 1 - Apresentação da disciplina

Análise de Algoritmos. Prof. Sérgio Carlos Portari Júnior

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

Planejamento da Disciplina

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

Estruturas de Dados Apresentação da Disciplina

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Aula 1 Oficina de Programação e Laboratório Apresentação. Profa. Elaine Faria UFU

Programa Analítico de Disciplina INF101 Introdução à Programação II

[Cormen et al., 2002] Algoritmos: Teoria e Prática Tradução da segunda edição em inglês.

Breve Introdução à Complexidade Assintótica de Algoritmos Letícia Rodrigues Bueno

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 4 a ETAPA

DISCIPLINA: Programação de Computadores I

Documento de uso exclusivo da unidade, não possui valor legal. 28/06/ :43:00. Matéria: Carga Horária Total. Prática: 44 Campo: 44

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 3 a ETAPA

PLANO ANALÍTICO DA DISCIPLINA DE ESTRUTURA DE DADOS E ALGORÍTMOS

FACULDADE DE TECNOLOGIA DE TAQUARITINGA 13 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

PLANO DE CURSO. 3. OBJETIVO GERAL DA DISCIPLINA: Desenvolver no aluno uma metodologia de análise de problemas e formulação de algoritmos.

AED Algoritmos e Estruturas de Dados LEE /2004

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO PROGRAMA DE DISCIPLINA. Introdução a Algoritmos CCOMP CCMP

Algoritmos e Estruturas de Dados

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )

Teoria da Computação Aula 9 Noções de Complexidade

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA CIVIL COLEGIADO DO CURSO DE ENGENHARIA CIVIL PLANO DE CURSO

EDITAL Nº 6, DE 05 DE FEVEREIRO DE FACULDADE DE COMPUTAÇÃO COMISSÃO ESPECIAL SELEÇÃO DE CANDIDATOS A PROFESSOR SUBSTITUTO REGIME DE TRABALHO

BCC202 - Estrutura de Dados I

Classificação e Pesquisa

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 23 de Março de 2018

Informações Importantes! INF TURMA A

BCC204 - Teoria dos Grafos

PLANO DE ENSINO E APRENDIZAGEM CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas

Divisão-e-Conquista ( ) CAL ( ) MIEIC/FEUP. ./rr (1) Técnicas de Concepção de Algoritmos

PLANO DE ENSINO. DISCIPLINA: (06241) Algoritmos e Estruturas de Dados. PRÉ-REQUISITOS: Matemática Discreta e Introdução a Programação

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA

Algoritmos e Estruturas de Dados II LEIC

Análise e Complexidade de Algoritmos

DISCIPLINA: Programação de Computadores II

SCC0502 Algoritmos e Estruturas de Dados I. Profa. Maria Cristina

PLANO DE ENSINO DA DISCIPLINA BLOCO I IDENTIFICAÇÃO

Métodos de Ordenação Parte 4

BCC Projeto e Análise de Algoritmos Aula 0: Apresentação

Limite assintótico para a ordenação, Ordenação em tempo linear

Classes, Herança e Interfaces

CONSIDERANDO que o art. 28 das Normas Gerais da Graduação vigentes dispõe sobre o Plano de Ensino;

Universidade Federal de Uberlândia Faculdade de Computação. GMA038 Introdução à Ciência da Computação

Complexidade Assintótica de Programas Letícia Rodrigues Bueno

Análise de Algoritmos e Estruturas de Dados

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

Estrutura de Dados e Arquivos Ementa Objetivo Geral Conteúdo Avaliação

Complexidade de Tempo e Espaço

PROCESSO SELETIVO SIMPLIFICADO DE PROFESSOR SUBSTITUTO

SCC Introdução à Teoria da Computação

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

MCTA001 Algoritmos e Estruturas de Dados I Apresentação e exercícios básicos

Transcrição:

UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC052 PERÍODO: 5 o Período CARGA HORÁRIA: 60 horas-aula / semestre, 4 ( X )OBRIGATÓRIA - ( ) OPTATIVA horas-aula / semana - teóricas PRÉ-REQUISITOS: não há CÓ-REQUISITOS: não há PROFESSOR: Marcelo Keese Albertini UNIDADE ACADÊMICA: Faculdade de Computação - FACOM CURSO: Bacharelado em Ciência da Computação OBJETIVOS Analisar a eficiência computacional de algorimos utilizando formalismo apropriado; Aplicar técnicas de projeto de algoritmos; e Projetar algoritmos eficientes de acordo com a técnica mais adequada ao problema. EMENTA Elementos de análise assintótica (notações assintóticas O,Ω e Θ). Solução de recorrências. Análise do desempenho de algoritmos iterativos. Análise do desempenho de algoritmos recursivos. Análise de pior caso e análise probabilística (caso médio). Algoritmos de busca e ordenação. Algoritmos de programação dinâmica. Algoritmos gulosos. Algoritmos para problemas em grafos. Algoritmos Aproximados. JUSTIFICATIVA Muitos problemas de alta complexidade computacional são constituídos por sub-problemas básicos relacionados à organização, ordenação e busca de dados. O estudo de técnicas análise de algoritmos permite a compreensão desses problemas básicos de forma sistematizada, viabilizando o projeto de soluções para problemas de alta complexidade.

PROGRAMA 1. Introdução Conceitos de Algoritmo, Análise, Modelo de Computação Análise de Algoritmos Iterativos Exemplo de análise de um algoritmo para um problema simples Fundamentos Matemáticos Recorrência, Somas e Notação Assintótica Relação entre Recorrências e Notação Assintótica Relação entre Somas e Notação Assintótica Classes de Comportamento Operações com Notação Assintótica Aula 1. 14/03/2018 - Introdução à Análise de Algoritmos: Bubble sort, Counting sort, complexidades Aula 2. 16/03/2018 - Elementos de Análise Assintótica Aula 3. 21/03/2018 - Elementos de Análise Assintótica: análise empírica 2. Análise de Algoritmos Recursivos Algoritmos de Ordenação: Merge sort, Quick sort e Heap sort Algoritmos para Estatísticas Ordenadas Aula 4. 23/03/2018 - Relações de recorrência Aula 5. 28/03/2018 - Técnicas de resolução de recorrência: Quicksort Aula 6. 04/04/2018 - Recorrências de divisão e conquista: busca binária Aula 7. 06/04/2018 - Recorrências de divisão e conquista: Mergesort Aula 8. 11/04/2018 - Teoremas Mestre de divisão e conquista Aula 9. 13/04/2018 - Prova 1 Aula 10. 18/04/2018 - Técnicas de análise de tempo médio Aula 11. 20/04/2018 - Análise com Funções Geradoras: quicksort Aula 12. 25/04/2018 - Caso médio: Análise assintótica e aproximações de somatórios Aula 13. 27/04/2018 - Caso médio: Análise Combinatorial e Método Simbólico Aula 14. 02/05/2018 - Caso médio: Análise Combinatorial de Árvores 3. Programação Dinâmica Princípios básicos para Programação Dinâmica Exemplos de Aplicação da técnica Aula 15. 04/05/2018 - Princípios de Programação Dinâmica: introdução Aula 16. 09/05/2018 - Análise de problemas de Programação dinâmica Aula 17. 11/05/2018 - Árvore de Busca de Custo Ótimo com Programação Dinâmica Aula 18. 16/05/2018 - Prova 2 2

4. Algoritmos Gulosos Princípios Básicos da Técnica Exemplos de Aplicação da técnica 5. Algoritmos em Grafos Algoritmos para Árvore Geradora de Custo Mínimo Algoritmo do Menor Caminho 6. Algoritmos Aproximados Definição Exemplos utilizando as técnicas anteriores Aula 19. 18/05/2018 - Apresentações Trabalho 1 Aula 20. 23/05/2018 - TECHWEEK 2018 Aula 21. 25/05/2018 - TECHWEEK 2018 Aula 22. 30/05/2018 - Análise probabilística: Hashing com encademento Aula 23. 06/06/2018 - Análise probabilística: Hashing com sondagem Aula 24. 08/06/2018 - Análise de grafos aleatórios: Cuckoo Hashing Aula 25. 13/06/2018 - Análise amortizada Aula 26. 15/06/2018 - Análise amortizada Aula 27. 20/06/2018 - Análise de Algoritmos Gulosos Aula 28. 22/06/2018 - Análise de Algoritmos Gulosos Aula 29. 27/06/2018 - Análise de Algoritmos em Grafos Aula 30. 29/06/2018 - Análise de Algoritmos Aproximados Aula 31. 04/07/2018 - Análise de Algoritmos Aproximados Aula 32. 06/07/2018 - Prova 3 Aula 33. 11/07/2018 - Apresentações Trabalho 2 Aula 34. 13/07/2018 - Prova de recuperação 3

METODOLOGIA O conteúdo será apresentado na forma expositiva. Os conceitos serão explorados em listas de exercícios. O aprendizado será estimulado em projetos de implementação de sistemas. O aprendizado será avaliado através de provas, trabalhos práticos e exercícios conceituais. AVALIAÇÃO A avaliação do conhecimento será feita da seguinte forma: 3 provas teóricas, somando 80 pontos Prova 1: 13/04/2018, valendo 25 pontos Prova 2: 16/05/2018, valendo 25 pontos Prova 3: 06/07/2018, valendo 30 pontos Prova de Recuperação: 13/07/2018 2 trabalhos, somando 20 pontos ATENDIMENTO Atendimento com o professor por correio eletrônico, em horário regular nas segundas e sextasfeiras das 13h30 às 17h, sala 150, bloco 1B ou em horário individual agendado. 4

BIBLIOGRAFIA BÁSICA BIBLIOGRAFIA Sedgewick, R. & Flajolet, P.. An Introduction to the Analysis of Algorithms. 2a edição, 2013 Sedgewick, R. & Wayne, K.. Algorithms. 4a edição, Editora Addison-Wesley, 2011. Cormen, Thomas H. et. al. Introduction to Algorithms. 3a edição. 2011. Cormen, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002. BIBLIOGRAFIA COMPLEMENTAR Aho, A.V & Ullman, J.D. & Hopcroft, J.E. Data Structures and Algorithms. 3a edição, Editora Addison Wesley, 1993. Ziviani, N. Projeto de Algoritmos. 2a edição, Editora Thomson, 2004. Tenenbaum, A.M. & Langsam, Y. & Augenstein, M.J. Estrutura de Dados Usando C. Editora Pearson (Makron Books), 2004. Goldbarg, M. & Goldbarg, E. Grafos: Conceitos, algoritmos e aplicações. Elsevier, 2012. Backes, A. Linguagem C: completa e descomplicada. Elsevier, 2013. Santos, R., Introdução à Programação Orientada a Objetos Usando JAVA, Elsevier, 2011. Szwarckfiter, J. L.; Markenzon, L. Estrutura de Dados e Seus Algoritmos. São Paulo: LTC, 2010. Knuth, D. G. The Art of Computing Programming. Boston: Addison-Wesley, 1974. Mamber, U. Introduction to Algorithms: a creative approach. Boston: Addison-Wesley, 1989. Entregue em / /. Assinatura do Professor Aprovado pelo colegiado do curso em / /. Assinatura do Coordenador 5