Buscar

Sistema Tutor Inteligente para Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 148 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 148 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 148 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UM MODELO DE SISTEMA TUTOR INTELIGENTE 
APLICADO AO ENSINO DA PROGRAMAÇÃO ESTRUTURADA
UNIVERSIDADE FEDERAL DE SANTA CATARINA 
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE PRODUÇAO 
UM MODELO DE SISTEMA TUTOR INTELIGENTE 
APLICADO AO ENSINO DA PROGRAMAÇÃO ESTRUTURADA 
Élcio Miguel Prus 
Dissertação apresentada ao Programa 
4 de Pós-Graduação em Engenharia da 
Produção da Universidade Federal de 
Santa Catarina como requisito parcial 
para a obtenção do título de Mestre 
em Engenharia de Produção. 
Florianópolis 
V 2001
ii 
Élcio Miguel Prus 
UM MODELO DE UM SISTEMA TUTOR INTELIGENTE 
APLICADO AO ENSINO DA PROGRAMAÇÃO ESTRUTURADA 
Esta dissertação foi julgada e aprovada para obtenção 
do título de Mestre em Engenharia de Produção no 
Programa de Pós-Graduação em Engenharia de Produção 
da Universidade Federal de Santa Catarina 
FIorianÓpoIis,.28 de . o de 2001. 
I'4 
Prof. Ri -zrdo iranda Barcia PhD 
oordeni dor do C o 
BANCA EXAMINADORA 
Prõ1(AIioe Theresinha Cybis Pereira, PhD 
Orientadora
O 
Profa. M rta Costa Rosateili, Dra. 
<Z2Ê`‹; 
Prof. Feyãando Álvaro Ostuni Gauthier , Dr.
iii 
A minha esposa Carem e aos filhos 
Ivens e Igor pela compreensão e 
sacrifício que, carinhosamente, 
cederam e que me guiaram nos 
momentos mais difíceis desta 
caminhada.
iv 
AGRADECIMENTOS 
A Deus pela criação e proteçao. 
Aos meus pais pela existência e perseverança em me guiar para o melhor 
caminho. 
A minha querida esposa e filhos pelo amor e compreensão dedicados durante 
a realização desta dissertação. 
Aos familiares, amigos e companheiros pela colaboração, muitas vezes 
decisiva. 
A Professora PhD Alice Theresinha Cybis Pereira pelo valioso apoio dado para 
que esta dissertação se concretizasse. 
A todos aqueles que não foram citados e que contribuíram, direta ou 
indiretamente, para a realização desta pesquisa.
'
V 
ll Í Í Il Uma pessoa realmente grande e aquela que nos da uma chance. 
Paul Duffy
su|v|Án|o 
LISTA DE FIGURAS ............................................................................................. .. 
Vl 
ix 
LISTA DE QUADROS ........................................................................................... _. x 
LISTA DE TABELAS ............................................................................................ _. xi 
LISTA DE REDUÇOES ......................................................................................... _. 
RESUMO ............................................................................................................... _. 
ABSTRACT ........................................................................................................... ._ 
1 |NTRoDuçÃo ......................................... __ 
1.4.2 Obietivos Específicos .................................. _. 
1.5 Metodologia ..................................................... ._ 
2 ALGORITMOS ESTRUTURADOS .......... ._ 
2.3 Estrutura Básica de um Algoritmo ................ _. 
2.4 Estruturas ........................................................ ._ 
1.1 Identificação do Problema ............................................................................ ._ 
1.2 Questão da Pesquisa .................................................................................... ._ 
1.3 Justificativa .................................................................................................... ._ 
1.4 Obietivos ........................................................................................................ __ 
1.4.1 Objetivo Geral .............................................................................................. ._ 
1.6 Limitações da Pesquisa ................................................................................ _. 
1.7 Estrutura da Dissertação .............................................................................. __ 
2.1 Considerações Iniciais .................................................................................. ._ 
2.2 Definição de Algoritmo ................................................................................. ._ 
2.3.1 
xii 
XIII 
XV 
ÉCDCDNQQUIUIOO 
-5 
12 
12 
13 
16 
17 
1a 
2.4.1 Estrutura se-ENTÃO-sENÃo ..................................................................... _. 19 
2o 2.4.2 Estrutura ESCOLHA CASO ...... ___ ............................................................... ._ 
2.4.3 Estrutura ENQUANTO-FAÇA .......................................................... ._ 
2.4.4 Estrutura PARA-FAÇA ................................. ._ 
2.5 Considerações Finais ..................................... ._ 
3 INTELIGÊNCIA ART||=|c|A|. ................... __ 
3.1 Inteligência Artificial ....................................... _. 
2.4.5 Estrutura nEPim-ArE__.__________.___.___..._______.___ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 
21 
22 
23 
24 
26 
26 
3.2 Inteligência Artificial aplicada na Educação ............................................... _. 30 
32 3.3 Sistemas Tutores Inteligentes ...................................................................... __ 
3.3.1 Estrutura de um STI .................................................................................... __ 
3.3.1.1 Modelo do Especialista ........................................................................... _. 
3.3.1.2 Modelo do Estudante ................................ _. 
3.3.1.3 Modelo Pedagógico .............. ._ ................................................................. __ 
3.3.1.4 Modelo de Interface ................................................................................. _. 
3.4 Formas de Representação do Conhecimento ............................................ __ 
3.4.1 Procedimentos ............................................................................................ ._ 
3.4.2 Esquemas ............................................................. __ 
34 
35 
36 
37 
38 
39 
41
42
vii 
3.4.2.1 Scripts ....................................................................................................... ._ 42 
3.4.2.2 Frame ........................................................................................................ _. 46 
3.4.3 Redes Semânticas ...................................................................................... ._ 48 
3.5 Exemplos de STI aplicados a Programação Estruturada .......................... ._ 49 
3.6 Exemplo de STI relacionado ao Modelo Proposto ..................................... _. 51 
3.7 Considerações Finais .................................................................................... ._ 52 
4 TEORIAS DE APRENDIZAGEM ..................................................... ._ 55 
4.1 Considerações Iniciais .................................................................................. ._ 55 
4.2 Empirismo ...................................................................................................... _. 57 
4.2.1 Aprendizagem ............................................................................................. ._ 60 
4.2.2 Relacionamento Professor-Aluno ............................................................. __ 62 
4.2.3 Metodologia ............................... ................................................................ _. 63 
4.2.3.1 Ensino individualizado ............................................................................ ._ 64 
4.2.3.2 Ensino baseado na competência ........................................................... ._ 64 
4.2.3.3 Ensino programado ................................................................................. _. 65 
4.2.4 Avaliação ..................................................................................................... _. 66 
4.3 lnatismo .......................................................................................................... _. 66 
4.3.1 Aprendizagem ............................................................................................. ._ 70 
4.3.2 Relacionamento Professor-Aluno............................................................. ._ 71 
4.3.3 Metodologia ................................................................................................. _. 73 
4.3.4 Avaliação ..................................................................................................... _. 73 
4.4 lnteracionismo ............................................................................................... ._ 74 
4.4.1 Construtivismo ............................................................................................ ._ 75 
4.4.1.1 Aprendizagem .......................................................................................... _. 79 
4.4.1.2 Relacionamento Professor-Aluno .......................................................... ._ 80 
4.4.1.3 Metodologia .............................................................................................. ._ 81 
4.4.1.4 Avaliação .................................................................................................. ._ 82 
4.4.2 Sócio-lnteracionismo .................................................................................. _. 83 
4.4.2.1 Aprendizagem .......................................................................................... ._ 87 
4.4.2.2 Relacionamento Professor-Aluno .......................................................... ._ 88 
4.4.2.3 Metodologia ............................ ................................................................ _. 89 
4.4.2.4 Avaliação .................................................................................................. _. 89 
4.5 Considerações Finais .................................................................................... _. 90 
5 MODELO PROPOSTO .................................................................... ._ 92 
5.1 Fundamentos do Modelo Proposto ............................................................. ._ 92 
5.2 Caracterização do Modelo ............................................................................ __ 95 
5.3 Estrutura e Funcionamento do Modelo ....................................................... ._ 97 
5.3.1 Professor ..................................................................................................... ._ 98 
5.3.2 O Modelo do Especialista ................... ...................................................... _. 101 
5.3.3 O Modelo Pedagógico ................................................................................ _. 105 
5.3.4 O Modelo de Interface ................................................................................. _. 106 
5.3.5 O Modelo do Estudante .............................................................................. ._ 112 
5.4 Considerações Finais .................................................................................... _. 116 
6 coNcLusõEs E nEcoMENoAçõEs .......................................... ._ 118 
6.1 Avaliação do Modelo Proposto ................................................................... ._ 118
6.1.1 Aspectos Positivos ........................................................................... .. 
1 REFERÊNc|As B|BL|ocRÁF|cAs ................................................ ._ 1 
a ANExos ......................................................................................... _. 
8.1 Anexo 1 - Conteúdo Programático da Algoritmos e Programação I 
viii 
........ .. 1 18 
6.1.2 Aspectos Negativos .................................................................................... .. 120 
6.2 Conclusões .................................................................................................... .. 121 
6.3 Recomendaçoes ............................................................................................ .. 122 
_ 129 
129
Figura 1: 
Figura 2: 
Figura 3: 
Figura 4: 
Figura 5: 
Figura 6: 
Figura 7: 
Figura 8: 
Figura 9: 
Figura 10 
Figura 11 
Figura 12 
Figura 13 
Figura 14 
Figura 15 
Figura 16 
Figura 17 
Figura 18 
Figura 19 
Figura 20 
ix 
LISTA DE FIGURAS 
Diagrama em blocos de um STI básico ............................................. _. 34 
Exemplo de Rede Semântica .............................................................. ._ 48 
Exemplo de Rede Semântica .............................................................. ._ 49 
Diagrama em blocos do Modelo Proposto de STI ............................ _. 97 
Tela do Professor ................................................................................. ._ 98 
Opções do Menu do Módulo do Professor ........................................ ._ 99 
Tela de Cadastro de Professor ........................................................... ._ 99 
Tela de Cadastro de Turma ................................................................. __ 
Tela de Cadastro de Disciplina ........................................................... ._ 
: Relacionamento entre teoria e exercícios ....................................... __ 
: Tela de Cadastro de Teoria ............................................................... ._ 
: Tela de Cadastro de Exercício .......................................................... ._ 
: Tela do Aluno ..................................................................................... _. 
: Tela de Cadastro do Aluno ............................................................... _. 
: Tela de Resolução dos Exercícios ................................................... _. 
: Tela de Teoria e Solução do Professor ............................................ _. 
: Representação gráfica da situaçao do aluno B .............................. ._ 
: Representação gráfica da situação do aluno C .............................. _. 
: Representação gráfica da situação do aluno D .............................. _. 
100 
101 
102 
103 
104 
106 
107 
108 
111 
: Representação gráfica da situação do aluno A .............................. ._ 113 
' 114 
115 
116
LISTA DE QUADROS 
Quadro 1: Tipos de Dados ........................................ ..
LISTA DE TABELAS 
Tabela 1: Regras para escolha do próximo exercício
Siglas 
CAI 
DER 
ENC 
IA 
IAED 
ICAI 
IndAp 
LDB 
MEC 
OOP 
RBC 
SBC 
STI 
TPD 
WEI 
ZDP 
|_|sTA DE |=lEDuçöEs 
Computer Assisted lnstruction 
Diagrama Entidade Relacionamento 
Exame Nacional de Cursos 
Inteligência Artificial
` 
Inteligência Artificial aplicada a Educaçäo 
/nteligent Computer Assisted lnstruction 
Índice de Aproveitamento 
Lei de Diretrizes e Bases da Educação Nacional 
Ministério da Educaçäo e Cultura 
Programação Orientada à Objetos 
Raciocínio Baseado em Casos ' 
Sociedade Brasileira de Computação 
Sistemas Tutores Inteligentes 
Tecnologia em Processamento de Dados 
Workshop de' Educação em Informática 
Zona de Desenvolvimento Proximal
I 
xiii
S 
RESUMO 
PRUS, Élcio Miguel. Um modelo de sistema tutor inteligente aplicado ao ensino 
da programação estruturada. Florianópolis, 2001. 130 f. Dissertação 
(Mestrado em Engenharia de Produção) - Programa de Pós-graduação em 
Engenharia de Produção. UFSC, 2001. 
_,,,,..- .xl 
Este trabalho apresenta um modelo e um protótipo, desenvoIvidc{ em Delpgj 
5.0, de sistema tutor inteligente aplicado ao"ensin'o`de aigoritmos estruturados, 
beín como a sua avaliação, utilizando a disciplina de Algoritmos e Programação 
I, no curso de __1:eAcnologia em Processamento de dad_os,. ofertado pelas 
Faculdades Santa Cruz, em Curitiba - Paraná. -
\ 
A pesquisa foi baseada em revisão bibliográfica e no desenvolvimento de um 
modelo e implementação de um protótipo. São apresentados fundamentos 
teóricos sobre algoritmos estruturados, inteligência artificial em geral e aplicada 
à educação, assim como sistemas tutores inteligentes, com alguns exemplos 
relacionados com a linha de pesquisa da dissertação. É feita uma análise das 
principais correntes de teorias de aprendizagem, visando a fundamentar o 
desenvolvimento do protótipo.
i 
A estrutura do modelo proposto e do protótipo apresentado é dividido em dois 
módulos: o do professore do aluno. A utilização de exemplos é apresentada 
para melhor ilustrar a aplicação do modelo ao contexto de ensino de algoritmo 
estruturado. 
Como conclusão, a construção do protótipo e sua aplicação em parte da turma 
é o resultado concreto deste trabalho e suas partes ressaltam a importância do 
modelo desenvolvido. _ r
xiv 
Palavras-chave: Algoritmos Estruturados, Inteligência Artificial, Sistemas 
Tutores' Inteligentes, Teorias de Aprendizagem.
XV 
ABSTRACT 
PRUS, Élcio Miguel. Um modelo de sistema tutor inteligente aplicado ao 
ensino da programação estruturada. Florianópolis, 2001. 130 f. 
Dissertação (Mestrado em Engenharia de Produção) - Programa de 
Pós-graduação em Engenharia de Produção. UFSC; 2001. 
A model and a prototype are introduced by this dissertation. Delphi® 5.0 
programming language is used to compound the prototype. Santa Cruz 
College, in Curitiba, Paraná, has a Data Processing Technology Course 
and this forthcoming presented model is an intelligent tutor system 
applied to teaching and evaluating process of structure algorithms, 
practiced in Algorithms and Programming I discipline. 
The research was based on a bibliographical review and on the model 
development and the prototype implementation, theoretical support about 
structured algorithm, generical aspects and educational applications of 
artificial intelligence, as well as intelligent tutor systems. Some examples 
are made part of this dissertation research field. 
An analysis is proceeded over the main theoretical learning' approaches, 
aiming to make the prototype foundation development possible. 
The frame of this purpose, considering the model and the prototype, is 
divided into' two parts: the teacher and the student. The examples are 
used to let thecontextual learning participate consistently. 
The goal is achieved with the prototype construction and its application in 
part of a student's group. It confirms the relevance of the model in use.
Xvi 
Key-words: Structured Algorithms, Artificial Intelligence, Intelligent 
Tutoring Systems,Theories of Learning.
¬
_
1 |NTRoDuçÃo 
A qualidade do ensino oferecido pelas instituições de nível superior no Brasil é 
a constante preocupação do Ministério da Educação e Cultura (MEC). Esta 
excelência de ensino, meta intrínseca ao artigo 208, inciso V, da Constituição 
Federal e premissa básica da nova Lei de Diretrizes e Bases da Educação 
Nacional (LDB), em vigor desde dezembro de 1996, só poderá ser alcançada 
através de um ensino moderno, atualizado e que vise a formação profissional 
(Niskier, 1996). 
Esta preocupação com a qualidade do ensino oferecido pelas instituições de 
nível superior não é em vão. O Exame Nacional de Cursos (ENC), conhecido 
como provão, tem por objetivo avaliar, logo após a conclusão do curso, os 
conhecimentos adquiridos pelos graduados durante o desenvolvimento do 
mesmo. Este revelou em sua última edição, 1999, que nove instituições das 
trinta e seis que oferecem o curso de administração, no estado do Paraná, ou 
seja 25%, tiveram conceito D e E, considerados os dois mais baixos (Ministério 
da Educação e Cultura, 1999). 
Com base nesta nova realidade o MEC, através da Sociedade Brasileira de 
Computação (SBC), promoveu em junho de 1998, em Belo Horizonte, Minas 
Gerais, um Workshop de Educação em Computação (\/VEI/98). Neste foram 
discutidas e oficializadas as diretrizes curriculares referentes aos cursos, de
nível superior, de informática e computação. Estas diretrizes fornecem às 
instituições parâmetros que norteiam a formulação dos currículos. 
Estas diretrizes também normalizam as denominações dos cursos superiores 
em informática, evitando ambigüidade, facilitando a comparação entre os 
diversos cursos existentes no país e principalmente, dando um passo definitivo 
a criação dos conselhos federal e regional que regulamentarão as atividades 
referentes a profissão, ainda não existentes. 
Segundo estas diretrizes, os currículos dos cursos da área de computação e 
informática são compostos por quatro grandes áreas deformação: 
- formação básica que compreende os princípios básicos da área de 
computação, a ciência da computação, a matemática necessária para 
defini-los formalmente, a física e eletricidade necessária para permitir o 
entendimento e o projeto de computadoresviáveis tecnicamente e a 
formação pedagógica que introduz os conhecimentos básicos da 
construção do conhecimento, necessários ao desenvolvimento da prática do 
ensino de computação; 
~ formação tecnológica (também chamada de aplicada 'ou profissional) que 
aplica os conhecimentos básicos no desenvolvimento tecnológico da 
computação; 
° formação complementar que permite uma interação dos egressos dos 
cursos com outras profissoes;
~ V formação humanística que dá ao egresso uma dimensão social e humana. 
Esta divisão proporciona uma maior flexibilidade na elaboração das grades 
curriculares, e facilita a modificação do enfoque de algumas disciplinas, de 
acordo com a evolução tecnológica. A formação básica é a principal 
fundamentação que o novo profissional deve possuir. Ela é composta por 
disciplinas da área de programação, computação e algoritmos. 
A programação, entendida como programação de computadores, é uma 
atividade voltada à solução de problemas. Nesse sentido ela está relacionada 
com uma variada gama de outras atividades como especificação, projeto, 
validação, modelagem e estruturação de programas e dados, utilizando-se das 
linguagens de programação propriamente ditas, como ferramentas. 
Ao contrário do que se apregoava há alguns anos atrás, a atividade de 
programação deixou de ser uma arte para se tornar uma ciência, envolvendo 
um conjunto de princípios, técnicas e formalismos que visam a produção de 
software bem estruturado e confiável (Salvetti & Barbosa, 1998). 
1.1 Identificação do Problema 
Uma das disciplinas que pertencem ao currículo de formação básica é a de 
Algoritmo e Programação. Com ela o egresso, ou recém-formado, será capaz
de produzir programas, de média complexidade, para ja resolução de 
problemas que utilizem o computador e seus recursos como meio para tal. 
O aluno ao concluir esta disciplina deve possuir domínio de todas as técnicas 
para o planejamento, desenvolvimento e manutenção de programas 
desenvolvidos com a técnica de programação estruturada. É importante 
também possuir conhecimentos da metodologia da engenharia de software, 
para que sua visão seja mais ampla e não se restrinja a resolução, apenas, de 
um único problema. 
Seguindo esta linha de raciocínio, é ministrado, nas Faculdades Regional 
Santa Cruz, em Curitiba, Paraná, dentro do Curso de Tecnologia em 
Processamento de Dados (T PD), no primeiro semestre, a disciplina de 
Algoritmos e Programação I. Esta tem como objetivo desenvolver as noções 
básicas de programação, com base nas técnicas e estruturas da programação 
estruturada, aplicando-as em algoritmos para a resolução de problemas 
matemáticos, através dos conceitos do português estruturado. 
Esta disciplina é considerada uma disciplina introdutória a programação e pré- 
requisito para todas as outras que envolvem técnicas de programação. Por 
trabalhar com conceitos não tão comuns ao cotidiano do aluno, esta disciplina 
encontra diversas barreiras em sua compreensão. Segundo Direne & Pimentel 
(1998) do ponto de vista de fatores cognitivos, a programação de
computadores é uma tarefa de alta carga para iniciantes por duas razões 
principais: a falta do conhecimento de princípios de programação e a falta de 
perícia. 
1.2 Questão da Pesquisa 
“ Como facilitar ao estudante iniciante de computação a apreensão dos 
conceitos de algoritmo e programação ? “ 
1.3 Justificativa 
Diante do problema da dificuldade dos discentes em desenvolver algoritmos, e 
em conseqüência, transformá-los em programas, torna-se necessário alguma 
ferramenta auxiliar às aulas para facilitar a aquisição do conhecimento por 
parte dosalunos e garantir que os mesmos dominem as técnicas utilizadas na 
construçao de algoritmos (Viccari, 1996). 
Segunda Giraffa (1998) normalmente em uma aula de programação de 
computadores, ministrada em sala de aula ou em um laboratório de informática, 
após terminar a explicação do assunto e a exemplificação utilizada, o professor 
escolhe um exercício para seus alunos desenvolverem. A questão está em 
como e qual exercício selecionar. Usando da sua percepção e das variáveis 
que o professor utiliza para avaliar a turma, como compreensão do assunto, 
notas na última avaliação, participação em aulas, entre outras, ele escolhe um 
exercício que atenda e acompanhe o momento demonstrado pela turma. Para
que esta escolha esteja próxima de uma turma real, em um sistema tutor 
inteligente (STI), a escolha deve seguir critérios que avaliem a condição atual 
de conhecimento do aluno, ou seja, o STI deve possuir um mecanismo que 
proporcione medidas cognitivas para escolha dos próximos exercícios. 
Medidas Cognitivas para a escolha adequada de um próximo exemplo foram 
apresentadas em Pimentel & Direne (1997) para o ensino de conceitos visuais 
aplicados à radiologia médica. Tanto o ensino de conceitos visuais quanto o 
ensino de programação de computadores são baseados na aquisição de 
perícia e na apresentação de casos para os alunos solucionarem. Porém, em 
radiologia médica a solução é um diagnóstico expresso em um laudo, enquanto 
que na programação a solução é um algoritmo expresso em um programa de 
computador. 
Para Direne & Pimentel (1998) a utilização de STI destinados a iniciantes de 
programação tentam lidar com estas duas carências por meio da combinação 
de: 
- técnicas de Inteligência Artificial; 
~ ambientação construtivista por exploração livre; 
~ recursos de visualização científica para, no final, criar interfaces de razoável 
versatilidade para o aluno. 
Em pesquisa verbal realizada em 20 de setembro de 2000 com sessenta e oito
alunos da disciplinas de Algoritmos e Programação I, sessenta e dois, ou seja 
91%, declararam possuir e utilizar freqüentemente computador em suas 
residências ou no trabalho. O restante de seis alunos (9%) declararam que 
pretendem adquirir um equipamento nos próximos doze meses. 
Com este levantamento fica evidente o perfil dos alunos que freqüentam o 
curso. Todos eles sabem da importância e da necessidade do computador no 
desenvolvimento de sua profissão. Em síntese, o computador, já é realidade 
para 91 % dos alunos pesquisados. 
Ainda dentro da grade do primeiro semestre do curso de TPD é ministrada a 
disciplina de Laboratório l que tem como objetivo familiarizar o aluno ao uso 
dos recursos mínimos do computador, tanto em programas aplicativos como 
aos periféricos disponíveis. Esta disciplina juntamente com o resultado da 
pesquisa fortalecem a premissa que o aluno do primeiro semestre, em sua 
grande maioria, já possui conhecimento do computador como ferramenta, e os 
que ainda não o fazem, terão a oportunidade de aprender durante o primeiro 
semestre do curso. 
Diante destas colocações tem-se um ambiente favorável para o 
desenvolvimento de um modelo de STI que facilitará a aprendizagem da 
programação estruturada e que será de grande auxílio no desenvolvimento da 
disciplina de Algoritmos e Programação I.
1.4 Objetivos 
Para o desenvolvimento deste trabalho de pesquisa foi delineado o seguinte 
objetivo geral e os seus desmembramentos em objetivos específicos. 
1 .4.1 Objetivo Geral 
Projetar e desenvolver um modelo de STI que auxilie no -aprendizado das 
estruturas básicas de programação, utilizando os conceitos de algoritmos, 
exemplos, e proporcionando séries de exercícios apresentadas através de 
diversas estratégias de aprendizagem e de acordo com o aprendizado 
demonstrado pelo aluno. 
1.4.2 Objetivos Específicos . 
Desenvolver o modelo de um ambiente inteligente, interativo e dinâmico que: 
- Proporcione automação na escolha de um próximo algoritmo a ser 
desenvolvido pelo aluno, observando as condições atual de conhecimento; 
~ Apresente diversas visões do mesmo conceito, tornando a base teórica da 
disciplina ampla e interdisciplinar; z 
- Apresente conceitos, com teoria e exemplos, através de diversas teorias de 
aprendizagem; 
° Disponibilize uma revisão conceitual, caso o 
A 
aluno durante o 
desenvolvimento de algum algoritmo apresente dificuldades de elaboração; 
- Proporcione uma série de exemplos de cada estrutura de programação, 
classificada por grau de dificuldade, onde à medida que o aluno resolva um
algoritmo, o próximo sugerido será de acordo com o grau de resolução 
(dificuldade) apresentado no anterior; 
~ Seja aplicado à disciplina de Algoritmos e Programação l, no curso de 
Tecnologia em Processamento de Dados (TPD), das Faculdades Santa 
Cruz de Curitiba. 
1.5 Metodologia 
Esta pesquisa é de natureza aplicada pois objetiva gerar um modelo de STI 
para contribuir na solução do problema de aprendizagem de algoritmo e 
programação. Está baseada em: “ 
- Pesquisa bibliográfica; 
- idealização e desenvolvimento de um modelo. 
1.6 Limitações da Pesquisa 
Esta dissertação está concentrada na disciplina de Algoritmos e Programação 
I, ministrada no 1° semestre do curso de Tecnologia em Processamento de 
Dados das Faculdades Santa Cruz de Curitiba. Outras instituições de ensino 
superior de informática ministram esta disciplina, mas não se pode precisar se 
com o mesmo conteúdo. Portanto todo o direcionamento da pesquisa está 
voltado para o curso de Tecnologia em Processamento de Dados das 
Faculdades Santa Cruz de Curitiba. 
A aplicação desenvolvida com base no modelo proposto está direcionada à
disciplina e instituição acima mencionadas. Não foi objetivo desta pesquisa a 
análise de currículos de algoritmos e programação ministrados por outras 
instituições de ensino. 
1.7 Estrutura da Dissertação 
Esta dissertação está estruturada em sete capítulos. No primeiro encontram-se 
a introdução, a identificação do problema, a questão da pesquisa, a justificativa 
do trabalho, os objetivos gerais e específicos, a metodologia aplicada e as 
limitações do trabalho. l
z 
No segundo capítulo inicia-se a revisão bibliográfica com direcionamento 
explicativo sobre Algoritmos Estruturados. O principal objetivo deste capítulo é 
demonstrar os principais conceitos e definições, considerando os principais 
autores da área. Será descrito neste capítulo a estrutura' utilizada em 
algoritmos e as estruturas básicas de programação. Os exemplos são 
demonstrados na linguagem conhecida como pseudocódigo. 
No capítulo 3 encontra-sela revisão bibliográfica sobre Inteligência Artificial 
(IA), Inteligência Artificial aplicada a Educação (IAED), STI e Formas de 
Representação do Conhecimento. Neste capítulo encontra-se as principais 
definições, conceitos e exemplos aplicados a cada um dos temas acima 
relacionados.
No capítulo 4 temos a revisão bibliográfica sobre as principais teorias de 
aprendizagem, como estão estruturadas em relação aprendizagem, 
relacionamento professor-aluno, metodologia aplicada e forma de avaliação. O 
principal objetivo deste capítulo é descrever as principais correntes do 
pensamento para os modelos educacionais, com base nas idéias das obras de 
seus representantes mais relevantes, fundamentando as teorias de 
aprendizagem para serem utilizadas no módulo pedagógico do modelo do STI 
proposto. 
O quinto capítulo refere-se ao desenvolvimento do modelo proposto, estando 
estruturado primeiramente na sua fundamentação e caracterização. Neste 
capítulo encontra-se as principais telas do protótipo desenvolvido a partir do 
modelo proposto com explicações que exemplificam algumas situações 
possíveis de acontecer na utilização do protótipo. 
No sexto capítulo estão a avaliação do protótipo desenvolvido, as conclusões e 
recomendações da dissertação, e finalizando no capítulo sete estão as fontes 
bibliográficas utilizadas nesta dissertação.Estas referências estão relacionadas 
aos conteúdos de algoritmos estruturados e lógica de programação, aos 
conteúdos de IA, IAED e STI e Formas de Representação do Conhecimento e 
aos conteúdos de teorias de aprendizagem.
2 ALGORITMOS ESTRUTURADOS 
O objetivo deste capítulo é demonstrar os principais conceitos e definições 
sobre algoritmos estruturados. O capítulo inicia-se com definições de 
algoritmos compiladas de autores da área. Na seqüência está descrita a 
estrutura utilizada na construção de um algoritmo e as estruturas básicas de 
programação, divididas em estruturas de controle e de decisão. Os exemplos 
apresentados estão demonstrados na linguagem conhecida como 
pseudocódigo. 
2.1 Considerações Iniciais - 
A automatização de tarefas é um aspecto marcante da sociedade moderna. O 
aperfeiçoamento tecnológico alcançado teve, como elementos fundamentais, a 
análise e a obtenção de descrições da execução de tarefas em termos de 
ações simples o suficiente, tal que pudessem ser automatizadas por uma 
máquina especialmente desenvolvida para este fim, o computador (Cormen, 
1990). 
Para que esta automatização ocorra é necessário uma seqüência de instruções 
que fará com que o computador realize determinada tarefa. Segundo Tremblay 
& Bunt (1983) esta seqüência de instruções não deve possibilitar a 
interpretação alternativa que possa fazer com que o computador tome um 
caminho diferente daquele inicialmente planejado.
13 
Este cuidado na formulação das instruções e na sua estruturação é o alvo de 
estudo dos algoritmos, parte da ciência da computação que desenvolve e 
aprimora técnicas de construção de programas de forma a determinar que o 
computador siga pelo único caminho correto possível que conduza aos 
resultados desejados. 
2.2 Definição de Algoritmo 
O algoritmo pode ser usado como uma ferramenta genérica para representar a 
solução de tarefas independente do desejo de automatizá-Ias,Í mas em geral., 
está associado ao processamento eletrônico de dados, onde representa oz 
rascunho para programas ou softwares. ' r 
Apesar do termo ser novo em si, o conceito é certamente bastante familiar. As .. 
indicações dadas para se chegar até uma determinada rua constituem um; 
algoritmo. Uma receita de cozinha é uma forma muito familiar de algoritmo:'“ 
Uma planta de obra serve ao mesmo propósito num projeto de construção. 
Estes algoritmos são conhecidos como não computacionais. Um exemplo de 
um algoritmo não computacional cujo objetivo é usar um telefone público é 
apresentado a seguir:
lnício 
Tirar o fone do gancho 
Ouvir o sinal de linha 
Introduzir o cartão 
Teclar o número desejado 
Se der o sinal de chamar 
Conversar 
Desligar 
Retirar o cartão 
Senão 
Repetir _V Fim 
Salveti (1998) define um algoritmo como uma seqüência finita de instruções ou 
operações básicas (operações definidas sem ambigüidade e executáveis em 
tempo finito) cuja finalidade é resolver um problema computacional. 
Segundo Pinto (1990) um algoritmo é uma receita para um processo 
computacional e consiste de uma série de operações primitivas, 
interconectadas devidamente, sobre um conjunto de objetos. Os objetos 
manipulados por essas receitas são as variáveis. 
Para Terada (1991) algoritmo é uma descrição passo a passo de como um 
problema é solucionável. Esta descrição deve ser finita, e os passos devem ser 
bem definidos e sem ambigüidades. Warnier (1991) ressalta que a 
característica mais importante de um algoritmo é a simplicidade e a isenção de 
ambigüidade. As instruções devem estar numa ordem cuidadosamente definida 
e o algoritmo deve ser efetivo, isto é, deve sempre resolver um problema 
utilizando um número finito de instruções.
Szwarcfiter & Markezon (1994) define algoritmo como um processo sistemático 
para a resolução de um problema. O desenvolvimento de algoritmos é 
particularmente importante para problemas a serem solucionados em um 
computador, pela própria natureza do instrumento utilizado. Dois aspectos 
devem ser considerados no desenvolvimento de algoritmos: a correção e a 
análise. 
O primeiro consiste em verificar a exatidão do método empregado, o que é 
realizado através de uma prova matemática. A análise visa _a obtenção de 
parâmetros que possam avaliar a eficiência do algoritmo em termos de tempo 
de execução e memória ocupada. A análise é realizada através de um estudo 
do comportamento do algoritmo. 
Como qualquer modelo, um algoritmo é uma abstração da realidade. Wirth 
(1989) define abstração como uma simplificação dos fatosconstantes da 
realidade que se encontra o problema a ser resolvido. Os dados utilizados nos 
algoritmos representam algumas propriedades e características dos fatos reais, 
pois outras são desprezadas, por serem inexpressivas ou irrelevantes para a 
solução adotada. 
Todas as definições apresentadas de algoritmo nos conduzem a descrição de 
soluções de problemas do mundo real, para serem implementadas utilizando 
os recursos computacionais.
Como o mundo computacional possui severas limitações em relação ao real, 
exige-se que, sejam impostas algumas regras e utilizadas algumas estruturas 
adequadas para a solução de problemas. Estas estruturas possibilitam a 
simulação de rotinas, de decisões e de formas de controle. 
2.3 Estrutura Básica de um Algoritmo 
Para que o computador possa compreender os passos necessários para a 
resolução de um determinado problema, devemos estruturar estes passos de 
forma que sejam perfeitamente compreendidos e executados. 
Esta organização das ações a serem tomadas pela máquina de forma 
organizada e lógica possui uma rígida regra de sintaxe e semântica. Para Pinto 
(1990) sintaxe é um conjunto de regras formais, que especificam a composição 
de algoritmos a partir de letras, dígitos e outros símbolos. As regras de 
semântica especificam o significado de qualquer algoritmo sintaticamente 
válido, escrito em uma linguagem. 
Segundo Salvetti & Barbosa (1998), Pinto (1990), Farrer (1999) e Guimarães 
(1985) a linguagem mais adequada para representar um algoritmo é a 
conhecida como pseudocódigo. 
Em pseudocódigo a estrutura de um algoritmo é:
ALGORITMO <<nome do aIgoritmo>> 
I 
<<definiçöes das variáveis>> 
INICIO 
<<comandos 1>> 
<<comandos 2>> 
<<C0mand0S N>> 
FIM 
Esta sintaxe permite definir as variáveis que serão utilizadas na resolução do 
problema e os comandos que serão aplicados para que possam processar as 
informações de entrada transformando-as em informações de saída. 
2.3.1 Variáveis
4 
Variáveis são espaços de memória reservados para armazenar informações. 
Estes espaços possuem endereço específico, e representam células 
elementares que contém um valor que representa uma variável (Sebesta, 
2000). O tipo de informação que será armazenada em uma variável deve ser 
previamente definida na construção do algoritmo. 
Existem vários tipos de dados e os mesmos podem ser definidos de maneira 
distintas nas diversas linguagens de programação existentes. Segundo Wirth 
(1989) os tipos de dados mais comuns utilizados em algoritmos são:
f 
Inteiro 2 - 50 
Real 2,762 - 100,09 
Caracter "A" - "4" 
Texto (String) "Algoritmo" - "X" 
Boolean Verdadeiro ou Falso 
Quadro 1 - Tipos de dados
O tipo do dado é associado a um nome que representará a variável. Este nome 
é formado por uma letra ou então por uma palavra que signifique o conteúdo 
armazenado. Não se permite o uso de caracteresespeciais (acentos), espaços 
em branco ou de qualquer outro caractere, que não seja letra ou dígito, na 
formação do nome da variável (Farrer, 1999). 
São alguns exemplos válidos de variáveis: 
Numero: inteiro 
Nota: real ~ 
Nome: texto 
Situação: boolean * 
2.4 Estruturas ._.. 
_ `.¡ 
As estruturas sen/em para conduzir o fluxo dos dados nos algoritmos, «através 
de testes e condições. Elas diferem umas das outras pela disposição ou 
manipulação de seus dados ou variáveis. A disposição dos dados em uma 
estrutura obedece a condições preestabelecidas e caracterizaa estrutura 
(Szwarcfiter & Markezon, 1994). 
Estão divididas em estruturas de decisão e de controle (Sebesta, 2000; Salvetti 
& Barbosa,1998). As de decisão testam condições que tomam caminhos 
específicos sem retorno. Elas optam entre duas ou mais possibilidades. As de 
controle ou de repetição permitem executar mais de uma vez um determinado
número de comandos. 
As estruturas de controle servem para executar uma instrução ou um conjunto 
de instruções repetidamente dependendo da condição determinada no 
algoritmo. O processo de repetição é conhecido como laço ou loop (Salvetti & 
Barbosa, 1998). 
2.4.1 Estrutura SE-ENTÃO-sENÃo 
É uma estrutura de decisão. Inicia com a palavra especial "SE", seguida pela 
condição a ser testada. A alternativa a ser tomada se a condição for verdadeira 
é precedida pela palavra especial "ENTÃO". A outra alternativa a ser tomada 
se acondição é falsa é precedida pela palavra especial “SENÃO". 
Salvetti & Barbosa (1998) e Manber (1989) apresentam esta estrutura na 
seguinte forma: 
sE <<‹z<›nd¡çâo>> ENTÃO 
<<comandos 1>> 
_ <<comandos N>> SENAO 
<<comandos 1>> 
<comandos N>> 
FIMSE 
Um exemplo do uso desta estrutura está descrito a seguir: 
Se João for maior de 18 anos deve ir votar, se ele não for pode ficar em casa. 
A condição: João maior que 18 anos determina uma ação para João, a de ir
votar. A representação em uma estrutura de condição é: 
SE idade de João > 18 ENTÃO 
_ João deve votar SENAO 
João pode ficar em casa 
FIMSE 
2.4.2 Estrutura ESCOLHA-CASO 
É uma estrutura de decisão. É utilizada quando existem diversas opções a 
serem seguidas dependendo do que o usuário ou o programa solicite. Segundo 
Ziviani (1999) e Salvetti & Barbosa (1998) esta estrutura é apresentada na 
seguinte forma: ` 
CASO <<condição>> FAÇA 
opção 1: <<comandos 1>> 
~ opção N: <<comandos N>> SENAO 
<<comandos 1>> 
<<comandos N>> 
FIMCASO 
O exemplo a seguir facilita a compreensão desta estrutura: 
CASO opção ENTÃO 
1: Saldo 
2: Extrato 
3: Depósito 
~ 4: Sair SENAO 
Inválida 
FIMCASO 
Lê-se da seguinte maneira: caso a opção seja 1 execute o saldo, caso seja 2 
execute o extrato, caso seja 3 execute o depósito, caso seja 4 saia e se a 
opção não for nenhuma das opções válidas a escolha será inválida. A estrutura 
ESCOLHA-CASO também pode ser representada pela estrutura SE-ENTÃO;
SENÃO alinhadas, mas é inviável utilizar pois o código ficaria de difícil leitura: 
SE opção = 1 ENTÃO 
_ Saldo
' 
SENAO _ SE opção = 2 ENTAO 
_ Extrato SENAO _ SE opção = 3 ENTAO 
__ 
Deposito 
SENAO 
_ Sair 
FIMSE 
FIMSE 
FIMSE 
O exemplo acima evidencia o aumento da complexidade da leitura se fosse 
utilizado a estrutura sE-ENTÃQ sENAo. A 
2.4.3 Estrutura ENQUANTO-FAÇA 
Esta estrutura de repetição permite que enquanto uma determinada condição 
for verdadeira ou válida os comandos pertencentes a estrutura são executados. 
O término da execução dos comandos está vinculado a condição determinada 
se tornar falsa. A sintaxe a seguir representa a estrutura ENQUANTO-FAÇA, 
defina por Sebesta (2000) e Terada & Setzer (1992): 
ENQUANTO <<condição>> FAÇA ' 
<<comandos 1>> 
<<comandos 2>> 
<<c0mandOS N>> 
FIMENQUANTO 
O exemplo abaixo utiliza a estrutura ENQUANTO-FAÇA e escreve na tela do 
computador os números inteiros de 1 até 200..
22 
contador := 1 
ENQUANTO contador <= 200 FAÇA 
escreva (contador) 
contador := contador + 1 
FIMENQUANTO 
A variável definida como contador será inicializada com o valor 1 e acrescida 
de uma unidade toda vez que escrever o valor na tela até chegar no valor 200, 
quando então o laço será finalizado pois a condição estabelecida se tornará 
falsa. O nome dado a variável que controla a execução do laço é variável de 
controle (T erada & Setzer, 1992; Guimarães, 1985) . 
2.4.4 Estrutura PARA-FAÇA 
É uma estrutura de controle. É uma simplificação da estrutura ENQUANTO- 
FAÇA, pois não necessita do incremento da variável de controle, que será ' 
automaticamente incrementada na definição da estrutura. A sintaxe abaixo 
representa a estrutura PARA-FAÇA, segundo Zivlani (1999): 
PARA <<variável>>:=<<valor iniciaI>> ATE <<valor final>> FAÇA 
<<comandos 1>> 
<<comandos N>> 
FIMPARA 
O incremento definido na estrutura acima é por padrão uma unidade. O 
exemplo utilizado no item anterior ficaria da seguinte forma utilizando a 
estrutura FAÇA-PARA: - 
PARA contador zz 1 ATÉ zoo FAÇA 
escreva (contador) 
FIMPARA
Nesta estrutura a variável contador é inicializada com valor 1 e é acrescida de 
uma unidade até o valor 200. A forma de inicialização e a taxa de acréscimo já 
estão definidas na própria estrutura e não necessitam de atribuições em linhas 
de comandos individuais. Esta estrutura em comparação a ENQUANTO-FAÇA 
é mais simplificada, porém executa o laço do valor *inicial até o final sem 
interrupção. Caso haja a necessidade de, por algum motivo, o laço seja 
interrompido a estrutura mais adequada é a ENQUANTO-FAÇA (Guimarães, 
1 985). 
2.4.5 Estrutura REP|TA-ATÉ 
É uma estrutura de controle. Assim como a estrutura ENQUANTO-FAÇA que é 
usada para repetir diversas vezes uma ou mais instruções, a estrutura REPITA- 
ATÉ também pode ser aplicada para esta finalidade. A diferença está na 
validação ou condição, que nesta estrutura, REPITA-ATÉ, é no final, fazendo 
com que os comandos internos a estrutura sejam executados, pelo menos, 
uma vez. Sebesta (2000), Salvetti & Barbosa (1998) e Terada & Setzer (1992) 
apresentam esta estrutura na seguinte forma: 
REPITA 
<<C0marld0S 1>> 
<<comandos 2>> 
<<comandos N>> 
ATE <<COI'ldiÇã0>> 
Possui a mesma característica da estrutura ENQUANTO-FAÇA que pode ter a 
execução do laço interrompida. O exemplo utilizado nos itens anteriores ficaria
k 24
N 
desta maneira utilizando a estrutura REPITA-ATÉ: 
contador := 1 
REPITA 
escreva (contador) 
I 
contador := contador + 1 
ATE contador = 201 
A variável definida como contador recebe o valor inicial 1. Este valor é escrito 
na tela do computador pelo_comando escreva e em seguida seu valor é 
acrescido de uma unidade, quando então será feito o teste da condição para a 
execução do laço. Neste caso se a condição fosse falsa o comando de 
escrever na tela e o de acrescer a variável de controle já teriam sido 
executados, pelo menos, uma vez. 
2.5 Considerações Finais 
A programação está apoiada sobre estruturas de decisão e controle. A 
combinação e o alinhamento entre elas formam a estrutura de um programa ou
2 
software, que é transformação do algoritmo em uma linguagem comercial, 
industrial ou científica. 
A habilidade de abstrair um problema e encontrar a estrutura de programação 
adequada para resolvê-Io é a habilidade desenvolvida na disciplina de 
Algoritmos e Programação. As estruturas descritas neste capítulo estäo em 
consonância com o objetivo da disciplina e com o seu conteúdo programático 
(anexo 1).
A perícia adquirida em determinar a estrutura ou a combinação certa entre elas 
para que o problema seja resolvido é o principal objetivo da disciplina de 
programação, e o modelo proposto nesta pesquisa vem como mais uma 
solução, para a dificuldade de aprendizado em algoritmos estruturados.
3 INTELIGÊNCIA ARTIFICIAL 
Neste capítulo encontram-se a revisão bibliográfica sobre Inteligência Artificial 
(IA), Inteligência Artificial aplicada a Educação (IAED), STI, Formas de 
Representação do Conhecimento e exemplos de STI aplicados ao ensino da 
programaçao estruturada. Um exemplo de STI relacionado ao modelo proposto 
é apresentado no final deste. 
O principal objetivo deste capítulo é trazer um panorama conceitual sobre as 
definições mais relevantes e significativas utilizadas em IA, IAED, STI e Formas 
de Representação do Conhecimento. Os exemplos ilustrados de STI aplicados 
ao ensino da programação estruturada fundamentam o modelo proposto e 
correlacionam este aos STI já desenvolvidos e aplicados na área de 
programação. 
3.1 Inteligência Artificial 
Etimologicamente a' palavra inteligênciavem do latim inter (entre) e legere 
(escolher), ou seja, inteligência significa escolher entre uma coisa e outra. 
Inteligência é a habilidade de realizar de forma eficiente uma determinada 
tarefa. 
A palavra artificial vem do latim artificiale, significa algo não natural, isto é, 
produzido pelo homem. Portanto, inteligência artificial é um tipo de inteligência
produzida pelo homem para dotar as máquinas de algum tipo de habilidade que 
simula a inteligência do homem (Rabuske, 1995). 
Ao iniciar o estudo de IA, uma das maiores dificuldades é tentar delimitar seu 
campo de estudo, tendo em vista sua vasta abrangência. Segundo Rich (1988) 
a IA busca entender a mente humana e imitar seu comportamento, levantando 
as seguintes questões: como ocorre o pensar; como o homem extrai 
conhecimentos do mundo; como a memória, os sentidos e a linguagem ajudam 
no desenvolvimento da inteligência; como surgem as idéias; como a mente 
processa informações e tira conclusões decidindo por uma coisa ao invés de 
outra. Essas são algumas perguntas que a IA precisa responder para simular o 
raciocínio humano e implementar aspectos da inteligência. 
O histórico da IA está diretamente interligado com o desenvolvimento dos 
computadores. O termo IA, foi oficialmente, apresentado na conferência em 
Dartmouth College, em New Hampshire, nos Estados Unidos, em 1956 
(Bittencourt, 1998). Deste encontro participaram grandes pesquisadores da 
área, como Allen Newell, Herbert Simon, Marvin Minsky e John McCarthy. No 
mesmo período desta conferência Allen Newell e Herbert Simon tentaram 
construir um sistema que manipulava símbolos, ao invés dos baseados em 
números, o que gerou inúmeros estudos para incorporar inteligência às 
máquinas. Isto se refletiu em enormes mudanças na forma de conceber e 
utilizar a tecnologia para o ensino e para a aprendizagem.
Diante do surgimento formal desta tão complexa concepção, inúmeras dúvidas 
e desafios foram colocados perante os pesquisadores, muitos dos quais 
permanecem até hoje e continuam sendo objeto de continuados estudos. Um 
dos aspectos que merece consideração especial é o que se refere à própria 
definição de IA, que para os seus pesquisadores permanece sem uma única 
interpretação, a qual é feita normalmente em função dos objetivos e metas 
pretendidos com a utilização deste campo de estudos. 
Para Winston (1987) inteligência artificial é “o estudo de conceitos que 
permitemaos computadores serem inteligentes”. Segundo Charniac (apud 
Barreto, 1998, p. 19) inteligência artificial é “o estudo das faculdades mentais 
com o uso de modelos computacionais". Rich & Knight (1994) definem 
inteligência artificial como “o estudo de fazer os computadores realizarem 
coisas que, no momento, as pessoas fazem melhor”. 
Para Bittencourt (1998) existem duas linhas de pesquisa em IA: a conexionista 
e a simbólica. A primeira visa à modelagem da inteligência humana simulando 
componentes do cérebro. A segunda estabelece uma manipulação simbólica 
entre os fatos de um domínio. Estas diferentes correntes de pensamentos em 
IA têm estudado formas de estabelecer comportamentos inteligentes nas 
máquinas, sendo Ó grande desafio a tentativa de sintetizar o pensamento de 
como fazer as máquinas compreenderem as coisas.
A IA fornece métodos e técnicas para o desenvolvimento de programas que 
simulam nas máquinas comportamentos inteligentes, isto é tornam os 
computadores capazes de pensar e tomar decisões. Por isso, as técnicas de IA 
necessitam de uma grande quantidade de conhecimentos e de mecanismos de 
manipulação de símbolos. Esses conhecimentos devem ter a possibilidade de 
representação, modificação e ampliação. 
A expressão comportamentos inteligentes traz à mente a idéia de máquinas 
capazes de pensar do mesmo modo que o ser humano, no entanto, para criar 
uma máquina inteligente não é necessário que ela tenha o mesmo nível de 
inteligência do homem (Rabuske, 1995). Atualmente já existem máquinas que 
utilizam aspectos da inteligência humana para realizar tarefas e, no entanto, 
estão longe de serem comparadas com o nível de inteligência do homem. 
Para Rich & Knight (1994) o importante é o aspecto funcional ou prático da 
simulação da inteligência, por exemplo, um avião voa de maneira similar ao 
pássaro e não de forma igual, no entanto, isto não invalida ou diminui sua 
aplicabilidade e a contribuição que o mesmo tem dado para. o desenvolvimento 
da humanidade. 
A pesquisa em IA evoluiu muito, mas ainda encontra muitas limitações, pois o 
objetivo de conferir inteligência aos sistemas é construir uma máquina que 
venha imitar ou exceder as capacidades mentais humanas, incluindo nestas
capacidades, o raciocínio, a compreensão, a imaginação, a criatividade e as 
emoções, pois hoje, encontram-se máquinas que imitam áreas específicas e 
refinadas da atividade mental humana, como por exemplo, os computadores 
que jogam xadrez. 
3.2 Inteligência Artificial aplicada na Educação 
A evolução das técnicas de IA e das pesquisas no campo das ciências 
cognitivas, aumentou o grau de inteligência dos sistemas educacionais e 
antigas dificuldades estão sendo aos poucos superadas (Chaiben, 1998). 
Segundo Chaiben (1998) uma das principais motivações para as pesquisas em 
IAED é o desenvolvimento de princípios pelos quais os ambientes de 
aprendizagem computacionais possam ser concebidos como lugares onde os 
estudantes possam ter experiências de aprendizagem individualizadas, isto é, 
experiências que sejam fundamentais e benéficas para eles, sem importar suas 
diferenças individuais, experiências anteriores, ou outras situações cognitivas. 
Desta forma sistemas que utilizam técnicas de IA podem personalizar o ensino, 
compatibilizando a apresentação dos conteúdos com o nível de conhecimento 
do estudante e com o seu índice de aprendizagem. 
Todo sistema que tenha como objetivo principal a função de ensinar, deve 
incorporar princípios de IA (Giraffa, 1996). Os sistemas de IA armazenam e
tratam com dados, adquirem, representam e manipulam conhecimentos, 
deduzindo e inferindo novos conhecimentos. Estes sistemas estão 
classificados, segundo Viccari (1996) em: CAI (Computer Assisted Instruction), 
ICAI (lnteligent Computer Assisted /nstruction) e STI (Sistemas Tutores 
Inteligentes). 
O CAI (Computer Assisted /nstruction) ou Instrução Assistida por Computador, 
utiliza a instrução programada, cujo método educacional, influenciado pela 
Teoria Comportamentalista de Skinner, é a forma expositiva centrada no 
professor, e onde o aluno deve compreender a lição e depois responder as 
questões para reforçar sua aprendizagem. 
ICAI (lnteligent Computer Assisted /nstruction) ~ ou Instrução Inteligente 
Assistida por Computador, se desenvolveram após pesquisas, a partir do CAI e 
da evolução da IA, bem como da ciência cognitiva, onde houve um aumento da 
inteligência dos sistemas educacionais. A possibilidade de um ambiente de 
aprendizagem computacional onde o aluno pode ter uma aprendizagem 
individualizada, personalizando a instrução através da modelagem do 
estudante, onde a forma de descoberta é centrada no aprendiz e os diálogos 
tutoriais são determinados pelo conhecimento conceitual e pelo comportamento 
da aprendizagem, motivam sobremaneira todos os pesquisadores, 
desenvolvendo a aplicação da IAED.
Os STI são sistemas educacionais que englobam a IA, chamados de 
inteligentes e voltados para construção de outros sistemas para a área 
educacional. Segundo Eberspächer (1998) os STI buscam potencializar a 
informática educativa através da aplicação de técnicas de IA junto aos 
programas de computador. 
O papel da IA nos programas computacionais educativos pode ser resumido 
através do destaque de três alternativas de recursos: 
- a possibilidade de modelar o conhecimento; 
- a capacidade do sistema em resolver problemas que o aprendiz tem que 
resolver; 
- a viabilidade do sistema em conduzir as interações. 
A IA dentro daeducação possibilita o desenvolvimento de softwares que 
envolvem o raciocínio humano, imitando-o e realizando interferências. Chaiben 
(1998) afirma que ao simular a inteligência humana através do software, as 
possibilidades de ensino e aprendizagem estarão aumentadas em centenas de 
vezes. 
3.3 Sistemas Tutores Inteligentes 
Sistemas Tutores Inteligentes são softwares de propósito educacional que 
utilizam técnicas de IA para aquisição e representação do conhecimento. Os 
STI são um campo de pesquisa e desenvolvimento interdisciplinar e, segundo
.,,.I ai Bibi' se-I U' -if* .Fl 
1 
io cífisrëversôdr O*/ro?
v 
* ¬‹ ~ ,....‹,›~.-¬..›.. .› .S ...,.., . ' 
Kearsley (1987), os domínios envolvidos neste campo de pesquisasão: 
° a Ciência da Computação, com técnicas de IA; 
~ A Psicologia, com os aspectos cognitivos; e 
~ os segmentos de Educação e Treinamento, com a aplicação da informática 
educativa. 
A aquisição de conhecimento tem sido considerada um obstáculo para o 
desenvolvimento de sistemas inteligentes, especialmente para o 
desenvolvimento do modelo do especialista do STI, onde para se ter eficiência 
é necessário adquirir e representar uma grande quantidade de conhecimento 
de vários especialistas em determinado domínio. 
Embora derivados dos CAI, os STI oferecem a vantagem sobre estes por 
simularem o processo do pensamento humano dentro de um determinado 
domínio. Segundo Dillenbourg (1994) o termo inteligente se refere tanto a 
técnica usada quanto ao desempenho do sistema, ou seja, aquilo a que o 
sistema se propõe a fazer. 
Para Giraffa (1998, p. 5) 
“o objetivo fundamental dos STI é proporcionar uma instrução adaptada ao 
aluno, tanto em conteúdo como na forma, superando desta maneira alguns dos 
problemas mais cruciais do software educativo na atualidade. Os STI se 
comportariam de forma mais próxima a um professor humano ou um 
comportamento mais próximo possível disto. Porém,'a realidade está muito 
distante de alcançar tais propósitos. Existem muitas razões para que isto 
ocorra: temos limitações a nível de hardware e software que não nos permitem 
colocar dispositivos que possam trabalhar com aspectos relativos aos sentidos 
do olfato, tato e visão. Um professor humano pode e leva em consideração
estes estímulos para poder organizar seu trabalho junto ao aluno e, além disto, 
utiliza as saídas deste sentidos para fins de feedback do aluno. O fato é que 
desconhecemos a maneira com que nós humanos efetivamente processamos 
informação dentro de nosso cérebro”. 
3.3.1 Estrutura de um STI 
A maioria dos STI desenvolvidos possuem certas características em comum, 
sendo que suas implementações seguem uma arquitetura básica constituída de 
quatro módulos. Segundo Kaplan & Rock (1995) e Giraffa (1998), os STI são 
estruturados em: ' 
~ Modelo do Especialista; 
- Modelo do Estudante; 
- Modelo Pedagógico; 
- Modelo de Interface. 
A figura 1 representa a estrutura básica de um STI. 
Modelo Modelo do Modelo do 
Pedagógico Especialista Estudante 
Figura 1 - Diagrama em blocos de um STI básico. .
3.3.1.1 Modelo do Especialista 
O Modelo do Especialista ou conhecimento de domínio (Eberspächer, 1998) 
descreve o conhecimento de um especialista na área de domínio do sistema, 
servindo como base para a construção do Modelo do Estudante. 
Este modelo contém o conhecimento sobre o domínio que se deseja ensinar ao 
estudante. Segundo Giraffa (1996) vários modelos de representação de 
conhecimento podem ser usados aqui: redes semânticas, frames, scripts, 
regras de produção, entre outras.-A escolha .deve recair sobre aquele método 
que melhor e mais facilmente atenda os requisitos de representação e 
manipulação do raciocínio. 
Esta base de conhecimento contém os elementos necessários para que o 
estudante aprenda o conhecimento e os procedimentos necessários para que 
possa utilizar na resolução de problemas. 
Woolf (1988) e Giraffa (1998) citam que nos casos em que o domínio a ser 
representado é de natureza descritiva e teórica (por exemplo, geografia ou 
física), a representação do conhecimento mais adequada é declarativa (redes 
semânticas ou Frames). Já nos casos em que o domínio é orientado a uma 
tarefa (por exemplo, programação estruturada ou Pascal), a representação 
tende a ser procedural, onde se aplicam as regrasde produção. _
3.3.1.2 Modelo do Estudante 
O Modelo do Estudante é a representação do conhecimento do estudante e 
dos seus erros, mapeando quais informações do professor que já foram 
assimiladas. Ele contém uma representação do estado do conhecimento do 
aluno no momento que interage com o STI (Giraffa, 1996). 
É neste modelo que reside a chave para um ensino personalizado e inteligente. 
A dimensão mais significativa de um STI é sua capacidade de modelar o 
conhecimento do estudante (Jonassen & Wang, 1993). 
Este modelo deve ser dinâmico, contendo o conhecimento e as capacidades do 
estudante bem como seu comportamento de aprendizagem passado. Segundo 
Costa (1996) e Eberspächer (1998) o modelo do aluno pode ser representado, 
apoiando-se em alguns modelos de descrição como: 
~ Modelo diferencial: neste modelo a resposta do aluno é comparada com a 
da base de conhecimento. 
° Modelo de Overlay ou superposição: o conhecimento do aluno é 
representado como um subconjunto da base de conhecimento do STI. 
° Modelo de Perturbação: este modelo também relaciona o modelo do aluno 
com a base de conhecimento do domínio, porém assume que os erros do 
aluno são decorrentes da concepção errônea de algum conceito ou 
ausência dele. 
~ Modelo de Crenças: consiste em um conjunto de crenças que refletem que
pensamos o quanto o estudante entende sobre determinado conceito. 
3.3.1.3 Modelo Pedagógico 
O Modelo Pedagógico, também chamado de Módulo lnstrucional (Eberspächer, 
1998), representa os métodos e técnicas didáticas utilizadas no processo da 
comunicação de conhecimento. Executa o diagnóstico do estudante, decide 
quais as estratégias de ensino serão utilizadas e determina qual a informação 
que será apresentada. 
Sua principal função é a de gerenciar a seqüência das instruções, monitorando 
o comportamento e a performance do estudante de maneira a auxiliá-lo no 
processo de aprendizagem. 
Neste modelo o STI pode mudar de estratégia pedagógica de acordo com os 
resultados que o estudante vem apresentando. Wenger (1987, p.45) enfatiza 
que 
“as decisões pedagógicas são tomadas no contexto de um ambiente 
educacional que determina o grau de controle sobre a atividade e sobre a 
interação possuídos respectivamente pelo sistema tutorial e pelo estudante”. 
Portanto, um processo de aprendizagem depende de diversos fatores e o STI 
deve observar para não destruir a motivação pessoal do estudante ou o senso 
de descobrimento. Breuker (apud Giraffa, 1996, p. 32) cita que a estratégia de 
ensino adotada deve definir: 
° "Quando ocorrerá a interrupção do STI sobre o raciocínio ou aprendizagem
do aluno; 
° O que deverá ser abordado, considerando a seleção dos tópicos 
apresentados e sua ordenação; 
' Como transmitir os conhecimentos inseridos dentro de cada tópico a ser 
explorado. As teorias pedagógicas existentes trabalham como o 
conhecimento deve ser transmitido”. 
3.3.1.4 Modelo de Interface 
O Modelo de Interface ou, simplesmente, Interface é a forma como a 
comunicação será realizada com o meio externo ao sistema. Ele apresenta o 
material instrucional que será armazenado na base de conhecimento (Modelo 
do Especialista) ao estudante, traduzindo a representação do conhecimento 
adotada em uma linguagem de interface compreendida pelo estudante. 
Na engenharia de software, a interface do usuário tem sido a primeira 
preocupação dos projetistas quando estão discutindo a criação de uma nova 
aplicação pois, para os usuários, a interface é o próprio sistema (Chaiben, 
1998y 
Este modelo é fundamental para o sucesso de um STI, já que ele é 
responsável pela apresentação do material e* por receber oseventos e 
solicitações do usuário. É responsável pelo fluxo de informação de entrada e 
de saída, transformando as solicitações de entrada em informações que o STI 
possa compreender, bem como adaptando as de saída para o contexto, mais 
adequado, do estudante.
Segundo Giraffa (1996) este módulo possui duas principais funções: 
° a apresentação do material instrucionai; 
- a monitoração do progresso do estudante através da recepção da resposta 
do aluno. 
A partir destas funções, Giraffa (1998) cita algumas características do módulo 
de interface: 
- é necessário evitar que o estudante se entedie, ou seja, é preciso riqueza 
de recursos na apresentação do material instrucionai; 
° é desejável que haja facilidade para troca da iniciativa do diálogo: o 
estudante deve poder intervir facilmente no discurso do tutor, e vice-versa; 
- o tempo de resposta deve, evidentemente, permanecer dentro de limites 
aceitáveis; 
- a monitoração deve ser realizada o máximo possível em background, para 
não onerar o estudante com questionários excessivos, mas respeitando 
também a barreira do tempo de resposta. 
3.4 Formas de Representação do Conhecimento 
A representação do conhecimento é o componente fundamental em STl. Os 
mecanismos utilizados na representação dos conhecimentos determina o 
comportamento do STI (\/iccari, 1996).
A
De acordo com os formalismos de IA, o conhecimento é codificado através de 
objetos, atributos, objetivos, ações e é processado através de estruturas e 
procedimentos. A representação do conhecimento é uma redução, coerente e 
com o senso comum suficiente, de determinadas circunstâncias que permitirão 
o computador decidir de forma semelhante a um ser humano (Bittencourt, 
1998). 
Para representar o desempenho de especialistas humanos, o sistema deve 
possuir não só um conjunto de informações mas, também, a habilidade de 
utilizá-las na resolução de problemas de forma criativa, correta e eficaz. 
Segundo Fialho (1998) esta habilidade representa uma série de palpites e 
regras intuitivas que o especialista utiliza para resolver os problemas; sua 
aplicação possibilita, de uma maneira mais econômica, a chegada a soluções 
aceitáveis, embora nem sempre ótimas. 
Um STI precisa conhecer o contexto do fato em estudo e reconhecer os 
processos que causariam mudanças nos fatos. Para resolver problemas, em 
alguns casos, é recomendado conhecer tudo sobre o problema e quais as 
possíveis soluções que se pretende encontrar, juntamente com algumas 
estratégias para solucionar cada problema. O estudo da representação do 
conhecimento consiste nos caminhos que podem ser trilhados para codificá-Io 
em um programa computacional.
40
Para Chaiben (1998) uma das principais características dos programas de IA é 
que o sistema é estruturado de modo a separar o código executável dos dados 
ou conhecimento do sistema. Assim, em IA, o termo conhecimento significa a 
informação que um programa de computador necessita para que possa 
comportar-se inteligentemente. 
Segundo Fialho (1998) os conhecimentos que representam objetos são 
modeiados por rede semântica, os que representam situações e os 
acontecimentos, são expressos por esquemas e os que representam ações 
são modeiados por procedimentos.
' 
3.4.1 Procedimentos 
Segundo Chaiben (1998) a representação procedimental é aquela em que as 
informações de controle necessárias ao uso do conhecimento estão embutidas 
no próprio conhecimento, ou seja, a maior parte do conhecimento é 
representada como procedimentos para a sua utilização. 
Nesta representação o conhecimento é expresso em forma de procedimentos 
ou passos seqüenciais que determinam ações, diagnosticam problemas e 
encontram soluções. Este tipo de conhecimento é usualmente representado em 
um conjunto de regras ou án/ores de decisão. Dentre as principais vantagens 
da utilização da representação procedimental incluem-se (Rich, 1988): 
- A facilidade em representar o conhecimento de como fazer as coisas;
~ A facilidade em representar o conhecimento que não se enquadra dentro de 
muitos esquemas declarativos simples, como por exemplo, o raciocínio por 
omissão e o raciocínio probabilístico; 
- A facilidade em representar o conhecimento heurístico de como fazer 
eficientemente as coisas. 
O exemplo abaixo representa o conhecimento em forma de procedimento, 
através das regras de produção: 
SE o carro não quer ligar e a bateria está carregada 
ENTÃO examine 0 distribuidor 
3.4.2 Esquemas 
A noção de esquemas foi introduzida para explicar o papel desempenhado 
pelos conhecimentos na compreensão, na memorização, e na produção de 
inferências. Os mais significativos são os scripts e os frames.
r 
3.4.2.1 Scripts 
Os scripts são estruturas de informação que auxiliam a compreensão de 
situações do comportamento padronizado. Foram propostos por Schank & 
Abelson em 1977 (apud Barreto, 1998, p. 59) e inspiraram o estudo de 
sistemas de Raciocínio Baseado em Casos (RBC). Os scripts são uteis porque, 
no mundo real há padrões para a ocorrência de eventos. Contudo, o conceito 
de um script não é compartilhado por todos, já que cada memória compreende
um script sobre uma experiência a partir do próprio ponto de vista. Portanto a 
teoria dos scripts não é uma teoria completa. Os scripts contém o 
conhecimento normativo, mas não o conhecimento da experiência. 
Um exemplo de script, segundo Schank & Abelson (apud Fialho 1998, p. 218), 
é o do restaurante e é representado da seguinte forma: 
Trilha: Sala do Café Participam: 
Props: Mesa S - Cliente 
Menu W - Atendente 
F - Comida C - Cozinheiro 
Cheque M - Recebedor 
Dinheiro O - Proprietário 
Condições de Entrada: Resultados: 
S está com fome S tem menos dinheiro 
S tem dinheiro O tem mais dinheiro 
S não está com fome « 
S está satisfeito (opcional) 
Cena 1: Entrada 
S Ptrans S para dentro do restaurante 
S Attend olhos para a mesa 
S Mbuild onde sentar
S Ptrans S para a mesa 
S Move S para a posiçao sentada 
Cena 2: Fazendo o pedido 
(menu sobre a mesa) (W traz menu) (S pede pelo menu) 
S Ptrans menu to S S Mtrans um sinal to W 
W Ptrans W to mesa F 
S Mtrans 'preciso do menu' to W 
W Ptrans W to menu 
W Ptrans W to mesa 
W Atrans menu to S 
S Mtrans a lista de comida to CP (S) 
* S Mbuild escolha de F 
S Mtrans sinal to W 
W Ptrans W to mesa 
S Mtrans 'Eu quero F' to W 
W Ptrans W to C 
W Mtrans (Atrans F) to C
C Mtrans 'não tem F' to W C Do (prepara F script) 
W Ptrans W to S vai para a CENA 3 
W Mtrans 'náo tem F' to S 
(volta para *) ou 
(vai para a CENA 4 para o caminho de não pagamento) 
Cena 3: Comendo 
C Atrans F to W 
W Atrans T to S' 
S Ingest F 
(opcionalmente retorna a Cena 2 e pede mais, ou vai para a Cena 4) 
Cena 4: Saindo
H 
S Mtrans to W 
(\/V Atrans cheque to S) 
W Move (escreve cheque) 
W Ptrans W to S 
W Atrans cheque to S 
S Atrans gorjeta to W 
S Ptrans S to M 
S Atrans dinheiro to M 
(caminho de não pagamento) S Ptrans S to fora do restaurante
3.4.2.2 Frame 
Segundo Fialho (1998) frame é uma estrutura de dados que representa uma 
entidade através de suas características e potenciais habilidades. Suas 
características estäo representadas por pares atributo-valor e as 
potencialidades são representadas por métodos. Um frame abstrato (ou frame 
de classe) não tem instâncias, por esta razão seus atributos não são valorados, 
suas subclasses são ligadas a instâncias da entidade representada por essa 
classe. 
Para exemplificar, será representado o conhecimento necessário a uma 
situação específica, como “jantar fora” através de frames. Para “jantar fora" é 
necessário um estabelecimento comercial onde é servido comida pronta; sabe- 
se, no entanto, que existem vários tipos desses estabelecimentos: lanchonetes, 
bares, restaurantes, churrascarias, entre outros, cada um com características 
próprias. Levando em conta que os restaurantes ainda podem ser de preço 
médio ou preço alto, tem-se a seguinte estrutura de frames:
Frame 
EsTABE|_Ecuv|ENTocoMERc|Al. 
oNDE É sERv|oo coM|DA PRONTA 
Frame Frame Frame Frame 
uxNcHoNETE BAR RESTAURANTE CHURRAsCAR|A 
Frame Frame 
PREço |v|Eo|o PREÇO ALTO 
Uma sugestão para o frame RESTAURANTE: 
1. Especialização de estabelecimento comercial onde é sen/ido comida pronta; 
2. Frames correlatos: lanchonete, bar, churrascaria 
Se refeições rápidas então lanchonete 
Se bebidas vendidas em balcão então bar 
Se carne servida em rodízio então churrascaria
H 
3. Estilo de comida: brasileira, portuguesa, italiana; default: brasileira 
4. Forma de operação: com resen/a, sem resen/a; default: sem reserva 
5. Horário de funcionamento: variável; default: 09:00 h da manhã à 02:00 h da 
madrugada 
6. Forma de pagamento: dinheiro, cheque, cartão 
7. Seqüência de eventos: Roteiro jantar no restaurante
8. Quadros especializados: preço médio e preço alto 
Se maioria dos pratos custa entre 10 e 50 reais, então preço médio 
Se maioria dos pratos custa acima de 50 reais, então preço alto 
3.4.3 Redes Semânticas 
As Redes Semânticas são grafos direcionados ligados por nós para 
representar objetos e conexões e a relação entre estes. A rede semântica é 
usada para representar elementos de uma representação tal como uma classe, 
suas instâncias e suas características. Seus arcos são direcionados e 
representam as relações entre os atributos. 
Chaiben (1998) define rede semântica como uma estrutura de representação 
do conhecimento definida como um padrão de nodos interconectados por arcos 
rotulados. As redes deste tipo não só captam as definições dos conceitos mas 
também, inerentemente, proporcionam ligações com outros conceitos. 
Para representar, por exemplo, que "Todo carro é um veículo" temos: 
É um _-_-ir Veículo 
Figura 2 - Exemplo de Rede Semântica. 
Os arcos em geral dependem da espécie de conhecimento que está sendo
representado; por exemplo, é-um e é-parte-de são arcos para representar 
hierarquias entre objetos. Uma característica chave da representação por rede 
semântica é que importantes associações podem ser feitas explicitamente e 
sucintamente. Fatos importantes sobre um objeto ou conceito podem ser 
deduzidos dos nós aos quais eles estão ligados diretamente, sem uma 
pesquisa no contexto. 
Desta forma, o exemplo a seguir mostra uma rede semântica mais abrangente 
que representa "Todo carro tem rodas é um veículo é um meio de transporte": 
Roda Meio de 
Transporte 
É parte de É um 
É um í---í› V9ÍCU|O 
Figura 3 - Exemplo de Rede Semântica. 
3.5 Exemplos de STI aplicados a Programação Estruturada 
Os STI destinados a iniciantes de programação associam técnicas de IA, 
ambientação construtivista por exploração livre e recursos de visualização
científica para, no final, criar interfaces de razoável versatilidade para o aluno 
(Pimentel & Direne, 1997). 
Direne & Pimentel (1998) cita alguns exemplos de STI aplicados ao ensino da 
programação: o Lisp Tutor, GIL, LAURA, BIP, Proust, Spade, Talus e Bridge. 
Entretanto, estes STI e micromundos enfatizam apenas os aspectos 
semânticos da solução de um exemplo de programação, independentemente 
do grau de dificuldade do enunciado do exercício em questão. 
O projeto MENO, iniciado no final da década de 70 tinha por objetivo construir 
um STI para ensinar alunos iniciantes na linguagem Pascal (programação 
estruturada). Segundo Giraffa (1998), o objetivo deste projeto era diagnosticar 
erros não sintáticos em pequenos programas e associá-los ao nível de 
compreensão apresentado pelo aluno. Desta forma era possível identificar qual 
o conceito que o aluno não aprendeu bem através do tipo de erro que ele 
cometeu. 
A utilização destes STI apontaram a integração de comandos individuais como 
a principal dificuldade demonstrada por iniciantes que utilizam linguagens de 
programação convencionais, ou seja, a falta de perícia na utilização das 
estruturas básicas de programação (Direne & Pimentel, 1998). 
Os STI apresentados não consideram a complexidade' do enunciado de um
problema de programação, que possui diversas componentes cognitivas que 
aumentam o grau de dificuldade da resolução do problema. Parte da 
importância deste procedimento pode ser constatado quando um problema de 
programação significativamente mais complexo do que o anterior é proposto a 
um aprendiz. Esta fato pode levar à ocorrência de erros múltiplos, impedindo o 
sucesso do aluno por longos períodos de tempo (Pimentel & Direne, 1997). 
Alguns STI como BALSA II (Brown, 1988) e o TINKER (Liberman, 1984), 
apresentam, aos alunos, seus enunciados em uma ordem de complexidade 
extremamente rígida e inflexível, o que aumenta o grau de compreensão do 
enunciado proposto, dificultando a resolução dos exercícios. 
3.6 Exemplo de STI relacionado ao Modelo Proposto 
Silveira (1996) desenvolveu um STI denominado de ELETROTUTOR, cujo 
objetivo é auxiliar o ensino de tópicos de eletricidade, Lei de Ohm e temas 
relacionados, para alunos do terceiro ano do segundo grau e cursos de 
eletricidade básica. 
O conteúdo está dividido em oito unidades estruturadas em um texto base 
sobre o assunto, um gerador de exemplos e um de exercícios. Os textos são 
apresentados em telas e os exemplos gerados são estáticos, não permitindo 
qualquer edição ou modificação por parte do aprendiz.
Os exercícios são do tipo V (verdadeiro) ou F (falso). Se o aluno erra a 
resposta correta é apresentada antes do novo exercício. Os problemas 
propostos ao aluno são escolhidos randomicamente a partir de um arquivo de 
exercícios. Este processo de escolha de problemas é aleatório, considerando a 
atuação do aluno no exercício anterior. 
O sistema faz um diagnóstico inicial, com perguntas, a fim de levantar o perfil 
do aluno, após isto faz um plano de trabalho que o aluno pode ou não aceitar. 
Os textos e os exercícios mudam em função da atuação do aluno. O protótipo 
foi implementado em Arity-Prolog e serviu para avaliar o desempenho de um 
STI de física e foi utilizado como base para o projeto ELETROTUTOR-II 
(Silveira, 1998). 
3.7 Considerações Finais 
Diante de tais colocações, a IA é uma tecnologia chave para o software do 
futuro, portanto, pode-se afirmar que o campo de lA tem como objetivo, o 
contínuo aumento da inteligência do computador, pesquisando, para isto, 
também os fenômenos da inteligência natural na resolução de problemas, da 
compreensão de linguagem natural, da visão e da robótica, formas de 
aquisição e metodologias de representação de conhecimento. 
O desenvolvimento científico e tecnológico vem criando nos educadores a 
necessidade de adotar modelos de ensino que atendam às profundas
modificações que a sociedade do início do novo século passa a exigir, ondea 
crescente perspectiva de diversificar os espaços educacionais revela um 
aprendizado sem fronteiras. 
A adoção das técnicas de IA aos softwares educacionais tornam possível a 
criação de ambientes de aprendizagem, nos quais as diferenças e experiências 
individuais dos aprendizes são consideradas (Alves & Simões, 1999). 
A modularização em um STI e as pesquisas individuaiizadas de aprimoramento 
de cada modelo, destacando a separação entre estratégias de ensino e 
conhecimento representado proporciona um aumento significativo na interação 
do aprendiz e o sistema. Os STI estão em aprimoramento. Ainda não cumprem 
todos os objetivos a que se propuseram resolver. 
Chaiben (1998) cita que as razões estão relacionadas aos altos custos de 
desenvolvimento e a falta de um paradigma estabelecido para descrever o 
processo de aquisição de conhecimento. Várias teorias foram desenvolvidas, 
mas nenhuma tem sido aceita como um modelo apropriado de cognição. Outro 
problema, é a incapacidade de um sistema em gerarum raciocínio pedagógico 
inteiramente autônomo, o que possibilitaria ao sistema tomar decisões que não 
tivessem sido antecipadas pelos especialistas. Assim, os projetos são 
baseados em modelos que podem ou não representar o processo de aquisição 
de conhecimento.
Desta forma

Continue navegando