Sei sulla pagina 1di 10

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

ENSINO DE ALGORITMOS E PROGRAMAO PARA CURSOS TCNICOS DE NVEL MDIO


RESUMO
A assimilao dos contedos das disciplinas de algoritmos e programao por vezes torna-se uma tarefa rdua por parte dos alunos. Elas requerem boa capacidade de raciocnio lgico e uma base de conhecimentos anteriores, principalmente da matemtica. Alm disso, apesar de existirem tcnicas que podem ser reutilizadas em muitos problemas, a resoluo correta de um algoritmo pode ser feita de diversas formas, no havendo receita ou frmula pronta. Assim sendo, torna-se necessria, alm da adoo de tcnicas tradicionais de ensino, a aplicao de ferramentas que facilitem, estimulem o aprendizado e despertem o interesse do aluno. Este trabalho tem por objetivos a pesquisa e aplicao de tais ferramentas de apoio ao ensino em sala de aula, assim como a elaborao de material didtico especfico para o pblico do ensino mdio, tendo em vista a sua escassez na literatura. At o presente momento aplicou-se diretamente em aulas prticas duas ferramentas, a saber, o Visualg e o Portugol, tendo por resultado a melhoria na assimilao dos contedos lecionados nas aulas tericas. A pesquisa e anlise comparativa de outras abordagens da literatura tambm foram realizadas, sendo que a sua aplicao prtica ainda a dever ser objeto de estudo. Em relao ao material didtico, desenvolveram-se tutoriais das ferramentas aplicadas em sala e uma apostila que abrange todo o contedo de algoritmos lecionado no ensino mdio. Atualmente esto sendo desenvolvidos os materiais aplicados linguagem de programao C++ e programao orientada a objetos. Palavras-chave: Ensino mdio, algoritmos, programao, ferramentas educacionais, material didtico.

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

1. INTRODUO
Um algoritmo definido como uma sequncia finita de passos lgicos que descrevem a soluo para um determinado problema computacional. Um programa de computador pode ser visto como uma coleo de algoritmos codificados em uma linguagem de programao. Ou seja, uma linguagem de programao o meio para traduzir nossas solues (algoritmos) em uma linguagem que o computador seja capaz de entender e executar. importante ressaltar que os alunos dos cursos tcnicos em informtica costumam ter dificuldades quanto assimilao do contedo ministrado nas disciplinas de algoritmos e de programao. Nessas disciplinas h uma grande exigncia quanto ao raciocnio lgico e manipulao de estruturas que a princpio no so familiares aos alunos. Atravs da experincia de ensino possvel afirmar que as disciplinas de algoritmos e programao apresentam uma caracterstica bastante peculiar: no h receita ou frmula para a resoluo de um problema especfico. O que existe um conjunto de tcnicas, acrescido de conhecimentos herdados de disciplinas como a matemtica. Assim, apesar de ser possvel classificar certas tcnicas de programao, inmeras outras podem ser empregadas na resoluo de um mesmo problema, levando ao mesmo resultado final. possvel afirmar que para obter xito nas disciplinas de programao o estudante necessita obter uma boa assimilao do contedo visto em sala e tentar, por si s, resolver exerccios nos horrios extra-classe. Alm disso, deve-se ter como pr-requisito uma base mnima de contedos da matemtica, como funes, teoria dos conjuntos e noes bsicas de lgica de proposicional. Os problemas de assimilao de contedo tornam-se mais preocupantes quando voltamos nossa ateno para o curso tcnico integrado de informtica na modalidade de jovens e adultos. Na maioria dos casos, a base de conhecimentos desses estudantes, alguns h muitos anos afastados do convvio escolar, menos slida que aqueles que ingressam no tcnico integrado regular ou no tcnico subsequente. Dessa forma, torna-se necessrio um olhar especial a esses estudantes, visando tornar o seu aprendizado mais efetivo. Propomos este projeto como forma de maximizar o aprendizado dos conceitos de algoritmos e programao ministrados aos estudantes dos cursos tcnicos do Instituto Federal de Educao Cincia e Tecnologia do Rio Grande do Norte (IFRN). Para tanto, temos por objetivo a pesquisa e catalogao de ferramentas de apoio ao ensino e a aplicao dessas ferramentas em sala de aula. Nesse sentido, tivemos experincias positivas em relao adoo das ferramentas Visualg e Portugol, ambas simuladores de algoritmos. Por meio delas o aluno pode executar seu algoritmo passo-a-passo, examinar essa soluo e corrigi-la, caso necessrio. Essa abordagem, em complemento tradicional abordagem de papel-ecaneta, ajudou a melhorar a compreenso do que de fato estava acontecendo no processo de resoluo dos problemas propostos. Esse tpico da pesquisa detalhado na seo 4. Outra frente do projeto a pesquisa e classificao de material didtico disponvel para o ensino de algoritmos e programao e a elaborao de material didtico especfico para o tcnico de nvel mdio. Nessa proposta, os estudantes envolvidos na pesquisa elaboraram uma primeira verso de uma apostila de algoritmos, alm de tutoriais para as ferramentas de apoio ao ensino pesquisadas. Os prximos passos sero a divulgao pblica desse material em um stio na Internet para que seja objeto de estudo e para que se possa colher crticas e sugestes que levem ao seu aperfeioamento. Alm disso, est prevista a elaborao de uma apostila sobre programao. Em um estgio mais maduro da pesquisa, espera-se elaborar um livro com a sntese de todo o material didtico produzido. O presente artigo dividido como descrito a seguir. A seo 2 apresenta o fundamento terico do estudo, a saber, o desenvolvimento de algoritmos e as linguagens de programao. A reviso da bibliografia relacionada ao presente estudo descrita na seo 3. Por sua vez, a seo 4 apresenta o estudo das ferramentas de apoio ao ensino de programao. A anlise e avaliao dos resultados obtidos realizada na seo 5. Por fim, na seo 6 delineiam-se as consideraes finais e trabalhos futuros.

