Aprendendo o básico da programação

Mais cedo ou mais tarde, uma criança que cresce em uma família começará a incomodar o pai ou a mãe, que está programando em casa:

O que você está fazendo?
- O que essa palavra significa?
"E por que as letras verdes estão aqui e aqui estão as letras azuis?"
E certamente chegará à questão principal:
"Você vai me ensinar como programar?"

Esta pergunta também foi feita para mim. Eu não estava pronto para uma resposta. E ele começou a refletir sobre o problema. Como anexar uma criança (cerca de dez anos) a essa atividade interessante e fascinante?

Além disso, alguns pensamentos sobre esse assunto e o que eles me levaram a ...

Uma pequena explicação, para uma discussão mais aprofundada. Sou desenvolvedor Java profissional. Eu estou familiarizado com este idioma e plataforma. Eu não acho Java muito difícil de aprender, mesmo como a primeira linguagem de programação. Como outras linguagens, o Java pode ser estudado gradualmente, sem mergulhar direto na floresta do OOP.

Sou da opinião de que os conceitos básicos de programação devem ser entendidos por qualquer pessoa moderna. É assim que se conhece a matemática no volume da escola primária. Todos usamos calculadoras e planilhas, mas ainda sabemos como adicionar e multiplicar em um pedaço de papel ou na mente. E nós ensinamos isso às crianças. O mesmo acontece com a programação - uma pessoa deve ter as habilidades de algoritmo e ter uma idéia de como implementar o algoritmo inventado em alguma linguagem.

Assim, a tarefa é apresentar a criança à programação. Seria bom, ao mesmo tempo, não destruir o interesse incipiente. O que eu consegui encontrar:

Scratch e outros sistemas de jogos visuais


Pessoalmente, eu nunca usei isso. Tenho certeza de que muitas crianças gostam de brincar e se envolver com elas. Para meus propósitos, isso é de pouca utilidade, porque eu vejo neles muito componente de entretenimento.

Inúmeros cursos de treinamento de programação on-line


GeekBrains, JavaRush, Codecademy e outros. Mais uma vez, devido às limitações de adquirir uma profissão, eu não fiz cursos. Examinei seus materiais de marketing e lições de teste. Também não os considerou adequados. Ou o material não é fornecido do zero ou o treinamento está muito focado em mais empregos. A impressão geral não é para ensinar os alunos mais jovens, mas para dominar a profissão.

Literatura educacional


Pesquisei no livro de Jacob Fine, "Programação em Java para crianças, pais, avós". Um pouco desatualizado, mas talvez como uma leitura auxiliar adequada. Uma apresentação detalhada nos primeiros capítulos de como instalar e configurar o JDK e o Eclipse não inspirará todos a estudar mais. Pessoalmente, essas descrições me deixam triste e deprimido.

Há também a filosofia Java de Bruce Eckel - um bom tutorial. Mas eu não recomendaria para crianças.

Portanto, não consegui encontrar o sistema ideal para ensinar uma criança a programar, mas desenvolvi um conjunto de critérios que ela deve satisfazer:

  • apresentação complexa do material - teoria, exemplos e tarefas práticas
    materiais educativos em russo
  • aprendendo uma linguagem de programação moderna e real (Java)
  • editor simples de código de erro de sintaxe e compilação
  • ajuda de contexto na biblioteca padrão, de preferência em russo
  • Interface do sistema em russo não sobrecarregada com ferramentas
  • mensagens do compilador em russo
  • os materiais de treinamento são projetados para uma pessoa completamente familiarizada com o mundo da programação, ou seja, mesmo coisas muito óbvias devem ser explicadas

Em relação ao idioma russo mencionado várias vezes. Muitos podem se opor, dizem eles no mundo da TI sem o inglês em qualquer lugar, o que significa que precisa ser ensinado. Então deixe a criança ensinar. Incluindo assim.

Concordo que um programador deve ser fluente em inglês, pelo menos no nível de “leitura de documentação”. Mas não estamos falando de treinar um programador. A barreira do idioma que surge nesta fase do treinamento pode se tornar um obstáculo intransponível e extinguir rapidamente o entusiasmo da criança. Por isso, considero que a russificação de tudo e de tudo é extremamente importante.

Ambiente de aprendizagem integrado


Como você já começa a adivinhar, eu chego à essência do artigo. Não encontrando o ideal no mundo ao meu redor, como muitos de nós, decidi criá-lo eu mesmo. Assim, conosco, os programadores foram estabelecidos há muito tempo. A tarefa me pareceu interessante e factível em um tempo finito e razoável.

O título de trabalho do projeto é "Java class". A ideia é a seguinte. O aplicativo de desktop é um "ambiente de aprendizado integrado". Eu baixei, instalei e você pode ler imediatamente as lições, escrever o código e executá-lo.

Tecnologia JavaFX. O ambiente pode ser de três modos: lendo materiais educacionais, trabalhando com o código-fonte e executando um programa em execução.

Modo: leitura de materiais de treinamento


Aqui você pode ler as lições e a documentação disponíveis. É suposto baixar materiais do armazenamento online.

Os materiais terão direitos autorais. Está planejado desenvolver um formato XML especial para marcação de texto. Dentro do programa, os arquivos XML serão convertidos em documentos HTML e exibidos no navegador interno (WebView). Elementos interativos serão incorporados nas páginas. Por exemplo, no final do texto da lição, haverá um botão "Abrir projeto" que colocará o ambiente no modo de edição de código com um exemplo carregado da lição.

Para as principais classes da biblioteca padrão, é suposto escrever documentação mínima em russo no estilo javadoc. Esta documentação também estará disponível como ajuda contextual no editor de código.

Modo: trabalhando com código fonte


, . — /, « ...». java-. . . ECJ Eclipse JDT, . , .

richtextfx. code completion .

java- main() , .

:


, , . . .. — .

. :

  • java-
  • java-




, «Java », .

? - ? . ( ) .

.

Source: https://habr.com/ru/post/pt415273/


All Articles