Você está na página 1de 10



 

 
 
 

Ensino de lgica de programao no ensino fundamental


utilizando o Scratch: um relato de experincia
Millena Lauyse Silva de Oliveira, Anderson Alves de Souza, Aline Ferreira
Barbosa, Emanoel Francisco Spsito Barreiros
Licenciatura em Computao
Universidade de Pernambuco (UPE) Garanhuns, PE Brasil
{millena.lauyse,anderson.dercio,alineferreirabarbosa}@gmail.com,
emanoel.barreiros@upe.br

Abstract. This paper is an experience report of an extension project, aimed at


teaching the basic concepts of Computer Science to students at the Fundamental
Education level. The Scratch tool alongside with the Computer Science
Unplugged methodology was used to enable the understanding of algorithms.
The results show that it is possible to include the subject in schools daily
activities in order to foster further interest from the students.
Resumo. Este artigo relata a experincia de um projeto de extenso realizado
com a finalidade de ensinar conceitos bsicos de Cincia da Computao no
Ensino Fundamental. Para que fosse possvel a compreenso de algoritmos, o
Scratch foi utilizado como ferramenta auxiliar pedaggica, assim como tambm
a metodologia de computao desplugada. Os resultados obtidos mostram que
possvel incluir a temtica no cotidiano escolar de maneira que desperte o
interesse dos alunos da educao bsica.

1. Introduo
O ensino de Cincia da Computao desde a educao bsica um tema que vem sendo
defendido tanto em trabalhos acadmicos como: Schfer et al. (2011), Rebouas et al
(2010) e Garcia et al (2008), quanto em sociedades cientficas, como a Sociedade
Brasileira de Computao (SBC). Porm, no Brasil esta uma prtica rara nas escolas, o
que resulta na falta de interesse e desconhecimento do tema. Isto pode ser a causa pela
qual estudantes julguem como pouco interessantes e entediantes carreiras na rea [Scaico
et al 2012]. Nos Estados Unidos j existem iniciativas nacionais como por exemplo, o
desenvolvimento do Model Curriculum for K-12 Computer Science1, projetado pela
CSTA (Computer Science Teachers Association).
Atualmente, o conhecimento de computao enquanto cincia, restrito e
contempla apenas alunos que optam por cursos superiores e tcnicos de reas afins.
[Frana et al. 2013] Todavia, Tucker (2006) afirma que importante que em pleno sculo
21, cada cidado deva compreender pelo menos os princpios bsicos da Cincia da
Computao. Ainda assim, estudos estimam que a demanda de profissionais da rea de
1

Modelo de currculo que esboa um conjunto de padres de aprendizagem para o ensino de


Cincia da Computao e da sua implementao a nvel K-12 (ensino fundamental e mdio nos
EUA). Mais informaes: < http://csta.acm.org/Curriculum/sub/K12Standards.html>




 
  

tecnologia at o ano de 2018 ser enorme, tal como a escassez de profissionais


