Como ensinei e depois escrevi um material didático sobre Python

Como ensinei e depois escrevi um material didático sobre Python
Durante todo o ano passado, trabalhei como professor em um dos centros educacionais provinciais (daqui em diante — CE), especializado em ensino de programação. Não vou nomear esse centro, e tentarei de forma geral evitar mencionar nomes de empresas, sobrenomes de autores, etc.

Portanto, trabalhei como professor de Python e Java. Esse CE comprou materiais didáticos para Java, e Python foi iniciado quando cheguei e ofereci isso.

O material didático para os alunos (basicamente um livro ou guia de autoestudo) que escrevi sobre Python foi influenciado, de certa forma, pelo ensino de Java e pelos materiais didáticos utilizados lá.

Dizer que eles eram horríveis é uma afirmação branda. O modo do livro didático de Java, fornecido por uma empresa muito conhecida na Rússia, não consistia em ensinar a pessoa os fundamentos da linguagem como um todo e a paradigma de POO em particular, mas sim em fazer com que os pais, que vinham às aulas abertas, vissem seus filhos copiando o código de um jogo da cobrinha ou de xadrez. Por que digo que copiando? Muito simples, o fato é que o livro didático trazia páginas inteiras (A4) de código, e algumas partes não eram explicadas. No final, o professor ou precisa controlar em qual parte do código cada aluno está atualmente, explicando cada linha, ou tudo se resume a cópia.

Você pode dizer: "E daí, que importa, que o professor trabalhe melhor, e jogos como xadrez e cobrinha são ótimos!"

Bem, seria incrível, se o número de alunos no grupo não fosse em torno de 15, e isso já é significativo, se você planeja acompanhar todos, explicando: "Então, o que estamos escrevendo aqui?"

Além do número de alunos no grupo, há um outro problema relacionado a esse material didático. O código é escrito... como posso dizer, simplesmente horrível. Um conjunto de antipadrões, arcaísmos, já que o livro não é atualizado há muito tempo, e, claro, nosso querido — guia de estilo. Portanto, mesmo que você consiga controlar todos os seus pupilos e possa explicar-lhes rapidamente e claramente o que significa o código copiado, o código é tão terrível que, no mínimo, ensina o que não deveria.

E, por fim, a parte que basicamente destrói este manual — desde o início não há uma introdução adequada explicando o que são tipos de dados, que eles podem ser objetos ou primitivos, qual critério verifica a propriedade que gera essa dicotomia, etc. No primeiro capítulo, é sugerido a você e seus alunos criar (copiar) um programa que faz uma janela e escreve "Olá!", no entanto, não é explicado o que exatamente esse trecho de código significa, apenas são feitas referências a aulas futuras, como a menção ao "main" — ponto de entrada, mas sequer se aborda o que é um "ponto de entrada".

Resumindo, esse papel foi um meme até mesmo entre educadores e gestores. Ele não ensinou realmente nada às crianças; uma vez encontrei um grupo que estudava há um ano com esse material e, no final, eles sequer conseguiam escrever um loop, sendo que todos eram bastante inteligentes e logo tudo não estava tão ruim. A maioria dos colegas tentava se afastar do material didático para que o conteúdo fosse compreendido e não apenas desaparecesse no ar, embora houvesse pessoas menos dedicadas que achavam normal que seu aluno copiasse sem qualquer explicação.

Quando ficou claro que eu deixaria o centro de formação e que precisávamos continuar o programa de Python no ano seguinte, comecei a escrever meu próprio manual. Resumidamente, dividi-o em duas partes, na primeira explico tudo sobre tipos de dados, sua essência, operações com eles e comandos da linguagem. Entre os tópicos, faço uma sessão de perguntas e respostas para que o futuro professor possa entender como o aluno assimilou o conteúdo. E, ao final, fiz um pequeno projeto-tarefa. Assim, a primeira parte explica os fundamentos da linguagem e os detalha, o que resulta em aproximadamente 12-13 aulas de 30-40 minutos. Na segunda parte, escrevi sobre POO, descrevi como a implementação dessa paradigma em Python difere da maioria das outras, fiz muitas referências ao guia de estilo, etc. Resumindo — eu tentei ser o mais diferente possível do que estava no manual de Java. Recentemente, escrevi para o atual professor de Python, pedindo feedback sobre o material, e agora estou contente que tudo está indo bem e que as crianças realmente compreendem programação em Python.

Qual é a conclusão que eu gostaria de tirar desta história: meus queridos pais, se vocês decidirem colocar seu filho em um centro de educação, fiquem atentos ao que eles fazem, para que seu filho não perca tempo em vão e, no futuro, não desista de programar.

ATUALIZAÇÃO: Como foi corretamente mencionado nos comentários, eu quase não falei sobre a apresentação do material. Direi imediatamente que acredito que deve haver mais práticas, o máximo possível. No final de cada aula da primeira parte, eu realizava 4-5 pequenas tarefas práticas sobre o tema do capítulo. Entre os capítulos, haviam sessões de perguntas e respostas, onde também havia tarefas práticas, mas já avaliadas. Além disso, no final da primeira parte, havia um projeto com tema à escolha entre os propostos. Na segunda parte, fiz uma introdução à programação orientada a objetos através da criação de um mini-jogo de console, cujo desenvolvimento foi toda a segunda parte e toda a introdução à nova paradigma.

Apenas usuários registrados podem participar da pesquisa. Entre, por favor.

Seu filho está aprendendo programação em um centro de educação?

  • 4,6%Sim3

  • 95,4%Não62

65 usuários votaram. 27 usuários se abstiveram.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster