Ecco perché imparare a codificare è così difficile (e cosa fare al riguardo)

Questo perché il tuo cervello memorizza ricordi a lungo termine nell’ippocampo tramite associazioni. L’ippocampo ha bisogno di un contesto per memorizzare un nuovo concetto con concetti correlati. Contesto, in questo caso, non è le righe adiacenti di codice con spiegazioni individuali.

Invece, i nuovi sviluppatori web avrebbero molte più possibilità di memorizzare il concetto di un server HTTP associandolo a qualcosa che già capiscono. Il tuo cervello ha bisogno di creare una ricca rete di connessioni per memorizzare con successo nuovi concetti impegnativi.

Ecco alcuni modi in cui il tuo cervello potrebbe comprendere meglio i componenti di un server HTTP:

  1. Un’analogia che spiega le diverse parti del blocco di codice e utilizza le relazioni esistenti per spiegare queste nuove relazioni.
  2. Una versione interattiva del frammento di codice che mostra lo stato live dell’applicazione. Quando cambi una riga, ottieni una risposta immediata su ciò che è successo alla tua richiesta.

Errore #2: mancata considerazione della regola 80/20

Se intervistate un insegnante di sviluppo web o 10 nuovi sviluppatori web, sentirete parlare delle stesse sfide più e più volte. Posizionamento CSS. Float. Richiami. Queste sono state le sfide più comuni negli ultimi 10 anni.

Per qualche motivo, tuttavia, i tutorial insegneranno comunque ogni concetto per la stessa quantità di tempo. Se una lezione sul CSS introduttivo è composta da 10 lezioni e si prevede di prendere 5 ore totali, ogni lezione avrà una durata di circa 30 minuti. Quelli facili vengono insegnati esattamente per tutto il tempo come quelli difficili, anche se c’è un consenso ben documentato sugli argomenti più difficili!

È come insegnare come rompere un uovo contro come scottare con cura un petto di pollo gourmet. Entrambi sono ugualmente importanti per fare un ottimo pasto, ma uno richiede molta più pratica. Ma potresti essere indotto in errore a credere che siano ugualmente difficili perché cucinare un petto di pollo sembra perfettamente dall’esterno un lavoro semplice.

I nuovi sviluppatori risolvono questo problema in un paio di modi:

  1. Supponiamo che siano quelli stupidi e rinuncino
  2. Consulta altri tutorial sullo stesso argomento, che saranno in gran parte ripetitivi e occasionalmente di scarsa qualità. L’approccio “spray and pray”.
  3. Procedere al prossimo argomento con il presupposto che sarà “capire più tardi”

Insegnanti di altre discipline useranno un 80/20 analisi per riorientare i loro sforzi. Ciò significa che il 20% dei nuovi concetti consumerà l ‘ 80% del tempo di apprendimento degli studenti.

Esempio di CSS argomenti

Il 6 CSS argomenti potrebbero essere ugualmente necessari per creare un bel sito web. Ma non sono altrettanto facili da imparare. Alcuni creano ore di lotta.

In un mondo ideale, un curriculum CSS completo includerebbe 2–3 volte più materiale su questi argomenti impegnativi comuni. Includerebbe un incoraggiamento positivo (“Tutti lottano con questo!”) e opportunità di pratica extra. Ma, questo non è ancora successo, e non mi aspetto che accadrà mai per i servizi più popolari.

Sai che sei bloccato in questo solco quando hai cercato di imparare un nuovo concetto per ore e non riesci ancora a prevedere cosa succederà se modifichi una riga di codice. È possibile utilizzare la Feynman Tecnica per determinare gli argomenti che non si comprendono:

  1. Scegliere un Concetto
  2. Insegnare a un Bambino
  3. Identificare le Lacune e Il Materiale
  4. Rivedere e Semplificare (opzionale)

Errore #3: Insegnamento Dalla Prospettiva di un Ingegnere Esperto

Molti introduttivo di codifica tutorial sono stati scritti da ingegneri con 10+ anni di esperienza. Come faccio a saperlo? Perché ho dovuto ri-guardare o ri-leggere tutorial più e più volte fino a quando ho capito, ” Non hanno intenzione di spiegare questo concetto chiave! Ho bisogno di cercare su Internet una spiegazione prima di poter continuare.”

Questo è in realtà un pregiudizio cognitivo ben documentato chiamato “maledizione della conoscenza”, e succede in tutte le discipline tecniche.

Fonte dell’Immagine: CommunicateHealth

Ecco che cosa significa – quando gli insegnanti hanno anni di esperienza con un argomento tecnico, hanno già creato una profonda comprensione dell’argomento. Poiché sono accecati dalle connessioni nel loro cervello, non riescono a capire come un principiante possa vedere il nuovo materiale.

Se ricordi il modo in cui il tuo cervello memorizza i ricordi dall’alto, questo in realtà ha una base biologica! L’ippocampo dell’insegnante ha formato associazioni che non sono presenti nel cervello degli studenti.

Per superare questa sfida, vi consiglio uno strumento come FreeCodeCamp che è stato scritto da sviluppatori web autodidatti per gli altri in una posizione simile! Ha un curriculum completo che è specificamente pensato per aiutare gli studenti auto-diretti a superare gli ostacoli.

