7
Anais do 13 O Encontro de Iniciação Científica e Pós-Graduação do ITA – XIII ENCITA / 2007 Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, Outubro, 01 a 04, 2007. SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE PROGRAMAÇÃO Vitor Hugo Oliveira Albuquerque Bolsista PIBIC-CNPq, Instituto Tecnológico de Aeronáutica – ITA [email protected] Prof. José M Parente de Oliveira Orientador, professor do Instituto Tecnológico de Aeronáutica – ITA [email protected] Resumo. O propósito deste artigo é explanar sobre a necessidade de ensino de programação no cenário educacional do ensino médio no Brasil, e como um sistema hipermídia adaptativo poderia suprir ou diminuir tal carência. Palavras chaves: EaD (Educação a Distância), SHAE (Sistema Hipermídia Adaptativo Educacional), Ensino de Programação. 1. Introdução A Educação a Distância via Internet tem se tornado uma opção bastante interessante para muitos educadores e segue uma tendência aparentemente irreversível de crescimento pelo fato principal de proporcionar oportunidade além do ambiente físico a qualquer pessoa conectada a rede. São inúmeras as tecnologias aplicadas na Educação a Distância (EaD), no entanto podemos distinguir uma revolução nesse conceito quando veio a ocorrer a popularização da Internet. A Internet ao longo dos últimos anos vem modificando o panorama dentro deste campo de tal modo que, seguramente, podemos falar de uma EaD antes e depois da Internet. A cerca das possibilidades de comunicação, diferentemente de outras mídias como rádio e TV (“um-para- muitos”) ou ensino por correspondência (“um-para-um”), através da Internet é possível congregar diferentes possibilidades de comunicação como: “um-para-muitos”, “um-para-um” e, sobretudo, “muitos-para-muitos”. A possibilidade de ampla interação oferecida pela a EaD via Internet tem levado a sociedade a dar maior importância e abertura para esta forma de educação a distância (KENSKI, 2003). Atualmente, a maioria dos ambientes de EaD via Internet tem servido apenas como repositórios de informação e de elos de comunicação entre tutores e aprendizes. E isso tem contribuído para o alto índice de desistência e desestímulo em vista da ausência de uma orientação mais apurada do tutor. Para os novos ambientes EaD, o maior desafio tem se tornado manter a motivação do aprendiz frente ao universo da educação a distância (LEVY, 1999). Do total dos alunos que chegam ao ensino médio, quase metade evade antes de concluir o curso, e os que concluíram também não aprenderam muito. Quando exigido um maior nível de abstração e raciocínio na faculdade, o aluno não se encontra preparado porque os ensinos Fundamental e Médio não educaram o aluno para pensar e criticar, mas para memorizar. De forma geral, na educação brasileira, a iniciativa do aluno não é bem recebida. O papel do aluno é passivo: repetir as lições, imitar o que o professor escreve e fazer as lições do jeito que ele manda. A curiosidade e a criatividade do aluno não são estimuladas pelo professor (RAMAL, 2002). Uma proposição bastante válida é proporcionar ambientes interativos, o destaque ficaria na autonomia do aluno em interagir com o ambiente, e não apenas na dependência de conhecimento do ambiente para o aluno. 2. Desenvolvimento de um Ambiente de Ensino a Programação Os problemas encontrados pelos alunos iniciantes em cursos superiores de cursos como Ciências da Computação ou Engenharia da Computação produzem como efeito imediato o aumento da taxa de reprovação nas disciplinas de Programação. As principais causas abrangem os hábitos de estudo extramente centrados em memorização (herdados do ensino fundamental e médio) e a falta de pré-requisitos em conteúdos correlacionados como, por exemplo, conteúdos de Matemática. Este fato pode ser observado tanto em instituições públicas, como em instituições privadas. É notável a carência de um ensino de algoritmos estruturados no Ensino Médio. O ensino de tal disciplina colabora no desenvolvimento cognitivo do aluno e facilita o processo de ensino-aprendizagem no ensino superior. Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da Internet, e com público alvo alunos do Ensino Médio. A linguagem de programação C foi escolhida por ser uma linguagem amplamente utilizada em disciplinas de Introdução a Computação, além se tratar de uma linguagem alto nível com pouca necessidade de abstração dos alunos. Pretende-se que os alunos usem os conceitos aprendidos, de forma integrada com a aprendizagem de outras disciplinas do Ensino Médio, tais como matemática, física e química. O ambiente será composto de tutoriais que abordarão o desenvolvimento de algoritmos para resolução de problemas comuns encontrados em física, matemática e

SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Embed Size (px)

Citation preview

Page 1: SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Anais do 13O Encontro de Iniciação Científica e Pós-Graduação do ITA – XIII ENCITA / 2007

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, Outubro, 01 a 04, 2007.

SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE PROGRAMAÇÃO

Vitor Hugo Oliveira Albuquerque Bolsista PIBIC-CNPq, Instituto Tecnológico de Aeronáutica – ITA [email protected] Prof. José M Parente de Oliveira Orientador, professor do Instituto Tecnológico de Aeronáutica – ITA [email protected] Resumo. O propósito deste artigo é explanar sobre a necessidade de ensino de programação no cenário educacional do ensino médio no Brasil, e como um sistema hipermídia adaptativo poderia suprir ou diminuir tal carência.

Palavras chaves: EaD (Educação a Distância), SHAE (Sistema Hipermídia Adaptativo Educacional), Ensino de Programação.

1. Introdução

A Educação a Distância via Internet tem se tornado uma opção bastante interessante para muitos educadores e segue uma tendência aparentemente irreversível de crescimento pelo fato principal de proporcionar oportunidade além do ambiente físico a qualquer pessoa conectada a rede.

São inúmeras as tecnologias aplicadas na Educação a Distância (EaD), no entanto podemos distinguir uma revolução nesse conceito quando veio a ocorrer a popularização da Internet. A Internet ao longo dos últimos anos vem modificando o panorama dentro deste campo de tal modo que, seguramente, podemos falar de uma EaD antes e depois da Internet. A cerca das possibilidades de comunicação, diferentemente de outras mídias como rádio e TV (“um-para-muitos”) ou ensino por correspondência (“um-para-um”), através da Internet é possível congregar diferentes possibilidades de comunicação como: “um-para-muitos”, “um-para-um” e, sobretudo, “muitos-para-muitos”. A possibilidade de ampla interação oferecida pela a EaD via Internet tem levado a sociedade a dar maior importância e abertura para esta forma de educação a distância (KENSKI, 2003).

Atualmente, a maioria dos ambientes de EaD via Internet tem servido apenas como repositórios de informação e de elos de comunicação entre tutores e aprendizes. E isso tem contribuído para o alto índice de desistência e desestímulo em vista da ausência de uma orientação mais apurada do tutor. Para os novos ambientes EaD, o maior desafio tem se tornado manter a motivação do aprendiz frente ao universo da educação a distância (LEVY, 1999).

Do total dos alunos que chegam ao ensino médio, quase metade evade antes de concluir o curso, e os que concluíram também não aprenderam muito. Quando exigido um maior nível de abstração e raciocínio na faculdade, o aluno não se encontra preparado porque os ensinos Fundamental e Médio não educaram o aluno para pensar e criticar, mas para memorizar.

De forma geral, na educação brasileira, a iniciativa do aluno não é bem recebida. O papel do aluno é passivo: repetir as lições, imitar o que o professor escreve e fazer as lições do jeito que ele manda. A curiosidade e a criatividade do aluno não são estimuladas pelo professor (RAMAL, 2002).

Uma proposição bastante válida é proporcionar ambientes interativos, o destaque ficaria na autonomia do aluno em interagir com o ambiente, e não apenas na dependência de conhecimento do ambiente para o aluno.

2. Desenvolvimento de um Ambiente de Ensino a Programação

