Met liefde van Stepik: Hyperskill educatief platform

Ik wil met je praten over waarom we vaker loodgieterswerk repareren dan dat we er proefschriften over schrijven, over verschillende benaderingen van het lesgeven in programmeren, en hoe we een daarvan proberen toe te passen in ons nieuwe product Hyperskill.

Als je niet van lange introducties houdt, ga dan meteen naar de paragraaf over programmeren. Maar het zal minder leuk zijn.

Met liefde van Stepik: Hyperskill educatief platform

Lyrische retraite

Laten we ons een bepaalde jongedame Masha voorstellen. Vandaag wilde Masha wat fruit wassen en rustig een film kijken, maar pech: plotseling ontdekte ze dat de gootsteen verstopt was. Het is nog niet duidelijk wat hiermee te doen. Je kunt dit probleem voor onbepaalde tijd uitstellen, maar er is nu vrije tijd, dus Masha besluit het probleem meteen aan te pakken. Gezond verstand suggereert twee opties: a) bel een loodgieter b) regel het zelf. De jongedame kiest voor de tweede optie en begint de instructies op YouTube te bestuderen. Op advies van gebruiker Vasya_the_plumber kijkt Masha onder de gootsteen en ziet een kronkelende plastic pijp die uit verschillende delen bestaat. Het meisje schroeft voorzichtig een stuk onder aan de gootsteen los en vindt niets. Een onderste stuk pijp blijkt stevig verstopt te zijn met een onbekende substantie, en zelfs een op tafel gevonden vork kan de verstopping niet aan. Deskundigen van internet geven teleurstellende voorspellingen: het onderdeel zal moeten worden gewijzigd. Op de kaart vindt Masha de dichtstbijzijnde winkel, neemt het noodlottige stuk pijp mee en koopt dezelfde, alleen dan nieuw. Op advies van de verkoper pakt Masha ter preventie ook een nieuwe zeef. De zoektocht is voltooid: de gootsteen werkt weer zoals het hoort en de hoofdpersoon heeft ondertussen het volgende geleerd:

  • De leidingen onder de gootsteen kunt u zelf losschroeven en vastdraaien;
  • De dichtstbijzijnde loodgieterswinkel ligt op anderhalve kilometer van het appartement van Mashina.

Hoogstwaarschijnlijk merkte Masha niet eens hoeveel nieuwe dingen ze had geleerd en geleerd, omdat ze zich zorgen maakte over haar eigen comfort in de toekomst en tegelijkertijd een film keek en haar appel waste. De volgende keer dat zich een soortgelijk probleem voordoet, zal het meisje het vele malen sneller oplossen. In feite bracht Masha de wereld niet alleen terug naar de gebruikelijke staat; zij studeerde inductief, dat wil zeggen, in speciale gevallen, en praktijkgerichtDat wil zeggen: door dingen te doen in plaats van ze vooraf in detail te bestuderen.

Alles had anders kunnen aflopen. Stel dat Masha 's avonds in een stoel zit en plotseling beseft dat ze mentaal en fysiek niet voorbereid is op een verstopping in de gootsteen. Ze schrijft zich snel in voor een loodgietersacademie en bestudeert de soorten gootstenen, leidingen en mogelijke aansluitingen, de classificatie van sanitaire problemen en mogelijke oplossingen daarvoor. Masha slaapt 's nachts niet en onthoudt termen en namen. Misschien schrijft ze zelfs een proefschrift over theoretische pijpwetenschap, waarin ze rubberen pakkingen bespreekt. Eindelijk, na ontvangst van het certificaat, kijkt Masha trots rond in de keuken, vol vertrouwen dat nu zelfs het kleinste probleem met de gootsteen met een vingerknip zal worden opgelost. In dit scenario studeerde het meisje deductief, van het algemene naar het specifieke, en was meer gericht op theorie.

Dus welke aanpak is het beste? In het geval van een gootsteen en een verstopping - de eerste, en om deze redenen:

  1. Als alleen een werkende gootsteen belangrijk is, dan is het voldoende om alleen te weten wat dit specifieke gebied betreft. Wanneer Masha beseft dat het haar aan kennis ontbreekt, zal ze zeker een manier vinden om meer te leren.
  2. Encyclopedische kennis wordt in een echte situatie mogelijk niet geactiveerd omdat de gewoonte niet is ontwikkeld. Om de volgorde van acties te leren, is het logisch om er niet over te lezen, maar om ze uit te voeren.

Laten we de arme Masha met rust laten en verder gaan met het leerproces als zodanig.

Programmeren: leren of doen?

We zijn eraan gewend te denken dat we, om ons te ontwikkelen en een expert te worden op een onbekend gebied, eerst naar de universiteit moeten gaan of ons op zijn minst moeten inschrijven voor cursussen. Wij luisteren regelmatig naar wat zij ons vertellen en voeren opdrachten uit. Als we het felbegeerde diploma of certificaat in handen hebben, zijn we meteen de weg kwijt, omdat we nog steeds niet begrijpen waarom we zoveel informatie nodig hebben en hoe we die specifiek moeten toepassen. Dit is geen probleem als uw volgende plannen het schrijven van wetenschappelijke artikelen zijn en daarmee naar conferenties reizen. Anders is het de moeite waard om naar vaardigheden te streven, dat wil zeggen specifieke dingen opnieuw doen en doen, proberen en fouten maken om lang te onthouden wat je het beste niet kunt doen.

Eén van de gebieden waar een ‘harde hand’ of een ‘diamanten oog’ hand in hand gaat met een brede blik is programmeren. Als je met ervaren ontwikkelaars praat, hoor je moedige verhalen waarin iemand vanaf jonge leeftijd wiskunde/natuurkunde/lesgeven studeerde, maar vervolgens moe werd en naar de backend verhuisde. Er zullen ook programmeurs zijn zonder hoger onderwijs! Allereerst is wat een ontwikkelaar waardeert niet een certificaat of diploma, maar de kwantiteit en kwaliteit van geschreven programma's, scripts en websites.

“Maar wacht!”, werpt u tegen, “Klinkt mooi – neem het en doe het!” Ik kan niet gemakkelijk een programma voor mezelf schrijven als ik nog niet eerder heb geprogrammeerd! Het is belangrijk voor mij om te begrijpen waar ik moet schrijven, hoe ik in principe in een programmeertaal met een compiler moet praten. Het is niet hetzelfde als het telefoonnummer van een loodgieter vinden op Google.”

Ook hierin schuilt een bittere waarheid. Het ene onbekende aspect leidt tot het andere, wat op zijn beurt weer leidt tot een derde, en al snel verandert dit proces in een goochelshow, die vastgebonden zakdoeken blijft tevoorschijn halen en ze niet uit de hoge hoed kan krijgen. Het proces is, om eerlijk te zijn, onaangenaam: bij de vijfde "zakdoek" lijkt het er al op dat de diepte van onwetendheid dicht bij de Marianentrog ligt. Een alternatief hiervoor zijn dezelfde lezingen over 5 soorten variabelen, 10 soorten lussen en 3 potentieel bruikbare bibliotheken. Helaas.

Hyperskill: we bouwden, bouwden en uiteindelijk bouwden we

We hebben lang over dit probleem nagedacht. De datum van het laatste bericht op onze blog spreekt boekdelen over hoe lang we hebben nagedacht. Na alle debatten en pogingen om de nieuwe aanpak op Stepik te integreren, kwamen we terecht bij... een andere site. Misschien heb je er al van gehoord als onderdeel van JetBrains Academy. We noemden het Hyperskill, bouwden projectmatig leren in, koppelden er een Java-kennisbank aan en schakelden de steun in van het EduTools-team. En nu meer details.

Met liefde van Stepik: Hyperskill educatief platform

Specifiek doel. Wij bieden een “menu” van projecten, d.w.z. programma's die u met onze hulp kunt schrijven. Onder hen zijn boter-kaas-en-eieren, persoonlijke assistent, blockchain, zoekmachine, enz. Projecten bestaan ​​uit 5-6 fases; Het resultaat van elke fase is een voltooid programma. “Waarom hebben we dan de andere fasen nodig als alles in de eerste fase al is gelukt?” Bedankt voor de vraag. Met elke stap wordt het programma functioneler of sneller. In eerste instantie duurt de code 10 regels, maar uiteindelijk past deze misschien niet eens in 500 regels.

Een beetje theorie. Het is onmogelijk om zelfs maar Hello World te gaan schrijven zonder een woord over programmeren te weten. Daarom zie je in elke fase van het project welke theoretische basisbeginselen je moet beheersen en, belangrijker nog, waar je die kunt krijgen. De basisbeginselen bevinden zich ook op Hyperskill in het gedeelte ‘Kenniskaart’. Als leerlingen in de eerste fase van het project geen gegevens uit een bestand hoeven te lezen, kunnen ze mogelijk niet verder. Ze zullen het later zelf leren, voor de algemene ontwikkeling, of ze zullen het in de volgende fase nodig hebben.

