mercoledì 25 agosto 2010

L'orario scolastico - FET: un esempio, attività e subattività

Condividi questo articolo
Riprendo l'esempio sul funzionamento di FET che ho preparato e che è scaricabile cliccando sul seguente link:
In questo articolo voglio parlare di attività e subattività, ovvero le ore di lezione che il software dovrà assegnare.

Dopo aver spiegato come inserire i dati principali e prima di discutere di come inserire i vincoli mi sembra opportuno parlare di attività e subattività. Attività e subattività sono le ore di lezione che il software dovrà piazzare per trovare l'orario, cioè quando si deve svolgere una determinata lezione.


Dalla scheda Dati, che ho riportato qui sopra, se si clicca su Attività si apre la seguente finestra:

Nella colonna di sinistra è riportato l'elenco (numerato in ordine crescente di inserimento) di tutte le attività e subattività fin qui inserito, nella colonna di destra è possibile vedere un riepilogo dei dati dell'attività selezionata nelle colonna di sinistra e, mediante i campi filtro, è possibile visualizzare invece che tutte le attività, le attività di un determinato insegnante, o di un determinato gruppo di studenti, o quelle relative ad una determinata materia o ad una determinata chiave. I filtri possono anche essere utilizzati contemporaneamente. 

Ok, direte voi, ma esattamente cosa sono le attività? e le subattività? Perché nella colonna di sinistra alcune righe sono rientrate rispetto ad altre? Per comprendere clicchiamo sul pulsante Aggiungi, si apre la seguente finestra:

Un'attività sarà tenuta da uno o più docenti (in caso di copresenze) selezionabili dalla lista insegnanti, riguarderà una data materia, la dovranno seguire una o più classi, selezionabili dalla lista studenti, avrà eventuali chiavi di attività e potrà essere suddivisa in una o più subattività. Spieghiamo questo concetto. Supponiamo che il piano di studi preveda che una determinata classe faccia sei ore a settimana con il professore di matematica. Posso immaginare l'insieme delle sei ore come un'unica attività suddivisa in sei subattività. Non solo, ma posso imporre la durata delle subattività, e allora preferisco fare cinque subattività di cui una di durata due ore e le altre di durata un'ora così da permettere eventuali compiti in classe. Non solo, ma posso anche vincolare quanti giorni far passare da una attività all'altra, così da garantire un orario uniforme spalmato su tutta la settimana, così come, al contrario, potrei permettere che le subattività si svolgano nello stesso giorno. 

Certo, avrei anche potuto definire sei attività di durata un'ora, ma sarebbe stato molto più inefficiente. 

Un'osservazione importante. Supponiamo che stiamo parlando del professore di lettere che fa 10 ore in una determinata classe (senza contare le copresenze). Potrei introdurre un'attività composta da 9 subattività, 8 di un'ora e una di due ore per i compiti in classe. E magari vorrei anche che le 9 subattività fossero spalmate nella settimana introducendo un vincolo sui giorni minimi delle subattività. Beh, se mettete a questo vincolo il 100% di peso, cioè imponete che debba essere rispettato senza se e senza ma, il software ci dirà che abbiamo sbagliato ad inserire i dati. Perché? Se la settimana dura cinque giorni come posso suddividere un'attività in 8 giorni distinti? Certo, potrei anche mettere un peso non del 100%, magari 95%. Forse funzionerebbe, ma è sconsigliato lo stesso, fareste lavorare l'algoritmo per cercare una soluzione che non può esistere; alla fine rinuncerebbe a soddisfare il vincolo, ma dopo tanti, tanti, tanti calcoli inutili. Io faccio così, suddivido le ore di italiano in due attività, una da 5 subattività (con 4 subattività da un'ora e una da due ore) e un'altra attività da 4 subattività da un'ora. In tutto 10 ore. Le subattività delle singole attività le vincolo ad essere in giorni distinti, ma nulla vieta che una subattività della seconda attività capiti nello stesso giorno di una subattività della prima. Non so se è la soluzione migliore, ma è la mia.

In linea di principio potrei anche definire attività senza studenti, o senza professori. Per esempio è quello che in questo caso faccio con le Disponibilità: sono attività che alcuni docenti devono svolgere ma che non coinvolgono alcun gruppo di studenti.

