Mecanismos disponíveis para a avaliação de aprendizes através de computadores

Por Dalton Lopes Martins

1. INTRODUÇÃO

Avaliar, sob determinada visão pedagógica, é questionar e refletir sobre o processo de transmissão da informação e a forma como essa informação transforma-se em conhecimento. A computação e a ciência da informática trouxeram a automatização de vários processos técnicos, científicos e industriais. A questão em relevância no contexto desse artigo é de que forma a avaliação pode ser encarada como um processo, de que forma a computação pode se inserir nesse processo para automatiza-lo, através dos mecanismos de que dispomos hoje.

2. EMBASAMENTO

O levantamento bibliográfico para o embasamento deste artigo levou em consideração questões que pudessem levantar reflexões a respeito do processo da avaliação, em primeiro momento. A partir disto, quando esse processo foi melhor compreendido, passou-se a pesquisar a forma como a avaliação pode ser realizada através do uso de computadores. Tendo como referência temas como agentes, lógica fuzzy, bancos de dados e analisadores de lingüísticos, o resto dos artigos complementou a informação necessária nos temas acima citados.

3. OPINIÃO

Segundo o artigo “O processo de avaliação na educação à distância”, há várias formas diferentes de se enfocar a avaliação: tradicional (utiliza de verificação de curto prazo e prazo mais longo; punição e reforço positivo), tecnicista (avaliação de comportamentos observáveis e mensuráveis, controle de comportamento face a objetivos pré-estabelecidos), libertadora (a verificação direta da aprendizagem é desnecessária, pois a avaliação ocorre da prática vivenciada entre educador/educando e a auto-avaliação em termos de compromisso assumido com a prática social), progressista (a avaliação é realizada a qualquer momento, pois sua preocupação é diagnosticar falhas e valoriza outros instrumentos que não as provas). Dentro do contexto de cada uma das formas acima mencionadas, os computadores podem ser usados.

No entanto, antes de se partir para uma análise propriamente dita dos mecanismos disponíveis para a avaliação de aprendizes através dos computadores deve-se questionar o que se deseja avaliar. Em uma abordagem generalista, o artigo “Evaluation for distance educators” enumera uma série de pontos a serem observados a esse respeito: uso da tecnologia, formato das aulas, clima do curso, quantidade e qualidade da interação com outros estudantes e com o professor, conteúdo do curso, testes, serviços de suporte, realizações dos estudantes, atitude dos estudantes e o professor. Esses tópicos oferecem variadas métricas que podem se adaptar a diferentes visões pedagógicas a respeito do processo da avaliação, rompendo a barreira limitante da visão tradicional.

Algumas ferramentas que podem auxiliar no processo de obtenção e análise dessas métricas acima mencionadas são propostas nos artigos de embasamento. O artigo “Ferramentas de análise e acompanhamento de cursos” propõe uma técnica que analisa o log (arquivo de registro de acesso de páginas http) gerado automaticamente pelos servidores e realiza uma filtragem de onde é gerado um arquivo com as informações mais relevantes (identificação do usuário, data e hora da utilização e a página acessada). Dessa forma pode-se gerar um banco de dados e analisar as informações para se levantar características comportamentais do usuário em relação ao sistema.

Já em PEREIRA RODRIGUES (2000), propõe uma técnica de avaliação através de agentes, que podem interagir com o ambiente, comunicando-se com outros agentes, influenciando o comportamento dos mesmos, ou seja, possibilitando a mudança de estratégia ou metodologia de ensino, caso se perceba um baixo desempenho do estudante.

Dessa forma, o agente interage com as ações do estudante no sistema computacional e pode auxiliar na análise de vários quesitos que não podem ser diretamente medidos através de provas e testes tradicionais. Já em ZHOU (1999), é proposta uma técnica baseada em lógica fuzzy, que está ligada a análise de situações onde não há condições de contorno bem definidas para um conjunto de atividades ou observações, dando determinados pesos a certas ações previamente estabelecidas e obtendo-se uma métrica relativa a essa análise. Essas algumas das ferramentas propostas e que somente podem ser implementadas através do auxílio de computadores.

No artigo “O processo de avaliação na educação à distância” é mencionado alguns sistemas de avaliação na web. Vale a pena aqui citar alguns. CyberQ é um sistema onde tem-se a implementação de uma estratégia de avaliação multi-característica e multi-método de vários alunos e em diferentes níveis, agregando um grande número de informações para avaliações futuras. Carnegie Mellon University é um sistema baseado em bancos de dados, onde é armazenado todo o conteúdo do curso, através de informações declarativas, e processadas por um sistema genérico. WebCT é um sistema que tem a capacidade de registrar conversas em um banco de dados, permitindo o monitoramento dessa conversação; também permite gerar perguntas on-line que são feitas enquanto o aluno está acessando a página.

