A. Ciências Exatas e da Terra - 2. Ciência da Computação - 5. Informática na Educação |
|
IMPLEMENTAÇÃO DE UMA FERRAMENTA PARA AUXÍLIO AO ENSINO DA ÁLGEBRA BOOLEANA |
|
Nassor Paulino da Silva 1 |
Maria Inés Castiñeira 1 |
Vera R. Niedersberger Schuhmacher 1 |
Eduardo Henrique Fontanella 1 |
|
(1. Universidade do Sul de Santa Catarina) |
|
|
INTRODUÇÃO: |
A Álgebra de Boole é um modelo matemático da lógica proposicional, circuitos digitais e da teoria dos conjuntos. Os conceitos desse modelo, principalmente algumas propriedades e teoremas como o de De Morgan devem ser compreendidos pelo estudante de Computação e Engenharia para o bom entendimento de outras disciplinas como: circuitos digitais, arquitetura de computadores, lógica clássica e difusa e inteligência artificial. Usualmente o estudante apresenta dificuldade na aplicação desses conceitos sendo estimulado a resolver exercícios de simplificação de expressões booleanas. É objetivo deste trabalho mostrar a implementação de uma ferramenta computacional que auxilie o aprendiz a resolver exercícios de simplificação, escolhidos ou criados pelo próprio estudante. O Software verifica de forma automática se a resolução do exercício está correta. O sistema proposto pode ser utilizado tanto como ferramenta desktop como para internet, desta forma sendo apropriado também para cursos a distância. |
|
METODOLOGIA: |
O sistema foi concebido como uma ferramenta de software livre de forma tal que o seu código seja aberto. Em uma primeira instância foi especificada a gramática gerativa da linguagem considerada (expressões booleanas) e foi desenvolvido um compilador: o analisador léxico e um analisador sintático descendente (LL1) para os exercícios digitados pelo aluno (expressões booleanas). O compilador e a sua interface foram desenvolvidos em Java (v1.4.2). Posteriormente foi implementado um sistema para calcular a tabela verdade e avaliar expressões booleanas utilizando algoritmos de estrutura de dados complexas que transformam a expressão booleana em uma notação pós-fixa e que é calculada dentro de uma pilha de execução. O resultado é a tabela verdade da expressão. O primeiro sistema foi portado e o segundo sistema foi implementado para Java (v5.0). Foi utilizado uma extensão da linguagem Java, o JSP, para que o sistema pudesse ser portado para a internet. A portabilidade do para outros tipos de interfaces está extremamente simples, pois o sistema foi desenvolvido buscando separar toda camada lógica com a camada gráfica, possibilitando que ele possa ser implementado para interfaces como a de celulares por futuros alundo. |
|
RESULTADOS: |
Embora o sistema apresente um funcionamento relativamente simples a complexidade de implementação pode ser considerada alta pois utiliza conceitos avançados de compiladores, estruturas de dados e algoritmos, além de programação para internet. O comportamento do sistema é o seguinte: o aluno é convidado a escolher uma expressão booleana (ou digitar uma do seu agrado) e realizar a simplificação da mesma utilizando as leis e teoremas que se encontram no Help do sistema. O sistema verifica se a expressão inicial e a resultante são equivalentes (ou seja se o estudante utilizou as regras de forma apropriada) verificando a equivalência das tabelas verdade. Atualmente o sistema encontra-se em fase de testes e avaliação de usabilidade. |
|
CONCLUSÕES: |
O objetivo proposto, implementação de uma ferramenta para auxiliar o ensino da álgebra de Boole, foi atingido através de dois trabalhos de iniciação científica; do primeiro e do último dos autores. A ferramenta encontra-se em fase final de testes, e será utilizada na disciplina presencial de álgebra de Boole no curso de Ciência da Computação. Ela já está sendo utilizada como auxílio extra-classe às aulas de compiladores. O usuário dispõe do código fonte como desafio para modificar, melhorar e testar inovações no protótipo original, seguindo a tendência de utilização de softwares abertos. A escolha da linguagem Java por sua independência de plataforma, obtida pela sua JVM, auxilia o desenvolvimento de uma ferramenta relativamente complexa, promovendo a independência de manipulação e extensões pelos futuros colaboradores e usuários. Pretende-se dar continuidade a este trabalho através da construção de um ambiente pedagógico para as disciplinas de compiladores. Para os autores-estudantes a implementação do projeto representa um ponto importante no processo de ensino-aprendizado, inserido no contexto de uma abordagem construtivista. Durante o processo de desenvolvimento da ferramenta os alunos utilizaram, aprofundaram e inter-relacionaram conceitos de diferentes disciplinas. Assim, a ferramenta descrita também teve como objetivo propiciar um ambiente de descoberta e de aprendizagem através da experimentação. |
|
Instituição de fomento: Universidade do Sul de Santa Catarina (PUIC - Artigo 170)
|
|
Trabalho de Iniciação Científica
|
|
Palavras-chave: álgebra booleana; software de apoio ao ensino; Ensino a Distância. |
|
Anais da 58ª Reunião Anual da SBPC - Florianópolis, SC - Julho/2006 |