Perché partecipare

Nella società contemporanea, in cui la tecnologia dipende in misura fondamentale dall'informatica e i computer sono dovunque, avere familiarità con i concetti di base dell'informatica è un elemento indispensabile del processo di formazione delle persone.

Come in passato, per preparare gli studenti alla società industriale, non sono state date loro competenze operative sui macchinari, anche oggi non è tanto importante l’uso dei dispositivi digitali, quanto conoscere principi e metodi della scienza che ne è alla base.

Per preparare i cittadini alla società digitale, oggi è quindi necessario inserire nella scuola un'ulteriore materia scientifica: l'informatica, la disciplina che spiega e rende possibile il mondo digitale.

La comprensione dei concetti di base dell'informatica è indispensabile affinché uno studente di adesso venga adeguatamente preparato a qualunque lavoro vorrà fare da grande. Esattamente com'è accaduto nel recente passato per la matematica, la fisica, la biologia e la chimica, che sono state inserite come materie obbligatorie nella scuola secondaria, con un'introduzione ad esse già dalla primaria, per preparare adeguatamente i cittadini alla moderna società industriale.

Lo scopo non era quello di far diventare tutti gli studenti dei matematici, fisici, biologi o chimici. La società aveva riconosciuto la necessità che ogni cittadino conoscesse i concetti di base di queste scienze: non c'è tecnologia né una vera economia senza la matematica, non c'è ingegneria senza fisica e chimica, non c'è medicina senza biologia.

L'informatica, che ha reso possibile la creazione del nuovo mondo digitale, è stata il principale acceleratore, e spesso uno strumento indispensabile, della ricerca e dello sviluppo di tutte le altre scienze.

Il rilevante contributo culturale apportato dall'Informatica alla società contemporanea è definito in modo sintetico dall'espressione “pensiero computazionale â€, introdotta dalla scienziata informatica Jeannette Wing nel 2006.

In tutte le professioni si ha modo di sfruttare i benefici del “pensiero computazionaleâ€: avvocati, insegnanti, dirigenti di azienda, psicologi, architetti, medici, funzionari di amministrazioni - solo per citare alcune professioni - ogni giorno devono affrontare problemi complessi; ipotizzare soluzioni che prevedono più fasi e la collaborazione con altri colleghi o collaboratori; formulare una descrizione chiara di cosa fare e quando farlo.

Cos'è il pensiero computazionale

Per caratterizzare sinteticamente il rilevante contributo culturale apportato dall’Informatica alla comprensione della società contemporanea, la scienziata informatica Jeannette Wing nel 2006 introdusse l’espressione “pensiero computazionale †(vedi l’articolo originale – in inglese).

Prima di fornire qualche spiegazione su cosa si intenda con questa espressione, vi invitiamo a guardare il seguente spezzone video, tratto dal film "Apollo 13".

L'essenza del concetto, esemplificata magistralmente dal video, è che con il pensiero computazionale si definiscono procedure che vengono poi attuate da un esecutore (agente ), che opera in modo “meccanico†e “inconsapevole†nell'ambito di un contesto prefissato, per raggiungere degli obiettivi assegnati.

Il pensiero computazionale – il modo di pensare sviluppato da parte di chi ha studiato e praticato informatica – può essere definito come l’insieme dei processi mentali usati per modellare una situazione e specificare i modi mediante i quali un agente elaboratore di informazioni può operare in modo effettivo all’interno della situazione stessa per raggiungere uno o più obiettivi forniti dall’esterno.

È importante ribadire che l'agente esegue istruzioni (di cui però non conosce il significato), per elaborare dati (di cui però non conosce il significato). In tal modo un'elaborazione "meccanica" e "inconsapevole" riesce a replicare funzioni cognitive "umane". Questa è una vera e propria rivoluzione.

Potete trovare in questo articolo una discussione più dettagliata su cosa si intenda con il termine “pensiero computazionale†e come vada usato. Si noti che il pensiero computazionale non considera la semplice “risoluzione di problemi†ma il “far risolvere i problemi ad un esecutoreâ€. È questa la novità concettuale che rende l’informatica – termine che indica l’elaborazione automatica delle informazioni – una scienza nuova e distinta dalla matematica, che ha risolto problemi per millenni.

