top of page

I programmi CATTEDRE ed ORARIO 

Le caratteristiche descritte si riferiscono alla versione 3b

Descrizione del programma ORARIO

Avenir Light is a clean and stylish font favored by designers. It's easy on the eyes and a great go-to font for titles, paragraphs & more.

Descrizione del programma ORARIO

ORARIO è stato acquistato da oltre 800 scuole quasi tutte superiori dopo una prova gratuita, e tutto ciò

  • senza forze di vendita

  • l’autore è una nullità dal punto commerciale, gli piace più migliorarlo che venderlo, telefoni che non rispondono, difficoltà a parlare con professori ..

  • il programma sino alla versione 2Y aveva anche schermate esteticamente bruttine (assomigliavano a quelle del MSDOS) anche se molto funzionali. Dalla versione 2z l’estetica delle schermate è stata sensibilmente migliorata .

 

Perché lo hanno adottato ?

Seguono i punti principali poi alcuni di questi saranno approfonditi subito dopo

​​

Il programma dell’orario è un programma scientifico

La problematica affrontata dai programmi che generano  gli orari   fa parte della branca della “Ricerca operativa” chiamata “Programmazione matematica”, vi è una funzione obiettivo che in questo caso esprime la qualità dell’orario e che si vuole ottimizzare , le cui variabili sono soggette a vincoli.

I programmi scientifici vanno valutati per i risultati che offrono e per la velocità con cui li  ottengono   e non certo per la bellezza delle schermate.

L’ autore, essendo un ingegnere nucleare  (laurea al Politecnico di Milano 100 e lode)  che ama la matematica e l’informatica avendo:

​​

  •  fatto una tesi in fisica teorica sui plasmi (gas ionizzati) presso il centro di ricerca del CNEN di Frascati durata un anno e mezzo pubblicata sulla rivista più prestigiosa di fisica italiana, il  “Nuovo cimento”.

  •  scritto programmi scientifici anche per l’Enel Nucleare  ecc 

  • avuto come suo cliente la Fiat Auto di Torino.. 

  • lavorato per 17 anni anche a Londra e negli USA  in quella che una volta era la seconda multinazionale del mondo dell’informatica Sperry Univac” (poi, dopo la fusione  con un’altra azienda rinominata Unisys)

ha affrontato il problema in maniera scientifica e non ha emulato quello che poteva fare un “orarista” anche tenendone conto, ove utile, ottenendo risultati nettamente migliori dei programmi della concorrenza.

​​

Per generare l’orario occorre affrontare due enormi complessità:

  • renderlo completo rispettando rigidamente i vincoli

  • renderlo  “bello” seguendo i desiderata della scuola.

Gestendole separatamente se ne affronta la somma, mentre affrontandole insieme il prodotto.

In tal modo il programma si preoccupa prima di generare un orario completo rispettando i vincoli ,i "primo orario", successivamente si preoccupa di ottimizzarlo seguendo i desiderata della scuola.
Fare le due cose insieme  è quanto è costretto a fare un buon “orarista” e, da quanto detto da clienti che usavano altri programmi, sembrerebbe che sia la strategia usata da questi ultimi.  Il seguirla, da solo,  potrebbe spiegare la loro inefficienza e lentezza.

ORARIO non è stato progettato solo come un programma per aiutare l’utente a fare l'orario, ma  anche con l'ambizione per cui, una volta immessi i dati, l'orario che lui genera sia pubblicabile con nessuno o pochissimi ritocchi.


Al riguardo si ricorda un episodio avvenuto nel 2014, quando il professore Luigi Ingrosso, preside del liceo San Francesco d'Assisi di Roma,  provò ORARIO  per un ITI di cui era reggente.

Il preside terminata la prova disse "Basta con questi programmi che fanno solo una bozza (dell' orario) , d'ora in poi pubblicheremo l'orario così come lo ha generato il suo programma".
Disse ciò perché l'orario che aveva ottenuto era sensibilmente migliore di quello che avevano pubblicato sui cui la commissione orario aveva  lavorato per più di un mese per ritoccarlo avendo utilizzato un programma molto diffuso, specialmente al nord, che, però, aveva delle schermate esteticamente perfette.

In quella occasione fece acquistare il programma sia per l'ITI che per il suo liceo.

Da allora ORARIO è continuato a migliorare anche per la qualità dell'orario generato ma non solo.

La creazione di un orario completo e rispettoso dei vincoli: “il primo orario”

Nel seguito questo aspetto viene trattato con maggiori dettagli.

​​​​

 Il programma, prima di iniziare a generare l’orario, durante la verifica analizza i vincoli posti dall'utente.

Nei casi in cui ritiene che sia impossibile completarlo rispettando i vincoli o che, rispettandoli, possa generare un orario molto brutto od incompleto, invita l’utente a leggere il rapporto “Consigli vincoli”.
In quest'ultimo  indica, con toni diversi in base alla loro gravità, quali vincoli andrebbero rilassati.

​​

