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

CONSTRUO DE SIMULADORES GRFICOS PARA

TEORIA DA COMPUTAO: UMA PROPOSTA PARA O


ENSINO DO CONCEITO DE MQUINAS DE TURING
Gerson Pastre de Oliveira
1

Marco Aurlio Seraphim da Silva
2

Resumo
Este trabalho relata a construo de um sistema que utiliza uma interface grfica para
simular o conceito de mquina de Turing. A interface, construda em Java, baseada em
tcnicas de programao de jogos e tem como finalidade principal auxiliar no processo de
ensino-aprendizagem em disciplinas como Teoria da Computao. Alm dos aspectos
tcnicos pertinentes ao funcionamento da aplicao, este artigo procura abordar as
vantagens do uso de simulaes no ensino superior, principalmente em processos que
envolvam conceitos complexos.
1. INTRODUO
Por que usar simuladores para o ensino de teoria da computao?
A pergunta que d ttulo a esta seo suscita uma srie de reflexes, todas elas
bastante relevantes, envolvendo duas reas do conhecimento, as quais tm freqentemente
aparecido interconectadas na atualidade: educao e cincia da computao. Na tentativa de
colaborar com a construo de conhecimentos que permitam trabalhar com estas duas
frentes, surge este artigo, tambm como resultado de um esforo de investigao, realizado
no ano de 2006, no mbito do Programa de Iniciao Cientfica da Faculdade Politcnica de
Jundia.
O carter complexo do conhecimento pertinente j foi assinalado por Morin (2002),
ao indicar que a linearidade e a simplicidade no se coadunam com a
multidimensionalidade que constitui a construo dos saberes contemporneos. Em meio ao
caos gerado pela diversidade das fontes de dados, da multiplicao exponencial dos meios
de acesso e das formas de conexo com as informaes e do fluxo incontrolvel de
produo destes elementos, dados e informaes, no h como pretender que o
conhecimento, uma construo pessoal refinada, se submeta a parcelizao em disciplinas
no comunicantes. Ao contrrio, diante dos desafios da complexidade, a
interdisciplinaridade parece colaborar de forma definitiva para que as iniciativas que visem

