Il programma interagisce attraverso la classe University.
La classe principale è University che riceve, come parametro del costruttore, il nome dell'ateneo.
Il nome dell'ateneo è leggibile tramite il metodo getter getName().
È possibile definire il nome del rettore di un ateneo tramite il metodo setRector() che riceve come parametri nome e cognome del rettore.
Il metodo getter getRector() restituisce nome e cognome del rettore concatenati con uno spazio (" ") in mezzo.
È possibile inserire le informazioni relative ad un nuovo studente
tramite il metodo enroll() della classe University, che riceve come parametri
il nome ed il cognome dello studente; il metodo reststituisce il numero di matricola che è
stato assegnato allo studente.
I numeri di matricola vengono assegnati, in maniera progressiva per ogni ateneo a partire
dal numero 10000.
Per ottenere le informazioni relative ad uno studente si utilizza il metodo student() che riceve come parametro la matricola e restituisce una stringa composta da numero di matricola, nome e cognome separati da spazi, es. "10000 Giuseppe Verdi".
Per definire un nuovo insegnamento si utilizza il metodo activate() che riceve come parametri il titolo del corso e il nome del docente titolare. Il metodo restituisce un intero che corrisponde al codice del corso. I codici vengono assegnati progressivamente a partire da 10.
Per conoscere le informazioni relative ad un corso si usa il metodo course() che riceve come parametro il codice del corso e resituisce una stringa contenente codice, titolo e titolare del corso, separati da virgole, es. "10,Programmazione a Oggetti,James Gosling".
Gli studenti possono essere iscritti agli insegnamenti tramite il metodo register() che riceve come parametro la matricola dello studente ed il codice del corso a cui iscriverlo.
Per ottenere l'elenco degli iscritti ad un insegnamento è disponibile il metodo listAttendees() che riceve come parametro il codice dell'insegnamento e restituisce una stringa contenente l'elenco degli studenti iscritti.
Gli studenti compaiono uno per riga (le righe sono terminate da un a-capo "\n") secondo il formato descritto al punto R2.
Data la matricola di uno studente, tramite il metodo studyPlan(), è possibile conoscere l'elenco degli insegnamenti a cui è iscritto, gli insegnamenti sono descritti come al punto precedente.