Existe vida após o Scratch ou como introduzir uma criança no Python

Na EPAM, temos uma escola de programação para os filhos dos funcionários - e-kids. Na escola, funcionários voluntários ensinam as crianças a trabalhar com o Scratch, um ambiente de programação visual projetado especificamente para ensinar crianças e adolescentes. Mas sempre, mais cedo ou mais tarde, chega o momento em que o Scratch já está se tornando desinteressante para as crianças.

Por tentativa e erro, nossos professores conseguiram encontrar uma maneira de desenvolver ainda mais as crianças, o que ensinar, para que não perdessem o interesse em programar por causa de tarefas muito complicadas. Então, no e-kids, começou a ensinar uma linguagem de programação mais complexa - Python. Neste artigo, coletei informações úteis de colegas que ensinam na escola sobre como apresentar as crianças ao Python.



O Scratch é um ambiente de programação visual, não é necessário inserir o código manualmente, você pode obter rapidamente o resultado, as crianças podem ver imediatamente como o projeto muda após a adição de um novo bloco. Com o Scratch, você não precisa gastar tempo pesquisando letras no teclado, mas também elimina a pesquisa dolorosa de erros de sintaxe no projeto.

Mas quando a criança já aprendeu o suficiente sobre Scratch, ela começa a perder o interesse no trabalho. As tarefas começam a ser repetidas. O Scratch não pode surpreender ninguém com algo novo - o que significa que é hora de pensar em mudar do Scratch para alguma linguagem de programação, onde você pode começar a escrever código.

Ao escolher um idioma, você deve prestar atenção não apenas à experiência das crianças, mas também à idade delas. De acordo com a experiência dos professores de e-kids, a idade mínima para as crianças lhes oferecerem para escrever código é de 11 a 12 anos.

Preparação do treinamento


Por que python
Python possui sintaxe simples e uma grande comunidade. Se a criança tiver dificuldades com a decisão, você poderá encontrar facilmente a resposta na Internet. E também existem muitas fontes externas, tarefas, recursos que podem ser usados ​​para estudos independentes.

Programas auxiliares


Para a preparação de aulas ou trabalhos de casa, alguns serviços especiais eram usados ​​algumas vezes.

  • Code.org - o serviço contém tarefas prontas e uma descrição de como resolvê-las. Essas tarefas podem ser categorizadas por operadores, loops, funções etc.
  • CodeCademy , Python, . .
  • Code Combat — , RPG , . Python, , . , Scratch Python .
  • Kahoot - este serviço se destacará um pouco do resto, pois não tem nada a ver com Python, mas é um serviço maravilhoso lembrar o que aconteceu na última lição. O Kahoot pode ser usado no início de cada lição, para que as crianças se lembrem das palavras-chave, abordagens, tecnologias sobre as quais falaram anteriormente. Permite criar uma lista de perguntas e opções de resposta. Além disso, há um aplicativo móvel que se conecta ao questionário, para que as crianças possam responder pelo telefone.

Todos eles estão em inglês, mas de forma gratuita.

Livros auxiliares


De toda a variedade de livros, os professores de e-kids recomendam os seguintes:

  • Python para crianças: programador autodidata , Briggs Jason.
  • Programação Python para crianças , Louis Stowell.

Ambos os livros são escritos em um idioma compreensível para as crianças. Além disso, eles contêm tarefas muito interessantes.

Um ambiente de desenvolvimento integrado (IDE) é necessário ou não?
IDE , , , , Python. , , PyCharm 2018.2.4 (Community Edition) — IDE.

Console vs Gráficos


Todo mundo está acostumado a “Olá, mundo”, geralmente digitando no console, mas quando as crianças vêem o console, elas imediatamente ficam desanimadas.



Portanto, é melhor usar bibliotecas como Turtle e Tkinter. Ambos fazem parte da distribuição padrão do Python e não requerem instalação adicional. Será mais fácil para as crianças mudarem para o Python através dessas bibliotecas, porque muitos métodos repetem blocos no Scratch.



A tartaruga é fácil de personalizar: o fundo pode ser substituído por uma foto da sala e a tartaruga por outro personagem.



A biblioteca Tkinter, por sua vez, permite que você escreva aplicativos de janelas; já contém muitas primitivas com botões, interruptores, sinalizadores, menus, etc. Então, combinando Turtle e Tkinter, você já pode escrever um jogo simples.

Como escrever um jogo em Python


