Enquanto eu visitava a lendária Escola 42: "piscina", gatos e Internet em vez de professores. Parte 2


No último post , comecei a história da Escola 42, famosa por seu sistema revolucionário de ensino: não há professores, os próprios alunos conferem o trabalho um do outro, você não precisa pagar pelos estudos. Nesta postagem, falarei mais sobre o sistema de treinamento e quais tarefas os alunos realizam.


Não há professores, existe a Internet e camaradas. A educação na escola é baseada nos princípios do trabalho conjunto do projeto - aprendizagem ponto a ponto. Os alunos não estudam nenhum livro, eles não dão palestras para eles. Os organizadores das escolas acreditam que tudo pode ser encontrado na Internet, pergunte a amigos ou alunos mais experientes com quem você está trabalhando em um projeto.


As tarefas concluídas são verificadas 3-4 vezes por outros alunos, para que todos possam ser alunos e mentores. Também não há classificações - você só precisa concluir a tarefa correta e completamente. Mesmo que seja feito 90%, será contado como um fracasso.


Sem classificações, existem pontos. Para colocar o projeto a ser verificado, você deve ter um certo número de pontos - pontos de correção. Os pontos são ganhos ao verificar a lição de casa de outros alunos. E esse é um fator de crescimento adicional - você precisa entender uma variedade de tarefas, às vezes excedendo o seu nível de conhecimento.


“Alguns projetos são um verdadeiro cosmos, o cérebro explode a partir deles. E então, para ganhar apenas um ponto de correção, você precisa suar o dia inteiro, entendendo o código. Quando tive sorte e recebi até 4 pontos em um dia - este é um sucesso raro ”, diz meu amigo, aluno Sergei.


Sente-se no canto não vai funcionar. Os projetos são realizados sozinhos e em pares, e em grupos maiores. Eles são sempre protegidos pessoalmente, é importante que todos os membros do grupo participem ativamente e que todos entendam o código e sejam altamente motivados. Silêncio e sente-se de lado aqui não funciona. Dessa forma, a escola desenvolve trabalho em equipe e habilidades de comunicação bem-sucedidas. Além disso, todos os alunos se conhecem e se comunicam, o que é muito útil para networking e futuras carreiras.


Gamificação Como em um jogo de computador, os alunos sobem de nível e monitoram seu progresso com a ajuda do Gráfico Sagrado - um cartão "sagrado", que mostra claramente todo o caminho percorrido e o que está por vir. Como no RPG, a "experiência" é acumulada para os projetos e, após acumular uma certa quantia, é feita uma transição para um novo nível. A semelhança com o jogo real também está no fato de que cada novo nível é mais complicado que o anterior, há mais e mais tarefas.



Glass e Adm. A escola possui duas divisões principais - Bokal (técnicos) e Adm (administração). Glass - lida com questões técnicas e com o componente pedagógico, enquanto Adm - com questões administrativas e organizacionais. A reserva de pessoal da Glass / Adm é reabastecida às custas dos alunos estagiários da Escola.


Como e o que é ensinado aqui


Tudo começa com "C". A escola usa apenas Unix, considerando que o Windows não é a melhor escolha. O código é ensinado desde o básico, forçando a compreender a própria lógica da programação. Nos primeiros níveis, todos os projetos são realizados apenas em C e C ++, o IDE não é usado. Os alunos usam o compilador gcc e o editor de texto vim.


“Em outros cursos, você receberá funções, será solicitado a concluir um projeto e só então será explicado como elas são programadas. Aqui você não pode usar a função até que você a escreva. No começo, enquanto ainda estava no “pool”, não entendi por que precisava desse malloc, por que eu deveria alocar memória sozinho, por que não aprendi Python e Javascript. E, de repente, chega a você e você começa a entender como o computador pensa. ”


Normineut. Após a proteção bem-sucedida, todos os projetos são carregados na contraparte local do GitHub. Mas antes disso, eles devem passar por uma verificação de conformidade com o programa Norminette.


“Se o código funcionar bem, mas houver um vazamento de memória, o projeto será considerado com falha. Também verificada quanto à sintaxe. Temos uma lista de funções, atributos, sinalizadores proibidos e seu uso é equivalente a trapaça. Você tem que fazer tudo com suas próprias mãos e com muito cuidado ”, diz Sergey.



Exemplos de tarefas


Todas as tarefas executadas pelos alunos são verificadas de três maneiras: programaticamente, pela lista de verificação de outros estudantes e representantes do Glass. Abaixo estão alguns projetos que são realizados de forma independente e são verificados de acordo com uma lista de verificação:


Init (Administração de sistema e rede) - você precisa instalar o sistema operacional Debian na máquina virtual e configurá-lo de acordo com os requisitos especificados na tarefa.


Libft - implemente funções de biblioteca padrão em C, como: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower , etc. Nenhuma biblioteca de terceiros, todas com suas próprias mãos. Você escreve cabeçalhos, implementa você mesmo, cria um Makefile , compila você mesmo.


Printf - é necessário implementar completamente a função printf padrão com todos os seus argumentos em C. Isso é bastante difícil para iniciantes.


Fillit - era necessário coletar um quadrado da área mínima da lista de tetramino que chegava à entrada. A cada nova etapa, um novo tetramino foi adicionado. A tarefa é complicada pelo fato de os cálculos precisarem ser feitos em C e pelo tempo mínimo.


Libls - implemente sua versão do ls com todos os seus sinalizadores padrão. Você pode e deve usar as conquistas de tarefas anteriores.


Rheshes


Além das tarefas executadas sozinhas, há uma categoria separada de tarefas que são executadas por um grupo de alunos - juncos. Ao contrário dos projetos independentes, o rush não é verificado pelos alunos em uma lista de verificação, mas pelos funcionários da escola de Bokal.


Pipex - o programa de entrada aceita nomes de arquivos e comandos arbitrários do shell, o aluno deve demonstrar a capacidade de trabalhar com pipes no nível do sistema e implementar uma funcionalidade idêntica ao comportamento regular do sistema no terminal.


Minitalk - implemente um aplicativo cliente-servidor em C. O servidor deve poder suportar vários clientes e imprimir mensagens enviadas pelo cliente usando os sinais do sistema SIGUSR1 e SIGUSR2.


Congelado - escreva um servidor de IRC em Golang, capaz de trabalhar com vários clientes ao mesmo tempo, usando simultaneidade e goroutines. O cliente deve conseguir fazer login usando um nome de usuário e senha. Um servidor de IRC deve suportar vários canais.


Conclusão


Qualquer pessoa pode entrar na Escola 42, e você não precisa ter conhecimentos especiais para fazer isso. Apesar do programa ser desenvolvido para iniciantes, tarefas simples são rapidamente substituídas por tarefas não triviais, geralmente com formulações difusas. O aluno deve dar o máximo de dedicação, a capacidade de procurar as informações ausentes na documentação oficial em inglês e também se unir a outros alunos para concluir as tarefas. O programa de treinamento não possui uma sequência estrita; portanto, todo mundo escolhe um caminho de desenvolvimento para si mesmo. A ausência de classificações de ponta a ponta permite que você se concentre no seu progresso e desenvolvimento, e não se compare com os outros.

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


All Articles