Estrutura de Dados II - Apresentação da Disciplina

1,002 views

Published on

Apresentação da disciplina de Estrutura de Dados II

  • Be the first to comment

Estrutura de Dados II - Apresentação da Disciplina

  1. 1. Universidade Presbiteriana Mackenzie Aula 1: Apresentação da Disciplina Prof. Ms. Daniel Arndt Alves Faculdade de Computação e Informática Estrutura de Dados II Apresentação da Disciplina 1Daniel Arndt Alves
  2. 2. Tópicos da Aula • Professor • Objetivos • Conteúdo Programático • Referências Bibliográficas • Regras • Notas • Comunicados & Avisos • Datas Importantes Apresentação da Disciplina 2Daniel Arndt Alves
  3. 3. Tópicos da Aula • Padrões de Nomenclatura • Um Mau Layout • Um Bom Layout Apresentação da Disciplina 3Daniel Arndt Alves
  4. 4. Professor • Daniel Arndt Alves – Bacharel em Ciência da Computação – Mestre em Engenharia Elétrica • http://www.progdan.pro.br/ Apresentação da Disciplina 4Daniel Arndt Alves
  5. 5. Professor • Mackenzie – Professor PPI da Faculdade de Computação e Informática – Administrador do Mackenzie Virtual (Moodle) – http://ead.mackenzie.br/mackenzievirtual/ – Administrador do Cluster de Pesquisa em Computação Evolutiva e Autômatos Celulares – http://ecca.mackenzie.br/ Apresentação da Disciplina 5Daniel Arndt Alves
  6. 6. Objetivos • Cognitivos – Aprender os fundamentos de Estrutura de Dados e sua aplicações – Analisar estratégias de implementação destas Estruturas de Dados – Entender e analisar a eficiência destas estruturas Daniel Arndt Alves Apresentação da Disciplina 6
  7. 7. Objetivos • Habilidades – Ser capaz de entender o funcionamento das principais estruturas de dados – Ser hábil a avaliar a melhor estrutura de dados para cada aplicação – Ser capaz de desenvolver aplicações utilizando estas estruturas de dados Daniel Arndt Alves Apresentação da Disciplina 7
  8. 8. Objetivos • Atitudes – Ter consciência da importância da avaliação do desempenho das principais estruturas de dados para aplicações científicas e/ou comerciais – Valorizar o reuso de código – Fazer o uso do trabalho cooperativo para desenvolvimento de tarefas complexas Daniel Arndt Alves Apresentação da Disciplina 8
  9. 9. Conteúdo Programático • Algoritmos de Ordenação – Bubble Sort – Selection Sort – Insertion Sort – QuickSort – Merge – Complexidade: Notação Big-O Daniel Arndt Alves Apresentação da Disciplina 9
  10. 10. Conteúdo Programático • Algoritmos de Busca – Busca Binária – Hashing • Recursão • Árvores – Busca, Inserção, Remoção – Percorrendo Árvores • Grafos – Busca, Caminho Mais Curto Daniel Arndt Alves Apresentação da Disciplina 10
  11. 11. Referências Bibliográficas • DEITEL, H. M., DEITEL, P. J. Java Como Programar. 8ª ed. Prentice Hall, 2010. • GOODRICH, M. T., TAMASSIA, R. - Estruturas de Dados e Algoritmos em Java. 4ª ed. Bookman, 2007. Daniel Arndt Alves Apresentação da Disciplina 11
  12. 12. Regras • Pontualidade – O Professor dará o melhor de si para se apresentar no horário de início das aulas. – Os Alunos darão o melhor de si para se apresentarem no horário de início das aulas. Daniel Arndt Alves Apresentação da Disciplina 12
  13. 13. Regras • Presença – A chamada será realizada no início de cada aula. – Eventualmente, a chamada poderá ser realizada mais tarde, sem que isto deva ser entendido como alteração desta regra. Daniel Arndt Alves Apresentação da Disciplina 13
  14. 14. Regras • Presença – Os Alunos deverão gerenciar a sua cota de faltas adequadamente, levando em conta o tráfego da cidade, as responsabilidades em seu trabalho, feriados, possíveis problemas de saúde, distrações durante a chamada, etc. Daniel Arndt Alves Apresentação da Disciplina 14
  15. 15. Regras • Presença – O Professor não dará presença a um aluno ausente, qualquer que seja a razão. Abonos de faltas deverão ser discutidos diretamente com a Secretaria Geral da Universidade. Daniel Arndt Alves Apresentação da Disciplina 15
  16. 16. Regras • Entrega de Trabalhos – Os trabalhos devem ser entregues na data determinada pelo Professor. Daniel Arndt Alves Apresentação da Disciplina 16
  17. 17. Regras • Entrega de Trabalhos – Atrasos poderão eventualmente ser considerados em casos de doença, sempre fundamentada em atestado médico e requerimento apresentado à Secretaria da FCI, no dia subsequente à alta médica Daniel Arndt Alves Apresentação da Disciplina 17
  18. 18. Regras • Datas das Provas – As datas definidas para as provas desde o início do curso, não serão alteradas em hipótese alguma. Daniel Arndt Alves Apresentação da Disciplina 18
  19. 19. Regras • Datas das Provas – O Aluno poderá, eventualmente, efetuar a prova em outro dia, a ser determinado pelo professor, nas seguintes situações: • Doença – fundamentada por atestado médico e requerimento apresentado à Secretaria da FCI. Daniel Arndt Alves Apresentação da Disciplina 19
  20. 20. Regras • Datas das Provas – O Aluno poderá, eventualmente, efetuar a prova em outro dia, a ser determinado pelo professor, nas seguintes situações: • Atividade no Trabalho – fundamentada por correspondência da empresa, em papel timbrado, esclarecendo o motivo e declarando ter sido informada pelo aluno sobre a realização da prova, e requerimento apresentado à Secretaria da FCI. Daniel Arndt Alves Apresentação da Disciplina 20
  21. 21. Regras • Datas das Provas – O requerimento deve ser apresentado à Secretaria da FCI no dia subsequente à ocorrência. Daniel Arndt Alves Apresentação da Disciplina 21
  22. 22. Notas • Haverá 1 prova parcial (P1), Listas de Exercícios e Micro-Avaliações (Ex), mais participação em aula, e a nota de Laboratório (Lab), com os pesos: • N1 = (30 P1 + 20 PROCOMP + 10 Ex + 40 Lab)/100 + Participação • MF = (N1 + PF)/2 Daniel Arndt Alves Apresentação da Disciplina 22
  23. 23. Notas • A nota de Participação será composta pelos seguintes critérios: – 60% pelos Exercícios Complementares submetidos no ambiente Moodle – 40% do tempo gasto na interação com os recursos disponíveis no ambiente Moodle Daniel Arndt Alves Apresentação da Disciplina 23
  24. 24. Notas • O desempenho nas aulas será registrado no Ambiente Moodle, no espaço dedicado à disciplina de Teoria. • O aluno poderá consultar a qualquer momento suas notas parciais através do link “notas” no ambiente Moodle. Daniel Arndt Alves Apresentação da Disciplina 24
  25. 25. Comunicados & Avisos • Todos os comunicados e avisos referentes à disciplina serão postados através do Ambiente Moodle (Mackenzie Virtual). • O Aluno deve acompanhar seu e-mail @mackenzista.com.br ou redirecioná-lo ao provedor de sua preferência. Daniel Arndt Alves Apresentação da Disciplina 25
  26. 26. Comunicados & Avisos • Todas as atividades estarão disponíveis no Ambiente Moodle (Mackenzie Virtual). • O Aluno deverá postar seus exercícios e trabalhos somente no Ambiente Moodle (Mackenzie Virtual) Daniel Arndt Alves Apresentação da Disciplina 26
  27. 27. Datas Importantes • 11 a 24/Set./2013 – Provas Parciais • 23/Out./2013 – PROCOMP • 25/Nov. – 15/Dez./2013 – Provas Finais e Vistas Daniel Arndt Alves Apresentação da Disciplina 27
  28. 28. Padrões de Nomenclatura Daniel Arndt Alves Apresentação da Disciplina 28 “Programming is best regarded as the process of creating works of literature, which are meant to be read.” Donald E. Knuth, Literate Programming
  29. 29. Padrões de Nomenclatura Daniel Arndt Alves Apresentação da Disciplina 29 “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” Martin Fowler, Refactoring, Improving the Design of Existing Code
  30. 30. Padrões de Nomenclatura • Variáveis – int umaVariavel; – int uma_Variavel; • Funções – public void umaFuncao (int umParametro); – public void umaFuncao (int um_Parametro); Daniel Arndt Alves Apresentação da Disciplina 30
  31. 31. Padrões de Nomenclatura • Classes – public class umaClasse; – public class uma_Classe; • Constantes – static final String ERROR = "Erro!”; Daniel Arndt Alves Apresentação da Disciplina 31
  32. 32. Um Mau Layout // Atribuindo n dividido por 2 em r r = n / 2; // Loop while r-(n/r) enquanto for maior que t while(abs(r - (n / r)) > t){ // Atribuindo a metade de r+(n/r) em r r = 0.5 * (r + (n / r)); } Daniel Arndt Alves Apresentação da Disciplina 32
  33. 33. Um Bom Layout /* * Raiz quadrada de n com * aproximação de * Newton-Raphson */ r = n / 2; while(abs(r - (n / r)) > t){ r = 0.5 * (r + (n / r)); } Daniel Arndt Alves Apresentação da Disciplina 33
  34. 34. Apresentação da Disciplina 34Daniel Arndt Alves
  35. 35. Apresentação da Disciplina 35Daniel Arndt Alves
  36. 36. Imagens • http://www.caelum.com.br/imagens/curso/cs14-imagem.jpg • http://www.showmesavings.com/images/target.gif • http://sandersconsulting.com/Portals/58319/images/checklist.jpg • http://www.classichitspaulista.com.br/wp-content/uploads/2010/12/correios-triagem.jpg • http://www.blackboard.com/resources/connections/SEARCH-1.jpg • http://static.howstuffworks.com/gif/how-to-plant-trees-shrubs-and-vines-47.jpg • http://ffodissahnerak.files.wordpress.com/2007/11/grafo.gif • http://xpress.superpedido.com.br/Imagens/Capas200502/8536301236.jpg • http://imagem.buscape.com.br/capas/livros/205/031/190x190_8560031502.jpg • http://d.yimg.com/gg/u/7a62d58d03887ad0ea7e52fa078e0c0de7b19db6.jpeg • http://www.computertrainingpattaya.com/images/big-tick.jpg • http://dbestwebdeveloper.com/pinoy-website-developer/wp- content/uploads/2010/07/12282598707YbD6m.jpg • http://lake.k12.fl.us/moe/lib/moe/test.jpg • http://acccbuzz.files.wordpress.com/2010/12/grade.jpg • http://www.vshandw.com/images/icon.information.gif • http://cs.bloomington.k12.mn.us/modules/groups/homepagefiles/cms/1597624/Image/Icons/cale ndar+icon3.png • http://www.goldb.org/goldblog/cmg_images/real_programmers_binary.jpg Daniel Arndt Alves Apresentação da Disciplina 36
  37. 37. Obrigado Daniel Arndt Alves daniel.alves@mackenzie.br Apresentação da Disciplina 37Daniel Arndt Alves

×