oto dlaczego nauka Kodowania jest tak trudna (i co z tym zrobić)

dzieje się tak dlatego, że twój mózg przechowuje długotrwałe wspomnienia w hipokampie poprzez skojarzenia. Hipokamp potrzebuje kontekstu, aby zapisać nową koncepcję z pokrewnymi pojęciami. Kontekstem w tym przypadku nie są sąsiednie linie kodu z indywidualnymi wyjaśnieniami.

zamiast tego nowi Programiści www mieliby znacznie większe szanse na przechowywanie koncepcji serwera HTTP poprzez powiązanie go z czymś, co już rozumieją. Twój mózg musi stworzyć bogatą sieć połączeń, aby skutecznie przechowywać nowe, wymagające koncepcje.

oto kilka sposobów, w jaki twój mózg mógłby lepiej zrozumieć składniki serwera HTTP:

  1. analogia, która wyjaśnia różne części bloku kodu i wykorzystuje istniejące relacje do wyjaśnienia tych nowych relacji.
  2. interaktywna wersja fragmentu kodu, która pokazuje stan aktywny aplikacji. Po zmianie linii otrzymujesz natychmiastową odpowiedź na to, co stało się z Twoją prośbą.

błąd #2: Brak uwzględnienia zasady 80/20

jeśli przeprowadzisz wywiad z nauczycielem tworzenia stron internetowych lub 10 nowymi programistami, będziesz słyszeć o tych samych wyzwaniach w kółko. Pozycjonowanie CSS. Pływa. Telefony zwrotne. Były to najczęstsze wyzwania w ciągu ostatnich 10 lat.

z jakiegoś powodu tutoriale nadal będą uczyć każdego pojęcia przez ten sam czas. Jeśli lekcja wprowadzającego CSS składa się z 10 lekcji i ma trwać łącznie 5 godzin, każda lekcja będzie trwała około 30 minut. Te łatwe są nauczane dokładnie tak długo, jak te trudne, mimo że istnieje dobrze udokumentowany konsensus na najtrudniejsze tematy!

to tak, jakby uczyć jak rozbić jajko a jak ostrożnie posmarować pierś z kurczaka. Oba są równie ważne, aby zrobić świetny posiłek, ale jeden wymaga znacznie więcej praktyki. Ale możesz zostać wprowadzony w błąd, aby uwierzyć, że są one równie trudne, ponieważ gotowanie piersi z kurczaka doskonale wydaje się z zewnątrz być prostą pracą.

nowi Programiści rozwiązują ten problem na kilka sposobów:

  1. zakładają, że są głupi i poddają się
  2. skonsultuj się z innymi samouczkami na ten sam temat, które będą w dużej mierze powtarzalne i czasami niskiej jakości. Podejście „spray and pray”.
  3. przejdź do następnego tematu z założeniem, że „rozwiążą to później”

nauczyciele z innych dyscyplin wykorzystają analizę 80/20, aby skupić swoje wysiłki. Oznacza to, że 20% nowych koncepcji pochłonie 80% czasu nauki uczniów.

przykładowe tematy CSS

tematy 6 CSS mogą być równie niezbędne do zbudowania pięknej strony internetowej. Ale nie są one równie łatwe do nauczenia. Niektóre tworzą godziny walki.

w idealnym świecie pełny program nauczania CSS zawierałby 2-3x więcej materiałów na te wspólne trudne tematy. Zawierałaby pozytywną zachętę („wszyscy się z tym zmagają!”) oraz dodatkowe możliwości praktyki. Ale to się jeszcze nie wydarzyło i nie spodziewam się, że kiedykolwiek stanie się to w przypadku większości popularnych usług.

