[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