Il CANE, la storia didattica

Alessandro Cignoni, Giovanni A. Cignoni, Daniele Ronco


Il CANE fu usato a Scienze dell’Informazione, nel corso di Teoria e Applicazione delle Macchine Calcolatrici (TAMC). Come strumento didattico, originale e realizzato con il contributo degli studenti, è un rappresentante ideale di quell’esperienza, anche per il ruolo di Antonio Grasselli, che del CANE fu ispiratore, nella progettazione del corso di laurea.

Il corso di laurea fu attivato nell’a.a. 1969/70. L’iter è noto: la delibera della Facoltà di Scienze (8 marzo 1968) i passaggi al Consiglio di Amministrazione e al Senato Accademico (20 e 28 marzo), la richiesta di modifica dello statuto al Ministero (22 aprile), il parere favorevole della I Sez. del Consiglio Superiore della Pubblica Istruzione (31 ottobre) e, infine, il DPR n. 24 del 28 gennaio 1969 [14] che formalmente istituì la nuova laurea. Per la storia generale rimandiamo volentieri a [35], nel seguito approfondiamo gli aspetti legati al ruolo di Grasselli, alla collocazione di TAMC nel corso di laurea, all’uso del CANE e di altre macchine esempio in TAMC e in altri insegnamenti pisani.

Iniziative di formazione più o meno organizzate sui calcolatori elettronici erano attive da tempo. A Pisa dal 1964 esisteva il corso di perfezionamento in Calcolo Automatico. Offerte simili c’erano al Politecnico di Milano, dove lavorava il gruppo di Luigi Dadda, e a Roma, all’Istituto Nazionale per le Applicazioni del Calcolo del CNR, ispirato, fondato e diretto da Mauro Picone. In diverse Università c’erano singoli corsi inseriti nei piani di studi di Scienze e di Ingegneria.

I tempi per un corso di laurea erano quindi maturi e il progetto pisano era allineato agli orientamenti discussi sulla scena internazionale. La Association for Computing Machinery aveva promosso sin dal 1962 un comitato per la formazione in computer science; nel 1968, con il supporto della National Science Foundation, era stato pubblicato il Curriculum 68 [12] che, definendo insegnamenti e contenuti, ispirò molti corsi di laurea in USA e in Europa.

Nel 1967 Grasselli, che veniva dal gruppo di Dadda e aveva portato a Pisa altri giovani ricercatori, aveva redatto uno studio sugli insegnamenti sui calcolatori elettronici [09], interessante anche per il corposo insieme di allegati. Il corso di laurea aveva poi preso forma e, pochi mesi prima dell’inizio delle lezioni, Grasselli lo aveva presentato a un seminario internazionale a Varese [15]. Il Curriculum 68 evidenziava le relazioni e le dipendenze con il curriculum in mathematics [08]. Scienze dell’Informazione fu attivato dalla Facoltà di Scienze e, nella traduzione in Inglese del programma di studi pisano, si riconoscono molti dei titoli dei corsi del Curriculum 68, sia propri di computer science, sia mutuati da mathematics. Nella presentazione di Grasselli si citano anche i promotori del corso di laurea pisano: in maggior parte docenti della facoltà di Scienze e ricercatori del CNR, ma anche rappresentanti di Ingegneria e dell’industria: IBM Italia e Italsiel.


Il Curriculum di ACM, TAMC corrisponde a B1, il primo insegnamento del corso in Computer Science

Marzo 1959, Böhm spiega la programmazione usando una “calcolatrice semplificata”

Maggio 1962, la gita al termine del corso di Caracciolo

Gennaio 1971, TAMC, docenti Piram e Levi, una delle prime lezioni sul CANE

Maggio 1973, TAMC, docente Preparata, dialettica sui metodi didattici: macchine esempio o macchine reali?

Gennaio 1991, TAMC, docente Gestri, una delle ultime lezioni sul CANE

Il CANE era usato per introdurre calcolatori e programmazione. A Pisa i primi insegnamenti con questi obiettivi furono parte della missione didattica che coinvolse i ricercatori del progetto CEP. Seminari furono organizzati già nel gennaio 1955 [01], ma diventarono presto articolati cicli di lezioni come quelle tenute da Elio Fabri nel marzo-maggio 1956 [03].

