Com amor de Stepik: plataforma educacional Hyperskill

Quero falar com você sobre por que consertamos encanamentos com mais frequência do que escrevemos dissertações sobre isso, sobre diferentes abordagens para ensinar programação e como estamos tentando aplicar uma delas em nosso novo produto Hyperskill.

Se você não gosta de introduções longas, pule direto para o parágrafo sobre programação. Mas será menos divertido.

Com amor de Stepik: plataforma educacional Hyperskill

Digressão lírica

Vamos imaginar uma certa jovem Masha. Hoje Masha ia lavar algumas frutas e assistir um filme em paz, mas azar: de repente ela descobriu que a pia da cozinha estava entupida. Ainda não está claro o que fazer com isso. Você pode adiar esse assunto indefinidamente, mas agora há tempo livre, então Masha decide lidar com o problema imediatamente. O bom senso sugere duas opções: a) chame um encanador b) cuide do problema sozinho. A jovem escolhe a segunda opção e começa a estudar as instruções no YouTube. Seguindo o conselho do usuário Vasya_the_plumber, Masha olha embaixo da pia e vê um cano de plástico sinuoso feito de várias peças. A garota desenrosca cuidadosamente uma peça da base da pia e não encontra nada. Um pedaço inferior do cano está fortemente entupido com uma substância desconhecida, e mesmo um garfo encontrado na mesa não consegue lidar com o bloqueio. Especialistas da Internet dão previsões decepcionantes: a peça terá que ser trocada. No mapa, Masha encontra a loja mais próxima, leva consigo o malfadado pedaço de cachimbo e compra o mesmo, só que novo. Seguindo o conselho do vendedor, Masha também compra uma nova peneira para prevenção. A missão está concluída: a pia funciona como deveria novamente e seu personagem principal, entretanto, aprendeu o seguinte:

  • Você mesmo pode desparafusar e apertar os canos embaixo da pia;
  • A loja de encanamento mais próxima fica a um quilômetro e meio do apartamento de Mashina.

Muito provavelmente, Masha nem percebeu quantas coisas novas ela aprendeu e aprendeu, porque estava preocupada com seu próprio conforto no futuro e, ao mesmo tempo, assistindo a um filme e lavando sua maçã. Na próxima vez que surgir um problema semelhante, a garota o resolverá muitas vezes mais rápido. Na verdade, Masha não apenas devolveu o mundo ao seu estado normal; ela estudou indutivamente, isto é, em casos especiais, e orientado para a prática, isto é, fazendo as coisas em vez de estudá-las detalhadamente e com antecedência.

Tudo poderia ter sido diferente. Suponha que Masha esteja sentada em uma cadeira à noite e de repente perceba que está mental e fisicamente despreparada para um entupimento na pia. Ela rapidamente se matricula em uma academia de encanadores, estudando os tipos de pias, canos e possíveis conexões, a classificação dos problemas de encanamento e possíveis soluções para eles. Masha não dorme à noite, memorizando termos e nomes. Talvez ela esteja até escrevendo uma tese de doutorado sobre ciência teórica de tubos, onde discute juntas de borracha. Finalmente, tendo recebido o certificado, Masha olha orgulhosamente ao redor da cozinha com total confiança de que agora mesmo o menor problema com a pia será resolvido com um estalar de dedos. Nesse cenário, a menina estudou dedutivamente, passando do geral para o específico, e estava mais focado em a teoria.

Então, qual abordagem é melhor? No caso de pia e entupimento - o primeiro, e pelos seguintes motivos:

  1. Se apenas uma pia funcional é importante, basta saber apenas o que diz respeito a esta área específica. Quando Masha perceber que lhe falta conhecimento, com certeza encontrará uma maneira de aprender mais.
  2. O conhecimento enciclopédico pode não ser ativado numa situação real porque o hábito não foi desenvolvido. Para aprender a sequência de ações, faz sentido não ler sobre elas, mas realizá-las.

Vamos deixar a pobre Masha em paz e prosseguir com o processo de aprendizagem como tal.

