В
Não existem professores, existe a Internet e os amigos. A educação na escola é baseada nos princípios do trabalho conjunto de projetos - aprendizagem entre pares. Os alunos não estudam nenhum livro didático, não recebem palestras. Os organizadores da escola acreditam que tudo pode ser encontrado na Internet, perguntado a amigos ou a alunos mais experientes com quem você está trabalhando em um projeto.
As tarefas concluídas são verificadas 3 a 4 vezes por outros alunos, para que todos possam ser alunos e mentores. Também não há notas - você só precisa concluir a tarefa correta e completamente. Mesmo que esteja 90% concluído, será considerado um fracasso.
Não há classificações, há pontos. Para enviar um projeto para revisão, você deve ter um determinado número de pontos - pontos de correção. Os pontos são ganhos verificando os trabalhos de casa de outros alunos. E este é um fator adicional de crescimento - porque você tem que entender uma variedade de tarefas, às vezes ultrapassando seu nível de conhecimento.
“Alguns projetos são espaços reais, eles surpreendem. E aí, para ganhar apenas um ponto de correção, você tem que suar o dia todo, entendendo o código. Um dia tive sorte e consegui até 4 pontos num dia – isto é uma sorte rara.”, diz meu amigo, estudante Sergei.
Ficar sentado no canto não vai funcionar. Os projetos são realizados individualmente e em pares, bem como em grupos maiores. Eles estão sempre protegidos pessoalmente, e é importante que todos os membros do grupo participem ativamente, e que todos entendam o código e estejam altamente motivados. Não é possível ficar calado e ficar à margem aqui. Assim, a escola melhora as habilidades de trabalho em grupo e de comunicação bem-sucedida. 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 acompanham seu progresso usando o Gráfico Sagrado - um mapa “sagrado” que mostra claramente todo o caminho percorrido e o caminho a seguir. Como em um RPG, a “experiência” é concedida aos projetos e, após acumular uma certa quantidade dela, é feita a transição para um novo nível. A semelhança com o jogo real é que cada novo nível é mais difícil que o anterior e há cada vez mais tarefas.
Vidro e Adm. Existem duas divisões principais na escola - Bokal (técnicos) e Adm (administração). Bokal trata das questões técnicas e da componente pedagógica, enquanto o Adm trata das questões administrativas e organizacionais. A reserva de pessoal da Bokala/Adm é reabastecida pelos próprios alunos, que fazem estágio na Escola.
Como e o que é ensinado aqui
Tudo começa com "S". Na escola eles usam exclusivamente Unix, considerando o Windows não a melhor escolha. O código é ensinado desde o básico, obrigando você a compreender a própria lógica da programação. Os primeiros níveis de todos os projetos são executados apenas nas linguagens C e C++, IDEs não são usados. Os alunos usam o compilador gcc e o editor de texto vim.
“Em outros cursos eles vão te passar funções, pedir para você fazer um projeto e só depois explicar como estão programados. Aqui você não pode usar a função até que você mesmo a escreva. No início, ainda no “pool”, não entendi por que precisava desse malloc, por que eu mesmo precisava alocar memória, por que não estava estudando Python e Javascript. E então, de repente, você percebe e começa a entender como o computador pensa.”
Norminar. Após a proteção bem-sucedida, todos os projetos são carregados no equivalente local do GitHub. Mas antes disso, eles devem ser verificados para garantir que o código está de acordo com as regras da escola usando o programa Norminette.
“Se o código funcionar perfeitamente, mas houver vazamento de memória, o projeto será considerado um fracasso. Eles também verificam a sintaxe. Temos uma lista de funções, atributos e sinalizadores proibidos e seu uso é considerado trapaça. Você deve fazer tudo com suas próprias mãos e com muito cuidado.", diz Sergei.
Exemplos de tarefas
Todas as tarefas realizadas pelos alunos são verificadas de três formas: programaticamente, de acordo com um checklist de outros alunos e representantes do Glass. Abaixo estão alguns projetos do tipo faça você mesmo 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 — implementar funções de biblioteca padrão em linguagem C, tais como: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower
etc. Sem bibliotecas de terceiros, faça você mesmo. Você mesmo escreve os cabeçalhos, implementa-os você mesmo, cria-os você mesmo Makefile
, você mesmo compila.
printf — é necessário implementar totalmente a função padrão printf
com todos os seus argumentos em C. É bastante difícil para iniciantes.
Encha - foi necessário montar um quadrado de área mínima da lista de tetrominós fornecida como insumo. A cada nova etapa, um novo tetrominó era adicionado. A tarefa é complicada pelo fato de os cálculos terem que ser feitos em C e em um tempo mínimo.
Liblis — implemente sua própria versão do comando ls
com todas as suas bandeiras padrão. Você pode e deve usar desenvolvimentos de tarefas anteriores.
juncos
Além das tarefas realizadas sozinhos, existe uma categoria separada de tarefas executadas por um grupo de alunos - as corridas. Ao contrário dos projetos independentes, a pressa não é verificada pelos alunos por meio de uma lista de verificação, mas pelos funcionários da escola de Bokal.
Pipex — o programa aceita nomes de arquivos e comandos shell arbitrários como entrada; o aluno deve demonstrar a capacidade de trabalhar com pipes no nível do sistema e implementar funcionalidades idênticas ao comportamento padrão do sistema no terminal.
Miniconversa — implementar uma aplicação cliente-servidor em C. O servidor deve ser capaz de suportar o trabalho com vários clientes e imprimir mensagens enviadas pelo cliente usando os sinais do sistema SIGUSR1 e SIGUSR2.
Congelados — escrever um servidor IRC em Golang que seja capaz de trabalhar com vários clientes simultaneamente, usando simultaneidade e goroutines. O cliente deve ser capaz de fazer login usando um login e senha. O servidor IRC deve suportar múltiplos canais.
Conclusão
Qualquer pessoa pode se matricular na Escola 42 e não precisa de nenhum conhecimento especial para isso. Apesar de o programa ser projetado para iniciantes, tarefas simples são rapidamente substituídas por problemas não triviais, muitas vezes com formulações pouco claras. É necessário que o aluno tenha dedicação máxima, capacidade de buscar informações faltantes em documentação oficial em inglês e de se unir a outros alunos para realizar tarefas. O programa de treinamento não tem uma sequência rígida, então cada um escolhe seu caminho de desenvolvimento. A ausência de classificações completas permite que você se concentre no seu progresso e desenvolvimento, em vez de se comparar com os outros.
Fonte: habr.com