vad jag lärde mig från Coursera ’ s ”Learning How to Learn”

hur jag använder inlärningstekniker från Coursera-kursen för att bli en bättre utvecklare

Abhishek Pillai

följ
aug 26, 2016 · 7 min läs

Jag har varit en mjukvaruutvecklare i mer än 4 år nu och om det finns en sak som aldrig ändras om det här jobbet är det att det alltid förändras. Det finns alltid nya saker att lära sig. Jag älskar den delen av det. Lärande är destinationen.

så när jag såg en kurs som heter Learning How to Learn på Coursera hoppade jag på chansen att lära mig om att lära av akademiska experter — Dr Barbara Oakley och Dr Terrence Sejnowski från University of California, San Diego.

Här är de viktigaste takeaways från kursen som hjälper mig att bli en bättre utvecklare och i allmänhet en bättre elev.

”fokuserade” och ”diffusa” lägen

När du lär dig finns det tider där du är fokuserad och tider där du tillåter ditt sinne att vandra. Detta ofokuserade eller diffusa läge är lika värdefullt som det fokuserade läget för att låta din hjärna lära sig något. Så – ta pauser, meditera, tänk på andra saker och ge dig själv gott om tid i båda lägena.

ett sätt att se till att du tar regelbundna pauser är att följa Pomodoro-tekniken. Det är här du programmerar i 25 minuter och tar sedan en paus i 5 minuter. Längden på arbetet och pausen kan variera beroende på vad som fungerar bäst för dig. Det viktiga är att du har en regelbunden paus. Det finns flera applikationer där ute som hjälper dig att ställa in en Pomodoro timer. Jag använder Pomodoro tid.

Chunking

detta är tanken på att bryta det du vill lära dig i begrepp. Målet är att lära sig varje koncept på ett sätt som de var och en blir som en välkänd pusselbit. För att behärska ett koncept behöver du inte bara veta det utan också veta hur det passar in i den större bilden.

behärskar bitar form ett helt pussel (vänster) vs. lärt men inte behärskar bitar inte passar in i en större pussel (höger)

dr. Oakley föreslog en bra steg-för-steg-process för att närma sig att lära sig något. Först, undersökning och priming — det handlar om att skanna en bok eller kursplanen för en kurs, till exempel för att få en allmän uppfattning om den större bilden. För det andra, observera ett exempel. Gör det själv. Och slutligen gör det om och om igen i olika sammanhang.

Så-låt oss säga att jag försökte lära mig React och jag hade turen att hitta Tyler McGinnis fantastiska React.js Program kurs. För att tillämpa denna föreslagna process skulle jag först titta över alla enheter i kursen för att försöka få en allmän sammanfattning av de ämnen som omfattas. Sedan, jag skulle följa noga när Tyler bygger en exempelapplikation. Efter det skulle jag bygga min egen ansökan. Och slutligen skulle jag tillämpa dessa lärdomar i de nya funktionerna vi utvecklar i React på mitt jobb.

akta dig för illusioner av kompetens

det finns många sätt på vilka vi kan få oss att känna att vi har ”lärt oss” ett koncept. Att till exempel titta på en lösning och tänka att du vet hur du kommer fram till den lösningen är en av de vanligaste illusionerna om kompetens i lärande. Att markera eller understryka är också tekniker som ofta leder till denna illusion av lärande. Å andra sidan är korta anteckningar som sammanfattar nyckelkoncept mycket effektivare.

nyligen hittade jag den här fantastiska applikationen som heter Highly (du borde använda det här!). De gör det väldigt enkelt att markera alla artiklar som jag läser på webben med ett Chrome-tillägg. När jag är klar med att läsa och markera en artikel ger den en vacker sammanfattning av allt jag lyfte fram. Detta är oerhört användbart för mig.

Jag försöker vara sparsam i det jag lyfter fram. Ju färre takeaways, desto mer troligt att jag faktiskt tar bort det. Detta binder väl in i nästa punkt…

Recall

