Вы находитесь на странице: 1из 12

Sistema Especialista para Apoio ao Aprendizado de Lgica de Programao

Mauro Marcelo Mattos1 mattos@furb.rct-sc.br Andrino Fernandes2 andrino@eps.ufsc.br Oscar Ciro Lpez, Dr. Eng.3 oscar@eps.ufsc.br

Resumo
O presente trabalho apresenta uma proposta de metodologia de suporte ao ensino do contedo de lgica de programao em turmas introdutrias. O problema contextualizado e apresentada uma proposta de soluo a qual foi validada com um prottipo de um sistema especialista implementado em CLIPS.

Abstract
This work discusses the problem that affects students in the first steps in programming logic classes. The problem is characterized and a new methodology is presented. An expert system tool was developed in CLIPS to validate the work and the final conclusions are presented. Palavras-chave: Sistemas Especialistas, Informtica na Educao, CLIPS.

1. Introduo
1

Professor da FURB - Universidade Regional de Blumenau. Doutorando no Curso de Ps-Graduao em Eng. de ProduoUFSC - Universidade Federal de Santa Catarina.. 2 Professor da ETFSC - Escola Tcnica Federal de Santa Catarina. Mestrando no Curso de Ps-Graduao em Eng. de Produo- UFSC - Universidade Federal de Santa Catarina. 3 Programa de Ps-Graduao em Engenharia de Produo. Departamento de Engenharia de Produo. UFSC Universidade Federal de Santa Catarina.

"Estudar uma atividade que consiste em assimilar uma situao nova aos esquemas de ao usados em outras situaes. Toda aprendizagem supe um conhecimento. Estudar experimentar novas estratgias de comportamento, logo, transferir ou generalizar os comportamentos j incorporados." [LIM 76] Com o processo crescente no uso de tecnologias aplicadas educao importante ressaltar no s a contribuio dos recursos computacionais existentes, mas, tambm, a necessidade de estudar-se a forma ideal para sua aplicao. imprescindvel uma constante pesquisa na rea educacional para promover mtodos de ensino mais atuais e atuantes. O computador surge como uma ferramenta de transmisso de conhecimentos a qual no pode deixar de ser considerada. E o computador ao mesmo tempo uma ferramenta de trabalho e uma ferramenta de aprendizagem auxiliando a capacidade do indivduo de utiliz-lo em todo o seu potencial para resolver problemas. Todos tem os mesmos instrumentos para chegar ao conhecimento, mas no os utilizam com a mesma intensidade. Normalmente, os processos educacionais se baseiam, quase exclusivamente, no desenvolvimento da inteligncia lingistica e da lgico-matemtica, deixando de lado as outras formas de acesso ao conhecimento. Papert cita que muitas vezes que a diferena evolutiva pode ser atribuda escassez ou ausncia de materiais, a partir dos quais podem ser construdas estruturas intelectuais aparentemente 'mais avanadas'. A hiptese de Papert que o computador, quando utilizado de maneira adequada, pode 'concretizar' (e personalizar) o formal. A aprendizagem um processo no qual experincias fomentam modificao do comportamento e aquisio de hbitos. Segundo [WEC 93], Piaget (1964) ao estudar a gnese do desenvolvimento da inteligncia, demonstrou a importncia da maturao do sistema nervoso, da ao sobre os objetos e dos fatores sociais como variveis influenciantes na compreenso do processo intelectual. Em seus estudos, demonstrou como os processos de assimilao e acomodao de novos conhecimentos se incorpora estrutura do pensamento. justamente pela abordagem abstrata no ensino da lgica de programao que justifica-se a pesquisa e o desenvolvimento de ferramentas e/ou aplicaes tecnolgicas para o aprendizado ideal. Os aspectos cognitivos relacionados a captao de contedos comprovam a eficcia de processos que relacionam a ferramenta computador em beneficio da produtividade intelectual. Os processos cognitivos dizem respeito aos processos psicolgicos envolvidos no conhecer, compreender, perceber, aprender, nas formas de pensar e nos tipos de pensamento.

