Mudanças entre as edições de "SCC-501(Moacir)"

De CoteiaWiki
(Informações Gerais)
(Material Didático)
Linha 38: Linha 38:
 
# [[Media:ICC2_07.Ordenacao_quicksort.pdf|Métodos de Ordenação em Memória Interna - parte 2 (quicksort)]]
 
# [[Media:ICC2_07.Ordenacao_quicksort.pdf|Métodos de Ordenação em Memória Interna - parte 2 (quicksort)]]
 
# [[Media:ICC2_08.Ordenacao_quick_shell.pdf|Métodos de Ordenação em Memória Interna - parte 3]]
 
# [[Media:ICC2_08.Ordenacao_quick_shell.pdf|Métodos de Ordenação em Memória Interna - parte 3]]
 +
:*[[Media:ICC2_08.source.zip|Códigos-fonte da aula]]
 
# [[Media:ICC2_09.Ordenacao_merge.pdf|Métodos de Ordenação em Memória Interna - parte 4]]
 
# [[Media:ICC2_09.Ordenacao_merge.pdf|Métodos de Ordenação em Memória Interna - parte 4]]
 +
:*[[Media:ICC2_09.source.zip|Códigos-fonte da aula]]
 
# [[Media:ICC2_10.Ordenacao_heap.pdf|Métodos de Ordenação em Memória Interna - parte 5]]
 
# [[Media:ICC2_10.Ordenacao_heap.pdf|Métodos de Ordenação em Memória Interna - parte 5]]
 +
:*[[Media:ICC2_10.source.zip|Códigos-fonte da aula]]
 
# [[Media:ICC2_11.Ordenacao_count.pdf|Métodos de Ordenação em Memória Interna - parte 6]]
 
# [[Media:ICC2_11.Ordenacao_count.pdf|Métodos de Ordenação em Memória Interna - parte 6]]
 +
:*[[Media:ICC2_11.source.zip|Códigos-fonte da aula]]
  
 
Ver exemplos em código-fonte no site: http://sites.google.com/site/moacirponti/ seção "Teaching (aulas)"
 
Ver exemplos em código-fonte no site: http://sites.google.com/site/moacirponti/ seção "Teaching (aulas)"

Edição das 14h29min de 20 de outubro de 2010

Informações Gerais

Título: Introdução à Ciência de Computação II (SCC-501) - Bacharelado em Informática

Professor: Moacir P. Ponti Jr (moacir at icmc dot usp dot br)

Aluno PAE: Paulo Henrique Ribeiro Gabriel (phrg at icmc dot usp dot br)

Horário de Aulas
quintas das 21h00 às 22h40
sextas das 19h00 às 20h40

Horário Atendimento
Professor: segundas 13-15h, sextas 18-19h (sala 4-117)
Aluno PAE: segunda das 17h30 as 19h00 (sala 4-001)
dúvidas nos trabalhos, marcar horário por e-mail.
Haverá atendimento extra no dia 20/10 às 17h30 na sala 3-010.

Programa

*** ATENÇÃO: A data da Prova 2 não foi alterada. Continua sendo dia 21/10 ***

  • Análise de algoritmos
  • Recursividade (e relações de recorrência)
  • Algoritmos de ordenação em memória interna
  • Algoritmos de busca em memória interna
  • Hashing (espalhamento) em memória interna
  • Paradigmas de projeto de algoritmos

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

Provas: 27/08 (P1), 21/10 (P2) e 03/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
  7. Métodos de Ordenação em Memória Interna - parte 2 (quicksort)
  8. Métodos de Ordenação em Memória Interna - parte 3
  1. Métodos de Ordenação em Memória Interna - parte 4
  1. Métodos de Ordenação em Memória Interna - parte 5
  1. Métodos de Ordenação em Memória Interna - parte 6

Ver exemplos em código-fonte no site: http://sites.google.com/site/moacirponti/ seção "Teaching (aulas)"

Site interessante que ilustra o funcionamento de algoritmos de ordenação: http://cg.scs.carleton.ca/~morin/misc/sortalg/

Trabalhos Práticos

*** ATENÇÃO: O servidor SQTPM está com problemas. O Trabalho 1 deverá ser enviado por e-mail ao Estagiário PAE (phrg@icmc.usp.br) até o dia 06/10, às 23:59. No e-mail deverá ser informado o Número USP do aluno. Não serão aceitos trabalhos fora do prazo nem e-mails sem Número USP.***


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) - aberto de 14/08 a 24/08

  1. Algoritmos de Ordenação (A): Entrega por e-mail até 06/10 (ver observação acima).
  1. Algoritmos de Ordenação (B)
  2. Algoritmos de Ordenação (C)
  3. Busca
  4. Hashing

Listas de Exercícios

  1. Análise de Algoritmos
  2. Recursividade
  3. Relação de Recorrência
  4. Algoritmos de Ordenação (A) (atualizada em 13/09/2010 15/09/2010)
  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.
  • Para verificar memory leaks em executáveis c/c++ [1]
 * $ valgrind --leak-check=full ./seu_programa_executavel