2. ALGORITMOS E PROGRAMAO
Inicialmente, possvel definir um programa de computador como um conjunto de instrues que sero executadas em computador. Tendo em vista que computadores no reconhecem a linguagem natural utilizada pelos seres humanos, foram criadas as linguagens de programao, capazes de ser

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

entendidas pelo computador. Os programas (software) so criados a partir das instrues descritas nessas linguagens. possvel classific-las de acordo com a sua proximidade com a linguagem humana em linguagens de baixo e de alto nvel. As primeiras so distantes da lgica lingustica humana, por isso os programas criados utilizando este tipo de linguagem so de difcil compreenso. Elas podem ser executadas diretamente pelo processador, por isso tambm so chamadas de linguagens de mquina. Por outro lado, as linguagens de alto nvel possuem construes mais prximas das linguagens humanas, dessa forma seu aprendizado e utilizao tornam-se mais simples. No entanto, elas no podem ser executadas diretamente pelo processador, sendo necessrio traduzi-las para a linguagem de mquina, em um processo denominado de compilao. Ressalte-se que as linguagens de alto nvel so as mais utilizadas na programao tanto comercial quanto acadmica e so o foco do ensino nas disciplinas introdutrias de algoritmos e programao. H muitas diferenas de sintaxe entre as diversas linguagens de programao de alto nvel. Por isso, a escolha de qual linguagem utilizar para introduzir a pratica de programao muito importante, pois um aluno que teve um primeiro contato com programao atravs de uma linguagem poder ter dificuldades em utilizar outra, caso elas sejam muito diferentes entre si. No entanto, importante observar que as diversas linguagens de programao possuem estruturas e comandos que tem os mesmos propsitos. Por isso comum, antes de se ensinar uma determinada linguagem de programao, apresentar essas diversas estruturas e tcnicas de programao atravs do uso de algoritmos. Um algoritmo descreve o caminho para a uma soluo de um problema utilizando uma notao genrica, com sintaxe mais simples e muito mais flexvel que a linguagem de programao. Dessa forma, o aprendizado de programao atravs de algoritmos tende a ser muito mais efetivo do que se utilizarmos uma linguagem. Alm disso, quando o aluno que sabe produzir algoritmos com eficincia for apresentado a uma linguagem de programao ele j ter o conhecimento do contedo em geral e s precisar se adaptar sintaxe da nova linguagem. Apesar de ter notao menos rgida que uma linguagem, importante destacar que algumas dificuldades podem surgir no processo de ensino-aprendizagem de algoritmos. Entre eles esto a dificuldade do aluno em desenvolver o raciocnio lgico necessrio para programar (RODRIGUES JNIOR, 2002) e a falta de motivao quando o aluno acredita que a disciplina constitui um grande obstculo a ser superado (RODRIGUES JNIOR, 2002). Mas o principal problema que os algoritmos no so compilveis (eles no podem ser traduzidos para uma linguagem de mquina), sendo assim o algoritmo no um cdigo, ele um pseudocdigo. Por este aspecto a disciplina de algoritmos no , a princpio, uma disciplina com aplicao prtica, isso dificulta ainda mais o aprendizado, pois o aluno no pode ver o seu algoritmo sendo executado pelo computador. Outro grande problema a adequao do material didtico disponvel para esta disciplina. Como a maior parte desse material direcionada para o nvel superior, o seu nvel tcnico tende a ser muito elevado para os alunos de cursos de nvel mdio. Dessa forma, de vital importncia a produo de material didtico adequado ao tcnico de nvel mdio para o aprendizado de algoritmos e programao, sendo este um dos objetivos do presente projeto. 2.2 Um Exemplo de Algoritmo O pseudocdigo de um algoritmo inclui todos os comandos e estruturas que so comuns nas diversas linguagens de programao. Ao contrario das linguagens de programao, que geralmente utilizam o ingls como linguagem base, o pseudocdigo pode ser escrito na lngua portuguesa. A seguir descreveremos o pseudocdigo de um algoritmo bsico. Ele recebe como entradas as notas de vrios alunos e exibe como sada uma mensagem que diz se o aluno foi ou no aprovado. //isto um comentrio, um comentrio trecho de cdigo que serve para documentao do pseudocdigo. 1. incio // o algoritmo comea aqui 2. registro : aluno 3. mdia : real 4. aprovado : lgico

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.

