Course info

Course Overview

Questo corso arriva al cuore del pensiero computazionaleperchè 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 (http://codemooc.org/). 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 alcune 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.

Vi aspetto!

Learning Objectives

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

Outcomes

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.

Certification and Additional Info

Il completamento del corso è certificato da un OpenBadge associato ad un certificato di completamento nominale e ad una evidenza dei criteri di rialscio da parte dell'Università di Urbino.

Course Structure

  • Lesson 1 - Introduzione16/10/2017
  • Lesson 2 - Coding a scuola23/10/2017
  • Lesson 3 - Rappresentazioni13/11/2017
  • Lesson 4 - Lavoriamo con pochi dati, che chiamiamo per nome27/11/2017
  • Lesson 5 - Complessità e correttezza08/01/2018
  • Lesson 6 - Lavoriamo con tanti dati, ma tutti in fila29/01/2018
  • Lesson 7 - Alberi e grafi26/03/2018
  • Lesson 8 - Conclusioni30/04/2018

Teacher

Alessandro Bogliolo


Alessandro Bogliolo is the coordinator of the School of Information Science and Technology at the University of Urbino, Italy, where he teaches Computer architecture and Digital platforms for land management.
His research interests include wireless sensor networks, crowd sensing, collective intelligence, and ultra-low power computing.
Since 2013 he has been actively promoting the diffusion of computational thinking skills, serving as Europe Code Week Ambassador, founding Code's Cool, and developing DIY unplugged games (Cody Roby). In 2015 he coordinated Europe Code Week. 
Alessandro Bogliolo is also serving as e-skills for jobs ambassador.