[Python] Tutorial sulla programmazione
Valerio Maggio
valerio.maggio a gmail.com
Gio 12 Set 2013 08:41:03 CEST
On Monday, September 9, 2013, enrico franchi wrote:
> Alla fine dei conti io continuo a pensare che per insegnare la CS che
> piace a me, il linguaggio giusto fosse scheme. Fine della fiera.
>
Scusate se replico co un po' di ritardo e ritorno sulla questione ma c'ho
riflettuto un po' e trovo questo punto di vista molto interessante!-)
Devo dire che non avevo mai pensato alla possibilità di formare i neofiti
utilizzando le armi della programmazione funzionale e, in sostanza, della
ricorsione.
Più ci penso e più mi convinco che sia un'ottima idea da diversi punti di
vista:
+) Lo studente è "costretto" ad imparare immediatamente i concetti di
induzione, ricorsione e loro affinità/differenze.
Una volta consolidate queste conoscenze, il passaggio all'iterazione, è
immediato.
Al contrario, invece, passare dall'iterazione alla ricorsione, come
previsto nelle impostazioni didattiche dei corsi di programmazione
"standard", rappresenta attualmente uno degli scogli principali per gli
studenti.
+) La spiegazione e la comprensione delle *strutture dati* ricorsive
sarebbe immediata e forse capita *sul serio*.
+) Allo stesso modo, è possibile introdurre nozioni sui tipi e sulle
strutture.
+) Concetti come la modularizzazione e l'organizzazione in funzioni del
codice è built-in nel paradigma, con l'immediato effetto di intuire
l'importanza dei concetti quali "applicazioni, relazioni e funzioni"
studiate in parallelo in altri corsi come algebra/analisi (vedi, ad esempio
le /type signature/ in Haskell).
+) last, but not least: gli studenti avrebbero la possibilità di conoscere
"bene" la programmazione funzionale, cosa che potrebbe non ripetersi nel
corso dei loro studi (secondo me è follia!!. Io, ad esempio, l'ho studiata
per fatti miei, anche a causa di un pessimo corso di linguaggi di
programmazione... Vabeh..).
-) Probabilmente la spiegazione e l'uso di alcune strutture dati sarebbe
sacrificato, ma ci sarebbero il corso di ADS e OOP per colmare il gap,
evitando a volte inutili overlap e ripetizioni.
Questa i miei 2 cents "mattutini" sulla questione !-)
--
Valerio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130912/502b0e8a/attachment-0001.html>
Maggiori informazioni sulla lista
Python