qualificados [Scaico et al. 2012].
Neste cenrio, possvel observar o quanto difcil para a maioria dos
ingressantes em cursos da rea, aprender contedos de Cincia da Computao
principalmente disciplinas que envolvem algoritmos, lgica de programao e clculo.
Tais disciplinas exigem muitas vezes uma nova forma de pensar, requerem habilidades
que quase sempre no foram desenvolvidas no ensino regular, levando o aprendiz a ter
grandes dificuldades e consequentemente um mal desempenho durante o curso [Barbosa
2011].
Deste modo, fundamental que as pessoas possam ter conhecimentos bsicos de
Computao desde o incio da vida escolar, visto que o ponto crucial desta cincia a
compreenso e habilidade de desenvolver algoritmos, embora seja tambm onde se
encontram as principais dificuldades de aprendizagem. Do mesmo modo, Kelleher et al.
(2005) afirmam que alm dos desafios de aprender a formar solues, programadores
iniciantes tambm tm que aprender uma sintaxe rgida, o que pode ser muitas vezes
desanimador. Logo, a necessidade de adquirir estes conhecimentos na sua forma bsica
desde o ensino fundamental vlida, j que aprender programao no uma tarefa
simples, e se for compreendida desde cedo, com certeza ir beneficiar os futuros
ingressantes na rea. Ao mesmo tempo, os que optarem por outros ramos profissionais
teriam desenvolvido competncias de resoluo de problemas que seriam teis em suas
respectivas reas do conhecimento [Pereira Jnior et al. 2005].
Considerando a importncia deste tema e a realidade brasileira, este trabalho relata
as atividades de extenso que promoveram o ensino de lgica de programao para alunos
do ensino fundamental no interior de Pernambuco, municpio de Garanhuns. A
metodologia utilizada teve suas atividades baseadas no livro Computer Science
Unplugged, de autoria de Tim Bell (2011). A aprendizagem de programao foi facilitada
pelo ambiente Scratch2. O projeto foi executado com alunos do 9 ano da Escola de
Referncia em Ensino Mdio Francisco Madeiros, com aulas no laboratrio da
Universidade de Pernambuco.
As prximas sees deste trabalho esto organizadas da seguinte maneira: a Seo
2 apresenta os trabalhos relacionados, a Seo 3 apresenta o ambiente Scratch, enquanto
que Seo 4 descreve as atividades desenvolvidas. A avaliao dos resultados
apresentada na Seo 5, e por fim, as consideraes finais so tratadas na Seo 6.

2. Trabalhos Relacionados
Devido s dificuldades enfrentadas para inserir os contedos bsicos da rea de
computao nos anos escolares, o que tem-se feito so trabalhos, muitas vezes de
extenso, realizados por alunos de graduao de cursos de Licenciatura em Computao
de diversas regies do pas. Alguns abordam o pensamento computacional, como
exemplo o trabalho de Andrade et al. (2013) que utilizou de ferramentas como

Mais informaes em <http://scratch.mit.edu/>




 

 
 
 

Computational Thinking in K-12 Education Leadership Toolkit3, com alunos do ensino


mdio.
Scaico et al. (2012) tambm relata o trabalho realizado com o Scratch no Ensino
mdio, em uma escola pblica no interior da Paraba. Foi utilizada a metodologia de
computao desplugada. No Rio de Janeiro houve a realizao de uma Oficina de Lgica
de Programao com alunos do segundo ano, em que foram abordados tpicos de
resoluo de problemas, linguagem natural e at o desenvolvimento de algoritmos
[Pereira Jnior et al. 2005].
Uma experincia interessante foi proposta por Silva et al. (2011), que consistiu
em ensinar conceitos de Cincia da Computao no ensino mdio introduzindo noes de
algoritmos utilizando msica e a robtica. O conceito de algoritmo foi abordado com o
instrumento musical pandeiro, de maneira que a msica foi associada com a ideia de
executar um conjunto de instrues para reproduzir a sada desejada, que seria a melodia.
Assim, a sequncia de passos para realizar a melodia representou as instrues e passos
que um algoritmo possui. Para associar com algoritmos computacionais foi utilizada a
robtica com o Rob Lego Mindstorms NXT.
Mesmo com os trabalhos relacionados listados, ainda temos poucos trabalhos
focados no ensino de conceitos de computao (algoritmos, lgica, etc.) a alunos do
ensino mdio. No ensino fundamental os nmeros so ainda menores, como pode ser visto
na Figura 1. No perodo entre 2005 e 2013, foram encontrados 23 trabalhos realizados
com a temtica e entre eles, apenas 6 realizaram atividades apenas no ensino fundamental,
e 2 que incluam o ensino fundamental e mdio. Com isso pode-se dizer que trabalhar
com o ensino fundamental ainda um fator bem menos explorado em atividades
extracurriculares ou de extenso como as que foram descritas.

Figura 1. Trabalhos realizados com Ensino de Computao.

Conjunto de ferramentas desenvolvido por lderes de diferentes escolas, em conjunto com a


Computer Science Teachers Association (CSTA), International Society for Technology in
Education (ISTE) e National Science Foundation (NSF) [CSTA et al. 2010]. [Andrade 2013]




 
  

Este artigo apresenta uma proposta de ensino de Computao abrangendo a


