hier is waarom leren programmeren zo moeilijk Is (en wat er aan te doen)

Dit komt omdat je hersenen lange termijn herinneringen opslaan in de hippocampus via associaties. De hippocampus heeft context nodig om een nieuw concept met gerelateerde concepten op te slaan. Context, in dit geval, is niet de aangrenzende regels code met individuele verklaringen.

in plaats daarvan zouden nieuwe webontwikkelaars een veel betere kans hebben om het concept van een HTTP-server op te slaan door het te associëren met iets wat ze al begrijpen. Je hersenen moeten een rijk netwerk van verbindingen creëren om nieuwe uitdagende concepten succesvol op te slaan.

Hier zijn enkele manieren waarop uw hersenen de componenten van een HTTP-server beter kunnen begrijpen:

  1. een analogie die de verschillende delen van het codeblok verklaart en bestaande relaties gebruikt om deze nieuwe relaties uit te leggen.
  2. een interactieve versie van het codefragment dat de live status van de toepassing toont. Wanneer u een regel wijzigt, krijgt u direct antwoord op wat er met uw verzoek is gebeurd.

fout #2: niet in acht nemen van de 80/20-regel

Als u een webontwikkelleraar of 10 nieuwe webontwikkelaars interviewt, zult u steeds weer over dezelfde uitdagingen horen. CSS positionering. Float. Callback. Dit zijn de meest voorkomende uitdagingen in de afgelopen 10 jaar.

om de een of andere reden zullen tutorials echter nog steeds elk concept voor dezelfde tijd onderwijzen. Als een les over inleidende CSS bestaat uit 10 lessen en verwacht wordt dat het in totaal 5 uur zal duren, zal elke les ongeveer 30 minuten lang zijn. De easy ones worden onderwezen voor precies zo lang als de taaie, ook al is er een goed gedocumenteerde consensus over de moeilijkste onderwerpen!

Het is alsof je leert hoe je een ei breekt versus hoe je een gastronomische kipfilet zorgvuldig schroeit. Beide zijn even belangrijk om een geweldige maaltijd te maken, maar men vereist veel meer oefening. Maar, kunt u worden misleid om te geloven dat ze even moeilijk zijn, omdat het koken van een kipfilet perfect lijkt van buitenaf om een eenvoudige baan te zijn.

nieuwe ontwikkelaars lossen dit probleem op een paar manieren op:

  1. neem aan dat zij de domme zijn en geef
  2. op Raadpleeg andere tutorials over hetzelfde onderwerp, die grotendeels repetitief zullen zijn en soms van slechte kwaliteit. De “spray and pray” aanpak.
  3. ga verder met het volgende onderwerp met de aanname dat ze “het later zullen uitzoeken”

leraren uit andere disciplines zullen een 80/20-analyse gebruiken om hun inspanningen te heroriënteren. Dit betekent dat 20% van de nieuwe concepten 80% van de leertijd van de student zal verbruiken.

Voorbeeldcss-onderwerpen

De 6 CSS-onderwerpen kan net zo nodig zijn om een mooie website te bouwen. Maar ze zijn niet even gemakkelijk te leren. Sommigen creëren uren van strijd.

In een ideale wereld zou een volledig CSS–curriculum 2 tot 3x meer materiaal over deze gemeenschappelijke uitdagende onderwerpen bevatten. Het zou positieve aanmoediging bevatten (“iedereen worstelt hiermee!”) en extra oefenmogelijkheden. Maar, dit is nog niet gebeurd, en ik verwacht niet dat het ooit zal gebeuren voor de meest populaire diensten.

u weet dat u in deze sleur zit als u urenlang een nieuw concept probeert te leren, en u kunt nog steeds niet voorspellen wat er zal gebeuren als u één regel code aanpast. U kunt de Feynman-techniek gebruiken om de onderwerpen te bepalen die u niet volledig begrijpt:

  1. Kies een Concept
  2. Leer het aan een peuter
  3. Identificeer hiaten en ga terug naar het bronmateriaal
  4. Bekijk en vereenvoudig (optioneel)

fout #3: onderwijzen vanuit het perspectief van een ervaren ingenieur

veel inleidende coderingshandleidingen zijn geschreven door ingenieurs met meer dan 10 jaar ervaring. Hoe Weet ik dat? Omdat ik moest opnieuw kijken of opnieuw te lezen tutorials over en weer totdat ik besefte, “ze zijn niet van plan om dit belangrijke concept uit te leggen! Ik moet op het Internet zoeken naar een uitleg voordat ik verder kan.”

Dit is eigenlijk een goed gedocumenteerde cognitieve bias genaamd de “vloek van kennis”, en het gebeurt over alle technische disciplines.

Afbeeldingsbron: CommunicateHealth

Dit is wat het betekent – als leraren jarenlange ervaring hebben met een technisch onderwerp hebben ze al een diep begrip van het onderwerp gecreëerd. Omdat ze verblind zijn door de verbindingen in hun eigen brein, kunnen ze niet begrijpen hoe een beginner het nieuwe materiaal zou kunnen bekijken.

Als u zich de manier herinnert waarop uw hersenen herinneringen van boven opslaan, heeft dit eigenlijk een biologische basis! De hippocampus van de leraar heeft verenigingen gevormd die niet aanwezig zijn in de hersenen van studenten.

om deze uitdaging te overwinnen, adviseer ik een tool als FreeCodeCamp dat is geschreven door autodidact webontwikkelaars voor anderen in een vergelijkbare positie! Het heeft een volledig curriculum dat specifiek is bedoeld om zelf-gerichte leerlingen te helpen overwinnen hindernissen.

