Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina...

17
Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa

Transcript of Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina...

Page 1: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de

Algoritmos

Acadêmica: Andréia Cristina dos Santos GusmãoOrientador: Prof. Artur Luís Ribas Barbosa

Page 2: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Visão Geral

E agora? como resolver esse problema?

Page 3: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Visão Geral

Ah, agora entendi o que

é lógica!

Page 4: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Visão Geral

E com a lógica, posso escrever meus algoritmos...

Page 5: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Através do Teste de mesa?

Como testar os algoritmos?

E agora? Como saber se meu código está correto?

Page 6: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Exemplo de Teste de Mesa

Page 7: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Através de linguagem de programação?

Como testar os algoritmos?

Page 8: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Exemplo Java

Page 9: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Exemplo C

Page 10: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Exemplo Delphi

Page 11: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Desenvolver uma ferramenta que interprete códigos em algoritmos.

Objetivo

Page 12: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Pesquisa Aplicada

Linguagem Java

Framework ANother Tool for Language Recognition (ANTLR)

Ambiente gráfico ANTLRWorks

Metodologia

Page 13: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

• Ferramenta JPortugol e Resultados encontrados até o

momento

Demonstração

Page 14: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Compilador x Interpretador

Um Compilador. Fonte: Aho et al (1995, p. 1)

Estrutura utilizada: Analisador Léxico, Analisador Sintático e Analisador Semântico.

Conceitos Envolvidos

Page 15: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Ferramenta para auxiliar nos testes de algoritmos, como objetivo de contribuir para a

motivação.

Aprender algoritmos para desenvolver em uma linguagem de programação.

Conclusão

Page 16: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

AHO, Alfred V.; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: princípios, técnicas e ferramentas. Tradução Daniel de Ariosto Pinto. Rio de Janeiro: LTC, 1995.

CRISTÓVÃO, Henrique Monteiro. Aprendizagem de Algoritmos num Contexto Significativo e Motivador: Um Relato de Experiência. In.: XVI Workshop de Educação em Computação, XXVIII Congresso da Sociedade Brasileira de Computação, Belém do Pará - Pará, 2008. p. 30-40. Disponível em: http://www.prodepa.gov.br/sbc2008/anais/pdf/arq0123.pdf . Acesso em: 07 abr. 2010.

DELAMARO, Márcio Eduardo. Como Construir um Compilador: Utilizando Ferramentas Java. São Paulo: Novatec, 2004.

MANZANO, José A. N. G.; OLIVEIRA, Jayr F. Estudo dirigido de Algoritmos. 11. ed. São Paulo: Érica, 2007. p.1-18.

PARR, Terence. The Definitive ANTLR Reference: Building Domain-Specific Languages. EUA: Pragmatic Programmer, 2007.

Referências

Page 17: Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa.

Obrigada!

“Existe a crença de que só se pode programar o que se compreende perfeitamente. Essa crença ignora a

evidência de que a programação, como qualquer outra forma de escrita, é um processo experimental.

Programamos como redigimos, não porque compreendemos, mas para chegar a compreender.”

(Joseph Weizenbaum)