Errore # 4: Insegnare il codice come se fosse un Misterioso Nuovo sistema

Torniamo al confronto di cottura. La maggior parte delle persone hanno cucinato qualcosa per tutta la vita, o sono stati insegnati le basi dai genitori. Hanno già familiarità con tutti gli strumenti di base da anni di tentativi ed errori. Quindi, se tu stessi insegnando a una persona ad essere un cuoco professionista, avresti già le basi su cui costruire.

Ma non esiste una versione “base” di learning web development! Anche se hai imparato R o Java in passato, non ci saranno ancora molte lezioni che si riporteranno.

Quindi, in che modo la maggior parte dei tutorial online tiene conto di questo? Includono lezioni che insegnano il codice come se fosse un fantastico mondo nuovo, pieno di server HTTP, browser schizzinosi ed eventi asincroni. Si comportano come questi pezzi complicati sono la base per l’apprendimento avanzato successivo.

Immagina se la cottura richiedesse una barriera così alta all’ingresso. Mangeremmo tutti cibo a microonde. Cottura impegna tutti i 5 sensi e rende la procedura giusta e la procedura sbagliata bastone rapidamente nel vostro cervello. Il cervello umano impara meglio quando coinvolge più sensi. Può capire i sistemi quando diversi stimoli rendono ovvio il bene contro il male.

Ora, so che questo sembra impossibile. Poiché tutto il codice viene eseguito in un browser o su un server, come può connettersi ai nostri sensi? E non intendo guardare un<div> zoomare su uno schermo mentre si alterna le sue proprietà CSS. Questo non incoraggia l’apprendimento.

Avrei anche pensato che i numeri immaginari della matematica fossero impossibili da collegare ai sensi umani. Ricordi i, i2, i3, e io i? Sembra un nuovo sistema che devi solo memorizzare per poter applicare.

Invece, Kalid Azad da BetterExplained utilizza un grafico con l’asse x e y per aiutarti a visualizzare il “immaginario” di dimensione. Ora, il concetto di numeri immaginari è legato direttamente a un concetto familiare. Nessuna memorizzazione necessaria.

Errore # 5: mancanza di feedback immediato

In superficie, potrebbe sembrare che lo sviluppo web abbia già un sistema perfetto per il feedback. Dopo tutto, non appena si aggiorna il browser o si digita “npm start” nella console, si ottiene una risposta immediata.

Nell’analogia di cottura, diciamo che stai cercando di cucinare perfettamente un petto di pollo per il tuo pasto. Invece, si brucia. Cosa potrebbe essere andato storto?

  1. Affettato troppo sottile in primo luogo
  2. Girato il calore troppo alto
  3. Metterlo nella padella troppo tardi
  4. Lasciato nella padella troppo a lungo

Il prodotto bruciato alla fine non ti dà alcun indizio su cosa è andato storto. Solo anni di esperienza o innumerevoli tentativi con tentativi ed errori ti aiuteranno a capire cosa è andato storto.

Ecco il messaggio di errore si otterrebbe se questo è avvenuto in un prompt dei comandi:

Che non sta andando per aiutare il debug! Incoraggia l’apprendimento per tentativi ed errori fino a quando, ore dopo, lo capisci. Invece, è necessario un sistema di feedback che avvisa l’utente per l’impatto di ogni decisione:

Il visual sopra mostra che al passaggio 2, “Highest Temp”, qualcosa è andato storto che ha rovinato l’output.

Questa ricca rete di possibili decisioni è già incorporata nel cervello di chef esperti. E anche gli sviluppatori web intermedi possono leggere un messaggio di errore e concentrare i loro sforzi di debug su una parte dello script. Ma i principianti non hanno un istinto simile e oggi imparano solo da ore di tentativi ed errori con feedback intermittenti.

Ancora una volta, questo può sembrare impossibile da realizzare in un editor di testo o in un editor online come CodePen. Ma il famoso saggio di Bret Victor Learnable Programming ha già delineato un intero quadro per aiutare i nuovi programmatori a ottenere feedback su ogni riga di codice nel loro script non appena vengono digitati.

Gli studenti autodidatti sono feriti di più

Se sei al liceo o all’università, puoi affrontare un livello di insegnamento inferiore. Hai solo bisogno di prepararsi per il prossimo test, e si dispone di una rete di supporto di altri studenti. Si sono valutati se è possibile ottenere un punteggio su un test, non se si può essere pagati per praticare l’abilità nella vita reale.

Ma se sei uno sviluppatore web autodidatta, probabilmente affronti circostanze diverse. Si dispone di una quantità limitata di tempo, e si sta andando ad avere bisogno di dimostrare il vostro intero skillset con la costruzione di una vera e propria applicazione o il superamento di un test durante un colloquio di lavoro. Non esiste il concetto di studiare per un test e poi andare avanti.

Man mano che l’industria dell’istruzione online cresce e sempre più adulti sono costretti a imparare nuove abilità online, prevedo che il potere si sposterà verso gli studenti. Ci sarà una crescente pressione sulle aziende di formazione online per migliorare l’esperienza di apprendimento stesso. Le migliori strategie di insegnamento saranno premiati con centinaia di migliaia di abbonati paganti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.