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



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

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

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2013/1

PCC104 - Projeto e Análise de Algoritmos

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

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

Análise e Síntese de Algoritmos.

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

Web site. Profa. Patrícia Dockhorn Costa.

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

Descrição da Disciplina

Implementação de algoritmos para consultas de segmentos em janelas

BCC204 - Teoria dos Grafos

Algoritmos e Estruturas de Dados II LEIC

Algoritmos para Automação e Sistemas

ESTRUTURA DE DADOS DCC013

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

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

AED Algoritmos e Estruturas de Dados LEE /2004

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

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

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

Informações Importantes! INF TURMA A

CONTEÚDOS PROGRAMÁTICOS

If969 - Algoritmos e Estruturas de Dados

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

Planejamento da Disciplina

Prof. Marco Antonio M. Carvalho

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

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

TREINAMENTO PARA COMPETIÇÕES DE PROGRAMAÇÃO: Estudo de caso nas turmas do técnico em informática integrado do Câmpus Muzambinho RESUMO

Projeto e Análise de Algoritmos

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

Bacharelado em Ciência e Tecnologia Processamento da Informação. Apresentação da Disciplina de Processamento da Informação Modalidade: Presencial

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

Pontifícia Universidade Católica de São Paulo Programa de TIDD

CAP241 Computação Aplicada I. Parte 0 Informações Gerais

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

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

(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

AED Algoritmos e Estruturas de Dados LEEC /2005. Apresentação. Algoritmos e Estruturas de Dados

Apresentação da Disciplina

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza

ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA FARROUPILHA

Programação Estruturada Aula Plano de Disciplina

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

Quem sou? Licenciatura em Computação 22/02/2016. Prof. Me. WaltenoMartins Parreira Júnior

DISCIPLINA: Programação de Computadores I

(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

INE5408 Estruturas de Dados. Apresentação e Programa da Disciplina

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello

Algoritmos e Estruturas de Dados II

Desenho e Análise de Algoritmos

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

Apresentação da Disciplina

Análise e Projeto de Algoritmos

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

Análise e Projeto de Algoritmos

Projeto da 1ª Maratona de Programação. Autora: Wanja M. Oliveira Mascarenhas

Computação Eletrônica

Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO

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

Análise de Algoritmos e Estruturas de Dados

Redes Neurais (Inteligência Artificial)

Fundamentos de Programação 1

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2017/2018

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

PARADIGMAS DE LINGUAGENS DE PROGRAMAÇÃO - PLP

Computação e Programação. MEMec - LEAN 1º Semestre

Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina)

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019

PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

DISCIPLINA: Programação de Computadores II

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

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

TEORIA: 60 LABORATÓRIO: 0

AED Algoritmos e Estruturas de Dados LEEC /2006. Apresentação

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

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

Complexidade de Algoritmos

não descobertos descobertos explorados descoberta cruzamento

PLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2

Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???

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

Teoria dos Grafos. Professor: Guilherme Oliveira Mota.

UNIVERSIDADE ESTADUAL DE MONTES CLAROS PRÓ-REITORIA DE PÓS-GRADUAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM MODELAGEM COMPUTACIONAL E SISTEMAS

Desenho e Análise de Algoritmos

PLANO DE ENSINO DA DISCIPLINA BLOCO I IDENTIFICAÇÃ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.

Projeto e Análise de Algoritmos

CAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)

DIM0410: Treinamento para Competições de Programação. Apresentação. David Déharbe, Sérgio Queiroz de Medeiros

Projeto e Análise de Algoritmos

MINISTÉRIO DA EDUCAÇÃO FUNDAÇÃO UNIVERSIDADE FEDERAL DO PAMPA PRÓ-REITORIA DE GRADUAÇÃO COORDENADORIA DE REGISTROS ACADÊMICOS

Transcrição:

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

Introdução ao Curso 2

Carga horária semanal 2 aulas teóricas e 2 aulas práticas (ambas em laboratório) Terças às 17:10, lab 22 do DECOM Prof. Túlio Quintas às 17:10, lab 22 do DECOM Prof. Marco A alocação dos professores não é fixa. 3

Objetivos Aprofundar conteúdos de programação básica como estruturas de dados e paradigmas de projeto de algoritmos e técnicas para a codificação rápida de códigos eficientes. Todos os conteúdos serão praticados na resolução de pequenos desafios computacionais avançados. 4

