Aprender a programar em sua própria língua ou em inglês – o que é melhor?

Aprender a programar em sua própria língua ou em inglês?

Uma pergunta que sempre aparece em todo início de curso de lógica de programação é a indagação “devemos começar a aprender a programar em português ou direto em inglês?“. A ideia por trás desse questionamento é a de que o emprego de ferramentas de aprendizado de programação (para iniciantes) em português (ou em sua língua nativa) pode – ou não – ser mais produtivo do que tentar ensinar programação usando diretamente o idioma inglês (e, talvez, uma linguagem “comum” para tal). 

O tópico rende uma razoável discussão, e é evidente que para algumas pessoas o idioma inglês não é empecilho para o aprendizado de programação, ao passo que outras conseguem absorver melhor os conceitos de lógica envolvidos com mais facilidade se o ensino empregar sua própria língua, como por exemplo usando Portugol (para falantes de português) e aplicações como o VisualG ou o Scratch traduzido.

Um artigo postado por Benjamin Mako Hill no website Copyrighteous (https://mako.cc/copyrighteous/), citado no curso Scratch: Programming for Teachers, da Universidade de Delft, na Holanda (via plataforma edX), discute o assunto, trazendo dados interessantes de pesquisas diversas e de testes de hipóteses levantadas pelos autores do estudo.  A seguir trazemos o artigo na íntegra, traduzido.

Aprendendo a codificar na própria língua

Artigo distribuído sob licença Creative Commons Attribution-ShareAlike.

Publiquei recentemente um artigo com Sayamindu Dasgupta que fornece evidências em apoio à ideia de que as crianças podem aprender a codificar mais rapidamente quando estão programando em sua própria linguagem.

Milhões de jovens de todo o mundo estão aprendendo a programar. Freqüentemente, durante suas experiências de aprendizagem, esses jovens estão usando linguagens de programação baseadas em blocos visuais como Scratch, App Inventor e Code.org Studio. Em linguagens de programação baseadas em blocos, os codificadores manipulam blocos visuais e encaixáveis ​​que representam construções de código em vez de símbolos textuais e comandos encontrados em linguagens de programação mais tradicionais.

Os símbolos textuais usados ​​em quase todas as linguagens de programação não baseadas em blocos são extraídos do inglês – considere as declarações “if” e os loops “for” como exemplos comuns. Por outro lado, palavras-chave em idiomas baseados em blocos são frequentemente traduzidas para diferentes idiomas humanos. Por exemplo, dependendo da preferência de idioma do usuário, um conjunto idêntico de instruções de computação no Scratch pode ser representado em muitas línguas humanas diferentes:

Blocos do Scratch Traduzidos

Exemplos de um pequeno trecho do código Scratch mostrado em quatro idiomas humanos diferentes: inglês, italiano, norueguês bokmål e alemão.

Embora minha pesquisa com Sayamindu Dasgupta se concentre na aprendizagem, tanto Sayamindu quanto eu trabalhamos em tecnologias de linguagem local antes de voltar para a academia (ambiente escolar). Como resultado, estávamos ambos interessados ​​em como a crescente tradução de linguagens de programação poderia estar tornando mais fácil para crianças que não falam inglês aprenderem a codificar.

Afinal, um grande número de pesquisas em educação mostrou que a educação nos primeiros estágios é mais eficaz quando o ensino é feito na língua que o aluno fala em casa. Com base nessa pesquisa, formulamos a hipótese de que crianças que aprendem a codificar com linguagens de programação baseadas em blocos traduzidas para suas línguas maternas terão melhores resultados de aprendizagem do que crianças que usam os blocos em inglês.

Procuramos testar essa hipótese no Scratch, uma comunidade de aprendizagem informal construída em torno de uma linguagem de programação baseada em blocos. Fomos ajudados pelo fato de o Scratch ser traduzido para vários idiomas e ter um grande número de alunos de todo o mundo.

Para medir o aprendizado, trabalhamos sobre alguns de nossos próprios trabalhos anteriores e analisamos os repertórios de blocos cumulativos dos alunos – semelhante a um vocabulário de código. Ao observar o repertório de blocos cumulativos de um aluno ao longo do tempo, podemos medir a rapidez com que seu vocabulário de código está crescendo.

Usando esses dados, comparamos a taxa de crescimento do repertório de blocos cumulativos entre alunos de países que não falam inglês usando Scratch em inglês e alunos dos mesmos países usando Scratch em seu idioma local. Para identificar quem não fala inglês, consideramos usuários do Scratch que relataram ser provenientes de cinco países que não falam inglês: Portugal, Itália, Brasil, Alemanha e Noruega. Escolhemos esses cinco países porque cada um deles tem um idioma muito falado que não é o inglês e porque o Scratch está quase totalmente traduzido para esse idioma.

Mesmo depois de controlar uma série de fatores como envolvimento social no site do Scratch, produtividade do usuário e tempo gasto em projetos, descobrimos que os alunos desses países que usam o Scratch em seu idioma local têm uma taxa maior de crescimento cumulativo do repertório de blocos do que seus homólogos usando Scratch em inglês. Esse crescimento mais rápido ocorreu apesar de ter um repertório de bloqueio inicial mais baixo. O gráfico abaixo mostra nossos resultados para dois alunos “prototípicos” que começam com o mesmo repertório de blocos inicial: um aluno que usa a interface em inglês e um segundo aluno que usa sua língua nativa.

Gráfico de Localização Scratch

Resumo dos resultados do nosso modelo para dois indivíduos prototípicos.

Nossos resultados estão de acordo com o que as teorias da educação têm a dizer sobre a aprendizagem na própria língua. Nossas descobertas também representam uma boa notícia para designers de linguagens de programação baseadas em bloco que gastaram uma quantidade considerável de esforços para tornar suas linguagens de programação traduzíveis. Também é uma boa notícia para os voluntários que passaram muitas horas traduzindo blocos e interfaces de usuário.

Embora encontremos suporte para nossa hipótese, devemos enfatizar que nossos achados são limitados e incompletos. Por exemplo, porque nos concentramos em estimar as diferenças entre os alunos do Scratch, nossas comparações são entre crianças que conseguiram usar o Scratch com sucesso. Antes de o Scratch ser traduzido, crianças com pouco conhecimento prático de inglês ou da escrita latina podem não ter sido capazes de usar o Scratch. Por causa da tradução, muitas dessas crianças agora são capazes de aprender a codificar.

Referências

Learning to Code in One’s Own Language” – https://mako.cc/copyrighteous/scratch-localization-and-learning

 

Sobre Fábio dos Reis (1359 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

1 Comentário em Aprender a programar em sua própria língua ou em inglês – o que é melhor?

  1. Jose Reinaldo // 20/09/2020 em 9:40 // Responder

    Muito Bom o site. Estou fazendo uma pesquisa so o que é TI, porque com tantas informações o que eu percebo e tenho observado é que as pessoas estão habilitadas neste quisito das Informações, já no Âmbito do conhecimento, há uma grande Deficiência e Fragilidade para o Aprendizado na prática da Execução e Ação para trazer como alicerce e fundamento como suporte de Experiência Profissional no dia a dia e na Vida.

Escreva um comentário

Seu e-mail não será divulgado


*