fout #4: Code onderwijzen alsof het een mysterieus nieuw systeem is

laten we teruggaan naar de kookvergelijking. De meeste mensen hebben hun hele leven iets gekookt, of werden de basis geleerd door ouders. Ze zijn al bekend met alle basishulpmiddelen uit jaren van vallen en opstaan. Dus, als je een persoon leert om een professionele kok te zijn, zou je al de basisprincipes hebben om op te bouwen.

maar er is geen “basis” versie van leren webontwikkeling! Zelfs als je R of Java hebt geleerd in het verleden, zullen er nog steeds niet veel lessen die over te dragen.

dus, hoe houden de meeste online tutorials hier rekening mee? Ze bevatten lessen die code leren alsof het een fantastische nieuwe wereld is, vol met HTTP-servers, kieskeurige browsers en asynchrone gebeurtenissen. Ze doen alsof deze ingewikkelde stukken de basis zijn voor later geavanceerd leren.

stel je voor dat koken zo ‘ n hoge drempel voor toegang vereiste. We zouden allemaal magnetron eten. Koken houdt alle 5 zintuigen bezig en zorgt ervoor dat de juiste procedure en de verkeerde procedure snel in je hersenen blijven plakken. Het menselijk brein leert het beste bij het aangaan van meerdere zintuigen. Het kan systemen begrijpen wanneer verschillende stimuli goed versus slecht duidelijk maken.

nu Weet ik dat dit onmogelijk lijkt. Aangezien alle code draait in een browser of op een server, Hoe kan het verbinding maken met onze zintuigen? En ik bedoel niet het kijken naar een <div> zoomen op een scherm terwijl u de CSS-eigenschappen inschakelt. Dat moedigt het leren niet aan.

Ik zou ook gedacht hebben dat denkbeeldige getallen uit de wiskunde onmogelijk te verbinden waren met menselijke zintuigen. Weet je nog i, i2, i3 en i⁴? Het lijkt een nieuw systeem dat je gewoon moet onthouden om toe te passen.

in plaats daarvan gebruikt Kalid Azad from BetterExplained een grafiek met een X-en y-as om u te helpen de “imaginaire” dimensie te visualiseren. Nu is het concept van imaginaire getallen direct gekoppeld aan een vertrouwd concept. Geen geheugen nodig.

fout # 5: gebrek aan directe Feedback

op het eerste gezicht lijkt het alsof web development al een perfect systeem voor feedback heeft. Immers, zodra u uw browser te vernieuwen of typ “npm start” in de console, krijg je een onmiddellijke reactie.

in de kook analogie, laten we zeggen dat je probeert om een kipfilet perfect te koken voor je maaltijd. In plaats daarvan verbrand je het. Wat kan er mis zijn gegaan?

  1. snijd het te dun in de eerste plaats
  2. draaide het vuur te hoog
  3. zet het te laat in de pan
  4. laat het te lang in de pan

uw verbrande product aan het einde geeft u geen idee wat er mis ging. Alleen jaren van ervaring of talloze pogingen met behulp van vallen en opstaan zal u helpen erachter te komen wat er mis ging.

Hier is de foutmelding die u krijgt als dit gebeurt in een opdrachtprompt:

dat zal niet helpen bij het debuggen! Het moedigt leren aan door vallen en opstaan tot, uren later, je erachter komt. In plaats daarvan hebt u een feedbacksysteem nodig dat u waarschuwt voor de impact van elke beslissing:

het beeld hierboven laat zien dat bij stap 2,” hoogste temperatuur”, iets fout ging dat de uitvoer verpestte.

dit uitgebreide netwerk van mogelijke beslissingen is al ingebed in het brein van deskundige chef-koks. En zelfs intermediate webontwikkelaars kunnen een foutmelding te lezen en hun debugging inspanningen richten op een deel van het script. Maar beginners hebben geen vergelijkbaar instinct, en vandaag leren ze alleen van uren van vallen en opstaan met intermitterende feedback.

nogmaals, dit lijkt onmogelijk om uit te voeren in een teksteditor of online editor zoals CodePen. Maar, Bret Victor ‘ s beroemde essay Learnable Programming heeft al een volledig kader geschetst om nieuwe programmeurs te helpen feedback te krijgen op elke regel code in hun script zodra ze worden getypt.

autodidact leerlingen zijn het meest gekwetst

Als u op de middelbare school of universiteit zit, kunt u omgaan met een sub-par niveau van het onderwijs. Je hoeft je alleen maar voor te bereiden op de volgende test, en je hebt een ondersteunend netwerk van medestudenten. Je wordt geëvalueerd op de vraag of je een score kunt krijgen op een test, niet of je betaald kunt krijgen om de vaardigheid in het echte leven te oefenen.

maar als u een autodidact webontwikkelaar bent, wordt u waarschijnlijk geconfronteerd met andere omstandigheden. Je hebt een beperkte hoeveelheid tijd, en je gaat nodig hebben om je hele vaardigheden te bewijzen door het bouwen van een echte app of het passeren van een test tijdens een sollicitatiegesprek. Er is geen concept van studeren voor een test en dan verder gaan.

naarmate de online-onderwijsindustrie groeit en meer volwassenen gedwongen worden om online nieuwe vaardigheden te leren, voorspel ik dat de macht zal verschuiven naar de lerenden. Er zal steeds meer druk komen op online onderwijsbedrijven om de leerervaring zelf te verbeteren. De beste onderwijsstrategieën worden beloond met honderdduizenden betalende abonnees.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.