1
Professor da Faculdade Politcnica de Jundia (Anhanguera Educacional); Doutor em Educao (USP)
2
Faculdade Politcnica de Jundia.
subsidiar este processo de construo de conhecimentos tenham xito principalmente no
meio acadmico.
Alm disso, mltiplos meios de assimilao de dados esto disponveis na
atualidade, permitindo que as snteses pessoais que resultam em informaes possam ser
feitas para alm das dimenses primrias da oralidade e do texto escrito, ainda que estas
sejam formas muito importantes e vlidas neste processo. Entre esses outros, em adio aos
tradicionais meios de comunicao de massa, esto as novas tecnologias de informao e
comunicao (NTIC). As possibilidades das NTIC so amplas, incluindo comunicao e
ensino a distncia atravs de diversos paradigmas. Entretanto, tais tecnologias abrem novas
possibilidades tambm no ensino presencial, de forma a permitir que a estratgia
pedaggica do professor receba o auxlio de programas computacionais que pretendam dar
suporte ao processo de aprendizagem, por parte dos alunos, de contedos complexos. A
perspectiva do computador em sala de aula no a da substituio de professores por
mquinas.
As ferramentas computacionais, utilizadas como auxiliares do processo de ensino-
aprendizagem portanto devidamente encaixadas na estratgia pedaggica do curso
rendem largas oportunidades para a construo crtica do conhecimento. No realizam o
papel do professor, no ensinam, no resolvem todos os problemas das diversas dimenses
da escola, mas podem oportunizar, no contexto acanhado da sala de aula e para alm dele,
a dinmica da experimentao. (...) Para o aluno, surge a oportunidade de intervir, de usar
da tecnologia para tornar-se co-autor (Oliveira, 2004).
Para o professor, ento, o computador configura-se como um auxiliar valioso, desde
que utilizado com o planejamento devido. Mas os discentes, para os quais existem
contedos e estratgias, no esto esquecidos.
Diante da possibilidade de ampliar seu papel, o aluno encontra conexes e implementa,
efetivamente, uma interdisciplinaridade que lhe traz sentido e que mais do que um
simples projeto de interligao de contedos de disciplinas diversas. Alm disso, amplia-se
o espao interacional, composto por pessoas que aprendem juntas e pelo prprio
conhecimento no apenas informao (idem,ibidem).
Em uma sociedade na qual a interatividade est cada vez mais presente e na qual os
dispositivos que potencializam o uso dos sentidos constituem de forma crescente a vida das
pessoas, inclusive para aprender, propor que os computadores sejam usados para ensinar
uma teoria complexa parece muito razovel. Uma possibilidade aberta para o uso dos
computadores com fins educacionais a da simulao, definida por Oliveira como
(...) a utilizao de alguns aspectos de determinado universo, testados atravs de inseres
feitas em um modelo, admissvel neste mesmo universo. Trata-se de mtodo utilizado na
tecnologia educacional, geralmente chamado de simulao baseada em computador, e que,
na definio de Laurillard (1995), um programa que assume algumas instncias de um
aspecto do mundo, permitindo que o usurio faa entradas no modelo, execute-o e mostre
os resultados (Oliveira, 2000, p.44-45).
Como pode ser visto mais adiante neste trabalho, o conceito de mquinas universais, e
em especial o de mquinas de Turing, no mbito do ensino de disciplinas como Teoria da
Computao, bastante complexo, principalmente no que diz respeito operacionalizao
de mquinas especficas, dadas a partir de expresses regulares ou de funes. A
construo de um programa que efetue a simulao deste processo pode auxiliar no teste de
hipteses formuladas por professores e alunos, de modo a consolidar o aprendizado atravs
da experimentao. O carter interdisciplinar da proposta surge ao lanar uma viso mais
ampla em relao ao uso de simuladores deste tipo: o carter de subsdio aprendizagem
lgica tem interfaces importantes e integradoras com disciplinas como algoritmos, estrutura
de dados, matemtica discreta, entre outras.
2. MQUINA DE ESTADO FINITO E MQUINA DE TURING
2.1 Mquina de estado finito
A definio formal de mquinas de estado finito pode ser dada de acordo com a
proposio seguinte (Gersting, 2001, p.399):
M = [S, I, O, f
e
, f
o
] uma mquina de estado finito se S um conjunto finito de estados, I
um conjunto finito de smbolos de entrada (o alfabeto de entrada), O um conjunto finito
de smbolos de sada (o alfabeto de sada) e f
e
e f
o
so funes, onde f
s
:S x I s e f
o
:S
O. A mquina sempre comea inicializada em um estado inicial fixo s
0
.
Ao falar sobre este conceito, Gersting (op.cit., p.398) indica que as mesmas
constituem um modelo capaz de assimilar caractersticas de computadores atuais. Em
termos gerais, o que se pode entender sobre tais mquinas que as mesmas possuem, assim
como os computadores digitais, operaes sincronizadas por pulsos discretos, tm aes
previsveis, ou seja, funciona de forma determinstica, respondem a dados de entrada e
produzem dados de sada, mediante processos aplicados aos dados de entrada e de acordo
como a seqncia de estados, de ordem finita, que a mquina pode assumir.
O conceito de estado extremamente importante. Para Gersting (idem, ibidem), em
qualquer momento, a mquina est em exatamente um desses estados. Em qual estado ela
estar a seguir depende tanto do estado atual quanto dos dados de entrada. Ou seja, trata-se
de uma mquina conceitual, a qual, a cada ciclo de funcionamento, recebe um dado de
entrada, que, por sua vez, alterar o estado no qual a mquina se encontra, de forma a
emitir uma sada compatvel.
Como estado, ainda, pode-se entender uma memria que armazena um nmero
representativo do ponto do processamento no qual a mquina se encontra. O nmero de
estados deve ser finito, e a especificao de cada um deles conhecida no mbito da mquina
em questo.
Os dados de entrada da mquina so conhecidos e dados atravs de um alfabeto I, que
deve conter um conjunto finito de smbolos, entre os quais pode constar o smbolo e o
sentido matemtico de vazio ().
Em Gersting (2001, p.399), tem-se que a descrio particular de uma mquina de
estado finito compreende a definio dos conjuntos e funes pertinentes. As funes f
s
e f
o