Met liefde van Stepik: Hyperskill educatief platform

Kennis kaart. Het laat zien welke onderwerpen je al hebt bestudeerd en hoe deze zich tot elkaar verhouden. Open een schattig topje. U kunt er doorheen bladeren, maar we raden u aan kleine taken uit te voeren om er zeker van te zijn dat de informatie in uw hoofd past. Eerst geeft het platform je tests, waarna het je een aantal programmeertaken geeft. Als de code compileert en de tests doorstaat, vergelijk deze dan met de referentieoplossing. Soms helpt dit om een ​​optimalere manier te vinden om deze te implementeren. Of zorg ervoor dat jouw oplossing al uitstekend is.

Niets bijzonders. We wachten op zowel “groene” gebruikers als ervaren ontwikkelaars. Als je al programma's hebt geschreven, maakt het niet uit, we zullen je niet dwingen 2+2 op te tellen of een regel opnieuw om te draaien. Om meteen op het gewenste niveau te komen, geef je bij je inschrijving aan waar je al bekend mee bent en kies je een moeilijker project. Wees niet bang om jezelf te overschatten: als er iets gebeurt, kun je altijd terugkeren naar een vergeten onderwerp in de kenniskaart.

Met liefde van Stepik: Hyperskill educatief platform

Tools. Het is geweldig om kleine stukjes code in een speciaal venster op de site te schrijven, maar het echte programmeren begint met werken in de ontwikkelomgeving (Iniet geïntegreerd Development Eomgeving). Ervaren programmeurs weten niet alleen hoe ze code moeten schrijven, maar ook hoe ze een grafische interface moeten ontwerpen, verschillende bestanden tot een project moeten samenstellen, aanvullende ontwikkeltools moeten gebruiken, en de IDE zorgt voor sommige van deze processen. Waarom leer je deze vaardigheden niet terwijl je leert programmeren? Hier komt JetBrains te hulp en een speciale versie van IntelliJ IDEA Community Educational met een vooraf geïnstalleerde EduTools-plug-in. In zo'n IDE kun je trainingen volgen, opgeloste problemen bekijken en projecttips bekijken als je iets vergeten bent. Maak je geen zorgen als dit de eerste keer is dat je het woord “plug-in” of “IDE” hoort: we zullen je vertellen wat het is en hoe je het met minimaal lijden op je computer of laptop kunt installeren. Begrijp de theorie, ga dan naar de IDE en voltooi daar de volgende fase van het project.

Deadlines. Er is geen van hen! Wie zijn wij om op je kop te kloppen en je te vertellen in welk tempo je een programma moet schrijven? Als je het leuk vindt om code te schrijven en deze af wilt maken, maak je deze af, vandaag of morgen. Doe ontwikkeling voor je eigen plezier.

fouten. Iedereen geeft ze toe, jij ook in een van de fasen van het project, en dan zal deze fase de automatische tests niet doorstaan. Nou ja, je zult zelf moeten uitzoeken wat er mis is gegaan. We zouden je kunnen vertellen waar de fout ligt, maar zou dat je leren hoe je zorgvuldig code schrijft? Lees tips van IDEA of een theoretisch onderwerp over Bugs, en als het programma eindelijk werkt, zal de stroom dopamine hoogstwaarschijnlijk niet lang op zich laten wachten.

Een duidelijk resultaat. Dus je hebt het eerste concept voltooid, wat nu? Geniet van de vruchten van je werk! Speel boter-kaas-en-eieren met je vrienden en schep tegelijkertijd op over je succes. Upload het project naar GitHub om het aan een toekomstige werkgever te laten zien, schrijf zelf een beschrijving en geef daar aan welke kennis je hebt toegepast. 4-5 complexe projecten, en nu is een bescheiden portfolio voor een beginnende ontwikkelaar klaar.

Mogelijkheid tot groei. Stel dat u naar Hyperskill kijkt en daar geen enkel belangrijk onderwerp of nuttig project ziet. Laat het ons weten! Als uw achtergrond breder en rijker is dan de kenniskaart, schrijf ons dan in het formulier Bijdragen. Ons team deelt onze eigen tips & tricks met u, dus we helpen u graag uw kennis om te zetten in nuttige inhoud die begrijpelijk is voor gebruikers van verschillende leeftijden en niveaus. Misschien betalen we zelfs, maar dat is niet zeker.

Welkom: hallo.hyperskill.org Kom binnen, kijk, probeer, stel voor, prijs en bekritiseer. Wij leren het jou ook leren.

Bron: www.habr.com

Voeg een reactie