Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è...

22
Coding Dojo experience Prof. Missiroli

Transcript of Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è...

Page 1: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Coding Dojo experience

Prof. Missiroli

Page 2: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

“Acquiring coding skills should be a continuous process...”

Page 3: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Dōjō (道場)Luogo in cui si praticano le arti marziali. Trasposto

nel campo informatico a partire dal 2004 a Parigi.

In entrambi i casi:

● Un luogo “sicuro” dove fare pratica.

● Un luogo dove fare errori ed imparare.

● Ci si riunisce per un Kata, ci si diverte e si fa

pratica deliberata.

Page 4: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Coding Dōjō

Obiettivi:

● Fare pratica.

● Imparare nuove tecniche.

● Migliorare tecniche esistenti

● NON NECESSARIAMENTE risolvere il

problema

Page 5: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Coding Dōjō

Valori:

● Ambiente sicuro

● Nuove idee apprezzate.

● Collaborativo e non competitivo

● Adatto a tutti i livelli di difficoltà

Page 6: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Coding Dōjō

Struttura:

● Un computer con proiettore

● Test Driven Development

● Piccoli incrementi (“Baby steps”)

● Tutti devono capire

● SEMPRE partire da zero

Page 7: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Regole: NON...

...combattere con gli altri partecipanti

Si collabora, non si compete

..saltare alle conclusioni.

Piccoli passi, no?

...lanciarsi in sterili discussioni.

Il tempo è prezioso

Page 8: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Etica

Se sei il prossimo a scrivere il codice, non interrompere il flusso.

Se sai scrivere il codice, vieni a scriverlo.

Se scrivi il codice, tutti devono capire cosa stai facendo.

Se non stai scrivendo codice, non disturbare.

Se hai un’idea, mostrane il codice.

Se sei in difficoltà chiedi aiuto.

Page 9: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

1. Kata PreparatoRinfrescare, chiarire, esporre nuovi concetti.i.

➔ PresentazioneUn “esperto” mostra come risolvere il

problema

➔ Si parte da zero

➔ Usare TDD & Baby steps

➔ Tutti devono capire ogni passo

➔ Interrompere se non si capisce

che sta succedendo o ci si è

persi

Page 10: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Il problema: FizzBuzz

Page 11: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Step 1: Foundation

Page 12: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Step 2: First test

Page 13: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Step 3: Second test

Page 14: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Step 3: Third test

Page 15: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Step 4: Refactor?

Page 16: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Step n: test, test, refactor

SODDISFATTI?

Page 17: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Piccola Pausa

Page 18: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

2. Randori KataEsperienza di sviluppo condivisa

➔ Pair ProgrammingPilota e Navigatore.

➔ TDD+BabystepsNavigatore scrive il test, il pilota risolve.

Si commenta pubblicamente quello

che si fa.

➔ Timeslot MAX 5 minutiAl termine: il pilota diventa navigatore;

un nuovo pilota arriva dalla platea.

Page 19: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Scegliamo l’argomento● Punteggio del Bowling

● Gioco della vita (Un po’ lunghetto..)

● Conversione da intero a numero romano (59 -> LIX)

● Valutatore di una stringa

Page 20: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Chi comincia?

Page 21: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

Feedback time

QUI

Page 22: Coding Dojo experience · Piccoli passi, no?...lanciarsi in sterili discussioni. Il tempo è prezioso. Etica Se sei il prossimo a scrivere il codice, non interrompere il flusso. Se

RingraziamentoGran parte delle idee sono prese e

reinterpretate dalle slide “Coding Dojo

instructions” di Viet Nguyen