mercoledì 29 dicembre 2010

Proiettore e portatile... quando proprio non c'è dialogo.

Una guida tragicomica per far comunicare portatile e proiettore quando all'accensione del sistema non viene proiettato nulla.

Se siete impegnati e non vi va di leggere tutto il papiro andate direttamente alla parte del testo con rientro rispetto al resto.

Finalmente vi siete decisi... tutti usano le LIM, Lavagne Interattive Multimediali, e voi non volete essere da meno. Vi hanno spiegato come fare, avete seguito corsi di formazione a iosa, con il computer ve la cavate discretamente, è il vostro momento. In classe è tutto montato, voi dovete solo accendere portatile e proiettore, due semplici tasti vi separano dalla scuola del terzo millennio, due tasti che a ben vedere sono simili: entrambi hanno un cerchietto con un segmentino verticale sulla sommità. 

Addirittura avete anche il telecomando per accendere il proiettore... non dovete nemmeno arrampicarvi... ma che ce vo' (si lo so, dovrei scrivere in italiano... ma ogni tanto ce vo'). Premete il primo pulsante, premete il secondo pulsante, guardate i vostri studenti hypertech muniti di SmatphonePortatileConsolleVideoLudicaFacebookInTempoReale e pensate che oggi dimostrerete loro che voi non siete da meno. 

I secondi passano, il portatile si accende, sembra tutto funzionare come deve, sulla lavagna ogni tanto lampeggiano immagini del  caricamento del sistema operativo... le immagini compaiono e scompaiono... il sistema operativo alla fine si carica, sulla lavagna tremola un po' qualche scritta e poi scompare tutto. Voi aspettate, ora ricomparirà. 

Continuate ad aspettare, mentre i vostri studenti con le loro FotocamareIntegrate nello SmatphonePortatileConsolle- VideoLudicaFacebookInTempoReale vi stanno riprendendo per aggiornare i loro profili nel WEB. Parte una risata, parte uno sberleffo, si alza un brusio di fondo... su di voi cala una leggera ma crescente sensazione di PANICO. Ma perché il computer è acceso, il proiettore anche ma non si vede nulla? E questo incidente può succedervi anche se non è la prima volta che usate proiettore e PC, avete fatto quello che fate sempre, ma questa volta l'immagine proprio non vuol uscire dal proiettore. Boh? La cosa peggiore che potete fare è spegnere e riaccendere il proiettore: con buona probabilità non vi si riaccenderà, o almeno non subito perché è presente una protezione per la lampada che impedisce al proiettore di riaccendersi fino a quando la lampada non si sia raffreddata.

Alla domanda perché accade rinuncio a  rispondere, anzi, rispondo proprio con boh. Non lo so. Il computer dovrebbe essere un oggetto deterministico, ma il suo determinismo è simile al determinismo dei modelli climatici: una farfalla batte le ali a casa vostra e tra sei mesi un uragano distrugge qualche città... e non iniziate una caccia alle farfalle. Qualche aggiornamento, qualche modifica delle impostazioni, qualche particolare segnale in uscita dalla scheda video, qualche livello di tensione, sta di fatto che ieri tutto funzionava e oggi niente da fare. 

Potremmo provare a stilare un protocollo su cosa accendere prima e cosa dopo... ma proprio il portatile da cui vi scrivo è l'esempio di come questo protocollo lasci il tempo che trova. Io accendevo prima il proiettore e successivamente il portatile pensando che trovandosi quest'ultimo il proiettore acceso all'avvio non ci sarebbero stati problemi. E' andato bene per mesi, poi questo protocollo a smesso di funzionare. Ora faccio il contrario, prima accendo il portatile e poi il proiettore, confidando nelle capacita del sistema operativo di riconoscere il collegamento di una periferica. Per quanto andrà bene? Chi può dirlo!

Le variabili in gioco sono troppe, ed intervengono anche il modello del portatile e del proiettore. E allora cosa fare? Certo, potreste provare ad usare la TecnicaRisolviProblemaDiOgniInformatico: riavviare il PC. Ma è un'operazione che richiede tempo (qualche minuto in classe può sembrare un'eternità) e non è detto che funzioni, e voi avete una classe che nel frattempo sta postando messaggi e video sulla vostre difficoltà.

