ATENÇÃO! Professor no início do semestre colar aqui o conteúdo da aba PE-Wiki do Diário Eletrônico
Semestre 2014-1 - Prof. Marcelo Maia Sobral
Aula
Data
Horas
Conteúdo
Recursos
1
10/2
2
Apresentação e introdução ao projeto 1: contador de palavras de um arquivo; introdução a listas encadeadas
Lab. Programação
2
11/2
2
Projeto 1: definição de uma lista encadeada simples: operações da lista, modelagem dos dados; revisão sobre alocação dinâmica de memória e uso de ponteiros
Lab. Programação
3
17/2
2
Projeto 1: Implementação das operações da lista encadeada: criação da lista e adição de itens.
Lab. Programação
4
18/2
2
Projeto 1: Implementação das operações da lista encadeada: criação da lista e adição de itens.
Lab. Programação
5
24/2
2
Projeto 1: concluindo o contador de palavras
Lab. Programação
6
25/2
2
Projeto 1: estendendo o contador de palavras: ordenando as palavras de acordo com a quantidade de ocorrências. Uso de algoritmos de ordenamento bubble sort ou insertion sort.
Lab. Programação
7
10/3
2
Projeto 1: estendendo o contador de palavras: ordenando as palavras de acordo com a quantidade de ocorrências. Uso de algoritmos de ordenamento bubble sort ou insertion sort.
Lab. Programação
8
11/3
2
Projeto 1: concluindo o contador de palavras com ordenamento
Lab. Programação
9
17/3
2
Projeto 2: um simulador de sistemas de atendimento. Uso de estruturas de dados lista e fila. Implementação de operações de remoção de itens da lista.
Lab. Programação
10
18/3
2
Projeto 2: definição de uma fila: comportamento e operações; implementação de uma fila usando uma lista encadeada ou um vetor (fila circular).
Lab. Programação
11
24/3
2
Projeto 2: implementando o simulador
Lab. Programação
12
25/3
2
Projeto 2: conclusão do projeto.
Lab. Programação
13
31/3
2
Avaliação 1
Lab. Programação
14
1/4
2
Projeto 3: criando um jogo de cartas. Uso de pilhas. Definição de pilhas: comportamento e operações. Implementação de pilhas usando listas encadeadas e vetores.
Lab. Programação
15
7/4
2
Projeto 3: implementando o jogo de cartas
Lab. Programação
16
8/4
2
Projeto 3: implementando o jogo de cartas
Lab. Programação
17
14/4
2
Projeto 3: conclusão do projeto.
Lab. Programação
18
15/4
2
Projeto 4: criando um serviço de geo-localização IP: Uso de tabelas hash.
Lab. Programação
19
22/4
2
Projeto 4: Implementação da tabela hash. Funções hash e o indexador de endereços IP da base de geo-localização.
Lab. Programação
20
28/4
2
Projeto 4: implementação da tabela hash e tratamento de colisões.
Lab. Programação
21
29/4
2
Projeto 4: implementação da tabela hash e tratamento de colisões.
Lab. Programação
22
5/5
2
Projeto 4: implementação da tabela hash e sua aplicação à base de geo-localização. Conclusão do projeto.
Lab. Programação
23
6/5
2
Avaliação 2
Lab. Programação
24
12/5
2
Projeto 5: criando um corretor ortográfico; árvores binárias: definição e operações. Implementação de árvore binária.
Lab. Programação
25
13/5
2
Projeto 5: Árvores binárias: definição e operações. Implementação de árvore binária.
Lab. Programação
26
19/5
2
Projeto 5: Implementação de árvore binária.
Lab. Programação
27
20/5
2
Projeto 5: Implementação de árvore binária.
Lab. Programação
28
26/5
2
Projeto 5: fazendo buscas na árvore: busca em profundidade ou em largura
Lab. Programação
29
27/5
2
Projeto 5: concluindo a primeira versão do corretor, e usando-o para corrigir textos de arquivos em disco.
Lab. Programação
30
2/6
2
Projeto 5: gravando e lendo a árvore de um arquivo.
Lab. Programação
31
3/6
2
Projeto 5: aperfeiçoando o corretor com árvores balanceadas.
Lab. Programação
32
9/6
2
Projeto 5: aperfeiçoando o corretor com árvores balanceadas.
Lab. Programação
33
10/6
2
Projeto 5: aperfeiçoando o corretor com árvores balanceadas. Conclusão do projeto 5.
Lab. Programação
34
16/6
2
Projeto 6: fazendo um jogo de adivinhação que aprende com o jogador. Modelando o jogo.
Lab. Programação
35
17/6
2
Projeto 6: modelo e implementação da árvore de decisão.
Lab. Programação
36
23/6
2
Projeto 6: implementação da árvore de decisão.
Lab. Programação
37
24/6
2
Projeto 6: conclusão
Lab. Programação
38
30/6
2
Avaliação 3
Lab. Programação
39
1/7
2
Reservado para ajustes
Lab. Programação
40
7/7
2
Reservado para ajustes
Lab. Programação
TOTAL
80
Semestre 2013-2 - Prof. Marcelo Maia Sobral
Aula
Data
Horas
Conteúdo
Recursos
1
16/8
2
Apresentação e introdução ao projeto 1: extrator de palavras duplicadas de um arquivo; introdução a listas encadeadas
Lab. Programação
2
20/8
2
Projeto 1: definição de uma lista encadeada simples: operações da lista, modelagem dos dados; revisão sobre alocação dinâmica de memória e uso de ponteiros
Lab. Programação
3
23/8
2
Projeto 1: Implementação das operações da lista encadeada: criação da lista e adição de itens.
Lab. Programação
4
27/8
2
Projeto 1: Implementação das operações da lista encadeada: criação da lista e adição de itens. Conclusão do projeto 1.
Lab. Programação
5
30/8
2
Projeto 2: um ordenador de registros de pagamentos contidos em um arquivo. Algoritmo de ordenamento bubble sort. Listas duplamente encadeadas.
Lab. Programação
6
3/9
2
Projeto 2: um ordenador registros de pagamentos contidos em um arquivo. Algoritmo de ordenamento bubble sort ou insertion sort.
Lab. Programação
7
6/9
2
Projeto 3: um simulador de sistemas de atendimento. Uso de estruturas de dados lista e fila. Implementação de operações de remoção de itens da lista.
Lab. Programação
8
10/9
2
Projeto 3: definição de uma fila: comportamento e operações; implementação de uma fila usando uma lista encadeada ou um vetor (fila circular).
Lab. Programação
9
13/9
2
Projeto 3: conclusão do projeto.
Lab. Programação
10
17/9
2
Avaliação 1
Lab. Programação
11
20/9
2
Projeto 4: resolvendo expressões numéricas. Uso de pilhas. Definição de pilhas: comportamento e operações. Implementação de pilhas usando listas encadeadas e vetores.
Lab. Programação
12
24/9
2
Projeto 4: implementação da pilha.
Lab. Programação
13
27/9
2
Projeto 4: conclusão do projeto.
Lab. Programação
14
1/10
2
Projeto 5: criando uma cache em um proxy HTTP. Uso de listas e tabelas hash.
Lab. Programação
15
4/10
2
Projeto 5: Implementação da tabela hash. Funções hash e o indexador de objetos armazenados na cache do proxy HTTP.
Lab. Programação
16
8/10
2
Projeto 5: implementação da tabela hash e tratamento de colisões.
Lab. Programação
17
11/10
2
Projeto 5: implementação da tabela hash e sua integração ao proxy HTTP.
Lab. Programação
18
15/10
2
Projeto 5: implementação da tabela hash e sua integração ao proxy HTTP.
Lab. Programação
19
18/10
2
Projeto 5: implementação da tabela hash e sua integração ao proxy HTTP.
Lab. Programação
20
22/10
2
Projeto 5: implementação da tabela hash e sua integração ao proxy HTTP. Conclusão do projeto.
Lab. Programação
21
25/10
2
Avaliação 2
Lab. Programação
22
29/10
2
Projeto 6: um indexador de arquivos existentes em um computador. Uso de árvores binárias.
Lab. Programação
23
1/11
2
Projeto 6: Árvores binárias: definição e operações. Implementação de árvore binária.
Lab. Programação
24
5/11
2
Projeto 6: Implementação de árvore binária.
Lab. Programação
25
8/11
2
Projeto 6: Implementação de árvore binária.
Lab. Programação
26
12/11
2
Projeto 6: fazendo buscas na árvore: busca em profundidade
Lab. Programação
27
19/11
2
Projeto 6: fazendo buscas na árvore: busca em profundidade ou em largura
Lab. Programação
28
22/11
2
Projeto 6: fazendo buscas na árvore: busca em em largura
Lab. Programação
29
23/11
2
Projeto 6: concluindo a primeira versão do indexador, e usando-o para pesquisar arquivos em disco.
Lab. Programação
30
26/11
2
Projeto 6: aperfeiçoando o indexador com árvores balanceadas.
Lab. Programação
31
29/11
2
Projeto 6: aperfeiçoando o indexador com árvores balanceadas.
Lab. Programação
32
3/12
2
Projeto 6: aperfeiçoando o indexador com árvores balanceadas.
Lab. Programação
33
6/12
2
Projeto 6: usando o indexador para listar os arquivos de forma ordenada.
Lab. Programação
34
10/12
2
Projeto 6: usando o indexador para listar os arquivos de forma ordenada.
Lab. Programação
35
13/12
2
Projeto 6: conclusão
Lab. Programação
36
17/12
2
Avaliação 3
Lab. Programação
TOTAL
72
Semestre 2013-1 - Prof. Marcelo Maia Sobral
Aula
Data
Horas
Conteúdo
Recursos
1
1/4
2
Apresentação e introdução ao projeto 1: extrator de palavras de um arquivo; introdução a listas encadeadas
2
5/4
2
Projeto 1: definição de uma lista encadeada simples: operações da lista, modelagem dos dados; revisão sobre alocação dinâmica de memória e uso de ponteiros
3
8/4
2
Projeto 1: Implementação das operações da lista encadeada: criação da lista e adição de itens.
4
12/4
2
Projeto 1: Implementação das operações da lista encadeada: criação da lista e adição de itens. Conclusão do projeto 1.
5
15/4
2
Projeto 2: um ordenador alfabético de palavras contidas em um arquivo. Algoritmo de ordenamento bubble sort. Listas duplamente encadeadas.
6
19/4
2
Projeto 2: um ordenador alfabético de palavras contidas em um arquivo. Algoritmo de ordenamento bubble sort ou list sort.
7
22/4
2
Projeto 3: um simulador de sistemas de atendimento. Uso de estruturas de dados lista e fila. Implementação de operações de remoção de itens da lista.
8
26/4
2
Projeto 3: definição de uma fila: comportamento e operações; implementação de uma fila usando uma lista encadeada ou um vetor (fila circular).
9
29/4
2
Projeto 3: conclusão do projeto.
10
3/5
2
Avaliação 1
11
4/5
2
Projeto 4: saindo de um labirinto. Uso de pilhas e listas. Definição de pilhas: comportamento e operações. Implementação de pilhas usando listas encadeadas e vetores.
12
6/5
2
Projeto 4: implementação da pilha.
13
10/5
2
Projeto 4: conclusão do projeto.
14
11/5
2
Considerações finais: estudos de caso: filas em roteadores, listas de processos em sistemas operacionais.
15
13/5
2
Projeto 5: criando uma cache em um proxy HTTP. Uso de listas e tabelas hash.
16
17/5
2
Projeto 5: Implementação da tabela hash. Funções hash e o indexador de objetos armazenados na cache do proxy HTTP.
17
20/5
2
Projeto 5: implementação da tabela hash e tratamento de colisões.
18
24/5
2
Projeto 5: implementação da tabela hash e sua integração ao proxy HTTP.
19
27/5
2
Projeto 5: implementação da tabela hash e sua integração ao proxy HTTP.
20
3/6
2
Projeto 5: implementação da tabela hash e sua integração ao proxy HTTP. Conclusão do projeto.
21
7/6
2
Avaliação 2
22
8/6
2
Projeto 6: um indexador de arquivos existentes em um computador. Uso de árvores binárias.
23
10/6
2
Projeto 6: Árvores binárias: definição e operações. Implementação de árvore binária.
24
14/6
2
Projeto 6: Implementação de árvore binária.
25
17/6
2
Projeto 6: Implementação de árvore binária.
26
21/6
2
Projeto 6: fazendo buscas na árvore: busca em profundidade
27
24/6
2
Projeto 6: fazendo buscas na árvore: busca em profundidade ou em largura
28
28/6
2
Projeto 6: fazendo buscas na árvore: busca em em largura
29
1/7
2
Projeto 6: concluindo a primeira versão do indexador, e usando-o para pesquisar arquivos em disco.
30
5/7
2
Projeto 6: aperfeiçoando o indexador com árvores balanceadas.
31
6/7
2
Projeto 6: aperfeiçoando o indexador com árvores balanceadas.
32
8/7
2
Projeto 6: aperfeiçoando o indexador com árvores balanceadas.
33
12/7
2
Projeto 6: usando o indexador para listar os arquivos de forma ordenada.
34
15/7
2
Projeto 6: usando o indexador para listar os arquivos de forma ordenada.