fimregistro alunos : aluno // cria uma estrutura de dados (registro) do tipo aluno n1, n2 : numero inteiro escreva Entre com a nota 1: leia n1 enquanto n1 <> -1 faa // a leitura das notas s vai parar quando a nota -1 for inserida escreva Entre com a nota 2: leia n1 alunos.mdia n1 + n2 / 2 // calcula a mdia do aluno e armazena na varivel a mdia se aluno.mdia 6 entao // o aluno s aprovado se estiver na media, ou acima dela alunos.aprovado VERDADEIRO seno alunos.aprovado FALSO fimse se alunos.aprovado = VERDADEIRO entao escreva Este aluno foi aprovado senao escreva Este aluno no foi aprovado fimse escreva Entre com a nota 1: leia n1 fimenquanto fim // o algoritmo acaba aqui

Variveis e estruturas de dados Variveis so, basicamente, espaos na memria do computador que podem ser utilizados para armazenar dados de diversos tipos (nmeros, textos, etc.). No algoritmo apresentado foram declaradas trs variveis, duas para armazenar nmeros inteiros (linha 7) e uma do tipo aluno (linha 6). O tipo de dados aluno um tipo de registro. Um registro uma estrutura que pode conter diversas variveis relacionadas entre si. Para utilizar registro necessrio defini-lo (linhas 2 a 5), e ao se declarar uma varivel deste tipo (linha 6) criada uma estrutura que contm todas as variveis que encontram-se no corpo da declarao do registro (linhas 3 e 4). Para se acessar cada varivel da estrutura, utiliza-se o nome da varivel declarada, no caso, alunos, seguido de ponto. Por exemplo, alunos.mdia acessa a varivel mdia da estrutura alunos, sendo possvel, nesse caso, ler o valor que est armazenado no campo (varivel) mdia ou modificar esse valor. Entrada e sada de dados A insero de valores em variveis pode ser feita atravs de expresses. Nesse caso, o resultado da avaliao de uma expresso atribudo varivel, atravs do operador de atribuio . No comando de atribuio, o valor esquerda sempre o nome de uma varivel, o valor direita uma expresso que pode conter uma combinao vlida de operadores (+, -, etc.), valores constantes e variveis Nas linhas 13, 15 e 17 tem-se atribuio de valores aos campos mdia (linha 13) e aprovado (linhas 15 e 17) da varivel registro alunos. Outra forma de inserir valores em variveis atravs da entrada de dados. Pela entrada de dados o usurio pode atribuir um valor a uma varivel atravs de um dispositivo de entrada de dados (mouse ou teclado, por exemplo). Neste algoritmo foi utilizado o comando de entrada de dados leia para receber as notas dos alunos. O comando leia recebe o valor de uma ou mais variveis a partir do teclado do computador (linhas 9 e 12). Uma vez que todo programa precisa se comunicar com o usurio deve, assim como existe a instruo de entrada, tem-se a instruo de sada de dados. Na sada de dados o computador se comunica

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