compreenso de algoritmos, com alunos do Ensino Fundamental, pelo fato de que a
contribuio neste perodo escolar apresenta-se mais escasso do que no Ensino Mdio.
Deste modo, o trabalho relata as atividades realizadas com os alunos, considerando que
aproximadamente a metade destes no possuem acesso regular a computadores.

3. Scratch
Scratch uma linguagem grfica de programao que foi desenvolvida no Instituto de
Tecnologia de Massachusetts (do Ingls, Massachusetts Institute of Technology, MIT),
inspirada nos princpios construtivistas da linguagem Logo. Seu objetivo auxiliar a
aprendizagem de programao de maneira ldica e criativa, podendo ser usado por
crianas desde 8 anos de idade e pessoas que no possuem nenhum conhecimento de
programao.
O ambiente Scratch permite que sejam criadas animaes, jogos e histrias
interativas tanto com personagens presentes nele, quanto com qualquer imagem que
queira utilizar. Deste modo so estimuladas a criatividade e a imaginao, no tratando o
aprendiz apenas como usurio do software. As atividades so desenvolvidas a partir de
blocos que se encaixam e so divididos em 8 categorias: Movimento, Aparncia, Som,
Caneta, Sensores, Controle, Operadores e Variveis.
Aprender a lgica de programao se torna mais intuitiva e visualmente mais
agradvel, pois o prprio ambiente voltado para computao criativa e design. Desta
forma, o aluno precisa somente concentrar-se na construo do algoritmo, que no o
caso das linguagens de programao, em que necessrio saber toda a sua sintaxe [Scaico
et al. 2012]. Para comprovar a veracidade destas informaes, basta observar a Figura 2
que faz a comparao do Scratch com a linguagens C e Java, que so amplamente
utilizadas profissionalmente.

Figura 2. Algoritmos de soma em Scratch, C e Java.

Certamente, perceptvel o potencial ldico da ferramenta, pois toda a lgica e


estrutura envolvida no Scratch assemelha-se com as linguagens de programao que
exigem alto ndice de abstrao. De tal maneira que h estudos que apoiam seu uso em
disciplinas de cursos superiores, como Algoritmos e Lgica de Programao. Assim
como no trabalho de Pereira et al. (2012), em que os autores alegam que o aluno que usar
esse software ao incio da referida disciplina, ter melhor compreenso dos conceitos de
programao como, estruturas de deciso e repetio, variveis, operadores, etc.




 

 
 
 

4. Metodologia
Este relato de trabalho foi resultado de um projeto de extenso que teve como objetivo a
realizao de um curso envolvendo os contedos de lgica de programao. As atividades
foram realizadas com alunos de escola pblica, onde foram inscritos 20 alunos do 9 ano
do Ensino Fundamental. Durante o curso, alguns alunos deixaram de comparecer,
totalizando 11 alunos que chegaram ao fim do projeto. O curso teve 10 encontros
semanais, cada dia com carga horria de 2 horas, totalizando 20 horas de contedo. O
projeto foi desenvolvido em parceria com a Escola de Referncia em Ensino Mdio
Francisco Madeiros, que forneceu todo o apoio necessrio, auxiliando, inclusive, na
divulgao e incentivando a participao dos alunos.
Para que o curso fosse mais atrativo e despertasse o interesse do participante em
continuar, foi despertada a possiblidade de criar jogos simples e animaes, mesmo
considerando que no possussem conhecimento algum sobre algoritmos. Todas as aulas
tinham o carter terico/prtico, onde os estudantes foram estimulados a desenvolver
habilidades tanto por descoberta, quanto por meio de atividades direcionadas pelos
ministrantes. Alm disso foi desenvolvido um site que serviu como repositrio de
imagens, para que os estudantes pudessem baix-las para realizao das atividades.
As atividades e contedos foram divididas em trs etapas:
1. Conceitos Computacionais: para melhor compreenso de como o computador
funciona, foram realizadas atividades de computao desplugada que tambm
auxiliou em melhorar a interao com grupo. Nesta etapa foram realizadas
atividades do livro Computer Science Unplugged, assim foram introduzidos os
conceitos de nmeros binrios, algoritmos e instrues. No ambiente Scratch
foram utilizados os comandos e funes bsicas para incentivar a criatividade.
Nesta etapa, as seguintes atividades foram realizadas:
a. Contando os PontosNmeros Binrios [Bell, 2011], foi abordado
como os dados so armazenados e transmitidos por meio de zeros e uns. A
atividade continha os cartes com os nmeros representando os nmeros
binrios, assim foram encaminhados a fazer a converso de nmeros
decimais para binrios e vice-versa;
b. Programado para danar [MIT, 2011], em que os alunos foram levados
a expressar uma sequncia de movimentos de dana utilizando instrues
verbais simples, assim foi possvel fazer uma analogia com algoritmos. Esta
atividade, alm de permitir o conceito bsico de algoritmos e instrues,
melhorou a interao e participao entre os alunos;
c. Seguindo InstruesLinguagens de Programao [Bell, 2011], com
esta atividade foi possvel falar da dificuldade de computadores serem
programados, pelo fato de linguagens de programao conterem
vocabulrio limitado de instrues que devem ser obedecidas. Desta forma,
os alunos foram instrudos a desenhar figuras a partir de comandos limitados
e no ambguos para conseguir o desenho semelhante s figuras propostas.




 
  

