Luca Dan Șerbănați all'esame di maturità, 1961
Luca Dan Șerbănați nei primi anni Settanta
Luca Dan Șerbănați all'ultima lezione del quinto anno, aprile 1989

Luca Dan Șerbănați

Professore emerito alla Politehnica di Bucarest

Ricerca, insegnamento, industria e memorie

RO | EN | IT
Luca Dan Șerbănați a Venezia, 1990
Luca Dan Șerbănați a New York, 2005
Luca Dan Șerbănați

Riferimenti essenziali

  • Istituzione: Università POLITEHNICA di Bucarest
  • Facoltà: FILS – Facoltà di Ingegneria in Lingue Straniere
  • Lingua di insegnamento: inglese
  • Anno / semestre: primo anno, primo semestre
  • Titolo ufficiale: Programming Languages
  • Struttura: 2 ore di lezione + 2 ore di laboratorio
  • Valutazione: esame
  • Crediti: 5
  • Prerequisiti: nessuno

Il posto del corso nella mia attività didattica

Questo era il corso introduttivo all’informatica per gli studenti FILS. Aveva un ruolo essenziale: familiarizzarli contemporaneamente con il calcolatore come sistema, con la nozione di programma, con i linguaggi di programmazione e con i primi concetti della programmazione orientata agli oggetti.

Per questo motivo, il corso non iniziava direttamente con la sintassi di Java, ma con un’introduzione più generale: struttura del calcolatore, sistema operativo, differenza tra hardware e software, compilazione e interpretazione, linguaggi di programmazione, significato della nozione di variabile e rapporto tra programma ed esecuzione.

Obiettivo del corso

L’obiettivo principale del corso era duplice. Da una parte, introdurre Java come linguaggio autenticamente orientato agli oggetti. Dall’altra, sviluppare capacità di base nella progettazione e nella programmazione, in grado di sostenere successivamente corsi più avanzati di ingegneria del software.

La scheda della disciplina insisteva non soltanto sulla scrittura dei programmi, ma anche sulla comprensione dell’astrazione, della corretta progettazione e della semantica informale dei programmi orientati agli oggetti in termini di responsabilità e collaborazione.

Struttura del corso

1. Introduzione ai calcolatori e alla programmazione

Il materiale del corso iniziava con la struttura del calcolatore, il sistema operativo, la distinzione tra software di base e software applicativo e l’introduzione ai linguaggi di programmazione, alla compilazione e all’interpretazione. Questa parte offriva allo studente una base concettuale più solida rispetto al semplice apprendimento di un linguaggio.

2. Fondamenti del linguaggio Java

Dopo questa introduzione, il corso passava alle caratteristiche del linguaggio Java, all’architettura del sistema Java e all’ambiente di esecuzione. Venivano poi introdotti i tipi di dati, le variabili, le costanti, le espressioni, le istruzioni e i metodi.

3. Primi concetti della programmazione orientata agli oggetti

La scheda della disciplina e il materiale convergevano in questa parte: classi, oggetti, messaggi, incapsulamento, membri statici, visibilità, costruttori, uso di classi definite dall’utente, package e relazione tra concetti e relative istanze software.

4. Strutture e meccanismi di base

Il corso comprendeva stringhe di caratteri, array e uso di metodi e parametri, quindi gestione degli errori e delle eccezioni, nonché input/output mediante stream e file.

5. Estensioni del materiale del corso

Il materiale elaborato in quegli anni sviluppava il corso oltre lo schema minimo della scheda e includeva ereditarietà e polimorfismo, riuso del codice, classi astratte, conversione dei dati, applet, interfacce grafiche, interfacce, classi interne, gestione degli eventi e collezioni di oggetti. Questa ampiezza mostra che il materiale non era pensato soltanto come supporto per un semestre, ma anche come base più ampia per la formazione in Java e nella programmazione orientata agli oggetti.

Laboratorio

L’attività pratica era ben strutturata e progressiva: compilazione ed esecuzione di programmi Java, variabili, espressioni, istruzioni, metodi statici, stringhe, decisioni e cicli, ricorsione, definizione di classi proprie, costruttori, sovraccarico dei metodi, array, package e input/output su file.

La scheda menzionava dodici brevi esercitazioni e uno o due piccoli progetti, che obbligavano gli studenti a mettere realmente in pratica i concetti introdotti. L’accento era posto sull’esercizio e sulla disciplina della programmazione, non soltanto sulla memorizzazione della sintassi.

Valutazione

La valutazione era ripartita tra l’esame finale (40%) e l’attività svolta durante il semestre (60%): frequenza alle lezioni e ai laboratori, due test annunciati e attività di laboratorio / compiti a casa. Il progetto doveva essere superato affinché lo studente potesse superare la disciplina.

Significato del corso

Visto retrospettivamente, questo corso segna la fase in cui introdussi gli studenti FILS alla programmazione orientata agli oggetti mediante Java, senza rinunciare ai fondamenti più generali dell’informatica. Proprio questa combinazione lo rende importante: non riduce la programmazione a un linguaggio, ma la collega al calcolatore, al sistema operativo, all’ambiente di esecuzione e all’idea di modellazione del software.

In un certo senso, è il corso-radice dal quale si sviluppano poi le discipline più avanzate sui metodi, sulla progettazione e sull’architettura del software.

Risorse