Os problemas encontrados pelos alunos iniciantes em cursos superiores de cursos como Ciências da Computação ou Engenharia da Computação produzem como efeito imediato o aumento da taxa de reprovação nas disciplinas de Programação. As principais causas abrangem os hábitos de estudo extramente centrados em memorização (herdados do ensino fundamental e médio) e a falta de pré-requisitos em conteúdos correlacionados como, por exemplo, conteúdos de Matemática. Este fato pode ser observado tanto em instituições públicas, como em instituições privadas.

É notável a carência de um ensino de algoritmos estruturados no Ensino Médio. O ensino de tal disciplina colabora no desenvolvimento cognitivo do aluno e facilita o processo de ensino-aprendizagem no ensino superior.

Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da Internet, e com público alvo alunos do Ensino Médio.

A linguagem de programação C foi escolhida por ser uma linguagem amplamente utilizada em disciplinas de Introdução a Computação, além se tratar de uma linguagem alto nível com pouca necessidade de abstração dos alunos.

Pretende-se que os alunos usem os conceitos aprendidos, de forma integrada com a aprendizagem de outras disciplinas do Ensino Médio, tais como matemática, física e química. O ambiente será composto de tutoriais que abordarão o desenvolvimento de algoritmos para resolução de problemas comuns encontrados em física, matemática e

Page 2: SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007

,

química do Ensino Médio e também problemas do cotidiano. Todo o ambiente de desenvolvimento será fornecido pelo sistema, que contará com um compilador C, retornando assim possíveis mensagens de erro ou mensagens de sucesso. Dessa forma, o aluno interage com o ambiente e aprende de forma mútua. Além de consolidar o conteúdo das disciplinas aprendidas no Ensino Médio, aprende uma linguagem de programação desenvolvendo cognição e raciocínio lógico-matemático.

O sistema oferece uma maneira de o aluno desenvolver habilidades pouco exploradas no meio escolar, como metodologia e heurística de resolução de problemas através de uma forma motivante, interativa e progressiva.

O sistema em desenvolvimento baseia-se em um Sistema Hipermídia Adaptativo fornecendo um ambiente de ensino de programação. O sistema será para uso pela WWW, onde os participantes terão seus dados cadastrados e toda a evolução de seu conhecimento registrada para permitir a adaptação de conteúdo e da navegação pelo espaço de informações. O sistema também contém um registro dos principais problemas encontrados no processo de aprendizagem de programação com o propósito de auxiliar no processo de personalização de problemas e exercícios a serem propostos a cada participante.

Dado que todas as atividades realizadas serão registradas, ao final do uso do ambiente pelo participante, uma massa de informações sobre o uso do sistema terá sido registrada. Com isso, uma análise detalhada do ambiente poderá ser realizada, o que permitirá uma validação do sistema desenvolvido e da efetividade do seu uso.

O ambiente possui uma característica iterativa que permite aos usuários realizar determinada tentativa quantas vezes necessárias até que o conhecimento seja assimilado, acomodado e equilibrado. Dessa forma, o usuário é estimulado a aprender com seus próprios erros.

Grande parte da metodologia utilizada na condução do ambiente baseia-se na resolução de problemas organizados em ordem crescente de complexidade. Todo o conhecimento da disciplina para a questão da leitura da teoria referente aos conteúdos fica por conta do aluno.

Cada um pode perceber os problemas diferentemente. Portanto, cada usuário elabora soluções diferentes, de modo que, todas estas soluções resolvem o problema de forma eficiente com diferenças de otimização.

Não se pode esperar que em uma fase inicial de construção de conhecimento de programação estruturada, que o usuário, além de conseguir elaborar o algoritmo, desenvolva-o de forma otimizada. A possível etapa de melhorar o algoritmo já elaborado é deriva do processo de elaboração da primeira versão. Esta parte é muito mais difícil para o usuário iniciante. Com o objetivo de complementar o processo de aprendizado, disponibiliza-se na página da disciplina vários links de sites úteis.