Programação: aprender ou fazer?

Estamos acostumados a pensar que para nos desenvolvermos e nos tornarmos especialistas em uma área desconhecida, primeiro precisamos ir para a universidade ou pelo menos nos matricular em cursos. Ouvimos regularmente o que nos dizem e realizamos tarefas. Quando temos o cobiçado diploma ou certificado em mãos, ficamos instantaneamente perdidos, pois ainda não entendemos por que precisamos de tantas informações e como aplicá-las especificamente. Isso não é problema se seus próximos planos forem escrever artigos científicos e viajar com eles para conferências. Caso contrário, vale a pena buscar habilidades, ou seja, fazer e repetir coisas específicas, tentar e errar para lembrar por muito tempo o que é melhor não fazer.

Uma das áreas onde uma “mão dura” ou um “olho de diamante” andam de mãos dadas com uma visão ampla é a programação. Se você conversar com desenvolvedores experientes, ouvirá histórias corajosas em que uma pessoa estudou matemática/física/ensino desde muito jovem e depois se cansou e foi para o back-end. Também haverá programadores sem ensino superior! Em primeiro lugar, o que se valoriza num desenvolvedor não é um certificado ou diploma, mas sim a quantidade e a qualidade dos programas, scripts e sites escritos.

“Mas espere!”, você objeta, “Parece lindo - pegue e faça!” Não consigo escrever um programa facilmente se não tiver programado antes! É importante para mim entender onde escrever, como falar basicamente em uma linguagem de programação com um compilador. Não é como encontrar o número de telefone de um encanador no Google.”

Há uma verdade amarga nisso também. Um aspecto desconhecido leva a outro, que por sua vez leva a um terceiro, e logo esse processo se transforma em um show de mágico, que continua tirando lenços amarrados e não consegue tirá-los da cartola. O processo, para ser sincero, é desagradável, no 5º “lenço” já parece que o abismo da ignorância está próximo da Fossa das Marianas. Uma alternativa para isso são as mesmas palestras sobre 10 tipos de variáveis, 3 tipos de loops e 150 bibliotecas potencialmente úteis. Tristemente.

Hyperskill: construímos, construímos e finalmente construímos

Pensamos muito sobre esse problema. A data da última postagem em nosso blog diz muito sobre há quanto tempo estamos pensando. Depois de todos os debates e tentativas de integração da nova abordagem no Stepik, acabamos com... um site diferente. Você já deve ter ouvido falar sobre isso como parte da JetBrains Academy. Chamamos isso de Hyperskill, construído em aprendizagem baseada em projetos, vinculamos uma base de conhecimento Java a ele e contamos com o apoio da equipe EduTools. E agora mais detalhes.

Com amor de Stepik: plataforma educacional Hyperskill

Objetivo específico. Oferecemos um “menu” de projetos, ou seja, programas que você pode escrever com nossa ajuda. Entre eles estão jogo da velha, assistente pessoal, blockchain, mecanismo de busca, etc. Os projetos consistem em 5 a 6 etapas; O resultado de cada etapa é um programa finalizado. “Então por que precisamos das outras etapas se tudo já deu certo na primeira?” Obrigado pela pergunta. A cada passo o programa se torna mais funcional ou mais rápido. No início o código ocupa 10 linhas, mas no final pode não caber nem em 500.

Немного теории. É impossível sentar e escrever até mesmo Hello World sem saber uma palavra sobre programação. Portanto, em cada etapa do projeto, você vê quais fundamentos teóricos precisa dominar e, o mais importante, onde obtê-los. O básico também está localizado no Hyperskill na seção “Mapa de Conhecimento”. Se, na primeira fase do projeto, os alunos não forem obrigados a ler dados de um arquivo, talvez não consigam continuar. Eles mesmos aprenderão mais tarde, para desenvolvimento geral, ou precisarão dele no próximo estágio.

Com amor de Stepik: plataforma educacional Hyperskill

