Med kærlighed fra Stepik: Hyperskill uddannelsesplatform

Jeg vil gerne tale med dig om, hvorfor vi reparerer VVS oftere, end vi skriver afhandlinger om det, om forskellige tilgange til undervisning i programmering, og hvordan vi forsøger at anvende en af ​​dem i vores nye produkt Hyperskill.

Hvis du ikke kan lide lange introduktioner, så spring direkte til afsnittet om programmering. Men det bliver mindre sjovt.

Med kærlighed fra Stepik: Hyperskill uddannelsesplatform

Lyrisk digression

Lad os forestille os en bestemt ung dame Masha. I dag skulle Masha vaske lidt frugt og se en film i fred, men uheld: pludselig opdagede hun, at køkkenvasken var tilstoppet. Det er endnu ikke klart, hvad man skal gøre med dette. Du kan udsætte dette problem på ubestemt tid, men der er ledig tid nu, så Masha beslutter sig for at håndtere problemet med det samme. Sund fornuft foreslår to muligheder: a) ring til en blikkenslager b) klare det selv. Den unge dame vælger den anden mulighed og begynder at studere instruktionerne på YouTube. Efter råd fra brugeren Vasya_the_plumber kigger Masha under vasken og ser et snoet plastikrør, der består af flere dele. Pigen skruer forsigtigt det ene stykke af i bunden af ​​vasken og finder intet. Et nederste stykke rør viser sig at være tæt tilstoppet med et ukendt stof, og selv en gaffel fundet på bordet kan ikke klare blokeringen. Eksperter fra internettet giver skuffende prognoser: delen skal ændres. På kortet finder Masha den nærmeste butik, tager det skæbnesvangre stykke pibe med sig og køber den samme, kun ny. Efter råd fra sælger griber Masha også en ny si til forebyggelse. Opgaven er afsluttet: vasken fungerer igen som den skal, og dens hovedperson har i mellemtiden lært følgende:

  • Du kan selv skrue af og spænde rørene under vasken;
  • Den nærmeste VVS-butik ligger halvanden kilometer fra Mashinas lejlighed.

Mest sandsynligt lagde Masha ikke engang mærke til, hvor mange nye ting hun havde lært og lært, fordi hun var bekymret for sin egen komfort i fremtiden, og samtidig så en film og vaskede sit æble. Næste gang et lignende problem opstår, vil pigen løse det mange gange hurtigere. Faktisk bragte Masha ikke bare verden tilbage til sin sædvanlige tilstand; hun studerede induktivt, det vil sige i særlige tilfælde, og praksisorienteret, altså ved at gøre ting i stedet for at studere dem i detaljer og på forhånd.

Alt kunne være blevet anderledes. Forestil dig, at Masha sidder i en stol om aftenen og pludselig indser, at hun er mentalt og fysisk uforberedt på en tilstopning i vasken. Hun melder sig hurtigt ind på et VVS-akademi, hvor hun studerer typer af vaske, rør og mulige forbindelser, klassificering af VVS-problemer og mulige løsninger på dem. Masha sover ikke om natten og husker vilkår og navne. Måske skriver hun endda en ph.d.-afhandling om teoretisk rørvidenskab, hvor hun diskuterer gummipakninger. Endelig, efter at have modtaget certifikatet, ser Masha stolt rundt i køkkenet i fuld tillid til, at nu vil selv det mindste problem med vasken blive løst med et fingerknips. I dette scenarie studerede pigen deduktivt, bevægede sig fra det generelle til det specifikke, og var mere fokuseret på teori.

Så hvilken tilgang er bedst? I tilfælde af en vask og en tilstopning - den første og af disse grunde:

  1. Hvis kun en arbejdsvask er vigtig, så er det nok kun at vide, hvad der vedrører netop dette område. Når Masha indser, at hun mangler viden, vil hun helt sikkert finde en måde at lære mere på.
  2. Encyklopædisk viden aktiveres muligvis ikke i en virkelig situation, fordi vanen ikke er udviklet. For at lære rækkefølgen af ​​handlinger er det fornuftigt ikke at læse om dem, men at udføre dem.

Lad os lade stakkels Masha være i fred og gå videre til læringsprocessen som sådan.