Il primo insegnamento ufficiale fu di Corrado Böhm [04], in prestito dall’INAC di Picone. Oltre a testimoniare la collaborazione fra due realtà nazionali, il corso di Calcoli numerici e grafici del 1958/59 comprendeva argomenti teorici e pratici che già prefiguravano la necessità di una formazione di maggior respiro [36]. Nelle sue lezioni Böhm illustrò una “calcolatrice semplificata” (al tempo con “calcolatore” ancora si indicava la persona responsabile del procedimento di calcolo): interessante attestazione dell’idea di un calcolatore ideale per fini didattici.

Altra testimonianza è il corso di Cibernetica 1961/62 di Alfonso Caracciolo [05], personaggio di primo piano nella realizzazione delle due Calcolatrici Elettroniche Pisane. Il suo corso è in gran parte dedicato alla programmazione, con lezioni sui linguaggi Fortran e Algol. Per quanto riguarda l’architettura dei calcolatori, l’esempio non è una macchina semplificata, ma la seconda CEP, in funzione ormai da circa un anno e visitata dagli studenti nell’ultima lezione.

L’insegnamento di TAMC era un complementare riconosciuto delle lauree in Matematica. A Pisa fu attivato per la prima volta nel 1967/68, inizialmente tenuto da Grasselli e Caracciolo [13, 16]. Era un classico insegnamento introduttivo, con contenuti vicini a quelli dei corsi “precursori” di Böhm e di Caracciolo: le principali basi teoriche, i principî della programmazione l’architettura degli elaboratori. Nella nuova laurea in Scienze dell’Informazione, era il corso ideale per diventare il primo contatto degli studenti con la disciplina - esattamente com’era il corso Introduction to Computing indicato come radice del Curriculum 68.

Nel 1969/70, con l’attivazione di Scienze dell’Informazione e l’aumentato numero di studenti, si aggiunsero come docenti di TAMC Alfio Andronico e Eugenio Morreale: Andronico e Caracciolo coprirono i corsi per Scienze, mentre Grasselli e Morreale si dedicarono alle edizioni di TAMC per la nuova laurea. Negli anni successivi l’insegnamento fu coperto anche da Pietro Piram e Giorgio Levi, Franco Preparata, Giuseppe Gestri, Carlo Montangero, Giuliano Pacini.

Come testimoniano i registri che sono rimasti in Archivio, non appena fu disponibile il CANE iniziò a comparire nelle lezioni di TAMC. Esempi di come fu presentato agli studenti si trovano nei registri dei corsi di Levi/Piram (e.g. 1970/71 [21]), Montangero (e.g. 1972/73 [26]), Preparata (e.g. 1972/73 [27]), Pacini (e.g. 1974/75 [28]), Gestri (e.g. 1976/77 [29]).

Nella discussione sui metodi didattici, la dialettica fra esempi ad hoc ed esempi tratti dal modo reale è presente e vivace in molte discipline. Per l’informatica il CANE, come il Little Man Computer e il MIX, è un rappresentante degli esempi ad hoc, ma intorno alla sua storia si trovano anche tracce di quella dialettica nel corso di laurea pisano. Per esempio, già nel 1972/73, al termine del suo corso Preparata presentava il Digital PDP-8 [27]. Fu però un altro Digital storico, il PDP-11, che con continuità prima affiancò e poi sostituì il CANE per illustrare agli studenti architetture reali e più moderne. I corsi di Montangero rappresentano bene la transizione fra il 1977/78 [30] e il 1980/81 [32]. Nel 1979/80 fa anche una fugace apparizione un MiniCANE [31] scritto in Algol-W, un’evoluzione dell’ALGOL 60 proposta da Niklaus Wirth e dalla quale poi derivò il Pascal. Il più fedele al CANE fu invece Gestri: lo usò nelle sue lezioni fino al 1990/91 [33].

Il simulatore del CANE fu realizzato con la tesi di Giuliano Pacini discussa nel marzo 1970 [18]. Un’altro tesista, Attilio Ripoli, lavorò sul cross-assemblatore (girava sul 7090 per produrre codice per il CANE [20]) terminando il suo progetto nel luglio 1970. Relatore delle due tesi fu Grasselli ed entrambe furono lauree in Fisica. Si potrebbe dire che il CANE segna il passaggio di testimone dai fisici, che avevano dato il via alla storia con il progetto CEP, agli informatici, che iniziavano a esistere ufficialmente come “prodotti” del nuovo corso di di laurea.