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
Engenhariada
Produção da Universidade Federal
de
Santa Catarina
como
requisito parcialpara a obtenção
do
títulode
Mestreem
Engenharia de Produção.Florianópolis
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 Mestreem
Engenharia de
Produção
noPrograma
de Pós-Graduação
em
Engenharia de
Produção
da
Universidade Federalde
Santa CatarinaFIorianÓpoIis,.28
de
. o de 2001.I'
4
Prof. Ri -zrdo iranda Barcia
PhD
oordeni dor
do
C
oBANCA EXAMINADORA
Prõ1(AIioe Theresinha Cybis Pereira,
PhD
Orientadora O
Profa.
M
rta Costa Rosateili, Dra.<Z2Ê`‹;
iii
A
minha esposa
Carem
e aos filhosIvens e Igor pela
compreensão
esacrifício que, carinhosamente,
cederam
eque
me
guiaram nosmomentos
mais difíceis destaiv
AGRADECIMENTOS
A
Deus
pela criação e proteçao.Aos meus
pais pela existência e perseverançaem me
guiar para o melhorcaminho.
A
minha
querida esposa e filhos peloamor
ecompreensão
dedicados durantea realização desta dissertação.
Aos
familiares, amigos e companheiros pela colaboração, muitas vezesdecisiva.
A
ProfessoraPhD
Alice Theresinha Cybis Pereira pelo valioso apoiodado
paraque
esta dissertação se concretizasse.A
todos aquelesque
não foram citados eque
contribuíram, direta ouindiretamente, para a realização desta pesquisa.
V
ll Í Í Il
Uma
pessoa realmente grande e aquelaque
nosda
uma
chance.su|v|Án|o
LISTA
DE
FIGURAS
... .. Vl ixLISTA
DE
QUADROS
... _.x
LISTA
DE
TABELAS
... _. xiLISTA
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.2Questão da Pesquisa
... ._ 1.3 Justificativa ... ._ 1.4 Obietivos ... __ 1.4.1 Objetivo Geral ... ._ 1.6 Limitaçõesda Pesquisa
... _. 1.7 Estruturada
Dissertação ... __ 2.1Considerações
Iniciais ... ._ 2.2 Definiçãode
Algoritmo ... ._ 2.3.1 xii XIIIXV
ÉCDCDNQQUIUIOO -5 12 1213
16
17 1a 2.4.1 Estruturase-ENTÃO-sENÃo
... _. 192o
2.4.2 Estrutura
ESCOLHA
CASO
... ___ ... ._2.4.3 Estrutura
ENQUANTO-FAÇA
... ._ 2.4.4 EstruturaPARA-FAÇA
... ._ 2.5Considerações
Finais ... ._3
INTELIGÊNCIA
ART||=|c|A|.
... __ 3.1 Inteligência Artificial ... _. 2.4.5 Estrutura nEPim-ArE__.__________.___.___..._______.___ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 2122
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.2Esquemas
... __34
35
36
37
38
39
4142
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 aProgramação
Estruturada ... ._49
3.6
Exemplo
de
STI relacionadoao
Modelo
Proposto
... _. 513.7
Considerações
Finais ... ._52
4
TEORIAS
DE
APRENDIZAGEM
... ._55
4.1Considerações
Iniciais ... ._55
4.2Empirismo
... _.57
4.2.1Aprendizagem
... ._60
4.2.2Relacionamento
Professor-Aluno ... __62
4.2.3Metodologia
... ... _.63
4.2.3.1Ensino
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.1Aprendizagem
... ._70
4.3.2Relacionamento
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.1Aprendizagem
... _.79
4.4.1.2Relacionamento
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.1Aprendizagem
... ._87
4.4.2.2Relacionamento
Professor-Aluno ... ._88
4.4.2.3 Metodologia ... ... _.89
4.4.2.4 Avaliação ... _.89
4.5Consideraçõ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.2O
Modelo do
Especialista ... ... _. 101 5.3.3O
Modelo
Pedagógico
... _.105
5.3.4O
Modelo
de
Interface ... _.106
5.3.5O
Modelo do
Estudante ... ._112
5.4Considerações
Finais ... _.116
6
coNcLusõEs
E
nEcoMENoAçõEs
... ._118
6.1.1
Aspectos
Positivos ... ..1
REFERÊNc|As
B|BL|ocRÁF|cAs
... ._ 1a
ANExos
... _.8.1
Anexo
1- Conteúdo
Programáticoda
Algoritmos eProgramação
Iviii ... .. 1 18 6.1.2
Aspectos
Negativos ... ..120
6.2Conclusões
... .. 121 6.3Recomendaç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
ixLISTA
DE
FIGURAS
Diagrama
em
blocosde
um
STI básico ... _.34
Exemplo
de
Rede
Semântica
... ._48
Exemplo
de
Rede
Semântica
... ._49
Diagrama
em
blocosdo
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
Cadastrode
Exercício ... ._: Tela
do
Aluno
... _.: Tela
de Cadastro
do
Aluno
... _.: Tela
de Resolução dos
Exercícios ... _.: Tela
de
Teoria eSolução
do
Professor ... _.:
Representação
gráficada
situaçaodo
alunoB
... ._:
Representação
gráficada
situaçãodo
alunoC
... _.:
Representação
gráficada
situaçãodo
alunoD
... _.100
101102
103
104
106
107
108
111:
Representação
gráficada
situaçãodo
alunoA
... ._113
'
114
115
116
LISTA
DE
QUADROS
LISTA
DE
TABELAS
Tabela 1:Regras
para escolhado
próximo
exercícioSiglas CAI
DER
ENC
IAIAED
ICAI IndApLDB
MEC
OOP
RBC
SBC
STITPD
WEI
ZDP
|_|sTADE
|=lEDuçöEs
Computer
Assisted lnstructionDiagrama
Entidade RelacionamentoExame
Nacional de CursosInteligência Artificial
`
Inteligência Artificial aplicada a
Educaçäo
/nteligent
Computer
Assisted lnstruction Índice de AproveitamentoLei de Diretrizes e
Bases da Educação
NacionalMinistério
da Educaçäo
e CulturaProgramação
Orientada à ObjetosRaciocínio
Baseado
em
Casos
'Sociedade Brasileira
de
Computação
Sistemas Tutores Inteligentes
Tecnologia
em
Processamentode
Dados
Workshop
de'Educação
em
InformáticaI
xiii
S
RESUMO
PRUS,
Élcio Miguel.Um
modelo
de sistema tutor inteligente aplicado ao ensinoda
programação estruturada. Florianópolis, 2001. 130 f. Dissertação(Mestrado
em
Engenharia de Produção)-
Programa de
Pós-graduaçãoem
Engenharia
de
Produção.UFSC,
2001._,,,,..- .xl
Este trabalho apresenta
um
modelo
eum
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 disciplinade
Algoritmos eProgramação
I, no curso de __1:eAcnologia
em
Processamentode
dad_os,. ofertado pelasFaculdades Santa Cruz,
em
Curitiba-
Paraná.-\
A
pesquisa foibaseada
em
revisão bibliográfica e no desenvolvimento deum
modelo
e implementação deum
protótipo.São
apresentados fundamentosteóricos sobre algoritmos estruturados, inteligência artificial
em
geral e aplicadaà educação, assim
como
sistemas tutores inteligentes,com
alguns exemplosrelacionados
com
a linhade
pesquisada
dissertação.É
feitauma
análise dasprincipais correntes de teorias
de
aprendizagem, visando a fundamentar odesenvolvimento
do
protótipo.i
A
estrutura domodelo
proposto e do protótipo apresentado é divididoem
doismódulos: o do professor e do aluno.
A
utilizaçãode
exemplos é apresentadapara melhor ilustrar a aplicação do modelo
ao
contextode
ensino de algoritmoestruturado.
Como
conclusão, a construçãodo
protótipo e sua aplicaçãoem
parte da turmaé o resultado concreto deste trabalho e suas partes ressaltam a importância
do
modelo
desenvolvido. _xiv
Palavras-chave: Algoritmos Estruturados, Inteligência Artificial, Sistemas
XV
ABSTRACT
PRUS,
Élcio Miguel.Um
modelo
de
sistema tutor inteligente aplicadoao
ensino
da programação
estruturada. Florianópolis, 2001. 130 f. Dissertação (Mestradoem
Engenharia de Produção)
- Programa
de
Pós-graduação
em
Engenharia
de
Produção.UFSC;
2001.A
model
and
a prototype are introducedby
this dissertation.Delphi®
5.0programming
language
isused
tocompound
the prototype.Santa Cruz
College, in Curitiba, Paraná,
has
a Data ProcessingTechnology Course
and
this forthcoming presentedmodel
isan
intelligent tutorsystem
applied to teaching
and
evaluatingprocess
of structure algorithms,practiced in Algorithms
and
Programming
I discipline.The
researchwas
based on
a bibliographical reviewand on
themodel
development and
the prototype implementation, theoretical supportabout
structured algorithm, generical aspects
and
educational applications ofartificial intelligence, as well as intelligent tutor systems.
Some
examples
are
made
part of this dissertation research field.An
analysis isproceeded
over themain
theoretical learning' approaches,aiming to
make
the prototype foundationdevelopment
possible.The
frame
of this purpose, considering themodel and
the prototype, isdivided into'
two
parts: the teacherand
the student.The
examples
areused
to let thecontextual learning participate consistently.The
goal is achieved with the prototype constructionand
its application inXvi
Key-words: Structured Algorithms, Artificial Intelligence, Intelligent
Tutoring
Systems,Theories
of Learning. ¬1
|NTRoDuçÃo
A
qualidade do ensino oferecido pelas instituiçõesde
nível superiorno
Brasil éa
constante preocupação do Ministérioda Educação
e Cultura (MEC). Estaexcelência
de
ensino,meta
intrínseca ao artigo 208, inciso V,da
ConstituiçãoFederal e premissa básica
da
nova Leide
Diretrizes eBases da Educação
Nacional (LDB),
em
vigordesde
dezembro de
1996, só poderá ser alcançadaatravés
de
um
ensino moderno, atualizado eque
visea
formação profissional(Niskier, 1996).
Esta preocupação
com
a
qualidadedo
ensino oferecido pelas instituiçõesde
nível superior não é
em
vão.O
Exame
Nacional de Cursos (ENC), conhecidocomo
provão,tem
por objetivo avaliar, logo após a conclusãodo
curso, os conhecimentos adquiridos pelos graduados durante o desenvolvimentodo
mesmo.
Este revelouem
sua última edição, 1999,que
nove instituiçõesdas
trinta e seis
que
oferecem o cursode
administração, no estadodo
Paraná, ouseja
25%,
tiveram conceitoD
e E, considerados os dois mais baixos (Ministérioda Educação
e Cultura, 1999).Com
base nesta nova realidade oMEC,
atravésda
Sociedade Brasileirade
Computação
(SBC),promoveu
em
junhode
1998,em
Belo Horizonte, MinasGerais,
um
Workshop
deEducação
em
Computação
(\/VEI/98). Neste foramní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 asdenominações
dos cursos superioresem
informática, evitando ambigüidade, facilitandoa
comparação
entre osdiversos cursos existentes no país e principalmente,
dando
um
passo definitivoa criação dos conselhos federal e regional
que
regulamentarão as atividadesreferentes
a
profissão, ainda não existentes.Segundo
estas diretrizes, os currículos dos cursosda
áreade computação
einformática são
compostos
por quatro grandes áreas deformação:- formação básica
que
compreende
os princípios básicosda
áreade
computação, a ciênciada
computação,a
matemática necessária paradefini-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ásicosda
construção
do
conhecimento, necessáriosao
desenvolvimentoda
práticado
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
permiteuma
interação dos egressos dos~ V
formação humanística
que dá ao
egressouma
dimensão
social ehumana.
Esta divisão proporciona
uma
maior flexibilidadena
elaboração das gradescurriculares, e facilita a modificação do enfoque
de algumas
disciplinas,de
acordo
com
a evolução tecnológica.A
formação básica é a principalfundamentação que
o novo profissionaldeve
possuir. Ela écomposta
pordisciplinas
da
área de programação,computação
e algoritmos.A
programação, entendidacomo
programaçãode
computadores, éuma
atividade voltada
à
solução de problemas.Nesse
sentido ela está relacionadacom
uma
variadagama
de
outras atividadescomo
especificação, projeto,validação,
modelagem
e estruturação de programas e dados, utilizando-se daslinguagens de programação propriamente ditas,
como
ferramentas.Ao
contráriodo
que
se apregoavahá
alguns anos atrás,a
atividadede
programação
deixoude
seruma
arte para se tornaruma
ciência, envolvendoum
conjuntode
princípios, técnicas e formalismosque
visama
produçãode
software
bem
estruturado e confiável (Salvetti&
Barbosa, 1998).1.1 Identificação
do
Problema
Uma
das disciplinasque
pertencem ao currículo de formação básica éa de
de
produzir programas, de média complexidade, para ja resoluçãode
problemas
que
utilizem o computador e seus recursoscomo
meio para tal.O
aluno ao concluir esta disciplina deve possuir domíniode
todas as técnicaspara o planejamento, desenvolvimento e
manutenção
de
programasdesenvolvidos
com
a técnica deprogramação
estruturada.É
importantetambém
possuir conhecimentosda
metodologiada
engenhariade
software,para
que
sua visão seja maisampla
e não se restrinja a resolução, apenas,de
um
único problema.Seguindo esta linha
de
raciocínio, é ministrado, nas Faculdades RegionalSanta
Cruz,em
Curitiba, Paraná, dentro do Cursode
Tecnologiaem
Processamento
de
Dados
(T PD), no primeiro semestre,a
disciplinade
Algoritmos e
Programação
I. Estatem
como
objetivo desenvolver as noçõesbásicas
de
programação,com
base nas técnicas e estruturasda programação
estruturada, aplicando-as
em
algoritmos para a resoluçãode
problemasmatemá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écnicasde
programação. Portrabalhar
com
conceitos não tãocomuns
ao cotidiano do aluno, esta disciplinaencontra diversas barreiras
em
sua compreensão.Segundo
Direne&
Pimentelcomputadores é
uma
tarefade
alta carga para iniciantes porduas
razõesprincipais: a falta do conhecimento
de
princípiosde programação
ea
faltade
perícia.
1.2
Questão da Pesquisa
“
Como
facilitar ao estudante iniciante
de computação a
apreensãodos
conceitos
de
algoritmo e programação ? “1.3 Justificativa
Diante
do
problemada
dificuldade dos discentesem
desenvolver algoritmos, eem
conseqüência, transformá-losem
programas, torna-se necessárioalguma
ferramenta auxiliar às aulas para facilitar
a
aquisiçãodo
conhecimento porparte dos alunos e garantir
que
osmesmos
dominem
as técnicas utilizadasna
construçao de algoritmos (Viccari, 1996).
Segunda
Giraffa (1998) normalmenteem
uma
aulade programação de
computadores, ministrada
em
sala de aulaou
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áveisque
o professor utiliza para avaliar a turma,como
compreensão do
assunto,notas
na
última avaliação, participaçãoem
aulas, entre outras, ele escolheum
que
esta escolha esteja próxima deuma
turma real,em um
sistema tutor inteligente (STI),a
escolha deve seguir critériosque
avaliema
condição atualde
conhecimento do aluno, ou seja, o STIdeve
possuirum
mecanismo que
proporcione medidas cognitivas para escolha dos próximos exercícios.
Medidas Cognitivas para a escolha
adequada
deum
próximoexemplo
foram apresentadasem
Pimentel&
Direne (1997) para o ensinode
conceitos visuaisaplicados
à
radiologia médica. Tanto o ensinode
conceitos visuais quanto oensino
de
programaçãode
computadores sãobaseados
na aquisiçãode
perícia e
na
apresentação de casos para os alunos solucionarem. Porém,em
radiologia
médica
a solução éum
diagnóstico expressoem um
laudo, enquantoque na programação
a solução éum
algoritmo expressoem um
programade
computador.
Para Direne
&
Pimentel (1998) a utilizaçãode
STI destinadosa
iniciantesde
programação
tentam lidarcom
estasduas
carências por meioda 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 interfacesde
razoávelversatilidade para o aluno.
alunos
da
disciplinasde
Algoritmos eProgramação
I, sessenta e dois, ou seja91%,
declararam possuir e utilizar freqüentemente computadorem
suasresidências ou no trabalho.
O
restante de seis alunos (9%) declararamque
pretendem adquirir
um
equipamento nos próximosdoze
meses.Com
este levantamento fica evidente o perfil dos alunosque
freqüentam ocurso.
Todos
elessabem
da
importância eda
necessidade do computador nodesenvolvimento
de
sua profissão.Em
síntese, o computador, já é realidadepara 91
%
dos alunos pesquisados.Ainda dentro
da
grade do primeiro semestredo
curso deTPD
é ministrada adisciplina
de
Laboratório lque tem
como
objetivo familiarizar o aluno ao usodos recursos mínimos do computador, tanto
em
programas aplicativoscomo
aos periféricos disponíveis. Esta disciplina juntamente
com
o resultadoda
pesquisa fortalecem
a
premissaque
o alunodo
primeiro semestre,em
suagrande maioria, já possui conhecimento do computador
como
ferramenta, e osque
ainda não o fazem, terão a oportunidade de aprender durante o primeirosemestre do curso.
Diante destas colocações tem-se
um
ambiente favorável para odesenvolvimento
de
um
modelo
de STIque
facilitaráa
aprendizagemda
programação estruturada e
que
será de grande auxílio no desenvolvimentoda
disciplinade
Algoritmos eProgramação
I.1.4 Objetivos
Para o desenvolvimento deste trabalho
de
pesquisa foi delineado o seguinteobjetivo geral e os seus
desmembramentos
em
objetivos específicos.1 .4.1 Objetivo Geral
Projetar e desenvolver
um
modelode
STIque
auxilie no -aprendizadodas
estruturas básicas
de
programação, utilizando os conceitosde
algoritmos,exemplos, e proporcionando séries
de
exercícios apresentadas atravésde
diversas estratégias
de
aprendizagem ede
acordocom
o aprendizadodemonstrado pelo aluno.
1.4.2 Objetivos Específicos .
Desenvolver o
modelo
deum
ambiente inteligente, interativo e dinâmico que:- Proporcione
automação
na escolhade
um
próximo algoritmoa
serdesenvolvido pelo aluno, observando as condições atual
de
conhecimento;~ Apresente diversas visões do
mesmo
conceito, tornandoa
base teóricada
disciplina
ampla
e interdisciplinar; z- Apresente conceitos,
com
teoria e exemplos, atravésde
diversas teoriasde
aprendizagem;° Disponibilize
uma
revisão conceitual, caso oA
aluno durante o
desenvolvimento
de
algum algoritmo apresente dificuldadesde
elaboração;- Proporcione
uma
série de exemplosde cada
estruturade
programação,algoritmo, o próximo sugerido será
de
acordocom
o grau de resolução(dificuldade) apresentado no anterior;
~ Seja aplicado à disciplina
de
Algoritmos eProgramação
l, no curso
de
Tecnologia
em
Processamentode
Dados
(TPD), das Faculdades SantaCruz
de
Curitiba.1.5 Metodologia
Esta pesquisa é
de
natureza aplicada pois objetiva gerarum
modelo
de STIpara contribuir na solução
do
problemade
aprendizagemde
algoritmo eprogramaçã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 eProgramação
I, ministrada no 1° semestre do curso
de
Tecnologiaem
Processamentode
Dados
das Faculdades Santa Cruz de Curitiba. Outras instituiçõesde
ensinosuperior de informática ministram esta disciplina,
mas
não
sepode
precisar secom
omesmo
conteúdo. Portanto todo o direcionamentoda
pesquisa estávoltado para o curso
de
Tecnologiaem
Processamentode
Dados
dasFaculdades Santa Cruz
de
Curitiba.disciplina e instituição acima mencionadas.
Não
foi objetivo desta pesquisa aanálise
de
currículosde
algoritmos eprogramação
ministrados por outrasinstituições
de
ensino.1.7 Estrutura
da
DissertaçãoEsta dissertação está estruturada
em
sete capítulos.No
primeiro encontram-sea
introdução, a identificação do problema,a
questãoda
pesquisa, a justificativado
trabalho, os objetivos gerais e específicos,a
metodologia aplicada e aslimitações
do
trabalho. lz
No
segundo
capítulo inicia-se a revisão bibliográficacom
direcionamentoexplicativo sobre Algoritmos Estruturados.
O
principal objetivo deste capítulo é demonstrar os principais conceitos e definições, considerando os principaisautores
da
área. Será descrito neste capítulo a estrutura' utilizadaem
algoritmos e as estruturas básicas de programação.
Os
exemplos sãodemonstrados
na
linguagem conhecidacomo
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 eFormas de
Representação do Conhecimento. Neste capítulo encontra-se as principais definições, conceitos e exemplos aplicadosa
cadaum
dostemas acima
No
capítulo 4temos
a revisão bibliográfica sobre as principais teoriasde
aprendizagem,
como
estão estruturadasem
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 obrasde
seus representantes mais relevantes,
fundamentando
as teoriasde
aprendizagem para
serem
utilizadas nomódulo
pedagógicodo
modelo
do STI proposto.O
quinto capítulo refere-seao
desenvolvimentodo modelo
proposto, estandoestruturado primeiramente na sua
fundamentação
e caracterização. Nestecapítulo encontra-se as principais telas
do
protótipo desenvolvido a partirdo
modelo
propostocom
explicaçõesque
exemplificamalgumas
situaçõespossíveis
de
acontecer na utilizaçãodo
protótipo.No
sexto capítulo estão a avaliação do protótipo desenvolvido, as conclusões erecomendações da
dissertação, e finalizando no capítulo sete estão as fontesbibliográficas utilizadas nesta dissertação. Estas referências estão relacionadas
aos conteúdos
de
algoritmos estruturados e lógicade
programação, aos conteúdosde
IA,IAED
e STI eFormas
de Representaçãodo Conhecimento
e aos conteúdosde
teorias de aprendizagem.2
ALGORITMOS
ESTRUTURADOS
O
objetivo deste capítulo é demonstrar os principais conceitos e definiçõessobre algoritmos estruturados.
O
capítulo inicia-secom
definiçõesde
algoritmos compiladas
de
autoresda
área.Na
seqüência está descritaa
estrutura utilizada na construção de
um
algoritmo e as estruturas básicasde
programação, divididas
em
estruturas de controle e de decisão.Os
exemplos
apresentados estão demonstrados
na
linguagem conhecidacomo
pseudocódigo.
2.1
Considerações
Iniciais -A
automatização de tarefas éum
aspecto marcanteda
sociedade moderna.O
aperfeiçoamento tecnológico alcançado teve,
como
elementos fundamentais,a
análise e
a
obtenção de descriçõesda
execução de tarefasem
termosde
ações
simples o suficiente, talque
pudessem
ser automatizadas poruma
máquina
especialmente desenvolvida para este fim, o computador (Cormen,1990).
Para
que
esta automatização ocorra é necessáriouma
seqüênciade
instruçõesque
farácom
que
o computador realize determinada tarefa.Segundo
Tremblay&
Bunt (1983) esta seqüência de instruçõesnão deve
possibilitara
interpretação alternativa
que
possa fazercom
que
o computadortome
um
13
Este cuidado na formulação das instruções e na sua estruturação é o alvo
de
estudo dos algoritmos, parte
da
ciênciada computação que
desenvolve eaprimora técnicas de construção de programas de forma
a
determinarque
ocomputador siga pelo único
caminho
correto possívelque conduza
aosresultados desejados.
2.2 Definição
de
AlgoritmoO
algoritmopode
serusado
como
uma
ferramenta genérica para representar asolução de tarefas independente
do
desejode
automatizá-Ias,Ímas
em
geral.,está associado ao processamento eletrônico de dados,
onde
representa ozrascunho 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 familiarde
algoritmo:'“Uma
plantade
obra serve aomesmo
propósitonum
projetode
construção.Estes algoritmos são conhecidos
como
não computacionais.Um
exemplo de
um
algoritmonão
computacional cujo objetivo é usarum
telefone público élnício
Tirar o fone
do gancho
Ouvir o sinal de linha
Introduzir o cartão
Teclar o
número
desejadoSe
der o sinalde
chamar
Conversar Desligar Retirar o cartão
Senão
Repetir _V FimSalveti (1998) define
um
algoritmocomo
uma
seqüência finitade
instruções ou operações básicas (operações definidassem
ambigüidade e executáveisem
tempo
finito) cuja finalidade é resolverum
problema computacional.Segundo
Pinto (1990)um
algoritmo éuma
receita paraum
processocomputacional e consiste de
uma
sériede
operações primitivas,interconectadas devidamente, sobre
um
conjuntode
objetos.Os
objetosmanipulados por essas receitas são as variáveis.
Para Terada (1991) algoritmo é
uma
descrição passoa
passode
como
um
problema é solucionável. Esta descrição
deve
ser finita, e os passosdevem
serbem
definidos esem
ambigüidades. Warnier (1991) ressalta quea
característica mais importante de
um
algoritmo éa
simplicidade ea
isençãode
ambigüidade.
As
instruçõesdevem
estarnuma
ordem
cuidadosamente definidae o algoritmo deve ser efetivo, isto é, deve
sempre
resolverum
problemaSzwarcfiter
&
Markezon
(1994) define algoritmocomo
um
processo sistemáticopara a resolução de
um
problema.O
desenvolvimentode
algoritmos éparticularmente importante para problemas a
serem
solucionadosem
um
computador, pela própria natureza
do
instrumento utilizado. Dois aspectosdevem
ser considerados no desenvolvimento de algoritmos:a
correção e aanálise.
O
primeiro consisteem
verificar a exatidão dométodo
empregado, oque
érealizado através
de
uma
prova matemática.A
análise visa _a obtençãode
parâmetros
que possam
avaliara
eficiênciado
algoritmoem
termosde
tempo
de execução
ememória
ocupada.A
análise é realizada atravésde
um
estudodo
comportamento
do algoritmo.Como
qualquer modelo,um
algoritmo éuma
abstraçãoda
realidade. Wirth(1989) define abstração
como
uma
simplificação dos fatosconstantesda
realidade
que
se encontra o problemaa
ser resolvido.Os
dados
utilizados nosalgoritmos representam algumas propriedades e características dos fatos reais,
pois outras são desprezadas, por
serem
inexpressivas ou irrelevantes paraa
solução adotada.
Todas
as definições apresentadasde
algoritmo nosconduzem
a
descriçãode
soluções
de
problemas domundo
real, paraserem
implementadas utilizandoComo
omundo
computacional possui severas limitaçõesem
relação ao real,exige-se que, sejam impostas
algumas
regras e utilizadasalgumas
estruturasadequadas
para a soluçãode
problemas. Estas estruturas possibilitama
simulação
de
rotinas,de
decisões ede
formasde
controle.2.3 Estrutura Básica
de
um
AlgoritmoPara
que
o computador possacompreender
os passos necessários paraa
resolução
de
um
determinado problema,devemos
estruturar estes passosde
forma
que
sejam perfeitamente compreendidos e executados.Esta organização das ações
a serem
tomadas
pelamáquina de
formaorganizada e lógica possui
uma
rígida regrade
sintaxe e semântica. Para Pinto(1990) sintaxe é
um
conjunto de regras formais,que
especificam acomposição
de algoritmos a partir
de
letras, dígitos e outros símbolos.As
regrasde
semântica especificam o significado de qualquer algoritmo sintaticamente
válido, escrito
em
uma
linguagem.Segundo
Salvetti&
Barbosa (1998), Pinto (1990), Farrer (1999) eGuimarães
(1985) a linguagem mais
adequada
para representarum
algoritmo éa
conhecida
como
pseudocódigo.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çãodo
problema e os
comandos
que
serão aplicados paraque
possam
processar asinformações
de
entrada transformando-asem
informaçõesde
saída.2.3.1 Variáveis 4
Variáveis são espaços
de memória
reservados paraarmazenar
informações.Estes espaços
possuem
endereço específico, e representam célulaselementares
que contém
um
valorque
representauma
variável (Sebesta,2000).
O
tipo de informaçãoque
seráarmazenada
em
uma
variável deve serpreviamente definida na construção
do
algoritmo.Existem vários tipos
de
dados
e osmesmos
podem
ser definidosde
maneiradistintas nas diversas linguagens
de
programação existentes.Segundo
Wirth(1989) os tipos de
dados
maiscomuns
utilizadosem
algoritmos são:f
Inteiro 2
-
50Real 2,762
-
100,09Caracter "A" - "4"
Texto (String) "Algoritmo" - "X"
Boolean Verdadeiro ou Falso
O
tipodo
dado
é associado aum
nome
que
representaráa
variável. Estenome
é formado poruma
letra ou então poruma
palavraque
signifique o conteúdo armazenado.Não
se permite o uso de caracteresespeciais (acentos), espaçosem
branco oude
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
estruturassen/em
para conduzir o fluxo dosdados
nos algoritmos, «atravésde
testes e condições. Elas diferemumas
das outras pela disposição oumanipulação de seus
dados
ou variáveis.A
disposição dosdados
em uma
estrutura
obedece
a condições preestabelecidas e caracterizaa
estrutura(Szwarcfiter
&
Markezon, 1994).Estão divididas
em
estruturas de decisão ede
controle (Sebesta, 2000; Salvetti&
Barbosa,1998).As de
decisão testam condiçõesque
tomam
caminhos
específicos
sem
retorno. Elasoptam
entre duas ou mais possibilidades.As
de
número
decomandos.
As
estruturasde
controleservem
para executaruma
instrução ouum
conjuntode
instruções repetidamentedependendo da
condição determinada noalgoritmo.
O
processode
repetição é conhecidocomo
laço ou loop (Salvetti&
Barbosa, 1998).
2.4.1 Estrutura
SE-ENTÃO-sENÃo
É
uma
estruturade
decisão. Iniciacom
a palavra especial "SE", seguida pelacondição
a
ser testada.A
alternativa a sertomada
se a condição for verdadeiraé precedida pela palavra especial
"ENTÃO".
A
outra alternativaa
sertomada
se
acondição
é falsa é precedida pela palavra especial“SENÃO".
Salvetti
&
Barbosa (1998) eManber
(1989) apresentam esta estruturana
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á descritoa
seguir:Se
João for maiorde
18 anos deve ir votar, se ele não forpode
ficarem
casa.votar.
A
representaçãoem
uma
estruturade
condição é:SE
idadede
João > 18ENTÃO
_
João
deve votarSENAO
João pode
ficarem
casaFIMSE
2.4.2 Estrutura
ESCOLHA-CASO
É
uma
estruturade
decisão.É
utilizadaquando
existem diversasopções a
serem
seguidasdependendo do que
o usuário ou o programa solicite.Segundo
Ziviani (1999) e Salvetti
&
Barbosa (1998) esta estrutura é apresentadana
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 facilitaa
compreensão
desta estrutura:CASO
opção
ENTÃO
1: Saldo 2: Extrato 3: Depósito ~ 4: Sair
SENAO
InválidaFIMCASO
Lê-se
da
seguinte maneira: caso aopção
seja 1 execute o saldo, caso seja 2execute o extrato, caso seja 3 execute o depósito, caso seja 4 saia e se
a
opção
não fornenhuma
das opções válidasa
escolha será inválida.A
estruturaSENÃO
alinhadas,mas
é inviável utilizar pois o código ficariade
difícil leitura:SE
opção
= 1ENTÃO
_ Saldo 'SENAO
_SE
opção
= 2ENTAO
_ ExtratoSENAO
_SE
opção
= 3ENTAO
__ DepositoSENAO
_ SairFIMSE
FIMSE
FIMSE
O
exemplo acima
evidencia oaumento da
complexidadeda
leitura se fosseutilizado a estrutura
sE-ENTÃQ sENAo.
A2.4.3 Estrutura
ENQUANTO-FAÇA
Esta estrutura
de
repetição permiteque
enquantouma
determinada condiçãofor verdadeira ou válida os
comandos
pertencentesa
estrutura são executados.O
términoda
execução doscomandos
está vinculado a condição determinadase tornar falsa.
A
sintaxe a seguir representa a estruturaENQUANTO-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 utilizaa
estruturaENQUANTO-FAÇA
e escrevena
telado
22
contador := 1
ENQUANTO
contador <=200
FAÇA
escreva (contador)
contador := contador + 1
FIMENQUANTO
A
variável definidacomo
contador será inicializadacom
o valor 1 e acrescidade
uma
unidade toda vezque
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ávelque
controla a execução do laço é variávelde
controle (T erada
&
Setzer, 1992; Guimarães, 1985) .2.4.4 Estrutura
PARA-FAÇA
É
uma
estruturade
controle.É
uma
simplificaçãoda
estruturaENQUANTO-
FAÇA,
poisnão
necessitado
incrementoda
variávelde
controle,que
será 'automaticamente incrementada
na
definiçãoda
estrutura.A
sintaxe abaixorepresenta 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ãouma
unidade.O
exemplo
utilizado no item anterior ficariada
seguinte forma utilizandoa
estrutura
FAÇA-PARA:
-PARA
contador zz 1ATÉ
zoo
FAÇA
escreva (contador)
Nesta estrutura a variável contador é inicializada
com
valor 1 e é acrescidade
uma
unidade até o valor 200.A
formade
inicialização ea
taxade
acréscimo jáestão definidas
na
própria estrutura enão
necessitamde
atribuiçõesem
linhasde
comandos
individuais. Esta estruturaem
comparação a
ENQUANTO-FAÇA
é mais simplificada,
porém
executa o laçodo
valor *inicial até o finalsem
interrupção.
Caso
haja a necessidade de, poralgum
motivo, o laço sejainterrompido
a
estrutura maisadequada
éa
ENQUANTO-FAÇA
(Guimarães,1 985).
2.4.5 Estrutura
REP|TA-ATÉ
É
uma
estruturade
controle.Assim
como
a estruturaENQUANTO-FAÇA
que
éusada
para repetir diversas vezesuma
ou mais instruções,a
estruturaREPITA-
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, fazendocom
que
oscomandos
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ísticada
estruturaENQUANTO-FAÇA
que pode
tera
k 24
N
desta maneira utilizando a estrutura
REPITA-ATÉ:
contador := 1
REPITA
escreva (contador)
I contador := contador + 1
ATE
contador = 201A
variável definidacomo
contador recebe o valor inicial 1. Este valor é escritona tela
do
computadorpelo_comando
escreva eem
seguida seu valor éacrescido
de
uma
unidade,quando
então será feito o testeda
condição paraa
execução
do
laço. Neste caso se a condição fosse falsa ocomando
de
escrever
na
tela e o de acrescera
variávelde
controle já teriam sidoexecutados, pelo menos,
uma
vez.2.5
Considerações
FinaisA
programação está apoiada sobre estruturasde
decisão e controle.A
combinação
e o alinhamento entre elasformam
a estrutura deum
programa ou2
software,
que
é transformaçãodo
algoritmoem uma
linguagem comercial,industrial ou científica.
A
habilidadede
abstrairum
problema e encontrara
estruturade programação
adequada
para resolvê-Io é a habilidade desenvolvida na disciplinade
Algoritmos e Programação.
As
estruturas descritas neste capítulo estäoem
consonância
com
o objetivoda
disciplina ecom
o seu conteúdo programáticoA
perícia adquiridaem
determinara
estrutura ou acombinação
certa entre elaspara
que
o problema seja resolvido é o principal objetivoda
disciplinade
programação, e o
modelo
proposto nesta pesquisavem como
maisuma
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 doConhecimento
e exemplosde
STI aplicados ao ensinoda
programaçao
estruturada.Um
exemplo
de STI relacionadoao modelo
propostoé apresentado no final deste.
O
principal objetivo deste capítulo é trazerum
panorama
conceitual sobre asdefinições mais relevantes e significativas utilizadas
em
IA, IAED, STI eFormas
de
Representação do Conhecimento.Os
exemplos
ilustradosde
STI aplicadosao
ensinoda
programação estruturadafundamentam
omodelo
proposto ecorrelacionam este aos STI já desenvolvidos e aplicados na área
de
programação.
3.1 Inteligência Artificial
Etimologicamente a' palavra inteligência
vem
do latim inter (entre) e legere(escolher), ou seja, inteligência significa escolher entre
uma
coisa e outra. Inteligência éa
habilidadede
realizarde
forma eficienteuma
determinadatarefa.
A
palavra artificialvem
do
latim artificiale, significa algonão
natural, isto é,produzida pelo
homem
para dotar asmáquinas de algum
tipode
habilidadeque
simula
a
inteligênciado
homem
(Rabuske, 1995).Ao
iniciar o estudode
IA,uma
das maiores dificuldades é tentar delimitar seucampo
de
estudo, tendoem
vista sua vasta abrangência.Segundo
Rich (1988)a IA busca entender a
mente
humana
e imitar seu comportamento, levantandoas seguintes questões:
como
ocorre o pensar;como
ohomem
extraiconhecimentos
do mundo;
como
a memória, os sentidos e a linguagemajudam
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ésde
outra.
Essas
sãoalgumas
perguntasque
a IA precisa responder para simular oraciocínio
humano
e implementar aspectosda
inteligência.O
históricoda
IA está diretamente interligadocom
o desenvolvimento doscomputadores.
O
termo IA, foi oficialmente, apresentadona
conferênciaem
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 HerbertSimon
tentaramconstruir
um
sistemaque
manipulava símbolos,ao
invés dosbaseados
em
números, o
que
gerou inúmeros estudos para incorporar inteligência às máquinas. Isto se refletiuem
enormes
mudanças
na formade
conceber e utilizara
tecnologia para o ensino e para a aprendizagem.Diante
do
surgimento formal desta tãocomplexa
concepção, inúmeras dúvidase desafios foram colocados perante os pesquisadores, muitos dos quais
permanecem
até hoje e continuamsendo
objetode
continuados estudos.Um
dos aspectos
que merece
consideração especial é oque
se refereà
própriadefinição
de
IA,que
para os seus pesquisadorespermanece
sem
uma
únicainterpretação,
a
qual é feita normalmenteem
função dos objetivos emetas
pretendidos
com
a
utilização destecampo
de
estudos.Para Winston (1987) inteligência artificial é “o estudo de conceitos
que
permitemaos
computadoresserem
inteligentes”.Segundo
Charniac (apudBarreto, 1998, p. 19) inteligência artificial é “o estudo das faculdades mentais
com
o uso de modelos computacionais". Rich&
Knight (1994) defineminteligência artificial
como
“o estudo de fazer os computadores realizaremcoisas que, no
momento,
as pessoasfazem
melhor”.Para Bittencourt (1998) existem duas linhas
de
pesquisaem
IA:a
conexionistae a simbólica.
A
primeira visa àmodelagem
da
inteligênciahumana
simulandocomponentes
do cérebro.A
segunda
estabeleceuma
manipulação simbólicaentre os fatos de
um
domínio. Estas diferentes correntesde pensamentos
em
IA
têm
estudado formas de estabelecer comportamentos inteligentes nasmáquinas,
sendo
Ó grande desafio a tentativade
sintetizar opensamento de
A
IA fornecemétodos
e técnicas para o desenvolvimentode
programasque
simulam nas
máquinas
comportamentos inteligentes, isto é tornam oscomputadores capazes
de
pensar e tomar decisões. Por isso, as técnicasde
IAnecessitam de
uma
grande quantidadede
conhecimentos ede
mecanismos de
manipulação
de
símbolos. Esses conhecimentosdevem
tera
possibilidadede
representação, modificação e ampliação.
A
expressão comportamentos inteligentes traz àmente a
idéia demáquinas
capazes
de
pensardo
mesmo
modo
que
o serhumano,
no entanto, para criaruma
máquina
inteligente não é necessárioque
ela tenha omesmo
nívelde
inteligência do
homem
(Rabuske, 1995). Atualmente já existemmáquinas
que
utilizam aspectos
da
inteligênciahumana
para realizar tarefas e, no entanto,estão longe
de serem comparadas
com
o nívelde
inteligência dohomem.
Para Rich
&
Knight (1994) o importante é o aspecto funcional ou práticoda
simulação
da
inteligência, por exemplo,um
aviãovoa de
maneira similarao
pássaro e não
de
forma igual, no entanto, isto não invalida ou diminui suaaplicabilidade e a contribuição
que
omesmo
tem dado
para. o desenvolvimentoda
humanidade.A
pesquisaem
IA evoluiu muito,mas
ainda encontra muitas limitações, pois oobjetivo
de
conferir inteligência aos sistemas é construiruma
máquina que
capacidades, o raciocínio,
a
compreensão, a imaginação,a
criatividade e asemoções,
pois hoje, encontram-semáquinas que
imitam áreas específicas erefinadas
da
atividade mentalhumana,
como
por exemplo, os computadoresque jogam
xadrez.3.2 Inteligência Artificial aplicada
na
Educação
A
evolução das técnicasde
IA e das pesquisas nocampo
das ciênciascognitivas,
aumentou
o grau de inteligência dos sistemas educacionais eantigas dificuldades estão
sendo
aos poucos superadas (Chaiben, 1998).Segundo
Chaiben (1998)uma
das principais motivações para as pesquisasem
IAED
é o desenvolvimentode
princípios pelos quais os ambientesde
aprendizagem computacionais
possam
ser concebidoscomo
lugaresonde
osestudantes
possam
ter experiências de aprendizagem individualizadas, isto é,experiências
que
sejam fundamentais e benéficas para eles,sem
importar suasdiferenças individuais, experiências anteriores, ou outras situações cognitivas.
Desta forma sistemas
que
utilizam técnicasde
IApodem
personalizar o ensino,compatibilizando a apresentação dos conteúdos
com
o nívelde
conhecimentodo
estudante ecom
o seu índice de aprendizagem.Todo
sistemaque
tenhacomo
objetivo principal a funçãode
ensinar,deve
tratam
com
dados, adquirem, representam emanipulam
conhecimentos, deduzindo e inferindo novos conhecimentos. Estes sistemas estãoclassificados,
segundo
Viccari (1996) em: CAI (Computer Assisted Instruction),ICAI (lnteligent
Computer
Assisted /nstruction) e STI (Sistemas TutoresInteligentes).
O
CAI (Computer Assisted /nstruction) ou Instrução Assistida por Computador, utiliza a instrução programada, cujométodo
educacional, influenciado pelaTeoria Comportamentalista de Skinner, é
a
forma expositiva centradano
professor, e
onde
o aluno devecompreender a
lição e depois responder asquestõ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 eda
evoluçãoda
IA,bem
como
da
ciência cognitiva,onde
houveum
aumento da
inteligência dos sistemas educacionais.
A
possibilidade deum
ambientede
aprendizagem computacional
onde
o alunopode
teruma
aprendizagemindividualizada, personalizando a instrução através
da
modelagem
do
estudante,
onde
a forma de descoberta é centrada no aprendiz e os diálogostutoriais são determinados pelo conhecimento conceitual e pelo