VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011

ENSINO DE ALGORITMOS E PROGRAMAÇÃO PARA CURSOS TÉCNICOS DE NÍVEL MÉDIO
RESUMO
A assimilação dos conteúdos das disciplinas de algoritmos e programação por vezes torna-se uma tarefa árdua por parte dos alunos. Elas requerem boa capacidade de raciocínio lógico e uma base de conhecimentos anteriores, principalmente da matemática. Além disso, apesar de existirem técnicas que podem ser reutilizadas em muitos problemas, a resolução correta de um algoritmo pode ser feita de diversas formas, não havendo receita ou fórmula pronta. Assim sendo, torna-se necessária, além da adoção de técnicas tradicionais de ensino, a aplicação de ferramentas que facilitem, estimulem o aprendizado e despertem o interesse do aluno. Este trabalho tem por objetivos a pesquisa e aplicação de tais ferramentas de apoio ao ensino em sala de aula, assim como a elaboração de material didático específico para o público do ensino médio, tendo em vista a sua escassez na literatura. Até o presente momento aplicou-se diretamente em aulas práticas duas ferramentas, a saber, o Visualg e o Portugol, tendo por resultado a melhoria na assimilação dos conteúdos lecionados nas aulas teóricas. A pesquisa e análise comparativa de outras abordagens da literatura também foram realizadas, sendo que a sua aplicação prática ainda a deverá ser objeto de estudo. Em relação ao material didático, desenvolveram-se tutoriais das ferramentas aplicadas em sala e uma apostila que abrange todo o conteúdo de algoritmos lecionado no ensino médio. Atualmente estão sendo desenvolvidos os materiais aplicados à linguagem de programação C++ e programação orientada a objetos. Palavras-chave: Ensino médio, algoritmos, programação, ferramentas educacionais, material didático.

é menos sólida que aqueles que ingressam no técnico integrado regular ou no técnico subsequente. Essa abordagem. resolver exercícios nos horários extra-classe. temos por objetivo a pesquisa e catalogação de ferramentas de apoio ao ensino e a aplicação dessas ferramentas em sala de aula. a seção 4 apresenta o estudo das ferramentas de apoio ao ensino de programação. ambas simuladores de algoritmos. tivemos experiências positivas em relação à adoção das ferramentas Visualg e Portugol. Por sua vez. Ou seja. alguns há muitos anos afastados do convívio escolar. além de tutoriais para as ferramentas de apoio ao ensino pesquisadas. foram criadas as “linguagens de programação”. levando ao mesmo resultado final. capazes de ser . em complemento à tradicional abordagem de papel-ecaneta. Tendo em vista que computadores não reconhecem a linguagem natural utilizada pelos seres humanos. A revisão da bibliografia relacionada ao presente estudo é descrita na seção 3. 2.VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 1. na seção 6 delineiam-se as considerações finais e trabalhos futuros. o desenvolvimento de algoritmos e as linguagens de programação. Os problemas de assimilação de conteúdo tornam-se mais preocupantes quando voltamos nossa atenção para o curso técnico integrado de informática na modalidade de jovens e adultos. os estudantes envolvidos na pesquisa elaboraram uma primeira versão de uma apostila de algoritmos. Na maioria dos casos. O presente artigo é dividido como descrito a seguir. Dessa forma. ajudou a melhorar a compreensão do que de fato estava acontecendo no processo de resolução dos problemas propostos. visando tornar o seu aprendizado mais efetivo. Para tanto. Um programa de computador pode ser visto como uma coleção de algoritmos codificados em uma linguagem de programação. teoria dos conjuntos e noções básicas de lógica de proposicional. Os próximos passos serão a divulgação pública desse material em um sítio na Internet para que seja objeto de estudo e para que se possa colher críticas e sugestões que levem ao seu aperfeiçoamento. é possível definir um programa de computador como um conjunto de instruções que serão executadas em computador. Através da experiência de ensino é possível afirmar que as disciplinas de algoritmos e programação apresentam uma característica bastante peculiar: não há receita ou fórmula para a resolução de um problema específico. Nesse sentido. Nessa proposta. ALGORITMOS E PROGRAMAÇÃO Inicialmente. Em um estágio mais maduro da pesquisa. Esse tópico da pesquisa é detalhado na seção 4. espera-se elaborar um livro com a síntese de todo o material didático produzido. O que existe é um conjunto de técnicas. acrescido de conhecimentos herdados de disciplinas como a matemática. a base de conhecimentos desses estudantes. Além disso. Por meio delas o aluno pode “executar” seu algoritmo passo-a-passo. uma linguagem de programação é o meio para traduzir nossas soluções (algoritmos) em uma linguagem que o computador seja capaz de entender e executar. caso necessário. a saber. está prevista a elaboração de uma apostila sobre programação. Por fim. Além disso. É possível afirmar que para obter êxito nas disciplinas de programação o estudante necessita obter uma boa assimilação do conteúdo visto em sala e tentar. A seção 2 apresenta o fundamento teórico do estudo. inúmeras outras podem ser empregadas na resolução de um mesmo problema. A análise e avaliação dos resultados obtidos é realizada na seção 5. INTRODUÇÃO Um algoritmo é definido como uma sequência finita de passos lógicos que descrevem a solução para um determinado problema computacional. por si só. torna-se necessário um olhar especial a esses estudantes. Assim. examinar essa solução e corrigi-la. Outra frente do projeto é a pesquisa e classificação de material didático disponível para o ensino de algoritmos e programação e a elaboração de material didático específico para o técnico de nível médio. Nessas disciplinas há uma grande exigência quanto ao raciocínio lógico e à manipulação de estruturas que a princípio não são familiares aos alunos. como funções. deve-se ter como pré-requisito uma base mínima de conteúdos da matemática. Propomos este projeto como forma de maximizar o aprendizado dos conceitos de algoritmos e programação ministrados aos estudantes dos cursos técnicos do Instituto Federal de Educação Ciência e Tecnologia do Rio Grande do Norte (IFRN). apesar de ser possível classificar certas técnicas de programação. É importante ressaltar que os alunos dos cursos técnicos em informática costumam ter dificuldades quanto à assimilação do conteúdo ministrado nas disciplinas de algoritmos e de programação.

