code: o ensino de linguagens de programação educativas ... - o... · como ferramentas de...

14
- 1 - CODE: O ensino de linguagens de programação educativas como ferramentas de ensino/aprendizagem Ricardo Fidelis Dantas 1 (UEPB) Francisco Eudes Almeida da Costa 2 (UEPB) Resumo: A facilidade das novas tecnologias permite que as pessoas consigam acompanhar a informação de forma rápida e se inserir no contexto digital. Apesar de timidamente, ainda, está sendo incorporado também na educação, já que as escolas estão passando por um processo de informatização. Portanto, faz-se necessário utilizar as novas tecnologias de forma construtiva, pensando nas suas inúmeras possibilidades e tentando alinhá-las no contexto interdisciplinar. Através da prática de programação de computadores podemos extrair conhecimentos que somarão habilidades de raciocínio lógico, conhecimentos matemáticos, trabalho em equipe, capacidade de resolver problemas e o estímulo da criatividade. Assim, este trabalho tem o objetivo de discutir o uso do projeto Code.org, para fazer com que alunos em todas as escolas possam ter a oportunidade de aprender programação de computador. Palavras-chave: atividade criativa, programação de computadores, projeto Code. Abstract: The ease of new technology allows people to keep pace with the information quickly and falls within the context of modernity. Although shyly, still being built also in education, schools are going through a process of computerization. Therefore, it is necessary to use new technologies in a constructive way, thinking in its many possibilities and trying to align them in an interdisciplinary context. Through the practice of computer programming can extract knowledge that will add logical thinking skills, mathematical skills, teamwork, problem-solving skills and the stimulation of creativity, it is necessary only that we can see the act of programming as a creative activity. From these two basic principles born Code.org the project, a collaboration of several members of technology companies as the main goal of the project is to have students in all schools may have the opportunity to learn computer programming. Palavras-chave: creative activity, computer programming, Project Code, learn programming. 1 Ricardo Fidelis DANTAS, Graduando no curso de Licenciatura Plena em Computação. Universidade Estadual da Paraíba (UEPB) [email protected] 2 Francisco Eudes Almeida da COSTA, Graduando no curso de Licenciatura Plena em Computação. Universidade Estadual da Paraíba (UEPB) [email protected]

Upload: lamanh

Post on 17-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

- 1 -

CODE: O ensino de linguagens de programação educativas como ferramentas de ensino/aprendizagem

Ricardo Fidelis Dantas1 (UEPB)

Francisco Eudes Almeida da Costa2 (UEPB)

Resumo: A facilidade das novas tecnologias permite que as pessoas consigam acompanhar a informação de forma rápida e se inserir no contexto digital. Apesar de timidamente, ainda, está sendo incorporado também na educação, já que as escolas estão passando por um processo de informatização. Portanto, faz-se necessário utilizar as novas tecnologias de

forma construtiva, pensando nas suas inúmeras possibilidades e tentando alinhá-las no contexto interdisciplinar. Através da prática de programação de computadores podemos extrair conhecimentos que somarão habilidades de raciocínio lógico, conhecimentos matemáticos, trabalho em equipe, capacidade de resolver problemas e o estímulo da criatividade. Assim, este trabalho tem o objetivo de discutir o uso do projeto Code.org, para fazer com que alunos em todas as escolas possam ter a oportunidade de aprender programação de computador. Palavras-chave: atividade criativa, programação de computadores, projeto Code. Abstract: The ease of new technology allows people to keep pace with the information quickly and falls within the context of modernity. Although shyly, still being built also in education, schools are going through a process of computerization. Therefore, it is necessary to use new technologies in a constructive way, thinking in its many possibilities and

trying to align them in an interdisciplinary context. Through the practice of computer programming can extract knowledge that will add logical thinking skills, mathematical skills, teamwork, problem-solving skills and the stimulation of creativity, it is necessary only that we can see the act of programming as a creative activity. From these two basic principles born Code.org the project, a collaboration of several members of technology companies as the main goal of the project is to have students in all schools may have the opportunity to learn computer programming. Palavras-chave: creative activity, computer programming, Project Code, learn programming.