2. Construindo Animaes: nesta fase os alunos foram estimulados a desenvolverem


histrias interativas de maneira que foi possvel explorar tanto conceitos
computacionais como tambm matemticos. O plano cartesiano foi explorado
para a movimentao dos personagens em cena. Foram construdas cenas a partir
de figuras obtidas da internet e a transio dos personagens em diferentes cenrios.
Os conceitos computacionais trabalhados foram: sequncia, paralelismo, laos de
repetio, estruturas de condio, variveis, operadores lgicos e matemticos. A
sequncia baseia-se em um conjunto de instrues que delimitam os passos para
alcanar o objetivo final. O paralelismo faz com que mais de um bloco de
comando seja executado simultaneamente. Os laos de repetio consistem em
uma sequncia de instrues que so executadas vrias vezes. As estruturas de
condio possibilitam que determinadas decises sejam tomadas de forma que
uma alternativa ou outra seja tomada com base na deciso. As variveis so
elementos de um algoritmo que armazenam valores e que podem ter seu valor
alterado durante sua execuo do programa. Por fim, operadores lgicos e
matemticos so os elementos que possibilitam clculos matemticos como
adio, subtrao, multiplicao e diviso, e funes lgicas como e, ou e
no. A Figura 3 mostra um projeto Scratch desenvolvido por uma aluna, onde
o objetivo da atividade foi usar pelo menos dois personagens e fazer a
implementao de comandos de movimento e controle, entre eles, laos de
repetio.

Figura 3. Imagens do projeto com laos de repetio.

Atividades com laos de repetio foram consideradas fceis por 54,4% dos
estudantes. Esta avaliao ocorreu por meio de respostas pessoais que os prprios
alunos forneceram em entrevista com os ministrantes do curso.
3. Desenvolvendo jogos simples: a reta final do curso baseou-se na criao de jogos,

implementao de variveis e eventos lanados atravs de cliques do mouse ou


das teclas do computador. No Scratch, estes eventos so possveis atravs dos
comandos da categoria Sensores. Nesta etapa foram desenvolvidos trs minijogos,
que foram: Jogo do Helicptero, Corrida de Carro e Ping Pong. Na Figura 4 so
exibidas as fases do jogo do helicptero que foi inspirado por um projeto
compartilhado no site do prprio Scratch, porm com algumas adaptaes dos




 

 
 
 

ministrantes. Este jogo consiste em um helicptero, controlado pelas setas do


teclado, que dever chegar ao fim do cenrio sem ser atingindo por nenhuma das
bombas que so jogadas contra ele. Obviamente, se for tocado por uma delas, o
helicptero explode e o jogo termina.

Figura 4. Imagens do jogo do helicptero.

Estas atividades foram consideradas mais difceis por parte dos estudantes, pelo
fato de conter maior ndice de abstrao e lgica de como jogos simples podem
ser desenvolvidos. Os demais jogos realizados como atividades podem ser vistos
na Figura 5. O jogo Ping Pong um jogo bem conhecido em que, neste caso, o
objetivo controlar a faixa preta com o mouse, de forma que a bolinha verde no
atinja a faixa vermelha, se isso ocorrer, o jogo acaba. E finalmente, a Corrida de
Carro que o carrinho, desenhado pelos alunos, deve alcanar a linha de chegada
para ser o ganhador do jogo.

