Organizadores e assistentes de ensino sobre os programas on-line do CS Center

No dia 14 de novembro, o CS Center lança pela terceira vez os programas online "Algoritmos e Computação Eficiente", "Matemática para Desenvolvedores" e "Desenvolvimento em C++, Java e Haskell". Eles são projetados para ajudá-lo a mergulhar em um novo campo e estabelecer as bases para aprender e trabalhar em TI.

Para se inscrever, você precisará mergulhar no clima de aprendizado e passar no vestibular. Leia mais sobre o programa, exame e custo em código.stepik.org.

Enquanto isso, os professores assistentes e o curador do programa do último lançamento contarão como o treinamento é organizado, quem vem estudar, como e por que os assistentes fazem revisões de código durante os estudos e o que aprenderam com a participação nos programas.

Organizadores e assistentes de ensino sobre os programas on-line do CS Center

Como os programas são organizados

O CS Center possui três programas online baseados na plataforma Stepik: "Algoritmos e Computação Eficiente", "Matemática para Desenvolvedores" и "Desenvolvimento em C++, Java e Haskell". Cada programa consiste em duas partes. São cursos preparados por professores e cientistas experientes:

  • Algoritmos e informática teórica como parte do programa sobre algoritmos.
  • Análise matemática, matemática discreta, álgebra linear e teoria da probabilidade no programa de matemática para desenvolvedores.
  • Cursos de C++, Java e Haskell no programa online em linguagens de programação.

Além de atividades complementares, como revisões de código, resolução de problemas teóricos para provas, consultas a auxiliares e professores. Eles são difíceis de escalar, então o treinamento ocorre em pequenos grupos. As atividades ajudam a entender o tópico mais profundamente e obter feedback de alta qualidade.

Artemy Pestretsov, assistente de ensino: “Parece-me que a revisão de código é a principal característica distintiva dos programas online em linguagens e algoritmos. Para encontrar a resposta para sua pergunta, você pode simplesmente pesquisar no Google. É difícil e longo, mas possível. Mas o Google não fará uma revisão de código, por isso é muito valioso.”

Cada curso dentro do programa dura aproximadamente dois meses. Na final, os alunos devem passar por um exame ou receber créditos para todos os cursos.

Organizadores e assistentes de ensino sobre os programas on-line do CS Center

Quem são nossos alunos

Alunos de programas online:

  • Deseja preencher lacunas em matemática ou programação. Por exemplo, desenvolvedores experientes que desejam melhorar sua base matemática.
  • Eles começam a se familiarizar com a programação e incluem os programas do centro em seu plano de autoeducação.
  • Prepare-se para admissão em um programa de mestrado ou centro de CS.
  • Alunos com um perfil educacional diferenciado que resolveram mudar radicalmente seus rumos. Por exemplo, químicos ou professores.

Artemy Pestretsov: “Tínhamos um aluno, um homem no auge, que trabalhava em uma empresa de petróleo e gás e atrasava os prazos porque fazia uma viagem de negócios a um poço. É legal que pessoas com formações completamente diferentes vejam que as tecnologias de TI e a matemática ganharam força. São pessoas realizadas que podem viver tão bem, mas estão tentando aprender algo novo, querem se desenvolver em outras áreas.”

Mikhail Veselov, vmatm: “O nível de cada um é diferente: alguém não entende totalmente as coisas básicas da linguagem e alguém vem como um programador Java ou Python, e você pode conversar com ele no espírito de “como fazer melhor”. O principal é não focar no melhor dos melhores, mas no nível médio, para que o curso seja útil para todos.”

Como o treinamento é organizado

Diversas ferramentas auxiliam organizadores e educadores na construção do processo.

Correspondência no correio. Para anúncios importantes e formais.
Bate-papo com professores e organizadores. Muitas vezes, os caras começam a se ajudar no chat antes mesmo de o professor ou assistente ver a pergunta.
VocêTrack. Para dúvidas e entrega de tarefas aos professores e auxiliares. Aqui você pode fazer perguntas particulares e discutir a solução individualmente: os alunos, é claro, não podem compartilhar soluções uns com os outros.

Os organizadores se comunicam com os alunos e tentam resolver os problemas rapidamente. Kristina Smolnikova: “Se vários alunos perguntam a mesma coisa, esse é um problema comum e todos devem ser informados sobre isso.”

Como os assistentes ajudam

Revisão de código

Os alunos dos programas entregam o dever de casa e os assistentes verificam se o código está limpo e otimizado. Foi assim que os caras organizaram a revisão da última vez.

Artemy Pestretsov tentou responder às perguntas em 12 horas, porque os alunos entregaram as tarefas em horários diferentes. Li o código, encontrei problemas em termos de padrões, práticas gerais de programação, fui ao fundo dos detalhes, pedi otimização, sugeri quais nomes de variáveis ​​precisavam ser corrigidos.