1 Ricardo Fidelis DANTAS, Graduando no curso de Licenciatura Plena em Computação.

Universidade Estadual da Paraíba (UEPB) [email protected] 2 Francisco Eudes Almeida da COSTA, Graduando no curso de Licenciatura Plena em Computação.

Universidade Estadual da Paraíba (UEPB) [email protected]

- 2 -

Introdução

O presente trabalho é sobre o ensino de linguagens de programação

empregadas no contexto educacional, no qual procuramos compreender quais são

suas contribuições para o processo de ensino-aprendizagem. Mais concretamente

iremos fazer um estudo sobre o projeto CODE, plataforma desenvolvida para

integrar alunos e professores no processo de ensino-aprendizagem de programação.

O objetivo central dessa pesquisa foi compreender de que forma podemos

relacionar as habilidades adquiridas com o aprendizado das linguagens de

programação e habilidades fundamentais na construção do conhecimento do aluno.

Inicialmente, falamos sobre o computador na sociedade da informação,

baseados nas reflexões de Valente (1999), que discute a importância do uso do

computador na educação e no processo de construção do conhecimento, como

ferramenta facilitadora do aprendizado. Outro tópico abordado foi as contribuições

de linguagens de programação para a educação, como a plataforma code.org, a

qual descrevemos e apresentamos a filosofia do projeto e suas as principais

características, pontuando funcionalidades e recurso oferecidos dentro da

ambiente de Aprendizagem.

A metodologia utilizada para a realização deste trabalho foi a pesquisa

bibliográfica e exploratória, em que mostramos elementos descritivos da

plataforma e imagens ilustrativas das ferramentas.

O computador na sociedade da informação

Convivemos em um mundo moderno e interativo, no qual a existência de

fronteiras geográficas e culturais foram dissipadas com o passar dos tempos. A

facilidade das novas tecnologias permite que as pessoas consigam acompanhar a

informação de forma rápida e se inserir no contexto da era digital. O computador,

- 3 -

pouco a pouco ocupou diversas áreas da sociedade: a saúde, a segurança, os

ambientes corporativos, bancos, meios de comunicação, entre outros segmentos.

Apesar de timidamente, ainda, está sendo incorporado também na educação e de

forma discreta às escolas estão passando por um processo de informatização, pois a

presença de laboratórios e equipamentos multimídias já são realidade. Neste

sentido, devemos considerar que devem ser utilizadas já que “as novas tecnologias

têm um papel ativo e co-estruturante das formas do aprender e do conhecer. Há

nisso, por um lado, uma incrível multiplicação de chances cognitivas, que convém

não desperdiçar, mas aproveitar ao máximo.” (ASSMANN, 2000, p.8). Assim, os

computadores vão tendo um papel fundamental no processo de ensino-

aprendizagem, pensamento também afirmado por Valente, quando discute que:

Hoje, a utilização de computadores na Educação é muito mais diversificada, interessante e desafiadora, do que simplesmente a de transmitir informação ao aprendiz. O computador pode ser também

utilizado para enriquecer ambientes de aprendizagem e auxiliar o aprendiz no processo de construção do seu conhecimento. (1999, p. 11).

Apesar da estrutura física, equipamentos e pacotes de softwares

disponibilizados nas escolas, alguns docentes ainda não exploram este universo em

suas práticas. Quanto a isso, Assmann explica que a resistência de muitos em

utilizar as novas tecnologias “na pesquisa pessoal e na sala de aula tem muito a ver

com a insegurança derivada do falso receio de estar sendo superado/a, no plano

cognitivo, pelos recursos instrumentais da informática.” (2000, p.8). No entanto,

os computadores e as novas tecnologias não podem substituir o professor, mas

convocá-lo a repensar o pólo da aprendizagem, já que deve ser considerado o leque

de novas possibilidades, como ferramentas importantíssimas para contribuir na

construção do conhecimento.

Ainda nesse contexto, existem os professores que utilizam os recursos

tecnológicos de forma limitada, subutilizando de forma monótona e simplista,