Todos esses sistemas agregam determinadas técnicas e tecnologias que permitem várias abordagens pedagógicas e praticamente contemplam todas os pontos sugeridos como métricas para a realização de uma avaliação completa do processo educativo, permitindo-se considerar diferentes perfis de estudantes, suas capacidades e limitações, possibilitando-se dessa forma que a avaliação fuja da estigma de um processo traumático para o estudante e se torne um mecanismo de construção efetivo do conhecimento.

4. CONTRA-POSIÇÃO

Em P. de SOUZA, é dito que um sistema de perguntas e respostas por computador deve ter suas respostas bem programadas, sem a menor chance de gerar dúvidas. Acredito que isso seja um ponto consideravelmente limitante do uso computador, não permitindo e abrindo espaço para a criação de padrões novos de resposta, tornando-se o processo algo mais mecanizado e padronizado do que se deveria esperar de uma avaliação completa do processo educativo.

5. BIBLIOGRAFIA

1. O processo de avaliação na educação à distância. Universidade Federal do Rio Grande do Sul.
2. Ferramenta de análise e acompanhamento de cursos. Projeto Sapiens, Unicamp, 2000.
3. Evaluation for Distances Educators. College of Engineering, University of Idaho.
4. P. DE SOUZA. A avaliação como prática pedagógica. Associação Brasileira de Educação Agrícola Superior – ABEAS.
5. PEREIRA RODRIGUES, Alessandra, (2000). Agente avaliação de ensino e aprendizagem em EAD. Universidade Federal do Rio Grande do Sul, 2000.
6. ZHOU, Duanning, MA, Jian, QIJIA, Tian, KWOK, Ron C. W., (1999). Fuzzy group decision support system for project assessment. Proceedings of the 32nd Hawaii International Conference on System Sciences, 1999

Agentes de Software: uma breve introdução

Por Dalton Lopes Martins

Após a explosão do uso doméstico da Internet, na metade dos 90, uma tecnologia tornou-se a coqueluche dos desenvolvedores de software para ambientes de rede e sistemas distribuídos: os agentes de software. No entanto, agentes não são programas que rodam apenas em ambientes voltados para redes, como veremos a seguir, mas podem ser utilizados em várias situações, como agentes de interface (lembram-se do “chato” clip do Word?), gerenciadores de desktop, entre outras aplicações.

Mas, o que define, o que determina que um programa seja um agente de software? Um agente é, antes de mais nada, um programa desenvolvido em uma linguagem de programação qualquer. No entanto, há algumas características na implementação de um agente que o diferenciam de um programa clássico.

O agente deve possuir alguns requisitos necessários para que seja considerado como tal: um ciclo de vida contínuo no tempo, um ambiente de atuação, sensores que recolham informações do ambiente, atuadores que causem mudanças no ambiente e autonomia, ou seja, funcionamento independente da interferência do usuário. Agora, podemos definir melhor cada um desses requisitos.

O ambiente é a área de atuação do agente e pode ser, teoricamente, qualquer parte independente que possamos identificar num sistema. Podemos considerar como ambiente o sistema de arquivos local onde podemos ter rodando um agente de mirror, que espelha o conteúdo de um diretório em outro; podemos considerar como ambiente a Internet no caso de agentes spider, que caminham de site em site verificando a validade de links; podemos considerar como ambiente uma LAN (Local Area Network) no caso de um agente que verifique os usuários conectados e as aplicações que usam; ou, até mesmo podemos considerar um ambiente a própria área de desktop do sistema operacional no caso de um agente de interface.

Os sensores são os mecanismos que utilizamos para captar as mudanças que ocorrem no ambiente, como os sockets (mecanismo que cria uma conexão entre duas máquinas através de uma porta de comunicação e do IP de ambas) e os métodos que permitem obter informações do sistema, como rotinas para obtenção de data, hora, listagem de um diretório, etc.

Os atuadores são os mecanismos que utilizamos para efetuar alguma alteração no ambiente, como os próprios sockets (a conexão criada é bi-direcional, permitindo tanto ler quanto escrever), métodos para apagar arquivos, para desenhar algum objeto na tela, exibir informações, etc.