com o usurio atravs de um dispositivo de sada (normalmente, o monitor). Neste algoritmo foi utilizado o comando de sada de dados escreva, que imprime na tela do computador um texto (linhas 8, 11, 20, 22 e 24) que pode conter, opcionalmente, o valor de uma ou mais variveis. Estruturas de controle de fluxo (seleo e repetio) O fluxo normal de um algoritmo executar um comando de cada vez, da esquerda para a direita, e quando no houver mais comandos, finalizar a execuo. Porm existem estruturas capazes de modificar este fluxo, elas se dividem em estruturas de repetio e estruturas de seleo. As estruturas de seleo (linhas 14 a 18 e 19 a 23) so capazes de desviar o fluxo de um algoritmo para um trecho aps a palavra ento ou para o trecho aps a palavra seno, dependendo do resultado da avaliao da expresso lgica aps o se (linhas 14 e 19). Caso a expresso lgica seja verdadeira o primeiro trecho (linhas 15 e 20) ser executado, por outro lado, caso seja falsa, apenas o segundo trecho (linhas 17 e 22) ser executado. As estruturas de repetio (linhas 10 a 26) so capazes de repetir um determinado trecho de cdigo. O numero de repeties definido atravs de uma expresso lgica (linha 10), enquanto a expresso for verdadeira a repetio ir continuar. No nosso exemplo utilizamos um valor invlido de nota para parar a repetio. Quando o usurio digitar -1 a execuo ir imediatamente sair da estrutura enquanto, nesse caso, indo para o fim do algoritmo.

3. REVISO DA BIBLIOGRAFIA
Diversos estudos vm sendo elaborados no sentido de melhorar as prticas pedaggicas de ensino de algoritmos e programao. Nesta seo apresentam-se pesquisas em torno de metodologias de ensino e ferramentas que vm sendo desenvolvidas no mbito acadmico. Algumas dessas ferramentas tambm sero discutidas no captulo 4, pois foram objeto de anlise e comparadas entre si neste projeto. Pereira Jr. e Rapkiewicz (2004) realizaram uma pesquisa em torno das publicaes de 1999 a 2003 no Simpsio Brasileiro de Informtica na Educao (SBIE) e no Workshop sobre Educao em Computao (WEI), ambos eventos nacionais relevantes da rea de informtica na educao. A pesquisa apontou que muitos autores enfatizam que muitos alunos no conseguem desenvolver o raciocnio lgico exigido para a resoluo de problemas, e que eles tm dificuldades em aplicar os conhecimentos prvios adquiridos, principalmente em matemtica. Os autores definem como elemento chave no aprendizado a motivao do aluno para que este supere suas dificuldades iniciais e desenvolva suas habilidades. Por fim, conclui-se que os problemas inerentes ao processo de ensino e aprendizagem de fundamentos de programao so inmeros e difceis de serem tratados, de forma que no se pode afirmar a existncia de uma nica soluo que o resolva em sua totalidade. Um projeto de extenso realizado por Garcia et al. (2008) teve por objetivo proporcionar a 33 alunos do ensino mdio, em sua maioria da rede pblica, um treinamento em resoluo de problemas por meio de algoritmos e estruturas de dados utilizando-se a linguagem de programao C na parte prtica do curso. Como efeitos secundrios do projeto, esperava-se motivar os participantes a continuar seus estudos na rea de Computao e Informtica. Ao final dos 10 meses de projeto 17 alunos concluram o curso com bom aproveitamento, sendo que alguns deles seguiram os estudos de graduao em informtica. Partes dos desistentes alegaram motivos de ordem econmica e, outra parte, alegou dificuldades em acompanhar o curso. A Universidade Regional de Blumenau (FURB) desenvolveu um ambiente (VARGAS; MARTINS, 2005) para simulao de algoritmos em portugol voltada a alunos do primeiro semestre do curso de cincia da computao. Esse software possibilita a execuo do algoritmo passo-a-passo, bem como a compilao do algoritmo para que possa ser executada em um computador, de forma independente da ferramenta. A ferramenta permite o uso de boa parte do portugol, mas no possui vetores (uma varivel que pode guardar vrios valores de um mesmo tipo de forma seqencial) de mais de uma dimenso e tambm no permite o uso procedimentos de funes, que possibilitam a diviso do cdigo do algoritmo em subprogramas. Uma avaliao do uso da ferramenta, feito pelo professor por meio de questionrio, constatou que 90% dos alunos acreditaram que o uso do ambiente ajudou no aprendizado e

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