Mapa do conhecimento. Mostra quais tópicos você já estudou e como eles se relacionam. Abra qualquer top fofo. Você pode folheá-lo, mas recomendamos que você execute pequenas tarefas para ter certeza de que as informações cabem em sua cabeça. Primeiro, a plataforma fornecerá testes e, em seguida, algumas tarefas de programação. Se o código for compilado e aprovado nos testes, compare-o com a solução de referência, às vezes isso ajuda a descobrir uma maneira mais ideal de implementá-lo. Ou certifique-se de que sua solução já é excelente.

Nada mais. Estamos aguardando usuários “verdes” e desenvolvedores experientes. Se você já escreveu programas, não importa, não forçaremos você a adicionar 2+2 ou virar uma linha novamente. Para chegar imediatamente ao nível desejado, no momento da inscrição indique o que você já conhece e escolha um projeto mais difícil. Não tenha medo de se superestimar: se acontecer alguma coisa, você sempre poderá retornar a um tema esquecido no mapa do conhecimento.

Com amor de Stepik: plataforma educacional Hyperskill

Ferramentas. É ótimo escrever pequenos trechos de código em uma janela especial do site, mas a verdadeira programação começa trabalhando no ambiente de desenvolvimento (Integrated Desenvolvimento Eambiente). Programadores experientes sabem não apenas como escrever código, mas também como projetar uma interface gráfica, montar diferentes arquivos em um projeto, usar ferramentas de desenvolvimento adicionais, e o IDE cuida de alguns desses processos. Por que não aprender essas habilidades enquanto aprende programação? É aqui que JetBrains vem em socorro e uma versão especial do IntelliJ IDEA Community Educational com um plugin EduTools pré-instalado. Nesse IDE, você pode fazer cursos de treinamento, verificar problemas resolvidos e consultar dicas de projetos caso tenha esquecido alguma coisa. Não se preocupe se é a primeira vez que você ouve a palavra “plugin” ou “IDE”: nós lhe diremos o que é e como instalá-lo em seu computador ou laptop com o mínimo de sofrimento. Entenda a teoria, vá para o IDE e conclua a próxima etapa do projeto ali mesmo.

Prazos. Não existe nenhum deles! Quem somos nós para bater na cabeça e dizer em que ritmo escrever um programa? Quando você gosta de escrever código e quer terminá-lo, você termina hoje ou amanhã. Faça o desenvolvimento para seu próprio prazer.

Erros. Todo mundo admite, você também em uma das etapas do projeto, e aí essa etapa não vai passar nos testes automáticos. Bem, você terá que descobrir por si mesmo o que deu errado. Poderíamos dizer onde está o erro, mas isso ensinaria você a escrever código com cuidado? Leia dicas do IDEA ou um tópico teórico sobre Bugs e, quando o programa finalmente funcionar, a onda de dopamina provavelmente não demorará a chegar.

Um resultado claro. Então, você concluiu o primeiro rascunho, o que vem a seguir? Aproveite os frutos do seu trabalho! Jogue jogo da velha com seus amigos e gabe-se de seu sucesso ao mesmo tempo. Carregue o projeto no GitHub para mostrá-lo a um futuro empregador, escreva você mesmo uma descrição e indique ali o conhecimento que você aplicou. 4-5 projetos complexos e agora um portfólio modesto para um desenvolvedor iniciante está pronto.

Oportunidade de crescimento. Digamos que você olhe para o Hyperskill e não veja nenhum tópico importante ou projeto útil nele. Deixe-nos saber sobre isso! Se a sua experiência for mais ampla e rica do que o mapa de conhecimento, escreva-nos no formulário contribuir. Nossa equipe compartilhará nossas próprias dicas e truques com você, por isso teremos prazer em ajudá-lo a transformar seu conhecimento em conteúdo útil que seja compreensível para usuários de diferentes idades e níveis. Talvez até paguemos, mas isso não é certo.

Receber: oi.hyperskill.org Entre, olhe, experimente, sugira, elogie e critique. Também estamos aprendendo a ensinar você.

Fonte: habr.com

Adicionar um comentário