Figura 5. Imagens do jogo Ping Pong e as fases do Corrida de Carro.

Os alunos foram estimulados e possibilitados a desenvolverem os projetos no Scratch de


acordo com seus interesses, e com liberdade para explorar os conhecimentos adquiridos
at ento. No desenvolvimento dos jogos, houve dilogos sobre os principais
componentes de jogos como personagens, regras, obstculos e objetivos.

5. Avaliao das Atividades


Durante a realizao das atividades, os alunos foram observados pelos ministrantes com
objetivo de verificar o nvel de compreenso e aproveitamento. Alm disso, foram
examinados alguns dos conceitos computacionais envolvidos no curso atravs de
questionrios e entrevistas. A mdia de aproveitamento foi calculada de acordo com as
respostas doa estudantes presentes para cada um dos contedos listados na Tabela 1. Os
contedos descritos esto classificados de acordo com a possibilidade de uso com os




 
  

comandos do Scratch. Exceto as atividades Nmeros Binrios e Seguindo Instrues pelo


fato de no serem realizadas por meio do computador.
Tabela 1. Avaliao do desempenho

Mdia de
Contedos Computacionais

Comandos no Scratch

Aproveitamento
(%)

Nmeros Binrios

No se aplica

75%

Seguindo Instrues

No se aplica

81,2%

Controle

54,4%

Movimento

80%

Aparncia

60%

Sensores

30%

Laos de repetio e
estruturas condicionais
Passagem de parmetro e
movimentao.
Interatividade com usurio e
design (personalizao) de
personagens
Eventos ativados atravs dos
dispositivos de entrada
(mouse e teclado)

Com relao ao uso do Scratch como ferramenta auxiliar para compreenso de


algoritmo, dentre os participantes 100% alegaram interesse e afinidade com o programa.
Quanto a realizao das aulas, foram consideradas de Boa a Excelente por parte dos
alunos, como pode ser vista na Figura 6.

Opinio sobre as aulas


Excelente
tima
Boa
Mais ou Menos
Pssima
Total de alunos
0

Figura 6. Avaliao pessoal.



10

12


 

 
 
 

De maneira geral os resultados foram positivos, levando em considerao a avaliao


dos contedos que foram compreendidos por parte dos alunos. Tal como tambm o
julgamento da metodologia, que os agradou significativamente. Portanto, os objetivos
definidos ao realizar este trabalho foram alcanados.

6. Consideraes Finais
O projeto apresentado neste trabalho foi conduzido por alunos do sexto perodo do curso
de Licenciatura em Computao da Universidade de Pernambuco, Campus Garanhuns.
Foi possvel falar sobre a construo do passo-a-passo para resoluo de problemas
encarados no dia a dia, entender um pouco de linguagem de mquina, estimular os alunos
a darem continuidade aps terminar o curso e fazer com que eles possam entender que
diante da realidade atual, o conhecimento em computao to importante quanto
qualquer outro encontrado nas cincias mais tradicionais.
Apesar da evaso de alguns alunos os resultados foram otimistas, visto que o
percentual de desistncia foi de 31,25%, e os que concluram conseguiram alcanar os
objetivos propostos. Todos os que participaram das atividades, conseguiram entender
mais sobre computao, e alguns com o interesse de dar continuidade estudando em casa
com o auxlio da ferramenta.
Para os universitrios que realizaram as atividades descritas, esta foi uma
experincia essencial para a formao profissional, pois foi possvel entender melhor
como o trabalho de um docente importante para o desenvolvimento dos alunos.
A contribuio desse trabalho certamente corroborar com o pensamento atual e
cada vez mais aceito de que a computao sim importante no ensino fundamental e
sempre que possvel deve ser inserido no currculo das escolas. Ainda, este trabalho visa
estimular outros trabalhos futuros em escolas pblicas, e com isso poder modificar a
forma do processo de ensino/aprendizagem, contribuindo assim, para que os alunos ao
terminar o ensino bsico possam ser mais confiantes e consequentemente mais crticos.

