Al termine del passato anno scolastico 2025/26, percependo solo in parte la complessità dello scenario che attendeva la mia scuola, proposi al Dirigente di fare una prova di stesura del nuovo orario scolastico con l’aiuto dell’intelligenza artificiale.
La premessa quindi è d’obbligo: questo articolo non è scritto con l’AI, né con alcun tipo di ausilio generativo, anche perchè non sarebbe incredibile come sto per raccontare. A volte la realtà supera l’immaginazione, se non altro in complessità.
FASE 1: nasce Alighierimaceratasmart, l’orario scolastico ai tempi dell’AI
il 25 Aprile 2026 inizia l’impostazione di quella che sarebbe diventata una web app o meglio una PWA (Progressive Web App). L’orario per l’anno scolastico 2026/27 sarebbe stato fruibile online per mezzo di una struttura semplice anche se inedita: il codice su GitHub, il backend su Supabase ed il frontend su Vercel.

Questo significa che l’orario scolastico sarebbe diventato una app consultabile da telefono, tablet e computer. In una settimana di tempo l’impalcatura era pronta, il codice scritto e la grafica delle pagine web impostata. Tutto abbastanza semplice anche perchè a guidare le mosse c’era Claude Code, il tool AI re indiscusso su questo tipo di lavori, almeno all’epoca. Sì perchè, sebbene si tratti di qualche mese fa, si può bene parlare di altra epoca rispetto ad oggi Ottobre 2026, visto che il ritmo di avanzamento dell’AI è orario, neanche settimanale o mensile.
FASE 2: la complessità dell’orario scolastico
il 15 Maggio viene avviata la seconda sessione di lavoro, quella vera e propria sulla struttura dell’orario scolastico e qui la strada si fa in salita, oltre che del tutto inesplorata. La bozza dell’orario sarebbe stata completa solo al 50% o al massimo 60% per via della fisiologica mancanza di dati per la sua chiusura. Quanto detto era pienamente atteso, ma non era possibile prevedere la reazione di Claude alla complessità delle richieste umane. I dati da considerare erano del tipo:
a) docenti con blocchi orari di 2 slot consecutivi;
b) docenti su 2 o 3 scuole in completamento presso il nostro Istituto;
c) disponibilità dei locali della palestra secondo date fisse e orari pre-impostati;
d) disponibilità dei locali del laboratori scolastici alternata rispetto alle classi del piano ed alle discipline che ne avrebbero fatto uso;
e) slot orari di materie cosiddette “pesanti” alternati a slot di materie “standard”;
f) preferenza per le materie standard sugli ultimi slot orari giornalieri mentre per le materie pesanti sui primi;
g) necessità di slot orari consecutivi per italiano e matematica, per ogni docente in ogni sua classe una sola volta a settimana per lo svolgimento delle verifiche scritte;
h) divisione degli slot orari di Inglese, Francese, Spagnolo, Tedesco per la corretta prassi di preparazione alle certificazioni linguistiche;
i) calibrare la concentrazione delle 6 ore di lezione delle discipline scientifiche in non meno di 4 giorni;
l) i dati derivanti dalle preferenze dell’intero corpo docente (personali e didattiche).
Impossibile chiaramente dare in pasto a Claude una tale mole di dati, combinati su 1440 variabili, senza l’individuazione di una strategia. Ecco che quindi l’AI inizia a configurarsi come “cassetta degli attrezzi” da utilizzare solo se è l’utilizzatore ad individuare la strada.
Primi tentativi di costruire un assetto didattico bilanciato clamorosamente fallimentari: Claude non individua proprio la strada per “pesare” le richieste e calibrare una matrice oraria sostenibile per alunni e docenti. Il tentativo di parcellizzare l’enorme problema matematico alla base del calcolo in problemi più piccoli non porta alcun frutto, si perde anzi la visione d’insieme.
Si cambia strada e invece di spezzare i singoli macro-nodi si tenta la via degli scenari d’insieme, sebbene la strategia operativa non cambi: si usa l’IDE di VS Code su cui è installato claude code ma anzichè interagire nella chat dell’IDE si preferisce un rapporto conversazionale con la stessa chat di Claude, anche per un duplice controllo sull’operato del tool.

FASE 3: quando l’AI non basta e serve potenza di calcolo
Dal 20 di Giugno si predispongono prompt dettagliati e omnicomprensivi di tutte le problematiche riscontrabili tra le richieste dei docenti ed i vincoli esterni, proprio per mettere a fuoco scenari che consentano di tenere conto di più fattori possibili ed evitare calcoli e ricalcoli parziali che, come in precedenza, avevano condotto a strade cieche.
Sopraggiunge però un’amara constatazione: la potenza di calcolo non è abbastanza, nè per elaborare le richieste dei prompt, nè per spingersi oltre le prime simulazioni peraltro parziali. I dati ora ci sono, i docenti sono quasi al completo, le ore sono stabilite e manca solo qualche variabile, eppure non si riesce proprio a giungere ad una bozza di orario che possa stare in piedi.
L’unica strada possibile è assemblare una macchina che abbia potenza bruta e si procede in tal senso. La workstation che ne deriva, su socket AM5 con CPU RYZEN 9 e 64Gb di RAM DDR5, fa degnamente il suo lavoro ma… il re degli imprevisti si presenta senza preavviso: un picco di tensione brucia CPU e scheda madre a inizio Luglio 2026, ancor prima che si possa trovare una strada percorribile per la stesura di un orario completo.