2. Caracterizao do problema

Os estudantes que iniciam um curso de Graduao em Informtica, normalmente encontram uma primeira dificuldade relacionada com a disciplina de Algoritmos (ou com nome similar), cujo principal objetivo o de introduzir os conceitos bsicos de lgica de programao. Esta dificuldade na maioria das vezes, decorrente da falta de experincia com os aspectos relacionados a ambientes industriais e/ou comerciais, pois a partir destes ambientes que so caracterizados os exerccios propostos. Analisando-se o perfil dos alunos, verifica-se que em sua maioria, so oriundos do 2o Grau, e portanto, possuem conhecimentos abstratos sobre reas cientficas (matemtica, fsica, biologia, etc.). Porm , quando deparam-se com a descrio textual dos enunciados dos problemas apresentados nesta disciplina introdutria, geralmente encontram dificuldades em identificar como extrair as informaes necessrias para iniciar a soluo destes problemas. A partir da constatao do problema, observou-se que, quando induzidos a pensar sobre o problema atravs de perguntas direcionadas, em sua grande maioria, os alunos conseguem descrever a soluo intuitivamente, ou seja, sem o formalismo necessrio rea de computao.

3. Motivao
A necessidade de tratar o tema inteligncia artificial, por exemplo, como um elo de ligao engenharia cognitiva surge da necessidade de desmistificar o fato que os seres humanos no se interessam em compreender suas capacidades e atividades mentais. A partir da anlise e observao do processo de induo acima citado, iniciou-se no 1o semestre de 1998, na FURB, um trabalho no sentido de formalizar-se atravs de uma metodologia, este processo de induo, com o objetivo de conduzir o aluno no processo de busca da soluo dos problemas propostos. Este processo foi utilizado ao longo do referido semestre e ao final do mesmo, os alunos avaliaram a proposta como sendo muito til, principalmente porque estabelecia uma receita de bolo (segundo alguns), ou seja, um procedimento formal a ser seguido. Em funo disto, optou-se pelo refinamento da proposta e pelo desenvolvimento de um sistema especialista que a partir do conhecimento informal sobre o processo de induo, permitisse a construo de uma ferramenta de software que permitisse ao aluno, na ausncia do professor, desenvolver o processo de aprendizado dos conceitos bsicos da disciplina. Um outro aspecto importante a destacar que analisando-se a literatura de sistemas especialistas, normalmente encontram-se referncias aplicao deste tipo de tecnologia na soluo de problemas "complexos" tais como : diagnstico mdico, anlise de mercado, anlise de crdito e assim por diante. Observou-se contudo que, o emprego de sistemas especialistas na rea de computao no so relatados com tanta nfase. Segundo Giarratano[GIA 94], o conhecimento pode ser classificado em : Procedural: saber como fazer ex.: como esquentar gua;

Declarativo: saber que algo verdadeiro/falso ex.: no tocar em chaleira quente e Tcito ou inconsciente: sabe o que ocorre, mas no sabe como faz ex.: mover a mo.

No caso especfico do problema proposto, observa-se com freqncia que a partir da soluo de um determinado nmero de exerccios alguns alunos "descobrem" o mecanismo de como construir as solues de lgica de programao. Entretanto, outros enquanto no "descobrem" esta nova forma de pensar, permanecem estagnados, e assumem uma postura de tentativa-e-erro. Naturalmente isto conduz ao insucesso e ao desnimo levando muitas vezes a reprovao na disciplina. Este ato de descobrir, se analisado do ponto de vista do aluno, poderia ser considerado como um conhecimento tcito, uma vez que, mesmo aqueles que aprenderam como fazer, tem dificuldades de explicar aos colegas como organizaram o raciocnio que conduziu a soluo do problema. Por outro lado, se analisado do ponto de vista dos professores, o conhecimento procedural, ou seja, sabe-se que h uma seqncia de passos a serem executados no sentido de construir-se uma soluo lgica. Naturalmente, h ainda um outro tipo de conhecimento envolvido no caso em questo, o qual pode ser classificado como declarativo ou seja, analisar-se a soluo e verificar-se que a mesma funciona ou no, baseando-se em experincia prvia, sabe-se que determinada seqncia de passos, para determinados problemas, provavelmente conduzir a uma soluo que no correta para determinadas situaes. Dentro deste contexto, estabeleceu-se o desafio de apresentar uma proposta de soluo utilizando-se a tecnologia de sistemas especialistas.