O ciclo de vida de um agente representa o tempo em que ele se encontra em execução no objetivo de realizar uma determinada tarefa. Após esse tempo, o processo que executa o agente irá morrer ou ficará “dormindo” durante outro intervalo de tempo. Como exemplo, podemos imaginar um agente que realiza backup de um servidor FTP para o disco local da máquina de um usuário. Se o agente ficar o tempo todo lendo o servidor, a máquina do usuário irá ficar praticamente paralisada. No entanto, o agente lê as informações de arquivos do servidor, atualiza no cliente e dorme por um tempo, retornando após para novamente procurar por mudanças no ambiente.

A autonomia é a principal característica de um programa que o torna um agente. Ela indica que o programa será executado independente da intervenção do usuário, ou seja, ele será capaz de controlar seu próprio fluxo de ações.

Desta forma, temos caracterizado os requisitos que tornam um programa um agente. A partir disso, podemos imaginar diferentes aplicações e tecnologias que possam servir como motivação e base de apoio no desenvolvimento de programas orientado a agentes na programação de jogos de computador.

Agentes de software e desenvolvimento de Jogos

No desenvolvimento de jogos, um fator importante e essencial é a inteligência que há por trás da interface, ou seja, o mecanismo que vai processar as ações tomadas pelo usuário e gerar uma reação por parte do sistema ao usuário. A programação clássica dessa inteligência se dá através do paradigma comportamental, ou seja, o programa supõe uma série de comportamentos possíveis por parte do usuário e, com base nisto, irá gerar uma reação também previamente determinada. O problema dessa forma de lidar com a inteligência do sistema é que ela limita as ações possíveis por parte do usuário e permite que o mesmo descubra o padrão de análise de movimentos utilizado pelo programa, gerando aquelas cômicas situações onde o usuário cria mecanismos para burlar o sistema e assim avançar no jogo.

Os agentes podem ser utilizados para resolver esses problemas e criar jogos mais dinâmicos e interativos. A autonomia de execução de um agente pode ter vários níveis de complexidade, permitindo desde o nível mais básico onde o agente possa controlar suas próprias ações, até o nível mais alto, onde o agente possa tomar decisões orientado a metas específicas e utilizar mecanismos de análise para verificar se está sendo bem sucedido ou não.

Esse nível de programação exige por parte do programador o conhecimento de alguns conceitos que possam auxiliar no modelamento do agente, como processamento distribuído, threads que permitam a execução paralela de pedaços de um programa, construção paralela de sensores e atuadores que permitam o nível de interação desejada, entre outros fatores.

Iremos trabalhar cada um desses conceitos ao longo do tempo e fornecer exemplos de aplicações desenvolvidas na linguagem JAVA. Por enquanto, fica a idéia e a motivação inicial para se considerar uma nova forma de programação no desenvolvimento de jogos para computadores.

Jogo Generally

Imagem Generally - Tela de jogo

Alguém já teve a vontade de ter um jogo no seu PC, mas que fosse divertido como aqueles jogos do ATARI? Os mais velhos responderão certamente que sim.

Um dos maiores problemas nos jogos atualmente é que eles são tão perfeitos que, ao invés de estimular a imaginação, como os jogos mais antigos faziam, hoje, justamente pecam por não fazer isso. Naquela época, na quase pré-história da informática, dava-se muito mais atenção ao jogo em si, do que a aparência dele (tudo bem, existia uma grande barreira técnica para se fazer o que se faz hoje, mas os jogos eram mais divertidos e bem bolados).

O jogo mais “moderno” que eu conheço e que era uma delícia jogar e que lembrava esses jogos mais antigos, era o jogo ROAD FIGHTER, para MSX. O jogo era simples, com um visual mais bonitinho que um enduro do ATARI (pudera, o jogo era de 1985).

Imagem do jogo Road Fighter - MSX
ROAD FIGHTER, da CASIO. Um grande jogo de corrida para MSX.

Bem, demorou muito para eu achar outro jogo que eu curtisse tanto para jogar. Finalmente, alguém, e é claro que tinha de ser de alguém da Finlândia, resolveu usar inteligentemente os recursos atuais e fizeram o GeneRally, um jogo de carros que vem ocupando bastante meu tempo ultimamente e que com certeza, vai passar a dividir o seu tempo também, ao meio desses DOOMS da vida.

TELA PRINCIPAL, CONTROLES E CONFIGURAÇÃO

Engana-se quem acha que encontrará uma grande apresentação no início do jogo. O jogo vai direto ao ponto, entrando num menu onde contém os jogadores e pistas disponíveis.

Imagem: Generally - Menu principal
Generally – Menu principal

