Med kärlek från Stepik: Hyperskill utbildningsplattform

Jag vill prata med dig om varför vi fixar VVS oftare än vi skriver avhandlingar om det, om olika tillvägagångssätt för att lära ut programmering och hur vi försöker tillämpa en av dem i vår nya produkt Hyperskill.

Om du inte gillar långa introduktioner, hoppa direkt till avsnittet om programmering. Men det blir mindre roligt.

Med kärlek från Stepik: Hyperskill utbildningsplattform

Lyrisk utvikning

Låt oss föreställa oss en viss ung dam Masha. Idag skulle Masha tvätta lite frukt och se en film i fred, men otur: plötsligt upptäckte hon att diskbänken var igensatt. Det är ännu inte klart vad man ska göra med detta. Du kan skjuta upp det här problemet på obestämd tid, men det finns ledig tid nu, så Masha bestämmer sig för att ta itu med problemet direkt. Sunt förnuft föreslår två alternativ: a) ring en rörmokare b) sköter det själv. Den unga damen väljer det andra alternativet och börjar studera instruktionerna på YouTube. Efter råd från användaren Vasya_the_plumber tittar Masha under diskbänken och ser ett slingrande plaströr som består av flera delar. Flickan skruvar försiktigt loss en bit vid botten av diskbänken och hittar ingenting. En nedre bit av röret visar sig vara tätt igensatt med ett okänt ämne, och till och med en gaffel som finns på bordet kan inte klara av blockeringen. Experter från Internet ger nedslående prognoser: delen måste ändras. På kartan hittar Masha närmaste butik, tar med sig den olyckliga pipabiten och köper samma, bara ny. På inrådan av säljaren tar Masha också tag i en ny sil för att förebygga. Uppdraget är avslutat: diskbänken fungerar som den ska igen, och dess huvudperson har under tiden lärt sig följande:

  • Du kan själv skruva loss och dra åt rören under diskbänken;
  • Närmaste VVS-butik ligger en och en halv kilometer från Mashinas lägenhet.

Mest troligt märkte Masha inte ens hur många nya saker hon hade lärt sig och lärt sig, eftersom hon var orolig för sin egen komfort i framtiden och samtidigt tittade på en film och tvättade sitt äpple. Nästa gång ett liknande problem uppstår kommer flickan att lösa det många gånger snabbare. Faktum är att Masha inte bara återförde världen till sitt vanliga tillstånd; hon studerade induktivt, det vill säga i speciella fall, och praktikinriktad, det vill säga genom att göra saker snarare än att studera dem i detalj och i förväg.

Allt kunde ha blivit annorlunda. Anta att Masha sitter i en stol på kvällen och plötsligt inser att hon är mentalt och fysiskt oförberedd på en propp i handfatet. Hon går snabbt in på en VVS-akademi och studerar typer av diskhoar, rör och möjliga anslutningar, klassificeringen av VVS-problem och möjliga lösningar på dem. Masha sover inte på natten och memorerar termer och namn. Kanske skriver hon till och med på en doktorsavhandling om teoretisk rörvetenskap, där hon diskuterar gummipackningar. Slutligen, efter att ha fått certifikatet, ser Masha stolt runt i köket i full förtroende att nu kommer även det minsta problem med diskbänken att lösas med ett finger. I det här scenariot studerade flickan deduktivt, flyttade från det allmänna till det specifika, och var mer fokuserad på teori.

Så vilket tillvägagångssätt är bäst? När det gäller ett handfat och en tilltäppning - den första, och av dessa skäl:

  1. Om bara en fungerande diskho är viktig, så räcker det att bara veta vad som rör just detta område. När Masha inser att hon saknar kunskap kommer hon definitivt att hitta ett sätt att lära sig mer.
  2. Encyklopedisk kunskap kanske inte aktiveras i en verklig situation eftersom vanan inte har utvecklats. För att lära sig sekvensen av åtgärder är det vettigt att inte läsa om dem, utan att utföra dem.

Låt oss lämna stackars Masha ifred och gå vidare till inlärningsprocessen som sådan.

