Progettazione di software interattivi 1

Scopo del corso è introdurre gli studenti all'utilizzo della programmazione intesa come strumento di libera espressione. In quest'ottica l'utilizzo dei linguaggi di programmazione verrà inteso come una attività di traduzione da un linguaggio naturale ad un linguaggio per computer…

Come accade in ogni operazione di traduzione, la trasformazione da un linguaggio ad un altro va oltre la mera trasformazione meccanica delle strutture grammaticali, interessando al contempo i piani espressivi e culturali. Quando il destinatario della traduzione non è un essere umano ma una macchina diventa necessario, se non si vuole essere fraintesi, utilizzare non solo un linguaggio, ma anche una mentalità diversa. Ovvero adottare un computational thinking.

Programma

Il corso prevede una prima parte introduttiva dove saranno affrontate i concetti di base del linguaggio Java all'interno del framework Processing. In questa fase lo studente potrà approciare la scrittura del codice in un ambiente semplificato e prendere confidenza con gli aspetti basilari della programmazione: variabili, strutture dati, controllo del flusso, gestione degli eventi e organizzazione del codice.

Nella seconda parte gli studenti saranno organizzati in gruppi di lavoro, che progetteranno e svilupperanno una esperienza interattiva ispirata ad un argomento comunicato dal docente.

Bibliografia

  • Shiffman Daniel, Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction, Kaufmann
  • Kostas Terzidis, Algorithms for visual design using the Processing Language, Wiley
  • Golan Levin, Code as Creative Medium, MIT Press

Modalità didattica

Il corso avrà un approccio prevalentemente laboratoriale con lezioni teoriche alternate a lezioni pratiche, allo scopo di acquisire conoscenza e familiarità con il linguaggio di programmazione Java ed il framework Processing.

Modalità di verifica

Lo studente dovrà presentare e discutere singolarmente il progetto realizzato con il proprio gruppo di lavoro, dimostrando di aver acquisito le competenze necessarie per la progettazione e lo sviluppo di programmi interattivi.