Na parte de cima da tela, você define o tamanho da prova. Ela pode ser por voltas na pista ou por quilômetros. Logo abaixo, está a lista de corredores. Dentro da caixa, estão os jogadores disponíveis. Do lado esquerdo, onde estão as linhas, são os jogadores selecionados que participarão da corrida. O jogo está limitado a 6 jogadores ao mesmo tempo.

O jogo, por default, não possui nenhum tipo de piloto pronto. Você deverá criar um novo piloto selecionando o botão “CREATE DRIVER”. Abrirá uma janela onde você colocará o nome do jogador, se ele é humano ou é o computador (Aqui existe um sistema de IA para o computador jogar como oponente). Após criar ao menos um “DRIVER”, você deverá selecioná-lo e escolher uma das pistas na parte de baixo da tela. Selecione uma delas.

O JOGO

Imagem Generally - Tela de jogo
Generally – Tela de jogo

Se você selecionou apenas 1 corredor na pista, o jogo entra no modo time trial. Ou seja, você vai jogar contra você mesmo e suas melhores marcas. O jogo guarda as suas melhores voltas em cada pista e você deverá ganhar de você mesmo! Se selecionar mais de um piloto, o jogo entra no modo corrida,e você deverá fazer o impossível para ganhar(isso não é nenhum trocadilho — o jogo é difícil mesmo).

Os comandos, por default, são as 4 teclas direcionais para o JOGADOR, sendo a tecla UP o acelerador, DOWN, para brecar e LEFT/RIGHT para virar.

Imagem Generally - Alguns tipos de carros
Generally – Alguns tipos de carros

Uma das coisas legais do jogo é a variedade de carros disponíveis. Tem desde carros de rali, passando por Formula 1, MINI(o carro inglês), até TRUCK. Muito legal.

O EDITOR DE PISTAS

Provavelmente, o grande barato do jogo é o editor de pistas. Particularmente dizendo, eu nunca tinha visto nada parecido. Ele é muito versátil e permite você fazer praticamente qualquer coisa.

Generally – Editor de pistas

O editor de pistas parece um editor gráfico, de tão flexível que ele é. Pode-se fazer qualquer coisa praticamente. Veja o mapa acima (que foi feito em 5 minutos, é verdade). E veja o resultado final:

Generally - Resultado da pista editada
Generally – Resultado da pista editada

Perceba que até mesmo os defeitos da imagem original encontram-se na pista, durante o jogo. Ou seja: PERFEITO!!!

ALGUMAS PEQUENAS PERGUNTAS AOS AUTORES

Quem são vocês e onde vocês moram ?
Meu nome é Hannu Rabina e o meu irmão se chama Jukka Rabina. Nós somos os desenvolvedores do GenneRally. Nós moramos na Finlândia.

Quem teve a idéia original do jogo ?
Jukka teve a idéia original do jogo e iniciou o projeto. Eu me envolvi logo depois.

Vocês tiveram alguma “inspiração” especial para fazer o jogo ?
Sim, um jogo chamado Slicks’n’slide. Não se encontra muitos jogos como ele por ai. Simples e divertido. Eu gostaria de dizer que a idéia nunca foi copiar o “Slicks” porque acho que ninguém conseguiria fazer algo daquele tipo.

Vocês possuem colaboradores para desenvolver o projeto ?
Não. Somente nós programamos ele. Também tem algumas pessoas que testam o jogo antes de atualizarmos o programa para o público.

Que linguagem vocês utilizaram para desenvolver o jogo ?
Somente C++.

Para quando podemos esperar uma nova versão do GeneRally ?
Você pode esperar algo novo sim, mas poderá esperar por muito tempo. Nós estamos desenvolvendo ele e lançaremos uma nova versão quando acharmos que ele está pronto. Não existe data definida.

Se um nova versão do GeneRally for lançada, podemos esperar suporte rede (multiplayer)?
É uma possibilidade. Mas não temos planos para isso também.

CONSIDERAÇÕES FINAIS

O jogo é muito bom. Talvez o único problema dele seja o excesso de rigor que a IA do jogo oferece. A curva de aprendizagem do jogo é média e, ao configurar o “DRIVER” como computador, trate de colocar o número da IA bem baixo, pois caso contrário(e mesmo assim) você terá problemas para vencer.

A melhor notícia é que o jogo é GRATIS!!!!!!!! Pode ser baixado na página oficial do jogo em http://generally.rscsites.org/. Na página, há um forum com dezenas (Acho que centenas) de novas pistas que podem ser baixadas para você jogar no seu computador.

Bom divertimento!!!

Cobras

Jogo Cobras - Tela de abertura
Jogo Cobras – Tela de abertura

