Você está na página 1de 9

Experincias Positivas para o Ensino de Algoritmos

Methanias Colao Rodrigues Jnior1 Centro de Cincias Formais e Tecnologia Universidade Tiradentes (UNIT) Av. Murilo Dantas, 300. Farolndia CEP: 49032-490 Aracaju SE Brasil
www.unit.br/methanias
1

Abstract. The courses of fundamental programming techniques possess one of the highest fail indexes in all Brazilian colleges. Considering the teach method as one of the causes for students failure on the learning process, this paper presents an alternative method for presentation and evaluation of the algorithms courses, based on the author's experience, while professor of this kind of course. Most of the discussed topics have been adopted with successful results. Proposals of changes and justifications are presented. Resumo. A disciplina Fundamentos de Programao possui um dos maiores ndices de reprovao em todas as instituies de ensino brasileiras. Considerando o esquema de ensino adotado como um dos motivos para o fracasso de grande parte dos alunos no aprendizado desta matria, este artigo apresenta uma forma alternativa de apresentao e avaliao do contedo de Fundamentos de Programao, baseada nas experincias adquiridas pelo autor, enquanto professor desta disciplina. A maioria dos pontos abordados vem sendo adotada com resultados positivos pelo autor. So apresentadas propostas de mudanas e justificativas para adoo das mesmas.

1. Algoritmos
A complexidade dos diversos problemas a serem resolvidos por solues informatizadas torna difcil a tarefa de programar computadores. Para diminuio da complexidade de resoluo e tambm reaproveitamento da mesma, importante separar a tarefa de construo de programas em duas fases (Figura 1): a fase de anlise do problema e a fase de implementao. Desta forma, podemos ter a soluo computacional para um problema, independente da tecnologia que ser usada para sua implementao. O algoritmo descreve a soluo de um problema e serve como base para a implementao da mesma por um programador.
ANLISE IMPLEMENTAO

PROBLEMA

ALGORITMO

PROGRAMA

TAREFA MAIS DIFCIL

Figura 1: Fases da construo de um programa

Em linhas gerais, segundo F. XIMENES(1993), um algoritmo qualquer conjunto finito de instrues que possa ser seguido para a realizao de uma tarefa especfica ou resoluo de um determinado problema. Assim, so exemplos de algoritmos: receitas de bolo, instrues para ligar um vdeo-cassete e etc. Em computao, de acordo com F. XIMENES(1993), um algoritmo definido como uma seqncia ordenada e finita de passos, independente da linguagem de programao a ser utilizada para codific-lo, que leva soluo de um dado problema. Os algoritmos so utilizados na programao da mesma forma que as receitas de culinria podem ser usadas no preparo das refeies, tanto como soluo especfica quanto como ponto de partida para experincias.

2. Fundamentos de Programao
A disciplina Fundamentos de Programao tem como objetivo principal capacitar o aluno a desenvolver algoritmos computacionais atravs do fornecimento dos fundamentos bsicos para programao de computadores. Tradicionalmente, o contedo da disciplina apresentado da forma mais comum em todas as reas de conhecimento, ou seja, apresentao da teoria, apresentao de exemplos e proposio de exerccios prticos inicialmente simples e paulatinamente complexos. Esta disciplina tem um dos maiores ndices de reprovao em todas as instituies de ensino brasileiras, o que a torna ponto de reflexo por parte de professores preocupados com a melhoria da qualidade no processo de ensino e aprendizagem dos alunos, ratificando a necessidade de alteraes didticas e metodolgicas de apresentao. Um dos grandes problemas do modo tradicional de ensino reside no fato do mesmo no conseguir motivar facilmente o aluno a se interessar pela disciplina. No fica claro para os alunos, em seu primeiro ano de curso, especialmente aqueles que no tm experincia profissional em informtica, a importncia de certos contedos para sua formao. Muitos acreditam que grande parte do contedo no ser utilizada na prtica, sendo esta ltima opinio, a mesma de programadores que trabalham na rea de informtica e notoriamente exercem a profisso sem nenhuma conscincia cientfica e metodolgica do trabalho, ou seja, adquiriram apenas conhecimento suficiente para desenvolvimento de programas comerciais de pequeno porte. O desafio, portanto, perpassa pela necessidade de motivar os alunos e faz-los entender que a disciplina e seu contedo so, de fato, importantes, merecendo uma maior ateno e dedicao especial. Ainda relacionado com a motivao, identificamos um paradigma criado dentro e fora das salas de aula. O aluno chega em sala de aula com a idia fixa de que a disciplina ser um problema e um obstculo extremamente difcil de ser vencido. Alm disso, alguns professores se encarregam de completar o negativismo, pois afirmam ser complicadssimo o aprendizado e prometem avaliaes dificlimas, que podem no atingir o verdadeiro objetivo de avaliar. As avaliaes so um segundo problema do ensino tradicional da disciplina. Geralmente so extensas para o tempo disponvel e so atos isolados, especiais, com data marcada e, principalmente, com o objetivo nico de sano. Este modo nico de avaliao tambm desenvolve no aluno uma certa repugnncia e temor pela mesma, prejudicando sua aprendizagem.