Metodologia Aulas teóricas Exposição de algoritmos, técnicas e recursos de programação. Aulas práticas Aplicação do conteúdo teórico na solução de problemas práticos e teóricos. Trabalhos extra-classe Consolidação da experiência com os temas tratados em aula 5

Metodologia Dois professores Aula teórica e prática sobre um mesmo tema com um mesmo professor. Terças-feiras Túlio Tóffolo. Quintas-Feiras Marco Antonio. 6

Recursos Ambiente computacional de compilação, desenvolvimento e execução de programas; Software de apoio à aprendizagem, executado em um ambiente virtual Moodle. Lista de discussão na internet; BOCA (Online Contest Administrator) Maratona Linux PC Square. Testes online Banco enorme de problemas; 7

UVa Site da Universidad de Valladolid (Espanha) com vários problemas e correção automática; Problemas semelhantes aos encontrados na maratona Correção automática; Em inglês Forneceremos versões traduzidas. 8 8

Os problemas Os problemas são enunciados de forma bem humorada, em contextos fictícios, porém, de aplicação prática; Envolvem, dentre outros: Aritmética e Álgebra; Geometria computacional; Manipulação de strings; Grafos; Problemas Combinatórios. 9 9

Atividades dos alunos Participação em sessões de discussão sobre estratégias de resolução de problemas utilizando os conceitos abordados; Trabalhos de implementação em classe e extraclasse. Ao final da disciplina, o aluno deverá estar apto a identificar as estruturas e os paradigmas adequados para resolução de problemas. Esta disciplina não se restringe a alunos envolvidos com a Maratona de Programação. 10

Bibliografia Skiena, S. S., Revilla, M. A. Programming challenges: the programming contest training manual. Birkhäuser, 2003. 11

Bibliografia Cormen, T. H., Leiserson, C. E., Rivest, R. L., Stein, C. Algoritmos: Teoria e Prática. Segunda edição. Editora Campus, 2002. 12

Bibliografia Manber, U. Introduction to Algorithms: A Creative Approach. Addison-Wesley, 1989. 13

Bibliografia Sedgewick, R. Algorithms in C Parts 1-5. 3rd Edition. Addison Wesley Longman, 1998. 14

Bibliografia Knuth, D. E. The Art of Computer Programming, Volume 1: Fundamental Algorithms. 3rd edition. Addison-Wesley, 1997. 15

Bibliografia Preparata, F. P., Shamos, M.L. Computational geometry: An introduction. Springer- Verlag, 1985. 16

Avaliação 3 provas práticas, realizadas com auxílio do computador (50% da nota); Individuais. Listas de exercícios e laboratórios (50% da nota); Individuais. A frequência também é considerada. 17

Avaliação Não será cobrado a memorização de algoritmos e estruturas Ao invés disso, serão cobrados quando e como utilizá-los. O objetivo reside em aprender a utilizar as ferramentas disponíveis, e não em fabricar as ferramentas. 18

Aulas Teóricas As aulas teóricas serão realizadas em laboratório também Aula expositiva; Contextualização de problemas computacionais e práticos do dia-a-dia; Relação entre descrição textual de problemas e aspectos computacionais Algoritmos e estruturas de dados. 19

Laboratórios Em cada aula prática, o conteúdo teórico será brevemente revisto, e exercícios sobre cada tema serão resolvidos e enviados pelo Moodle até o final do dia Dificuldade baixa a média; Contam para a avaliação. Só serão considerados exercícios identificados e corretos. 20

Listas de Exercícios A cada aula prática, uma série de exercícios será disponibilizada Dificuldade baixa a alta; Correção eletrônica pelo site da Uva; Entrega pelo Moodle em uma semana; Contam para avaliação. Todos os exercícios são corrigidos Cópias ou tentativas de trapaça invalidam toda a lista de exercícios Acarretam em perda do direito a pontos extras. Não haverá gabarito Dúvidas devem ser sanadas junto ao professor ou colegas antes do prazo de entrega. 21

Provas As provas são realizadas com auxílio do computador Individuais e sem consulta à internet; Eventual consulta a livros e notas de aula Não quer dizer que será fácil. Correção rigorosa em contrapartida. 22

