Cos’è un algoritmo? A cosa serve?
In questo articolo vi parlerò di un corso on line che risponde proprio a queste domande e ne approfitterò per fare alcune riflessioni più generali.
Confesso che, in questo periodo, sono “entrato in fissa” con questi corsi, anche detti MOOC (Massive Open Online Courses) , e questa malattia (seconda per me solo a quella delle serie TV) mi porta a seguirne tanti e tutti insieme.
Vi avviso che, così come si fa nei blog che commentano le puntate delle serie TV, potreste trovare degli SPOILER delle lezioni. Non trattandosi di telefilm siamo sicuri che non corriamo il rischio di svelarvi il nome dell’assassino o di anticiparvi la morte del vostro personaggio preferito.
Vi rimando ad un mio precedente post per una riflessione su questa tipologia di corsi.
Il MOOC che tratto questa volta è disponibile sulla piattaforma Coursera ed ha il seguente titolo: “Algorithms, Part I”.
Il corso è di assoluta qualità visto che è realizzato dai
docenti Kevin Wayne, Robert Sedgewick dell’università di Princeton.
Se non siete pratici di algoritmi ricordiamo che questi altro non sono che dei procedimenti che risolvono un particolare problema attraverso un numero finito di passi. Se volete iniziare a conoscerli o se semplicemente siete un po’ arrugginiti su questo fronte, “Algorithms, Part I” è il corso che fa per voi!
Durante le sue lezioni verranno, infatti, illustrati, diversi tipi di algoritmi (per esempio vedi figura 1) insieme con le strutture dati, ovvero i modi con cui organizzare i dati necessari, attraverso degli esempi scritti con un linguaggio di programmazione (in questo caso Java).
Algorithms are all around us!
Nella lezione introduttiva di questo corso il prof. Sedgewick mostra alcuni possibili campi di applicazione degli algoritmi. Come potete vedere dalla Figura 2, non c’è
praticamente campo di applicazioni in cui non capiti di dovere utilizzare degli algoritmi.
I lavoro di molti matematici applicati è spesso proprio quello di sviluppare procedimenti per risolvere problemi e questi procedimenti 99 volte su 100 vengono trasformati in righe di codice da dare in pasto ad un computer.
Detto in altri termini: gli algoritmi sono tutto intorno a noi e sono la croce e delizia di tanti matematici, fisici, ingegneri, informatici…
Mentre seguivo questa lezione introduttiva mi è venuta spontanea la seguente riflessione: dell’importanza degli algoritmi c’è traccia nella scuola italiana?
Insegnando in un liceo mi sono risposto di no! Non c’è praticamente neanche l’ombra dell’importanza degli algoritmi nel normale programma che viene in genere svolto da un professore di matematica e fisica.
Io stesso, per esempio, mi sono trovo ogni anno a dover insegnare argomenti tipo le odiatissime formule di prostaferesi e Werner (alzi la mano chi se le ricorda!!) pur essendo convinto che questi argomenti si potrebbero tranquillamente non svolgere.
Nel frattempo, nella scuola Italiana, c’è stata la riforma Gelmini che ha comportato una modifica dei Licei e degli Istituti Tecnici e la stesura delle Indicazioni Nazionali relative, senza entrare troppo nel tecnico, agli argomenti che dovrebbero essere trattati da ogni materia.
In queste indicazioni, nonostante il fatto che la riduzione dell’importanza di alcuni argomenti (trigonometria, radicali,…), non è stato dato uno spazio significativo agli algoritmi ed alla loro, eventuale realizzazione al computer! (anche perché la materia “informatica” è stata spesso accorpata in “matematica” segnandone quasi ovunque la sua scomparsa)
La conclusione un po’ triste che si potrebbe trarre da questo ragionamento è la seguente: il prof. Sedgewick (e tanti altri insieme con lui) afferma che gli algoritmi sono “all around us”; gran parte delle scuole italiane rispondono, invece, che è meglio che questi algoritmi restino fuori dalle loro mura!
Science algorithm based: Modelli computazionali stanno sostituendo i modelli matematici?
Un altro spunto molto interessante della lezione introduttiva che vorrei qui condividere , è la seguente affermazione fatta dal prof. di Princeton: “i modelli computazionali stanno sostituendosi ai modelli matematici nella ricerca scientifica”.
Tradotto all’importanza della descrizione della realtà per mezzo di formule si sta sempre di più affiancando (secondo Sedgewick addirittura sostituendo) quella che fa uso di programmi che implementano attraverso un linguaggio di programmazione degli algoritmi.
La scienza del XXI secolo sta diventando sempre più fondata su algoritmi (algorithm based) piuttosto che sulle formule (formula based).
Sono sicuro che queste affermazioni faranno saltare sulla sedia più di qualche matematico e fisico. Almeno io un piccolo sobbalzo l’ho fatto.
Voi che ne pensate?
Vi invitiamo a lasciare un commento su questa ultima riflessione e sullo spazio che dovrebbero avere gli algoritmi nella scuola italiana.
Per approfondire:
– Le indicazioni nazionali derivanti dalla riforma Gelmini
– La voce Computational model su wikipedia
– Un esempio delle dispense di un corso di algoritmi e strutture dati
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Ancora nessun commento