Um terceiro problema aqui apresentado o relacionamento professor-aluno, pois os professores ficam preocupados em mostrar competncia e acabam desconsiderando a importncia do humanismo na melhoria da qualidade das relaes comunicacionais e afetivas entre professores e alunos, fundamentais ao processo de aprendizagem. Tambm consideramos a falta de um bom material didtico, associada a uma falta de planejamento de aulas, como contribuinte para o baixo desempenho dos alunos no aprendizado e fixao dos contedos. Na seo 3.4 resumimos um pequeno roteiro de planejamento de aulas. O quinto e ltimo problema est intimamente relacionado com a didtica usada pelo professor para apresentar o contedo introdutrio da disciplina. A introduo requer uma boa capacidade de abstrao e o aluno, normalmente, tem dificuldade de entender os diversos e novos conceitos referentes execuo de tarefas pelo computador. A seguir, discutiremos uma proposta para a apresentao dos contedos de Fundamentos de Programao, objetivando solucionar ou amenizar os problemas acima mencionados. As propostas de solues so descritas na mesma ordem de apresentao dos seus respectivos problemas de ensino identificados nesta seo e tm como prrequisito o conhecimento do aluno de contedos matemticos bsicos, indispensveis para o entendimento da disciplina.

3. Uma proposta didtico-metodolgica para a disciplina


Desde 1997, experimentamos mudar em nossas aulas algumas formas de ensinar a construir algoritmos, baseadas em relatos de alunos que no obtiveram xito no aprendizado e tambm em relatos de alunos que no conseguiram um aproveitamento excelente, mas apenas o necessrio para serem aprovados. Inicialmente partimos de um pressuposto que consideramos importante: a disciplina deve ser apresentada inicialmente ao aluno como sendo a formalizao de procedimentos naturais do seu cotidiano. necessrio ficar claro que os algoritmos esto presentes na nossa vida independentemente do uso de computadores. A partir deste ponto que poder ser apresentada uma ferramenta de especificao de lgica de programao para elaborao de algoritmos computacionais. As diferenas bsicas entre algoritmos computacionais e convencionais devem ser elucidadas e o aluno deve entender o porqu das caractersticas especiais de um algoritmo computacional. extremamente importante procurar instigar o questionamento dos alunos. De acordo com PEDRO DEMO(1998), a aula que apenas repassa conhecimento, ou a escola que somente se define como socializadora de conhecimento, no sai do ponto de partida, e, na prtica, atrapalha o aluno, porque o deixa como objeto de ensino e instruo. Vira treinamento. A aula copiada no constri nada de distintivo, e por isso no educa mais do que a fofoca, o bate-papo e etc. O contato pedaggico somente acontece, quando mediado pelo questionamento reconstrutivo. Caso contrrio, no se distingue de qualquer outro tipo de contato. O professor pode propor exerccios que possibilitam diversas solues e estimular os alunos a encontrar solues diferentes discutindo sobre qual a melhor soluo. Tambm podem ser apresentadas solues erradas para que o aluno possa questionar e apresentar a soluo correta. Em outras palavras, a aula deve ser extremamente dinmica e jamais a simples apresentao de uma soluo pronta em uma transparncia. A transparncia pode at ser usada, mas de uma forma que toda a

