Imparare veramente a programmare implica più di esperienze episodiche. Gli studenti dovrebbero idealmente sviluppare una "mentalità di codifica". Credito:Nesa di makers/Unsplash
Questa settimana, educatori, gli studenti e il pubblico di tutto il mondo partecipano alla Computer Science Education Week organizzando e conducendo tutorial di codifica di un'ora.
Entro l'inizio della settimana, più di 2, 700 eventi di codifica canadesi erano stati registrati con Code.org, un'organizzazione senza scopo di lucro negli Stati Uniti che promuove la settimana. Questo evento annuale incorpora lo spirito del movimento "imparare a codificare"; mira ad attirare l'interesse e coinvolgere gli studenti dalle classi primarie ai livelli secondari superiori nello sviluppo di abilità di codifica.
governi, società, associazioni nel campo dell'informatica e trend-setter affermano che imparare a programmare giocherà un ruolo chiave in futuro. In tale contesto, imparare a programmare è spesso presentato come una panacea ai problemi del mercato del lavoro del 21° secolo.
Ma per gli educatori, ci sono molteplici fattori da considerare quando si decide quali abilità di codifica e quali approcci promuovere. Come dovrebbero presentare ciò che offre la codifica?
Forza lavoro disillusa
Siamo particolarmente interessati a questo argomento. Insieme uniamo anni di formazione in informatica, tecnologia dell'educazione e psicologia dell'educazione; il nostro interesse di ricerca è quello di sviluppare un modello di insegnamento e apprendimento per introdurre concetti e logica di programmazione di computer con i piedi per terra.
Vogliamo che la ricerca nell'insegnamento dell'informatica soddisfi le esigenze e le caratteristiche degli studenti del 21° secolo. il costo sarà una forza lavoro mal preparata e disillusa.
Perché codificare?
In un'epoca di mercato del lavoro insicuro, quando si prevede che le professioni ridondanti verranno eliminate mentre ne sorgono di nuove, imparare a programmare dà speranza al nostro immaginario collettivo.
Crea la promessa di fonti di reddito alternative e opportunità di lavoro autonomo data la domanda di competenze di codifica in una varietà di settori.
Imparare a programmare non è solo una tendenza delle nuove generazioni. Per esempio, Scratch è uno strumento popolare utilizzato all'interno e all'esterno delle aule per creare, condividere e remixare i giochi. Consente l'apprendimento intergenerazionale in cui i giovani, adulti e anziani possono creare prototipi di giochi.
La codifica può essere utilizzata per automatizzare le attività, risolvere problemi complessi, previsione, o simulare eventi che non sono ancora accaduti. Un'area di interesse alla moda per le aziende è l'analisi dei dati, un campo che implica dare un senso a enormi quantità di dati.
Quando viviamo in un mondo digitale, molti problemi che incontriamo con la risoluzione di problemi tecnici informatici, dispositivi di controllo, o la gestione dei marchi online può essere risolta con la codifica.
Per molto tempo, i ricercatori hanno associato la codifica allo sviluppo delle capacità di risoluzione dei problemi. Jeannette Wing ha coniato il termine pensiero computazionale per denotare attitudini e abilità, compresi i sistemi di risoluzione dei problemi e di analisi, che si può trarre dai concetti fondamentali dell'informatica.
Questa nozione di pensiero computazionale ha offerto agli educatori l'opportunità di esplorare come la codifica potrebbe essere utilizzata come mezzo per sviluppare altre abilità rilevanti, come la risoluzione dei problemi, pensiero creativo e giudizio critico.
Credi all'hype?
Negli Stati Uniti., si prevede che i posti di lavoro per i programmatori di computer diminuiranno perché i contratti vengono esternalizzati. Ma l'hype intorno alla codifica è ancora in aumento.
Il movimento per imparare a programmare è promettente e rappresenta una risposta per preparare gli studenti a un futuro digitale. Ciò nonostante, gli educatori hanno la responsabilità di garantire che l'educazione informatica soddisfi pienamente le esigenze e le caratteristiche degli studenti del 21° secolo. Credito:Michael Pollak/flickr, CC BY-SA
A causa di questo divario, i critici suggeriscono che il movimento creerà potenzialmente una forza lavoro più economica. Una volta che tutti imparano a programmare, il mercato diventerà sovraffollato e i datori di lavoro non avranno bisogno di offrire uno stipendio competitivo.
Anche se partecipare a un evento di programmazione può suggerire che imparare a programmare è facile, la verità è che l'esperienza episodica non si traduce in abilità di codifica. Nel rendere attraente l'apprendimento del codice, esiste il pericolo di travisare la programmazione del computer semplificando eccessivamente i concetti. Sviluppare come programmatore richiede impegno, tenacia e pazienza.
Il ricercatore di informatica Leon Winslow ha stimato nel 1996 che ci vogliono circa 10 anni per trasformare un principiante in un programmatore esperto. I ricercatori hanno discusso sul modo migliore per insegnare la programmazione introduttiva al computer. Non c'è ancora consenso sulla risposta.
Ulteriore, come possiamo garantire che ciò che i ragazzi imparano oggi sia allineato con i lavori e le esigenze del futuro? Possiamo solo ipotizzare.
Quarta rivoluzione industriale
Klaus Schwab, fondatore e presidente esecutivo del World Economic Forum, sottolinea che con l'emergere della quarta rivoluzione industriale, le informazioni e la capacità di manipolarle saranno essenziali per la sopravvivenza di una futura forza lavoro.
Sappiamo che la gestione e la manipolazione delle informazioni sarà la chiave per creare e mantenere fisici, sistemi digitali e biologici che faranno parte delle nostre case e dei nostri luoghi di lavoro. Sappiamo di avere problemi complessi da risolvere.
La codifica può aiutare elaborando osservazioni grezze in simulazioni concrete:ciò significa utilizzare i dati del passato e del presente per creare scenari modello per prevedere il futuro.
Tali simulazioni potrebbero essere utilizzate per combattere il cambiamento climatico, ridurre il traffico e persino combattere i pregiudizi razziali nei social media.
Fondamentali saranno anche la creatività e il pensiero critico, poiché queste abilità saranno probabilmente uno degli unici modi per competere con l'intelligenza artificiale.
I lavoratori richiederanno capacità decisionali rapide in un ambiente di lavoro accelerato che richiede flessibilità e adattabilità.
Questo scenario non preclude la capacità di creare e comprendere il codice. Ma i requisiti sono più complessi. Una chiave per affrontare le sfide future attraverso la codifica consiste nel valutare le opportunità per integrare il movimento di apprendimento del codice.
Una mentalità da programmatore
Vogliamo proporre che i programmatori principianti possano iniziare con un'attività attraente e coinvolgente, ma dovrebbe anche sviluppare esplicitamente quella che potrebbe essere chiamata "la mentalità del coding".
Questa mentalità rappresenta uno sviluppo graduale delle conoscenze e delle strategie di programmazione informatica, ma include anche l'analisi dei sistemi, risolvere problemi, persistere di fronte agli errori, essere intraprendente e collaborare.
Per insegnare la mentalità del coding, gli educatori devono includere concetti e competenze di base dell'informatica più espliciti, come creare algoritmi per risolvere problemi, debug di programmi esistenti, e progettare sistemi per eseguire nuovi compiti o raccogliere dati.
Imparare a programmare non dovrebbe intimidire. Ma dovrebbe mantenere le promesse, non semplicemente esaltare i sogni mitici.
Questo articolo è stato ripubblicato da The Conversation con una licenza Creative Commons. Leggi l'articolo originale.