podem ser definidas com o uso de tabelas de estados ou de grafos de estados, conforme
exposto nas figuras seguintes. Para as mquinas ali representadas, os conjuntos envolvidos
seriam S = {s
0
, s
1
, s
2
}, I = {0,1}, O = {0,1}.

Tabela 1. Tabela de estado (adaptado de Gersting, 2001, p.399)
Prximo estado
Entrada Atual
Estado
atual
0 1
Sada
S0 S1 S0 0
S1 S2 S1 1
S2 S2 S0 1

Figura 1. Grafo de estado (adaptado de Gersting, 2001, p.399)

2.2 Mquina de Turing
Em 1936, o matemtico britnico Alan M. Turing fez uma proposta que se mostrou,
posteriormente, muito avanada em termos cientficos para a poca: o dispositivo
conceitual que, em sua homenagem, ficou conhecido como mquina de Turing. Trata-se de
uma mquina de estado finito que agrega possibilidades adicionais, como a de reler os
dados de entrada, alm de escrever e apagar por cima dos mesmos (Gersting, 2001, p.419).
Este modelo representa um avano em relao s mquinas de estado finito tradicionais, de
modo a superar as limitaes encontradas em tais modelos, principalmente em uma
caracterstica que amplia de forma exponencial suas perspectivas: a mquina de Turing
possui memria auxiliar ilimitada (idem, ibidem).
Uma mquina de Turing contm um conjunto de quntuplas que definem seu
comportamento e uma fita, dividida em clulas, cada qual contendo apenas um smbolo
vlido de acordo com um alfabeto finito disponvel. Esta fita tem seu tamanho ilimitado, e
pode ser lida e escrita por uma cabea de leitura mvel (conceitual), a qual, a cada ciclo,
est parada sobre uma das clulas da fita. Um smbolo especial, geralmente b, permite
identificar as clulas em branco. Alm disso, a quantidade de clulas que no est em
branco em determinado momento sempre finita (idem, ibidem). A direo do movimento
dada por D (direita) ou E (esquerda).
Como definio formal, tem-se:
Sejam S um conjunto finito de estados e I um conjunto finito de smbolos para a fita (o
alfabeto da fita), incluindo um smbolo especial b. Uma mquina de Turing um conjunto
de quntuplas da forma (s,i,i,s,d), onde s, s S; i,i I; e d {D,E}, tais que duas
quntuplas distintas nunca comeam com os mesmos smbolos s e i (Gersting, 2001, p.420).

Figura 2. Quntupla para mquina de Turing