70% utilizaram o ambiente tambm fora de sala de aula, o que demonstra o interesse pelo conhecimento extra-classe. A ferramenta Visualg (SOUZA, 2009), aplicada durante a execuo deste projeto em sala de aula, apresenta ambiente semelhante, porm mais completo que o simulador da FURB. No Visualg, alm da execuo do algoritmo passo-a-passo, possvel utilizar uma execuo com temporizador, que d uma pausa na execuo de cada linha de pseudocdigo que pode variar de 0.2 a 5 segundos. Dessa forma, o aluno tem um certo tempo para verificar o valor de cada varivel do algoritmo, bem como acompanhar o comportamento da execuo, podendo assim perceber como funciona cada estrutura. Alm disso, o Visualg possui uma notao de algoritmo semelhante ao que se encontra nos livros e cobre boa parte das construes, provendo matrizes (vetores de mais de uma dimenso), procedimentos e funes. O detalhamento das caractersticas do Visualg e a sua comparao com as demais ferramentas pesquisadas sero abordados no captulo 4. No captulo 6 apresenta-se o resultado da sua aplicao em sala de aula. O software Tepequm (HINTERHOLZ Jr., 2009) consiste em um plugin para a IDE Netbeans (NETBEANS, 2011) e permite o desenvolvimento de algoritmos em notao de pseudocdigo que utiliza inclusive a acentuao da lngua portuguesa. Ela permite que se trabalhe a maior parte dos contedos de algoritmos e possui diversas funes predefinidas em sua biblioteca. De acordo com os autores, uma das vantagens dessa ferramenta o fato dela ser extensvel, no entanto, o artigo no deixa claro com esta extenso pode ser obtida. Outro software acadmico que merece destaque o CIFluxProg (SANTIAGO, 2004). Ele permite descrio do algoritmo tanto na notao de portugol quanto na de fluxogramas. Os fluxogramas so uma maneira grfica de representao de algoritmos atravs de setas representando o fluxo de execuo e figuras geomtricas que simbolizam entrada, processamento, sada e deciso. Normalmente, os fluxogramas so utilizados em um primeiro contato dos alunos aos algoritmos e so uma maneira fcil de construir e visualizar os algoritmos. De acordo com os autores, aps a aplicao desse software em sala verificou-se um aumento na motivao e interesse dos alunos, aumentando tambm o ndice de resoluo de exerccios extra-classe.

4. FERRAMENTAS DE APOIO AO ENSINO


O mtodo tradicional de avaliao de um algoritmo o teste de mesa, em que a execuo do algoritmo realizada no papel, passo-a-passo, atravs da atribuio de valores s suas variveis. Esse mtodo pode ser efetivo para algoritmos pequenos, mas para algoritmos grandes e complexos ele se torna trabalhoso e cansativo. Isto pode desmotivar o aluno, que pode ser levado a acreditar que o estudo de algoritmos de difcil assimilao. Para amenizar esse problema, foram criadas ferramentas que testam e executam o algoritmo em questo de segundos, sendo possvel ver as variaes dos valores de cada varivel linha por linha, facilitando assim o aprendizado. As ferramentas tambm tm a vantagem de utilizar a lngua portuguesa para os comandos, o que ajuda na assimilao do seu propsito.

4.1 Visualg e Portugol


Os programas Visualg e Portugol (PORTUGOL, 2011) so o que mais se aproximam das linguagens de programao de alto nvel. Neles os algoritmos so construdos na linguagem de pseudocdigo (ou portugus estruturado). Em ambos possvel acompanhar a execuo do algoritmo passo-a-passo e as variaes dos valores das variveis ao longo do tempo. Outra vantagem reside no fato de que, tanto a ferramenta quanto os comandos que fazem parte da notao de pseudocdigo utilizam a lngua portuguesa. Esses programas realizam a anlise da sintaxe do algoritmo (forma esperada para os comandos) e apontam erros tanto na estrutura sinttica, quanto em tempo de execuo, se houverem. Em relao s peculiaridades de cada ferramenta, o Portugol apresenta a opo de construir o algoritmo utilizando fluxogramas. Ou seja, atravs de diagramas que representam a entrada, processamento, fluxo e sada de informaes, possvel a construo de algoritmos simples, o que de grande ajuda ao aluno, principalmente nos estgios iniciais de aprendizagem. Por outro lado, a sua linguagem de portugus estruturado menos completa que aquela do programa Visualg. Por exemplo, no Visualg possvel descrever funes e procedimentos para quebrar o algoritmo em partes menores e com funo bem-definida, o que no possvel de ser feito no Portugol. Por apresentar mais comandos e ter um bom suporte, o Visualg se apresenta como melhor para aprendizagem de algoritmo do que o Portugol.

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

