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

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

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

PCC104 - Projeto e Análise de Algoritmos

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

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

Prof. Marco Antonio M. Carvalho

BCC204 - Teoria dos Grafos

Algoritmos e Estruturas de Dados II LEIC

ESTRUTURA DE DADOS DCC013

Análise e Síntese de Algoritmos.

Algoritmos para Automação e Sistemas

Web site. Profa. Patrícia Dockhorn Costa.

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

Descrição da Disciplina

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

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

AED Algoritmos e Estruturas de Dados LEE /2004

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

Apresentação da Disciplina

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

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

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

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

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

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

Apresentação da Disciplina

If969 - Algoritmos e Estruturas de Dados

DISCIPLINA: Programação de Computadores I

Projeto e Análise de Algoritmos

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

Análise e Projeto de Algoritmos

Informações Importantes! INF TURMA A

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

Apresentação da Disciplina

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 da 1ª Maratona de Programação. Autora: Wanja M. Oliveira Mascarenhas

PARADIGMAS DE LINGUAGENS DE PROGRAMAÇÃO - PLP

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

Apresentação da Disciplina

Fundamentos de Programação

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

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

TEORIA: 60 LABORATÓRIO: 0

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

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

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

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

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

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

Fundamentos de Programação 1

2ª Mini-Maratona de Programação IF Goiano CA Cristalina

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

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

Programação Aplicada à. Engenharia de Alimentos

Programação Estruturada Aula Plano de Disciplina

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

Análise e Projeto de Algoritmos

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

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

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

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

SSC0300 LINGUAGENS DE PROGRAMAÇÃO E APLICAÇÕES

Desenho e Análise de Algoritmos

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

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

Recursividade, Tentativa e Erro

INF1025. Introdução à Programação. Pontifícia Universidade Católica do Rio de Janeiro Departamento de Informática

Planejamento da Disciplina

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

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

Aula de Apresentação. Prof. Túlio Toffolo BCC501 Aula 02 Introdução à Ciência da Computação

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

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

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

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

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

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

Noções de sistemas de computação

Algoritmos e Técnicas de Programação

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

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

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

ALGORITMOS E ESTRUTURAS DE DADOS I PROF. EDSON IFARRAGUIRRE MORENO

Lógica de Programação. Tecnologia em Redes de Computadores IFSULDEMINAS Campus Inconfidentes Prof. Kleber Rezende

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 Federal de Uberlândia Faculdade de Computação. FACOM49010(V) Algoritmos e Programação de Computadores Engenharia Mecatrônica

Apresentação da Disciplina

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

UNIVERSIDADE PRESBITERIANA MACKENZIE

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

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

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

SCC0502 Algoritmos e Estruturas de Dados I

Estrutura de Dados II

Carga Horária: 60 h Créditos: 3 Pré-requisito: Não se aplica Professor(a): A definir Matricula: A definir Titulação: A definir

PROGRAMA - Disciplinas Lecionadas

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

ANÁLISE E IMPLANTAÇÃO DE FERRAMENTAS PARA CORREÇÃO AUTOMATIZADA DE ALGORITMOS RESUMO

Transcrição:

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

2

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

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

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

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

Ambiente computacional de compilação, desenvolvimento e execução de programas; Lista de discussão na internet; BOCA (Online Contest Administrator) Maratona Linux Testes online UVa e competições nacionais; Banco enorme de problemas. 7

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 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

Dados problemas conhecidos da Ciência da Computação, resolvê- los da forma mais rápida possível! Não se trata de Engenharia de Software. Conhecidos = Não são problemas de pesquisas Problemas no nosso escopo: International Collegiate Programming Contest e Maratona de Programação. 10

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 extra- classe; 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. 11

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

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

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

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

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

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

3 provas práticas, realizadas com auxílio do computador (45% da nota); Individuais. Listas de exercícios e laboratórios (55% da nota); Individuais. 10% extras; A frequência também é considerada. 18

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. 19

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. 20

Em cada aula prática exercícios sobre cada tema serão resolvidos e submetidos pelo BOCA/UVa Dificuldade baixa a média; Contam para a avaliação. Só serão considerados exercícios identificados e corretos. 21

A cada aula prática, uma série de exercícios será disponibilizada Dificuldade baixa a alta; Correção eletrônica pelo BOCA/UVa; Entrega pelo BOCA/Moodle; 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. 22

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. O aluno escolhe as questões entre as disponíveis em cada tema; Correção rigorosa em contrapartida. 23

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. 24

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. 25

O material da aula utilizará linguagem C/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. 26

1. Representação de tipos e formas padrões de entrada e saída. 2. Estruturas de dados: Pilhas, Filas, Listas, Dicionários, Filas de prioridade. 3. Grafos e Árvores. 4. Ordenação. 5. Strings e Bibliotecas C/C++. 6. Aritmética e Inteiros de Alta Precisão. 7. Recursividade, Tentativa e Erro. 8. Divisão e conquista. 9. Algoritmos gulosos 10. Backtracking. 11. Programação Dinâmica. 12. Caminho Mínimo, Fluxo Máximo e Árvores Geradoras. 13. Segmentos de linha e interseção. 14. Geometria Computacional. 15. Grades (Grids). 27

MARÇO DOM SEG TER QUA QUI SEX SAB Aula 01 2 3 4 5 Aula 02 7 Aula 03 9 10 11 12 A. Prát. 14 A. Prát. 16 17 18 19 Aula 04 21 Aula 05 23 24 25 26 A. Prát. 28 Prova 01 30 31 ABRIL DOM SEG TER QUA QUI SEX SAB 1 2 Aula 06 4 5 6 7 8 9 A. Prát. 11 A. Prát. 13 14 15 16 Aula 07 18 Aula 08 20 21 22 23 A. Prát. 25 A. Prát. 27 28 29 30 MAIO DOM SEG TER QUA QUI SEX SAB 1 2 Aula 09 4 5 6 7 A. Prát. 9 Prova 02 11 12 13 14 Aula 10 16 Aula 11 18 19 20 21 A. Prát. 23 A. Prát. 25 26 27 28 29 30 31 JUNHO DOM SEG TER QUA QUI SEX SAB 1 2 3 4 Aula 12 6 7 8 9 10 11 A. Prát. A. Prát. Aula 13 15 16 17 18 Aula 14 20 Aula 15 22 23 24 25 A. Prát. 27 A. Prát. 29 30 JULHO DOM SEG TER QUA QUI SEX SAB 1 2 Prova 03 4 5 6 7 8 9 Prova Final 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 28

Teremos 3 feriados ou recessos em dias de aula (05/04, 01/05 e 07/06); Teremos também uma inversão no dia 13/06 Quarta- feira com horário de quinta- feira. 29

30

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

32

33

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. 34

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

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

maratonaufop@googlegroups.com 37

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

Além do material das aulas, outras informações estão disponíveis na página http://www.decom.ufop.br/toffolo/ensino/bcc402_2012-1 39

Perguntas? 40

FIM 41