Qui potete trovare un’introduzione divulgativa ai più importanti concetti dell’informatica.

I metodi caratteristici e gli strumenti intellettuali che si acquisiscono con lo studio dell’informatica hanno un valore concettuale generale che inducono a ritenere utile per tutti gli studenti lo sviluppo del pensiero computazionale.

I metodi caratteristici includono:

  • analizzare e organizzare i dati del problema in base a criteri logici;
  • rappresentare i dati del problema tramite opportune astrazioni;
  • formulare il problema in un formato che ci permette di usare un “esecutore†(nel senso più ampio del termine, ovvero una macchina, un essere umano, o una rete di umani e macchine) per risolverlo;
  • automatizzare la risoluzione del problema definendo una soluzione algoritmica, consistente in una sequenza accuratamente descritta di passi, ognuno dei quali appartenente ad un catalogo ben definito di operazioni di base;
  • identificare, analizzare, implementare e verificare le possibili soluzioni con un’efficace ed efficiente combinazione di passi e risorse (avendo come obiettivo la ricerca della soluzione migliore secondo tali criteri);
  • generalizzare il processo di risoluzione del problema per poterlo trasferire ad un ampio spettro di altri problemi.

Gli strumenti intellettuali includono:

  • confidenza nel trattare la complessità (dal momento che i sistemi software raggiungono normalmente un grado di complessità superiore a quello che viene abitualmente trattato in altri campi dell’ingegneria);
  • perseveranza nel lavorare con problemi difficili;
  • tolleranza all’ambiguità (da riconciliare con il necessario rigore che assicuri la correttezza della soluzione);
  • abilità nel trattare con problemi definiti in modo incompleto;
  • abilità nel trattare con aspetti sia umani che tecnologici, in quanto la dimensione umana (definizione dei requisiti, interfacce utente, formazione, ...) è essenziale per il successo di qualunque sistema informatico;
  • capacità di comunicare e lavorare con gli altri per il raggiungimento di una meta comune o di una soluzione condivisa.

L'informatica è una materia scientifica autonoma

L’informatica è la disciplina scientifica che rende possibile quella tecnologia dell’informazione senza la quale non ci sarebbe l’attuale società digitale.

Le radici dell’informatica come materia scientifica autonoma vengono tradizionalmente collocate in un articolo del 1936 del matematico inglese Alan Turing che descriveva i princìpi scientifici sulla base dei quali realizzare un calcolatore (computer ). Anticipando quella combinazione tra scienza e ingegneria che caratterizza l’informatica attuale, la descrizione di Turing fu negli anni 40 alla base del progetto e della costruzione dei primi calcolatori veri e propri. Da allora l’informatica si è sviluppata in una disciplina articolata e fiorente, basata sulla matematica e sull’ingegneria, ma con molti concetti fondamentali originali.

