Какво научих от „Ученето как да уча” на Coursera

Как използвам учебни техники от курс на Coursera, за да бъда по-добър разработчик

Аз съм разработчик на софтуер повече от 4 години и ако има нещо, което никога не се променя в тази работа, то това е, че тя винаги се променя. Винаги има нови неща за научаване. Обичам тази част от нея. Ученето е дестинацията.

И така, когато видях курс, наречен „Как да науча на курса“, скочих върху възможността да науча за учене от академични експерти - д-р Барбара Оукли и д-р Терънс Сейновски от Калифорнийския университет, Сан Диего.

Ето основните извлечения от курса, които ми помагат да бъда по-добър разработчик и като цяло по-добър ученик.

"Фокусиран" и "Дифузен" режими

Когато учете, има моменти, в които сте съсредоточени и времена, в които позволявате на ума ви да се скита. Този безфокусиран или дифузен режим е също толкова ценен, колкото и фокусираният режим, позволяващ на мозъка ви да научи нещо. Така че - си почивайте, медитирайте, мисли за други неща и си отделете достатъчно време и в двата режима.

Един от начините да се уверите, че правите редовни почивки е да следвате техниката Помодоро. Това е мястото, където програмирате за 25 минути, след което си правите почивка за 5 минути. Времето за работа и почивка може да варира в зависимост от това, което работи най-добре за вас. Важната част е, че имате редовна почивка. Има няколко приложения, които ви помагат да настроите таймер Pomodoro. Използвам Pomodoro Time.

трясък

Това е идеята да разбиете това, което искате да научите в понятията. Целта е да научите всяка концепция по начин, по който те да станат като добре познато парче на пъзела. За да овладеете концепция, не само трябва да я знаете, но и да знаете как тя се вписва в по-голямата картина.

Овладените парчета образуват цял ​​пъзел (вляво) спрямо научени, но не овладени парчета не се вписват в по-голям пъзел (вдясно)

Д-р Оукли предложи страхотен стъпка по стъпка процес, за да подходите да научите нещо. Първо, проучване и грундиране - това включва сканиране на книга или учебната програма на курс, например, за да получите обща представа за по-голямата картина. Второ, наблюдавайте пример. Тогава, направете го сами. И накрая, правете това отново и отново в различни контексти.

Така че - да кажем, че се опитвах да науча React и имах късмета да открия страхотния курс на програмата на React.js на Тайлер МакГинис. За да приложа този предложен процес, първо бих разгледал всички звена в курса, за да се опитам да получа обща същност на обхванатите теми. След това, аз следвам внимателно, докато Тайлер изгражда примерно приложение. След това бих изградил собствено приложение. И накрая, бих приложил тези знания в новите функции, които разработваме в React на моята работа.

Пазете се от илюзии за компетентност

Има много начини, по които можем да накараме да се почувстваме така, сякаш сме „научили“ концепция. Например, гледането на решение и мисленето, че знаете как да стигнете до това решение, е една от най-често срещаните илюзии за компетентност в обучението. Подчертаването или подчертаването също са техники, които често водят до тази илюзия за учене. От друга страна, кратки бележки, които обобщават ключовите понятия, са много по-ефективни.

Наскоро открих това страхотно приложение, наречено Highly (трябва да използвате това!). Те правят много лесно да подчертаят всяка статия, която чета в интернет с разширение за Chrome. Когато прочета и подчертая статия, тя предоставя красиво обобщение на всичко, което подчертах. Това е изключително полезно за мен.

Опитвам се да бъда щадяща в това, което подчертавам. Колкото по-малко поемания, толкова по-вероятно е, че всъщност ще го отнема. Това се връзва добре в следващата точка ...

Припомням си

Д-р Оукли посочва изследванията на д-р Джеф Карпике за извличане на практика, за да осигури научна подкрепа за отделянето на няколко минути за обобщаване или припомняне на материал, който се опитвате да научите. Изминава дълъг път към отнемане на нещо от краткосрочна памет до дългосрочно обучение. Дори припомнянето на материал в различни физически среди може да ви помогне да разберете материала независимо от физическите сигнали, които вашият мозък може да има.