soluo no seja vista pelo aluno. O aluno tem que acompanhar o raciocnio de cada passo do algoritmo. Para fazer isso, o velho e bom quadro negro pode ser til medida que cada novo passo vai sendo copiado no quadro. Depois de desenvolvidas as atividades bsicas supracitadas, o aluno poder passar a ter aulas em laboratrio. A primeira ferramenta de apoio programao a ser ensinada deve ser o depurador de programas. Um depurador permite o acompanhamento da execuo do programa pelo computador e facilita o entendimento do mesmo. O questionamento apenas, no suficiente para o xito dos alunos no aprendizado, pois existem outros problemas no ensino da disciplina que devem ser solucionados. Enumeramo-los abaixo e propomos solues para os mesmos. 3.1 Motivao Desde o primeiro dia de aula, o professor deve salientar que os fundamentos aprendidos na disciplina sero utilizados em toda vida acadmica e profissional. Para os que acreditam ser desnecessria a ateno, pois o contedo bsico e eles so programadores, o professor deve justificar cientificamente os reais motivos e importncia da disciplina. necessrio mostrar que o conhecimento emprico adquirido no suficiente para resoluo de problemas mais complexos que exigiro toda uma metodologia de desenvolvimento. Afinal, todos precisam entender por que esto na faculdade. Desde os primeiros passos, o aluno deve ter a conscincia de que vai fazer a diferena num mercado de trabalho repleto de pseudo-profissionais de informtica. O aluno tambm deve ser motivado a acreditar que as dificuldades to propaladas para a disciplina no existem, exigindo apenas uma maior ateno e resoluo macia de exerccios. Desta forma, o professor evita a barreira negativa que criada no incio do curso. Um terceiro ponto que deve ser considerado no processo de motivao o recheio das aulas com perguntas e pequenos prmios para as respostas certas. Estes prmios podem ser palavras de apoio, incentivo, gratificao ou at mesmo prmios concretos ligados rea em questo, tais como revistas da rea de informtica e outros como chocolates, canetas e etc. Nossa experincia mostra que o aluno chega a estudar um pouco mais para garantir estes prmios na prxima aula. 3.2 Avaliao Se imaginarmos a avaliao apenas como instrumento de medida do grau de aprendizagem do aluno, estaremos imaginando o uso da mesma apenas para verificar o grau de domnio alcanado pelos alunos em certos contedos. Em outras palavras, a avaliao passa a ser um instrumento neutro que no interfere diretamente no processo de ensino-aprendizagem. Segundo PEDRO DEMO(1996), a avaliao na verdade influencia os contedos ensinados e mtodos de ensino-aprendizagem utilizados. Os objetivos do curso so mais bem entendidos pela anlise das questes das provas do que a partir do currculo proposto pela instituio de ensino. Os alunos escolhem o que estudar e como, de acordo com o que cobrado nos testes. Os professores costumam basear suas aulas nos contedos que sero cobrados nos testes, imaginando que o fator de sucesso do aprendizado est limitado a uma nota dez no final do semestre.