Ora è anche possibile comprendere perché alcune righe della lista delle attività hanno un rientro: per distinguere fra loro le varie attività dalle varie subattività si è deciso che solo la prima subattività di un'attività è incolonnata a sinistra, tutte le altre hanno un piccolo rientro.

Dalla lista delle attività, se si clicca su Modifica, è possibile modificare l'attività precedentemente inserita e selezionata in quel momento. Si apre la seguente finestra:

molto simile a quella che permette di aggiungere le attività. L'unico dato che non può essere modificato è il numero di subattività nei quali è suddivisa l'attività. Per modificare quello l'attività va eliminata e ricreata ex novo. Per eliminare un'attività è sufficiente cliccare su elimina dalla finestra Lista delle attività: l'attività corrente (cioè selezionata nella colonna di sinistra) verrà eliminata.

Per concludere l'articolo vediamo che succede se si clicca su subattività dalla scheda Dati. Si apre la seguente finiestra:

dalla quale è possibile selezionare e modificare una singola subattività. Se si clicca su modifica si apre la seguente finestra:

dalla quale è possibile modificare alcune caratteristiche della singola subattività. Non può essere eliminata ma può essere disattivata, in questo caso FET non cercherà di allocarla durante la generazione dell'orario.

Concluderei con una cosa che avevo già descritto nell'articolo precedente: se dalla scheda Dati si clicca su Avanzate e poi su Statistica attività è possibile fare un riepilogo di tutte le ore e le attività assegnate, o meglio, impostate come dati. Perché ovviamente ancora nulla è stato assegnato, per ora stiamo ancora inserendo i dati. Ovviamente durata e numero delle attività non sempre coincidono perché alcune attività potrebbero durare più di un'ora.