um comentário é trecho de código que serve para documentação do pseudocódigo.VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 “entendidas” pelo computador. Apesar de ter notação menos rígida que uma linguagem. É possível classificá-las de acordo com a sua proximidade com a linguagem humana em linguagens de baixo e de alto nível. pois um aluno que teve um primeiro contato com programação através de uma linguagem poderá ter dificuldades em utilizar outra. No entanto. 2. 1. Como a maior parte desse material é direcionada para o nível superior. sendo necessário traduzi-las para a linguagem de máquina. Mas o principal problema é que os algoritmos não são compiláveis (eles não podem ser traduzidos para uma linguagem de máquina). apresentar essas diversas estruturas e técnicas de programação através do uso de algoritmos. caso elas sejam muito diferentes entre si. As primeiras são distantes da lógica linguística humana. registro : aluno 3. é de vital importância a produção de material didático adequado ao técnico de nível médio para o aprendizado de algoritmos e programação. Além disso. Por este aspecto a disciplina de algoritmos não é. dessa forma seu aprendizado e utilização tornam-se mais simples. Um algoritmo descreve o caminho para a uma solução de um problema utilizando uma notação genérica. Ele recebe como entradas as notas de vários alunos e exibe como saída uma mensagem que diz se o aluno foi ou não aprovado. o aprendizado de programação através de algoritmos tende a ser muito mais efetivo do que se utilizarmos uma linguagem. isso dificulta ainda mais o aprendizado. por isso os programas criados utilizando este tipo de linguagem são de difícil compreensão. início // o algoritmo começa aqui 2. Por isso. 2002). é importante destacar que algumas dificuldades podem surgir no processo de ensino-aprendizagem de algoritmos. com sintaxe mais simples e muito mais flexível que a linguagem de programação. A seguir descreveremos o pseudocódigo de um algoritmo básico. pois o aluno não pode ver o seu algoritmo sendo “executado” pelo computador. aprovado : lógico . as linguagens de alto nível possuem construções mais próximas das linguagens humanas. Por isso é comum. Por outro lado. //isto é um comentário. em um processo denominado de compilação. elas não podem ser executadas diretamente pelo processador. Dessa forma. Os programas (software) são criados a partir das instruções descritas nessas linguagens. média : real 4. 2002) e a falta de motivação quando o aluno acredita que a disciplina constitui um grande obstáculo a ser superado (RODRIGUES JÚNIOR. Ressalte-se que as linguagens de alto nível são as mais utilizadas na programação tanto comercial quanto acadêmica e são o foco do ensino nas disciplinas introdutórias de algoritmos e programação. Entre eles estão a dificuldade do aluno em desenvolver o raciocínio lógico necessário para programar (RODRIGUES JÚNIOR. uma disciplina com aplicação prática. Dessa forma. a princípio. Outro grande problema é a adequação do material didático disponível para esta disciplina. o pseudocódigo pode ser escrito na língua portuguesa. sendo este um dos objetivos do presente projeto. é importante observar que as diversas linguagens de programação possuem estruturas e comandos que tem os mesmos propósitos. antes de se ensinar uma determinada linguagem de programação. ele é um pseudocódigo. Ao contrario das linguagens de programação. Elas podem ser executadas diretamente pelo processador. sendo assim o algoritmo não é um código. No entanto. a escolha de qual linguagem utilizar para introduzir a pratica de programação é muito importante. Há muitas diferenças de sintaxe entre as diversas linguagens de programação de alto nível. que geralmente utilizam o inglês como linguagem base. quando o aluno que sabe produzir algoritmos com eficiência for apresentado a uma linguagem de programação ele já terá o conhecimento do conteúdo em geral e só precisará se adaptar à sintaxe da nova linguagem. por isso também são chamadas de “linguagens de máquina”.2 Um Exemplo de Algoritmo O pseudocódigo de um algoritmo inclui todos os comandos e estruturas que são comuns nas diversas linguagens de programação. o seu nível técnico tende a ser muito elevado para os alunos de cursos de nível médio.