pouco diferente do quadro-negro habitualmente usado na sala de aula. O uso de

- 4 -

computadores para auxiliar o aprendiz a realizar tarefas, sem compreender o que

está fazendo, é uma mera informatização do atual processo pedagógico. (VALENTE,

1999c, p. 83). Portanto, faz-se necessário utilizar as novas tecnologias de forma

construtiva, pensando nas suas inúmeras possibilidades e tentando alinhá-las no

contexto interdisciplinar, pois “o uso (ou não uso) versátil das novas tecnologias

tem consequências já constatadas no desenvolvimento do potencial cognitivo dos

aprendentes.” (ASSMANN, 2000, p.11).

No que diz respeito à aprendizagem, Valente (1999c, p.71) afirma que “a

aprendizagem pode ocorrer basicamente de duas maneiras: a informação é

memorizada ou é processada pelos esquemas mentais e esse processamento acaba

enriquecendo esses esquemas”. O que significa que, na primeira,não foi processada

e não pode ser aplicada na resolução de problemas e desafios propostos ao aluno.

Na segunda, é processada pelos esquemas mentais o que significa que o

conhecimento é construído e no surgimento de problemas e desafios, o aluno se

utilizará do conhecimento já existente para resolver o problema ou buscará um

novo conhecimento para ser processado e agregado ao anterior. “Quando o

computador transmite informação para o aluno, o computador assume o papel de

máquina de ensinar, e a abordagem pedagógica é a instrução auxiliada por ele”

(VALENTE, 1999a, p.12). Neste caso, o aluno encontra suas informações no

computador, que passa a ser apenas fonte de informação. Em outro caso, a

máquina pode ser usada pelo aluno para a construção do conhecimento,

propiciando condições para a resolução de problemas, por meio do uso de

linguagens de programação, refletindo sobre os resultados obtidos e depurando

suas ideias através da busca de novos conteúdos e estratégias. “Quando o aluno usa

o computador para construir o seu conhecimento, o computador passa a ser uma

máquina para ser ensinada” (VALENTE, 1999a, p. 12).

- 5 -

Contribuições do ensino de programação para a aprendizagem

Quando falamos em linguagens de programação, a primeira ideia é que

envolve um processo complicado e técnico, que exige muito conhecimento

informático e que só profissionais ligados às áreas da Computação são capazes de

dominar e entender. No entanto, a programação pode oferecer inúmeras

contribuições no contexto educacional. Segundo Baranauskas et al

Quando pensamos especificamente em programação, acreditamos que o seu uso tem grande destaque como ferramenta educacional, pois por intermédio da resolução de problemas via uma linguagem de programação, tem-se descrição do processo utilizado pelo aluno para resolver uma tarefa (1999, p. 53)

No contexto de aquisição de novos conhecimentos, utilizando-se de uma

linguagem de programação, Valente considera que “a análise da atividade de

programar permite identificar diversas ações que acontecem em termos de

descrição-execução-reflexão-depuração-descrição” (1999c, p.73), ações que

conduzem a construção do conhecimento. Neste sentido, o autor relata que a

“execução desse programa pode ser interpretada como a execução do raciocínio do

aprendiz” (1999c, p. 74), o que é de grande valor, pois a resposta fornecida pelo

computador é “fiel” ou seja, o computador não adiciona nada ao programa do

aprendiz, o que lhe permite enxergar o produto do seu próprio pensamento. E

também, a resposta é imediata e o aprendiz pode comparar suas ideias originais

com os resultados obtidos. Valente ressalta também a importância do processo de

depuração. Para ele, o processo de achar e corrigir erros é “uma oportunidade

única para que aprenda sobre um determinado conceito envolvido na solução do

problema ou sobre estratégias de resolução de problemas.” (1999c, p. 75).

Assim, o “processo de ensino e aprendizagem de programação é crucial não

apenas porque programar é uma ‘habilidade prática’, mas também porque processo

é meio pelo qual é formado conhecimento efetivo e conceitual em um esquema

- 6 -

bem definido.” (ANAHORI, 2000 apud FARIA, 2010, p. 26). Através da prática de