Figura 3. Exemplo de fita para Mquina de Turing e comportamento da mesma para a quntupla
(2,1,0,1,D)
3. PROTTIPO
A opo metodolgica adotada neste trabalho previu, desde o incio, a construo de
um prottipo em linguagem computacional que permitisse simular os conceitos
relacionados mquina de Turing. Para a criao do mesmo, foi escolhida a linguagem de
programao Java, dada sua independncia de plataformas, e por permitir que um mesmo
aplicativo possa ser executado tanto em ambiente desktop quanto na Internet, na forma de
applet.
Como forma de manter a portabilidade, todo o projeto foi criado como um
componente, no qual existe uma classe (TuringMachine) que encapsula todas as
funcionalidades. Todas as interaes entre usurio e mquina so realizadas atravs desta
classe. Desta forma, para portar a aplicao de um ambiente desktop, para um ambiente
web, necessrio apenas criar uma classe do tipo JApplet e instanciar a classe
TuringMachine, inicializando a mesma de forma adequada.
Com o propsito de simulao para o aprendizado, a tela principal do prottipo foi
criada para ser intuitiva e de fcil utilizao, podendo ser dividida em 5 partes bsicas:
menu de opes, estado atual, quntuplas, fita e prximo passo. O menu, situado na parte
superior da tela, procura proporcionar facilidade no acesso s funcionalidades do prottipo.
Na rea de estado atual, situada na parte superior esquerda da tela, possvel visualizar o
estado atual da mquina. As quntuplas cadastradas so apresentadas na parte direita da
tela, em forma de lista, permitindo que uma grande quantidade das mesmas seja exibida. A
fita, situada na parte inferior da tela, possui um quadrado vermelho, com o texto em negrito
no centro, simbolizando a cabea de leitura. J o smbolo de cor vermelha, que aparece ao
lado da cabea de leitura ( esquerda ou direita, dependendo do caso), simboliza o ltimo
smbolo alterado. Na funcionalidade de iniciar a prxima transio, existe o boto prximo
passo, situado na parte inferior central da tela.
Implementado na forma de depurador, o prottipo fica aguardando a instruo por
parte de seu operador para que seja executado o prximo passo das transies da mquina,
o que feito atravs de um boto. A interao do usurio com o prottipo feita atravs da
solicitao para a realizao da prxima transio, o que pode ser considerado como a
simulao do pulso discreto que faz com que a mquina funcione.

Figura 4. Tela principal do prottipo
Tratando-se de uma aplicao que utiliza gerao de imagem para a criao da
interface, foram utilizadas tcnicas de programao para jogos, como Double Buffer para
melhoria de performance, alm do uso de bibliotecas grficas bsicas.
3.1. Controle da Fita
Tendo como base a teoria de Mquina de Turing, que define a fita como ilimitada, e
sempre preenchida o smbolo b esquerda e direita, adotou-se a opo de no armazenar
os valores em branco. Desta forma, foi escolhida, como estrutura de dados responsvel pela
representao da fita, uma lista ligada de objetos do tipo string, na qual sero elementos da
mesma apenas os valores diferentes de branco. Assim, no existem limitaes para o
tamanho da fita, sendo este limite definido apenas pela capacidade de armazenamento de
informao na memria do computador utilizado na simulao.
O algoritmo criado responsvel por remover os smbolos nas extremidades esquerda
e direita da fita quando marcados como branco, e tambm criar novos smbolos na lista
quando o b da extremidade for alterado para um outro smbolo do alfabeto vlido. No caso
de alterao da informao escrita, quando no for branco, o smbolo presente alterado
pelo novo smbolo informado na quntupla, sem que sejam realizadas outras operaes.
Com o intuito de facilitar a interao com o usurio, o prottipo dispe de uma tela
exclusiva para insero e deleo de novos elementos na fita, conforme exibe a prxima
figura.

Figura 5. Tela de edio de fita
3.2. Quntuplas
As quntuplas so modeladas no prottipo como uma classe na qual so informados
os valores para cada um dos cinco atributos. Todos os valores so representados como
strings, exceto o sentido do movimento, que ser representado pelo tipo char, sendo
aceitos, no caso, apenas os caracteres D e E (direita e esquerda, respectivamente).
Como forma de facilitar a escrita da quntupla na tela, foi sobrescrito o mtodo
toString(), para que, ao ser chamado, o mesmo retornasse um texto no formato apresentado
pelo quadro seguinte.
(e, i, i, e, s)
onde:
e Estado atual
i Smbolo lido
i Smbolo a imprimir
e Prximo estado
s Sentido do movimento
Quadro 1. Modelo de exibio das quntuplas pelo mtodo toString()
Visando uma melhor performance durante a execuo do prottipo, e tambm na
verificao para evitar ambigidades, o que faria a mquina parar, as quntuplas, so
armazenadas na forma de tabela hash, implementada com a classe HashMap. Como chave,
foi definido que seriam utilizados o estado atual e o smbolo lido, separados por vrgula.
A tela de edio de quntuplas, da mesma forma que as demais, foi concebida como
facilitadora para a interao entre usurio e aplicao, de forma que aquele possa incluir,
alterar, consultar ou excluir os dados necessrios operacionalizao do modelo.