O fracasso dos alunos tambm em parte influenciado pela avaliao. De acordo com PHILIPPE PERRRENOUD(1999), a avaliao contribui para criar e manter uma hierarquia de excelncia que separa os alunos entre os de sucesso e os fracassados, de acordo com a sua posio nesta hierarquia. Os alunos procuram o sucesso atravs de vrios meios e utilizando vrios tipos de competncias, muitas delas bem diferentes das esperadas pela instituio de ensino, tais como, a cola, a submisso ao que exigido pelos professores, adivinhar os assuntos mais provveis exigidos nos testes, entre vrios outros. Os procedimentos adotados de avaliao tm vrias conseqncias tambm nas relaes entre alunos, professores e universidade. O professor passa grande parte do seu tempo preparando, corrigindo e divulgando avaliaes; o aluno tem uma relao deturpada com o saber, estudando apenas para realizar avaliaes; o tipo de avaliao utilizada pode ser um grande obstculo s mudanas pedaggicas. A avaliao deve garantir o desempenho e se transformar em acompanhamento dirio, para, desde logo, facilitar tratamentos especiais para cada dificuldade especial. O professor deve viabilizar toda instrumentao necessria para garantir o bom desempenho, progresso sustentado e aprimoramento da qualidade. O objetivo principal que a avaliao perca o sentido nico de sano e na verdade sirva de parmetro bsico para que o professor possa verificar quais so as principais dificuldades da turma, analisando os pontos positivos e possveis problemas que emperram, dificultam ou at mesmo inviabilizam a aprendizagem. Neste caso, observamos que possvel mudar um planejamento, tendo em vista a soluo de algumas deficincias apresentadas na avaliao. Um professor que prope uma questo e mais da metade da turma no resolve, deve verificar os conhecimentos necessrios para resoluo da mesma e buscar o entendimento de toda turma. Segundo ALBANO ESTRELA(1993), a tomada de deciso em matria educativa no deve ser pensada a partir de uma grande avaliao, mas sim com base num conjunto de pequenas avaliaes, que vo alimentando e reorientando os processos de mudana. Durante o decorrer de uma unidade possvel buscar formas alternativas de avaliao para que a mesma no seja realizada em um nico momento. O professor pode propor problemas rpidos durante as aulas e/ou passar exerccios que serviro de complemento para a nota final do aluno. Isto porque diversos alunos no conseguem expor todo conhecimento adquirido em um nico momento, ficando psicologicamente abalados com a avaliao. Partindo do princpio que durante a avaliao o aluno tambm tem a oportunidade de aprender, facultado ao professor realizar mais de uma avaliao na unidade. Se uma turma no conseguiu obter xito necessrio em uma prova, o professor pode resolver a mesma em conjunto com a turma, sempre buscando o questionamento. Em seguida, a turma submetida nova avaliao, tendo a chance de demonstrar novamente os conhecimentos adquiridos.

3.3 Relacionamento professor-aluno


Os alunos precisam ser algo alm de meros espectadores, da mesma forma que os professores no devem ser apenas reprodutores de textos e questes dos livros. O comportamento do aluno e do professor em sala de aula produzido por inmeras contingncias complexas e esse comportamento ser to mais agradvel e eficaz quanto maior for o compromisso das duas partes nesta tarefa.