4. O conceito de sistemas especialistas


Edward Feigenbaum, professor da Universidade de Stanford, pioneiro na tecnologia de sistemas especialistas - S.E.'s, define-os como "... um programa inteligente de computador que usa conhecimento e procedimentos de inferncia para resolver problemas que so difceis o suficiente para que sua soluo necessite de um grau significativo de percia humana." [FEI 63] . Isto , um sistema especialista um sistema de computao que emula a habilidade de tomar decises de um especialista humano. O termo emular significa que pretende-se que o sistema especialista aja em todos os sentidos como um especialista humano. Uma emulao muito mais forte que uma simulao. Simulaes agem como o elemento real em apenas alguns aspectos. Uma caracterstica fundamental em sistemas especialistas que o conhecimento do(s) especialista(s) armazenado atravs de regras. Regras, neste contexto, so construes simples na forma: Se alguma condio verdadeira, Ento faa alguma coisa. O uso de regras interessante em algumas situaes tendo em vista que permite a construo da definio de um determinado comportamento de maneira compacta. Se analisado em sua forma mais simples, um determinado comportamento caracteriza-se por

um conjunto de aes e um conjunto de condies sob as quais as aes devem acontecer. Um sistema especialista continuamente analisa um conjunto de elementos condicionais (conhecidos como regras) em relao a uma base de fatos (tambm conhecida como base de conhecimento) para verificar se alguma regra pode ser aplicada para aquele conjunto de fatos. Se a premissa verdadeira, ento o sistema especialista executa as aes associadas gerando novos fatos na base de conhecimento. Este processo de analisar a base e disparar regras realizado por um componente denominado: mquina de inferncia. A aplicao desta tecnologia apresenta uma srie de vantagens, dentre as quais, algumas so citadas por Gardner [GAR 92] a seguir:

solucionar problemas importantes que, de outro modo, deveriam ser solucionados por um perito humano; flexibilidade na integrao de novos conhecimentos ao conhecimento j armazenado; auxlio aos usurios na elucidao, estruturao e transferncia de conhecimento; capacidade de mostrar seu conhecimento de uma forma facilmente compreensvel; disponibilizao de explicaes sobre suas recomendaes; capacidade de raciocinar com conhecimentos incompletos sobre a natureza de uma tarefa ou como a tarefa deve ser realizada de forma eficiente; capacidade de tratar sentenas simples em linguagens naturais.

No exemplo do problema sendo considerado, as questes (b), (c) e (e) so aspectos importantes, que se utilizadas adequadamente em uma ferramenta de software, certamente podem contribuir significativamente no apoio ao aprendizado de lgica de programao.

5. Ambiente de desenvolvimento
Utilizou-se como ambiente de desenvolvimento o software CLIPS (C Language Integrated Production System) o qual foi desenvolvido pela NASA/Johnson Space Center. Em sua origem, tinha como finalidade de gerar solues que apresentassem alta portabilidade, baixo custo e fcil integrao com sistemas externos. Problemas que afetavam os projetos da NASA em funo da diversidade de aplicaes e tecnologias utilizadas. Segundo [GIA 94], CLIPS uma linguagem de programao multiparadigma a qual fornece suporte a programao tradicional, ou seja baseada em procedimentos, programao orientada a objetos e baseada em regras. CLIPS assemelha-se a outras linguagens tais como ART, ART-IM, Eclipse e Cognate, sendo sintaticamente muito parecida com LISP. CLIPS entretanto somente suporta o processo de inferncia denominado forward-chaining (encadeamento para frente). A poro orientada a objetos, referenciada como COOL (CLIPS Object-Oriented Language), e apresenta caractersticas de CLOS (Common Lisp Object System) e SmallTalk.

