Plano de Ensino de Algoritmos e Estrutura de Dados

 

Elaine Cristina de Assis, Dulcinéia Carneiro

 

Licenciatura em Computação – Universidade Federal Rural de Pernambuco

(UFRPE) Av. Dom Manoel de Medeiros, S/N - Dois Irmãos, CEP 52.171-030 -

Recife/PE

 

e_cristinadeassis@yahoo.com.br, n_dulcecarneiro@hotmail.com

 

 

 

Resumo: Este projeto visa elaborar um plano pedagógico que facilite aos alunos a compreensão da disciplina de Algoritmos e Estruturas de Dados. Alunos e professores atuam juntos na busca da aquisição de conhecimento. Baseado em textos estudados anteriormente que discutiram o ensino de tal disciplina em outras instituições de ensino e elaboraram uma possível proposta para melhor ensina-la.

 

1.      Introdução

Com uma forma diferente de ensino, este plano pretende proporcionar aos alunos uma melhor aprendizagem da disciplina de Algoritmos. Através da prática continua de exercícios, para melhor absorção dos conceitos, e avaliações freqüentes para evitar o peso da avaliação única. Facilitando a compreensão do aluno ao relacionar tópicos da disciplina com os acontecimentos do seu dia-a-dia.

 

2.     Trabalhos Relacionados:

·         Paper EXPERIÊNCIAS POSITIVAS PARA O ENSINO DE ALGORITMOS –

Methanias Colaço Rodrigues Júnior;

·         Paper “Como Ensinar Programação” da Universidade Nova de Lisboa

http://www.cin.ufpe.br/~joa/

·        Paper TEACHING ALGORITHMS IN SECONDARY EDUCATION: A

·        COLLABORATIVE APPROACH – Eleni Voyiatzaki1, Christos

Christakoudis , Meletis Margaritis Nikolaos Avouris

 

 

3.      Projeto Pedagógico

 

Departamento de Física e Matemática

Licenciatura em Computação

 

Disciplina: Algoritmos e Estrutura de Dados

Semestre/Ano: 01/2005

Curso: Licenciatura em Computação

Departamento: Física e Matemática

Carga Horária Total: 60h

Professoras : Elaine Cristina de Assis e Dulcinéia Carneiro

 

 

A.Ementa

           

Fundamentos de construção de algoritmos e programas; Abstração de dados, Notações, Listas lineares, Conceituação e aplicabilidade, Filas e Pilhas, Pesquisa de Dados, Grafos, Árvores, Algoritmos de ordenação



B.Objetivos

Permitir que ao final do curso o aluno possa estar apto para a formulação de um melhor algoritmo para a solução de problemas, manipular estrutura de dados como listas lineares, filas e pilhas. Tendo também que ter a capacidade de desenvolver pesquisas seqüênciais e binárias, busca em arvore e grafos e executar os algoritmos de ordenação estudados.

 

C. Conteúdo programático

1. Introdução

Abstração de dados: conceituação, objetivos e aplicabilidade de estruturas de dados

Recursividade: conceito, uso e implementação

Complexidade de algoritmos: conceituação, e objetivos da análise de complexidade

Notações Ο, Θ eΩ

Algoritmos ótimos

2. Listas lineares

Conceituação e aplicabilidade

Operações principais

Formas de representação e armazenamento: alocação seqüencial e encadeada

Listas encadeadas: simplesmente e duplamente

Listas Circulares

Listas ordenadas

3. Filas e Pilhas

Conceituação e aplicabilidade

Operações principais

Formas de representação e armazenamento

4.      Pesquisa de Dados

Pesquisa seqüencial

Pesquisa Binária

5. Grafos

Conceitos

Critérios para percorrer

6. Árvores

Conceitos Gerais

Árvores Binárias

Arvore de Busca Binária

Balanceamento

7. Algoritmos de ordenação

Conceituação e aplicabilidade da ordenação

Ordenação por troca e seleção: bubble sort e heap sort

Divisão e conquista: merge sort e quick sort

Métodos de complexidade linear: radix sort

Classificação externa (ordenação em arquivos)

 

 

D.Metodologia

Aulas expositivas. Resolução de exercícios. Apresentação dos pesquisas desenvolvidas por parte dos grupos de alunos. Discussão em sala dos assuntos. Avaliações escritas. Trabalhos de extraclasse.

E.Avaliação

A avaliação, é composta de duas notas, B1 e B2.

B1 é composta da seguinte forma:

40% instrumento escrito individual (prova escrita)

40% trabalhos de classe

20% atividades extraclasse.
B2 é composta da seguinte forma:

40% instrumento escrito individual (prova escrita)

40% trabalhos de aula

20% atividades extraclasse.

Avaliação Final será composta de B1

B1 é composta da seguinte forma

100% instrumento escrito individual (prova escrita)

 

Trabalhos de classe

1. Resolução de exercícios

2. Discussão em sala de trabalhos e exercícios

4. Apresentação de seminários

5. Trabalhos individuais ou em grupos

 

Atividades extraclasse

6. Pesquisas individuais e em grupo, abordando aspectos teóricos de conteúdo programático

7. Elaboração de programas

8.Trabalhos individuais ou em grupos

 

Listas de Exercícios
As listas de exercícios estarão disponíveis no site da disciplina, juntamente com as notas slides e resumo das aulas.

 

Cronograma :

Data

Conteúdo

03/03/05

Abstração de dados: conceituação, objetivos e aplicabilidade de estruturas de dados

Exercício de fixação

10/03/05

Recursividade: conceito, uso e implementação

Exercício de fixação

17/03/05

Complexidade de algoritmos: conceituação, e objetivos da análise de complexidade

Notações Ο, Θ eΩ ;Algoritmos ótimos

Exercício de fixação.

24/03/05

Listas lineares, Conceituação e aplicabilidade, Operações principais –,  Formas de representação e armazenamento: alocação seqüencial e encadeada ,

Exercício de fixação

31/03/05

 Formas de representação e armazenamento: alocação seqüencial e encadeada

 Listas encadeadas: simplesmente e duplamente;  Listas Circulares; Listas ordenadas

1º atividade extraclasse: Trabalho em dupla ou trio para pesquisa dos assuntos Pilhas  e Filas.

07/04/05

Apresentação da pesquisa, discussão e esclarecimentos de dúvidas, Exercício de fixação.

14/04/05

Revisão geral, tira dúvidas e exercício de revisão

21/04/05

Tiradentes – Feriado Nacional !

28/04/05

1º instrumento escrito individual (prova escrita)

05/05/05

Pesquisa de Dados:  Pesquisa seqüencial, Pesquisa Binária  Exercício de fixação

12/05/05

Grafos: Conceitos, Critérios para percorrer.  Exercício de fixação

19/05/05

Árvores: Conceitos Gerais,  Árvores Binárias. .  Exercício de fixação

26/05/05

Arvore de Busca Binária,  Balanceamento.  2ª atividade extra-classe, Trabalho em dupla ou trio para a pesquisa dos assuntos e elaboração dos seminários sorteio dos dias de apresentação sobre os assuntos: Algoritmos de ordenação: Ordenação por troca e seleção: bubble sort e heap sort; Divisão e conquista: merge sort e quick sort;  Métodos de complexidade linear: radix sort;  Classificação externa (ordenação em arquivos)

02/06/05

Apresentação de seminário – Tira duvidas – Exercícios

09/06/05

Apresentação de seminário – Tira duvidas – Exercícios

16/06/05

Apresentação de seminário – Tira duvidas – Exercícios

23/06/05

Aula revisão (2º prova)– Exercícios Revisão  - Tira dúvidas

30/06/05

2º instrumento escrito individual (prova escrita)

07/07/05

Aula de REVISÃO FINAL. EXERCICIOS FINAIS TIRA DUVIDAS FINAIS

14/07/05

Avaliação Final

 

4. Considerações Finais

Este plano apresenta a vantagem de ser dinâmico no que diz respeito a avaliações e exercícios que são feitos diariamente  estimulando  o aluno a pratica diária do assunto dado. Alem disso estimula a pesquisa e a discussão dos resultados contudo pede uma maior intensidade no ritmo das aulas e um rigoroso planejamento prévio do professor.

 

5. Bibliografia Recomendada

 

CORMEN,T.H.; LEISERSON, C.E. RIVEST, R.L and STEIN C. ALGORITMOS -

Teoria e prática. Editora Campus 2002.

Jayme L. Szwarcfiter e Lílian Markenzon: Estruturas de dados e seus Algoritmos.

Editora LTC, 1994.

TEREDA, Routo. Desenvolvimento de algoritmo e estruturas de dados. São Paulo,

Makron Books, 1991.

Nívio Ziviani. Projeto de Algoritmos com Implementação em Pascal e C. Editora

Pioneira, 1993.