no caso. duas para armazenar números inteiros (linha 7) e uma do tipo “aluno” (linha 6). Pela entrada de dados o usuário pode atribuir um valor a uma variável através de um dispositivo de entrada de dados (mouse ou teclado. nesse caso. Na saída de dados o computador se comunica . Para utilizar registro é necessário defini-lo (linhas 2 a 5). 22. 10. 11. 15 e 17 tem-se atribuição de valores aos campos “média” (linha 13) e “aprovado” (linhas 15 e 17) da variável registro “alunos”. 6. 15. 8. 13. ler o valor que está armazenado no campo (variável) média ou modificar esse valor. alunos.média ← n1 + n2 / 2 // calcula a média do aluno e armazena na variável a média se aluno. 16. 9. No comando de atribuição.média ≥ 6 entao // o aluno só é aprovado se estiver na media. ou acima dela alunos. 21. “alunos”. 26.aprovado = VERDADEIRO entao escreva “Este aluno foi aprovado” senao escreva “Este aluno não foi aprovado” fimse escreva “Entre com a nota 1:” leia n1 fimenquanto fim // o algoritmo acaba aqui Variáveis e estruturas de dados Variáveis são. 23. Outra forma de inserir valores em variáveis é através da entrada de dados. etc. 12. Uma vez que todo programa precisa se comunicar com o usuário deve. 24. sendo possível. etc. 25. seguido de ponto. Nesse caso.). e ao se declarar uma variável deste tipo (linha 6) é criada uma estrutura que contém todas as variáveis que encontram-se no corpo da declaração do registro (linhas 3 e 4). -. o valor à esquerda é sempre o nome de uma variável. por exemplo). 18. 20. Um registro é uma estrutura que pode conter diversas variáveis relacionadas entre si. Para se acessar cada variável da estrutura. Neste algoritmo foi utilizado o comando de entrada de dados “leia” para receber as notas dos alunos.média acessa a variável média da estrutura “alunos”. O tipo de dados “aluno” é um tipo de registro.aprovado ← FALSO fimse se alunos. assim como existe a instrução de entrada. 17. através do operador de atribuição “←”. Entrada e saída de dados A inserção de valores em variáveis pode ser feita através de expressões. n2 : numero inteiro escreva “Entre com a nota 1:” leia n1 enquanto n1 <> -1 faça // a leitura das notas só vai parar quando a nota -1 for inserida escreva “Entre com a nota 2:” leia n1 alunos. basicamente. tem-se a instrução de saída de dados. O comando “leia” recebe o valor de uma ou mais variáveis a partir do teclado do computador (linhas 9 e 12). o valor à direita é uma expressão que pode conter uma combinação válida de operadores (+. No algoritmo apresentado foram declaradas três variáveis. 19. 27.VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 5. utiliza-se o nome da variável declarada. Por exemplo. textos. fimregistro alunos : aluno // cria uma estrutura de dados (registro) do tipo “aluno” n1. valores constantes e variáveis Nas linhas 13.). o resultado da avaliação de uma expressão é atribuído à variável. espaços na memória do computador que podem ser utilizados para armazenar dados de diversos tipos (números. 7.aprovado ← VERDADEIRO senão alunos. 14.

que imprime na tela do computador um texto (linhas 8. conclui-se que os problemas inerentes ao processo de ensino e aprendizagem de fundamentos de programação são inúmeros e difíceis de serem tratados. 11. que possibilitam a divisão do código do algoritmo em subprogramas. apenas o segundo trecho (linhas 17 e 22) será executado. nesse caso. sendo que alguns deles seguiram os estudos de graduação em informática. finalizar a execução. As estruturas de repetição (linhas 10 a 26) são capazes de repetir um determinado trecho de código. Por fim. bem como a compilação do algoritmo para que possa ser executada em um computador. REVISÃO DA BIBLIOGRAFIA Diversos estudos vêm sendo elaborados no sentido de melhorar as práticas pedagógicas de ensino de algoritmos e programação. mas não possui vetores (uma variável que pode guardar vários valores de um mesmo tipo de forma seqüencial) de mais de uma dimensão e também não permite o uso procedimentos de funções. Caso a expressão lógica seja verdadeira o primeiro trecho (linhas 15 e 20) será executado. Neste algoritmo foi utilizado o comando de saída de dados “escreva”. As estruturas de seleção (linhas 14 a 18 e 19 a 23) são capazes de desviar o fluxo de um algoritmo para um trecho após a palavra “então” ou para o trecho após a palavra “senão”. O numero de repetições é definido através de uma expressão lógica (linha 10). esperava-se motivar os participantes a continuar seus estudos na área de Computação e Informática. caso seja falsa. elas se dividem em estruturas de repetição e estruturas de seleção. Porém existem estruturas capazes de modificar este fluxo. Os autores definem como elemento chave no aprendizado a motivação do aluno para que este supere suas dificuldades iniciais e desenvolva suas habilidades. 22 e 24) que pode conter. Um projeto de extensão realizado por Garcia et al. e Rapkiewicz (2004) realizaram uma pesquisa em torno das publicações de 1999 a 2003 no Simpósio Brasileiro de Informática na Educação (SBIE) e no Workshop sobre Educação em Computação (WEI).VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 com o usuário através de um dispositivo de saída (normalmente. 2005) para simulação de algoritmos em portugol voltada a alunos do primeiro semestre do curso de ciência da computação. ambos eventos nacionais relevantes da área de informática na educação. Pereira Jr. A pesquisa apontou que muitos autores enfatizam que muitos alunos não conseguem desenvolver o raciocínio lógico exigido para a resolução de problemas. indo para o fim do algoritmo. feito pelo professor por meio de questionário. principalmente em matemática. (2008) teve por objetivo proporcionar a 33 alunos do ensino médio. Quando o usuário digitar -1 a execução irá imediatamente sair da estrutura enquanto. MARTINS. opcionalmente. enquanto a expressão for verdadeira a repetição irá continuar. da esquerda para a direita. de forma que não se pode afirmar a existência de uma única solução que o resolva em sua totalidade. um treinamento em resolução de problemas por meio de algoritmos e estruturas de dados utilizando-se a linguagem de programação C na parte prática do curso. em sua maioria da rede pública. outra parte. Partes dos desistentes alegaram motivos de ordem econômica e. A Universidade Regional de Blumenau (FURB) desenvolveu um ambiente (VARGAS. A ferramenta permite o uso de boa parte do portugol. Nesta seção apresentam-se pesquisas em torno de metodologias de ensino e ferramentas que vêm sendo desenvolvidas no âmbito acadêmico. e que eles têm dificuldades em aplicar os conhecimentos prévios adquiridos. Algumas dessas ferramentas também serão discutidas no capítulo 4. dependendo do resultado da avaliação da expressão lógica após o “se” (linhas 14 e 19). 3. pois foram objeto de análise e comparadas entre si neste projeto. e quando não houver mais comandos. Como efeitos secundários do projeto. por outro lado. alegou dificuldades em acompanhar o curso. 20. o valor de uma ou mais variáveis. Uma avaliação do uso da ferramenta. No nosso exemplo utilizamos um valor inválido de nota para parar a repetição. Estruturas de controle de fluxo (seleção e repetição) O fluxo normal de um algoritmo é executar um comando de cada vez. Ao final dos 10 meses de projeto 17 alunos concluíram o curso com bom aproveitamento. constatou que 90% dos alunos acreditaram que o uso do ambiente ajudou no aprendizado e . o monitor). Esse software possibilita a execução do algoritmo passo-a-passo. de forma independente da ferramenta.

Em ambos é possível acompanhar a execução do algoritmo passo-a-passo e as variações dos valores das variáveis ao longo do tempo. uma das vantagens dessa ferramenta é o fato dela ser extensível. apresenta ambiente semelhante. os fluxogramas são utilizados em um primeiro contato dos alunos aos algoritmos e são uma maneira fácil de construir e visualizar os algoritmos. Por exemplo. após a aplicação desse software em sala verificou-se um aumento na motivação e interesse dos alunos. a sua linguagem de português estruturado é menos completa que aquela do programa Visualg. aumentando também o índice de resolução de exercícios extra-classe. que dá uma pausa na execução de cada linha de pseudocódigo que pode variar de 0. De acordo com os autores. 2011) são o que mais se aproximam das linguagens de programação de alto nível. é possível a construção de algoritmos simples. Para amenizar esse problema. Os fluxogramas são uma maneira gráfica de representação de algoritmos através de setas representando o fluxo de execução e figuras geométricas que simbolizam entrada. Ela permite que se trabalhe a maior parte dos conteúdos de algoritmos e possui diversas funções predefinidas em sua biblioteca. Isto pode desmotivar o aluno. Normalmente. O software Tepequém (HINTERHOLZ Jr. facilitando assim o aprendizado. fluxo e saída de informações. que pode ser levado a acreditar que o estudo de algoritmos é de difícil assimilação. o artigo não deixa claro com esta extensão pode ser obtida. no entanto. o que é de grande ajuda ao aluno. sendo possível ver as variações dos valores de cada variável linha por linha. Ou seja. 4. o Visualg possui uma notação de algoritmo semelhante ao que se encontra nos livros e cobre boa parte das construções. bem como acompanhar o comportamento da execução. FERRAMENTAS DE APOIO AO ENSINO O método tradicional de avaliação de um algoritmo é o teste de mesa. porém mais completo que o simulador da FURB. No Visualg. o que ajuda na assimilação do seu propósito. se houverem. podendo assim perceber como funciona cada estrutura. processamento. quanto em tempo de execução. No capítulo 6 apresenta-se o resultado da sua aplicação em sala de aula. no Visualg é possível descrever funções e procedimentos para quebrar o algoritmo em partes menores e com função bem-definida. provendo matrizes (vetores de mais de uma dimensão). Esse método pode ser efetivo para algoritmos pequenos. principalmente nos estágios iniciais de aprendizagem. mas para algoritmos grandes e complexos ele se torna trabalhoso e cansativo. procedimentos e funções. Por apresentar mais comandos e ter um bom suporte. o Visualg se apresenta como melhor para aprendizagem de algoritmo do que o Portugol. Outro software acadêmico que merece destaque é o CIFluxProg (SANTIAGO. Em relação às peculiaridades de cada ferramenta. 2009). através da atribuição de valores às suas variáveis. saída e decisão. Esses programas realizam a análise da sintaxe do algoritmo (forma esperada para os comandos) e apontam erros tanto na estrutura sintática. 4. . Outra vantagem reside no fato de que. o que não é possível de ser feito no Portugol. o aluno tem um certo tempo para verificar o valor de cada variável do algoritmo. através de diagramas que representam a entrada. foram criadas ferramentas que testam e executam o algoritmo em questão de segundos. o Portugol apresenta a opção de construir o algoritmo utilizando fluxogramas.VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 70% utilizaram o ambiente também fora de sala de aula. passo-a-passo. aplicada durante a execução deste projeto em sala de aula.2 a 5 segundos. De acordo com os autores. o que demonstra o interesse pelo conhecimento extra-classe.1 Visualg e Portugol Os programas Visualg e Portugol (PORTUGOL. além da execução do algoritmo passo-a-passo. tanto a ferramenta quanto os comandos que fazem parte da notação de pseudocódigo utilizam a língua portuguesa. Ele permite descrição do algoritmo tanto na notação de portugol quanto na de fluxogramas. Além disso. O detalhamento das características do Visualg e a sua comparação com as demais ferramentas pesquisadas serão abordados no capítulo 4. em que a execução do algoritmo é realizada no papel. processamento. As ferramentas também têm a vantagem de utilizar a língua portuguesa para os comandos. Por outro lado. 2004). 2011) e permite o desenvolvimento de algoritmos em notação de pseudocódigo que utiliza inclusive a acentuação da língua portuguesa. é possível utilizar uma execução com temporizador.. Dessa forma. 2009) consiste em um plugin para a IDE Netbeans (NETBEANS. A ferramenta Visualg (SOUZA. Neles os algoritmos são construídos na linguagem de pseudocódigo (ou português estruturado).

já que é feito em fluxograma. mais simples e sendo utilizado apenas pela Internet. 2011). sendo executado. Atalhos para a construção do algoritmo com fluxograma. iniciantes. É possível acompanhar os Ótima interação com o usuário através de códigos enquanto o jogo está “peças” representando os comandos. intuitivos. e o Scratch além de apresentar essas estruturas. Ex. e se diferencia por usar o idioma inglês e apresentar animações em 3D. códigos. Há também o programa Alice (CMU.2 Outras ferramentas pesquisadas Voltados a auxiliar no ensino de iniciantes de programação.Classificação das ferramentas pesquisadas (ferramentas de nível básico) RoboMind Recomendação Pontos Positivos Pontos Negativos Facilidade de uso Interação com o usuário Recursos oferecidos Curva de aprendizado Análise final Scratch FreeDFD Iniciante. Poucos comandos: condicional. temos como programas recomendados o RoboMind (ROBOMIND. que é parecido com o Visualg. pois Bom para o aluno iniciante. e É um programa que não requer conhecimento o pseudocódigo.Área de trabalho da ferramenta Visualg Tabela 1 .VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 4. para uso em um curso completo de algoritmos. Construção de algoritmos e É possível fazer pequenos jogos e criar pequenos jogos através de animações. Fluxogramas são fáceis de manipular. um programa simples e que somente constrói o algoritmo utilizando fluxogramas. pintarPreto. e o WebPortugol. iniciante em algoritmos. Não é possível se trabalhar com algoritmos em pseudocódigo. como estrutura de repetição e de condição. . pois se trata de uma Ótima curva de aprendizado para o ferramenta bastante intuitiva. Construção de algoritmos por comandos simples e animações. 2011). Alta interação com o usuário. através de Iniciante. Com esses dois programas é possível criar pequenos jogos que podem ajudar e motivar o aprendizado. Iniciante. O RoboMind introduz as estruturas de repetição e de condição. Bom para ensina os condição . Boa. Facilidade na construção compreensão do algoritmo. Não é possível a sua aplicação a um curso repetição e os movimentos de inteiro de algoritmos para o nível médio. como variáveis. usuário. A análise comparativa entre os programas pesquisados é apresentada na Tabela 1 – programas de nível básico. 2011). Ensina a construção de Apresenta uma boa interação com o algoritmos através de um jogo. Os comandos são simples e de Apresenta uma boa interface e comandos fácil assimilação. andarFrente. dessa forma é fácil de aprender e utilizar. para iniciantes e na Tabela 2 – programas de nível intermediário. que segue a mesma linha do programa Scratch. mas com menos comandos. direção do robô. Não oferece ajuda ao usuário. introduz outros conceitos de programação. É possível citar ainda o FreeDFD (FREEDFD. Figura 1 . A maior parte do algoritmo é feita apenas utilizando-se o mouse. pois o comandos de programa ajuda no entendimento da construção do algoritmo utilizando jogos e animações. 2011) e o Scratch (MIT. introduzindo conceitos básicos de programação. Algoritmo feito fluxogramas.

Apresenta ajuda eficaz. Em algoritmos maiores. interação com o usuário e muitos comandos de algoritmos. Espera-se que esta seja concluída a tempo de que seja aplicada diretamente em sala de aula. Possui ícones que facilitam a Sua interface é composta por ícones e Apresenta uma boa interatividade execução das ações. Visualg Intermediário. Apresenta um esqueleto do corpo do algoritmo sempre que se cria um novo algoritmo e teclas de atalho para as ferramentas. Esse material já foi revisado e deverá ser disponibilizado em breve para os alunos que atualmente estão cursando a disciplina de fundamentos de programação. Apresenta uma linguagem simples e direta. Recomenda-se que o estudante comece mais parecida com o que se Linux. Visualização do Oferece o recurso de visualização do pseudocódigo na linguagem de algoritmo em fluxograma. abaixo a tela onde será executado o algoritmo. Para acessá-lo é preciso apenas se cadastrar. Apesar de simples. apresenta alguns comandos que são escritos de modo diferente do português brasileiro (ex. pode ser É um programa de interface simples e Ótimo programa para a prática de uma boa solução independente com boa interação com o usuário. No entanto. 5 ANÁLISE E AVALIAÇÃO DOS RESULTADOS No que tange à produção de material didático. entendimento do algoritmo. Simulador é mais simples que as outras ferramentas. 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. Ressalte-se que se encontra em andamento a produção de uma apostila sobre conceitos de programação e orientação a objetos na linguagem C++ (STROUSTRUP. Dicas para construir um Opção “verificador” que verifica algum Execução do algoritmo com algoritmo. Dessa . Não aceita palavras acentuadas e caracteres especiais. temporizador. Apresenta a sintaxe de plataforma (Windows. Por ter sido desenvolvido em Portugal.: leia -> ler). Possui boa criação e formatação do algoritmo. chamada a funções. o usuário pode ter um pouco de dificuldade no início. Pontos Negativos Facilidade de uso Interação com o usuário Recursos oferecidos Curva de aprendizado Análise final Devido aos comandos terem uma forma um pouco diferente do portugol brasileiro. Aceita palavras acentuadas e caracteres especiais. introduzidos pelo usuário. até o presente momento foi desenvolvida uma apostila que abrange todo o conteúdo didático de um curso básico de algoritmos. pode ser trabalhoso encontrar erros. É rígido na construção das estruturas dos algoritmos. etc. apresenta boa ajuda. algoritmo. Apresenta opção de visualização do algoritmo em fluxograma.Classificação das ferramentas pesquisadas (ferramentas de nível intermediário) WebPortugol Recomendação Pontos Positivos Intermediário. 2001). para que possam utilizá-lo e fornecer um retorno na forma de sugestões de melhorias aos bolsistas do projeto. esse retorno será colhido sob a forma de questionário a ser elaborado pelos bolsistas. É necessário fazer o download de um pacote de dados. Portugol IDE Intermediário. do conjunto de ferramentas disponíveis e pelo fato de ser a base para outras linguagens de programação atuais. Já vem com a estrutura (esqueleto) do algoritmo definida. como a situação. Após a disponibilização do material. facilitando o programação Pascal. Pode ser acessado de qualquer lugar através da Internet. É necessário cadastrar-se no Web site. ainda neste período letivo. pois ele não é exigente quanto à encontra na literatura. A apostila também conta com diversos exercícios resolvidos e outros propostos. dentre outros. algoritmos. o que facilita a verificador que exibe os erros visualização de variáveis. Apresenta abas que facilitam a interação do usuário na construção e execução do o bloco de comandos e logo com o programa. Cria para o usuário o esqueleto de um algoritmo. da facilidade de aprendizado. da aprendizagem. possível erro no algoritmo e os exibe.) por ele. Essa linguagem vem sendo adotada no curso de fundamentos de programação atualmente ministrado pelo coordenador do projeto em virtude da sua popularidade. O programa é utilizado pela Internet.VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 Tabela 2 .

ao olhar para os alunos. Ressalte-se que os resultados deste projeto serão disponibilizados em um sítio Web e poderão ser acessados livremente por alunos. análise comparativa e uso de ferramentas de apoio ao ensino de algoritmos e programação. o mais cedo quanto possível. catalogação. Um sítio Web será utilizado para disponibilizar todo o material produzido de modo que ele sirva de auxílio a qualquer aluno ou professor que tenha o interesse de utilizá-lo em suas aulas. Dessa forma.VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 forma. jogos. Este projeto visa preencher essa lacuna da falta de recursos didáticos voltado especificamente ao ensino de algoritmos e técnicas de programação aos cursos técnicos de nível médio. As duas vertentes do projeto servem aos mesmos propósitos. as disciplinas técnicas de um modo geral não contam com esse benefício. Conforme delineado nos capítulos anteriores. alunos dessas disciplinas. aplicaram-se diretamente em sala de aula os programas de edição e simulação de algoritmos Visualg e Portugol (capítulo 4). diminuir as barreiras iniciais do processo de ensino-aprendizagem de programação. mas puderam eles mesmos construir seus algoritmos nas ferramentas. para o professor é mais custosa a adaptação do material e. Em relação às ferramentas de apoio ao ensino. o projeto segue duas vertentes. fazendo com que o estudante não perca o estímulo e o interesse pela matéria e fornecer uma valiosa fonte de estudos com linguagem e conteúdo adaptado às necessidades do nível médio. Os alunos envolvidos nesta parte do projeto também desenvolveram tutoriais que detalham as funcionalidades e a utilização das ferramentas Visualg e Portugol. desde o fornecimento das entradas. Essa abordagem também é útil para a constante atualização do material através do feedback recebido pelos seus usuários. pois grande parte do acervo didático dessas disciplinas é direcionado ao ensino superior. conforme exposto no capítulo 4. uma vez que eles passaram a ter não apenas a visão estática dos algoritmos no quadro-negro ou no papel. Tendo em vista a boa aceitação por parte dos alunos e a proximidade de notação com o portugol normalmente encontrado nos materiais didáticos. Uma delas é criação de material didático pelos bolsistas do projeto. Esses materiais servem de auxílio ao professor na preparação de suas aulas e são uma fonte de estudo de qualidade para os alunos. A análise comparativa de outras ferramentas. serão definidas quais delas serão adotadas em uma próxima turma de fundamentos de programação. ao final do projeto. em conjunto com o professor orientador. o processamento de cada instrução e a visualização das saídas fornecidas. ter-se-á uma metodologia de ensino que visa apresentar ao aluno os conceitos de programação de forma acessível e. uma versão de simulador de algoritmos que pode ser acessada pela Web também foi desenvolvido. A outra diz respeito à pesquisa. Assim. o tutorial da ferramenta WebPortugol. Tutoriais de uso dessas ferramentas também vêm sendo elaborados para auxiliar os alunos em sua utilização. esses possuem maior dificuldade em lidar com a linguagem e o nível de abordagem do material. também foi realizada e. a ferramenta Visualg será uma das que serão novamente utilizadas. Além dessas. O fato das ferramentas apontarem os erros introduzidos quando da construção dos algoritmos também foi um fato bastante positivo e que auxiliou o aprendizado de cada construção e estrutura de dados componente do algoritmo. será possível compilar as recomendações dos alunos e aprimorar o material durante o andamento da disciplina. etc. 6 CONSIDERAÇÕES FINAIS É notório que as disciplinas do núcleo de conhecimentos gerais de nível médio (disciplinas nãotécnicas) possuem extensa bibliografia e demais recursos didáticos (DVDs. Verificou-se um aumento no rendimento dos alunos após a adoção dessas ferramentas.). acompanhando todo o processo de execução. e a apreciação desse material para análise dos demais e posterior utilização em sala de aula. professores ou qualquer pessoa interessada em utilizar o material produzido. . a saber. No entanto. à prática através das ferramentas de simulação de algoritmos por fluxogramas e pseudocódigo.

2. SHIMABUKURO. Vassouras. In: Workshop Sobre Educação em Computação. n. Como Ensinar Programação? Informática – Boletim Informativo. M. . R. RODRIGUES JUNIOR.robomind.Net. J.VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Aracaju-SE -2011 REFERÊNCIAS CARNEGIE MELLON UNIVERSITY. R. 2004. Alice tool. Acesso em 19/09/2011. Disponível em: http://www.. FreeDfd. Anais do XXVIII Congresso da Sociedade Brasileira de Computação. Blumenau.. Acesso em: 19/09/2011.mit. Belém. Acesso em: 19/09/2011. VARGAS.ipt. Revista Eletrônica TECCEN. C. C.. Ensino de Lógica de Programação e Estruturas de Dados para Alunos do Ensino Médio. K.Ferramenta de Apoio ao Ensino de Programação. ROBOMIND. R. Disponível em: http://www. NetBeans IDE. Belo Horizonte. 2008. 2009. B. Porto Alegre : Bookman.html. 2002.furb. MIT MEDIA LAB. S. ULBRA. Acesso em: 19/09/2011. O.pt/portugol/. Disponível em: http://code. In: III Workshop de Educação em Computação e Informática do Estado de Minas Gerais. Scratch. Acesso em 18/09/2011. SOUZA. C. RoboMind. Ano I n° 01. PORTUGOL.. R.net/pt/index. O Processo de Ensino e Aprendizagem de Algoritmos e Programação: Uma Visão Crítica da Literatura.edu/. CORREIRA. NETBEANS. In: XIV Seminário de Computação. Disponível em: http://www. 2005. 246-249.alice.inf. p. RAPKIEWICZ. Acesso em: 15/09/2011. In: XII Seminário de Computação. H. PEREIRA Jr. VisuAlg .. 3 ed. C.com/p/freedfd/.estt. http://www. RS. Blumenau. Ferramenta de apoio ao ensino de algoritmos. Acesso em: 19/09/2011. Disponível em: http://netbeans. Portugol IDE. 2.org/. 2009. M. In: Anais do Workshop sobre Educação em Informática (WEI). M. Bento Gonçalves. HINTERHOLZ Jr.dei.org/. STROUSTRUP. E.br/seminco/2005/. M. MARTINS J. GARCIA. set. 2001. p. Belém. 2008. A Linguagem de Programação C++. v. SANTIAGO. Tepequém: uma nova Ferramenta para o Ensino de Algoritmos nos Cursos Superiores em Computação. 2004.google. Ferramenta para Apoio ao Ensino de Introdução à Programação. 485-488. E. C. Canoas. Disponível em: http://scratch. FREEDFD.