1. Aprendizagem baseada na prática

Aprendizado de Java baseado na prática

Há pessoas que amam o CodeGym de todo o coração e há pessoas que o odeiam de todo o coração. Mas mesmo o crítico mais cruel do CodeGym concordará prontamente que ele tem um número impressionantemente grande de tarefas. E a razão pela qual existem tantos deles é porque todo treinamento CodeGym tem a prática como base .

Programar é uma habilidade. Ninguém diz: "Eu sei programar". Todo programador diz: "Eu posso programar". É uma habilidade prática, como nadar ou jogar xadrez. E você só pode cultivar a habilidade por meio da prática constante.

É por isso que todo o curso CodeGym é uma sequência de tarefas cada vez mais difíceis. Você começa com tarefas muito fáceis e primitivas e termina com as mais difíceis e interessantes. A dificuldade cresce um pouco a cada nível. Esse é justamente o caminho que o levará ao seu objetivo de se tornar um programador.


2. Tipos de tarefas

Um monte de diferentes tipos de tarefas esperam por você no CodeGym. Vamos listar os principais:

Tarefas em que você escreve código seguindo um exemplo

Este é o exercício mais simples. O objetivo dessas tarefas é praticar sua capacidade de escrever código. Para resolver a tarefa, você precisará escrever o código exatamente como existe no código de exemplo. Isso é muito útil, mas fica entediante muito rapidamente. Quase não há tais tarefas: nós as substituímos por tarefas que são mais interessantes para os alunos do CodeGym.

Os cartões para tais tarefas são marcados com a letra T:

Tipos de tarefas

Tarefas em que você escreve um programa

Estas são as tarefas mais importantes do curso. Seu nível de dificuldade varia muito: desde as tarefas mais simples até aquelas nas quais você terá que pensar muito.

O objetivo dessas tarefas é escrever um programa que atenda às condições e requisitos especificados. A maioria das tarefas se enquadra nessa categoria. Para comodidade dos alunos do CodeGym, marcamos essas tarefas de acordo com seu nível de dificuldade: FÁCIL , MÉDIO , DIFÍCIL e ÉPICO .

As tarefas EPIC geralmente são baseadas em material de aprendizado futuro em lições que você ainda não desbloqueou. Eles são populares entre os alunos do CodeGym que acham que o curso é muito fácil para eles. Outros podem simplesmente pular essas tarefas e retornar a elas mais tarde, quando já estiverem familiarizados com a teoria relevante.

Tarefas em que você escreve um programa

Projetos

A desvantagem das tarefas comuns é que elas são pequenas. Feito e esquecido, como dizem. Portanto, raramente é possível torná-los altamente interessantes. Mas um grande programa é difícil de testar: simplesmente existem muitas maneiras de implementá-lo.

Essas são as tarefas de projeto introduzidas pelo CodeGym — grandes tarefas divididas em 10 a 30 subtarefas comuns. Você executa todas as subtarefas sequencialmente e acaba com um programa grande.

No final de cada nível nas missões Multithreading e Collections, há uma grande tarefa do projeto, que é dividida em vinte subtarefas. Existem também outras 6 tarefas de jogo, que também são projetos. No total, são 27 tarefas de projeto em todo o curso.

Testes

Por muito tempo, o CodeGym não teve testes ou questionários. O criador do CodeGym acredita que os testes aprovados criam a "ilusão de conhecimento" nas pessoas. As pessoas realmente não sabem programar, mas estão totalmente convencidas do contrário, pois passaram nos testes. Essas pessoas param de aprender, pois "já sabem tudo".

Posteriormente, questionários foram adicionados para permitir que os alunos do CodeGym identificassem facilmente as lacunas em seu aprendizado. É útil para os programadores conhecerem as nuances das coisas com as quais trabalham diariamente em sua profissão.

Questionários Java

Vídeos

Finalmente, o último tipo de tarefa é assistir a um vídeo. Muitos vídeos úteis e interessantes relacionados ao setor de TI foram incluídos nas aulas do CodeGym.


3. Status da tarefa

Cada tarefa no CodeGym tem um status especial. O status pode mudar conforme você resolve as tarefas.