dr.Oakley pekar på Dr. Jeff karpickes forskning om hämtningspraxis för att ge vetenskapligt stöd bakom att ta ett par minuter för att sammanfatta eller återkalla material du försöker lära dig. Det går långt att ta något från korttidsminne till långsiktigt lärande. Även att återkalla material i olika fysiska miljöer kan hjälpa dig att förstå materialet oberoende av fysiska signaler som din hjärna kan ha.

så-när du har läst den här artikeln (eller någon artikel), Ta en stund och försök att ange vad du kommer ihåg från artikeln. Det kommer att gå långt.

Bite-Sized Testing

För att undvika eller bryta igenom illusioner av kompetens bör du testa dig själv när du stöter på nytt material. Recall är ett enkelt exempel på denna mini-testning.

det är inte viktigt att du klarar dessa tester utan att göra några misstag. Misstag (och korrigera dessa misstag) är ett viktigt steg mot att stärka ditt lärande.

över-lärande

efter en lång inlärningssession…

den huvudsakliga takeaway på denna punkt är inte att spendera för mycket tid i ett sammanträde som går över samma material om och om igen. Lagen om minskande avkastning gäller verkligen. Sprid ut det över många sessioner och över många olika sätt att lära sig.

Jag har försökt att avsätta 30-60 minuter varje dag för varje ny sak jag försöker lära mig eller lära mig mer ingående. Inte bara har detta varit bättre för att resultera i varaktigt lärande, men jag tycker också att det är mer möjligt att säga att jag ska arbeta på X i 30 minuter.

Interleaving

När du har en grundläggande förståelse för vad du försöker lära dig kan interleaving användas för att hjälpa dig att behärska begreppen. Genom att öva på att hoppa fram och tillbaka mellan problem som kräver olika tekniker kan du stärka din förståelse av begreppen genom att lära dig hur du väljer att tillämpa dem i olika situationer. Vet när man ska tillämpa ett visst koncept är lika viktigt som att veta hur.

Jag har inte medvetet tillämpat denna teknik ännu, men går tillbaka till det tidigare exemplet på learning React, kan jag tillämpa interleaving-tekniken genom att ha 2 olika projekt där jag tillämpar React och Flux-arkitektur.

Process över produkt

När du står inför förhalning, tänk på process över produkt. Jag förhalar mig ofta när jag är överväldigad av tanken,”Ok, jag måste få X gjort”. Istället kan det vara fördelaktigt att tänka, ”Ok, jag kommer att spendera en timme på X” — vilket inte är överväldigande, kräver inte en lång uppdelning av uppgifter och får mig igång (90% av striden).

metaforer och analogier

metaforer och analogier talas ofta om som användbara studietekniker. Personligen har jag aldrig använt dem mycket. Men eftersom jag har träffat fler människor och fler lärare/mentorer har jag funnit att de bästa alltid använder dessa när de kommunicerar. Och att kunna kommunicera vad du har lärt dig är en av de viktigaste färdigheterna som skiljer en bra utvecklare från en bra (IMHO).

så försök att göra en avsiktlig ansträngning för att lära ut vad du lär dig till någon annan och genom att göra det kommer du sannolikt att tvingas förklara begrepp med relaterbara metaforer och analogier.

det finns flera möjligheter i den dagliga praktiken av mjukvaruutveckling att undervisa och lära av andra. Du kan para ihop program, kommentera pull förfrågningar, registrera dig för att ge en kod prata om ett visst ämne, och blogg! Gör alla dessa saker. Jag vet att jag försöker.

studiegrupper/lagarbete

den här är inte ny för mig och har visat sig vara mest fördelaktig för att upprätthålla fortsatta framsteg och hålla varandra ansvariga. Men det är viktigt att inkludera i den här listan och notera att det är viktigt att hitta rätt grupp.

på jobbet har jag tur att ha gott om interna grupper: tech book club (läser för närvarande pragmatisk programmerare), open source club, culture club, elixir group och sannolikt andra också. Men det finns flera fantastiska samhällen som möts och lär sig tillsammans i NYC och online!

oavsett vad eller var du lär dig behöver du inte lära dig ensam. Det är faktiskt det unika med de människor du lär dig och de diskussioner du har tillsammans som gör det du lär dig oförglömligt.

Related Posts

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *