Programming Languages
Corso di base tenuto alla FILS, nel primo anno, primo semestre, nel periodo 2005–2011. Nel piano di studi e nella scheda della disciplina compariva con il titolo ufficiale Programming Languages, ma il suo contenuto reale era più preciso: un’introduzione alla programmazione, al linguaggio Java e al pensiero orientato agli oggetti.
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.