Il programma genera un orario rigidamente rispettoso dei vincoli. Dove altri programmi lasciavano anche 30 ore non messe il programma riusciva a completare l’orario. Alcuni programmi, a volte, riescono a completare l’orario non rispettando i vincoli.

Professori che avevano provato 4 o 5 programmi diversi per generare l’orario dicevano che ORARIO era di gran lunga il migliore, si ricorda di una professoressa che disse “è un altro mondo”.

​​

La ottimizzazione

Nel seguito questo aspetto viene trattato con maggiori dettagli.

I nuovi utenti affermano che l’orario ottimizzato che ha generato ORARIO è molto migliore di quello pubblicato dopo che, la commissione orario aveva speso anche un mese o più per migliorarlo.

Dato che non esiste uno standard dell’orario, scuole diverse danno maggiore o minore rilevanza ad aspetti diversi per cui si può valutare l’orario.

Nel programma utilizzando dieci numeretti chiamati  “pesi dell’ottimizzazione” l’utente può indicare quali aspetti sono più rilevanti per la sua scuola in modo di non dover poi lavorare moltissimo a modificare l’orario generato.

 

Una cosa simile, ma per sei aspetti diversi per cui si può giudicare l’orario di un professore, si può fare, per lo più per eccezione, con le “Importanze dei professori” per indurre, il programma ad avere un comportamento per quello/i aspetto/i diverso/i  per un professore rispetto a quello tenuto con tutti gli altri.

Anche questa possibilità, se usata, può diminuire pesantemente i ritocchi finali.

Durante l’ottimizzazione in pochi minuti ORARIO ricava ed analizza milioni di mosse rispettose dei vincoli molte delle quali muovono anche 8 professori in due classi. In un caso anche 11, ma è rarissimo.

Nei laboratori, specialmente se molto pieni, per spostare gruppi di più ore ORARIO considera spesso mosse che muovono anche 10 ore su due classi, il massimo che si è visto è 14 ma anche questo caso è raro anche se non rarissimo.

La velocità di ORARIO e le prove

Nel seguito questo aspetto viene trattato con maggiori dettagli

A parte la qualità dell’orario, la velocità del programma è molto importante per consentire di eseguire più prove ma anche perché l’utente acquisisca la sensibilità dell’importanza dei vincoli ed ORARIO è molto più veloce degli orari della concorrenza.

​​

Un professore raccontava, recentemente, usando la versione 3a di ORARIO, che nel tempo che impiegava il programma che usava, uno dei più diffusi, a generare un orario,  con ORARIO ne aveva ottenuti e studiati 3 diversi.

Durante le prove, utilizzando il comando “Salva in altra directory” l’utente può, in pochi secondi, mantenendo tutti i dati del modello da cui è partito, crearne uno nuovo in cui il programma copia tutti i file necessari in un’altra cartella creando un nuovo modello e da quel momento lavora in quel modello.

Inoltre dato che, durante la generazione dell’orario, il programma ricorda l’ orario in diversi stadi di avanzamento (es. con le sole ore di indisponibilità dei professori che insegnano in altre scuole, con le sole ore dei laboratorio....l’ultimo su cui ha lavorato l’utente) si  può ripartire dallo stadio di avanzamento che si ritiene più utile conservando così i dati del modello da cui si è partiti ed evitando di ripetere il lavoro già fatto.