4.2 Outras ferramentas pesquisadas Voltados a auxiliar no ensino de iniciantes de programao, temos como programas recomendados o RoboMind (ROBOMIND, 2011) e o Scratch (MIT, 2011). O RoboMind introduz as estruturas de repetio e de condio, e o Scratch alm de apresentar essas estruturas, introduz outros conceitos de programao, como variveis. Com esses dois programas possvel criar pequenos jogos que podem ajudar e motivar o aprendizado. H tambm o programa Alice (CMU, 2011), que segue a mesma linha do programa Scratch, introduzindo conceitos bsicos de programao, como estrutura de repetio e de condio, e se diferencia por usar o idioma ingls e apresentar animaes em 3D. possvel citar ainda o FreeDFD (FREEDFD, 2011), um programa simples e que somente constri o algoritmo utilizando fluxogramas, e o WebPortugol, que parecido com o Visualg, mas com menos comandos, mais simples e sendo utilizado apenas pela Internet. A anlise comparativa entre os programas pesquisados apresentada na Tabela 1 programas de nvel bsico, para iniciantes e na Tabela 2 programas de nvel intermedirio, para uso em um curso completo de algoritmos.

Figura 1 - rea de trabalho da ferramenta Visualg

Tabela 1 - Classificao das ferramentas pesquisadas (ferramentas de nvel bsico)

RoboMind
Recomendao Pontos Positivos Pontos Negativos Facilidade de uso Interao com o usurio Recursos oferecidos Curva de aprendizado Anlise final

Scratch

FreeDFD
Iniciante. Algoritmo feito fluxogramas. atravs de

Iniciante. Iniciante. Ensina a construo de Apresenta uma boa interao com o algoritmos atravs de um jogo. usurio. Construo de algoritmos por comandos simples e animaes. Poucos comandos: condicional, No possvel a sua aplicao a um curso repetio e os movimentos de inteiro de algoritmos para o nvel mdio. direo do rob. Os comandos so simples e de Apresenta uma boa interface e comandos fcil assimilao. Ex. intuitivos. andarFrente, pintarPreto. possvel acompanhar os tima interao com o usurio atravs de cdigos enquanto o jogo est peas representando os comandos. sendo executado. Construo de algoritmos e possvel fazer pequenos jogos e criar pequenos jogos atravs de animaes. cdigos. Boa, pois se trata de uma tima curva de aprendizado para o ferramenta bastante intuitiva. iniciante em algoritmos. Bom para ensina os condio . iniciantes, pois Bom para o aluno iniciante, pois o comandos de programa ajuda no entendimento da construo do algoritmo utilizando jogos e animaes.

No possvel se trabalhar com algoritmos em pseudocdigo. No oferece ajuda ao usurio. A maior parte do algoritmo feita apenas utilizando-se o mouse. Alta interao com o usurio. Fluxogramas so fceis de manipular. Atalhos para a construo do algoritmo com fluxograma. Facilidade na construo compreenso do algoritmo. e

um programa que no requer conhecimento o pseudocdigo, j que feito em fluxograma, dessa forma fcil de aprender e utilizar.

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

Tabela 2 - Classificao das ferramentas pesquisadas (ferramentas de nvel intermedirio)

WebPortugol
Recomendao Pontos Positivos
Intermedirio. Pode ser acessado de qualquer lugar atravs da Internet. Apresenta ajuda eficaz. necessrio cadastrar-se no Web site. Simulador mais simples que as outras ferramentas. necessrio fazer o download de um pacote de dados. O programa utilizado pela Internet. Para acess-lo preciso apenas se cadastrar.

Portugol IDE
Intermedirio. Apresenta opo de visualizao do algoritmo em fluxograma. Aceita palavras acentuadas e caracteres especiais. Por ter sido desenvolvido em Portugal, apresenta alguns comandos que so escritos de modo diferente do portugus brasileiro (ex.: leia -> ler).

Visualg
Intermedirio. Apresenta uma linguagem simples e direta. J vem com a estrutura (esqueleto) do algoritmo definida. No aceita palavras acentuadas e caracteres especiais. rgido na construo das estruturas dos algoritmos. Em algoritmos maiores, pode ser trabalhoso encontrar erros. Apresenta um esqueleto do corpo do algoritmo sempre que se cria um novo algoritmo e teclas de atalho para as ferramentas.

Pontos Negativos

Facilidade de uso

Interao com o usurio

Recursos oferecidos

Curva de aprendizado

Anlise final

