Organizadores e assistentes de ensino sobre os programas online do CS Center

Em 14 de novembro, o centro de CS lança pela terceira vez os programas online Algoritmos e Computação Eficiente, Matemática para Desenvolvedores e C ++, Java e Haskell Development. Eles são criados para ajudar a mergulhar em um novo campo e estabelecer as bases para o treinamento e o trabalho em TI.

Para entrar, você precisará mergulhar na atmosfera do treinamento e passar no exame de admissão. Leia mais sobre o programa, exame e custo em code.stepik.org .

Enquanto isso, os assistentes de ensino e o curador dos programas da última execução informam como o treinamento é organizado, quem estuda, 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.

imagem

Como são organizados os programas?


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

  • Algoritmos e informática teórica como parte de um programa de algoritmos.
  • Análise analítica, matemática discreta, álgebra linear e teoria das probabilidades em um programa de matemática para desenvolvedores.
  • Cursos de C ++, Java e Haskell no programa de linguagem de programação online.

Além de atividades adicionais, por exemplo, uma revisão de código, resolvendo problemas teóricos de evidência, consultas com assistentes e professores. Eles são difíceis de escalar; portanto, o treinamento ocorre em pequenos grupos. As atividades ajudam a entender o tópico mais profundamente e a 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 em um exame ou receber testes em todos os cursos.

imagem

Quem são nossos alunos?


Alunos de programas online:

  • Eles querem preencher as lacunas em matemática ou programação. Por exemplo, desenvolvedores experientes que desejam aumentar a base matemática.
  • Eles começam a se familiarizar com a programação e incluem programas de centro em seu plano de auto-educação.
  • Prepare-se para a admissão em uma magistratura ou centro de CS.
  • Alunos com outra educação especializada que decidiram mudar radicalmente de direção. Por exemplo, químicos ou educadores.

Artemy Pestretsov: “Tínhamos um estudante, um homem no seu auge, que trabalhava para uma empresa de petróleo e gás e descansava nos prazos porque viajava a negócios pelo poço. É legal que pessoas com experiências completamente diferentes vejam a tecnologia de TI e a matemática ganhando força. São pessoas talentosas que podem viver tão bem, mas estão tentando aprender algo novo que desejam se desenvolver em outras áreas. ”

Mikhail Veselov, vmatm : “Todo mundo tem um nível diferente: alguém não entende completamente as coisas básicas da linguagem, mas alguém vem como programador Java ou Python, e você pode manter uma conversa como“ como fazer melhor ”. O principal é focar não no melhor dos melhores, mas em um nível intermediário, para que o curso seja útil a todos. ”

Como é organizado o treinamento?


Várias ferramentas ajudam organizadores e educadores a construir o processo.

Correspondência pelo correio. Para anúncios importantes e formais.
Converse com professores e organizadores. As crianças geralmente começam a se ajudar no bate-papo antes que o professor ou o assistente veja a pergunta.
YouTrack. Para perguntas e trabalhos para professores e assistentes. Aqui você pode fazer perguntas particulares e discutir uma solução individual: é claro que os alunos não podem compartilhar soluções entre si.

Os organizadores se comunicam com os alunos e tentam resolver rapidamente os problemas. Kristina Smolnikova: "Se vários alunos perguntam a mesma coisa, então este é um problema comum e precisamos contar a todos sobre isso."

Como os assistentes ajudam


Revisão de código

Os alunos dos programas passam na lição de casa e os assistentes verificam como o código é limpo e ideal. Foi assim que os caras organizaram a revisão da última vez.

Artemy Pestretsov tentou responder às perguntas em 12 horas, porque os alunos passaram nas tarefas em momentos diferentes. Li o código, encontrei problemas do ponto de vista dos padrões, práticas gerais de programação, cheguei ao fundo dos detalhes, pedi otimização, sugeri quais nomes de variáveis ​​deveriam ser corrigidos.

“Todo mundo escreve código de maneira diferente, as pessoas têm experiências diferentes. Havia estudantes que pegaram e escreveram pela primeira vez. Gosto de tudo, funciona muito bem e o teste leva 25 segundos, porque tudo é perfeito. E acontece que você senta e tenta entender por uma hora por que uma pessoa escreveu esse código. Este é um processo educacional absolutamente adequado. Quando você realiza uma revisão de código em sua vida, algo assim acontece. ”