Per ottimizzare un ITI di 80 classi con 184 professori curriculari e 21 laboratori usando una CPUI9-14900KF  ed un solo core ((ovvero una delle unità di calcolo indipendenti contenute all'interno del moderno chip CPU) ORARIO ha impiegato 161 secondi mentre su un portatile con un I7-1195G7 del 2021, progettato per la produttività quotidiana e l'autonomia, ha impiegato  274 secondi.

Durante questo tempo il programma ha ricavato e valutato, per 10 aspetti diversi, 65.8 milioni di mosse, ne ha eseguite 62448, spostando 206439 ore..(si veda dopo per maggiori dettagli).

Facendo un solo orario e utilizzando un solo core considerando che la CPU del I9-14900KF usato nella prova ha 24 core di cui 8 più veloci e 16 meno, il programma per ottimizzare un orario ha sfruttato solo 4.5% della potenza della stessa mentre sul I7 del portatile con solo 4 core  ne ha sfruttato  solo un po' più del 25%.

Durante l’ottimizzazione ORARIO fa pochissimo input/output.

​​

Il calcolo parallelo

Nel seguito questo aspetto viene trattato con maggiori dettagli.

Che si sappia i programmi più diffusi per fare l’orario usano un solo core per generare un solo orario sfruttando così una piccola frazione della potenza della CPU, come fa la versione 3a di ORARIO.

​​​

Nella versione 3b vi è la possibilità di ottenere fino ad un massimo di 64 orari diversi, utilizzando il “calcolo parallelo”, che consente, durante l’ottimizzazione, di ottimizzare più orari in parallelo, sfruttando tutti i core della CPU.

Usandolo, ORARIO, all’inizio dell’ottimizzazione, lancia un numero di orari eguale a quello dei core, poi quando un core termina un orario, ne inizia uno nuovo per tenere sempre occupati tutti i core sino a quando sono tutti terminati.

In questo modo, esplorando in maniera molto maggiore l’insieme delle soluzioni in molto meno tempo che generandoli separatamente e, scegliendo tra gli orari ottenuti il migliore, è possibile ottenere un orario sensibilmente migliore di quello "classico" generato con una sola CPU .

​​

 Sullo stesso PC ORARIO per ottenere 64 orari diversi, durante l'ottimizzazione, per lo stesso ITI con 80 classi ha impiegato 14 minuti  e 18 secondi .

Il numero di mosse trovate ed analizzate nei diversi orari ottenuti, in questo caso sono oscillate tra i 60 e 124 milioni , il numero di mosse eseguite tra 60288-100214 e in almeno un caso il programma ha eseguito almeno una mossa che muoveva 14 ore.

Ottenendo 64 orari di un liceo di 61 classi e 114 professori ed un laboratorio (la palestra), il programma ha impiegato solo 6 minuti e 36 secondi. Il minore tempo impiegato è legato in parte al numero minore di classi e dei laboratori e ad altri fattori legati all’architettura interna delle CPU. Per maggiori dettagli si veda nel seguito

​​

L'algoritmo, utilizzato per generare più orari in parallelo, nasce da un'idea per migliorare la ottimizzazione di un singolo orario; usandolo riesce a generare diverse soluzioni alternative , andando ben oltre la semplice “forza bruta”'.

​​

Generando 64 orari per studiarli tutti, singolarmente, si impiegherebbe tantissimo tempo.

Per ridurlo notevolmente ORARIO utilizza un algoritmo che si sviluppa in 3 fasi in ognuna delle quali aumentando il numero dei dati mostrati, l’utente può scartare gli orari che gli sembrano meno promettenti, ma senza cancellarli per eventuali ripensamenti risparmiando così  moltissimo tempo.

​​​

ORARIO può generare orari che accontentano i professori ma che sono anche didattici

Negli anni l’algoritmo dell’ ottimizzazione ha continuato a migliorare ed esplorando in maniera più intelligente l’insieme delle soluzioni e anche grazie ad un tipo di mossa, che ha solo una valenza didattica, fatta durante l’ottimizzazione, molte scuole riescono anche con le versioni precedenti alla 3b ad ottenere un orario che accontenti sia i professori ma che è anche didattico e si ritiene che ciò sia di estrema importanza per le scuole.

Nella versione 3b generando in poco tempo molti orari diversi anche 64, esplorando così in maniera molto maggiore l’insieme delle soluzioni, questa possibilità è ulteriormente migliorata. 

I ritocchi all’orario

Per fare i “ritocchi” all’orario il programma usa due algoritmi diversi.

  •  Il primo “Alloca/Dealloca” sfrutta i tasti del mouse come una matita ed una gomma, ha moltissime possibilità, di cui gli utenti spesso non si accorgono anche se basterebbe fare clic sul pulsante “Help” per utilizzarlo molto meglio.

  •  Il secondo “Muovi/Riempi”  è più innovativo.

  1. L’utente scelto un professore  e vedendone l’orario se fa clic su un’ora allocata, il programma capisce che vuole vedere le mosse che spostano quella ora, se invece lo fa su un’ora in cui non insegna capisce che vuole riempirla.

  2. In entrambi i casi ORARIO in qualche secondo ricava da 0 a 1200 mosse rispettose dei vincoli, le valuta, le ordina dalla migliore alla peggiore e le mostra sullo schermo partendo dalla migliore (volendo possono essere scritte in un file che ORARIO apre con il BloccoNote di WINDOWS) e, guardando le prime l’utente può fare eseguire la mossa che gli piace di più.

  3. Facendo invece clic, tenendo il tasto “control” abbassato, nel caso in cui faccia clic su un’ora allocata ORARIO chiede in quale giorno l’utente desideri porla, se invece fa clic su un' ora vuota chiede da quale giorno desidera spostarla.

Per altri dettagli si veda nel seguito.

​​​

Le palestre ed i danni delle ore bloccate

In molte scuole, per evitare che in palestra vi siano nella stessa ora e giorno classi con una differenza di anni di corso elevata (es 1° e 5°) l’orario delle palestre viene fatto prima dai professori di scienze motorie, che molto spesso non fanno parte della commissione orario ,e queste ore vengono inserite prima dell'inizio della generazione  dell’orario bloccandole.

Così facendo però si riduce in maniera enorme l’insieme delle soluzioni  ed è molto probabile che l’orario generato sia estremamente “brutto”.

Per impedire che ciò accada usando ORARIO, per le palestre, oltre ad indicare il numero dei professori presenti in palestra nelle stesse ore, occorre indicare anche la "massima differenza di anni di corso delle classi che possono essere presenti nella stessa ora e giorno in palestra".

​​​

E’ molto istruttivo un episodio avvenuto in una scuola cliente di 49 classi e 90 professori nel 2019.

 L' utente avendo bloccato l’orario delle palestre, anche ponendo al massimo il peso “eliminazione delle ore buche” ed al minimo tutti gli altri pesi l’orario ottenuto aveva un numero enorme di buche (240).

Studiando l’orario della palestra, l’autore ricavò i due parametri (numero professori presenti in palestra, e la massima differenza di anni di corso delle classi presenti ..), vi erano al massimo 3 professori in palestra e la differenza di anni di corso massima era 2  al massimo nella stessa ora e giorno vi era una 1a con una 3a od una 2a con una 4a.

Inserendo una palestra con questi due parametri e riottenendo l’orario il numero delle ore buche si ridusse di un fattore 6, a 40, in questo modo poterono poi aumentare anche gli altri pesi dell'ottimizzazione. Quaranta ore buche con 90 professori sono veramente poche per le sostituzioni.

L’autore, successivamente, usando il calcolo combinatorio, ricavò che bloccando 98 ore dei  professori di scienze motorie si riduceva l’insieme delle soluzioni di un fattore dell’ordine di  10⁵⁰   e ciò spiegava ampiamente  l'enorme numero delle buche.

​​

Discutendo delle palestre vi era una scuola cliente che, usando un centro sportivo esterno poteva inviarvi in ore e giorni diversi un numero di classi diverse e l’utente  era costretto, per queste classi, a bloccare l’orario di quella palestra con i danni che si è appena visto.

Per eliminare questo problema si fece una modifica ad ORARIO per cui nelle palestre si potesse avere non solo, come era nelle versioni precedenti, la possibilità di non utilizzarla in alcune ore, ma di poter anche indicare quanti professori potessero andare in palestra in ore diverse. Così facendo l'orario migliorò sensibilmente.

Si scoprì, poi, che un’altra scuola cliente aveva un problema simile. 

 L’arrivo di un professore che insegna in un'altra scuola.

Se, come spesso accade, un professore che insegna in un' altra scuola, non può essere disponibile come si era ipotizzato e se l'utente non desidera modificare molto l'orario già pubblicato, può bloccare l'orario delle classi dove non insegna il nuovo professore arrivato, e, modificati i suoi  dati (indisponibiltà e giorno libero)  chiedere ad ORARIO di riottenere l'orario completo ed ottimizzarlo lavorando solo sulle classi non bloccate.
Naturalmente potrebbe farlo l'utente ma sarebbe molto più impegnativo

Se le modifiche delle disponibilità del nuovo professore fossero pesanti occorrerà deallocare delle ore in quelle classi nei giorni in cui il programma non riuscisse a completare  l'orario.

Rifacendo l'orario ex novo si potrebbe ottenere un orario migliore, dato che tutte le ore sarebbero allocate anche in funzione dei nuovi vincoli, mentre operando  su parte dell'orario  bloccato si ha una situazione ibrida, ma almeno non si è ottenuto un orario molto diverso.

Nella documentazione (help) nel libricino "L'uso di ORARIO" si discute di questa ed altre problematiche legate all'orario e di come gestirle con il programma.

Il compito in classe

L’utente  può specificare, per ogni professore e classe ove insegna, non solo quante ore consecutive devono essere assegnate almeno una volta alla settimana per il compito, ma anche quale deve essere l’ultima ora in cui può iniziare il compito.

Quest’ultimo dato è utile, per i compiti impegnativi, per impedire che inizino quando gli alunni sono già stanchi.

Un compito può durare anche solo un'ora, nel caso il programma è obbligato almeno una volta alla settimana, per quel professore e classe ad allocare almeno un'ora che inizi non oltre l'ultima ora valida per il compito in classe.
Quest'ultima possibilità è molto utile per i professori che insegnano sempre un ora in una classe.

Le classi articolate

ORARIO intende per classi articolate, classi in cui una buona percentuale delle ore  insegnate vengono svolte in parallelo da professori che insegnano discipline diverse avendo le due classi specializzazioni diverse, mentre  le due classi si uniscono per le materie che hanno in comune attraverso tanti abbinamenti composti da un professore e le due classi.

Per queste ultime inserendo i dati del professore si dirà che insegna in una delle due, non importa quale, l'altra verrà aggiunta con l'abbinamento.
In un caso abbastanza raro potrebbe accadere che il professore, in una delle due classi insegni altre ore con una delle due per cui, quando si inseriscono i dati di quel professore si dovrà inserire la classe ove fa più ore.

Per i casi delle classi bilingue in cui una parte degli alunni di un classe segue una lingua diversa e si sposta in un’altra classe basta fare un abbinamento con i due professori e le due classi e la problematica è molto meno impegnativa per ORARIO.
Nel  caso che vi siano due lettori si diminuirà il numero di ore nel primo abbinamento e se ne aggiungerà un altro con i due professori, i due lettori e  le due classi ed in modo analogo se di lettori ce ne fosse uno solo poi potrebbero esserci altre combinazioni con tre abbinamenti se i due lettori non hanno mai ore in comune.
Poi esistono altre combinazioni che si possono risolvere o con gli abbinamenti.

Gestisce più classi che aule

Il programma ricava le associazioni classi aule e serve per le poche scuole che hanno più classi che aule. 
Eventualmente, per rimediare alla carenza di aule, si può anche fare in modo che 6 gruppi di classi, facendo l’orario in 5 giorni, non vadano a scuola in giorni diversi della settimana, il 1° gruppo il lunedì, il 2° il martedì... e che 5 di questi gruppi cambino l’aula una sola volta alla settimana mentre un gruppo usi sempre la stessa aul
a.

Genera i consigli di classe

ORARIO oltre a chiedere il numero di classi che si vorrebbe avere in parallelo nei consigli di classe che non hanno professori in comune, per i consigli meno importanti permette di escludere alcuni professori dal parallelismo .
Il programma mostra le n-uple delle classi che non hanno professori in comune non considerando quelli esclusi e, per ogni classe, tutte quelle che non hanno professori in comune, al solito, non considerando quelli esclusi dal parallelismo

La sicurezza dei dati

I dati di un modello sono salvati in queste occasioni:

  • Durante il salvataggio ciclico (l'intervallo tra un salvataggio ed il successivo viene definito dall'utente)

  • Con il comando "Salva" del menù "File"

  • Con il comando "Salva in un'altra directory (cartella)" del menu "File" per "congelare"  un modello e crearne uno nuovo inizialmente con gli stessi dati ma su cui saranno salvate tutte le modifiche successive. Funziona  come "salva con nome" solo che invece di operare su un file lo fa su una cartella dove ORARIO salva solo i file necessari.

  • Durante la chiusura di un modello salva:

    • le ultime modifiche della sessione nella cartella del modello,

    • in una cartella che fa parte di un gruppo di 26 cartelle che usa in maniera ciclica, 

    • chiede di salvare anche su una pen-drive. 

  • Durante l'esecuzione, ogni venti minuti di attività, crea un "checkpoint"  (un salvataggio ciclico ma su una cartella diversa del gruppo delle 26 cartelle) in modo da consentire all'utente, nell'eventualità che avesse fatto qualche errore, di non perdere troppo tempo a correggerlo, ma di ripartire da una situazione intermedia e così se si dovesse spegnere il PC.

Durante l’eventuale ripartenza dai punti di ripristino, il programma li mostrerà in maniera ordinata partendo dall’ultimo modello salvato, ma li copierà in un nuovo modello per evitare la perdita dei vecchi dati nel caso in cui l'utente, inavvertitamente, avesse ripristinato una sessione diversa da quella che immaginava.​

Colloquia con i registri elettronici

ORARIO colloquia con sette registri elettronici diversi creando per ognuno un file diverso, normalmente è un file csv (Excel).

Utilizzare ORARIO è molto facile

Molti oraristi, abituati ad utilizzare programmi estremamente complessi da usare, hanno timore di cambiare il programma che usano che hanno impiegato anni per imparare ad utilizzarlo.

ORARIO non è complesso ma ha moltissime possibilità e, spesso, avendo gli utenti ottenuto un orario molto migliore delle aspettative, credono di saperlo usare senza utilizzare parti molto importanti che potrebbero aiutarli a risparmiare  molto tempo.

ORARIO è pienissimo di aiuti, qui se ne citano solo alcuni ma nel menu Help del programma, scegliendo la voce "Particolarità Interfaccia" vi è una lunga sequenza di  aiuti e di piccole cose che possono aiutare l'utente.

  • Uno molto originale, è che nella schermata principale, in base alla situazione in cui si trova il programma, mostra un messaggio in cui dice all’utente cosa debba fare per proseguire e, ogni volta che il messaggio cambia avvisa l’utente.

​​​​

​Posizionandosi su un campo (casella): 

  • battendo il tasto F1 il programma apre il documento del  Help in cui si spiega a cosa serve il dato da inserire, dando eventualmente anche consigli. ORARIO fa ciò dappertutto anche nelle opzioni di stampa.​

  • nelle schermate dove l'utente deve inserire più dati nella/e righe di dettaglio sono scritte informazioni utili sul dato da inserire anche se non quante se ne possono avere con il tasto F1.

  •  se la base del rettangolino  del  campo è più spessa e scura (nella terminologia di orario  si usa dire che è "cliccabile"), oltre a potere inserire il dato da tastiera, il campo si comporta come un "menu a tendina" ma un po' meglio;
    facendo clic con il tasto sinistro del mouse si apre una finestra con tutti i dati tra cui l'utente può scegliere, ma i dati non  sono incolonnati, se fossero tanti  si perderebbe  tempo con la barra di scorrimento, ma affiancandoli eventualmente su più righe  l’utente può scegliere  più velocemente  il dato (es. in base al caso i nomi dei professori, delle classi, i giorni liberi, i numeri compresi in un intervallo...) infine inserito il dato ORARIO sposta i cursori del mouse e della tastiera sulla casella successiva.​
    L'uso dei "campi ​​​​​cliccabili" è estremamente diffuso nel programma, ogni volta in cui ORARIO ma anche CATTEDRE sanno quali sono i dati tra cui può scegliere l'utente e ciò lo aiuta molto.

  • per inserire i nomi dei professori l’utente può anche batterne i primi caratteri e, quando i professori il cui nome inizia con gli stessi caratteri sono meno di 11  ORARIO apre, accanto al campo una finestra con i loro nomi e l’utente può sceglierlo con un clic.
    Volendo, molti preferiscono non spostare le mani dalla tastiera, l’utente può aggiungere qualche altro carattere sino a quando vi è un solo  professore il cui nome inizia con i caratteri digitati.

ORARIO non fa distinzione tra maiuscole e minuscole, ad esempio avendo  inserito un professore con nome  “Pippo” ,   poi si può fare riferimento al professore battendo “PiPpo” o “pippo”...    Inoltre, se gli si dovesse cambiare nome, basa farlo nella voce “Modifica” del menu “Professori ” . 

 

Nelle schermate in cui l'utente deve inserire più dati:

  • vi è sempre il pulsante Help, premendolo apre l'Help su documento ove descrive la schermata, spesso vi sono immagini..

  • muovendo il mouse sia sulle caselle che sui pulsanti, compare un breve aiuto su una o due righe di dettaglio posizionate sopra i pulsanti.

​​

Nella gran parte delle schermate in cui si inseriscono o modificano i dati della scuola vi sono due o tre pulsanti

  • "Velociz.Inser"  (Velocizza l'inserimento) premendolo porta al documento del Help ove vengono descritti i "trucchi"  per inserire i dati di quella schermata più velocemente

  • "Tutti i dati" premendolo ORARIO apre con il BloccoNote di Windows un file dove sono scritti tutti i dati inseriti. Si  potrebbe anche uscire dalla finestra ed andando al menu "Rapporti" per vederlo, ma così è più veloce per l'utente.

  • "Esegui e copia" serve per potere utilizzare  una parte  dati che vi sono sulla schermata per inserire la prossima "entità" (professore, abbinamento, gruppo di laboratorio).

  • Una cosa simile accade se si vuole ripristinare i dati di una sessione o checkpoint.

​​

  • ORARIO è estremamente attento nella ricerca di possibili errori commessi dall’utente.
    La segnalazione è, normalmente, immediata. Inoltre  durante  l'inserimento o modifica dei dati il programma posiziona il cursore del mouse e quello della tastiera sul campo in errore. Sempre nell'inserimento/modifica dei dati, quando l'utente cambia riga,  il programma controlla tutti i campi della riga che si sta per lasciare ed anche quelli delle righe precedenti per evitare che siano in contrasto con quelli della riga che sta lasciando.
    Poi durante la "verifica" , ORARIO, lavorando sui tutti i dati del modello, cerca di individuare altri errori  e dà segnalazioni di casi inusuali .

​​​

  • Per l'inserimento dei dati nelle schermate delle classi, professori, abbinamenti e laboratori, è fortemente consigliato inserire tutti i dati della prima riga della schermata, poi quelli della seconda ecc. la stessa cosa vale per la modifica. 
    Questo modo di procedere comporta dei vantaggi:

    • il primo è che il programma, man mano che si cambia linea può fare controlli accurati sui dati immessi ed eventuali errori possono essere rilevati immediatamente

    • il poter recuperare, senza ribatterla una riga inserita non troppo tempo prima oltre ad altri vantaggi.  

    • In alcuni  casi , il programma suggerirà i dati sottostanti sfruttando quelli delle righe precedenti.

 

ORARIO ha oltre 1700 finestre e, la gran parte di queste, servono ad avvisare l’utente di possibili errori, suggerimenti o richieste di attenzione in cui il programma spiegando qualche cosa chiede all'utente se vuole proseguire. 


La filosofia con cui è stato scritto ORARIO è che l’utente possa sbagliare ma il programma non debba permetterlo.

​​​

Quando ORARIO si accorge che l'utente sta facendo qualche azione "inusuale" lo avvisa, se è anche "pericolosa" ma che potrebbe essere fatta oltre ad avvisarlo gli chiede se è sicuro, ed in alcune occasioni anche due volte. 
In ogni caso vi sono i "checkpoint" per cui, partendo dall'ultimo, l'utente  perderebbe al più gli ultimi 20 minuti di lavoro.

Rapporti 
Vi sono oltre una ventina di rapporti che si possono o stampare o fare scrivere in formato TXT o CSV questi ultimi due vengono aperti direttamente dal programma usando rispettivamente Il BLOCCONOTE di WINDOWS (NOTEPAD) con EXCEL o un programma equivalente. 
Se i rapporti riguardano professori o classi si possono selezionare secondo i casi quali professori o classi includere nel rapporto e volendo ricordare la selezione se si pensa di riutilizzarla anche successivamente. 
Poi vi sono, in base al rapporto, diverse opzioni, il rapporto che ne ha di più è quello del tabellone dei professori che  ha 12 opzioni diverse. 
​​

​ORARIO genera i file HTML per il sito della scuola
Dato che il sito della scuola è un biglietto da visita della stessa, si è posta molta cura affinché le schermate siano molto belle ed eleganti. 
Si possono usare i colori diversi per evidenziare i nomi delle materie. Oltre all’orario delle classi, professori e laboratori, l’utente può scegliere di avere la tabellina dell’ orario delle lezioni e quella dei ricevimenti in cui  per i professori che insegnano in altre scuole viene scritto oltre al giorno anche in quali settimane del mese ricevono.

​​​

L'assistenza

La assistenza viene data direttamente dall’autore ed a settembre si può chiamare sino alle 24 visto che avendo una casa moto grande l’ufficio si trova a casa.
Inoltre, volendo provare l’orario, per rendere più semplice la prova, l’autore può fare una introduzione in teleassistenza della durata di circa due ore, che aiuterà a velocizzare la prova. Infine, chi lo proverà potrà chiamare anche più volte al giorno se incontrasse difficoltà.

 


R I A S S U M E N D O


I motivi principali per cui conviene passare ad usare ORARIO sono:

  •  per la scuole potere avere un orario che accontenti i professori e che sia anche didattico è  il motivo fondamentale. 
    Le scuole esistono per educare al meglio gli alunni ma se anche i professori sono contenti possono svolgere il loro lavoro con più serenità e meglio.

​​

  • Potere fare partire più velocemente la scuola con un orario definitivo.

​​

  • I professori che fanno l’orario potrebbero lavorare molto meno per ottenere un orario definitivo.  


La versione 3b per ora funziona solo con WINDOWS 7 o successivi. Se fosse necessario occorrerebbe contattare l’autore che potrebbe fare delle modifiche per le versioni precedenti di WINDOWS . 
In ogni caso si consiglia di passare a WINDOWS 11 che è più sicuro per tutti i programmi e, colloquiando con la CPU può anche migliorarne le performance.

Approfondimento

 

Come già detto nel seguito alcuni degli  argomenti appena visti, vengono trattati con maggiore dettaglio insieme ad altri che possono essere importanti per conoscere e sfruttare meglio ORARIO.

Si consiglia di leggere il seguito in particolare se si avesse intenzione di provare ORARIO o se si è suoi clienti.

Gli eventi che hanno poi permesso la creazione di ORARIO

Essendo ORARIO un programma scientifico, fa parte della branca “Programmazione matematica” della “Ricerca operativa” ed essendo l’ autore un ingegnere nucleare che ha fatto per più anni il ricercatore, ha scelto di trattarlo in maniera scientifica, invece di cercare di emulare quanto fa un buon “orarista”, ottenendo così dei risultati molto migliori.

Per avere più informazioni al riguardo si consiglia di leggere la pagina “introduzione” del sito.

  • L’autore,  per 17 anni ha lavorato alla Sperry Univac poi dopo l’unione con la Burroughs  rinominata Unisys (allora. tra imprese informatiche. la numero due al mondo per fatturato) anche a Londra e negli Stati Uniti, interessandosi per alcuni anni a trovare errori nel sistema operativo dei mainframe (calcolatori enormi e costosissimi anche 50 miliardi di lire degli anni 80)  ed era considerato uno dei migliori sistemisti della ditta in Europa) per cui le sue conoscenze informatiche lo hanno molto aiutato a scrivere un programma così complesso velocissimo e solido.

  • L’autore ha scritto diversi programmi scientifici, il primo durante una tesi di fisica teorica durata un anno e mezzo presso il centro di ricerca del CNEN di Frascati sui gas ionizzati (i plasmi), un altro al centro Euratom  di Ispra, e due lavorando al CISE per l’Enel Nucleare per la centrale nucleare di Caorso ed altri 2 per una società di ingegneria. 

  • il primo, al CISE, calcolando la durata di una carica di combustibile di un reattore nucleare , su richiesta dell’Enel per potere fare delle simulazioni, riduceva di 450 volte il tempo di esecuzione, rispetto ad un altro programma, probabilmente della General Electric, ottenendo gli stessi risultati. 

  • L’altro programma, allora sembrava immenso,16000 righe di codifica (ORARIO ne ha circa 170000) e raccontava un suo compagno del politecnico che lavorava alla centrale di Caorso ormai chiusa, fu poi venduto dall’Enel all’ente omologo giapponese e, dopo 20 anni era ancora molto utilizzato ed apprezzato in Enel.

  • Poi altri due per uno studio di ingegneria, di cui uno di “Programmazione matematica” per un “project financing” per l’ "Acquedotto Pugliese”. 

 

La verifica dei dati

Dopo aver inserito tutti i dati, l’utente chiede al programma di fare la “verifica” dei dati. 

Durante la verifica, impiega qualche secondo, ORARIO prima di generare l’orario, oltre a controllare che non vi siano incongruenze tra i dati inseriti, anche utilizzando una piccola ridondanza dei medesimi ed altre amenità, cerca di capire se i vincoli posti dall’utente gli consentiranno di fare un orario completo e, se è sicuro che sia impossibile, avvisa l’utente e gli spiega, nel rapporto "Consigli vincoli", il motivo e l'utente deve seguire i suoi consigli.

Dato che non è sempre possibile predire dai dati inseriti la impossibilità del completamento dell’orario, rispettando i vincoli, se ORARIO si accorge che l’utente ha usato vincoli pesanti lo invita a studiare il rapporto “Consigli vincoli” dove dà delle indicazioni, con toni diversi in funzione della loro pesantezza .

In quest’ultimo caso, l’utente può o non seguire i suoi consigli, ma, se poi ottiene un orario incompleto o non molto bello sa almeno cosa deve cambiare ed avrà solo perso del tempo, ma non troppo, perché il programma è estremamente veloce. 

Ripartirà da un orario vuoto o quasi ma con le indisponibilità dei professori che insegnano anche in altre scuole (le ore “O” come occupate) , rilasserà il/i vincolo/i e chiederà al programma di rifare l'orario. Il tutto in pochi minuti.

Volendo, l'utente potrebbe anche cambiare un vincolo quando il programma lo avvisa che non riesce a completare l'orario e poi dirgli di continuare, ma, partendo da un orario vuoto può consentire al programma di fare un orario migliore e/o completo, mentre continuando, le allocazioni precedenti al suo cambiamento erano state fatte non considerando il/i vincoli modificati.

Comunque se i vincoli non fossero molto pesanti potrebbe essere poco importante.
 

Infine, dato che il programma è estremamente veloce, ottenuto un orario senza modificare i vincoli ,“salvando con nome" i dati del modello, in un  nuovo modello (voce "Salva in altra directory" menu "File") partendo da un orario con le sole ore "O" ( quello in cui ha indicato le ore in cui i professori che insegnano in altre scuole) ,  può provare a rilassare qualche vincolo ed ottenere un nuovo orario. Poi, per fare prima, confrontando le statistiche dell'orario dei due modelli, potrà decidere quale scegliere. Farlo potrebbe anche accrescere la sua sensibilità nel giudicare i danni che i vincoli provocano alla qualità dell'orario.

 

La creazione di un orario completo 
ORARIO, a differenza di quanto sembra facciano i programmi più diffusi, crea l’orario in due fasi. 
Nella prima genera un orario molto brutto (è molto importante sia tale, per motivi matematici,)  ‘il primo orario”  e poi lo ottimizza.
Questo comportamento è molto importante anche perché così facendo il programma può affrontare separatamente e molto meglio, le due grandi complessità: generare un orario completo rigidamente rispettoso dei vincoli e renderlo molto “bello”. 
Inoltre, ricordando gli orari in diverse fasi dell’esecuzione, consente all’utente di ripartire da una di queste senza dovere ripetere quanto già fatto in precedenza.
Una delle più importanti qualità del programma è la sua capacità di generare un orario completo e rispettoso dei vincoli. 
Molti nuovi clienti raccontavano che il programma che utilizzavano gli lasciavano molte ore non messe mentre ORARIO aveva completato l’orario. 

L

La complessità di una scuola incide essenzialmente sulla completezza dell'orario.
Spesso le scuole si lamentano di avere vincoli molto pesanti ma in realtà è solo perché il programma che usano non è in grado di affrontarli.

 

Una scuola molto complessa è il Regina Margherita di Palermo che nei primi anni del 2000 aveva oltre 100 classi disposte su sei plessi e molti professori che insegnavano su 3 ma anche 4 plessi diversi, usano il programma ORARIO dal 1997. ​

Un altro caso che può sembrare molto complesso fu quello di una scuola di Grosseto. Vi erano tre gruppi di classi, uno nel primo plesso  faceva lezioni di 60 minuti in sei giorni alla settimana, un secondo gruppo, nello stesso plesso, le classi facevano  lezioni di 50 minuti in 5  giorni alla settimana ma non il sabato.
Vi era poi un terzo gruppo di classi che dal lunedì al venerdì stava nel secondo plesso e che il sabato occupava le aule lasciate libere dal secondo gruppo di classi nel primo. 
Potrebbe sembrare complicato ma in realtà è semplicissimo se svolto con tre plessi  e facendo cambiare plesso alle classi del terzo gruppo il sabato. 
ORARIO gestisce anche classi che cambiano plesso nei giorni della settimana così come anche la doppia campanella e volendo (è capitato solo una volta) una tripla campanella. 

Stupì la domanda fatta, recentemente, da un professore in cui chiedeva se ORARIO gestisse gli ITP, in fondo usava uno dei tre programmi della concorrenza più  diffusi.

ORARIO consente che vadano, nelle stesse ore nello stesso laboratorio un gruppo composto da 1 a 6 professori insieme ad 1 sino a 6 classi, anche se normalmente il gruppo è composto da 1 o 2 professori ed una classe. 

bottom of page