In questa pagina accenniamo ai più rilevanti.

  • Algoritmo: anche se il concetto risale agli antichi Greci, ha preso pieno significato (serie di passi che descrivono come portare a termine un compito) solo con lo sviluppo dei calcolatori e la loro capacità di effettuare miliardi di operazioni al secondo. Gli algoritmi sollevano alcune importanti interrogativi scientifici. Ad esempio: come facciamo a sapere se un algoritmo terminerà? Turing ha dimostrato che nel caso generale questo problema è indecidibile, ma per ogni caso specifico il problema va riconsiderato. Come facciamo a sapere se un algoritmo è corretto, cioè implementa le sue specifiche? Quest’ultimo aspetto è di enorme importanza per la società, dal momento che algoritmi non corretti possono provocare notevoli disastri, inclusa la perdita di vite umane. Progettare nuovi algoritmi è un attività creativa e intellettualmente stimolante, che può portare a grandi innovazioni.
  • Efficienza e Complessità: l’analisi degli algoritmi serve per stabilire la loro efficienza in termini di quanto tempo impiegano (e quanto spazio utilizzano). La famosa congettura “P è diverso da NP †si chiede se alcuni problemi sono davvero intrinsecamente così complessi che nessun algoritmo efficiente potrà mai essere inventato per risolverli. La risposta ha implicazioni profonde in molti settori, come ad esempio la sicurezza dei commercio elettronico. Questo problema, studiato dai ricercatori per decenni, rimane a tutt’oggi aperto esattamente come quando fu formulato.
  • Struttura di Dati: i programmi per calcolatore manipolano grandissime quantità di oggetti, tra cui basi di dati (database ) e depositi di dati (data warehouse ), memorizzati anche in modo distribuito sulla rete (cioè in cloud ). Essi possono essere non solo di enormi dimensioni ma spesso anche di grande complessità strutturale: lo studio di come strutturare e accedere ai dati in modo efficiente è una parte fondamentale dell'informatica.
  • Sistema Distribuito e Concorrenza: le applicazioni informatiche coinvolgono molti processi che lavorano in parallelo, sollevando questioni di sincronizzazione e comunicazione che portano a nuovi modi di ragionare sul mondo. La natura distribuita delle reti di calcolatori e l’impossibilità di sincronizzare perfettamente i loro orologi sono alla base di alcuni difficili problemi concettuali e pratici.
  • Linguaggio di Programmazione: le sofisticate notazioni artificiali dei linguaggi di programmazione hanno un ruolo importante in informatica. Il loro utilizzo richiede la capacità di ragionare su sintassi e semantica, con risultati che hanno già avuto un grande impatto su altri settori, come la linguistica.
  • Astrazione: progettazione e comprensione dei programmi richiedono una stretta separazione tra “specifica†e “realizzazioneâ€. A questo scopo l’informatica ha sviluppato i principi di “information hiding †e "astrazione dei dati", con implicazioni profonde per molti altri settori scientifici.

Infine, due caratteristiche particolari dei sistemi informatici odierni sono la loro dimensione e complessità, che probabilmente superano quelle di qualsiasi altro sistema costruito dall’uomo. Per esempio, i sistemi operativi in uso oggi consistono di oltre 50 milioni di linee di codice di programma. È impossibile comprendere tali sistemi e controllare il loro comportamento senza un approccio rigorosamente scientifico e ingegneristico. La perdita del primo razzo spaziale europeo Arianne 5 nel 1996 a causa di un errore di programmazione ne è stata una dimostrazione clamorosa.

Qui potete trovare un’introduzione divulgativa ai più importanti concetti dell’informatica.

Il ruolo dell'informatica nella società digitale

I concetti dell'Informatica sono alla base della moderna società digitale.

Nel seguito alcuni esempi, tra i tanti possibili.

  • Il modello di business da 35 miliardi di euro di Google deve buona parte del suo successo ad algoritmi come “page rank â€, un algoritmo “in virgola fissa†che ha reso efficienti ed efficaci le ricerche sul Web.
  • La fiducia nel commercio elettronico, un settore da 260 miliardi di euro in rapida crescita, è basata su algoritmi crittografici che sono il risultato di decenni di attività di ricerca e sviluppo. La sicurezza di queste transazioni è legata ad una famosa congettura sulla complessità computazionale, secondo la quale “P è diverso da NP â€.
  • I telefoni cellulari, e in particolare gli smartphone, strumenti ampiamente diffusi nella vita quotidiana, sono a tutti gli effetti sistemi di calcolo dotati di antenne il cui funzionamento dipende, oltre che dai progressi dell'elettronica e delle comunicazioni, da una miriade di sofisticati algoritmi e strutture dati.
  • L'infrastruttura GPS e i sistemi di navigazione satellitare si basano su complessi sistemi informatici e algoritmi di triangolazione. Con Galileo, il sistema satellitare europeo per la navigazione globale, l'Europa ha fatto grandi progressi in quest'area.
  • L'industria musicale è stata rivoluzionata da standard come il noto MP3 (inventato in Europa) con i suoi algoritmi di codifica e decodifica e le sue strutture dati.
  • Twitter, Facebook e gli altri social network fanno affidamento su sofisticati sistemi informatici scritti in moderni linguaggi di programmazione, alcuni dei quali originariamente ideati in Europa.
  • Le previsioni meteorologiche sono divenute una disciplina affidabile grazie ai modelli computazionali basati su algoritmi e strutture dati in continua evoluzione. Questo successo è rappresentativo di un cambiamento profondo nelle scienze naturali, sempre più quantitative, giustificando la nascita dei “big data †come nuova area di ricerca.
  • Buona parte del grande sviluppo dell'India negli ultimi vent'anni può essere considerato il risultato dei massicci investimenti fatti nella formazione di esperti informatici, che hanno prodotto dal nulla un’industria da 80 miliardi di euro all'anno. In questo modo le aziende indiane sono diventate protagoniste del mercato mondiale delle tecnologie informatiche, in grado di competere con le maggiori società americane ed europee.