Programmering: lære eller gøre?

Vi er vant til at tro, at for at udvikle os og blive eksperter på et ukendt område, skal vi først på universitetet eller i det mindste tilmelde os kurser. Vi lytter jævnligt til, hvad de fortæller os og udfører opgaver. Når vi har det eftertragtede diplom eller certifikat i hænderne, er vi med det samme tabt, fordi vi stadig ikke forstår, hvorfor vi har brug for så meget information, og hvordan vi konkret skal anvende dem. Dette er ikke noget problem, hvis dine næste planer er at skrive videnskabelige artikler og rejse med dem til konferencer. Ellers er det værd at stræbe efter færdigheder, det vil sige at gøre og gøre specifikke ting igen, prøve og lave fejl for i lang tid at huske, hvad der er bedst ikke at gøre.

Et af de områder, hvor en "hård hånd" eller et "diamant øje" går hånd i hånd med et bredt udsyn, er programmering. Taler du med erfarne udviklere, vil du høre modige historier, hvor en person studerede matematik/fysik/undervisning fra en ung alder, og derefter blev træt og flyttede til backend. Der vil også være programmører uden videregående uddannelse! Først og fremmest er det, der værdsættes i en udvikler, ikke et certifikat eller diplom, men mængden og kvaliteten af ​​skrevne programmer, scripts og websteder.

"Men vent!", indvender du, "Lyder smukt - tag det og gør det!" Jeg kan ikke nemt skrive mig et program, hvis jeg ikke har programmeret før! Det er vigtigt for mig at forstå, hvor jeg skal skrive, hvordan man grundlæggende taler i et programmeringssprog med en compiler. Det er ikke som at finde en blikkenslagers telefonnummer på Google."

Der er også en bitter sandhed i dette. Et ukendt aspekt fører til et andet, som igen fører til et tredje, og snart bliver denne proces til et tryllekunstnershow, som fortsætter med at trække bundne lommetørklæder frem og ikke kan få dem ud af den høje hat. Processen, for at være ærlig, er ubehagelig; ved det 5. "lommetørklæde" ser det allerede ud til, at dybden af ​​uvidenhed er tæt på Mariana-graven. Et alternativ til dette er de samme forelæsninger om 10 typer variabler, 3 typer sløjfer og 150 potentielt nyttige biblioteker. Desværre.

Hyperskill: vi byggede, byggede og byggede til sidst

Vi har tænkt over dette problem i lang tid. Datoen for det sidste indlæg på vores blog siger meget om, hvor længe vi har tænkt. Efter alle debatter og forsøg på at integrere den nye tilgang på Stepik, endte vi med... et andet websted. Du har måske allerede hørt om det som en del af JetBrains Academy. Vi kaldte det Hyperskill, indbygget i projektbaseret læring, koblede en Java-vidensbase til det og fik støtte fra EduTools-teamet. Og nu flere detaljer.

Med kærlighed fra Stepik: Hyperskill uddannelsesplatform

Specifikt mål. Vi tilbyder en "menu" af projekter, dvs. programmer, som du kan skrive med vores hjælp. Blandt dem er tic-tac-toe, personlig assistent, blockchain, søgemaskine mv. Projekter består af 5-6 faser; Resultatet af hver etape er et færdigt program. "Hvorfor har vi så brug for de andre faser, hvis alt allerede er lykkedes i den første?" Tak for spørgsmålet. For hvert trin bliver programmet mere funktionelt eller hurtigere. Først tager koden 10 linjer, men i sidste ende passer den måske ikke engang ind i 500.

Немного теории. Det er umuligt at sætte sig ned og skrive selv Hello World uden at vide et ord om programmering. Derfor kan du på hvert trin af projektet se, hvilke teoretiske grundprincipper du skal mestre, og vigtigst af alt, hvor du kan få dem. Det grundlæggende er også placeret på Hyperskill i afsnittet "Videnskort". Hvis eleverne i første fase af projektet ikke skal læse data fra en fil, kan de muligvis ikke fortsætte. De vil lære det selv senere, for generel udvikling, eller de får brug for det på næste trin.

Med kærlighed fra Stepik: Hyperskill uddannelsesplatform