6. Metodologia de desenvolvimento do sistema


Conforme Durkin [DUR 94] , ainda no h um consenso sobre a metodologia a ser adotada para o desenvolvimento de sistemas especialistas. No entanto, ele sugere uma srie de etapas que devem ser seguidas no desenvolvimento de projetos deste tipo. Este tipo de desenvolvimento caracteriza-se como modelo incremental de desenvolvimento de sistemas, e pode ser utilizado em ambientes de produo de sistemas especialistas bem como em ambientes de produo de sistemas tradicionais. O desenvolvimento do S.E. portanto seguiu as seguintes fases: Fase de Anlise de Requisitos: durante esta fase foram realizados estudos para determinar a viabilidade da execuo do projeto em questo. Verificou-se que uma ferramenta de apoio ao ensino na referida rea seria muito interessante, uma vez que no h muita disponibilidade de softwares que atendam aos objetivos anteriormente apresentados; Fase de Aquisio de Conhecimento: o objetivo desta fase o de adquirir, organizar e estudar o conhecimento sobre o problema, que ser usado durante o processo de desenvolvimento da aplicao. Utilizou-se como especialista, a experincia do Prof. Mauro Mattos no ensino da disciplina de Algoritmos na FURB - Universidade Regional de Blumenau. Esta fase culminou com a construo de uma rvore de decises, cujo exemplo apresentado na figura 2; Fase de Projeto: Nesta fase construiu-se um prottipo de software para validao das regras identificadas na fase anterior. Este prottipo foi implementado em linguagem CLIPS, e um exemplo de utilizao do mesmo apresentado nas figuras 4,5 e 6. Fase de Teste: Segundo Durkin, a fase de testes deve ocorrer em paralelo a fase de projeto, tendo em vista manter-se sintonia com os requisitos estabelecidos na primeira fase. Esta uma atividade que demanda grande preciso e controle, tendo em vista que a fase de testes que garante a utilidade ou no do sistema em "ambiente de produo". O prottipo encontra-se nesta fase do ciclo de vida, tendo sido selecionados alguns alunos do curso regular para a utilizao e avaliao da ferramenta. Fase de documentao: esta fase concentra-se na importncia de produzir-se um documento contendo a compilao de toda a informao de projeto, tendo em vista facilitar o entendimento do mesmo na fase seguinte que a fase de manuteno do sistema. Embora o projeto no esteja concludo, esta fase tambm encontra-se em andamento. Fase de manuteno: aps a liberao do sistema para uso, periodicamente sero necessrios ajustes e/ou alteraes em funo de interferncias externas e novas descobertas de conhecimento. Como ainda no foi produzida uma "verso de produo", esta fase ainda no foi iniciada.

Este processo de desenvolvimento conduz a um ciclo, onde a cada nova passagem conduz a mais um nvel de profundidade no sentido de refinar o conhecimento j adquirido sobre determinada rea.

7. A aquisio do conhecimento