Per le altre scienze l'informatica gioca il ruolo di tecnologia abilitante, simile a quello giocato dalla matematica. Le tecniche e gli strumenti informatici sono oggi essenziali in tutte le discipline, dall'ingegneria alla letteratura, dalle scienze naturali all'architettura. Anche nell'arte l'informatica è spesso la chiave dell'innovazione.

Qui potete trovare un’introduzione divulgativa ai più importanti concetti dell’informatica.

Perché l'informatica nella scuola

I metodi caratteristici e gli strumenti intellettuali, che costituiscono gli aspetti fondamentali dell'informatica, hanno un loro posto naturale nell’educazione degli studenti del 21-mo secolo.

L’insegnamento dell’informatica nella scuola ha le seguenti specificità:

  • favorisce lo sviluppo della creatività - per la molteplicità di modi che offre per affrontare e risolvere un problema;
  • è costruttiva - la progettazione di algoritmi è un’attività ingegneristica che produce risultati visibili (anche se nel mondo virtuale);
  • aiuta a padroneggiare la complessità - imparare a risolvere problemi informatici aiuta a risolvere problemi complessi in altre aree;
  • sviluppa il ragionamento accurato e preciso - la scrittura di programmi che funzionano bene richiede l’esattezza in ogni dettaglio.

Questo mostra che il ruolo dell’informatica nella scuola primaria e secondaria, come quello della matematica, è duplice, sia pratico che formativo:

  • dal punto di vista pratico l’informatica è un’abilità utile per gli studenti perché qualunque lavoro svolgeranno in futuro la componente digitale sarà importante;
  • dal punto di vista formativo l’informatica è un validissimo strumento intellettuale per sviluppare abilità concettuali essenziali che saranno utili agli studenti, qualunque sia il loro sviluppo professionale.

L’importanza dello svolgere questa formazione nella scuola, prima dell’università, è motivata dalle considerazioni di seguito riportate.

  • Non tutti gli studenti frequentano l’università. Quelli che terminano il loro percorso formativo con la scuola secondaria hanno comunque necessità di avere confidenza con gli strumenti concettuali alla base della società digitale, nello stesso modo con cui hanno confidenza con i concetti di base della matematica.
  • Molti studenti, indipendentemente da un eventuale percorso universitario, sono esposti alle tecnologie della società digitale attraverso contesti non formali. Per esempio possono imparare a personalizzare giochi, sviluppare applicazioni per interagire con le reti sociali, sviluppare siti e servizi per il Web, definire fogli elettronici per calcoli non banali. Spesso, si trovano esposti a queste abilità di tipo informatico in contesti non strutturati ed opportunistici, senza nessuna consapevolezza dei principi che ne sono alla base. È compito del sistema educativo correggere questa situazione e definire un processo di apprendimento strutturato che faccia leva sulla naturale creatività degli studenti. Quest'obiettivo richiede un’appropriata educazione informatica: scientificamente ben fondata ed adattata all’età degli studenti.
  • Tutte le discipline universitarie al giorno d’oggi richiedono competenze informatiche di base. È essenziale per i docenti poter contare su una conoscenza in ingresso da parte degli studenti di alcuni concetti di base, piuttosto che doverli insegnare a partire da zero. Ciò spesso richiede anche di correggere concetti sbagliati appresi mediante un apprendimento informale e non strutturato condotto autonomamente dallo studente. Di nuovo, la situazione è simile a quella della matematica, per la quale all’ingresso nell’università si assume la conoscenza di un insieme di concetti e abilità di base.
  • Al di là delle competenze informatiche di base, tutte le discipline universitarie richiedono abilità analitiche, per le quali studiare l’informatica nella scuola primaria e secondaria fornisce un’eccellente preparazione.

Qui potete trovare un’introduzione divulgativa ai più importanti concetti dell’informatica.