Programmering: lära eller göra?

Vi är vana vid att tro att för att utvecklas och bli experter inom ett okänt område måste vi först gå på universitetet eller åtminstone anmäla oss till kurser. Vi lyssnar regelbundet på vad de säger till oss och utför uppgifter. När vi har det eftertraktade diplomet eller certifikatet i våra händer är vi omedelbart förlorade, eftersom vi fortfarande inte förstår varför vi behöver så mycket information och hur vi specifikt ska tillämpa den. Detta är inga problem om dina nästa planer är att skriva vetenskapliga artiklar och resa med dem till konferenser. Annars är det värt att sträva efter kompetens, det vill säga att göra och göra specifika saker igen, försöka och göra misstag för att under lång tid komma ihåg vad som är bäst att inte göra.

Ett av de områden där en "tuff hand" eller ett "diamantöga" går hand i hand med en bred syn är programmering. Om du pratar med erfarna utvecklare får du höra modiga historier där en person studerade matematik/fysik/lära från ung ålder och sedan tröttnade och flyttade till backend. Det kommer också att finnas programmerare utan högre utbildning! Först och främst är det som värderas hos en utvecklare inte ett certifikat eller diplom, utan kvantiteten och kvaliteten på skrivna program, skript och webbplatser.

"Men vänta!", invänder du, "låter vackert - ta det och gör det!" Jag kan inte lätt skriva ett program för mig själv om jag inte har programmerat tidigare! Det är viktigt för mig att förstå var man ska skriva, hur man i princip pratar på ett programmeringsspråk med en kompilator. Det är inte som att hitta en rörmokares telefonnummer på Google."

Det finns en bitter sanning i detta också. En obekant aspekt leder till en annan, som i sin tur leder till en tredje, och snart förvandlas denna process till en trollkarlsshow, som fortsätter att dra fram bundna näsdukar och inte kan få upp dem ur hatten. Processen, för att vara ärlig, är obehaglig; vid den 5:e "näsduken" verkar det redan som om djupet av okunnighet ligger nära Mariangraven. Ett alternativ till detta är samma föreläsningar om 10 typer av variabler, 3 typer av loopar och 150 potentiellt användbara bibliotek. Tyvärr.

Hyperskill: vi byggde, byggde och byggde till slut

Vi tänkte på detta problem länge. Datumet för det sista inlägget på vår blogg säger mycket om hur länge vi har tänkt. Efter alla debatter och försök att integrera det nya tillvägagångssättet på Stepik, slutade vi med... en annan sida. Du kanske redan har hört talas om det som en del av JetBrains Academy. Vi kallade den Hyperskill, inbyggd i projektbaserad inlärning, länkade en Java-kunskapsbas till den och tog stöd av EduTools-teamet. Och nu mer detaljer.

Med kärlek från Stepik: Hyperskill utbildningsplattform

Specifikt mål. Vi erbjuder en ”meny” av projekt, d.v.s. program som du kan skriva med vår hjälp. Bland dem finns tic-tac-toe, personlig assistent, blockchain, sökmotor osv. Projekten består av 5-6 steg; Resultatet av varje steg är ett färdigt program. "Varför behöver vi då de andra stegen om allt redan har fungerat i den första?" Tack för frågan. För varje steg blir programmet mer funktionellt eller snabbare. Till en början tar koden 10 rader, men i slutändan kanske den inte ens passar in i 500.

Lite teori. Det är omöjligt att sätta sig ner och skriva ens Hello World utan att kunna ett ord om programmering. Därför ser du i varje skede av projektet vilka teoretiska grunder du måste behärska och, viktigast av allt, var du kan få tag på dem. Grunderna finns också på Hyperskill i avsnittet "Kunskapskarta". Om eleverna i den första etappen av projektet inte behöver läsa data från en fil, kanske de inte kan fortsätta. De kommer att lära sig det själva senare, för allmän utveckling, eller så kommer de att behöva det i nästa steg.

Med kärlek från Stepik: Hyperskill utbildningsplattform