Devido aos comandos terem uma forma um pouco diferente do portugol brasileiro, o usurio pode ter um pouco de dificuldade no incio. No entanto, apresenta boa ajuda. Possui cones que facilitam a Sua interface composta por cones e Apresenta uma boa interatividade execuo das aes. Apresenta abas que facilitam a interao do usurio na construo e execuo do o bloco de comandos e logo com o programa. algoritmo. abaixo a tela onde ser executado o algoritmo. Dicas para construir um Opo verificador que verifica algum Execuo do algoritmo com algoritmo. possvel erro no algoritmo e os exibe. temporizador. Visualizao do Oferece o recurso de visualizao do pseudocdigo na linguagem de algoritmo em fluxograma, facilitando o programao Pascal. entendimento do algoritmo. Indica os comandos que devem bom programa para aprendizado de Apresenta muitos recursos que ser utilizados em determinada algoritmos j que ele possui um facilitam o aprendizado, como a situao, o que facilita a verificador que exibe os erros visualizao de variveis, da aprendizagem. introduzidos pelo usurio. chamada a funes. Cria para o usurio o esqueleto de um algoritmo, dentre outros. Apesar de simples, pode ser um programa de interface simples e timo programa para a prtica de uma boa soluo independente com boa interao com o usurio. algoritmos. Apresenta a sintaxe de plataforma (Windows, Recomenda-se que o estudante comece mais parecida com o que se Linux, etc.) por ele, pois ele no exigente quanto encontra na literatura. Possui boa criao e formatao do algoritmo. interao com o usurio e muitos comandos de algoritmos.

ANLISE E AVALIAO DOS RESULTADOS

No que tange produo de material didtico, at o presente momento foi desenvolvida uma apostila que abrange todo o contedo didtico de um curso bsico de algoritmos. A apostila tambm conta com diversos exerccios resolvidos e outros propostos. Esse material j foi revisado e dever ser disponibilizado em breve para os alunos que atualmente esto cursando a disciplina de fundamentos de programao, para que possam utiliz-lo e fornecer um retorno na forma de sugestes de melhorias aos bolsistas do projeto. Aps a disponibilizao do material, esse retorno ser colhido sob a forma de questionrio a ser elaborado pelos bolsistas. Ressalte-se que se encontra em andamento a produo de uma apostila sobre conceitos de programao e orientao a objetos na linguagem C++ (STROUSTRUP, 2001). Essa linguagem vem sendo adotada no curso de fundamentos de programao atualmente ministrado pelo coordenador do projeto em virtude da sua popularidade, da facilidade de aprendizado, do conjunto de ferramentas disponveis e pelo fato de ser a base para outras linguagens de programao atuais. Espera-se que esta seja concluda a tempo de que seja aplicada diretamente em sala de aula, ainda neste perodo letivo. Dessa

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

forma, ser possvel compilar as recomendaes dos alunos e aprimorar o material durante o andamento da disciplina. Em relao s ferramentas de apoio ao ensino, aplicaram-se diretamente em sala de aula os programas de edio e simulao de algoritmos Visualg e Portugol (captulo 4). Verificou-se um aumento no rendimento dos alunos aps a adoo dessas ferramentas, uma vez que eles passaram a ter no apenas a viso esttica dos algoritmos no quadro-negro ou no papel, mas puderam eles mesmos construir seus algoritmos nas ferramentas, acompanhando todo o processo de execuo, desde o fornecimento das entradas, o processamento de cada instruo e a visualizao das sadas fornecidas. O fato das ferramentas apontarem os erros introduzidos quando da construo dos algoritmos tambm foi um fato bastante positivo e que auxiliou o aprendizado de cada construo e estrutura de dados componente do algoritmo. A anlise comparativa de outras ferramentas, conforme exposto no captulo 4, tambm foi realizada e, em conjunto com o professor orientador, sero definidas quais delas sero adotadas em uma prxima turma de fundamentos de programao. Tendo em vista a boa aceitao por parte dos alunos e a proximidade de notao com o portugol normalmente encontrado nos materiais didticos, a ferramenta Visualg ser uma das que sero novamente utilizadas. Os alunos envolvidos nesta parte do projeto tambm desenvolveram tutoriais que detalham as funcionalidades e a utilizao das ferramentas Visualg e Portugol. Alm dessas, o tutorial da ferramenta WebPortugol, uma verso de simulador de algoritmos que pode ser acessada pela Web tambm foi desenvolvido. Um stio Web ser utilizado para disponibilizar todo o material produzido de modo que ele sirva de auxlio a qualquer aluno ou professor que tenha o interesse de utiliz-lo em suas aulas.

CONSIDERAES FINAIS