Como citado anteriormente, na medida em que verificou-se que, o processo de induo apresentava resultados, procurou-se identificar quais perguntas e em que seqncia elas eram apresentadas no sentido de conduzir a turma em direo a uma possvel soluo a algum dos problemas propostos. A partir da confeccionou-se o que foi caracterizado pelos alunos como : a metodologia dos 8 passos. Esta primeira proposta procurava fazer com que o aluno respondesse s seguintes questes: a) Quais as variveis conhecidas ? ou seja, quais as informaes que podem ser obtidas a partir do enunciado do problema; b) O que precisa ser calculado (ou executado)? identificao do escopo da aplicao; c) Quais as variveis desconhecidas? -- ou seja, variveis para as quais no h informao no enunciado do problema; d) O que precisa ser informado (digitado) ou seja, o que o usurio da aplicao precisa informar para que o mesmo realize suas funes; e) O que precisa ser apresentado (impresso) ou seja, o que a aplicao deve apresentar como resultado; f) Realizar um esboo da soluo ou seja, identificar em termos de macro passos, qual a estratgia a ser adotada para soluo do problema; g) Construir um fluxograma efetivamente elaborar um fluxograma, utilizando a notao grfica para representar a lgica da soluo; h) Construir o teste-de-mesa excitar as variveis a partir da execuo dos comandos na seqncia em que aparecem no grfico Consequentemente, aps a realizao do teste-de-mesa e, verificada sua correo, a soluo est pronta para ser codificada em alguma linguagem alvo. Embora facilitasse mais o encaminhamento da soluo, a metodologia acima descrita ainda carecia de um detalhamento melhor, porque haviam obviamente muitos passos "escondidos" entre a passagem das fases de (a) a (e) para a fase (f) esboo da soluo. Cabe salientar que, com esta estratgia, um nmero maior de alunos passou a entender o escopo da aplicao isto porque, o primeiro passo para a soluo de um problema entend-lo. O passo seguinte foi o de detalhar o aspecto "obscuro" anteriormente citado. Atravs de entrevistas com o especialista e, utilizando-se as listas de exerccios que os alunos recebiam como exerccios, refinou-se o conhecimento a ponto de obter-se uma planilha a qual possui 28 colunas. Nesta planilha, alm de identificadas a seqncia de perguntas, identificou-se tambm grupos de perguntas relacionadas, de tal forma que, dependendo das respostas obtidas, somente um subconjunto das mesmas faz-se necessrio serem respondidas para atingirem-se os objetivos desejados.

7.1. A validao da proposta


O ponto de partida da anlise foi: de um lado o enunciado do problema, de outro, o esboo da soluo para cada um dos problemas. Uma vez estabelecidos os limites, passou-se a responder as questes e analisar-se o relacionamento entre as respostas e a proposta de esboo de soluo no sentido de identificar-se algum padro de comportamento.

Este procedimento foi realizado para um conjunto de aproximadamente 30 exemplos, os quais englobavam desde a soluo de problemas simples (entrada-equao-sada) , problemas de complexidade mdia baixa (entrada-vrias equaes-sada), problemas de mdia complexidade (entrada-decises-equaes-sada) e problemas de complexidade mdia-alta (repeties-entradadecises-equaes-sada). Cabe salientar que neste estgio do projeto no foram contemplados exerccios envolvendo vetores e matrizes com 2 ou mais dimenses. Com base nestas informaes, o passo seguinte foi o de construir uma estrutura de representao do conhecimento identificado atravs da anlise dos problemas resolvidos, o que ser descrito a seguir.

8. A representao do conhecimento
Durante o processo de anlise do conhecimento representado na planilha, verificou-se que haviam questes que exigiam respostas do tipo sim/no; questes que exigiam respostas textuais; situaes em que era necessrio uma orientao ao aluno no sentido de gui-lo para o passo seguinte e, finalmente situaes onde se fazia necessrio uma realimentao sobre as decises tomadas anteriormente tendo em vista posicion-lo no contexto da soluo em andamento. A partir destas informaes, construiu-se uma rvore de decises, a qual possui 4 tipos de nodos, a seguir relacionados: Nodos de deciso ex: H alguma operao lgica ou aritmtica? Nodos de ao ex: Descreva a operao. Nodos de status ex: At o momento voc identificou os seguintes passos: Nodos de ajuda ex: Uma vez analisadas as pr-condies, podemos identificar a operao a ser realizada! A definio desta rvore de conhecimento foi construda em CLIPS atravs da declarao apresentada na figura 1.
(deftemplate no (slot nome)(slot tipo) (slot questao)(slot no-sim) (slot no-nao)(slot prox-no) ) Figura 1 - Definio em CLIPS de um nodo da rvore de decises

Um exemplo de cada

um dos nodos da rvore, pode ser verificado na figura 2.