programação podemos explorar habilidade de raciocícinio lógico, conhecimentos

matemáticos, trabalho em equipe, capacidade de resolver problemas e o estímulo

da criatividade. Além disso, o ato de programar pode ser uma atividade criativa, já

que através do computador podemos expressar ideias e materializar aquilo que

nossa imaginação consegue criar. Basta a intermediação do professor para

encaminhar o processo de ensino-aprendizagem baseado nestes pressupostos.

O projeto CODE

O ensino da programação pode ser de grande utilidade no contexto escolar e

na vida de um indivíduo de forma geral, contribuindo para a ideia de livre criação

e, portanto, aumento da criatividade. O que Teixeira (2010, p.31) nos diz é que um

sujeito, nó em uma rede torna-se significante a partir do momento em que assume

o papel de autoria, tornando-se um sujeito-autor, e assim gradativamente passa a

aprimorar suas habilidades e consequentemente elevar o nível dele e da rede.

Valente diz que "o computador no paradigma construcionista deve ser usado

como uma ferramenta que facilita a descrição, a reflexão e a depuração de ideias.

Isso é conseguido quando o computador é usado na atividade de programação

[...]”. (1993, p.6). Em consonância com esses princípios que apresentamos o

projeto Code.org, uma colaboração de várias empresas de tecnologias como

Google, Facebook, Twitter, Dropbox, Microsoft e instituições educacionais como a

Universidade de Stanford, Harvard e Universidade de Indiana e outras plataformas

parceiras, como: KhanAcademy, CodeHS, CodeCademy e Scratch. Tendo como

fundador Hadi Partovi3, o projeto enxerga no ensino de programação a

oportunidade de crescimento profissional e desenvolvimento da aprendizagem,

podendo aperfeiçoar a forma como as pessoas agem e se comportam diante de

3 Hadi é um empresário e investidor . Esteve nas equipes fundadoras da Tellme e iLike e já foi um investidor ou consultor para

Facebook, Dropbox, entre outras.

- 7 -

resoluções de problemas no cotidiano, tanto no trabalho quanto na escola. O

objetivo principal do projeto é fazer com que alunos em todas as escolas possam

ter a oportunidade de aprender programação de computador, defendendo que

informática deve fazer parte do currículo na educação, ao lado de outras ciências,

como matemática, biologia, física, química e álgebra.

O site do Code pode ser acessado pelo endereço http://www.code.org, o

qual é possível cadastrar-se gratuitamente e fazer uso das ferramentas e

treinamentos oferecidos, seja na condição de professor, de aluno ou instituição de

ensino. Sobre esse tipo de ambientes de aprendizagem, Baranauskas et al afirma:

Sistemas que programam a aprendizagem construcionista são estruturalmente e conceitualmente diferentes dos TIs. Por falta de um nome melhor, vamos nos referir a eles como Ambientes Interativos de Aprendizagem (AIA). De modo geral, os princípios que embasam um AIA incluem: construção e não instrução, controle do estudante e não controle do sistema, individualização é determinada pelo estudante e não pelo sistema e feedback rico, gerado a partir da interação do estudante com o ambiente de aprendizagem e não pelo sistema. (1999, p. 51)

Dentre os vários alunos e professores inscritos no code, podemos destacar a

presença de alguns artistas e esportistas norte-americanos que fazem uso e

incentivam a plataforma mostrando a importância do aprendizado de programação

de computadores para todos. Com isso, demostra-se que qualquer pessoa,

independentemente da área que esteja inserido, é possível ler e escrever códigos e

obter novas habilidades que favoreçam suas atividades. Assmann (2000, p.10)

afirma que “as tecnologias tradicionais serviam como instrumentos para aumentar

o alcance dos sentidos (braço, visão, movimento). As novas tecnologias ampliam o

potencial cognitivo do ser humano (seu cérebro/mente) e possibilitam mixagens

cognitivas complexas e cooperativas”.

- 8 -

Características da plataforma

Uma das principais vantagens da plataforma CODE é o fato de está

disponibilizada online, onde qualquer pessoa que esteja diante de um computador

