Penso davvero che i metodi "formali" non siano un'ottima idea per scopi educativi. Del resto, programmare un computer è un metodo "formale". Ha successo come strumento educativo?
Ciò che è necessario è la comprensione, l'intuizione e la capacità di affrontare l'astrazione. I metodi formali ostacolano tutto ciò. Piuttosto, promuovono tentativi ed errori, hacking, pattern matching, imitazione, concentrandosi sulla sintassi. La lista potrebbe continuare all'infinito.
Qualsiasi pezzo di matematica rigorosa insegnerà alle persone come ragionare correttamente. Più semplice è il dominio, migliore è. Tutto ciò che ho imparato sul ragionamento che ho imparato al liceo quando ho fatto seriamente la geometria euclidea. Il calcolo e l'algebra lineare nell'università hanno fatto il resto.
Un'altra alternativa interessante è la logica filosofica, in cui insegnano alle persone come pensare alle dichiarazioni e comprendere quale sia il contenuto delle informazioni e quale sia una conseguenza di cosa. Lo fanno senza annegare gli studenti in simboli.
Se fai il punto su tutti i migliori informatici, rimarrai stupito da quanti di loro hanno una formazione formale in filosofia. Stiamo perdendo tutto questo ora perché gli studenti di filosofia ora pensano all'Informatica come una materia banale. Far in modo che i nostri studenti imparino un po 'di filosofia potrebbe contrastarlo in una certa misura. Falli lavorare attraverso la storia della filosofia occidentale di Bertrand Russell . Questo farà miracoli.
Se lavorano nella teoria dei linguaggi di programmazione, puoi anche farli leggere Quine, che considero il "dio padre" della semantica denotazionale. (Quine essenzialmente stava facendo semantica denotazionale del linguaggio naturale in Word e Object , che è stata un'enorme fonte di ispirazione per Christopher Strachey. Ma questo libro è piuttosto difficile.) La collezione modificata Quintessence è una bella fonte delle idee di Quine per un principiante.
[Nota aggiunta: un vantaggio della filosofia rispetto alla matematica è che gli studenti possono vedere il dibattito , cioè possono vedere l'argomento "giusto" e l'argomento "sbagliato" e vedere gli esperti demolire quelli sbagliati. In matematica, non si arriva mai a vedere una discussione sbagliata, che ne limita il valore educativo.]