(no (nome p2)(tipo decisao) (questao "Antes da operao lgica ou aritmtica o usurio digita alguma informao?" ) (no-sim ad1) (no-nao p3)(prox-no nil) ) (no (nome p3) (tipo deciso) (questao "Antes da operao lgica ou aritmtica h alguma condio a ser verificada? " ) (no-sim ai1(no-nao p4) (prox-no nil) ) (no (nome ad1) (tipo acaoDIG) (questao "Que informao o usurio deve digitar?" ) (no-sim nil)(no-nao nil)(prox-no p3) ) (no (nome ah1) (tipo HELP) (questao "Agora vamos pensar em termos macro! Que sequencia de passos necessaria para resolver o problema? (Pressione <enter> para continuar ...)" ) (no-sim nil)(no-nao nil)(prox-no p1) )

Esta rvore representa o

conhecimento do especialista em termos de conhecimento procedural (conforme comentado anteriormente). A estratgia adotada para adquirir conhecimento do aluno ser descrita a seguir.

9. A implementao
A estratgia adotada para orientar o aluno, foi a filosofia de desenvolvimento top-down, onde o desenvolvimento da aplicao d-se por refinamentos sucessivos. Sempre que houver necessidade, um novo passo de refinamento vai sendo realizado at a obteno do nvel desejado de especificao que efetivamente solucione o problema. Para tanto, foram construdas regras, que permitem a navegao atravs dos nodos da rvore de decises. Assim sendo, medida em que os nodos vo sendo repetidamente visitados, novos fatos vo sendo gerados na memria de trabalho. Estes novos fatos disparam regras que uma vez executadas geram uma nova rvore auxiliar (denominada rvore de log) , a qual registra as respostas do usurio, e estabelece a seqncia em termos temporais em que as respostas vo sendo cadastradas. A definio desta rvore auxiliar de conhecimento foi definida em CLIPS atravs da definio apresentada na figura 3.
(deftemplate log (slot nome) (slot tipo)(slot status)(slot ifID)(slot valor)(slot nivel)(slot ant)(slot prox))

O slot tipo utilizado para Figura 3 - Definio em CLIPS de um nodo da rvore de log identificar que tipo de operao esta sendo registrada. Constituem-se valores vlidos: digitao, operao lgica ou aritmtica, sada de dados e operao de deciso (IF). O slot status utilizado para registrar se um determinado n desta rvore j foi resolvido completamente ou se h alguma pendncia a ser solucionada, ou seja, se ainda h mais algum refinamento a ser realizado. O slot ifID utilizado para identificar univocamente Figura 4 Tela de contextualizao do problema cada operao de deciso que vai sendo

introduzida nesta rvore. O slot valor utilizado para armazenar as respostas textuais do usurio . Cabe destacar que, respostas sim/no no so armazenadas nesta rvore, elas simplesmente ativam as regras de navegao na rvore de conhecimento anteriormente apresentada - figura 2). O slot nvel utilizado para identificar um novo nvel de refinamento realizado e finalmente, os slots ant e prox constituem-se em elementos de conexo desta rvore. A figura 4 apresenta uma tela onde perguntado ao aluno que descreva sinteticamente o problema a ser resolvido. Neste momento j se procura induzi-lo a pensar em termos do contexto do problema. E a figura 5, continua apresentando questes ao aluno para que o mesmo v aos poucos delimitando o escopo do problema, e aprofundando-se em direo a uma soluo para o mesmo. Aps cada rodada na rvore de decises, apresenta-se ao aluno um feedback do contexto delineado pelo mesmo at o momento, e dependendo do nvel de refinamento necessrio, automaticamente o sistema inicia um novo passo de refinamento de alguma estrutura que ainda requeira informaes complementares (figura 6). Esta estratgia permitiu que fosse adquirido o conhecimento tcito do aluno, a partir do conhecimento declarativo, ou seja, o aluno sabe responder sim e no as perguntas que vo sendo realizadas. A ordem das perguntas est estabelecida na rvore de decises. O que ele no sabe fazer que explicar como resolver o problema vai sendo armazenado na rvore auxiliar (log), de tal forma que, ao final do processo, possvel inferir a soluo macro do problema atravs da conjugao dos vrios tipos de conhecimento envolvidos no processo.

10. Dados estatsticos