Figura 6. Tela de edio de quntuplas
3.3. Transies
Para realizar as transies, a tabela hash pesquisada, com a finalidade de encontrar a
quntupla que atenda ao estado atual e ao smbolo lido. Desta forma, retorna-se o objeto
representando a quntupla que satisfaa a condio de estado atual x smbolo lido, sendo
tal retorno armazenado para que seja utilizado na realizao da transio.
De posse da quntupla necessria para realizar a transio conhecida, o prottipo
realiza a modificao do elemento que est sendo apontado na fita. Neste movimento, o
prottipo verifica qual ser o novo estado, realizando a alterao do estado atual de acordo
com este dado. Terminados todos os passos, a aplicao verifica se o movimento da fita
ser para a esquerda ou para a direita.
Caso no exista uma quintupla que satisfaa a relao elemento lido x estado atual,
o valor da quintupla a ser utilizada ser vazio, no sendo possvel realizar a transio,
caracterizando o travamento da mquina (ocorrncia prevista no modelo original).
Inicio
quintupla := encontra_quintupla(estado_atual, simbolo_lido);
fita.simbolo_atual := quintupla.smbolo_atual);
estado_atual := quintupla.prximo_estado;
SE quintupla.movimento = E ENTO
move_fita_esquerda();
SENO
move_fita_direita();
Fim;
Quadro 2. Pseudocdigo da transio
3.4. Movimento da Fita
O movimento da fita dado pelo ndice do smbolo da fita que est posicionado sob a
cabea de leitura, chamado de itemAtual. Desta forma, quando realizado um movimento
para a esquerda, o itemAtual decrementado em uma unidade, para que a cabea de leitura
aponte para o smbolo a esquerda do atual, podendo receber valor negativo caso a cabea de
leitura esteja posicionada sobre o branco na extremidade esquerda da fita. Caso o
movimento seja realizado direita, o itemAtual ser incrementado em uma unidade,
fazendo com que a cabea de leitura aponte para o smbolo direita do atual, podendo o
valor do ndice ser igual quantidade de elementos da fita (considerando que o ndice
iniciado em zero), quando a cabea de leitura estiver posicionada sobre o branco na
extremidade direita da fita.
3.5. Gerao do grafo de estados
Para gerao do grafo de estados, foi criado um algoritmo que, primeiramente,
percorre todas as quntuplas cadastradas, armazenando todos os valores de estado atual e
prximo estado que ainda no tenham sido cadastrados, dando um ndice a cada novo
estado encontrado.
Tendo todos os estados mapeados, uma matriz quadrada criada para armazenar as
adjacncias, com o tamanho igual quantidade de estados encontrados. Aqui, o ndice das
linhas e das colunas refere-se ao ndice dado ao estado na primeira etapa do processo. A
varredura das quntuplas realizada novamente, sendo verificado o estado atual e o
prximo estado das mesmas. Cada quintupla , ento, inserida na posio referente
coordenada de linha referenciada pelo ndice do estado atual e coordenada de coluna
referenciada pelo ndice do prximo estado.
No processo de gerao da imagem, os estados so distribudos na tela de forma
aleatria, sendo interligados com retas.

Figura 7. Grafo de estados gerado pelo prottipo
Indicando o estado de destino, inserido um quadrado, que tem suas coordenadas
centrais informadas atravs do pseudocdigo do prximo quadro. Utilizando o algoritmo
proposto, necessrio verificar se o estado de destino est posicionado direita do estado
de origem. Em caso positivo, deve-se realizar uma normalizao na equao para que o
quadrado seja desenhado do lado oposto, pois o resultado do arco da tangente, neste caso,
um valor que compreende a metade direita da esfera do estado, e no caso de o estado de
destino estar a direita do estado de origem, o quadrado dever ser desenhado do lado
esquerdo. Neste ltimo caso, necessrio adicionar 180 ao grau encontrado.
Inicio
m = (y_fim y_inicio) / (x_fim x_inicio);
grau = ArcTan(m);