Deixe-me mostrar um exemplo de como as crianças se familiarizaram com o Python nas lições do e-kids.

  1. Primeiro, as crianças foram apresentadas ao Code Combat. Aqui o personagem pode andar no mapa, coletar cristais, desviar dos inimigos com a ajuda de um código. Este é um jogo simples, mas as crianças já escreviam trechos de código e, o mais importante, podiam ver imediatamente o que isso afetava.
  2. Então eles apresentaram as crianças à "tartaruga". Eles a ensinaram a andar, escrever e pintar fractais diferentes.
  3. Depois disso, tentamos transformar blocos de rascunho em código Python.

Por exemplo, o gato do zero foi descrito pela função addHero com uma imagem, que foi passada como argumento para essa função.



Em outro quarteirão, as crianças descreveram uma função em que nosso herói era uma discussão, indicaram que ele deveria dizer quanto tempo e que cor seria a inscrição.

Assim, combinando esses blocos, as crianças já podiam escrever um jogo semelhante aos que desenvolveram no Scratch. Alguns dos blocos já estão na biblioteca Turtle, outros foram adicionados por conta própria.

O código que as crianças escreveram era mais ou menos assim: há uma imagem de fundo, um herói, frases que ele diz e lixo que o personagem poderia coletar.



Em um bloco separado, descrevemos a lógica - o personagem coleta o lixo, se ele estiver próximo, ele diz uma frase. Isso é muito semelhante ao modo como a lógica de caracteres é descrita no Scratch. Lá, você também pode abrir o personagem e adicionar alguns blocos de comportamento, após os quais o personagem ganhou vida.



Nas lições, as crianças recebem uma variedade de tarefas, tanto o desenvolvimento do jogo quanto a correção de erros. Por exemplo, você pode misturar os blocos, o programa para de funcionar e dá às crianças a tarefa de descobrir o que está errado, em que ordem os blocos devem ir.

O caminho de tentativa e erro


Algumas pessoas escolhem JavaScript ou Java em vez de Python. Em um dos cursos de e-kids, os professores decidiram tentar se relacionar com o Flask, uma estrutura para criar aplicativos da Web em Python, mas essa idéia falhou. As tarefas eram muito ambiciosas: mostrar como criar um site com um blog, galeria e livro de visitas. Embora a estrutura de todos esses componentes fosse semelhante, parece que as crianças poderiam mudar alguma coisa no blog e criar uma galeria, por exemplo. Mas os professores enfrentaram muitos problemas:

  • Descobrimos que é difícil para as crianças explicar quais são as estruturas em princípio. Além disso, acabou sendo difícil de explicar, mesmo para alguns adultos.
  • As crianças tiveram que trabalhar com um grande número de arquivos, como resultado, ficaram confusas sobre onde inserir o quê.
  • Barreira de entrada alta. Para explicar como criar um aplicativo da Web, as crianças precisavam conhecer um grande número de tecnologias, inclusive sobre como trabalhar com bancos de dados.


Apesar de a idade média dos participantes ter entre 14 e 15 anos, e eles já terem experiência com Python, quase metade dos membros do grupo perdeu o interesse pelas aulas do Flask, as crianças não mostraram atividade, simplesmente reescreveram o que receberam e não mergulharam tópico.
Mas não se pode dizer que foi um fracasso completo, foi uma experiência gratificante.

Conclusão


A tecnologia está se tornando uma parte importante de nossas vidas. Código é a linguagem do nosso mundo, que combina matemática, lógica e algoritmos e ensina uma nova visão do mundo.

A programação ensina como resolver grandes problemas, dividindo-os em uma sequência de problemas menores e mais gerenciáveis. Esperamos que nossas aulas ajudem as crianças a resolver problemas com mais eficiência e pensar globalmente.

O programa e-kids está sendo desenvolvido na Rússia, Ucrânia, Bielorrússia e Cazaquistão. Em 2019, 203 estudantes, filhos de funcionários, foram treinados na Rússia. Além disso, desde setembro de 2019, começamos a lidar com crianças de orfanatos e portadores de deficiência. Mais de 80 funcionários se ofereceram para o programa.

Por várias razões, os funcionários se tornam voluntários: muitos deles têm filhos, e os pais de desenvolvimento querem mostrar a TI por outro lado ou preencher as lacunas na educação escolar, e alguém simplesmente gosta do processo de aprendizagem.

All Articles