notrio que as disciplinas do ncleo de conhecimentos gerais de nvel mdio (disciplinas notcnicas) possuem extensa bibliografia e demais recursos didticos (DVDs, jogos, etc.). Esses materiais servem de auxlio ao professor na preparao de suas aulas e so uma fonte de estudo de qualidade para os alunos. No entanto, as disciplinas tcnicas de um modo geral no contam com esse benefcio, pois grande parte do acervo didtico dessas disciplinas direcionado ao ensino superior. Dessa forma, para o professor mais custosa a adaptao do material e, ao olhar para os alunos, esses possuem maior dificuldade em lidar com a linguagem e o nvel de abordagem do material. Este projeto visa preencher essa lacuna da falta de recursos didticos voltado especificamente ao ensino de algoritmos e tcnicas de programao aos cursos tcnicos de nvel mdio. Conforme delineado nos captulos anteriores, o projeto segue duas vertentes. Uma delas criao de material didtico pelos bolsistas do projeto, alunos dessas disciplinas, e a apreciao desse material para anlise dos demais e posterior utilizao em sala de aula. A outra diz respeito pesquisa, catalogao, anlise comparativa e uso de ferramentas de apoio ao ensino de algoritmos e programao. Tutoriais de uso dessas ferramentas tambm vm sendo elaborados para auxiliar os alunos em sua utilizao. As duas vertentes do projeto servem aos mesmos propsitos, a saber, diminuir as barreiras iniciais do processo de ensino-aprendizagem de programao, fazendo com que o estudante no perca o estmulo e o interesse pela matria e fornecer uma valiosa fonte de estudos com linguagem e contedo adaptado s necessidades do nvel mdio. Assim, ao final do projeto, ter-se- uma metodologia de ensino que visa apresentar ao aluno os conceitos de programao de forma acessvel e, o mais cedo quanto possvel, prtica atravs das ferramentas de simulao de algoritmos por fluxogramas e pseudocdigo. Ressalte-se que os resultados deste projeto sero disponibilizados em um stio Web e podero ser acessados livremente por alunos, professores ou qualquer pessoa interessada em utilizar o material produzido. Essa abordagem tambm til para a constante atualizao do material atravs do feedback recebido pelos seus usurios.

VI Congresso de Pesquisa e Inovao da Rede Norte e Nordeste de Educao Tecnolgica Aracaju-SE -2011

REFERNCIAS
CARNEGIE MELLON UNIVERSITY. Alice tool. Disponvel em: http://www.alice.org/. Acesso em 18/09/2011. FREEDFD. FreeDfd. Disponvel em: http://code.google.com/p/freedfd/. Acesso em 19/09/2011. GARCIA, R. E; CORREIRA, R. C. M.; SHIMABUKURO, M. H. Ensino de Lgica de Programao e Estruturas de Dados para Alunos do Ensino Mdio. In: Workshop Sobre Educao em Computao, 2008, Belm. Anais do XXVIII Congresso da Sociedade Brasileira de Computao, 2008, Belm, p. 246-249. HINTERHOLZ Jr., O. Tepequm: uma nova Ferramenta para o Ensino de Algoritmos nos Cursos Superiores em Computao. In: Anais do Workshop sobre Educao em Informtica (WEI), 2009, Bento Gonalves, p. 485-488. MIT MEDIA LAB. Scratch. Disponvel em: http://scratch.mit.edu/. Acesso em: 19/09/2011. NETBEANS. NetBeans IDE. Disponvel em: http://netbeans.org/. Acesso em: 19/09/2011. PEREIRA Jr., J. C. R.; RAPKIEWICZ, C. E. O Processo de Ensino e Aprendizagem de Algoritmos e Programao: Uma Viso Crtica da Literatura. In: III Workshop de Educao em Computao e Informtica do Estado de Minas Gerais, 2004, Belo Horizonte. PORTUGOL. Portugol IDE. Disponvel em: http://www.dei.estt.ipt.pt/portugol/. Acesso em: 19/09/2011. ROBOMIND. RoboMind.Net. http://www.robomind.net/pt/index.html. Acesso em: 19/09/2011. RODRIGUES JUNIOR, M. C. Como Ensinar Programao? Informtica Boletim Informativo, Ano I n 01, ULBRA, Canoas, RS, 2002.

SANTIAGO, R. Ferramenta de apoio ao ensino de algoritmos. In: XII Seminrio de Computao, 2004, Blumenau.
SOUZA, C. M. VisuAlg - Ferramenta de Apoio ao Ensino de Programao. Revista Eletrnica TECCEN, Vassouras, v. 2, n. 2, set. 2009. STROUSTRUP, B. A Linguagem de Programao C++. 3 ed. Porto Alegre : Bookman, 2001. VARGAS, K. S.; MARTINS J. Ferramenta para Apoio ao Ensino de Introduo Programao. In: XIV Seminrio de Computao, 2005, Blumenau. Disponvel em: http://www.inf.furb.br/seminco/2005/. Acesso em: 15/09/2011.

Potrebbero piacerti anche