conectado a internet pode ter acesso as suas ferramentas. O cadastro gratuito

conforme a Figura 1.

Figura 1: Site oficial do Projeto CODE

Foto: Do autor

O site possui uma interface simples e um designer limpo, o que facilita aos

visitantes encontrarem os recursos de maneira rápida e fácil. Identificamos que um

dos pontos negativos, a princípio, é o idioma do site, que está inteiramente em

inglês, contudo, vale ressaltar que o projeto CODE ainda está em desenvolvimento

inicial e por contar com diversos colaboradores pelo mundo, a expectativa é que

- 9 -

seja lançado também em outras línguas para que possa proporcionar a

acessibilidade do conteúdo a todos.

As principais ferramentas disponibilizadas para o processo de ensino-

aprendizagem de programação são de outras plataformas parceiras, que já

oferecem esse tipo de recurso, mas o CODE tem o papel de reuni-las e organizá-las

baseadas em níveis, que considera faixas etárias e baseadas no tipo de conteúdo

que será trabalhado. É possível encontrar recursos para crianças a partir de cinco

anos, bem como oferece a possibilidade de aprender a criar aplicativos móveis ou

até mesmo aprender noções básicas de matemática e geometria.

Através do menu Learn, tem-se acesso a todo o material que é ensinado pela

plataforma de maneira muito interativa. Dentro do ambiente learn, existe um

ferramenta parceira chamada CodeHS, pela qual é possível praticar programação

através de linha de comando em uma linguagem de programação intuitiva. Por

exemplo, por meio de códigos é possível fazer com que um personagem (cachorro)

faça determinadas ações. Antes de começarmos a utilizar a ferramenta é

apresentado um tutorial com comandos da linguagem e em seguida é possível

assistir a uma demonstração de como a linguagem funciona. Basicamente, existem

quatro comandos: move() que movimenta o cão em um ponto para frente,

turnLeft() que altera em sentido anti-horário a direção do cão realizando um

movimento de 90º, putBall() que coloca uma bola de tênis no local atual do cão e

takeBall() que retira uma bola de tênis da posição atual do cão. (Figura 2)

- 10 -

Figura 2: O ambiente do CodeHS

Foto: Do autor

Através do Codehs é possível ter uma noção das possibilidades pedagógicas

que a plataforma oferece, para ensinar didaticamente a programação com uma

linguagem a princípio desconhecida, de uma forma extremamente fácil. Ainda no

ambiente learn, encontramos outro parceiro, o Khan Academy, nesse o aluno

poderá exercitar a programação por linha de comando alterando valores que

modificarão a posição e o tamanho de formas geométricas: uma linha, um

retângulo e uma elipse, podendo assim criar várias imagens através da codificação.

(Figura 3).

- 11 -

Figura 3: Ambiente do Khan Academy

Foto: Do autor

O Codecademy é mais um dos que disponibilizam seus recursos na plataforma

CODE. Nele são oferecidos a possibilidade de aprender programação para web

através de linguagens como HTML, CSS, PHP, RUBI e PYTON, em diversos níveis de

dificuldade. Através dessa ferramenta, o aluno pode desenvolver páginas simples

páginas até sites mais elaborados. Realizando essas atividades, o aluno passará

para o ambiente do Codecademy, e, portanto será redirecionado ao site

www.codecademy.com onde poderá escolher qualquer um dos cursos e começar a

aprender. No exemplo que mostraremos a seguir, escolhemos o curso de HTML no

nível básico. Todos os cursos do Codecademy seguem um padrão: pequeno

conteúdo teórico de no máximo três parágrafos pequenos, seguido de no máximo

cinco instruções que serão feitas no espaço ao lado do conteúdo teórico, e

visualizado o resultado na janela localizada no canto superior direito, que por sua

vez representa a execução em tempo real do programa em desenvolvimento

- 12 -

(Figura 4), que no nosso caso representa um navegador de internet. A medida em

que o aluno conclui as tarefas, avança no curso.

Figura 4: Ambiente de estudo do Codecademy

Foto: Do autor

Para o profissional da educação ou instituição de ensino que deseja explorar

