Como motivar o aluno nas disciplinas introdutórias da área de programação?
Vários cursos, das mais variadas áreas do conhecimento, possuem em sua estrutura curricular a disciplina de lógica de programação, na qual esta trabalha, basicamente, com o ensino de algoritmos e linguagens de programação. Na maioria das universidades, centros universitários e faculdades isoladas o ensino, direcionado pela disciplina em questão, está focado predominantemente no paradigma estruturado aliado a utilização de linguagens procedurais como C e Pascal. Um fato chama a atenção nestas disciplinas: A QUANTIDADE DE REPROVAS OU DESISTÊNCIAS. Os dados apresentados a seguir comprovam minha afirmação:
· Os cursos de lógica de programação iniciam com uma média de 50 alunos e em poucos meses, constata-se que taxa de reprovação (ou desistência) chega a 60% (dados extraído de Rocha (1993)).
· Os dados delineados por Rocha (1993) são compartilhados pelas instituições que apadrinham o autor deste texto, a Fundação Educacional do Município de Assis (www.femanet.com.br) e a Faculdade de Tecnologia de Ourinhos (www.fatecou.edu.br), vejam só:
o Faculdade de Tecnologia de Ourinhos – Ingressantes: 200 alunos. Concluintes: cerca de 50%.
o Fundação Educacional do Município de Assis – Ingressantes: 70 alunos. Concluintes: cerca de 55%.
Com base nos números apresentados é possível constatar que nós professores estamos com um problema eminente nas mãos. Será que existem meios que possibilitem o ensino de lógica de programação com mais eficiência e eficácia? As linguagens e o paradigma nos cursos de lógica de programação são adequados ao ensino? Como motivar o aluno dentro das disciplinas introdutórias da área de programação? Alguns trabalhos buscam constantemente uma solução para estas questões, entre eles é possível citar Baranauskas (1993), Fernandes et. al. (2000), Fernandes e Menezes (2001) e Prus (2001). Vale à pena dar uma olhada neles.
Neste texto gostaria de tratar uma questão em especial: a motivação dos alunos nas disciplinas introdutórias de programação.
É de conhecimento da comunidade que os alunos ingressantes nos cursos, de computação, nasceram na era da informação, tem um contato estreito com diversas mídias, e seu raciocínio não é linear. Alguns fatos chamam a atenção na formação básica destes alunos, destaco três deles, fique a vontade para apresentar um número maior:
· A leitura não é um hábito cultivado sistematicamente. Em uma pesquisa feita com meus alunos pude constatar que cerca de 90% não leram livro algum em 2007.
· A maioria dos alunos não possui o hábito de passar horas e horas estudando. A necessidade de estudar algumas horas durante todos os dias não é uma idéia bem aceita entre eles.
· Adoram jogar, isto mesmo, trabalhamos com a geração dos jogos digitais.
Ao contrapor os itens citados às características que permeiam as disciplinas introdutórias da área de programação esbarramos na seguinte “regra de produção”.
SE os alunos não possuem o hábito de ler E não passam horas estudando ENTÃO os cursos de lógica de programação possuem altos índices de reprovação ou abandonos.
(A regra de produção está contextualizada para o ensino de lógica de programação. Será que ela pode ser generalizada?).
Para que a regra apresentada não seja disparada, é necessário que nós professores motivemos nossos alunos. Parto do seguinte premissa: as tarefas mais interessantes são menos árduas de realizar. Dentro deste contexto desenvolvi uma experiência junto aos alunos do primeiro ano, do curso de Análise de Sistemas e Tecnologias da Informação, da FATEC de Ourinhos, tal experiência é baseada no trabalho “O Ensino de Lógica de Programação e o Desenvolvimento de Jogos Educacionais: Um Caso Aplicado aos Alunos do Curso de Licenciatura Plena em Matemática”, publicado no final do ano de 2007. Para contextualizar a idéia de algoritmo, propus aos alunos o desenvolvimento de um jogo. Apresentei, a eles, em 6 horas, o conceito básico de algoritmo e alguns comandos da linguagem logo (logo é caracterizada como uma linguagem interpretada voltada, principalmente, para o ensino de crianças e aprendizes em programação, para maiores informações faça o download em www.nied.unicamp.br/publicacoes/pub.php?classe=software&cod_publicacao=70). E, por fim, incentivei-os a desenvolver um jogo para ensinar matemática e aritmética para crianças.
Para o desenvolvimento do jogo estabeleci o seguinte processo:
1. Atividade 1 – Desenvolvimento e validação, junto ao professor, da interface do jogo.
2. Atividade 2 – Programação do jogo. Importante: Os conceitos de testes formais não foram abordados.
Após terminar o desenvolvimento, propus os alunos que apresentassem os seus joguinhos em uma seção pública, veja só alguns resultados:
· Jogo 1: Passeio com a TAT. Objetivo: Fazer com que a TAT leve seus amiguinhos para passear, utilizando meios como distância e ângulos. Os comandos utilizados nesse jogo é pf (para frente); pt (para trás); pe (para esquerda) e pd (para direita). Público alvo: Criança alfabetizadas. Autoras: Camila, Lorena, Marija e Tamirys.
· Jogo 2: Super Turtle 2008. Objetivos: Cada participante terá que levar a sua tartaruga até o fim do tabuleiro. O jogo é para dois jogadores. Público alvo: Crianças alfabetizadas. Autores: Cleiton, Carla e Karoline.
· Jogo 3: Caça ao Tesouro. Objetivos: Levar a tartaruga TAT ao mapa, a chave, a pá e ao tesouro. Público alvo: Crianças alfabetizadas. Autores: Rafael, Julcimar, Rodrigo e Rodrigo Mascari.
As interfaces dos jogos 1, 2 e 3 podem ser verificadas no arquivo Interface dos jogos.
Com o desenvolvimento dos jogos foram colhidos alguns resultados resultado qualitativos, detaco alguns deles::
1. Aumento da motivação do aluno para com a disciplina. Os alunos questionam se é possível fazer algo mais elaborado com a linguagem C. Respondo que sim, porém é necessário, neste momento, termos uma boa “alfabetização algorítmica”.
2. Aumento do conhecimento e habilidades dos alunos dentro da área de lógica programação. O programa de computador foi desmistificado logo no início da disciplina.
3. Expectativa de continuidade dos estudos dentro da área de desenvolvimento de jogos educacionais, principalmente, nos próximos anos da faculdade.
4. O aluno tem consciência que para produzir um programa é necessário algumas horas de estudo.
A experiência apresentada encontra-se em um estágio inicial, resultados quantitativos relacionados ao número de desistências e reprovas só serão obtidos no final deste semestre. Fica a sugestão para os professores trabalharem com produção de um jogo logo no início da disciplina de programação. Por favor, não se esqueça de estabelecer um processo de produção para trabalhar com este tipo de desenvolvimento.
José Augusto Fabri
Referências
Rocha, H. V. (1993). Representações Computacionais Auxiliares ao Entendimento de Conceitos de Programação. In: “Computadores e Conhecimento: Repensando a Educação”. Livro organizado por Valente, J. A. Editora Unicamp.
Prus, E. M. (2001). “Um Modelo de Sistema Tutor Inteligente Aplicado ao Ensino da Programação Estruturada”. Dissertação de mestrado ao Departamento de Engenharia de Produção e Sistemas da Universidade Federal de Santa Catarina.
Baranauskas, M. C. C. (1993). Uma Abordagem Construcionista ao Design de um Ambiente para Programação em Lógica. In: “Computadores e Conhecimento: Repensando a Educação”. Livro organizado por Valente, J. A. Editora Unicamp.
Fernandes, C. S.; Menezes, P. B. (2001) Metodologia do Ensino de Ciência da Computação: Uma Proposta Para Criança. In: “Anais do Workshop de Informática na Escola”. Fortaleza – Ceará.
Fernandes, C. S., Menezes, P. B., Accorsi, F. (2000) A Propose of Teaching Computer Sciencefor Children. In: “Internacional Conference on Engineering and Computer Education – ICECE”, São Paulo.
Fabri. J. A. O Ensino de Lógica de Programação e o Desenvolvimento de Jogos Educacionais: Um Caso Aplicado aos Alunos do Curso de Licenciatura Plena em Matemática. In Anais do Simpósio Brasileiro de Informática na Educação. São Paulo, 2007.
Abril 16, 2008 às 12:52 pm
Interessantíssimo!! Sou defensora da idéia de que a prática estimula o interesse pelo aprendizado, fazendo com que a aula não seja centrada apenas no ensino (palavra usada aqui com a acepção de mera transmissão de informação). Fiz um curso na empresa FESTO, ligada à automação industrial e localizada em São Bernardo do Campo. A empresa tem um departamento didático que oferece cursos à comunidade externa. Segundo seus coordenadores, a partir do momento em que o departamento passou a utilizar softwares de simulação nas aulas, a carga horária dos cursos pôde ser reduzida quase que pela metade e o nível de aproveitamento dobrou! Não defendo aqui essa redução, mas é interessante verificar que procedimentos similares ao utilizado pelo prof. Guto estão dando resultados em outros lugares.
Lia
Abril 17, 2008 às 12:21 pm
Havia escrito outro comentario porém na hora de enviar o site retornou a mensagem de que eu havia escrito meu comentário muito rápido. Que porcaria de algoritmo julgou isto? Bom reclamação feita. Eu acredito que a falta de interesse nas disciplinas iniciais se relaciona também a falta de curiosidade sobre o desenvolvimento de software. E a dificuldade de vislumbrar a utilização prática dos conceitos iniciais de programação. Curso Sistema de Informação e tenho na grade a disciplina programação 1, onde os conceito de programação estruturadas são ensinadas na linguagem Pascal. Percebi em minha classe o melhor desempenho nesta disciplina de pessoas que já tiveram a curiosidade por exemplo de criar um website.
Http://codigosfonte.wordpress.com