SCC-201(lilian)

De CoteiaWiki
Revisão de 19h14min de 18 de agosto de 2010 por Lilian (discussão | contribs) (Programa)

Informações Gerais

Título: Introdução à Ciência de Computação II (SCC-201) - Bacharelado em Ciências de Computação

Professor: Zhao Liang (zhao@icmc.usp.br)

Aluna PAE: Lilian Berton (lberton@icmc.usp.br)

Horário de Aulas
segundas e quartas das 10h10 às 11h50

Horários de Atendimento
Professor: a definir
Aluna PAE: quinta das 16h as 18h00 (sala 4-001)
eventuais dúvidas podem serem tiradas por e-mail.

Principais Tópicos

  • Linguagem C
  • Análise de Complexidade de Algoritmos
  • Recursividade
  • Algoritmos de Ordenação
- Ordenação por troca, Ordenação por Seleção, Ordenação por Inserção, Mergesort, Ordenação sem Comparação
  • Algoritmos de Busca
- Busca Seqüencial, Busca Binária, Busca por Interpolação, Busca em Árvores, Hashing
  • Técnicas de Projeto de Algoritmos
- Divisão e Conquista, Programação Dinâmica, Algoritmos Gulosos

Cronograma Preliminar (com datas de provas e de entrega de trabalhos) *sujeito a alterações

Provas: 25/08 (P1), 20/10 (P2) e 06/12 (P3)

Material Didático

- Apresentação da Disciplina

  1. Análise de Algoritmos - parte 1
  2. Análise de Algoritmos - parte 2
  3. Análise de Algoritmos - parte 3
  4. Recursão
  5. Análise de Algoritmos - parte 4
  6. Métodos de Ordenação em Memória Interna - parte 1

Trabalhos Práticos

Os trabalhos serão submetidos apenas pelo sistema de submissão automática de trabalhos:

[Link para submissão dos trabalhos via SQTPM ]

Atenção: a saída do seu programa deverá ser exatamente como exemplificado no enunciado do trabalho, pois o sistema irá comparar apenas as saídas geradas. Antes de submeter, retire mensagens ao usuário, espaços, tabulações ('\t') e quebras de linha extras ('\n').

Critérios de avaliação

  1. Solução correta pela representação de entrada e saída dos dados
  2. Bom uso dos recursos do sistema (memória)
  3. Prática de modularização e uso de funções
  4. Clareza, endentação e uso de comentários

Trabalhos

0. Recursividade (teste do SQTPM) <- ficará aberto de 14/08 a 24/08

  1. Algoritmos de Ordenação (A)
  2. Algoritmos de Ordenação (B)
  3. Algoritmos de Ordenação (C)
  4. Busca
  5. Hashing

Listas de Exercícios

  1. Análise de Algoritmos
  2. Recursividade
  3. Relação de Recorrência
  4. Algoritmos de Ordenação (A)
  5. Algoritmos de Ordenação (B)
  6. Busca
  7. Hashing
  8. Projeto de Algoritmos

Notas

Bibliografia

  • CORMEN, T.H.; LEISERSON, C.E.; RIVEST, R.L.; STEIN, C. Algoritmos: Teoria e Prática. Campus. 2002.
  • ZIVIANI, N. Projeto de algoritmos: com implementações em Pascal e C. 2.ed., Thomson, 2004.
  • FEOFILOFF, P. Projeto de algoritmos, Campus, 2008.
  • FEOFILOFF, P. Projeto de algoritmos: em C, Disponível em: http://www.ime.usp.br/~pf/algoritmos/.

Leituras complementares

  • FEOFILOFF, P. Minicurso de Análise de Algoritmos, 2010. Disponível em: http://www.ime.usp.br/~pf/livrinho-AA/.
  • DOWNEY, A.B. Analysis of algorithms (Cap. 2), em: Computational Modeling and Complexity Science. Disponível em: http://www.greenteapress.com/compmod/html/book003.html.
  • KNUTH, D. The Art of Computer Programming, vol.3: sorting and searching, 2.ed. Addison-Wesley, 1998.
  • KNUTH, D. Selected Papers on Analysis of Algorithms, CSLI Lecture Notes, n.102, 2000.
  • SCHILD, H. C Completo e Total, 3.ed. Pearson, 1997.