A soluo do problema em termos de estrutura de dados pode ser resumida conforme apresentado a seguir: uma rvore de decises (contendo 27 nodos), a qual utilizada para armazenar a seqncia de perguntas a serem realizadas. Esta estrutura carregada para a memria de trabalho em termos de fatos na inicializao da aplicao; uma rvore de log, a qual dinamicamente vai sendo gerada a medida em que o aluno vai respondendo as questes; uma lista de nveis. Uma estrutura de dados auxiliar utilizada para demarcar a ao de refinamento de um determinado nvel superior em sub-nveis; uma pilha , a qual utilizada nas operaes de contextualizao do aluno, ou seja, uma estrutura de dados temporria utilizada somente durante o processo de varredura da rvore de log. A soluo do problema em termos de sistema especialista foi construda a partir de 31 regras de produo, algumas das quais relacionadas a navegao da rvore de decises, algumas relacionadas

a gerao da rvore de log, algumas relacionadas a manuteno das conexes da rvore de log e finalmente, algumas relacionadas a gerao de feedback para o aluno.

11. Concluso
Pode-se considerar que, apesar da interface com o usurio ser bastante primitiva, a implementao do prottipo atendeu aos objetivos iniciais que eram o desenvolvimento de uma aplicao em software que se constitusse em uma ferramenta de apoio ao aprendizado de lgica de programao. Testes preliminares confirmaram os resultados obtidos atravs da execuo do processo utilizandose planilhas em papel, ou seja, os alunos conseguiram adquirir um maior nvel de conhecimento do problema bem como gerar um esboo de soluo bastante aceitvel. Cabe salientar que, esta proposta no conduz o aluno no sentido de gerar a soluo correta para um determinado problema. O objetivo da ferramenta no este. Tanto isto verdade que, caso o aluno no responda corretamente (e o termo corretamente neste contexto relativo) as questes, o sistema apresentar um esboo de soluo de acordo. Ou seja, a ferramenta no elimina a filosofia anteriormente descrita como "metodologia dos 8 passos", ela simplesmente enquadra-se no que poderia ser denominado de fase de anlise de requisitos de uma metodologia tradicional de desenvolvimento de sistemas, gerando como produto final um esboo de soluo. Este esboo de soluo ter que ser convertido em um fluxograma, o qual dever ser avaliado quanto a sua correo atravs do teste-de-mesa. Somente aps este teste que a soluo poder ser considerada correta. Portanto, o aspecto mais importante que deve ser destacado refere-se ao fato que esta soluo permite que o aluno sistematicamente aprenda a pensar em termos de passos para solucionar os problemas, e tambm aprenda a validar sua soluo. Naturalmente as questes de eficincia da soluo vo sendo desenvolvidas com o tempo, quando o nvel de maturidade j permitir este tipo de discusso. Como continuao do presente trabalho, pretende-se desenvolver uma interface mais amigvel com o usurio, provavelmente atravs da utilizao da ferramenta Jess (implementao em java da mquina de inferncia CLIPS), bem como da implementao da estrutura de suporte a problemas cuja soluo envolva estruturas de repetio e manipulao de vetores e matrizes.

12. Bibliografia
[DUR 94] [FEI 63] DURKIN,J Expert Systems-Design and Development.Prentice-Hall, 1994. FEIGENBAUM,E.A. e FELDMAN,J. Computers and thought. McGraw-Hill, New York, 1963. GARDNER, H. Mind's New Science, The History of the Cognitive Revolution, Ed. Basic Books, 1985.

[GAR 85]

[GAR 92] [GIA 94]

GARDNER, H. Multiple Intelligences - Theory in Practice, Ed. Basic Books, 1992. GIARRATANO,J.C. & RILEY,G. Expert Systems: principles and programming. PWS Publishing Co, Boston, 1994. LIMA, L.O. Auto Orientao da Aprendizagem. A Escola secundria moderna: organizao, mtodos e processos. Ed. Forense-Universitria, Rio de Janeiro 1976. WECHSLER, S. M. Criatividade: descobrindo e encorajando. Ed. Psy, 1993. Campinas,

[LIM 76]

[WEC 93]

Вам также может понравиться