7 commenti:

  1. ciao, complimenti per gli articoli, molto utili oltre che chiari.
    Volevo chiederti due cose:è possibile dire al programma che due docenti non devono essere presenti contemporaneamente? Se uno vuole fare ad esempio le ultime ore l'altro farà le prime...
    L aseconda cosa come possi distribuire le uscite e le entrate uniformente durante la settimana, in modo che ogni docente esca (o entri) lo stesso numero di volte dei suoi colleghi?

    RispondiElimina
  2. Ciao Enzo, grazie per le tue parole e per aver lasciato un commento nel blog.

    Con FET si può lavorare su entrambi i punti che mi hai chiesto. Quelli che tu chiedi sono due vincoli di tempo, quindi come prima cosa ti metto il link della pagina nella quale parlo dei vincoli di tempo:
    http://ilmondodellascuola.blogspot.com/2010/09/blog-post.html

    Per evitare che due docenti facciano lezione contemporaneamente è sufficiente usare il vincolo "Un insieme di (sub)attività non sono concomitanti" dal pulsante "Attività" della scheda "Tempo". Selezioni tutte le attività del primo docente, tutte le attività del secondo, così sarai sicuro che non avverranno mai contemporaneamente. A me però sembra una richiesta molto molto forte e vincolante, perché così imponi che non possa mai capitare che facciano lezione contemporaneamente. Magari potresti alleggerire il vincolo o mettendo un peso percentuale minore del 100%, quindi lui ci prova a soddisfarlo ma se non ci riesce per tutte le attività comunque ti trova un orario, oppure potresti imporre il vincolo non su tutte le attività, ma magari solo su metà delle attività dei due docenti.

    Circa la distribuzione di entrate e uscite con FET mi sembra non sia possibile imporre un esatto numero uguale per tutti. Però esiste il vincolo "Tutti gli insegnanti fanno lezione in un intervallo orario massimo n giorni a settimana" dal pulsante "Insegnanti" della scheda "Tempo". In pratica puoi imporre che al più facciano un numero massimo di uscite all'ultima ora o ingressi alla prima. Non è esattamente quello che chiedi perché se imponi al più che escano tre giorni all'ultima ora, tu imponi un limite superiore, in teoria qualcuno potrebbe fare solo due ultime ore, solo una o addirittura nessuna, però garantisci un minimo a tutti!!!

    Bye bye

    Fabio P

    RispondiElimina
  3. Salve,
    sto facendo l'orario per la scuola media con fet e non so come ringraziarti per questo (e per gli altri) tutorial!

    Adesso mi si pone un problema:
    un'insegnante dovrebbe fare italiano, storia e geografia nella stessa classe, per un totale di 10 ore. ho provato a generare un orario parziale e mi ha restituito un risultato nel quale avrebbe 4 ore consecutive nella stessa classe! infattibile! come posso dire al programma di non superare le due ore consecutive per uno stesso docente nella stessa classe? Come risolveresti?

    Grazie ancora!

    Gabriele

    RispondiElimina
    Risposte
    1. Nella scuola in cui faccio l'orario non hanno problemi a fare eventualmente tre ore consecutive. Io faccio così: creo una materia chiamata Lettere (l'orario interno se la vede il prof). L'orario è su 5 giorni a settimana. Creo una prima attività composta da 5 sub attività di cui una lunga 2 ore, con il vincolo con peso 100% che abbiano almeno un giorno di distanza. Così ho sistemato 6 ore. Poi creo una seconda attività composta da quattro sub attività di durata un ora, sempre con il vincolo con peso 100% che abbiano almeno un giorno di distanza. Così ho sistemato le rimanenti 4.
      Quindi ho le attività così suddivise, anche se non so in che giorni della settimana cadono.
      XXXXX
      X

      XXXX

      Se una delle sub attività del secondo gruppo cade in concomitanza con l'attività da due ore del primo gruppo quel giorno il prof farà tre ore di lettere. Non controllo se sono o meno consecutive. Se non vuoi giorni da tre ore puoi aggiungere vincoli del tipo Tempo > Attività > Numero minimo di giorni tra un insieme di attività e imporre che tutte e 4 le attività del secondo gruppo siano almeno ad un giorno di distanza dall'attività di due ore. Se non vuoi che le tre ore siano consecutive puoi aggiungere vincoli del tipo Tempo > Attività > Numero minimo di ore frapposte tra un insieme di attività e imporre che tra tutte le attività del secondo gruppo e l'attività di due ore ci sia almeno un ora.
      Sia nel primo caso, sia nel secondo caso, i vincoli li aggiungi una sola volta. Prendi tutte le attività del secondo gruppo più quella da due ore del primo e crei il vincolo. C'è una certa ridondanza, perché non serve imporre nuovamente che ci sia almeno un giorno di distanza tra le attività del secondo gruppo, o un'ora se capitano nello stesso giorno, perché questo non può essere, ma almeno non devi inserire troppi vincoli.

      Fammi sapere

      Elimina
    2. Ciao, credo di aver capito e, in parte credo di aver fatto la stessa cosa:
      1.ho chiamato la materia italiano/Storia/Geografia (come hai detto tu poi se le sistemerà l'insegnante di lettere come preferisce!)
      invece di 2 attività ne ho fatta una sola
      2.le 10h le ho suddivise in 8 subunità: 2h+2h+1h+1h+1h+1h+1h+1h

      obbiettivamente neanche per le insegnanti di scuola mia ci sono problemi a fare tre ore a fila ma non so se i ragazzi reggono!

      adesso provo! magari spezzo l'unica attività (come mi hai suggerito tu e vedo che succede! Poi ti faccio sapere!

      Grazie mille ancora!

      Elimina
  4. Salve! Sono nella commissione per la formazione dell'orario della mia scuola. Volevo chiedere se esiste la possibilità di considerare con FET il fatto che una volta alla settimana, a turno, due classi della sede succursale fanno lezione (tutto il giorno) in sede centrale. È possibile fare scegliere a FET le classi e il giorno?

    RispondiElimina
  5. Buon giorno, non so se risponde ancora a questo articolo perchè vedo domande abbastanza vecchie, ma ci provo.
    E' possibile impostare che tutte le classi prime abbiano il pomeriggio il lunedi, le seconde il mercoledi, le terze il giovedi, e che alcune sezioni soltanto abbiano lezione sabato mattina?
    Dalla struttura "BASE" devo comunque inserire settimana fino al sabato e orario fino al pomeriggio tutti i giorni, e mettere i vincoli successivamente alle singole classi?

    Grazie

    RispondiElimina

Che ne pensi di questo articolo, ti è piaciuto? Lo trovi interessante? Oppure ti sembra completamente inutile? Hai trovato errori o imprecisioni?

La moderazione, non è attiva, mi riservo il diritto di farne uso in particolari momenti, situazioni o contesti.

Articoli corrlati