Mikhail tentou construir um processo de forma independente para cada aluno, para que não houvesse situação "Eu já expliquei isso a 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ção sucessiva, eles receberam um resultado que se adequava tanto ao mentor quanto ao aluno em qualidade.

“Nas primeiras uma ou duas semanas de treinamento, as pessoas escrevem códigos não muito precisos. Eles precisam lembrar cuidadosamente os padrões existentes em Python e Java, falar sobre analisadores de código automáticos quanto a erros e falhas óbvias, para não se distrair mais tarde e para que o semestre inteiro não afaste uma pessoa do fato de que ele tem transferências incorretas ou a vírgula não está lá. "

Dicas para quem deseja realizar a revisão do código de treinamento

1. Se um aluno tiver escrito um código com problema, não peça para refazê-lo novamente. É importante que ele entenda qual é o problema com esse código específico.

2. Não minta para os alunos. É melhor dizer honestamente "não sei" se não há como resolver o problema. Artemy: “Tive um aluno que cavou muito mais fundo do que o programa, desceu ao nível do ferro, subiu novamente e ele e eu constantemente andávamos nesse elevador de abstrações. Eu precisava me lembrar de algumas coisas, mas era muito difícil formular rapidamente. ”

3. Não é necessário focar no fato de que o aluno é iniciante: quando uma pessoa faz algo pela primeira vez, ele leva as críticas mais a sério, não sabe de maneira alguma como é feito e o que faz e o que não faz. É melhor falar com cuidado apenas sobre o código, e não sobre as desvantagens do aluno.

4. É ótimo aprender a responder perguntas de maneira "educacional". A tarefa é responder não diretamente, mas fazer o aluno realmente entender e chegar à resposta ele mesmo. Artemy: "Em 99% dos casos, eu pude responder imediatamente à pergunta do aluno, mas muitas vezes não conseguia pegar e escrever a resposta imediatamente, porque precisava pesar muito. Ele escreveu cinquenta linhas, apagou, escreveu novamente. Sou responsável pela reputação dos cursos e pelo conhecimento dos alunos, e este não é um trabalho fácil. Um sentimento muito legal surge quando um aluno diz: "Oh, eu tenho uma ideia!" E eu também, assim: "Ele tem uma visão!"

5. É importante ter cuidado e não criticar fortemente. Inspire, mas não muito, para que o aluno não pense que está fazendo tudo chique. Aqui você precisa aprender a gerenciar com competência o nível de suas emoções.

6. É útil coletar comentários gerais e erros do mesmo tipo para economizar tempo. Você pode gravar a primeira mensagem desse tipo e simplesmente copiar e adicionar detalhes em resposta a outras pessoas na mesma pergunta.

7. Devido à diferença de conhecimento e experiência, algumas coisas parecem óbvias; portanto, a princípio, os assistentes não as decodificam nos comentários para os alunos. Ajuda simplesmente reler os escritos e acrescentar o que parecia comum. Michael: “Parece-me que, quanto mais eu ajudo na verificação das decisões, mais claro sou para os alunos do início do ano. Agora, eu lia os primeiros comentários sobre o código e dizia: "Deveria ter sido mais preciso, com mais detalhes".

Ensinar e ajudar é incrível


Pedimos às crianças que nos dissessem que experiência útil tiveram ao conduzir uma revisão de código e conversar com os alunos.

Artemy: “A principal coisa que aprendi é paciência, ensino. Essa é uma habilidade completamente nova; estou dominando áreas totalmente novas e não técnicas para mim. Penso que o ensino ajudará muito quando falo em conferências, converso com colegas ou apresento projetos em um comício. Aconselho a todos que experimentem!

Michael: “Essa experiência ajudou um pouco mais tolerante com o fato de alguém escrever o código de maneira diferente de mim. Especialmente quando você está apenas começando a procurar uma solução. Fiz cursos de Python e Java e resolvi problemas semelhantes de maneira diferente. Ele chamou variáveis ​​e funções de maneira diferente. E as decisões dos caras são todas um pouco diferentes, porque na programação não há solução padrão. E aqui você precisa de um pouco de paciência, para não dizer: "Era apenas necessário fazer isso!" Mais tarde, no trabalho, ajudou a discutir os prós e contras de soluções específicas, em vez dos prós e contras do fato de não ter sido eu quem o fez. ”

Leia mais sobre programas on-line e análises de ex-alunos

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


All Articles