Cobras é o jogo desenvolvido pela XUTI SOFTWARE em 2002. Cobras é um jogo estilo Nibbles. Para quem não conhece, nada mais é que uma cobrinha. Sim, uma cobrinha, e seu objetivo é permanecer vivo, comendo os “pontos” que aparecem na tela. Você talvez conheça esse jogo de seu celular.

Fácil? Bem, seria se o seu personagem, a “cobrinha”, não fosse aumentando de tamanho, fazendo com que você tenha que ser um verdadeiro malabarista para não dar um nó em você mesmo. Vamos ver se você é realmente capaz!!

Nibbles foi o primeiro nibbles no mundo que suporta SKINS, podendo ser utilizado como advergame. Maiores informações, entre em contato com a XUTI SOFTWARE.

COMO JOGAR ?

As regras do jogo são bem simples. Controlando a cobrinha por meio das teclas cursoras, você não pode colidir com as paredes laterais do jogo e nem com você mesmo. O resto pode, e deve, para ganhar muitos pontos. Na versão básica do jogo, os pontos são representadas por “$” e você deverá pegá-los. Cada vez que você ganhar pontos, a “cobrinha” altera seu tamanho. O jogo, na versão atual (versão 1.0) não suporta mouse, mesmo em modo janela.

A tecla “P” pausa o jogo a qualquer momento e a tecla “ESC” interrompe o jogo em qualquer momento.

Deve-se apertar a tecla “ENTER” para entrar em menus.

Jogo Cobras - Tela do jogo...
Jogo Cobras – Tela do jogo…
Jogo Cobras - Score
Jogo Cobras – Score

REQUERIMENTOS DO SISTEMA

Para executar o jogo COBRAS você precisa do WINDOWS 95 ou superior e monitor com placa de vídeo com no mínimo suporte a 256 cores e resolução de 640×480. A quantidade de memória é variável, dependendo do arquivo DAT que você estiver utilizando. No arquivo DAT padrão do sistema, é necessário 10Mb de memória RAM, mas esse valor pode mudar, dependendo do arquivo que você estiver utilizando. Adicionalmente, você deverá atender o mínimo exigido a seu sistema operacional.

Jogo Cobras - Créditos
Jogo Cobras – Créditos
Jogo Cobras - Skin?
Jogo Cobras – Skin?

MUDANÇA DE TEMAS

O arquivo DAT é o arquivo que contém todas as informações gráficas e sonoras essenciais ao jogo. Ele encontra-se no diretório “dat” do jogo, na versão windows. E para que é importante você saber isso? Essencialmente é para você saber como o programa funciona e para entender o que o menu configuração faz no seu programa.

Se você possui outro(s) arquivo(s) DAT para o programa, entre na opção CONFIGURAÇÃO, no menu principal do jogo (Selecione com as teclas e aperte “ENTER”). A seguir, o menu de configuração aparecerá. Você pode ajustar, além da quantidade de vidas que você terá no jogo, a velocidade dele.

Mas o que importa é o DAT, então vá na opção DATAFILE. Ao lado estará escrito o nome do arquivo que está sendo usado. Você poderá mudar o DATAFILE utilizado utilizando as setas cursoras e teclando <ENTER>. Você perceberá as mudanças imediatamente.

Jogo Cobras - Skin MSX
Jogo Cobras – Skin MSX
Jogo Cobras - Skin MSX (fundo Aleste)
Jogo Cobras – Skin MSX (fundo Aleste)

DOWNLOAD:

Você pode acessar a área de Downloads do site.

Você pode fazer o download diretamente aqui:

Download “Cobras” cobras.zip – Baixado 5981 vezes – 2 MB

Ou você pode baixar o jogo diretamente do site Superdownloads.

Senha

Jogo Senha
Jogo Senha

O jogo SENHA foi desenvolvido originalmente pela PROINFO Software, em 1995. O programa foi feito para o ambiente DOS/Turbo C, mas funciona sem problema sob o ambiente WINDOWS. Foi desenvolvido basicamente com a finalidade de aprender a utilizar strings em C.

O arquivo senha.rar, disponível na seção download, contém 3 versões do programa:

senha01.c Código fonte original do programa
senha01.exe Primeira versão do programa, com vários erros de planejamento do jogo
senha02.exe Segunda versão do programa, levemente modificada para resolver alguns problemas lógicos no jogo e de verificação de strings
senha03.exe Primeira versão oficial do jogo, com menus. Bem simples, mas apresentáve

Para fazer o download do jogo, vá na seção DOWNLOADS do site ou clique aqui: [Download não encontrado.]