Така че - след като приключите с четенето на тази статия (или която и да е статия), отделете малко време и се опитайте да заявите това, което си спомняте от статията. Ще мине много далеч.

Тест за ухапване

За да избегнете или пробиете илюзиите за компетентност, трябва да се тествате, когато срещате нови материали. Припомнянето е прост пример за това мини тестване.

Не е важно да преминете тези тестове, без да правите грешки. Грешките (и коригирането на тези грешки) са важна стъпка към укрепване на вашето обучение.

Over-Learning

След дълга учебна сесия ...

Основното вземане на този въпрос е да не прекарвате прекалено много време в едно заседание, преглеждайки един и същ материал отново и отново. Законът за намаляващата възвръщаемост със сигурност се прилага. Разпространете го в много сесии и в много различни режими на обучение.

Опитвам се да отделя по 30–60 минути всеки ден за всяко ново нещо, което се опитвам да науча или да уча по-задълбочено. Това не само е по-добро в резултат на трайно учене, но и ми е много по-постижимо да кажа, че ще работя върху X в продължение на 30 минути.

Interleaving

След като имате основно разбиране на това, което се опитвате да научите, преплитането може да се използва, за да ви помогне да овладеете концепциите. Практикувайки скачане напред-назад между проблеми, които изискват различни техники, можете да затвърдите разбирането си за концепциите, като научите как да изберете да ги прилагате в различни ситуации. Да знаете кога да приложите определена концепция е също толкова важно, колкото да знаете как.

Все още не съм приложил умишлено тази техника, но, като се върна към по-ранния пример за обучение React, мога да прилагам техниката на преплитане, като имам два различни проекта, в които прилагам React и Flux архитектура.

Обработка на продукта

Когато сте изправени пред забавяне, помислете за процес над продукта. Често отлагам, когато ме обзема мисълта: „Добре, трябва да свърша Х“. Вместо това може да е полезно да си помисля: „Добре, ще прекарам час за X“ - което не е прекалено, не изисква дълго разбиване на задачите и ме започва (90% от битката).

Метафори и аналогии

Метафорите и аналогиите често се говорят като полезни техники за изследване. Лично аз никога не съм се възползвал много от тях. Но тъй като срещнах повече хора и повече учители / ментори, установих, че най-добрите винаги ги използват, докато общуват. И възможността да съобщавате наученото е едно от основните умения, което отличава добрия разработчик от страхотния (IMHO).

Така че, опитайте се да положите съзнателно усилие да научите това, което научавате на някой друг и по този начин вероятно ще бъдете принудени да обяснявате понятия с относими метафори и аналогии.

В ежедневната практика на разработването на софтуер има няколко възможности за преподаване и учене от другите. Можете да сдвоите програма, да коментирате заявки за изтегляне, да се регистрирате, за да дадете код, да говорите за определена тема и да блог! Направете всички тези неща. Знам, че се опитвам.

Учебни групи / Работа в екип

Този не е нов за мен и се оказа най-полезен за поддържане на непрекъснат напредък и за взаимно поемане на отговорност. Но е важно да се включи в този списък и да се отбележи, че намирането на правилната група е от ключово значение.

По време на работа имам късмета да имам много вътрешни групи: клуб за текстилни книги (в момента чета Прагматичен програмист), клуб с отворен код, културен клуб, група еликсир и вероятно и други. Но има няколко страхотни общности, които се срещат и учат заедно в NYC и онлайн!

Без значение какво или къде се учиш, не е нужно да учиш сам. Всъщност уникалността на хората, с които се учиш, и дискусиите, които имаш заедно, правят това, което научаваш незабравимо.

Кликнете ❤ по-долу, така че другите хора да виждат това тук на Medium.