o projeto do CODE em suas atividades pedagógicas, pode acessar o menu TEACH do

site www.code.org e fornecer os dados referentes a instituição e a localidade

geográfica, para que a equipe de suporte entre em contato para auxiliar na

instalação e utilização.

Considerações finais

Neste trabalho abordamos o ensino de linguagens de programação no

contexto educacional e pudemos concluir as contribuições para o processo de

ensino-aprendizagem.

Cumprimos os objetivos que tínhamos proposto inicialmente na realização

desse trabalho, que era investigar a relação das habilidades adquiridas com

- 13 -

aprendizado das linguagens de programação e as habilidades fundamentais na

construção do conhecimento do aluno no âmbito escolar, intermediadas pelo

projeto code.org.

Pudemos verificar que a característica da plataforma vai de encontro com a

ideia de construcionismo de Papert (1986), quando diz que o aluno constrói um

conhecimento mais sólido quando está construindo algo de seu interesse e ao

mesmo tempo visualiza o resultado do seu trabalho como por exemplo, um

programa de computador.

Observamos a proposta das ferramentas ofertadas na plataforma e

constatamos que as abordagens das mesmas são eficientes para o ensino de

programação, e através das mesmas qualquer pessoa, independentemente da área

de atuação, poderá ler e escrever códigos de programação e desenvolver

habilidades como raciocínio lógico, conceitos matemáticos e resolução de

problemas, entre outras habilidades atreladas ao processo de programar.

Também avaliamos que o projeto CODE é uma excelente iniciativa que ainda

está em desenvolvimento, que pode contribuir para modificar a visão de como

enxergamos a ciência da computação e de que forma podemos explorá-la no

universo educativo, de forma a fomentar a construção do conhecimento e o

desenvolvimento de novas habilidades para o contexto cada vez mais digital.

Referências ASSMANN, Hugo. A metamorfose do aprender na sociedade da informaçãoCi.Inf. 2000, vol.29, n.2, pp. 07-15.

BARANAUSKAS, C. et al. Uma taxonomia para Ambientes de Aprendizado Baseados no Computador. In: VALENTE, J. A. O computador na sociedade do conhecimento. Campinas, SP: UNICAMP/NIED, 1999, p. 45-68.

FARIA, Eustáquio São José de. Método trifásico de ensino-aprendizagem baseado na taxionomia de objetivos educacionais de Bloom: uma aplicação no ensino de programação de computadores. 2010. 296 f. Tese (Doutorado)-Universidade Federal de

- 14 -

Uberlândia, Uberlândia, 2010. Disponível em: <http://penelope.dr.ufu.br/handle/123456789/371>. Acesso em: 13 jun. 2013.

MELO, Jorge Nazareno Batista. Uma proposta de ensino e aprendizagem de programação linear no Ensino Médio. 2012. 296 f. Dissertação (Mestrado)- Universidade Federal do Rio Grande do Sul. Instituto de Matemática. Programa de Pós-Graduação em Ensino de Matemática, 2012 Disponível em: < http://www.lume.ufrgs.br/handle/10183/61731>. Acesso em: 13 jun. 2013.

PAPERT, Seymour. Logo: computadores e educação. São Paulo: Brasiliense, 1986.

TEIXEIRA, ADRIANO CANABARRO. Inclusão digital: Novas perspectivas para a informática educativa. Ijuí-RS: Edutora Unijuí, 2010.

VALENTE, J. A. Informática na Educação no Brasil: análise e contextualização histórica. In VALENTE, J. A. (Org.) O computador na sociedade do conhecimento. Campinas, SP: UNICAMP/NIED, 1999a – p. 11-28.

______. Mudanças na sociedade, mudança na educação: o fazer e o compreender. In VALENTE, J. A. (Org.) O computador na sociedade do conhecimento. Campinas, SP: UNICAMP/NIED, 1999b – p. 31-43.

______. Análise dos diferentes tipos de softwares usados na educação. In VALENTE, J. A. (Org.). O computador na sociedade do conhecimento. Campinas, SP: UNICAMP/NIED, 1999c – p. 71-85.