Discussões Haverá grande flexibilidade no ambiente da aula no que diz respeito ao compartilhamento de conhecimento O que não inclui cópias. A idéia é que os alunos interajam fortemente, troquem experiências e se ajudem A disciplina é avaliada individualmente, mas o aprendizado deve ser coletivo Pode ser utilizada a lista de e-mails para isso, ou mesmo o contato pessoal. 23

Discussões Todas as dificuldades e dúvidas devem ser postas em discussão Todos contribuem; Todos aprendem. Por outro lado Facilidades implicam em maiores responsabilidades; Cópias serão fortemente rejeitadas. 24

Linguagem de Programação O material da aula utilizará linguagem C Porém, cada aluno pode escolher a linguagem de preferência; C, C++, Java, Pascal... Shell script não será permitido. O ambiente computacional será Linux Integração com ambientes de programação; Facilidade de compilação por linha de comando. 25

Programação Aula 01: Uva, Tipos de erros, Compilação Representação de tipos Formas padrões de entrada e saída Aula 02: Estruturas de dados: Pilhas, Filas, Listas, Dicionários, Filas de prioridade Aula 03: Definições e estruturas de dados (grafos) Busca em Largura e Busca em Profundidade Aula 04: Ordenação Aula 05: Manipulação de Cadeias de Caracteres Busca de Padrões Bibliotecas C/C++ e Java Aula 06: Inteiros de alta precisão Bases numéricas e conversão Álgebra, manipulação de polinômios, radiciação, logaritmo Bibliotecas de Números reais 26

Programação Aula 07: Recursividade Tentativa e erro Aula 08: Divisão e conquista Aula 09: Programação Dinâmica Aula 10: Algoritmos gulosos Aula 11: Backtracking Aula 12: Técnicas básicas de contagem Aula 13: Problemas e métodos clássicos de análise combinatória Aula 14: Segmentos de linha e interseção Computação de polígonos e ângulos Aula 15: Ordenação Topológica Árvores geradoras mínimas Aula 16: Algoritmos de Menores caminhos e fluxo em redes 27

Cronograma Inicial 10/Mar - Aula 01 15-22/Mar - Aula 02 17-24/Mar - Aula 03 29/Mar-05/Abr - Aula 04 31/Mar-07/Abr - Aula 05 12-14/Abr - Aula 06 19/Abr - Prova 28/Abr-05/Mai - Aula 07 03-10/Mai - Aula 08 12-19/Mai - Aula 09 17-24/Mai - Aula 10 26/Mai-02/Jun - Aula 11 31/Mai - Aula 12 07/Jun Prova 09-16/Jun - Aula 13 14-21/Jun - Aula 14 28/Jun-05/Jul - Aula 15 30/Jun-07/Jul - Aula 16 12/Jul - Prova 19/Jul - Exame Especial 28

Cronograma Inicial Teremos 3 feriados, recessos ou inversões em dias de aula (21/04, 26/04 e 23/06); O calendário acadêmico prevê dias específicos para inversão de aulas Por exemplo, dias de sábado com calendário de terça; Não teremos uma aula em uma terça-feira (26/04). 29

Recomendações 30

O que se espera do aluno Pontualidade Chamada uma vez por aula; Perdeu a chamada, não tem choro. Dedicação exclusiva às atividades da disciplina durante a aula Proatividade; Aplicação nas atividades extra-classe As listas de exercícios representam pontos valiosos. 31

Recomendações 32

Recomendações 33

Recomendações Inglês Pelo menos o mínimo é imprescindível para programação. O aluno deve buscar sanar possíveis deficiências. 34

Recomendações Proficiência em informática É esperado que o aluno saiba usar o computador Editor de texto; Navegar na internet; E-mail; Lidar com arquivos; Sistema operacional. 35

Recomendações Proficiência em programação É esperado que o aluno saiba programar em alguma das linguagens suportadas C; C++; Java; Pascal. 36

Atendimento Professores Marco Antonio marco.opt@gmail.com (não enviar programas) 3559-1663 Sala 19 DECOM (Em frente ao laboratório) Túlio??? (não enviar programas) 3559-1663 Sala 19 DECOM (Em frente ao laboratório) 37

Lista de Discussão maratonaufop@googlegroups.com 38

Competição Competição Internacional Nível: a partir do terceiro grau até mestrado (1 ano) 39

Acompanhamento Além do material das aulas, outras informações estão disponíveis no curso BCC402 Algoritmos e Programação Avançada do Moodle www.decom.ufop.br/moodle 40

Perguntas? 41

FIM 42