ScuolaAperta
Un orario scolastico è un problema di vincoli, prima che di interfaccia
- Periodo
- 2011 – 2015
- Ruolo
- progettazione e sviluppo
- Tecnologie
- PHP · CodeIgniter · MySQL · jQuery · AJAX · HTML5 · CSS3
- Stato
- non più online
a cosa serve
Un ente di formazione tiene gli stessi dati in tre posti che non si parlano: l'orario in un foglio di calcolo, le presenze su registri cartacei, e le attività amministrative in un gestionale che dell'orario non sa niente. Sono tre copie dello stesso incrocio di dati — chi insegna cosa, a quale classe, in quale sede, quando — e ogni cambiamento va riportato tre volte.
Quello che si rompe per primo non è la fatica: è la fiducia nel dato. Quando l'orario in segreteria e quello in bacheca dicono cose diverse, nessuno sa più quale dei due sia quello buono, e la risposta la dà la persona che se lo ricorda.
cosa fa
La piattaforma è web e multiutente, divisa in tre sezioni: il registro elettronico, l'orario scolastico e il gestionale delle attività amministrative. Le tre sezioni si appoggiano allo stesso incrocio di dati — orari, materie, classi, docenti, sedi, allievi, assenze — letto da punti diversi a seconda di chi accede.
Fra il 2011 e il 2015 ho lavorato come docente di informatica e responsabile dei processi informatici in due enti di formazione professionale accreditati dalla Regione Veneto. ScuolaAperta è nata lì, per l'ente in cui lavoravo, dentro quel ruolo e non come commessa per un cliente esterno.
Che sia nata così spiega la scelta di fondo: le tre sezioni non sono tre prodotti integrati dopo, sono tre viste su un dato unico fin dal primo giorno. Chi costruisce per un cliente esterno tende a consegnare la sezione richiesta e a rimandare l'integrazione; chi la usa quotidianamente sa che l'integrazione è il prodotto.
il problema è nei vincoli
Costruire un orario scolastico è un problema di vincoli. Un docente ha una sola disponibilità in un dato momento. Una classe segue una materia alla volta. Le sedi sono distinte, e chi si sposta da una all'altra impiega un tempo che va conteggiato. Due lezioni che si contendono lo stesso docente, o la stessa aula, nello stesso momento, sono l'errore che il sistema deve impedire prima che l'orario venga pubblicato. Scritto così sembra ovvio; costruire la logica che lo verifica, su classi, sedi e materie reali, è la parte che ha richiesto lavoro.
La decisione che ha semplificato il resto è stata mettere il controllo dei conflitti al momento dell'inserimento, e non in una validazione finale dell'orario intero. Una validazione finale dice che l'orario è sbagliato quando è già scritto, e chi lo compila deve tornare indietro a cercare dove; un controllo immediato rifiuta la singola collocazione impossibile nel momento in cui la si prova, quando chi la sta facendo ha ancora in testa il motivo per cui la stava facendo.
Il registro elettronico porta un vincolo di natura diversa: lo usano ogni giorno docenti e famiglie, non collaudatori. Un errore lì si vede subito, e da chi non ha modo di aggirarlo.
perché "Orario Aperto"
Chi arriva a questa pagina da un vecchio indirizzo, www.mariomarino.org/orario-aperto, stampato sul CV del 2020, è nel posto giusto. Orario Aperto era il nome della pagina che descriveva la sezione dell'orario di questo stesso progetto; ScuolaAperta è il progetto intero, orario compreso.
limiti dichiarati
- L'orario si compila, non si genera. Il sistema impedisce le collocazioni impossibili e segnala i conflitti, ma non propone una soluzione: la costruzione dell'orario resta un lavoro umano assistito. Generarlo davvero è un problema di ottimizzazione combinatoria, che è un progetto diverso da questo.
- Non è più online. Quello che se ne può dire oggi è quello che c'è scritto qui: non è visitabile, e nessun collegamento la mostra.