Week Table

Il modo più semplice per fare l'orario settimanale per ... tutto

 


Un compito semplice

La prima volta che affronti la stesura di un orario settimanale sembra un compito semplice: che sarà mai?

Dopo un ora inizi a chiederti chi te lo fa fare. Tutti hanno esigenze diverse, tutti hanno bisogno di una eccezione e, alla fine, tener conto di tutto diventa difficile.

Lo sanno bene gli insegnanti a cui viene affidato il compito di redigere l'orario scolastico, soprattutto nelle grandi scuole: decine di classi, decine di materie e decine di insegnanti ognuno con le sue piccole esigenze.

Ecco come è nato WeekTable: la generazione  dell'orario settimanale deve essere un compito semplice.


L'algoritmo

E' tutta una questione di algoritmo: la successione di passaggi che in base ai dati iniziali porta al risultato finale.

Per generare gli orari settimanali WeekTable usa un algoritmo pseudo-casuale che permette di creare migliaia di combinazioni (per lo più diverse le une dalle altre) in modo ordinato. Tanto per capirci, a parità di dati iniziali, la combinazione 327 sarà sempre la stessa.

L'algoritmo tiene conto di eventuali impostazioni iniziali: il docente X non vuole lezioni il martedì, il docente Y non vuole le prime ore del giovedì mentre il docente Z non vuole tutte le sue ore nella classe 3A nello stesso giorno.

Ognuno ha le sue esigenze e l'algoritmo ne tiene conto.


Messa a punto

Quando l'orario settimanale è quasi finito mancano solo poche tessere da aggiungere al mosaico. E' qui che il gioco si fa più duro.

Può succedere che per via dei troppi vincoli l'algoritmo non sia in grado di offrire un orario settimanale completo, oppure che la soluzione offerta non sia proprio perfetta: il docente X ha troppe ore buca, il docente Y ha troppe ore nella stessa classe tutte insieme. Oppure avete ricevuto una richiesta dell'ultimo minuto a cui non potete dire di no.

Qui WeekTable da il meglio di sè: una volta individuata la combinazione che più soddisfa le vostre esigenze potete modificarla con l'aiuto di una serie di strumenti che semplificano l'individuazione delle modifiche da apportare.