Cada tarefa do CodeGym está associada a uma lição. Inicialmente, você não terá acesso a nenhuma tarefa, o que significa que não poderá resolvê-las.

bloqueado

Ao abrir a próxima lição, todas as tarefas da lição ficam disponíveis para resolução, ou seja, seu status muda para "Disponível".

Disponível

Se você enviou uma tarefa para verificação pelo menos uma vez, seu status muda de "Disponível" para "Em andamento".

Em andamento

Por fim, quando você cumprir todos os requisitos com sucesso e o validador aceitar seu envio, o status da tarefa mudará para "Concluída".

Concluído

Os usuários com uma assinatura Premium Pro têm mais 3 dias para tentar escrever outras soluções para a tarefa. Depois que essa janela de tempo adicional expirar, a tarefa passará para o status "Fechada" e esse status não será mais alterado.Fechado


4. WebIDE

Para facilitar a resolução de tarefas, escrevemos um widget especial: WebIDE . Parece mais ou menos assim:

WebIDE

À esquerda, você vê as condições e os requisitos da tarefa que sua solução deve atender. No centro, temos o editor, que é onde você precisa escrever seu código . Seu programa exibiu algum texto, que você pode ver no painel na parte inferior.

E no topo você verá estes botões:

  • Verificar : Envie sua solução para teste.
  • Ajuda : Faça uma pergunta sobre sua solução na comunidade CodeGym.
  • Discutir : Discuta a tarefa com outros usuários.
  • Redefinir : redefina sua solução, ou seja, comece de novo.
  • Executar : Inicie o programa sem enviá-lo para verificação (seu contador de verificação não aumentará).
  • Análise de código : Obtenha sugestões sobre o estilo de código da sua solução

5. Requisitos

Nos primeiros anos do CodeGym, quando você verificava cada tarefa, obtinha um resultado simples: sim ou não. O programa passou em todos os testes ou não. Super simples, mas não super útil.

À medida que as pessoas aprendem, é muito importante que entendam o que estão fazendo de errado e como começar a fazer certo. Portanto, faz todo o sentido que, se o servidor não aceitar sua solução, você pergunte, bem, o que há de errado com isso?

Para obter uma resposta a esta pergunta, você precisa de alguém para mergulhar em sua solução, analisá-la e dizer o que há de errado com ela. Isso levaria muito tempo e seria caro. A beleza da verificação instantânea de tarefas é que você pode se sentar para estudar às 2 da manhã e tudo funcionará como em qualquer outro momento.

É por isso que reescrevemos todas as tarefas no CodeGym. Agora, cada tarefa não tem apenas condições de tarefa, mas também uma lista de 5 a 10 requisitos que complementam as condições. Mais importante ainda, cada requisito é verificado separadamente.

Isso significa que, ao enviar uma tarefa para verificação hoje, você receberá uma resposta estendida: ao lado de cada requisito de tarefa, você verá um ícone especial indicando se seu programa atende a esse requisito ou não. Exemplo:

Requisitos

Essa abordagem simplifica muito a vida enquanto você trabalha em tarefas que exigem que você escreva várias classes ou métodos. Você sempre poderá ver quais métodos ou classes escreveu corretamente e quais não.


6. Recomendações

É possível tornar as tarefas ainda melhores de alguma forma? Não seria ótimo se, após cada verificação, você soubesse exatamente o que está errado em seu programa e recebesse dicas sobre como corrigi-lo? Sim, isso seria legal! Bem, adivinhe? Fazemos exatamente isso no CodeGym 🙂

Detectamos dezenas de erros comuns verificando cada requisito de tarefa. Se o seu programa cometer um erro que o validador conheça, ele fará uma recomendação — uma dica de como você pode corrigir sua solução para que ela satisfaça todos os requisitos.

Pense nisso. Existem agora cerca de 1.200 tarefas no CodeGym, com um total de aproximadamente 10.000 requisitos. E há várias recomendações associadas a cada requisito. Alguns requisitos têm dezenas deles. O validador do CodeGym está pronto para fazer mais de 50.000 recomendações para soluções de usuário.

Além disso, tudo isso acontece à medida que sua solução é validada, o que na maioria dos casos leva menos de um segundo. Nenhuma pessoa poderia fazer isso. Este é um verdadeiro mentor virtual.

Recomendações