FASE 4: arriva il solver CP-SAT
Dal 18 Luglio si cercano disperatamente pezzi di ricambio per il computer che si sarebbe occupato del lavoro. Nell’attesa si procede con una soluzione temporanea rappresentata dal notebook sul quale, però, è possibile eseguire solo calcoli parziali. Lo scenario si complica quando le richieste iniziano a riguardare interi dipartimenti disciplinari, per i quali gli slot orari vanno alternati in sequenza a quelli delle materie standard. Insomma, un singolo computer portatile non basta più, rivelandosi del tutto inadeguato alla strategia operativa, anche a quella di parcellizzare i problemi di calcolo.
Finalmente il 14 Agosto la macchina torna pienamente in funzione, con le componenti hardware integrate e persino migliorate. Da qui in poi la vera svolta: non più calcoli parziali o parcellizzazione dei problemi ma l’adozione del metodo del SOLVER CP-SAT, un motore di calcolo ottimizzato per risolvere problemi di combinatori complessi.
Il supercalcolatore di decisioni entra in azione e potendo considerare tutti i fattori in gioco è in grado di lanciare sessioni di calcolo anche di un’ora, questo cambia le regole del lavoro e la struttura dell’orario scolastico inizia davvero a prendere forma.

FASE 5: VS Code, Claude Code e OR-Tools
Arrivati al 27 Agosto la situazione è la seguente: l’uso di Visual Studio Code come editor di codice, in cui è installata la libreria di google OR-Tools, consente al motore speciale CP-SAT di elaborare in sequenza versioni dell’orario scolastico.
Il punto è che tali versioni non riescono chiaramente a tenere conto dei criteri didattici su cui impostare l’orario stesso. Si susseguono slot orari di materie pesanti anche per la totalità delle 5 ore giornaliere, oppure si presentano fenomeni strani come quello del “saltello” orario di una stessa disciplina nella stessa classe, in cui le lezioni sono a distanza di una o due ore l’una dall’altra.
A questo punto si prende la decisione di scrivere a mano non solo i prompt per claude ma anche le righe di codice dei criteri didattici ai quali claude stesso deve attenersi e con esso anche il solver CP-SAT. Questa mossa consente di fissare vincoli HARD o invarianti inamovibili ma in modo differente rispetto alle sole istruzioni impartite dai prompt scritti in chat. Si tratta della seconda e decisiva svolta dopo quella dell’adozione del modello CP-SAT.

FASE 6: l’orario scolastico diventa una PWA
L’11 Settembre viene elaborata una versione provvisoria dell’orario che risulta didatticamente sostenibile e conforme ai criteri dettati al motore di calcolo. Nei giorni successivi si procede al perfezionamento di tale versione fino a quella del 12 Ottobre in cui ogni criticità risulta sciolta. L’orario ha preso forma nella sua veste definitiva e ottimizzata rispetto alle richieste didattiche e dei docenti.
Si procede quindi alla traduzione grafica dell’orario nella web app alighierimaceratasmart, il tutto attraverso singoli deploy su Vercel che aggiornano progressivamente il frontend delle pagine web.
Ora l’orario è una Progressive Web App, disponibile a tutti i docenti per la consultazione online su piattaforma desktop e mobile (la cui fruizione non è resa disponibile per motivi di privacy).
THE END: Cosa insegna questa esperienza sull’intelligenza artificiale
L’avventura è sì operativamente conclusa ma da un’esperienza simile si continua ad imparare, anche a lavoro fatto. La procedura seguita, le scelte adottate e la strategia operativa individuata gettano le basi per il lavoro del prossimo anno.
Cosa si è imparato?…essenzialmente una grande verità: l’AI è la cassetta degli attrezzi che consente operazioni prima impensabili, realmente rivoluzionarie, ma la strategia operativa la deve scegliere l’uomo. Il sottoscritto ha dovuto individuare la strada migliore per usare il motore CP-SAT dentro OR-TOOLS, incappando in numerosi fallimenti, a volte frustranti. La delega del metodo all’AI non porta risultati, mentre la delega del lavoro pesante, sulla base di una strategia operativa studiata dall’uomo, cambia le regole del gioco.
Di seguito uno screen dell’app da cui è possibile vedere la veste grafica.







