Mudanças entre as edições de "SCC-501(Moacir)"
(→Trabalhos) |
|||
Linha 80: | Linha 80: | ||
:* [[Media:ICC2_Trabalho2_Casos.tar.gz|Caso de Teste (tar.gz)]] | :* [[Media:ICC2_Trabalho2_Casos.tar.gz|Caso de Teste (tar.gz)]] | ||
− | 3. Hashing: Entrega pelo SQTPM de | + | 3. Hashing: Entrega pelo SQTPM de 26/11 até 29/11 |
:* [[Media:ICC2-Trabalho_3.pdf|Enunciado (pdf)]] <- atualizado em 22/11: número máximo de palavras (10000) e caracteres (512). | :* [[Media:ICC2-Trabalho_3.pdf|Enunciado (pdf)]] <- atualizado em 22/11: número máximo de palavras (10000) e caracteres (512). | ||
:* [[Media:ICC2_Trabalho3_Casos.tar.gz|Casos de Teste (tar.gz)]] <- atualizado em 18/11 | :* [[Media:ICC2_Trabalho3_Casos.tar.gz|Casos de Teste (tar.gz)]] <- atualizado em 18/11 | ||
Desenvolvam os seus próprios arquivos com casos de teste adicionais, prevendo diferentes situações | Desenvolvam os seus próprios arquivos com casos de teste adicionais, prevendo diferentes situações | ||
− | 3. [[ICC2_2010-2_TrabalhoSUB|Trabalho Substitutivo]] <- entre na página do trabalho: Entrega pelo SQTPM | + | 3. [[ICC2_2010-2_TrabalhoSUB|Trabalho Substitutivo]] <- entre na página do trabalho: Entrega pelo SQTPM até '''9/12'''. |
== Listas de Exercícios == | == Listas de Exercícios == |
Edição das 14h07min de 6 de dezembro de 2010
Índice
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
- 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 (atualizado em 17/11)
Provas: 27/08 (P1), 21/10 (P2) e 03/12 (P3)
Material Didático
- Análise de Algoritmos - parte 1
- Análise de Algoritmos - parte 2
- Análise de Algoritmos - parte 3
- Recursão
- Análise de Algoritmos - parte 4
- Métodos de Ordenação em Memória Interna - parte 1
- Métodos de Ordenação em Memória Interna - parte 2 (quicksort)
- Métodos de Ordenação em Memória Interna - parte 3
- Métodos de Ordenação em Memória Interna - parte 4
- Métodos de Ordenação em Memória Interna - parte 5
- Métodos de Ordenação em Memória Interna - parte 6
- Busca sequencial (diversas), binária e interpolada
- Hashing - parte 1
- Hashing - parte 2
- Projeto de Algoritmos
Códigos-fonte das aulas 8, 9, 10 e 11: Códigos-fonte
Site interessante que ilustra o funcionamento de algoritmos de ordenação: http://www.sorting-algorithms.com/
Vídeo com o "som" produzido pelos algoritmos de ordenação: http://youtu.be/t8g-iYGHpEA
Ver exemplos em código-fonte no site: http://sites.google.com/site/moacirponti/ seção "Teaching (aulas)"
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
- Solução correta pela representação de entrada e saída dos dados
- Bom uso dos recursos do sistema (memória)
- Prática de modularização e uso de funções
- 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).
- Enunciado (pdf) versao nova, corrigida em 15/09
- Casos de Teste (tar.gz) versao nova, corrigida em 15/09
2. Algoritmos de Ordenação (B): Entrega pelo SQTPM de 03/11 até 11/11.
- Enunciado (pdf) versao nova em 27/10
- Caso de Teste (tar.gz)
3. Hashing: Entrega pelo SQTPM de 26/11 até 29/11
- Enunciado (pdf) <- atualizado em 22/11: número máximo de palavras (10000) e caracteres (512).
- Casos de Teste (tar.gz) <- atualizado em 18/11
Desenvolvam os seus próprios arquivos com casos de teste adicionais, prevendo diferentes situações
3. Trabalho Substitutivo <- entre na página do trabalho: Entrega pelo SQTPM até 9/12.
Listas de Exercícios
- Análise de Algoritmos
- Recursividade
- Relação de Recorrência
- Algoritmos de Ordenação (A) (atualizada em
13/09/201015/09/2010) - Algoritmos de Ordenação (B)
- Busca
- Hashing + Projeto de Algoritmos
Notas
- Prova 1 + Prova 2 + Trabalho 1 + Faltas (Atualizado em 23/11)
- Trabalho 3 (Atualizado em 02/12. Revisão de nota no horário de atendimento do PAE)
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