Kunskapskarta. Den visar dig vilka ämnen du redan har studerat och hur de relaterar till varandra. Öppna vilken söt topp som helst. Du kan skumma igenom det, men vi rekommenderar att du utför små uppgifter för att se till att informationen passar in i ditt huvud. Först kommer plattformen att ge dig tester, varefter den ger dig ett par programmeringsuppgifter. Om koden kompileras och klarar testerna, jämför den med referenslösningen, ibland hjälper detta till att ta reda på ett mer optimalt sätt att implementera den. Eller se till att din lösning redan är utmärkt.

Inget extra. Vi väntar på både "gröna" användare och erfarna utvecklare. Om du redan har skrivit program spelar det ingen roll, vi kommer inte tvinga dig att lägga till 2+2 eller vända en rad igen. För att omedelbart komma till önskad nivå, när du registrerar dig, ange vad du redan är bekant med och välj ett svårare projekt. Var inte rädd för att överskatta dig själv: om något händer kan du alltid återvända till ett glömt ämne i kunskapskartan.

Med kärlek från Stepik: Hyperskill utbildningsplattform

Instrument. Det är bra att skriva små bitar av kod i ett speciellt fönster på sajten, men riktig programmering börjar med att arbeta i utvecklingsmiljön (Integrated Dtveckling Emiljö). Erfarna programmerare vet inte bara hur man skriver kod, utan också hur man designar ett grafiskt gränssnitt, sätter ihop olika filer i ett projekt, använder ytterligare utvecklingsverktyg och IDE tar hand om några av dessa processer. Varför inte lära dig dessa färdigheter medan du lär dig programmering? Det är här JetBrains kommer till undsättning och en specialversion av IntelliJ IDEA Community Educational med ett förinstallerat EduTools-plugin. I en sådan IDE kan du gå utbildningar, kolla lösta problem och titta på projekttips om du glömt något. Oroa dig inte om det här är första gången du hör ordet "plugin" eller "IDE": vi kommer att berätta vad det är och hur du installerar det på din dator eller bärbara dator med minimalt lidande. Förstå teorin och gå sedan till IDE och slutför nästa steg i projektet där.

Deadlines. Det finns ingen av dem! Vilka är vi att knacka på huvudet och tala om för dig i vilken takt du ska skriva ett program? När du tycker om att skriva kod och vill avsluta den, avslutar du den, idag eller imorgon. Gör utveckling för ditt eget nöje.

misstag. Alla erkänner dem, det gör du också i ett av projektets skeden, och då kommer detta skede inte att klara de automatiska testerna. Tja, du får ta reda på själv vad som gick fel. Vi skulle kunna berätta var felet ligger, men skulle det lära dig hur du skriver kod noggrant? Läs tips från IDEA eller ett teoretiskt ämne om Bugs, och när programmet äntligen fungerar kommer rusningen av dopamin med största sannolikhet inte att vänta på sig.

Ett tydligt resultat. Så du har slutfört det första utkastet, vad händer härnäst? Njut av frukterna av ditt arbete! Spela tår med dina vänner och skryta om din framgång samtidigt. Ladda upp projektet till GitHub för att visa det för en framtida arbetsgivare, skriv en beskrivning själv och ange där vilken kunskap du har ansökt om. 4-5 komplexa projekt, och nu är en blygsam portfölj för en nybörjare klar.

Möjlighet till tillväxt. Låt oss säga att du tittar på Hyperskill och inte ser något viktigt ämne eller användbart projekt där. Låt oss veta det! Om din bakgrund är bredare och rikare än kunskapskartan, skriv då till oss i formuläret Bidra. Vårt team kommer att dela våra egna tips och tricks med dig, så vi hjälper dig gärna att omvandla din kunskap till användbart innehåll som är förståeligt för användare i olika åldrar och nivåer. Vi kanske till och med betalar, men det är inte säkert.

Välkommen: hej.hyperskill.org Kom in, titta, prova, föreslå, berömma och kritisera. Vi lär oss också att lära dig.

Källa: will.com

Lägg en kommentar