Programmazione e Prototipazione Software

Il corso insegna a capire come fare per scrivere un programma.

Scrivere un software non è una cosa complicata, basta fare attenzione e comprendere qual'è il nocciolo della questione: risolvere un problema.

Le lezioni approfondiranno vari linguaggi e tecnologie utili per prendere confidenza con la programmazione e per realizzare dei prototipi rapidi.

Obiettivi formativi:

  • Imparare a programmare
  • Imparare alcuni linguaggi specifici
  • Integrare hardware e software

Software e strumenti di insegnamento:

  • Scratch
  • Thunkable/AppInventor
  • Processing
  • Javascript
  • Python
  • NodeRed

Biografia del docente

Paolo Aliverti

Mi chiamo Paolo Aliverti (@zeppelinmaker) e ho inziato a programmare e interessarmi di elettronica negli anni '80, all'età di 10 anni.

Mi sono laureato al Politecnico di Milano nel 1999/2000 con una tesi in Robotica. Ho lavorato come programmatore, analista programmatore e project manager presso varie società tra cui Giorgio Armani e il gruppo Trenord.

Nel 2014 ho aperto una società, fabb srl (www.reelco.it), che si occupa di elettronica e riparazioni elettroniche industriali.

Nel 2018 ho fondato OpenElectric, un progetto/startup per realizzare elettrodomestici riparabili.

Nel 2011 ho fondato FabLab Milano e Frankenstein Garage che ho lasciato nel 2014 per occuparmi di fabb srl.

Scrivo libri tecnici e divulgativi su temi tecnologici e innovativi. Gestisco un canale YouTube dedicato ai maker, dove pubblico un nuovo video ogni giorno.

Riepilogo dettagli:

Data prima lezione: Mercoledì 13 Maggio

Orario lezioni: 16:00 --> 18:00 / 16:00-->17:00

Durata del corso: 30 ore

Numero di lezioni: 10

Giorni: Mercoledì e Giovedì

Docente: Paolo Aliverti

Calendario del Corso ( 30 ore)

1°. Lezione --> l coding e la programmazione

Contenuti:

  • Imparare a programmare.
  • Istruzioni, variabili, cicli, test.
  • Introduzione teorica dei concetti fondamentali e utilizzo di Scratch per avvicinarsi alla programmazione e verificare i concetti introdotti.

2°. Lezione --> AppInventor e Thunkable

Contenuti:

  • Sviluppo di alcune semplici App.
  • Uso dei componenti base e organizzazione del layout.

3°.Lezione --> AppInventor e Thunkable

Contenuti:

  • Utilizzo di funzioni avanzate e sensori del telefono.

4°.Lezione --> Processing

Contenuti:

  • Introduzione al linguaggio e semplici esercizi

5°.Lezione --> Processing avanzato e per il gaming

Contenuti:

  • Sviluppo di semplici App e giochi

6°.Lezione --> Web, HTML e introduzione a Javascript

Contenuti:

  • Scrittura di una pagina web e utilizzo di javascript per creare delle WebApp.

7°.Lezione --> Creare applicazioni web in php e utilizzo di un database

Contenuti:

  • Scrittura di una pagina dinamica in php, passaggio di parametri, gestione di una sessione e salvataggio dei dati in un database

8°.Lezione --> Python e Applicazioni GUI

Contenuti:

  • Il linguaggio Python.
  • Esercizi introduttivi.
  • Realizzazione di Applicazioni Desktop

9°.Lezione --> NodeRed

Contenuti:

  • Scrittura di flussi di elaborazione.
  • Realizzazione di servizi web.

10°.Lezione --> Combinare hardware e software

Contenuti:

  • Sviluppo di Applicazioni che integrano hardware (es. Arduino) e il software.
  • Metodi per comunicare e scambiare dati.