wiesz, że utknąłeś w tej rutynie, gdy od wielu godzin próbujesz nauczyć się nowej koncepcji i nadal nie możesz przewidzieć, co się stanie, jeśli dostosujesz jedną linię kodu. Możesz użyć techniki Feynmana, aby określić tematy, których nie do końca rozumiesz:

  1. Wybierz koncepcję
  2. naucz ją malucha
  3. Zidentyfikuj luki i wróć do materiału źródłowego
  4. Przejrzyj i uprość (opcjonalnie)

błąd #3: Nauczanie z perspektywy doświadczonego inżyniera

wiele samouczków wprowadzających do kodowania jest pisanych przez inżynierów z ponad 10-letnim doświadczeniem. Skąd mam wiedzieć? Ponieważ musiałem ponownie oglądać lub ponownie czytać samouczki w kółko, aż zdałem sobie sprawę, ” nie będą wyjaśniać tej kluczowej koncepcji! Będę musiał przeszukać Internet w poszukiwaniu wyjaśnień, zanim będę mógł kontynuować.”

jest to właściwie dobrze udokumentowane uprzedzenie poznawcze zwane” przekleństwem wiedzy ” i dzieje się to we wszystkich dyscyplinach technicznych.

źródło obrazu: CommunicateHealth

oto, co to jest środki – kiedy nauczyciele mają wieloletnie doświadczenie z przedmiotem technicznym, już stworzyli głębokie zrozumienie przedmiotu. Ponieważ są zaślepieni przez połączenia we własnym mózgu, nie mogą zrozumieć, jak początkujący może postrzegać nowy materiał.

Jeśli pamiętasz, jak twój mózg przechowuje wspomnienia z góry, to ma to biologiczne podstawy! Hipokamp nauczyciela tworzy skojarzenia, które nie są obecne w mózgach uczniów.

aby przezwyciężyć to wyzwanie, polecam narzędzie takie jak FreeCodeCamp, które zostało napisane przez samouków programistów internetowych dla innych w podobnej pozycji! Ma pełny program nauczania, który ma na celu pomoc uczniom samodzielnie kierowanym w pokonywaniu przeszkód.

błąd # 4: Nauczanie kodu jakby to był tajemniczy nowy System

wróćmy do porównania gotowania. Większość ludzi gotuje coś przez całe życie, albo rodzice uczyli się podstaw. Są już zaznajomieni ze wszystkimi podstawowymi narzędziami z lat prób i błędów. Tak więc, jeśli uczysz osobę, aby być profesjonalnym kucharzem, masz już podstawy do budowania.

ale nie ma „podstawowej” wersji nauki tworzenia stron internetowych! Nawet jeśli nauczyłeś się R lub Javy w przeszłości, nadal nie będzie wielu lekcji, które zostaną przeniesione.

w jaki sposób większość samouczków online bierze to pod uwagę? Obejmują one lekcje, które uczą kodu, jakby to był fantastyczny nowy świat, pełen serwerów HTTP, wybrednych przeglądarek i zdarzeń asynchronicznych. Zachowują się tak, jakby te skomplikowane utwory były podstawą późniejszej zaawansowanej nauki.

wyobraź sobie, że gotowanie wymaga tak wysokiej bariery wejścia. Wszyscy jedlibyśmy jedzenie z mikrofalówki. Gotowanie angażuje wszystkie 5 zmysłów i sprawia, że właściwa procedura i niewłaściwa procedura szybko przyklejają się do mózgu. Ludzki mózg uczy się najlepiej, gdy angażuje wiele zmysłów. Potrafi zrozumieć systemy, gdy różne bodźce sprawiają, że dobro vs. Zło jest oczywiste.

wiem, że to wydaje się niemożliwe. Ponieważ cały kod działa w przeglądarce lub na serwerze, jak może połączyć się z naszymi zmysłami? I nie mam na myśli oglądania <div> powiększania ekranu podczas przełączania jego właściwości CSS. To nie zachęca do nauki.