A capacidade de resolver um problema, via um algoritmo, vai necessitar que o usuário seja capaz de analisar o problema que lhe foi proposto de modo que seja capaz de situá-lo dentro de um contexto da disciplina aprendida em sala de aula. Depois disto, o usuário deve ser capaz de perceber os componentes que constituem aquele problema, estar ciente qual a solução esperada, identificar os dados disponíveis para serem computados e, finalmente, organizar uma estratégia de solução baseada nos seus pré-requisitos.

No ensino de programação, deve-se buscar condições para que o usuário intencionalmente conheça o seu estilo de raciocinar e solucionar problemas. Espera-se que os alunos desenvolvam um conjunto de habilidades cognitivas para que possam efetivamente aprender a resolver problemas utilizando o computador como uma ferramenta. Nem todos os problemas do cotidiano podem ser resolvidos por computador todos os problemas do cotidiano são podem ser resolvidos por computador. O modelo de abstração utilizado para o ensino de programação é baseado no esquema Entrada-Processamento-Saída. Este modelo é muito reducionista e simplificado, desenvolvendo em maior parte cognição e raciocínio lógico-matemático. 3. Arquitetura do ambiente

A aplicação será desenvolvida em camadas segundo o padrão MVC (Model-View-Controller). MVC é um padrão de arquitetura de aplicações que visa separar a lógica da aplicação (Model), da interface do usuário (View) e do fluxo da aplicação (Controller) (NIELSEN, 2000). Permite que a mesma lógica de negócios possa ser acessada e visualizada por várias interfaces. Ao longo da implementação, a aplicação será desenvolvida sob as metodologias da engenharia de software, a fim de garantir, sobretudo qualidade e escalabilidade do sistema.

Um conjunto de tecnologias será usado para a implementação. Todas as tecnologias utilizadas para a implementação do sistema são atuais e tais escolhas são importantíssimas para a qualidade do sistema. Dentre elas podemos citar:

• Java/JSP - JavaServer Pages (JSP) é uma tecnologia utilizada no desenvolvimento de aplicações para Web, similar à tecnologia Active Server Pages (ASP) da Microsoft. Por ser baseada na linguagem de programação Java ela tem a vantagem da portabilidade de plataforma. Esta tecnologia permite ao desenvolvedor de páginas para Internet produzir aplicações que, acessam o banco de dados, manipulam arquivos no formato texto, captam de informações a partir de formulários e captam informações sobre o visitante e sobre o servidor (SIERRA, 2005; DEITEL, 2004).

• JSTL - consiste em uma coleção de bibliotecas, tendo cada uma um propósito bem definido, que permitem escrever páginas JSPs sem código Java, aumentando assim a legibilidade do código e a interação entre desenvolvedores e web designers.

Page 3: SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007

,

• Struts - O Struts favorece o desenvolvimento de aplicações seguindo o paradigma MVC (Model-View-Controller). O Struts fornece um componente Controller e se integra a outras tecnologias para oferecer suporte aos componentes Model (como JDBC, EJB’s, etc.), e View (como JSP, XSLT, etc.).

• Struts-Layout - Struts-Layout é uma biblioteca de tags para struts que proporciona uma simples e rápida interface de criação.

• Tiles - O Tiles permite criar templates para aplicações Struts, simplificando a tarefa de dar cara nova ao seu site.

• JavaScript - É uma linguagem utilizada principalmente para auxílio de desenvolvimento de páginas para a Internet.

• CSS - Cascading Style Sheets, ou simplesmente CSS, é uma linguagem de estilo utilizada para definir a apresentação de documentos escritos em uma linguagem de marcação, como HTML ou XML.

• MySQL - O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada) como interface. É atualmente um dos bancos de dados mais populares, com mais de 4 milhões de instalações pelo mundo.

Pode-se observar a disposição das tecnologias utilizadas no software com figura a seguir:

Figura 1 - Esquema simplificado da arquitetura do software 4. Utilização do Ambiente de Ensino a Programação

A adaptação do sistema ocorre de acordo com as interações do usuário com o ambiente. Primeiramente são