Por que a necessidade de um professor ?; Por que o aluno no aprende resolvendo e entendendo os exerccios sozinho ?. Estas perguntas so complexas e basicamente podem ser respondidas quando o professor assume o papel de agente estimulador do aprendizado. Este estmulo no transmitido pelos livros e o professor pode, em dilogo constante com aluno e, principalmente, numa relao de afeto e cooperao, orientar os melhores caminhos para o aprendizado da disciplina. Alm disso, deve-se pensar nas estruturas de poder que permeiam essa relao em sala de aula. notrio que o autoritarismo no produz bons resultados. No entanto, ainda existem professores que usam autoritarismo exacerbado, causando srios problemas no aprendizado. Muitos alunos relatam que no tm iniciativa de tirar uma dvida devido ao comportamento no favorvel do professor. Por outro lado, existem professores que confundem o afeto com amizade e, na tentativa de conquistar a simpatia dos alunos, acabam facilitando suas aprovaes, prejudicando assim todo um processo de aprendizado. O professor deve, como em qualquer profisso, amar o que faz. A partir da, produzir ou permitir o desenvolvimento de uma relao afetiva muito importante. Porm, esta liberdade deve estar limitada s responsabilidades e objetivos traados por ambos para aprender e construir novas competncias que sero mais tarde, fundamentais formao profissional e pessoal do aluno. Professor e aluno devem ser companheiros de trabalho numa busca contnua de conhecimento. 3.4 Material e preparao das aulas O professor deve possuir material prprio e no apenas ser usurio de material alheio. No pode haver confuso entre a produo de material prprio com receitas prontas, tendo em vista a necessidade de atualizao constante. Por mais que se planeje, podem haver circunstncias em que o material necessitar ser adequado a diferentes tipos de alunos. Como turmas diferentes tm velocidades de aprendizado diferentes, a preparao de aula deve ser flexvel. Contedos fixos definidos aula-a-aula podem tornar-se inviveis. O professor deve ter a flexibilidade de saber quando a classe est preparada para um novo contedo e adequar o planejamento realidade atual. A prpria aula deve ser um verdadeiro algoritmo, podendo ser usada como exemplo. Este algoritmo deve mesclar o bsico para uma boa aula expositiva com a introduo de algumas dinmicas de grupo para auxiliar o entendimento. A aula deve sempre iniciar com objetivos claros do que ser abordado e principalmente com uma pequena recapitulao do que foi visto na aula anterior. O professor deve investigar, com alguns questionamentos, se os conhecimentos necessrios para a seqncia do assunto esto slidos, utilizando mais alguns minutos, se for necessrio, para que o entendimento seja completo. Ao final da aula, deve haver uma concluso com a reafirmao do que foi visto no dia e a preparao para a prxima aula. 3.5 Capacidade de abstrao Ao ensinar programao, o professor deve sempre ter em mente que os alunos no so especialistas da rea de computao e todos os conceitos apresentados so novos. Portanto, o professor deve ser capaz de fazer o aluno compreender a abstrao

envolvida com toda simbologia utilizada. Para a grande maioria, A, apenas uma letra do alfabeto. Como fazer o aluno entender que, A, agora uma varivel ?. Algumas dinmicas podem contribuir para o entendimento de como um algoritmo executado no computador. O exemplo clssico do algoritmo para descoberta do aluno mais alto da turma pode ser dado atravs de uma dinmica simples que gera uma situao ldica e agradvel para o entendimento. Parte da turma pode ser convidada a sair da sala e a porta de entrada da mesma ser colocada como anloga entrada de dados num computador. Os alunos vo entrando e os demais comeam a identificar qual o mais alto. Deve ser separada uma cadeira especial que vai ser comparada a uma varivel de algoritmo e ser chamada de maior altura. Nesta cadeira, ficar sentado o primeiro aluno que entrar na sala. Quando entrar um mais alto, este ocupar o lugar na cadeira e assim sucessivamente. Em algum momento, o professor pode indagar quem o aluno mais alto da turma e ter a surpresa de ouvir a resposta de que Joo, um jovem de 1,90 m que nem sequer foi convidado a sair da sala e, conseqentemente, no est sentado na cadeira especial. Assim, o professor tem a situao ideal para explicar que apesar de Pedro estar sentado na cadeira e ter apenas 1,60 m, ele o mais alto dos que foram analisados, ou seja, um computador s processa os dados que so informados. Estas dinmicas facilitam e esclarecem o entendimento de processos abstratos que ocorrem no computador. Cabe ao professor usar a sua criatividade e tentar resolver cada problema baseando-se em situaes do cotidiano. Para a resoluo de um algoritmo de votao, por exemplo, pode ser realizada uma eleio na sala e o algoritmo ser construdo medida que a eleio ocorre. S desta forma, o aluno comea a ter raciocnio lgico e ordem de pensamento. O professor tambm pode utilizar desenhos, caixas de papel para representao de variveis e at mesmo os prprios alunos para facilitar o entendimento.

4. Concluso e trabalhos futuros