SE (x_inicial - x_final < 0) ENTO
grau = grau + 180;

cosseno = Cosseno(grau);
seno = Seno(grau);
x = x_fim + (cosseno * 12);
y = y_fim + (seno * 12);
Fim;
Quadro 3. Pseudocdigo para gerao do quadrado indicador de direo
4. DISCUSSO DOS RESULTADOS
De forma a buscar subsdios para afirmar que o simulador aqui descrito pode
representar um recurso adicional que auxilia de forma efetiva a estratgia pedaggica do
professor, o mesmo foi submetido ao uso por parte dos alunos do sexto e oitavo semestres
do curso de cincia da computao da Faculdade Politcnica de Jundia, de forma no-
estruturada. Semelhantes testes se mostraram promissores, j que os alunos demonstraram
entender o funcionamento da mquina e assimilar a teoria subjacente. Isto indica a
possibilidade de implementar o uso do prottipo em situaes reais de ensino, no mbito de
palestras, seminrios e aulas. O uso em laboratrio tambm foi bastante elogiado pelos
discentes, uma vez que em semelhantes situaes, h a possibilidade de interagir
diretamente com o sistema, simulando situaes encontradas em exerccios de disciplinas
como Teoria da Computao. Alm disso, no laboratrio, a idia de simulao se completa
atravs da interao com o dispositivo, o que pode ser feito de forma individual ou em
grupo. No segundo caso, percebeu-se a possibilidade de promover um aprendizado em
colaborao consistente, uma vez que os resultados obtidos com o uso do programa podem
ser amplamente discutidos, criticados e expostos, na forma de dvidas ou comentrios, ao
professor e aos demais colegas.
Em um segundo momento, o prottipo foi testado atravs do uso por dez alunos de
outra instituio, tambm estudantes de cincia da computao. Tais alunos foram
selecionados aleatoriamente entre um grupo de estudantes que apresentava dificuldades na
compreenso dos conceitos trabalhados na disciplina Teoria da Computao, componente
do sexto semestre (o curso todo tem oito semestres). Aps utilizarem o sistema para estudo,
questes equivalentes s relacionadas em provas nas quais os alunos em questo tinham
encontrado dificuldades foram elaboradas pelo professor. Apuradas as respostas, constatou-
se que:
Nenhum aluno obteve resultado menor do que aquele conseguido na prova
oficial;
Trs alunos obtiveram resultados semelhantes aos obtidos na avaliao anterior;
Trs alunos melhoraram o desempenho em relao aos conceitos obtidos na
prova oficial, mas ainda permaneceram abaixo do conceito mnimo para
aprovao (aumento mdio de 31% nos acertos);
Quatro alunos ampliaram seus desempenhos pessoais, atingindo conceitos iguais
ou superiores aos necessrios para aprovao (aumento mdio de 39% nos
acertos).
Ou seja, nos testes iniciais, as impresses e os dados recolhidos permitem afirmar
que o prottipo pode auxiliar no ensino e na aprendizagem do conceito de mquina de
Turing, j que a maioria dos usurios revelou progressos no entendimento do assunto em
foco.
5. CONSIDERAES FINAIS
A primeira considerao necessria a de que o prottipo deve passar por mais
amplos testes, de modo a recolher impresses de um nmero maior de usurios. Os
resultados iniciais foram promissores, permitindo supor que o refinamento do sistema, com
a incluso de outros tpicos da mesma rea de conhecimento e de reas correlatas, tem
amplas perspectivas de sucesso na composio de uma ferramenta de suporte ao trabalho
docente. Este refinamento pode tocar tanto os algoritmos que determinam o funcionamento
da mquina, quanto as interfaces que promovem a interao com alunos e professores.
Alm disso, a eficincia do emprego do mesmo como instrumento auxiliar do processo de
ensino-aprendizagem, apesar das indicaes mencionadas, pede, tambm, uma testagem
mais intensa, talvez com um nmero maior de sujeitos e com metodologias experimentais.
A experincia de construo de um simulador que tem por finalidade implementar o
uso de um modelo cuja teoria no se furta complexidade deixou a impresso que o uso de
dispositivos computacionais como parte da estratgia pedaggica nos cursos superiores
um campo a ser explorado largamente. Inmeras possibilidades acenam para a confeco
de outros tantos aplicativos que venham a lidar com teorias em relao s quais surgem
inmeras dificuldades no mbito dos processos de ensino-aprendizagem. Os cursos de
cincia da computao tm diversos assuntos que podem ser encarados desta forma, mas
isso no muito diferente nas disciplinas referentes s engenharias ou matemtica, por
exemplo, para as quais o conceito aqui implementado poderia ser expandido.
O percurso para a criao de semelhantes modelos demonstrou, pelo menos no que
diz respeito a esta investigao, constituir-se em um desafio, tamanho o nmero de
descobertas e de novas necessidades que se interpunham entre a teoria em si e sua
implementao no dispositivo. Estes impasses fizeram com que a teoria fosse
constantemente revisitada, o que levava a um trabalho adicional de construo de cdigos
em Java e de testes exaustivos dos mesmos, at que uma soluo satisfatria fosse
encontrada. E isso tudo em relao a uma tese apresentada em 1936! Este fato no deixa de
causar a impresso de que, dado o carter incontrolvel da expanso das possibilidades de
conhecimento nos dias atuais, as simulaes computacionais possam vir a ter uma maior
relevncia na busca por compreenso de fenmenos, teses e teoremas de relevo para a
formao do estudante contemporneo.
No , sobretudo, um trabalho simples, nem tampouco fcil. Mas a experincia
gratificante, medida que se percebe que a teoria, tantas vezes incompreendida no mbito
da sala de aula, pode surgir com novos contornos, apresentada de uma forma que venha a
possibilitar outros meios para sua assimilao.
6. BIBLIOGRAFIA
DIVRIO, Tiaraju A; MENEZES, Paulo B. Teoria da computao: mquinas
universais e computabilidade. Porto Alegre: Sagra-Luzzato, 2000.
FONSECA, Ijar. Mquinas de Estado Finito. Disponvel em:
http://www2.dem.inpe.br/ijar/MaqFin1.doc Acesso em: 01 dez. 2005.
GERSTING, Judith L. Fundamentos matemticos para cincia da computao. 4.ed.
Rio de Janeiro: LTC, 2001.
HORSTMANN, Cay; trad. FURMANKIEWICZ, Edson. Big Java. Bookman: Porto
Alegre: 2004.
Javadoc. Sun Microsystem. Disponvel em: <http://java.sun.com/j2se/javadoc/>.
Acessado em: 11 set. 2006.
MORIN, Edgar. Os sete saberes necessrios educao do futuro. 5.ed. So Paulo:
Cortez; Braslia, DF : UNESCO, 2002.
MORELLI, Ralph; WALDE, Ralph; Java, Java, Java: Object Oriented Problem
Solving.3 ed. Estados Unidos: Prentice Hall.
OLIVEIRA, Gerson Pastre. Teoria da Computao (mimeo). Jundia: FPJ, 2005.
OLIVEIRA, Gerson P. Construo coletiva do conhecimento atravs de uma
experincia de incentivo autonomia dos estudantes no aprendizado de matemtica
discreta. Anais do VII Encontro Paulista de Educao Matemtica, p. 136-137, 2004.
OLIVEIRA, Gerson P. O Uso de Sistemas Computacionais na Avaliao Formativa
de Estudantes. Dissertao de Mestrado. Universidade So Francisco: Bragana
Paulista, 2000.

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