Coding & Computer Science
pensiero computazionale: questo sconosciuto
Il “Pensiero computazionale” (Computational Thinking) è riconosciuto come una competenza chiave fondamentale per lo studente del 21 ° secolo. Ciò indipendentemente dal fatto che si studi o meno la materia ‘Informatica’ (Computer Science) a scuola o si intenda intraprendere un percorso di Informatica a livello universitario. Il Pensiero computazionale non si identifica con l’informatica come studio o materia nè con alcun linguaggio di programmazione, anche se è insito in entrambi. Il pensiero computazionale è da intendersi piuttosto, ancor più dal punto di vista del docente, come un mix di abilità, competenze, capacità che consente di ‘vedere’ il mondo attraverso modalità di pensiero tipiche dei programmatori di software (coders o programmers), raggruppabili in cinque tipologie chiave:
1. vedere un problema e la sua soluzione a molti livelli di dettaglio, dal particolare al più generale (abstraction - capacità di astrazione)
2. pensare ad un compito da eseguire come ad una serie di passaggi, una procedura (algorithms - pensare per algoritmi)
3. comprendere che la soluzione di un grande problema implica sempre la scomposizione in una serie di problemi più piccoli (decomposition - problem-solving come ‘scomposizione’ in problemi di misura/difficoltà inferiore)
4. realizzare che un problema nuovo è probabilmente correlato, ‘assomiglia’ ad altri problemi che si è ha già risolti in precedenza (pattern recognition - capacità di individuare ‘modelli’)
5. realizzare che la soluzione trovata ad un singolo problema può essere usata di fatto per risolvere tutta una serie di problemi affini (generalisation - capacita di generalizzazione).
(liberamente interpretato e tradotto da "Starting from Scratch. An Introduction to Computing Science" by Jeremy Scott, RSA Edimburgh, licenza CC)
1. vedere un problema e la sua soluzione a molti livelli di dettaglio, dal particolare al più generale (abstraction - capacità di astrazione)
2. pensare ad un compito da eseguire come ad una serie di passaggi, una procedura (algorithms - pensare per algoritmi)
3. comprendere che la soluzione di un grande problema implica sempre la scomposizione in una serie di problemi più piccoli (decomposition - problem-solving come ‘scomposizione’ in problemi di misura/difficoltà inferiore)
4. realizzare che un problema nuovo è probabilmente correlato, ‘assomiglia’ ad altri problemi che si è ha già risolti in precedenza (pattern recognition - capacità di individuare ‘modelli’)
5. realizzare che la soluzione trovata ad un singolo problema può essere usata di fatto per risolvere tutta una serie di problemi affini (generalisation - capacita di generalizzazione).
(liberamente interpretato e tradotto da "Starting from Scratch. An Introduction to Computing Science" by Jeremy Scott, RSA Edimburgh, licenza CC)
qualche assaggio sulle tipologie di coding
coding 'a blocchi' - Scratch & C.Qui si spostano i 'blocchi' che contengono al loro interno le istruzioni scritte in linguaggio di programmazione. Alcuni software offrono la duplice opzione di usare i blocchi o direttamente le stringhe di codice di programmazione. E' oggetto di dibattito permanente quale dei due approcci sia migliore ma pare ormai assodato che il primo (i blocchi tipo Scratch) sia il più adatto come primo approccio, specie per i bambini.
SCRATCH ITA PLAYLIST YOUTUBE
|
coding 'testuale'Qui si usa - si scrive, si legge o comunque si copia/incolla eventualmente modificando dove serve - un linguaggio di programmazione, come l'HTML per creare pagine web, Java e derivati per animazioni per es., Processing diffuso per applicazioni in campo artistico e, insieme a Scratch, Python per applicazioni di robotica educativa con microcontrollori tipo Arduino, e Raspberry pi.
|
coding 'immersivo'Qui si opera nei mondi virtuali - ambienti 3d di realtà virtuale/immersiva come SecondLife o OpenSim - dove le 'istruzioni' viaggiano scritte con il linguaggio di programmazione LSL (Linden Script Language), anch'esso con un po' di teoria e pratica, usabile anche dai neofiti per le loro applicazioni didattiche.
|
qualche risorsa introduttivaintroduzione al Coding webinar eTwinning 2016
primo approccio: https://studio.code.org/hoc/1 panoramica su Scratch https://scratch.mit.edu/projects/100348418/ Questo che segue è più che un'introduzione ( sono cattivo: qui c'è da lavorare...): https://iamarf.org/2015/08/30/il-post-su-scratch-che-non-scrivo-linf14/ Per entrare nel codice: Processing http://hello.processing.org/ Html https://iamarf.org/2015/06/07/html-1-linf14/ |
archivi di risorse utili |