oferecidos dois problemas de cada assunto, à medida que o usuário avançar na resolução dos problemas, novos problemas de níveis mais elevados serão propostos, estimulando o usuário pelo o desafio. A partir do resultado da pesquisa de preferência feita no ato do cadastro, foi possível adaptar o ambiente para dispor o conteúdo dos assuntos de preferência de uma maneira mais acessível para o usuário. A seguir são expostas as principais páginas do ambiente.

A figura a seguir ilustra a página na qual será exibido a apresentação do ambiente, informações sobre o projeto, acesso a sites relacionados, e-mail de contato do orientador e orientado do projeto, e o cadastro e autenticação no ambiente.

Internet

HTML

JSP Java Script Classes Java Compilador C

Banco de Dados (MySQL)

Page 4: SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007

,

Figura 2 - Página inicial de acesso

Após a autenticação, será apresentada ao usuário a página inicial do ambiente. A partir desta página será possível o acesso aos diversos problemas propostos, tutorial C, acesso a barra de menu com informações sobre o projeto, sites relacionados e endereços eletrônicos de contato do orientador e orientado do projeto.

O uso do ambiente é bastante simples. No menu do lado esquerdo encontra-se o tutorial de C (linguagem de programação utilizada), leitura indispensável para o aprendizado dos fundamentos da programação. No mesmo menu encontram-se os problemas propostos.

Figura 3 - Página inicial do Ambiente

Page 5: SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007

,

Cada problema consiste numa descrição e um roteiro. O roteiro guiará o usuário em todos os passos para a

resolução do problema. Serão dadas informações necessárias para realização de uma solução correta do problema, como por exemplo o tipo das variáveis de entrada/saída e ordens. Todas as resoluções são corrigidas por um corretor automático, portanto é extremamente necessário que todas as resoluções devam seguir o padrão dos dados de entrada e de saída estabelecidos no roteiro. O sistema de correção funciona comparando a saída de um algoritmo-padrão (correto) com a saída de seu algoritmo a partir dos dados de entrada inseridos pelo usuário.

Figura 4 - Página do Problema 2 de Física

Page 6: SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007

,

Figura 5 - Continuação da página do Problema 2 de Física, com campos para inserção de código-fonte e dados de entrada.

Na página de resultados serão exibidos o código-fonte do usuário, uma lista de possíveis advertências e erros, o dado de saída e uma mensagem do status do resultado. A exibição do código-fonte permitirá que o usuário verifique e identifique os erros e as advertências listadas no Campo “Advertências e Erros” na mesma página.

Figura 6 - Página de resultado

Page 7: SISTEMA HIPERMÍDIA ADAPTATIVO PARA O ENSINO DE … · Sobre esse ponto de vista, este projeto visa o ensino dos fundamentos de lógica de programação de computadores através da

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007

,

Todo o envio de código será registrado e o resultado de todas as suas postagens poderá ser visualizado por meio da página Status acessível a partir da barra de menu a qualquer momento. 5. Agradecimentos

Agradeço ao CNPq pelo apoio científico e pela concessão de bolsa de iniciação científica.

6. Referências DEITEL, H. M.; DEITEL, P. J. C++: Como Programar. Ed. Bookman - Brasil, Porto Alegre, 2001. DEITEL, H. M.; DEITEL, P. J. Java: Como Programar. Ed. Bookman - Brasil, Porto Alegre, 2004. LEVY, P. Cibercultura. Ed. 34 - Brasil, São Paulo, 1999. KENSKI, V.M. Tecnologias e ensino presencial e a distância. Ed. Papirus - Brasil, Campinas, 2003. NIELSEN, J. Projetando Websites. Ed. Elsevier - Brasil, Rio de Janeiro, 2000. RAMAL, A.C. Educação na Cibercultura: hipertextualidade, leitura, escrita e aprendizagem, Ed. Artmed - Brasil, Porto Alegre, 2002 SIERRA, K.; BRIAN, B.; BATES, B. Use a cabeça! Servlets & JSP. Ed. Alta Books - Brasil, Rio de Janeiro, 2005.