Tutta questa verbosissima introduzione per arrivare al nocciolo della questione: casa fare se dopo che avete acceso proiettore e portatile l'immagine non viene proiettata, oppure se viene proiettata male? Come convincere il segnale video ad andare verso il proiettore e a farlo in modo corretto. Io conosco un modo rapido e abbastanza efficiente, anche se non posso essere sempre sicuro che funzioni alla perfezione, perché nei casi peggiori potrebbe essere necessario agire sulla risoluzione dell'immagine. Ma rimaniamo nei casi standard, altrimenti non ne usciamo più.
Su tutti i portatile dovrebbe essere presente un tasto con scritto Fn in azzurro. Se guardate le vostre tastiere dovrebbero essere presenti anche altri tasti con dei simboli in azzurro. Per esempio nei tasti funzione (F1, F2, F3, etc...) potrebbero essere presenti dei simboli in azzurro. Il tasto Fn, function, attiva le funzioni in azzurro. In pratica se premete Fn e contemporaneamente uno dei tasti con un simbolo in azzurro attiverete la funzione relativa al simbolo. Si preme prima Fn e tenendolo premuto si preme il tasto con il simbolo in questione e si rilasciano entrambi. Tra questi simboli, per mia esperienza tra i tasti funzione (per ora l'ho visto su F5, F6 e F7 a seconda del modello di portatile) c'è un simbolo composto da due rettangolini che dovrebbero rappresentare due monitor, quello è il tasto che in combinazione con Fn manda il segnale al proiettore invece che al monitor. 
Ecco allora quello che dovete fare: individuare il tasto Fn, individuare il simbolo in azzurro con i due monitor, premere Fn e tenendolo premuto premere il tasto con i due monitor. Potrebbero accadere molte cose a questo punto a seconda del modello di portatile che state utilizzando, potrebbe aprirsi un menù,  il segnale potrebbe passare direttamente al proiettore senza dirvi nulla, oppure potrebbe essere necessario ripetere la pressione dei due tasti più volte, non lo so, dipende la portatile. Per questo vi consiglio di fare un po' di tentativi senza studenti, anche per individuare con più calma il tasto giusto. L'importante è che scopriate come fare.

Qui chiudo, se avete esperienze diverse dubbi, domandi, consigli lasciate pure un commento.

LEGGI TUTTO...

venerdì 3 dicembre 2010

Con che frequenza usi il computer in classe?

Se ti va di discutere su questo argomento lascia un commento.



LEGGI TUTTO...

martedì 9 novembre 2010

La scuola con la LIM

Sempre alla continua ricerca di materiale sulle LIM, Lavagne Interattive Multimediali, non mi lascio sfuggire l'occasione di proporre un libro che mi è stato segnalato, libro rivolto agli insegnati che vogliono integrare la loro didattica quotidiana con le LIM.

Perché non basta saper utilizzare tecnicamente le lavagne, il passo successivo è imparare a predisporre lezioni realizzate con e per le LIM, il tutto senza comunque trascurare l'aspetto relativo all'utilizzo dello strumento tecnologico.

Il titolo del libro è: La scuola con la LIM, e cliccando sul seguente collegamento potete trovare tutte le informazioni utili:


Gli autori sono i professori Roberto Gagliardi, Mario Gabbari, Antonio Gaetano.

LEGGI TUTTO...

giovedì 4 novembre 2010

navigaresicuri: un progetto interessante di Telecom Italia

Chi non si è mai chiesto, come professore ma anche come genitore, come rendere sicura la navigazione dei ragazzi? Dai i più piccoli ai più grandi la rete è piena di insidie oltre che di opportunità. Ancora non ho trovato un modo economico ed efficiente per garantire una navigazione priva di pericoli, ma quello che ho trovato nelle pagine che sto per descrivervi di Telecom Italia, fatte in collaborazione con il Ministero dell'Istruzione, è un'iniziativa volta a rendere consapevoli dei rischi e dei pericoli della rete bambini, teenagers e adulti. Forse è anche meglio di un semplice software che controlla la rete: rendere consapevoli le persone vuole dire dargli un'arma con la quale difendersi, perché la conoscenza è la nostra maggior difesa.

Ok, ho chiacchierato già tanto. Ecco il collegamento all'iniziativa:
http://navigaresicuri.telecomitalia.it

Qui trovate tutte le caratteristiche del progetto:
http://navigaresicuri.telecomitalia.it/progetto.html

Gli argomenti sono tanti, si va dalla protezione dei propri dati e della propria privacy al cyberbullismo. Inoltre vengono organizzati tour nelle scuole per sensibilizzare sull'argomento.

L'utenza a cui è rivolto il sito è molto ampia come fascia di età e quindi come esigenze. Per questo il sito è diviso in più sezioni:
Che ne pensate? Come affrontate questo problema con studenti e/o figli?

LEGGI TUTTO...

martedì 2 novembre 2010

In che condizioni è il laboratorio di informatica della tua scuola?

Se ti va di discutere su questo argomento lascia un commento.



LEGGI TUTTO...

Risultati del sondaggio: Come farai l'orario scolastico?


In 208 hanno votato.
  • Il 47,11% dei votanti è convinto che l'utilizzo di un software per fare l'orario scolastico sia la scelta migliore
  • Il 20,67% dei votanti fa l'orario a mano ma utilizzerebbe volentieri un software, ma non ne ha trovato nessuno che soddisfi le sue esigenze
  • Il 14,42% lo fa a mano convinto che sia la scelta migliore
  • Il 9,13 % lo fa a mano perché non sa usare software per fare orari scolastici
  • L'8,67% lo fa utilizzando un software perché non sa farlo a mano
Direi che il fatto che la maggioranza preferisca utilizzare un software non deve sorprendere, soprattutto in virtù del fatto che chi approda su questo blog probabilmente è già alla ricerca di qualche strumento per fare l'orario scolastico. Non sorprende neanche il secondo piazzamento: è indice di come sia difficile immaginare un software adatto a tutte le esigenze.

Chiudo con un dato aggregato: se suddividiamo i risultati su chi fa a mano l'orario e chi utilizzando un software otteniamo le seguenti percentuali:
  • Utilizzando un software: 52.66%
  • A mano: 47.34%
Che ne pensate dei risultati del sondaggio?

LEGGI TUTTO...

martedì 7 settembre 2010

L'orario scolastico - FET: un'esempio, l'inserimento dei vincoli di tempo

Ok, sono ripetitivo ma riprendo l'esempio sul funzionamento di FET che ho preparato e che è scaricabile cliccando sul seguente link:
per parlarvi dei vincoli di tempo in FET.

Dopo aver visto nei precedenti articoli come inserire i dati principali e le attività, vediamo ora come inserire in FET i vincoli di tempo. Premetto che non starò a descrivere ogni possibile schermata e ogni possibile vincolo per tre motivi:
  1. sono molte e finirei di scrivere l'articolo per il 2055;
  2. sono simili tra loro, quindi quel che conta è capire il meccanismo;
  3. spesso con una nuova versione di FET vengono forniti nuovi vincoli da poter utilizzare
Se una volta avviato FET si clicca su "Tempo" si apre la scheda relativa hai vincoli di tempo.

Se si clicca su "Tutti" si apre una finestra che ci permette di visionare, modificare e/o eliminare tutti i vincoli di tempo.

sulla sinistra è possibile vedere la lista di tutti i vincoli di tempo inseriti, sulla destra le caratteristiche del vincolo evidenziato nella colonna di sinistra. In questo caso di tratta del vincolo che impone che una certa attività relativa a lettere deve svolgersi in quattro giorni distinti. Se si clicca sul vincolo evidenziato si apre la finestra relativa al vincolo dal quale è possibile modificare il vincolo stesso, finestra a cui si accede anche dagli altri pulsanti della scheda "Tempo" che ora andremo a descrivere.

Se dalla scheda "Tempo" si clicca su "Interruzione" si apre una finestra, che non ho riportato, dalla quale è possibile inserire, visionare, modificare e/o eliminare un vincolo che ci dice quali sono le ore nel piano orario nel quale non c'è lezione. Ad esempio se avete un orario dalle 8.00 alle 16.00 potreste mettere un' interruzione per consentire la pausa pranzo dalle 13.00 alle 14.00. Se da questa finestra si clicca su "Aggiungi" si apre la seguente finestra:

dalla quale è possibile aggiungere le ore di interruzione cliccandoci sopra. Come scritto sulla finestra le ore di interruzione non sono considerate ore di buco. La voce peso percentuale indica quanto deve essere rispettato questo vincolo, in questa finestra non può essere modificata.

Se dalla scheda "Tempo" si clicca su insegnanti si apre un menù che ci permette di inserire vincoli di tempo relativi agli insegnanti.

Se fate attenzione noterete che le voci del menù si ripetono due volte, una volta nella prima metà di sopra della lista, un'altra volta nella seconda metà di sotto (osservazione, in alcune versioni di FET i due vincoli simili sono contigui nella lista). Avrete già capito la differenza: la prima metà di vincoli è relativa ad un singolo insegnate, la seconda metà è relativa a tutti gli insegnanti. Posso imporre, ad esempio, il numero massimo di ore al giorno docente per docente, oppure per tutti i docenti. Diciamo che se si ha un vincolo uguale per tutti i docenti conviene utilizzare i vincoli relativi a tutti gli insegnanti, altrimenti, se per ogni insegnante ho necessità diverse, devo usare i vincoli relativi al singolo insegnate. E se il vincolo vale per tutti tranne che per uno? Dipende. I vincoli funzionano secondo la funzione logica dell'AND, cioè valgono contemporaneamente. Allora supponiamo, sempre relativamente al vincolo sul numero massimo di ore al giorno per insegnante, che tutti i professori tranne uno debbano fare al massimo 5 ore in un giorno e uno solo al massimo 4. In questo caso nessun problema, metto il vincolo delle 5 ore per tutti gli insegnanti e aggiungo quello delle quattro per il singolo insegnante. I due vincoli non sono in conflitto, e per il docente in questione vince il più stringente, cioè quello delle quattro ore. Problemi sorgono quando invece vorremmo che tutti facessero 4 ore al massimo, ad eccezione di uno con cinque ore. In questo caso se metto il vincolo delle quattro ore per tutti gli insegnanti e quello delle cinque per il singolo insegnante,  comunque, anche per questo rimarrebbe più stringente quello delle quattro ore. Quindi nulla da fare, si è costretti a mettere un vincolo ad personam per tutti i docenti. Mettiamola così,  come vincolo valido per tutti i docenti si deve mettere quello meno stringente, per i singoli docenti possiamo essere stringenti quanto vogliamo.

Non sto a leggere tutta la lista dei vincoli, anche perché dal nome già mi sembrano abbastanza chiari. Alcuni vincoli della lista hanno un lucchetto e se ci cliccate sopra vi viene detto che sono vincoli non perfettamente ottimizzati, che rallentano molto il calcolo e che alcune volte rendono impossibile la generazione dell'orario e vi viene consigliato di utilizzarli con cautela. Possono essere attivati cliccando su "Opzioni" nel menù sotto la barra della finestra e poi selezionando "Avanzate".

Per ognuno dei vincoli della lista se si clicca sul vincolo si apre una finestra che permette di visionare, aggiungere, modificare ed eliminare un vincolo di quel tipo. Come al solito queste finestre hanno sulla sinistra la lista di vincoli, sulla destra il riepilogo del vincolo selezionato nella lista dei vincoli e poi una serie di filtri per selezionare i vincoli di un determinato professore e/o di determinate materie e/o di determinati studenti e/o con determinata chiave.

Ad esempio se dalla lista dei vincoli si clicca su "Ore non disponibili di un insegnante" si apre la seguente finestra:

Se poi clicco su modifica mentre è selezionato il vincolo per il professore di Educazione Fisica delle sezioni B e C si apre la seguente finestra, dalla quale possibile modificare il vincolo (quella per aggiungerli è uguale):

Le "x" indicano le ore nel quale il professore non può fare lezione.

Di seguito è riporta la finestra relativa al "Numero massimo di giorni a settimana per insegnante".

In questo caso stiamo imponendo che il professore di Inglese della sezione A faccia al più tre giorni di lezione.

Una piccola osservazione, non vorrei generare confusione. In (A) è il nome che io nell'esempio ho dato al dicente, il fatto che poi l'insegnante insegni effettivamente Inglese nella sezione A esce fuori dall'inserimento delle attività.

Tutti gli altri vincoli per insegnanti hanno schermate simili, ad eccezione di:  "Un insegnante fa lezione in un intervallo orario massimo n  giorni a settimana", qui riportata

Si tratta di un vincolo utile e interessante per far in modo che i docenti abbiano qualche giorno nel quale escono presto o entrano tardi. Nella scheda mostrata stiamo imponendo che In (B-C) faccia lezione al più tre volte a settimana dalle 13.00 alle 14.00 (orario di fine lezione), cioè gli garantiamo che almeno due volte a settimana non fa l'ultima ora.

Un altra osservazione, prima di chiudere con i vincoli per i docenti. Se invece di selezionare il vincolo per il singolo docente avessimo selezionato il vincolo per tutti i docenti nelle finestre di inserimento non ci sarebbe stata la possibilità di scegliere il docente.

Se della scheda "Tempo" si clicca su "Studenti" si apre un menù a tendina con tutti i vincoli di tempo per gli studenti.

Non sto qui a descriverli in quanto valgono considerazioni del tutto analoghe a quelle per i vincoli di tempo degli insegnati. Le schermate e le finestre sono molto simili.

Se della scheda "Tempo" si clicca su "Attività" si apre un menù a tendina con tutti i vincoli di tempo per le attività.

Se si clicca su una qualsiasi delle voci del menù si apre la consueta finestra divisa in due colonne: nella colonna di sinistra sono riportati tutti i vincoli di quel tipo, in quella di destra le informazioni relative al vincolo selezionato nella colonna di sinistra e una serie di filtri che ci permettono di fare delle ricerche tra i vincoli inseriti. Sono inoltre presenti dei pulsanti che ci permettono di aggiungere, modificare e eliminare i vincoli.

I primi tre vincoli ci permettono di imporre che una determinata attività debba avvenire in determinate ore della settimana. La seguente finestra è relativa all'inserimento del vincolo "Una subattività ha un ora di inizio preferenziale".

Tramite il filtro, o scorrendole, possiamo scegliere un'attività alla quale imporre a che ora e in che giorno iniziare.

La finestra successiva e relativa all'aggiunta del vincolo "Una subattività con id cade in un insieme di ore preferenziali".

Tramite il filtro, o scorrendole si sceglie l'attività; poi si selezionano le ore della settimana in cui può cadere. E' ovvio che se la subattività dura due ore e noi lasciamo una sola ora a disposizione l'orario non può esistere. Viceversa, se diamo più ore della durata dell'attività, magari anche in più giorni, stiamo dicendo al software che può scegliere quando piazzare una determinata attività tra una serie di ore lecite.

La finestra seguente è relativa alla modifica di un vincolo del tipo "Le subattività di una selezione iniziano in un insieme di ore" preferenziali".

In questo caso stiamo imponendo, con peso del 99% che le ore di matematica devono iniziare nelle prime quattro ore della giornata. Un modo per spingere verso l'alto matematica.

Ricapitolando, tutti questi primi vincoli di tempo delle attività permettono di forzare una o più subattività ad iniziare o a cadere in determinate ore. Se ad esempio volete imporre che una certa lezione avvenga un certo giorno in una certa ora questi sono i vincoli che fanno per voi.

La finestra seguente è relativa ad un vincolo del tipo "Numero minimo di giorni tra un insieme di subattività"

In questo caso, ad esempio, stiamo imponendo che le due ore di spagnolo in 2C siano distanziate da almeno un giorno. Molti di questi vincoli possono anche essere inseriti direttamente in fase di inserimento delle attività. Se si mette al vincolo un peso inferiore al 100% si può imporre, nel caso le due attività capitino nello stesso giorno, che debbano essere consecutive.

Le finestre di questo tipo sono divise in due colonne: nella colonna di sinistra sono riportate tutte le attività, in quella di destra le attività del vincolo che stiamo mettendo.

La finestra seguente è relativa al vincolo "Una subattività conclude la giornata degli studenti"

Come si nota il meccanismo di inserimento è sempre lo stesso.

Il vincolo nell'immagine successiva, "Un insieme di attività inizia alla stesso ora (giorno + ora)" permette di imporre che una o più attività avvengano nelle stesse ore.

Il vincolo "Un insieme di sub(attività) non sono concomitanti" ci dice che due attività non devono avvenire contemporaneamente. Nell'esempio l'ho usato per far in modo che se due classi fanno Educazione Fisica contemporaneamente siano due classi parallele, cioè due prime, o due seconde, o due terze.

Il sistema funziona, anche se ad onor del vero la finestra precedente è inutile, perché essendo attività relative allo stesso docente, il professore di Educazione Fisica delle sezioni B e C, è chiaro che non possono avvenire contemporaneamente. Diciamo che ha senso inserire vincoli del genere solo relativamente a docenti diversi. Ad esempio avrebbe avuto senso, e nell'esempio c'è, il vincolo che impone che le due attività di Educazione Fisica della 2B non siano concomitanti con quelle della 3A perché hanno un docente diverso. Purtroppo, per garantire che le ore di Educazione Fisica di classi non parallele non siano concomitanti è necessario inserire un vincolo per ogni coppia di classi non parallele.

Di vincoli di tempo sulle attività ce ne sono anche altri, ma io mi fermo qui perché lo scopo di questo articolo è far capire il meccanismo di inserimento dei vincoli, non descriverli tutti.

Concludiamo la descrizione della scheda relativa ai vincoli di tempo cliccando su "Avanzate".

Dal menù a tendina che si apre è possibile scegliere due opzioni: "Distribuisci le subattività uniformemente nella settimana" e "Rimuovi i vincoli ridondanti". Si tratta di due funzioni delicate da usare con cautela, la seconda permette di eliminare i vincoli inutili, di troppo. Se si clicca sulla prima voce si apre, invece, la seguente finestra:

che permette di distanziare nella settimana in modo uniforme le attività suddivise in due o tre subattività. Io di solito inserisco questi vincoli in fase di inserimento delle singole attività, ma se volete farlo a posteriori potete farlo da qui.

Con questo ho concluso questo lungo articolo sui vincoli di tempo in FET, spero vi sia stato utile, e vi invito a lasciare qualche commento.

Per maggiori informazioni su FET cliccate su questi questi due siti:

LEGGI TUTTO...

lunedì 6 settembre 2010

Per il corso di formazione che inizia lunedì 6 settembre 2010 sulle LIM alla Cecilio Secondo

Anno nuovo corsi nuovi.

Vorrei dare il benvenuto a tutti i corsisti che avranno la sfortuna di seguire il minicorso sulle LIM della Smart Technologies (http://smarttech.com/). che terrò da lunedì 6 settembre 2010 presso la Scuola Media Statale Gaio Cecilio Secondo di Roma.

Il corso si dovrebbe articolare in un totale di dieci ore così suddivise
  • 1,5 ore: dettagli tecnici, definizioni, collegamenti, accensione... tutto quello che serve sapere da quando si entra in classe con il portatile in spalla a quando è tutto acceso e funzionante. Vivamente consigliato un cuscino da data la noia dell'argomento
  • 1,5 ore: Smart Board Tools, ovvero come riprendere, fotografare, ombreggiare, etc... lo schemo
  • 1,5 ore: il livello di inchiostro... scarabocchiamo - e non solo - il Desktop
  • 1,5 ore: il software autore Smart Notebook, ovvero come usare la LIM  per fare lezioni
  • 1,5 ore: la galleria di learning object di Smart Notebook
  • 1 ora: Lesson Activity Toolkit, uno strumento per preparare test ed esercizi di Smart Notebook
  • 1,5 ore: a voi la lavagna, fatene quel che volete. Esercitatevi, divertitevi, sperimentate.
 Cliccando sul seguente collegamento:
http://ilmondodellascuola.blogspot.com/search/label/LIM
potete trovare tutto il materiale che ho preparato e/o trovato sulle LIM, a partire dalla presentazione iniziale.
Se volete potete anche utilizzare la casella di ricerca in fondo alla barra di sinistra.

Se avete dubbi o domande sul corso o sugli argomenti del corso, se volete approfondire o condividere qualcosa sulle LIM lasciate un commento.

LEGGI TUTTO...

venerdì 3 settembre 2010

L'orario scolastico - Tecniche di sopravvivenza

Ovvero consigli utili su come sopravvivere alla redazione dell'orario scolastico, quando il primo giorno di scuola si avvicina e tu proprio non sai dove sbattere la testa.

Manca poco, l'anno scolastico è alle porte e tu ancora non hai pronto l'orario. Cominci a dormire male la notte, senti che i destini di una scuola intera sono sulle tue spalle. Già immagini l'inizio della scuola e decine di professori sperduti che non sanno in che classe andare. Classi scoperte, classi con più professori, ragazzi in giro per la scuola... l'anarchia. E solo perché tu, TU non sei riuscito a fare l'orario.

Ecco perché ho deciso di dare qualche consiglio, forse utile, forse inutile, su come muoversi nella ricerca dell'orario. Magari avete già un bel software (tipo FET), ma proprio non sapete da che parte iniziare.

No panic, ecco a voi le 10 regole di plastica (l'oro costa troppo).

Osservazione: queste dieci regole sono frutto della mia esperienza, non hanno valore assoluto, è il mio modo di procedere, dettato da un'esperienza triennale (non è proprio tanto) nel fare orari scolastici con FET. Sono opinabili e sicuramente migliorabili.

  1. Prima di tutto fate chiarezza sugli abbinamenti classi - docenti. Un bel foglio nel quale avete tutti i docenti e tutte le classi in cui devono fare lezione vi sarà utile;
  2. Tra i prof. mettete in evidenza quelli che completano l'orario in altre scuole, e, se già disponibile, segnatevi i giorni o le ore in cui sono disponibili. Se così non è chiamate le altre scuole e mettetevi d'accordo;
  3. Fatevi una bella lista con tutti i vincoli;
  4. Cominciate ad inserire i dati nel vostro software a partire dalla struttura della scuola, classi, aule, plessi, ore giornaliere, giorni a settimana, buchi necessari per lo spostamento;
  5. Inserire i docenti, magari non più di 5 per volta;
  6. Assegnate le attività a quei 5 docenti;
  7. Mettete i vincoli relativi a quei 5 docenti;
  8. Generate l'orario;
  9. Se viene generato senza problemi ripete i punti 6-7-8-9 fino ad inserire tutti i docenti, altrimenti cercate di individuare il/i docenti che non permettono la generazione dell'orario;
  10. Dopo che avete generato un orario discreto con tutti i docenti concentratevi sui desiderata dei professori: più sono soddisfatti e felici è meglio andrà l'anno scolastico per tutti.
Vorrei far chiarezza sui punti dal 5 al 9. Sembra quasi che io consigli fare l'orario in modo incrementale: sistemo 5 professori alla volta fissando ogni volta l'orario per quei professori. Prima 5, poi altri 5 etc.... No, non è questo il mio consiglio. Generare l'orario in modo incrementale sarebbe un fallimento in partenza; si arriverebbe agli ultimi professori senza alcuna speranza, o quasi, di riuscire a piazzare le loro attività. Il mio consiglio, invece, è di generare un orario di prova ogni volta che si inseriscono un tot di professori. Un orario pieno di buchi perché abbiamo inserito solo alcuni docenti, un orario che butterò subito dopo. E allora perché generarlo? Beh, per assicurarmi di non aver commesso errori nell'inserimento dei dati e per vedere eventuali criticità. Magari aggiungo un professore e da quel momento la generazione dell'orario diviene molto più lenta, uno spunto per chiedermi se i vincoli su quel docente non siano troppo stringenti. Meglio lavorare 5 professori alla volta piuttosto che inserirne 70 per poi rendersi conto qualcosa non va. E' chiaro, a questo punto, che ogni volta che generate un nuovo orario buttate quello vecchio, e lo generate per tutti i professori inseriti fino a quel momento.

Spero che questi consigli vi siano utili. Che ne pensate? Ovviamente se avete altre strategie siete invitati a discuterne.

LEGGI TUTTO...

mercoledì 25 agosto 2010

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

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.



LEGGI TUTTO...

mercoledì 7 luglio 2010

Come farai l'orario scolastico?

Se ti va di discutere su questo argomento lascia un commento.



LEGGI TUTTO...

Risultato del sondaggio: pensate che le LIM, Lavagne Interattive Multimediali, siano veramente utili?

Direi che la maggioranza ritiene che le LIM siano utili solo se installate in classe e se usate ogni giorno.

Non posso che essere d'accordo!!!


Che ne pensate? Come? Non vi tornano le percentuali? Chiedete a googlo come calcola i risultati dei sondaggi!!!

LEGGI TUTTO...

giovedì 1 luglio 2010

L'orario scolastico - FET: un esempio, l'inserimento dei dati principali

Per spiegare meglio il funzionamento di FET ho preparato un esempio scaricabile cliccando sul seguente link:
La versione di FET che ho usato è stata la 5.13.3, quindi l'esempio funzionerà sicuramente con quella e con tutte le successive.
E' mia intenzione nei prossimi articoli descrivere passo passo quello che ho fatto. In questo articolo indicherò come inserire i dati principali.

L'esempio, del tutto inventato, si riferisce ad una scuola media di tre sezioni su due sedi (A e B in Centrale, C in Succursale). Le lezioni si svolgono cinque giorni a settimana, sei ore al giorno, per un totale di 30 ore settimanali. Il piano di studi è relativo alla struttura in vigore fino al 2009. Sono presenti due ore di copresenza per ogni classe, e alcuni professori di lettere hanno tre ore settimanali di disponibilità.

Nella figura seguente potete vedere la schermata principale di FET. E' suddivisa in un menù superiore e in una serie di schede. Nell'immagine è selezionata la scheda File, dalla quale è possibile salvare il file con i dati inseriti o caricarne uno già creato. I dati sono salvati in formato xml, da File nella barra del menù è, inoltre, possibile esportare ed importare il file dati in formato testo scegliendo il separatore tra i dati, in questo modo è anche possibile importare i dati in Microsoft Excel.


In questo articolo analizzeremo la scheda Dati, grazie alla quale è possibile inserire i dati principali del nostro problema. I vincoli verranno invece inseriti nelle schede Tempo e Spazio


Se si clicca su Base compare un menù grazie al quale possiamo inserire il nome della scuola, alcuni commenti, il numero di giorni a settimana e le ore giornaliere. Possono essere immaginati orari su più settimane. Se i giorni non sono tutti sulle stesse ore, basterà inserire dei vincoli nelle apposite schede per specificare in quel determinato giorno quando si fa lezione.



Cliccando su Insegnati è possibile aggiungere/rimuovere/modificare gli insegnanti. L'esempio è stato immaginato con insegnanti che completano l'orario in altre scuole, o che hanno un orario parziale. Non ho usato nomi, bensì un codice che mi indica la materia insegnata e le classi/sezioni nelle quali il professore insegna. Ar (A-B-C) è il professore di Arte delle sezioni A, B, C. EF sta per Educazione Fisica, In per Inglese, Le per Lettere, Ma per Matematica, Mu per Musica, Re per Religione, Sp per Spagnolo, Te per Tecnologia. I professori di lettere sono di due tipi: Le (1x-2x) e Le (1x - 3x). I primi fanno 7 ore (cioè Italiano) in prima e 11 in seconda. Gli altri fanno 4 ore (Storia e Geografia) in prima, 11 in terza e hanno 3 ore di disponibilità.

Per comprendere il significato di Abilita/Disabilita tutte le attività legate all'insegnante selezionato è necessario introdurre il concetto di attività. Le attività possono essere viste come le lezioni che devono essere svolte, sono le entità che il software deve piazzare. Delle attività parlerò in uno dei prossimi articoli. In pratica questi due pulsanti permettono di trascurare tutte le attività legate a quel docente.

La finestra è formata da due colonne, in quella di destra è riportato l'elenco dei docenti, in quella di sinistra tutti i vincoli assegnati. Vedremo come aggiungere i vincoli in un altro articolo, nel file dati sono comunque già presenti.


Se dalla scheda Dati si clicca su Avanzate e poi su Statistica insegnanti è possibile vedere quante attività e quante ore fanno tutti i docenti. Appare subito chiaro quali sono i docenti che non fanno 18 ore nella scuola. Questi dati vengono aggiornati mano a mano che vengono inserite le attività. Dato che un'attività può anche durare due ore (magari per i compiti in classe) le due colonne non sempre coincidono.

Le statistiche aiutano anche nella ricerca di eventuali errori di inserimento.


Se dalla scheda Dati si clicca su Studenti è possibile inserire il numero di anni (ho messo 3 anni perché è una scuola media), il numero di gruppi per anni (ho messo le 3 sezioni), eventuali sottogruppi per classe (ad esempio ragazzi e ragazze). E' possibile anche inserire il numero di studenti o far generare le sezioni alla finestra Anni, ma io preferisco inserire questi dati manualmente. Il numero di alunni può essere utile se si devono gestire aule o attività con un numero massimo di studenti ammissibili. A me non è mai capitato.



Se dalla scheda Dati si clicca su Avanzate e poi su Statistica studenti è possibile vedere numero delle attività e durata totale delle lezioni settimanali per ogni gruppo di studenti. Utile per ricontrollare di non aver commesso errore.


Se dalla scheda Dati si clicca su Materie si apre una finestra che permette la  gestione delle materie. Le ricapitolo aggiungendo come informazione il numero di ore settimanali. Questo dato viene inserito collateralmente all'inserimento delle attività.

Ar: Arte, 2 ore
EF: Educazione Fisica, 2 ore
In: Inglese, 3 ore
It: Italiano, nelle prime, 7 ore
Le: Lettere, solo nelle seconde e nelle terze, 10 ore
Ma: Matematica e Scienze, 5 ore
Mu: Musica, nelle prime 2 ore, nelle seconde e nelle terze un'ora
Re: Religione, un'ora
SG: Storia e Geografia, nelle prime, 4 ore
Sp: Spagnolo, 2 ore
Te: Tecnologia, 2 ore
Ma/Te: Copresenza Matematica - Tecnologia, un'ora
Le/Mu: Copresenza Lettere - Musica, nelle seconde e nelle terze, un'ora
It/Ge: Copresenza Italiano - Geografia, nelle prime, un'ora
Dis: Disponibilità (lo so, non è una materia, ma mi serve per assegnarla ai docenti che ce l'hanno)


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.



Se dalla scheda Dati si clicca su Spazio è possibile definire gli Edifici, in questo caso Centrale e Succursale, e le Aule.



Per quanto riguarda le aule è possibile inserire la capienza massima. Io ho creato un aula per ogni gruppo di studenti, con lo stesso nome. In pratica esiste un gruppo 1A di studenti e un'aula 1A, poi vincolerò gli studenti a fare quasi tutte le lezioni in quell'aula. Le aule possono avere nomi diversi dai gruppi di studenti e gli studenti possono anche spostarsi da un aula all'altra. FET è molto flessibile, funziona con la scuola italiana, ma anche con scuole di altri paesi e università. Per ogni aula devo anche indicare l'Edificio.

Ho definito anche le palestre PC1, PC2 e PS. Le prime due sono in centrale, la terza in succursale. Educazione Fisica sarà vincolata ad essere svolta in palestra. Definire due palestre in centrale, oltre ad essere una possibilità, quella scuola ha due palestre effettivamente, è un trucco per poter permettere a due gruppi di studenti di usare contemporaneamente la palestra. Con così poche classi non era necessario, ma per scuole molto grandi definire più palestre virtuali permette a più gruppi di studenti di usare la risorsa contemporaneamente.
Infine ho definito anche SPC e SPS, la sala professori in Centrale e Succursale, nelle quali farò svolgere le disponibilità. E' chiaro che i professori non saranno obbligati a stare nella sala professori, ma a me serviva definire un luogo dove mettere i professori durante queste ore.


A conclusione vorrei aggiungere che queste sono state le mie scelte, ma che magari era possibile fare anche scelte differenti. Se avreste operato scelte diverse condividetele, se volete, con un commento.

Per maggiori informazioni su FET:

Post Scrittum del giorno dopo.
Rileggendo l'articolo mi rendo conto di aver saltato nella scheda Dati i tre pulsanti Chiavi, Attività e Subattività. Di questi ultimi due ho già detto che parlerò in uno dei prossimi articoli. Invece Chiavi me lo sono proprio dimenticato. Il motivo è semplice, non l'ho mai usato. Se ci cliccate sopra si apre una finestra simile a quella che si apre cliccando su Materie. Le Chiavi sono informazioni aggiuntive e opzionali che possono essere utilizzate per caratterizzate delle attività. Citando dal sito di Marco Barsotti (http://ilpassodellupo.it.gg/):

Sono chiavi della materia, ad esempio, l'esercitazione, la lettura, il laboratorio, la teoria, la pratica ecc. Se una attività deve iniziare alla prima, terza o quinta ora, la proprietà dell'attività può definirsi dispari. Se una attività deve essere svolta di mattina piuttosto che di pomeriggio, la proprietà relativa potrebbe dirsi mattino.
L'uso di queste chiavi (proprietà o caratteristiche) dell'attività è strettamente legato ai vincoli, alla loro definizione e in particolare all'uso degli orari preferenziali.

LEGGI TUTTO...

venerdì 18 giugno 2010

L'orario scolastico - FET: Free Timetabling Software, un programma molto efficiente per trovare l'orario

Ho parlato tanto dell'orario scolastico, ma ancora non ho detto nulla su come fare a trovarlo. E' ora di cominciare ad affrontare questo problema.

Cominciamo col dire che io non lo faccio a mano, bensì uso un software. Mi piacerebbe saperlo fare a mano, ma quando mi hanno proposto la prima volta di fare un orario scolastico non sapevo da che parte iniziare, e la prima cosa che ho pensato è stata quella di cercare qualche software gratuito che potesse aiutarmi.

E l'ho trovato.

Il software si chiama FET: Free Timetabling Software. L'autore si chiama Liviu Lalescu, e cliccando sul seguente collegamento potete accedere alla pagina web del programma: http://lalescu.ro/liviu/fet/.

Come vedete la pagina è in inglese. Niente paura, il software è stato tradotto in italiano da Marco Barsotti, che gestisce anche un sito in italiano dedicato a FET: http://ilpassodellupo.it.gg/

Un software per fare l'orario deve avere due caratteristiche:
  1. un sistema efficiente per inserire le migliaia di vincoli necessari
  2. un buon algoritmo per la ricerca della soluzione
Direi che FET ha entrambe questa caratteristiche.
L'interfaccia è semplice e potente, permette con pochi click di inserire intere serie di vincoli e ll programma usa un algoritmo euristico, basato sullo scambio ricorsivo di attività per fare spazio a nuove attività.

FET ha varie caratteristiche che trovo molto interessanti:
  • E' gratuito ed è distribuito secondo i termini della licenza GNU GPL
  • E' multipiattaforma, per Windows viene fornito già compilato, per linux e Mac deve essere compilato
  • La generazione dell'orario può essere fatta in modo completamente automatico, ma è possibile anche piazzare attività manualmente
  • Permette di visualizzare l'orario durante la generazione
  • Permette, dopo aver trovato un orario, di sbloccare aolo alcune attività per cercare di piazzarle in modo più ottimale o secondo nuovi vincoli
  • Permette di inserire una quantità notevole di vincoli
  • E' in continua evoluzione: con scadenze ravvicinate escono nuove versioni, compatibili con le precedenti, ma che permettono di aggiungere nuove tipologie di vincoli
  • Contattando l'autore è possibile chiedere/consigliare nuova caratteristiche per il programma
  • Si può imporre quanto deve essere soddisfatto un vincolo, se al 100% oppure se può essere rilassato.
Non riporto qui tutti i vincoli supportati da FET, anche perché come ho detto se ne aggiungono sempre di nuovi. Per tutte le info ricordate questi due siti:
Nei prossimi articoli metterò un po' di screenshot e scriverò qualcosa su come si usa.

Qualcuno di voi già conosceva FET? Lo avete mai usato?

LEGGI TUTTO...

giovedì 10 giugno 2010

Dal sito della BBC

Se in Italia si stanno muovendo i primi passi nella produzione di learning objects e di giochi didattici, nell'ambito anglosassone si è già iniziato da qualche anno, e sono già a disposizione tutta una serie di interessanti CDD - Contenuti Didattici Digitali. Unico limite, che poi un limite non è, è necessaria una discreta conoscenza della lingua inglese.


Qualche tempo fa stavo cercando qualche gioco didattico sulle trasformazioni e mi sono imbattuto nell'oggetto che ho incorporato qui sopra. Mi sembrava ben fatto e ho deciso di esplorare un po' il sito. Con mia sorpresa ho scoperto che si trattava del sito della BBC (http://www.bbc.co.uk/)

Se cliccate su more e poi su Learning si accede alla sezione dedicata all'apprendimento: http://www.bbc.co.uk/learning/

Da qui è possibile accedere a tutta una serie di categorie:
Fermo restando che mi sembrano tutte interessanti e degne almeno di un'esplorazione (in Languages potete anche trovare un corso di italiano in inglese), io mi sono concentrato soprattutto sulla prima: Bitesize (http://www.bbc.co.uk/schools/bitesize/).

Anche in questo caso avete a disposizione varie categorie: KS1 (per bambini dai 5 ai 7 anni), KS2 (8-11 anni), KS3 (11-14 anni) e GCSE (14-17 anni). E non mancano altre categorie per gli ordini di studi delle varie nazioni che compongono il regno unito.

E per ogni categoria trovate varie materie, scientifiche e letterarie, lezioni, esercizi, test. Veramente tantissimo materiale. Complimenti. Mi sa che veramente noi italiani siamo un "po'" indietro.

Ora vi chiedo un aiutino. Cerco, quando possibile di essere preciso e di non scrivere castronerie, anzi, se l'ho fatto perdonatemi e correggetemi. Quindi cerco sempre di documentarmi un po'. Cosa vuol dire KS1, KS2... con un po' di impegno l'ho più o meno capito. Ma c'è una cosa che proprio non sono riuscito ad interpretare: cliccando su Bitesize TGAU (http://www.bbc.co.uk/cymru/tgau/) si finisce su una pagina di risorse didattiche per me incomprensibile. Con buona probabilità è tipo Gallese... ma proprio perché l'unica parola che ho compreso e Wales. Qualcuno può confermare questa mia ipotesi. Grazieeee!!!

LEGGI TUTTO...

lunedì 7 giugno 2010

L'orario scolastico - Un problema intelligente adatto all'intelligenza

Che titolo per un articolo!?!?
Il primo anno che ho fatto l'orario in una scuola tutti mi dicevano che non poteva esistere un software per trovare un buon orario scolastico, che non poteva esistere un software che tenesse conto di tutti i vincoli, che non poteva esistere un software che ragionasse come un essere umano e che tenesse conto di tutti i fattori in gioco. Beh, dopo un po' di anni ho scoperto che non avevano così tanto torto.

Però prima di continuare sgombriamo il campo da dubbi: io uso un software per trovare l'orario scolastico, a mano non saprei da che parte iniziare e, soprattutto, mi farebbe impazzire l'idea che qualche specifica o qualche vincoli cambi all'ultimo minuto - e capita, ve l'assicuro - così da obbligarmi a rifare parte o tutto l'orario il giorno prima dell'inizio dell'anno scolastico.

D'altra parte, prima di scrivere questi articoli, ed in particolare proprio questo, mi sono voluto un po' documentare. Abbiamo già detto che il problema della ricerca di un orario scolastico è un problema che appartiene alla classe dei problemi detti Problemi di Soddisfacimento di Vincoli o CSP

Purtroppo non esiste una tecnica che dato questo tipo di problemi trova una soluzione tramite un calcolo più o meno complicato. Esistono, viceversa, algoritmi ricorsivi per la ricerca della soluzione. Uno di questi è ad esempio l'algoritmo Backtracking. Si cominciano ad assegnare le variabili in gioco in modo più o meno casuale (oppure seguendo euristiche di qualche genere) in modo tale che rispettino tutti i vincoli finché non si arriva ad una variabile che non si riesce ad assegnare, perché a prescindere da quale valore le diamo un vincolo non viene soddisfatto. Allora si va all'ultima variabile assegnata e che non ha infranto vincoli e le si dà un altro valore sempre con la condizione che rispetti i vincoli e si continua la ricerca. Le scelte vengono immagazzinate in un albero che tiene conto di tutte le opzioni visitate.

Per come è fatto l'algoritmo è però possibile imboccare vie sbagliate che obbligano a risalire l'albero anche più volte. Per esempio se la prima variabile che si assegna la si assegna in modo tale che non esiste alcuna soluzione con quel valore (e io a priori non lo posso sapere) l'algoritmo dovrà fare molte esplorazioni e ricorsioni prima di arrivare alla conclusione che quell'assegnazione è sbagliata. So di non essere precisissimo, però come più volte ho accennato l'obiettivo di questi miei articoli è di far comprendere appieno le problematiche.

E qui il problema è grande: gli algoritmi che permettono di trovare l'orario scolastico sono ricorsivi, cioè devono fare tanti tentativi prima di trovare una soluzione ed il numero di tentativi cresce in modo esponenziale al crescere dei vincoli.

Ho trovato un esempio per farsi un'idea di quanto tempo potrebbe volerci per trovare un orario scolastico (http://it.wikibooks.org/wiki/Costruire_un_orario_scolastico):
Supponiamo di avere una scuola con 40 classi, e con 30 ore settimanali ciascuna, un programma per generare l’orario scolastico attraverso una tecnica ricorsiva dovrebbe esaminare ogni disposizione di 30 ore su 40 classi e su un buon comupter ci metterebbe circa 1000000000000000000000000000000000000000000 anni!!!

Ed eccoci arrivati alla conclusione da cui scaturisce il titolo dell'articolo: è dimostrato che le tecniche informatiche migliori per affrontare questo tipo di problemi sono tecniche che richiedono l'impiego dell'intelligenza artificiale, cioè tecniche che emulano le capacità di ragionamento e di sintesi del cervello umano.

Un po' di link per approfondire:
http://it.wikibooks.org/wiki/Costruire_un_orario_scolastico
http://it.wikipedia.org/wiki/Backtracking

LEGGI TUTTO...

giovedì 27 maggio 2010

L'orario scolastico - Tutti i vincoli hanno la stessa importanza?

Dopo aver formulato il problema, sia a parole, sia eventualmente matematicamente, ci si deve porre una questione fondamentale: tutti i vincoli sono uguali? Ce ne è qualcuno più importante?

La risposta è sì, ma non sta a me rispondere a quali siano quelli più importanti. Certo è che alcuni vincoli devono essere soddisfatti, se non lo sono viene un orario incoerente, sbagliato o inaccettabile. Un professore non può fare due lezioni contemporaneamente, e nemmeno possiamo fargli fare 3 giorni da 6 ore e poi a casa. Insomma, esistono tutta una serie di vincoli che il buon senso e il dirigente scolastico ci dicono che devono essere soddisfatti.

Qualche volta, però, ci viene detto: "beh, vedi se riesci a fare una determinata cosa," che per chi fa l'orario vuol dire "vedi se riesci ad imporre un certo vincolo, altrimenti va bene lo stesso."

Potremmo aggiungere anche questo alla lista dei nostri vincoli che devono essere soddisfatti, ma come ho già detto qualche articolo fa, aggiungi di qua, aggiungi di là... alla fine potrebbe non esistere più una soluzione possibile.

Oppure a prescindere, il dirigente scolastico ci dà un insieme di vincoli, ma dopo ore e ore di lavoro non si riesce a trovare un orario. Magari non esiste proprio un orario ammissibile. In questo caso siamo noi a dover andare dal dirigente scolastico e dirgli: "non è possibile rispettare tutti i vincoli dati."

Sia che sia il preside a dirvi di vedere se riuscite ad imporre un determinato vincolo, sia che siate voi a convincerlo che non tutti i vincoli sono soddisfacibili, quello che dovete fare si chiama in gergo rilassare un vincolo.

In pratica avrete una serie di vincoli obbligatori che dovete rispettare, ed un'altra serie di vincoli (detti appunto rilassati) che potete anche non soddisfare.

La prima scelta possibile per affrontare i vincoli rilassati è prima provare ad imporli e poi, se non si trova un orario, eleminarli. Certo, così facendo sicuramente non li imporrete nemmeno un pochino. Ora, cosa vuol dire imporre un pochino un vincolo è un concetto che potrebbe far rizzare i capelli ad un matematico, ma per noi vuol dire che se non riusciamo ad imporlo al 100% magari riusciamo ad imporlo al 75%.

Un esempio. Il dirigente magari ci chiede di far in modo che alle prime ore gli studenti abbiano matematica perché più pesante. Imporre il vincolo vorrebbe dire forzare questo eventi, eliminare il vincolo vorrebbe dire non provarci proprio, cercare di imporlo in forma rilassata vuol dire che magari in tre giorni su sei ci riusciamo.

Come si fa a rilassare un vincolo dipende dalla tecnica di risoluzione che si sceglie per l'orario. Se lo si fa a mano vorrà dire che si deciderà se soddisfarlo o meno quando il problema si porrà. Se si usa un software bisogna vedere se il software mette a disposizione sistemi per rilassare vincoli e non imporli al 100%. E sicuramente sarà così, altrimenti non è un buon software.

Dal punto di vista matematico quello che si può fare è introdurre una funzione obiettivo nella quale in qualche modo facciamo rientrare i vincoli che abbiamo rilassato. Questa funzione, ad esempio, può essere tale che il suo valore è tanto più grande quanto più ci allontaniamo dai vincoli. Se poi introduciamo dei pesi possiamo fare in modo che allontanarsi da certi vincoli generi un valore più grande che allontanarsi da altri. A questo punto il problema si trasforma in un problema di Ricerca Operativa e di ottimizzazione: va cercata la soluzione che soddisfa i vincoli obbligatori e che minimizza la funzione obiettivo, cioè che si discosta meno dai vincoli rilassati.

Clicca su questo collegamento per saperne di più sulla Ricerca Operativa.

LEGGI TUTTO...

mercoledì 26 maggio 2010

L'orario scolastico - La formulazione matematica

Ora la questione si fa complicata. Ci tengo però a precisare che per fare un orario scolastico non serve necessariamente sapere quello che vi sto per raccontare, d'altra parte penso che chiunque affronti un problema possa chiedersi  la natura del problema e se è noto e studiato in letteratura.

Il problema della redazione dell'orario scolastico appartiene alla classe dei Problemi di Soddisfacimento di Vincoli (Constraint Satisfaction Problem o CSP).

Darò dei piccoli spunti per capire come può essere formulato matematicamente. Vi ricordo che il mio obiettivo è far capire ciò di cui stiamo parlando, non scrivere un manuale scientifico.

Il problema è un problema decisionale, nel quale le variabili possono assumere valere 0 o 1.

Innanzitutto quali sono le variabili. Definiamo con I l'insieme dei professori, J l'insieme delle classi, K l'insieme delle ore giornaliere, L l'insieme dei giorni della settimana, ed associamo ad ognuno di questi elementi un numero univoco nell'insieme.

I = {1,2, ... Ni}, con Ni il numero totale dei docenti
J = {1,2, ... Nj}, con Nj il numero totale delle classi
K = {1,2, ... Nk}, con Nk il numero totale delle ore giornaliere
L = {1,2, ... Nl}, con Nl il numero totale dei giorni

Quindi avremo il professore 1, il professore 2, il professore 3, fino al professore Ni

Avremo la classe 1, la classe 2, la classe 3, la classe 4, fino alla classe Nj

Possiamo quindi definire la variabile Xijkl che vale 1 se il professore i fa lezione nella classe j all'ora k del giorno l, 0 altrimenti.

Definite le variabili dobbiamo chiederci come trasformare in equazioni o disequazioni i vincoli che abbiamo espresso a parole. Lo farò solo per un vincolo, quello che mi interessa è mostrare il procedimento.

Prendiamo per esempio il numero massimo di ore giornaliere di un professore e supponiamo che questo sia uguale a Oi.

Si fissa i (il professore), si fissa l (il giorno della settimana) e il vincolo si ottiene sommando tutte le Xijkl con quei determinati valori di i e l e imponendo che questa somma sia minore o uguale a Oi. E  si fa questo per tutte le possibili combinazioni di i e l.

Tradotto in un linquaggio più semplice... preso un professore e preso un giorno della settimana, imponiamo che per quel professore e quel giorno della settimana al più Oi variabili possano essere uguali a 1, cioè che faccia al più Oi ore di lezione.

Questo funziona se c'è anche un altro vincolo che ci dice che fissata un ora, fissato un professore e fissato un giorno, la somma di tutte le relative variabili di decisioni deve essere minore o uguale ad 1, cioè se un professore fa lezione lo fa in una sola classe alla volta (e sì, dobbiamo dirgli anche quello).

Questo giochino può essere fatto in modo più o meno complicato per tutti i vincoli tenendo conto che esistono regole per trasformare in equazioni e disequazioni vincoli condizionali (del tipo se... allora...) e vincoli logici (ad esempio un vincolo che viene soddisfatto se sono soddisfatti contemporaneamente due condizioni, cioè un vincolo AND, o similmente un vincolo OR)

La formulazione matematica coincide quindi con l'introdurre delle variabili decisionali e con il trasformare tutti i vincoli in un immenso insieme di equazioni e disequazioni.

Non credo che nessuno approcci in questo modo al problema, ma questo è la sua formulazione rigorosa.

In uno dei prossimi articoli vedremo come si risolvono problemi del genere, ma già vi preannuncio che sono considerati problemi difficili.

Un riferimento sitografico:

LEGGI TUTTO...

lunedì 10 maggio 2010

Sussidi didattici per la scuola

SONO ENTUSIASTA!!!
E' stato amore a prima vista tra me e il sito Sussidi didattici per la scuola. Questo è l'indirizzo:

Qualche tempo fa stavo cercando dei learning object sulle frazioni, e per puro caso mi sono imbattuto in queste pagine web. Sulle frazioni ho trovato un interssantissimo oggetto in flash (http://digilander.libero.it/sussidi.didattici/matematica/frazionihtml/frazioni.html), ma è stato solo l'inizio della mia espolazione delle pagine di Sussidi didattici per la scuola.

Ho trovato un'inifinità di oggetti. che spaziano dalla matematica alla storia, passando per la geografia e, udite udite,  per l'analisi logica. Oggetti che possono aiutare nello studio individuale a casa, ma che possono anche essere utilizzati a scuola e in classe con o senza una Lavagna Interattiva Multimediale. Unico requisito: disporre di una connessione ad internet.

Sui vari argomenti sono presenti schede teoriche ed esercizi. Sul sito ci sono anche giochi didattici e due pacchetti chiamati VerificheMachine e Libri Parlanti, il primo per creare verifiche interattive a risposta chiusa, il secondo per creare presentazioni multimediali interattive.

Nel tempo cercherò di commentare e descrivere i vari oggetti presenti nel sito, per ora mi sono limitato a segnalarlo.

Penso sia doveroso riportare gli autori e i collaboratori di cotanto capolavoro. Dalla pagina http://digilander.libero.it/sussidi.didattici/collaboratori.html:
I lavori presenti nel sito http://digilander.libero.it/sussidi.didattici/, sotto i profili della progettazione e della realizzazione informatica, sono opera di Giuseppe Bettati, insegnante di scuola media. Altri insegnanti hanno collaborato, in vario modo, all'elaborazione di contenuti specifici:


Lalla Attolini
  • Materiale linguistico (Giocare con le parole: Cambi)
  • Clicca la risposta (vari questionari di Scienze)
  • Linea del tempo 1500-2000: Scienza e tecnica (testi e disegni)
  • Viaggio nell'Antico Egitto (partecipazione alle fasi di progettazione, contributo determinante alla grafica)
  • Divinità egizie (Lalla Attolini, G.B.)
  • Le Grandi navigazioni oceaniche (partecipazione alle fasi di ideazione, contributo determinante alla grafica)
  • Via della seta (Lalla Attolini, G.B., A. P.)
  • Produzione di "libri" (Libri Parlanti on line)
  • Consulenza per quanto riguarda i programmi di Matematica e Geometria
Cristina Brighenti
  • Materiale linguistico (alcune esercitazioni di analisi logica e grammaticale)
Cristina Cavalca, Paola Guareschi
  • Materiale linguistico (alcune esercitazioni di analisi grammaticale)
Daniele De Stefano
  • Con i suoi alunni: Giochi di giovani programmatori (Scuola media di San Pietro al Natisone, Cividale, UD)
  • Linea del tempo 1900-1945 (G. B., Daniele De Stefano)
Elisabetta Mangi
  • Materiale linguistico (esercitazione di analisi logica)
Antonella Pulvirenti
  • Materiale linguistico (esercitazione di analisi grammaticale, rebus)
  • Le Grandi Navigazioni Oceaniche (partecipazione alle fasi di ideazione e di elaborazione grafica e testuale)
  • Via della seta (L. A., G. B., Antonella Pulvirenti)
  • Preziosa collaborazione per quanto riguarda i programmi verficheMachine e Libri Parlanti
  • Produzione di "libri" (Libri parlanti online)
Ivana Sacchi
  • Viaggio nell'Antico Egitto (partecipazione alle fasi di progettazione)
  • Le Grandi Navigazioni Oceaniche (partecipazione alle fasi di ideazione e di elaborazione grafica e testuale)

Insomma, un sito che mi ha subito conquistato per la sua accuratezza e per la sua ricchezza dei contenuti. Voi che ne pensate?

LEGGI TUTTO...