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

00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

  • Upload
    buiphuc

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

BCC402 Algoritmos e Programação AvançadaProf. Marco Antonio M. CarvalhoProf. Túlio Ângelo M. Tóffolo2011/1

Page 2: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

2

Introdução aoCurso

Page 3: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

3

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.

Page 4: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

4

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.

Page 5: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

5

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

Page 6: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

6

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.

Page 7: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

7

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;

Page 8: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

8

UVa

• Site da Universidad de Valladolid (Espanha) com vários problemas e correção automática;

• Problemas semelhantes aos encontrados namaratona– Correção automática;– Em inglês

• Forneceremos versões traduzidas.

8

Page 9: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

9 9

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.

Page 10: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

10

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

Page 11: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

11

Bibliografia

• Skiena, S. S., Revilla, M. A.Programming challenges: the

programming contest training

manual. Birkhäuser, 2003.

Page 12: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

12

Bibliografia

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

Page 13: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

13

Bibliografia

• Manber, U. Introduction to Algorithms: A Creative

Approach. Addison-Wesley, 1989.

Page 14: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

14

Bibliografia

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

Page 15: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

15

Bibliografia

• Knuth, D. E. The Art of

Computer Programming, Volume 1: Fundamental

Algorithms. 3rd edition. Addison-Wesley, 1997.

Page 16: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

16

Bibliografia

• Preparata, F. P., Shamos, M.L. Computational geometry:

An introduction. Springer-Verlag, 1985.

Page 17: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

17

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.

Page 18: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

18

Avaliação

• Não será cobrado a memorização de algoritmose 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.

Page 19: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

19

Aulas Teóricas

• As aulas teóricas serão realizadas emlaborató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.

Page 20: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

20

Laboratórios

• Em cada aula prática, o conteúdo teórico serábrevemente revisto, e exercícios sobre cadatema 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 identificadose corretos.

Page 21: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

21

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.

Page 22: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

22

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.

Page 23: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

23

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.

Page 24: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

24

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.

Page 25: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

25

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.

Page 26: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

26

Programação

• Aula 01: Uva, Tipos de erros, CompilaçãoRepresentação de tiposFormas 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õesBibliotecas C/C++ e Java

• Aula 06: Inteiros de alta precisãoBases numéricas e conversãoÁlgebra, manipulação de polinômios, radiciação, logaritmoBibliotecas de Números reais

Page 27: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

27

Programação

• Aula 07: RecursividadeTentativa 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

Page 28: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

28

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

Page 29: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

29

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

Page 30: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

30

Recomendações

Page 31: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

31

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.

Page 32: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

32

Recomendações

Page 33: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

33

Recomendações

Page 34: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

34

Recomendações

Inglês• Pelo menos o mínimo é imprescindível para

programação. O aluno deve buscar sanar possíveis deficiências.

Page 35: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

35

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.

Page 36: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

36

Recomendações

Proficiência em programação

• É esperado que o aluno saiba programar em alguma das linguagens suportadas– C;– C++;– Java;– Pascal.

Page 37: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

37

Atendimento

• Professores– Marco Antonio– [email protected] (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)

Page 38: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

38

Lista de Discussão

[email protected]

Page 39: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

39

Competição

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

Page 40: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

40

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

Page 41: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

41

Perguntas?

Page 42: 00 Aula 00 - decom.ufop.br · computacionais avançados. 5 Metodologia ... • PC Square . • Testes online – Banco enorme de problemas; 8 UVa • Site da Universidad de Valladolid

42

FIM