też bym pomyślał, że liczby urojone z matematyki są niemożliwe do połączenia z ludzkimi zmysłami. Pamiętasz ja, i2, i3 i i⁴? Wydaje się, że nowy system, który trzeba tylko zapamiętać, aby zastosować.

zamiast tego Kalid Azad z BetterExplained używa wykresu z osiami x i y, aby pomóc ci wizualizuj „wyimaginowany” wymiar. Teraz pojęcie liczb urojonych jest powiązane bezpośrednio ze znanym pojęciem. Nie wymaga zapamiętywania.

błąd #5: Brak natychmiastowej informacji zwrotnej

z pozoru może się wydawać, że tworzenie stron internetowych ma już doskonały system informacji zwrotnej. Po tym wszystkim, jak tylko odświeżysz przeglądarkę lub wpisz „npm start” w konsoli, otrzymasz natychmiastową odpowiedź.

w analogii gotowania, powiedzmy, że próbujesz idealnie ugotować pierś z kurczaka na swój posiłek. Zamiast tego spalisz go. Co mogło pójść nie tak?

  1. pokrojone za cienko na pierwszym miejscu
  2. Podkręciło ciepło za wysoko
  3. włożyć na patelnię za późno
  4. pozostawić na patelni za długo

Twój spalony produkt na końcu nie daje Ci pojęcia, co poszło nie tak. Tylko lata doświadczenia lub niezliczone próby przy użyciu prób i błędów pomogą Ci dowiedzieć się, co poszło nie tak.

oto komunikat o błędzie, który pojawi się w wierszu polecenia:

to nie pomoże w debugowaniu! Zachęca do uczenia się metodą prób i błędów, aż, kilka godzin później, zrozumiesz to. Zamiast tego potrzebujesz Systemu Informacji Zwrotnej, który powiadomi Cię o wpływie każdej decyzji:

powyższa wizualizacja pokazuje, że w Kroku 2, „Najwyższa temperatura”, coś poszło nie tak, że zepsuło wyjście.

ta bogata sieć możliwych decyzji jest już osadzona w mózgu doświadczonych szefów kuchni. Nawet średniozaawansowani programiści mogą odczytać komunikat o błędzie i skupić swoje wysiłki debugowania na jednej części skryptu. Ale początkujący nie mają podobnego instynktu, a dziś uczą się tylko z godzin prób i błędów z przerywanym sprzężeniem zwrotnym.

ponownie, może się to wydawać niemożliwe do wykonania w edytorze tekstowym lub edytorze online, takim jak CodePen. Ale słynny esej Breta Victora Learnable Programming nakreślił już cały framework pomagający nowym programistom uzyskać informacje zwrotne na temat każdej linii kodu w ich skrypcie, gdy tylko zostaną wpisane.

uczniowie samouków są najbardziej poszkodowani

Jeśli jesteś w szkole średniej lub na uczelni, możesz poradzić sobie z niższym poziomem nauczania. Musisz tylko przygotować się do następnego testu, a masz sieć wsparcia kolegów. Jesteś oceniany na podstawie tego, czy możesz uzyskać wynik na teście, a nie czy możesz otrzymać wynagrodzenie za ćwiczenie umiejętności w prawdziwym życiu.

ale jeśli jesteś samoukiem web developerem, prawdopodobnie masz do czynienia z różnymi okolicznościami. Masz ograniczoną ilość czasu i będziesz musiał udowodnić swój cały zestaw umiejętności, budując prawdziwą aplikację lub zdając test podczas rozmowy kwalifikacyjnej. Nie ma koncepcji nauki do testu, a następnie przejść dalej.

ponieważ branża edukacji online rośnie, a więcej dorosłych jest zmuszonych do uczenia się nowych umiejętności online, przewiduję, że moc przesunie się w kierunku uczniów. Będzie coraz większa presja na firmy edukacyjne online, aby poprawić samo uczenie się. Najlepsze strategie nauczania zostaną nagrodzone setkami tysięcy płacących subskrybentów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.