MCTA001 Algoritmos e Estruturas de Dados I Apresentação Prof. Jesús P. Mena-Chalco 1Q-2017 1 Apresentação Professor: Jesús P. Mena-Chalco (CMCC) Formação: - Engenheiro da Computação. - Mestre e Doutor em Ciência da Computação. Instituto de Matemática e Estatística da USP. Sala 517-A, torre 2, 5º Andar. Áreas de pesquisa: - Reconhecimento de padrões, Cientometria. 2 3 https://xkcd.com/ 4 https://www.youtube.com/watch?v=Dv7gLpW91DM 5 6 Programar? Programar auxilia a desenvolver o pensamento lógico. Programar lhe torna mais independente. 7 You Should Learn to Program: Christian Genco at TEDxSMU https://www.youtube.com/watch?v=xfBWk4nw440 8 Sobre a disciplina 9 Pré-requisitos Precisa ter cursado Processamento de Informação. Desejável ter cursado Programação Estruturada. Deve ser capaz de escrever um programa “simples” na linguagem C/Java. Obs: → A disciplina usa a linguagem c. → A disciplina é focada nos algoritmos por trás dos programas. 10 Questões de eficiências Queremos programas eficientes (rápidos). → Não se trata de usar truques que acelerem um programa (nesse nasso a aceleração é modesta) A eficiencia pode ser obtida através de boas estruturas de dados e bons algoritmos. 11 Algoritmos e Estruturas de Dados I Ementa: Breve introdução à linguagem C. Noções básicas de análise de complexidade de tempo de algoritmos. Estruturas lineares. Busca e ordenação. Árvores de busca. Árvores balanceadas. 12 Algoritmos e Estruturas de Dados I Algoritmos sofisticados, geralmente, são mais eficientes 13 Futuro: Algoritmos e Estruturas de Dados II Hashing. Introdução a arquivos: Arquivos seqüenciais. Arquivos indexados. Arquivos de acesso direto. Prática de programação dos arquivos e das funções primitivas na resolução de problemas. Compressão de arquivos 14 Bibliografia P. Feofiloff. Algoritmos em Linguagem C. 1ª Edição, Editora Campos, 2008. Veja também o site deste livro. T. Cormen et al. Algoritmos: Teoria e Prática. Rio de Janeiro: Editora Campus, 2ª edição, 2002. N. Ziviani. Projeto de Algoritmos com implementação em Java e C++. São Paulo: Editora Thomson, 1a edição, 2007. 15 Alguns livros importantes para a carreira 16 Algoritmos e Estruturas de Dados I TPI: 2 - 2 - 4 É muito importante considerar as ~4 horas de estudo fora da aula. → Fall in love with mathematics → Be self-motivated → Never back down → Become a master → Be a bookworm (pratique matemática) (trabalhe com pares) (seja persistente) (ensine aos colegas) (seja leitor ávido) Leia as seguintes sugestões: http://www.wikihow.com/Learn-a-Programming-Language 17 Calendário 18 Sobre a avaliação Prova 01: 22/03 Prova 02: 03/05 Listas de exercícios Prova Substitutiva: 05/05 Prova REC: 26/06 → 30% → 40% → 30% Atribuição de conceitos: A: nota ≥ 9 B: 7,5 ≤ nota < 9 C: 6 ≤ nota < 7,5 D: 5,0 ≤ nota < 6 F: nota < 5,0 19 Página web http://professor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/ 20