Dopo molti anni mi sono ritrovato a insegnare Informatica in una terza. Questo è una breve slide che ho fatto per spiegare il ciclo for
C'è un errore nelle slides 7---9. ho scritto erroneamente una "," al posto del ";".
Slides di una breve conferenza che ho tenuto a scuola. Ritengo che lo stereotipo del programmatore brutto, scontrorso e antisociale sia in declino, ma perché ciò si realizzi davvero occorre affinare nuove abilità, le abilità sociali. Sia Online che Offline
Basato in parte sul lavoro seguente
http://www.slideshare.net/mastorey/msr-2012-keynote-storey-slideshare
Introduzione al Controllo di versione (in generale) e al funzionamento di Git (in particolare). Upgrade di un'altra presentazione simile nelle basi ma incentrata su SVN.
Introduzione al sistema binario adatto a ragazzi delle scuole superiori (liceo scientico o ITIS)
Traduzione delle slides omonime presenti qu su slideshare di german margrit
Slides presentate all'incontro Didamatica 2016 a Udine. Si parla dei vantaggi didattici di una introduzione precoce dei principi Agili nella didattica informatica quotidiana (un mio pallino).
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica è ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte è adatta ai ragazzi di 1-2° liceo SSA e di 2°-3° ITIS (in particolare ad indirizzo informatico)
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica è ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte è adatta ai ragazzi di 1-2° liceo SSA e di 2°-3° ITIS (in particolare ad indirizzo informatico)
Una primissima introduzione al TDD per chi è a digiuno di test in generale e di TDD in particolare. Usa Java/Junit, ma è facimente adattabile ad altri linguaggi. 40-60 minuti.
Introduzione al linguaggio Java per chi ha esperienza di C++. Non si parla di OOP, solo di linguaggio.
Codice sorgente dell'esercizio finale qui: https://pastebin.com/R4yZGQcy
Queste slide dal titolo provocatorio cercano di dare l'idea che la stupidità e la pigrizia possono avere un effetto positivo nela programmazione per la ricerca di soluzioni semplici. Nello specifico caso parliamo di funzioni in C
Slides di una breve conferenza che ho tenuto a scuola. Ritengo che lo stereotipo del programmatore brutto, scontrorso e antisociale sia in declino, ma perché ciò si realizzi davvero occorre affinare nuove abilità, le abilità sociali. Sia Online che Offline
Basato in parte sul lavoro seguente
http://www.slideshare.net/mastorey/msr-2012-keynote-storey-slideshare
Introduzione al Controllo di versione (in generale) e al funzionamento di Git (in particolare). Upgrade di un'altra presentazione simile nelle basi ma incentrata su SVN.
Introduzione al sistema binario adatto a ragazzi delle scuole superiori (liceo scientico o ITIS)
Traduzione delle slides omonime presenti qu su slideshare di german margrit
Slides presentate all'incontro Didamatica 2016 a Udine. Si parla dei vantaggi didattici di una introduzione precoce dei principi Agili nella didattica informatica quotidiana (un mio pallino).
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica è ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte è adatta ai ragazzi di 1-2° liceo SSA e di 2°-3° ITIS (in particolare ad indirizzo informatico)
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica è ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte è adatta ai ragazzi di 1-2° liceo SSA e di 2°-3° ITIS (in particolare ad indirizzo informatico)
Una primissima introduzione al TDD per chi è a digiuno di test in generale e di TDD in particolare. Usa Java/Junit, ma è facimente adattabile ad altri linguaggi. 40-60 minuti.
Introduzione al linguaggio Java per chi ha esperienza di C++. Non si parla di OOP, solo di linguaggio.
Codice sorgente dell'esercizio finale qui: https://pastebin.com/R4yZGQcy
Queste slide dal titolo provocatorio cercano di dare l'idea che la stupidità e la pigrizia possono avere un effetto positivo nela programmazione per la ricerca di soluzioni semplici. Nello specifico caso parliamo di funzioni in C
2. Lazy?
●
Tutti gli informatici sono pigri
●
Vogliono scrivere il meno possibile
●
●
Per questo trovano sempre delle scorciatoie
per evitare compiti ripetitivi
Il for è un esempio tipico, primo di una lunga
serie.
3. Cicli indicizzati
●
●
Frequentemente, a un ciclo è associato un
indice, o contatore, che si incrementa ad ogni
iterazione
Esempio tipico “stampare tutti i numeri da 1 a
10 ”,
11. Più in dettaglio
for(valore_iniziale, condizione,
incremento)
●
●
●
Con l’espressione valore_iniziale indichiamo quale
sarà l'indice (o variabile contatore) del ciclo e ne
impostiamo il valore iniziale;
Con l'espressione condizione effettuiamo un
confronto: se il risultato è “falso”, l'esecuzione del
ciclo termina. In altre parole, è la condizione per
restare dentro al ciclo.
L’espressione incremento descrive come
modificare, incrementare o decrementare il contatore
ad ogni esecuzione.
12. Più in dettaglio
●
Di fatto, il for è un ciclo precondizionato
●
Come tale, si corrono tutti i rischi tipici dei cicli
●
In particolare, i cicli infiniti, come questo.
for(i=7; i=1; i=i+1)
13. Più in dettaglio
●
●
●
Come l'if, il for si riferisce alla sola istruzione che
lo segue
Per includere più istruzioni nel ciclo, si usano le
parentesi graffe
Attenti ad errori banali come questo
for(i=0, i<7, i=i+1);
printf(“%d ”,i);
14. Perversioni del for (1)
●
Posso avere più condizioni iniziali, separati da
virgola
for (i=0, j=0; i<10; i++)
●
O anche nessuna
for (; i<10; i++)
15. Perversioni del for (2)
●
Lo stesso vale per l'incremento
for (i=0, j=0; i<10; i++, j++)
●
O anche nessuno
for (; i<10; )
●
(così è equivalente a un while!)
16. Perversioni del for (3)
●
La condizione è opzionale
for (i=0, j=0; ; i++, j++)
●
La sua forma più perversa è questa
for (;;)
●
Genera volutamente un ciclo infinito
●
Usare CON CAUTELA