O modo como a disciplina de Fundamentos de Programao apresentada normalmente demonstra um certo descompasso com todas as inovaes e tcnicas educacionais atuais. Pelo fato de ser uma disciplina da rea tecnolgica e o professor, via de regra, no ter formao pedaggica, fica ainda mais complicado o xito dos alunos. Esta proposta apresenta vantagens em relao ao mtodo tradicional. Porm, o professor ter que dedicar mais tempo na preparao de suas aulas e ser mais flexvel, tanto no sentido de adaptar as aulas de acordo com o ritmo dos alunos, quanto na postura pessoal frente classe. Em disciplinas como Fundamentos de Programao, notria a necessidade da Arte de Ensinar para o professor universitrio. De acordo com W. BURTON(1969), o objetivo da didtica orientar a aprendizagem dos alunos para que refaam seus esquemas de comportamento, de modo que estes revertam em crescimento pessoal e se tornem algo significativo para as suas vidas como pessoas desejosas de realizao, o desafio para o professor, que v a aprendizagem no como a simples acumulao de contedos, mas como a influncia vital e construtiva no sentido de uma melhor maturidade mental, emocional e social.

Vale salientar que o fracasso de grande parte dos alunos est associado a uma falta de preparo dos mesmos para o ingresso na universidade. Isto ocorre, principalmente, em algumas instituies particulares de ensino, onde o processo seletivo menos concorrido e acabam ingressando alunos sem nenhuma base, principalmente quanto aos contedos da matemtica. Como esta base indispensvel para o aprendizado da disciplina, fica muito difcil a assimilao do contedo programtico. Em instituies pblicas, podem ser formadas turmas de algoritmos para cursos com baixa concorrncia, gerando o mesmo problema. Tambm no podemos esquecer do que o extraordinrio professor e pesquisador Galilleu dizia: "Ningum ensina nada a ningum, no mximo ajuda-se o outro a aprender". Provavelmente, o grande mestre queria dizer que o aprender pessoal. Na verdade, o bom professor ajuda o aluno a encontrar o caminho correto, todavia se no houver interesse do aluno, tambm no haver sucesso no aprendizado. Acreditamos que grande parte do que foi apresentado pode ser aplicado em outras disciplinas tcnicas, tanto da rea de informtica, quanto de outras reas. Uma primeira fonte de trabalhos futuros a aplicao de todas as propostas descritas acima por um outro professor que leciona a disciplina e posterior avaliao dos resultados obtidos. Deve ser elaborada uma estatstica pelo autor, demonstrando aumentos considerveis nos percentuais de aprovao e conseqentemente validando a proposta. Como segunda fonte, prope-se que a disciplina deve ter seu contedo reformulado, visando abranger novos paradigmas de programao como a orientao a objetos e a orientao a eventos. Um importante trabalho futuro diz respeito especificao de um mapeamento algortmico para estes novos paradigmas.

Bibliografia
Bagno, Marcos (1998). Pesquisa na escola. So Paulo: Loyola. Balzan, Newton Csar (1997). Do Estudante ao Professor Universitrio: Caminhos para a Didtica do Ensino Superior. Revista de Educao 1 (3), pginas 7-24. Burton, W. H., Mursell, J. L. (1969) Ensinar no transmitir. POA: Globo. Colao, Methanias (2002). Como ensinar programao?. Jornal Computao Brasil da Sociedade Brasileira de Computao. (http://www.unit.br/methanias/artigos.htm). Demo, Pedro (1994). Crise dos Paradigmas da Educao Superior, Educao Brasileira, 16 (32): 14-48, 1 sem. Demo, Pedro (1996). Avaliao sob o olhar propedutico.Campinas, SP, Papirus. Demo, Pedro (1998). Educar pela pesquisa. 3. ed. Autores Associados: Coleo educao contempornea. Campinas, SP. Estrela, Albano, Nvoa, Antnio (orgs.) (1993). Avaliaes em educao: novas perspectivas. Porto: Porto Ed. Nota de apresentao, p.9-l4. ( Coleo Cincias da Educao ). Perrrenoud, Philippe (1999). Avaliao : da excelncia regulao das aprendizagens entre duas lgicas. Porto Alegre, Artes mdicas Sul.

Valente, J.A. (1993) Por que o computador na educao. In Valente, J.A. (Ed) Computadores e Conhecimento: Repensando a Educao. Campinas, SP. Grfica Central da Unicamp. Ximenes, F (1993). Microsoft Press Dicionrio de Informtica Ingls-Portugus Portugus-Ingls. Rio de Janeiro: Campus.