Upload
ailton-rodrigues
View
219
Download
0
Embed Size (px)
Citation preview
ANLISE DO SCRATCH COMO FERRAMENTA DE AUXLIO AO
ENSINO DE PROGRAMAO DE COMPUTADORES
Pryscilla de Sousa Pereira [email protected] Marcos Medeiros [email protected]
Jos Wally Mendona Menezes [email protected] Instituto Federal de Educao, Cincia e Tecnologia do Cear (IFCE) Endereo: Av. 13 de maio, Benfica, 2081
CEP: 60.050-531 Fortaleza CE
Resumo: A disciplina de Algoritmos e Lgica de Programao tem apresentado um alto ndice de reprovao dos alunos nos cursos em que est inserida. Os estudos sobre o baixo rendimento dos alunos nesta disciplina do pistas das dificuldades encontradas por estes na
criao de solues computacionais dos problemas apresentados, por meio de algoritmos estruturados ou de alguma linguagem de programao. Este artigo tem por objetivo, mostrar
uma ferramenta para auxiliar na didtica dessa disciplina tornando-a mais atrativa, intuitiva e de fcil adaptao. Essa ferramenta um ambiente de programao, conhecido como Scratch, que possui toda a estrutura bsica e necessria de controle de fluxo para o
aprendizado dessa disciplina.
Palavras-chave: Algoritmo, Scratch, Linguagem de Programao, Ensino.
1. INTRODUO
Um dos maiores problemas das instituies de ensino superior brasileiras o alto ndice de evaso. Os cursos na rea de Cincias, Matemtica e Computao tem uma taxa em torno
dos 28% de evaso. Esse valor considerado alto, j que a mdia nacional de 23%, segundo dados divulgados pelo INEP em 2005 (BRASIL, 2012). Nota-se que as disciplinas relacionadas a algoritmos ou linguagem de programao so umas das razes pela qual h
evaso e reprovao nas primeiras fases dos cursos de informtica (CABRAL, 2007). O objetivo da disciplina citada fazer o aluno compreender a forma de raciocnio do
computador e dominar as tcnicas para solucionar problemas propostos. Estas solues podem ser um programa de computador ou s um pseudocdigo o Algoritmo. Um algoritmo um conjunto finito de comandos que resolvero um problema proposto (FARRER, 1989).
A dificuldade de adaptao dos alunos em desenvolver raciocnio lgico quando esto acostumados a decorar o contedo, e a falta de motivao do aluno gerada pelo despreparo,
podem ser citadas como motivos para a desmotivao, reprovao ou evaso do aluno (GOIS & PINHO, 2007). A ausncia de uma base lgico-matemtica implica no aluno chegar despreparado na universidade, tornando o aprendizado em programao bastante complexo,
chegando a ser desmotivador (DIJKSTRA, 1989). Alm disso, em sua grande maioria, os cursos superiores na rea de engenharia, segundo a prpria ABENGE Associao Brasileira
de Ensino de Engenharia, so baseados em conhecimento, com enfoque no contedo e
centrado no professor (ABENGE, 1991). Faz-se necessria, ento, uma mudana nos mtodos de ensino e aprendizagem que permita desenvolver as competncias necessrias de
um bom profissional. Portanto, apresenta-se como objetivo desse artigo mostrar que o Scratch pode ser usado
no incio da disciplina de Algoritmos e Lgica de Programao. Resumidamente, essa
ferramenta no possui regras de implementao, em outras palavras, ela voltada apenas para a lgica do programa. Dessa forma, o aluno pode desenvolver o raciocnio matemtico
antes de se deparar com a sintaxe da linguagem que o professor pretende ensinar.
2. FUNDAMENTAO TERICA
O aluno que est no ensino de informtica tem muitas dificuldades durante a
aprendizagem. Em comparao com outros cursos, podemos observar: um aluno de engenharia civil, quando se depara com o primeiro projeto a construir, a exemplo de uma
casa, tem que formar seus conceitos e significados sobre tcnicas de planejamento, clculos, desenhos e construo, mas j passou pela experincia de ter entrado, morado e usufrudo de uma residncia e possui os principais conceitos sobre o objeto real: sabe o que so portas,
janelas, pias, lmpadas e paredes. J um aluno de medicina, ao entrar para a faculdade, muito provavelmente, j teve a experincia de ter entrado em consultrios mdicos para se consultar
e sabe que preciso haver uma consulta, e que dessa consulta prov um diagnstico, que pode requisitar um ou mais exames, que podem resultar no uso de medicamentos e em consultas de retorno. No entanto, um aluno de Engenharia da rea de Tecnologia da Informao, ao entrar
para o curso tcnico ou superior, contudo, no tem noo do que seja um sistema, uma linguagem de programao, ou um banco de dados, a no ser que j trabalhe na rea de informtica ou tenha feito algum tipo de curso de extenso.
A disciplina de Lgica de Programao ou Algoritmos uma das mais importantes para os alunos que ingressam em diversos tipos e nveis de ensino, tais como os cursos superiores
regulares, bacharelados, tecnlogos, cursos tcnicos, e de extenso. Estes cursos, geralmente, so da rea de Informtica. Entretanto, o mesmo contedo, ou parte dele, ministrado em cursos da rea de Engenharia, Cincias Exatas e outras. Essa importncia dar-se, pois os
conhecimentos adquiridos nela vo influenciar diretamente no desempenho das demais disciplinas correlatas durante o restante do curso (RAABE et al, 2007).
O objetivo geral da disciplina permitir que o aluno desenvolva o raciocnio lgico aplicado a soluo de problemas em nvel computacional, alm de introduzir os conceitos bsicos de desenvolvimento de algoritmos, de forma a propiciar aos alunos uma viso crtica
e sistemtica sobre resoluo de problemas e prepar-los para a atividade de programao. Os cursos de lgica de programao iniciam com uma mdia de 50 alunos e em poucos
meses, constata-se que a taxa de reprovao, ou desistncia, chega a 60% (ROCHA, 1993). Alm disso, foi constatado que nessa disciplina o nvel de aprendizagem muito baixo, conforme diversos pesquisadores denunciam (SILVA et al, 2009) (SOUTO & DUDUCHI,
2011). H vrios fatores que podem levar a essa baixa aprendizagem, como uma base matemtica precria, limitaes de ensino do professor, material de apoio precrio, entre
outros. Tornar o processo ensino-aprendizagem mais interessante um desafio enfrentado pelo
professor em qualquer nvel de ensino. necessrio que os professores que trabalham com as
disciplinas de algoritmos busquem solues para minimizar o nmero de reprovaes ou abandonos. Uma das formas de sanar esse problema usar ferramentas ou ambientes
facilitadores que provoquem um aprendizado substancial das atividades didticas.
3. SOFTWARES RELACIONADOS
A utilizao de novas ferramentas, geralmente, tende a fazer com que as aulas tornem-se mais atrativas e participativas. Hoje h diversas ferramentas disponveis, que visam facilitar o ensino da disciplina de algoritmos. Algumas delas so listadas abaixo.
WebPortugol : criado pela Universidade do Vale do Itaja, essa ferramenta, como o prprio nome sugere, permite construir online programa em portugus estruturado ou
Portugol.
Visualg: criado pela "Apoio Informtica Ltda - Consultoria e Desenvolvimento de
Sistemas", o Visualg um "programa para edio e interpretao de algoritmos" em portugus estruturado ou portugol.
ASA - Ambiente de Simulao e Animao de Algoritmos: desenvolvido pela equipe
do SENAC. O ASA tambm conhecido como Construtor, um software para criar algoritmos usando fluxogramas (MAYERHOFER,2012).
LOGO: desenvolvida por pesquisadores do MIT-USA. uma linguagem considerada bastante sofisticada, por possuir caractersticas pertencentes a 3 paradigmas
computacionais distintos: procedural, orientado a objetos e funcional (GREGOLIN, 2012).
Alice: programa desenvolvido pela Universidade Carnegie Mellon nos Estados
Unidos. Alice um ambiente de programao tridimensional de fcil utilizao no qual podem ser criadas animaes e interaes entre personagens e objetos lembrando
muito jogos de vdeo game (ALICE, 2012).
SCRATCH: essa linguagem resulta de uma parceria entre a Portugal Telecom e a
universidade MIT de Boston. Scratch permite a criao de histrias, animaes, jogos e outras produes. Tudo pode ser feito a partir de comandos prontos que devem ser
agrupados (SCRATCH, 2012).
Mesmo com diversos modelos, no h um software ideal, por seu uso depende da metodologia do professor e do nvel de conhecimento e velocidade de aprendizado da turma. Nesse artigo iremos dar nfase no uso do Scratch, tendo em vista que ele um software
gratuito, de fcil compreenso, que faz uso de um ambiente divertido, intuitivo e de fcil operao.
Como j foi dito anteriormente, o objetivo desse artigo mostrar o uso do Scratch como uma ferramenta para auxiliar no inicio da disciplina de lgica de programao. Os alunos ingressantes nos cursos, de exatas, nasceram na era da informao, tem um contato estreito
com diversas mdias, e seu raciocnio no linear. Alm de, em sua grande maioria, no terem o hbito de ler, nem de dedicar algumas horas do seu dia aos estudos e fazem parte da
gerao dos jogos. Assim o uso do Scratch seria ideal, j que o mesmo no possui nenhuma sintaxe, deixando o aluno focado apenas no aprendizado da lgica do programa, aps o raciocnio lgico bem absorvido, o professor poder iniciar o aprendizado de alguma
linguagem.
4. SCRATCH VISO GERAL
O Scratch uma nova linguagem grfica de programao criada no Media Lab do
Instituto de Tecnologia de Massachusetts, inspirada nas linguagens Logo e Squeak, mas que pretende ser mais simples, fcil de utilizar e mais intuitiva (SCRATCH, 2012). Ela foi partilhada com o mundo em 15 de maio de 2007. um software gratuito, possui uma IDE
onde no preciso digitar funes, endereos, etc. Seu objetivo primrio facilitar a introduo de conceitos de matemtica e de computao, enquanto tambm induzindo o
pensamento criativo, o raciocnio sistemtico e o trabalho colaborativo (SCRATCH, 2012) O termo Scratch provm da tcnica de scratching utilizada pelos Disco-Jockeys do Hip-
Hop que giram os discos de vinil com as suas mos para frente e para trs de modo a fazer
misturas musicais de forma criativa e inesperada. Com o Scratch possvel fazer algo de semelhante, misturando diferentes tipos de trechos de mdia (grficos, fotos, msicas, sons) de
formas criativas. Veja a tela inicial daferramenta na Figura 1.
Figura 1 Tela inicial do Scratch
A programao do Scratch feita atravs de blocos de comandos que so encaixados uns aos outros, formando a sequncia de comandos que se deseja. Os blocos so concebidos para
se encaixar apenas de uma nica forma, fazendo sentido sintaticamente, no ocorrendo, assim, erros de sintaxe. uma maneira de trazer conceitos de informtica de alto-nvel para seus usurios, pois os comandos presentes nos blocos so praticamente os mesmos.
Esse software permite a construo de programas que controlam e misturam grficos, animao, texto, msica e som. O mesmo pode interagir com objetos exteriores de vrios tipos. A pgina de internet do Scratch fornece inspirao e audincia, l se podem
experimentar os projetos de outros, reutilizar e adaptar as suas imagens e scripts. muito simples se criar jogos, animaes, histrias interativas, arte e outros, o que
aumenta a interatividade entre o aluno e a linguagem. Apesar de no ser muito robusto, esse
software, possui estruturas bsicas, porm importantes, para um programador como estruturas de controle de fluxo.
O software dividido em 3 blocos, como visto na Figura 1. O primeiro bloco contm os comandos que sero adicionados ao seu programa. Comandos como: de controle, movimentos, operaes, aparncia, sons e outros. No segundo bloco onde ficar o seu
programa, esta tela conter os blocos de comandos, os trajes de seus sprites (os desenhos que aparecem na tela) e os sons que acompanham os sprites. E o terceiro bloco contm a tela de
animao, onde o programa executado.
5. APLICAO
Como visada utilizao do Scratch como uma alternativa para o ensino de algoritmos
e linguagem de programao, ento ser mostrado um exemplo tpico dessa disciplina: a mdia aritmtica. Logo abaixo, ser feita a descrio do problema.
O problema consiste de fazer um programa que calcule a mdia final dos alunos, sendo que os mesmos fizeram 3 provas. Ao apresentar a mdia final, o programa dever mostrar a situao do aluno:
Aprovado: se mdia maior ou igual a 7,0.
Recuperao: se maior ou igual a 5,0 e menor que 7,0.
Reprovado: se menor que 5,0.
Antes de iniciar, necessrio identificar nesse problema quem so os dados de entrada, os dados de sada e o que ser processado. Ento, para montar o algoritmo proposto, trs
perguntas so feitas. A primeira corresponde as notas de cada aluno, a segunda refere-se ao processo de clculo da mdia e a ltima define a apresentao da situao do aluno.
a) Quais so os dados de entrada?
R: Os dados de entrada so , N2 e N3.
b) Qual ser o processamento a ser utilizado?
R: O procedimento ser somar todos os dados de entrada e dividi-los por 3 (trs).
Comparao: M , aprovado
M e M , recuperao
M , reprovado
c) Quais sero os dados de sada?
R: O dado de sada ser a mdia final e a situao do aluno
Se mdia >= 7, mostre aprovado
Se mdia =5, mostre recuperao
Se mdia
programa em Scratch. Na Figura 2, mostrada a inicializao do programa: A caixa laranja onde todas as variveis sero declaradas.
Figura 2 - Inicializao do programa.
Na prxima etapa, feita a entrada dos dados. nesse momento em que as notas sero digitas para em seguida serem processadas. Veja Figura 3.
Figura 3 - Entrada de dados
Aps, a entrada de dados possvel calcular a mdia e fazer o tratamento para saber se o
aluno passou, ficou de recuperao ou se foi reprovado. Veja Figura 4.
Figura 4 - Processamento de dados.
Na Figura 5 mostrado o programa por completo, com todas as suas etapas. Logo em seguida, na Figura 6, demonstrada a execuo do programa.
Figura 5 Estrutura do programa mdia
Figura 6 Execuo do programa mdia
6. CONSIDERAES FINAIS
Ao final desse artigo, tendo apresentado um modo de utilizao da ferramenta citada,
pode-se perceber que o Scratch uma ferramenta que pode auxiliar os alunos da disciplina de Linguagem de Programao e Algoritmos que possuem dificuldade em organizar
pensamentos, em construir conceitos matemticos, ou problemas com informtica. Com o Scratch a programao torna-se mais divertida e simples, pois ela efetuada atravs da criao de sequncias de comandos simples, que correspondem a blocos de vrias categorias,
encaixados e encadeados de forma a produzirem as aes desejadas. 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. Este um programa inovador, que permite exercitar a criatividade e o raciocnio cientifico lgico e matemtico, tornando o aluno apto a solucionar qualquer problema computacional que lhe
seja apresentado.
REFERNCIAS
ABENGE - Associao Brasileira de Ensino de Engenharia. Perfil do Engenheiro do Sculo
XXI. Braslia, 1998. ALICE. Disponvel em: . Acesso em: 20 maio 2012.
BRASIL. Ministrio da Educao. Instituto Nacional de Estudos e Pesquisas Educacionais.
Sinopses do ensino superior. Censos do ensino superior. Comunicaes pessoais. Disponvel em: www.inep.gov.br. Acessado em: 12 jan. 2012.
CABRAL, M. I. C. et al. Perfil dos cursos de computao e informtica no Brasil, XXVII Congresso da SBC - XV WEI, Rio de Janeiro, 2007.
DIJKSTRA, E. W. On the Cruelty of Really Teaching Computing Science .
Communication of ACM, 1398-1404, 1989.
FARRER, H. Algoritmos Estruturados, Editora LTC, p. 23, Rio de Janeiro, 1989. GOIS, A.; PINHO, A. Brasil reprovado, de novo, em matemtica e leitura. Disponvel
em: . Acesso em: 13 jan. 2012.
GREGOLIN, V. R. Linguagem LOGO: Explorando conceitos matemticos. Disponvel em:. Acesso em: 20 maio 2012.
MAYERHOFER, M. A. Um paradigma para o Desenvolvimento de Software
Educacional. Disponvel em: . Acesso em: 20 maio 2012.
RAABE, A. L. A.; SANTIAGO, R.; DAZZI, R. L. S. Adquirindo experincia na construo de ferramentas de apoio a aprendizagem de algoritmos . Workshop de
Ambientes de Apoio a Aprendizagem de Algoritmos e Programao. Simpsio Brasileiro de Informtica na Educao, 2007. Anais dos XVIII Simpsio Brasileiro de Informtica na Educao, 2007.
ROCHA, H. V. Representaes Computacionais Auxiliares de Conceitos de
Programao. In: Computadores e Conhecimento: Repensando a Educao. Livro organizado por Valente, J. A. Editora Unicamp, 1993.
SCRATCH. ABOUT Scratch (Scratch Documentation Site). Disponvel em: . Acesso em: 20 maio 2012.
SILVA, I. F. A.; SILVA, I. M. M.; SANTOS, M. S. Anlise de problemas e solues aplicadas ao ensino de disciplinas introdutrias de programao. Universidade Federal
Rural de Pernambuco, Recife PE. 03 pp. Disponvel em . Acesso em: 12 jan.
2012.
SOUTO, A. V. M.; DUDUCHI, M. Um processo de avaliao baseado em ferramenta computadorizada para o apoio ao ensino de programao de computadores. Disponvel em . Acesso em: 12 jan. 2012.
ANALYSIS OF SCRATCH AS A TEACHING AID TOOL FOR COMPUTER PROGRAMMING
Abstract: The discipline of Algorithms and Logic Programming has shown a high rate of
failing students in the courses in which it operates. Studies about low efficiency of students in this course show the difficulties encountered on the creation of computational solutions of the problems presented by using algorithms or any structured programming language. The
objective of this article is to present a tool to assist in teaching this discipline by making it more attractive, intuitive and easy to adapt. This tool is a programming environment, called
Scratch, which has all the basic structure and flow control required for learning this discipline.
Keywords: Algorithm, Scratch, programming language, education.