Videnskort. Den viser dig, hvilke emner du allerede har studeret, og hvordan de relaterer til hinanden. Åbn enhver sød top. Du kan skimme det igennem, men vi anbefaler, at du udfører små opgaver for at sikre dig, at informationen passer ind i dit hoved. Først vil platformen give dig tests, hvorefter den giver dig et par programmeringsopgaver. Hvis koden kompilerer og består testene, så sammenlign den med referenceløsningen, nogle gange hjælper dette med at finde ud af en mere optimal måde at implementere den på. Eller sørg for, at din løsning allerede er fremragende.

Intet ekstra. Vi venter på både "grønne" brugere og erfarne udviklere. Hvis du allerede har skrevet programmer, er det lige meget, vi tvinger dig ikke til at tilføje 2+2 eller vende en linje igen. For straks at komme til det ønskede niveau, når du registrerer dig, skal du angive, hvad du allerede er bekendt med, og vælge et mere vanskeligt projekt. Vær ikke bange for at overvurdere dig selv: Hvis der sker noget, kan du altid vende tilbage til et glemt emne på videnskortet.

Med kærlighed fra Stepik: Hyperskill uddannelsesplatform

Værktøjer. Det er fantastisk at skrive små stykker kode i et særligt vindue på siden, men rigtig programmering begynder med at arbejde i udviklingsmiljøet (Integrated Ddvikling Emiljø). Erfarne programmører ved ikke kun, hvordan man skriver kode, men også hvordan man designer en grafisk grænseflade, samler forskellige filer i et projekt, bruger yderligere udviklingsværktøjer, og IDE tager sig af nogle af disse processer. Hvorfor ikke lære disse færdigheder, mens du lærer programmering? Det er her JetBrains kommer til undsætning og en speciel version af IntelliJ IDEA Community Educational med et forudinstalleret EduTools-plugin. I sådan en IDE kan du tage kurser, tjekke løste problemer og se på projekttips, hvis du har glemt noget. Bare rolig, hvis det er første gang, du hører ordet "plugin" eller "IDE": Vi vil fortælle dig, hvad det er, og hvordan du installerer det på din computer eller bærbare computer med minimal lidelse. Forstå teorien, og gå derefter til IDE og fuldfør næste fase af projektet lige der.

Deadlines. Der er ingen af ​​dem! Hvem er vi til at banke i hovedet og fortælle dig, i hvilket tempo du skal skrive et program? Når du nyder at skrive kode og gerne vil gøre den færdig, afslutter du den, i dag eller i morgen. Lav udvikling for din egen fornøjelse.

Fejl. Alle indrømmer dem, det gør du også på et af faserne af projektet, og så vil denne fase ikke bestå de automatiske tests. Nå, du bliver nødt til selv at finde ud af, hvad der gik galt. Vi kunne fortælle dig, hvor fejlen ligger, men ville det lære dig, hvordan du skriver kode omhyggeligt? Læs tips fra IDEA eller et teoretisk emne om Bugs, og når programmet endelig virker, vil suset med dopamin højst sandsynligt ikke lade vente på sig.

Et klart resultat. Så du har færdiggjort det første udkast, hvad så? Nyd frugterne af dit arbejde! Spil tic-tac-toe med dine venner og pral med din succes på samme tid. Upload projektet til GitHub for at vise det til en fremtidig arbejdsgiver, skriv selv en beskrivelse og angiv der den viden, du har anvendt. 4-5 komplekse projekter, og nu er en beskeden portefølje til en begyndende udvikler klar.

Mulighed for vækst. Lad os sige, at du ser på Hyperskill og ikke ser noget vigtigt emne eller brugbart projekt der. Fortæl os det! Hvis din baggrund er bredere og rigere end videnskortet, så skriv til os i formularen Bidrage. Vores team deler vores egne tips og tricks med dig, så vi hjælper dig gerne med at omdanne din viden til nyttigt indhold, der er forståeligt for brugere på forskellige aldre og niveauer. Måske betaler vi endda, men det er ikke sikkert.

Velkommen: hej.hyperskill.org Kom ind, se, prøv, foreslå, ros og kritisér. Vi lærer også at lære dig.

Kilde: www.habr.com

Tilføj en kommentar