7. Referncias
Andrade, D.; Carvalho, T.; Silveira, J. (2013) Proposta de Atividades para o
Desenvolvimento do Pensamento Computacional no Ensino Fundamental. In XIX
Workshop de Informtica na Escola (WIE 2013). So Paulo, Brasil.
Barbosa, L., S. (2011) Aprendizado Significativo Aplicado ao Ensino de Algoritmos.
Dissertao (Ps-Graduao em Sistemas de Computao) - Departamento de
Informtica e Matemtica Aplicada. Universidade Federal do Rio Grande do Norte,
Brasil.
Bell, T., Witten, I, H. e Fellows M. (2011) Computer Science Unplugged: Ensinando
Cincia da Computao sem o uso do computador. Traduo coordenada por
Luciano Porto Barreto.
Frana, R. S.; Silva, W. C; Amaral, H. J. C. (2013) Computino: um jogo destinado
aprendizagem de Nmeros Binrios para estudantes da educao bsica. In Anais
do XXXIII Congresso da SBC- WEI. Macei, Brasil.




 
  

Garcia, R. E.; Correia, R. C. M.; Shimabukuro, M. H. (2008) Ensino de Lgica de


Programao e Estruturas de Dados para Alunos do Ensino Mdio. In Anais do
XXVIII Congresso da SBC-WEI. Belm, Brasil.
Kelleher, C. and Pausch, R. (2005) Lowering the barriers to programming: A taxonomy
of programming environments and languages for novice programmers, ACM
Computing Surveys (CSUR),
MIT. Brennan, K. (2011) Guia Curricular. Computao Criativa: Uma introduo ao
pensamento computacional baseada no conceito de design. Traduo por EduScratch.
Pereira Jnior, J.; Rapkiewicz, C.E.; Delgado, C.; Xexeo, J.A.M. (2005) Ensino de
Algoritmos e Programao: Uma Experincia no Nvel Mdio. In Anais do XXV
Congresso da SBC, WEI-XIII Workshop de Educao em Computao. So
Leopoldo, Brasil.
Pereira, P. S.; Medeiros, M.; Menezes, J. W. M. (2012) Anlise do Scratch como
ferramenta de auxlio ao ensino de programao de computadores. In XL Congresso
Brasileiro de Educao em Engenharia. Cear, Brasil.
Rebouas, A. D. D. S.; Marques, D. L.; Costa, L. F. S.; Silva, M. A. A. (2010)
Aprendendo a Ensinar Programao Combinando Jogos e Python. In Anais do XXI
Simpsio Brasileiro de Informtica na Educao (SBIE). Paraba, Brasil.
SBC- Sociedade Brasileira de Computao. Disponvel em <http://www.sbc.org.br/>
Scaico, P. D.; Corlett, E. F.; Paiva, L. F.; Raposo, E. H. S.; Alencar, H.; (2012) Relato
da Utilizao de uma Metodologia de Trabalho para o Ensino de Cincia da
Computao no Ensino Mdio. In Anais do XVIII WIE, Rio de Janeiro, Brasil.
Scaico, P. D.; Lima, A. A.; Silva, J. B. B.; Azevedo, S. Paiva, L. F. Raposo, E. H. S.
(2012) Programao no Ensino Mdio: Uma Abordagem de Ensino Orientado ao
Design com Scratch. In Anais do XVIII WIE. Rio de Janeiro, Brasil.
Schfer, P. B.; Sperb, B. F.; Fagundes, L. C. (2011) Squeak Etoys na modalidade 1 para
1: programao e autoria multimdia no desenvolvimento da conceituao. In Anais
XXII SBIE - XVII WIE, Aracaju, Brasil.
Silva, T. S. C.; Silva, A. S. C.; Melo, J. C. B. (2011) Ensino de Algoritmos a Nvel
Mdio Utilizando Msica e Robtica: Uma Abordagem Ldica. In WEI - XIX
Workshop sobre Educao em Computao. Rio Grande do Norte, Brasil.
Tucker, A. (2006) A Model Curriculum for K12 Computer Science. Final Report of the
ACM K12 Task Force Curriculum Committee.