“Todo mundo escreve código de maneira diferente, as pessoas têm experiências diferentes. Houve alunos que pegaram e escreveram pela primeira vez. Gosto de tudo, funciona muito bem e leva 25 segundos para verificar porque está tudo perfeito. E acontece que você se senta e por uma hora tenta entender por que uma pessoa escreveu esse código. Este é um processo educacional absolutamente adequado. Quando você faz uma revisão de código na vida real, é basicamente isso que acontece.”

Mikhail tentou construir o processo de forma independente para cada aluno, para que não houvesse a situação “Já expliquei isso para alguém, pergunte a ele”. Ele fez um primeiro comentário detalhado sobre o problema, depois o aluno fez perguntas esclarecedoras e atualizou a solução. Por aproximações sucessivas, obtiveram um resultado que agradou tanto ao orientador como ao aluno em termos de qualidade.

“Nas primeiras uma ou duas semanas de treinamento, as pessoas escrevem códigos não muito precisos. Eles precisam ser cuidadosamente lembrados dos padrões que existem tanto em Python quanto em Java, falar sobre analisadores automáticos de código para erros e deficiências óbvias, para que depois não se distraiam com isso e para que o semestre inteiro não incomode uma pessoa com o fato de suas transferências serem feitas incorretamente ou a vírgula não estar lá.”

Dicas para quem deseja realizar revisões de código de treinamento

1. Se um aluno escreveu um código problemático, não peça para refazê-lo. É importante que ele entenda qual é o problema desse código específico.

2. Não minta para os alunos. É melhor dizer honestamente “não sei” se não houver como entender o problema. Artemy: “Tive um aluno que cavou muito mais fundo do que o programa, desceu ao nível do ferro, depois subiu novamente, e constantemente subíamos neste elevador de abstrações. Tive que lembrar de algumas coisas, mas foi muito difícil formular logo de cara.”

3. Não é necessário focar no fato de o aluno ser iniciante: quando uma pessoa faz algo pela primeira vez, ela leva as críticas mais a sério, não sabe de jeito nenhum como costumam fazer, o que consegue e o que não. É melhor falar com cuidado apenas sobre o código e não sobre os contras do aluno.

4. É ótimo aprender a responder perguntas de maneira "educativa". A tarefa não é responder diretamente, mas garantir que o aluno realmente entenda e chegue à resposta sozinho. Artemy: “Em 99% dos casos, eu poderia responder imediatamente à pergunta de um aluno, mas muitas vezes não conseguia pegar e escrever uma resposta imediatamente, porque há muito o que pesar. Escrevi cinquenta linhas, apaguei, escrevi de novo. Sou responsável pela reputação dos cursos e pelo conhecimento dos alunos, e isso não é uma tarefa fácil. Uma sensação muito legal surge quando um aluno diz: “Ah, tive um insight!” E eu fico tipo, "Ele teve uma epifania!"

5. É importante ser atencioso e não criticar demais. Inspire, mas não muito para que o aluno não pense que está fazendo tudo muito bem. Aqui você tem que aprender a gerenciar adequadamente o nível de suas emoções.

6. É útil coletar observações gerais e erros semelhantes para economizar tempo. Você pode gravar a primeira dessas mensagens e simplesmente copiar e adicionar detalhes em resposta a outras pessoas com a mesma pergunta.

7. Pela diferença de conhecimento e experiência, algumas coisas parecem óbvias, então a princípio os auxiliares não decifram nos comentários para os alunos. Ajuda simplesmente reler o que foi escrito e acrescentar o que parecia banal. Mikhail: “Parece-me que quanto mais ajudo na verificação das soluções, mais claro fico para os alunos do novo curso desde o início. Eu agora lia os primeiros comentários do código e dizia: “Eu deveria ter sido mais cuidadoso, com mais detalhes”.

Ensinar e ajudar é ótimo

Pedimos aos caras que compartilhassem a experiência útil que obtiveram ao fazer revisões de código e conversar com os alunos.

Artemy: “A principal coisa que aprendi é ensinar paciência. Esta é uma habilidade completamente nova, estou aprendendo áreas completamente novas e não técnicas para mim. Acho que ensinar vai ajudar muito quando estou falando em conferências, conversando com colegas ou apresentando projetos em um comício. Aconselho a todos que experimentem!”

Mikhail: “Essa experiência me ajudou a ser um pouco mais tolerante com o fato de que alguém escreve código diferente de mim. Especialmente quando você está apenas começando a olhar para a solução. Eu mesmo fiz cursos de Python e Java e resolvi problemas semelhantes de maneira diferente. Variáveis ​​e funções nomeadas de forma diferente. E as soluções dos caras são todas um pouco diferentes, porque na programação não existe solução de referência. E aqui é preciso um pouco de paciência, para não dizer: “Bastava fazer isso!” Ajudou mais tarde no trabalho discutir os prós e contras de soluções específicas, e não os prós e contras do fato de eu não ter feito isso.”

Mais sobre programas online e avaliações de ex-alunos

Fonte: habr.com

Adicionar um comentário