20 Giugno 2018

AlgoMOOCt: Algorithms in Your Classroom, Now!

Questo corso, che chiameremo AlgoMOOCt, arriva al cuore del pensiero computazionale, perchè parla di algoritmi, che non sono altro che i procedimenti rigorosi costruttivi che applichiamo per isolvere problemi e realizzare idee.

Dietro a quasi tutto quello che facciamo c’è un algoritmo, ma soprattutto c’è un algoritmo dietro ad ogni programma che esegue un computer. Quindi possiamo ben dire che gli algoritmi siano la componente più umana dell’informatica, l’intelligenza umana che sta dietro al funzionamento di ogni computer.

In questo corso impareremo a riconoscere e svelare gli algoritmi quotidiani che utilizziamo più o meno inconsapevolmente quando cerchiamo la pagina in un libro, quando mettiamo in ordine degli oggetti o quando cerchiamo la strada più breve per raggiungere un luogo. Ogni volta che facciamo cose di questo genere applichiamo degli algoritmi dalla efficienza dei quali dipende la complessità del compito che svolgiamo.

Questo corso è rivolto agli insegnanti delle scuole di ogni ordine e grado. Seguendolo potrete avvalervi della grande comunità di pratica di CodeMOOC. E’ proprio con i vostri colleghi che avrete modo di confrontarvi e discutere come i concetti che vedremo insieme possano trovare applicazione nella pratica didattica. Potrete anche coinvolgere i vostri alunni, ma sarete voi a decidere se e quando farlo.

Il MOOC ha un corso gemello rivolto agli studenti delle scuole superiori e agli stduenti universitari che seguono corsi di laurea nei quali non hanno già l’opportunità di familiarizzare con questi concetti. Quindi c’è un’altra comunità di pratica con la quale avrete occasione di confrontarvi, condividendo con loro buona parte delle unità del corso.

Al termine del corso tutti i partecipanti riceveranno un attestato di completamento rilasciato dall’Università di Urbino in forma di open badge.

Modalità di partecipazione

Il corso è aperto a tutti e gratuito ed è rivolto soprattutto agli insegnanti. A chi non ha un interesse specifico per l’insegnamento e preferisce invece trattare il tema degli algoritmi dando anche un’occhiata a JavaScript consiglio di frequentare il corso gemello chiamato Algoritmi quotidiani, o semplicemente AlgoMOOC.

Faccio lezione in diretta, ma tutti i contenuti restano fruibili on domand. Non ci sono scadenze. Potete iscrivervi quando volete. Troverete dei compiti da svolgere. Se li consegnerete entro le scadenze indicate parteciperete al meccanismo di valutazione tra pari per usufruire del confronto costruttivo con i colleghi, ma se seguirete on demand potrete consegnarli quando vorrete ottenendo comunque l’attestato di completamento.

Attestati

Completando il MOOC ottenete attestati di completamento rilasciati dall’Università di Urbino in forma di Open Badge e di certificati Pdf stampabile, che documentano un impegno complessivo di 28 ore. La certificazione è suddivisa in due parti, alle quali corrispondono due Open Badge con relativi certificati pdf:

  1. AlgoMOOC, Open Badge che certifica il completamento delle 26 ore di attività didattica dedicata alla comprensione degli algoritmi, svolta in comune con il corso gemello,
  2. AlgoMOOCt, Open Badge che certifica il completamento delle 2 ore di attività didattica dedicata nello specifico agli insegnanti, indicate con [t] nel programma.

Obiettivi

Gli obiettivi di studio sono i seguenti:

  • Svelare la natura algoritmica dei procedimenti quotidiani
  • Offrire consapevolezza degli aspetti computazionali della realtà
  • Comprendere la relazione tra problema e algoritmo
  • Introdurre i concetti di complessità e correttezza
  • Introdurre le principali forme di rappresentazione dei dati
  • Introdurre le principali strutture dati
  • Fornire esempi pratici di algoritmi, guidando i corsisti alla loro comprensione e applicazione
  • Discutere l’applicazione esplicita degli algoritmi nella pratica didattica

Risultati

I corsisti acquisiranno consapevolezza degli aspetti computazionali della realtà e strumenti adatti a descriverli e comprenderli. Comprenderanno il legame tra problemi e algoritmi, dando significato ai concetti di complessità e correttezza. Comprenderanno l’importanza della rappresentazione dei dati al fine dell’individuazione di soluzioni algoritmiche. Conosceranno algoritmi esemplificativi che operano su numeri e su strutture dati quali array, alberi e grafi.

I corsisti parteciperanno attivamente ad una comunità di apprendimento e di pratica che fornirà loro spunti ed elementi utili a decidere autonomamente se, come e quando applicare le conoscenze e le competenze fornite dal corso nella propria attività didattica.

Programma

  1. Introduzione
    • Webinar introduttivo
    • Organizzazione del corso
    • Assignment: L’ultimo algoritmo che ho incontrato
  2. Coding a scuola
    • Coding [t]
    • Un’ora di coding [t]
    • Assignment: il mio certificato HoC
  3. Rappresentazioni
    • Rappresentazione di algoritmi
    • Rappresentazione dei dati
  4. Lavoriamo con pochi dati, che chiamiamo per nome
    • Uno più uno
    • Due per due
    • Tanti numeri da pochi dati
  5. Complessità e correttezza
    • La complessità di un algoritmo
    • La grande O
    • Dignità di algoritmo
  6. Lavoriamo con tanti dati, ma tutti in fila
    • Tutti in fila, si cerca!
    • Mettiamo in ordine
    • Il suono degli algoritmi
    • Il bandolo della matassa
    • Tutti in coda, magari in cerchio
  7. Alberi e grafi
    • Gli alberi
    • La strada nel grafo
    • Cammini minimi in Internet e per strada
    • Eulero, Hamilton e il commesso viaggiatore
  8. Conclusioni
    • Wrap up
    • Assignment: Ti racconto quando ho usato un array
    • Assignment: Ti racconto quando ho incontrato un albero e un grafo
    • Assignment: Il mio username in ordine
    • Assignment: il tuo nome sull’attestato finale
    • Assignment: il consenso al trattamento dei dati

La [t] denota i punti del programma dedicati agli insegnanti, il cui completamento è certificato da AlgoMOOCt.

Algoritmi come patrimonio immateriale dell’umanità

In occasione di Europe Code Week è stata lanciata una petizione internazionale per estendere agli algoritmi la convezione UNESCO per la tutela del patrimonio culturale immateriale. La petizione può essere letta e firmata seguendo questo link.

Maki

Maki è lo pseudonimo adottato da un’artista che segue il corso e ha deciso di commentare ogni video-lezione con un proprio autoritratto che ci permette di osservarla da dentro lo schermo. I suoi disegni offrono un riscontro insolito e irriverente.