Corsi Python0 2016: differenze tra le versioni

Da PNLUG.
(Proposta Piovesana)
m (Aggiunto link a esempi lezione 7)
 
(61 versioni intermedie di 7 utenti non mostrate)
Riga 1: Riga 1:
==''' ISCRIZIONI NON ANCORA APERTE! '''==
+
==''' ISCRIZIONI APERTE DAL 22/10/2016 '''==
  
  
Riga 8: Riga 8:
  
 
=Il corso  =
 
=Il corso  =
Il Linux User Group di Pordenone con la collaborazione dell'Istituto scolastico comprensivo di Chions,<br>
+
L?Associazione Linux User Group di Pordenone con la collaborazione dell'Istituto scolastico comprensivo di Chions, presenta il suo primo corso Python.<br>.
presenta il suo primo corso Python.<br>.
+
<div style="text-align:justify">
 +
[[Immagine:Locandina_programmazione_da_0_2016.jpg|center|600px]]
 +
<br><br>
 +
 
 +
[http://wiki.pnlug.it/images/Locandina_programmazione_da_0_2016.pdf Locandina] <br>
  
 
'''Nota:''' <br>
 
'''Nota:''' <br>
''''Pordenone Linux User Group ha per scopo la diffusione della cultura informatica con particolare riferimento   al software libero e a sorgente aperto (Free/Libre Open Source Software, FLOSS), ha quale oggetto associativo la diffusione della cultura del libero scambio del sapere per il progresso comune e l'incentivazione dell'utilizzazione, della promozione, della formazione e dello sviluppo del sistema operativo GNU/Linux e del software libero; l'associazione si propone come luogo di incontro e di aggregazione nel nome di interessi culturali assolvendo alla funzione sociale di maturazione e crescita umana e civile attraverso l'ideale dell'educazione permanente.''''<br>
+
''''Pordenone Linux User Group ha per scopo la diffusione della cultura informatica con particolare riferimento al software libero e a sorgente aperto (Free/Libre Open Source Software, FLOSS), ha quale oggetto associativo la diffusione della cultura del libero scambio del sapere per il progresso comune e l'incentivazione dell'utilizzazione, della promozione, della formazione e dello sviluppo del sistema operativo GNU/Linux e del software libero; l'associazione si propone come luogo di incontro e di aggregazione nel nome di interessi culturali assolvendo alla funzione sociale di maturazione e crescita umana e civile attraverso l'ideale dell'educazione permanente.''''<br>
 
(Art.2 dello statuto)<br><br>
 
(Art.2 dello statuto)<br><br>
  
Per questo motivo alcuni Soci particolarmente competenti in materia si sono resi disponibili per fare da relatori a questo corso. I suddetti relatori-soci NON riceveranno alcun compenso per la loro prestazione (solo il rimborso spese di viaggio) e offriranno la loro prestazione gratuitamente. Ecco spiegato anche il basso costo complessivo del corso (3,00€/h) che servirà a coprire anche le spese sostenute per la realizzazione del materiale cartaceo consegnato ai partecipanti e ai costi del piccolo buffet di fine corso.
+
Per questo motivo alcuni Soci particolarmente competenti in materia si sono resi disponibili per fare da relatori a questo corso. I Soci relatori NON riceveranno alcun compenso per la loro prestazione (verrà solo assicurato il rimborso spese di viaggio) e offriranno la loro prestazione gratuitamente. Ecco spiegato anche il basso costo complessivo del corso (3,00€/h) che servirà a coprire anche le spese sostenute per la realizzazione dello stesso e del materiale cartaceo consegnato ai partecipanti, oltre ai costi del piccolo buffet di fine corso.
  
 
= Figure di riferimento per l'organizzazione =
 
= Figure di riferimento per l'organizzazione =
  
* Docente: Stefano Morandi, Loris Tissino, Claudio Driussi.
+
* Docenti: Stefano Morandi, Loris Tissino, Claudio Driussi.
 
* Tutor: Roby.deb (Roberto Colonello)
 
* Tutor: Roby.deb (Roberto Colonello)
  
Riga 38: Riga 42:
 
==== Numero Chiuso ====
 
==== Numero Chiuso ====
  
  Il numero massimo di iscritti è 15.
+
  Il numero massimo di iscritti è 15 persone, ci sono ancora 3 posti disponibili.
  
 
=== Costo ===
 
=== Costo ===
  
  Il costo per i partecipanti soci è di € XX,00.
+
  Il costo per i partecipanti soci è di € 60,00.
  
I soci, che nei ultimi 24 mesi abbiano già frequentato un altro corso PN-Lug,<br>
+
I soci che, negli ultimi 24 mesi abbiano già frequentato un altro corso PN-LUG, avranno diritto ad una riduzione pari al 30% dell'importo. <br>
avranno diritto ad una riduzione pari al 30% dell'importo. <br>
+
  
  In questo caso, la quota sarà di € XX,00.
+
  In questo caso, la quota sarà di € 42,00.
  
 
===Logistica ===
 
===Logistica ===
Riga 53: Riga 56:
 
  Se desiderate installare su un vostro PC il sistema operativo GNU/Linux, potete venirci a trovare in sede al martedì sera, dalle ore 19.30 alle 22.20.
 
  Se desiderate installare su un vostro PC il sistema operativo GNU/Linux, potete venirci a trovare in sede al martedì sera, dalle ore 19.30 alle 22.20.
  
=Programma ed orari del corso Linux base =
+
 
 +
===Figure di riferimento ===
 +
 
 +
*Loris Tissino_____: Docente<br>
 +
*Claudio Driussi___: Docente<br>
 +
*Stefano Morandi___: Tutor Contenuti<br>
 +
*Andrea Tedesco____: Tutor Contenuti<br>
 +
*Roberto Colonello_: Tutor Logistica<br>
 +
<br>
 +
 
 +
=Programma ed orari del corso =
 +
 
 +
Il corso avrà la durata di 20 ore, suddivise in 8 lezioni da 2.5 ore ciascuna.
 +
 
 +
Si terrà una lezione a settimana dalle ore 19:30 alle 22:00, tutti i mercoledì, a partire dal 2 novembre 2016.
 +
 
 +
===Approccio didattico===
 +
 
 +
Viene proposto un approccio didattico orientato al "problem solving".
 +
 
 +
Invece di adottare un percorso sistematico che spiega gli elementi della
 +
programmazione e le caratteristiche del linguaggio Python, proponiamo di
 +
sviluppare un progetto concreto e con il progredire delle versioni
 +
verranno introdotti i vari concetti di programmazione.
 +
I relatori saranno a disposizione dei partecipanti per approfondimenti
 +
mirati e specifici per portare a compimento i moduli di apprendimento.
 +
 
 +
Considerando il carattere aperto del programma, gli obiettivi verranno
 +
adeguati alla velocità di apprendimento del gruppo e nei limiti del
 +
possibile si cercherà di tenere conto delle diverse competenze di partenza
 +
dei partecipanti.
 +
 
 +
Il progetto da sviluppare scelto è il "Gioco dell'impiccato" che abbiamo
 +
ritenuto sia particolarmente adatto per questo tipo di metodologia.
 +
 
 +
Il programma del corso è il seguente e la suddivisione in lezioni non
 +
è rigida.
 +
 
 +
 
 +
===Contenuto del corso===
 +
 
 
{|style="border: 1px solid #789DB3; border-collapse: collapse; align:center; width:100%;"
 
{|style="border: 1px solid #789DB3; border-collapse: collapse; align:center; width:100%;"
 
|-
 
|-
! style="background:#9aa3f9;" width="2"|Orario
+
! style="background:#9aa3f9;" width="20%"|Lezione
! style="background:#9aa3f9;" width="2"|Modulo
+
! style="background:#9aa3f9;" width="40%"|Contenuti didattici
! style="background:#9aa3f9;" width="2"|Relatore
+
! style="background:#9aa3f9;" width="40%"|Esempi
! style="background:#9aa3f9;" width="2"|Abstract
+
! style="background:#9aa3f9;" width="2"|Scarica la dispensa/note
+
 
|-
 
|-
!style="border: 1px solid #789DB3;font-size:100%"|
 
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
1 - 02/11/2016
 +
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%"|
+
Presentazione del corso e del linguaggio Python. Strumenti di lavoro. Modalità di esecuzione delle istruzioni.
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
|-
+
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
+
 
!style="border: 1px solid #789DB3;font-size:100%"|
+
[https://github.com/loristissino/PythonDaZero/tree/master/lezione1 Sorgenti su GitHub]
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
 
|-
 
|-
!style="border: 1px solid #789DB3;font-size:100%"|
 
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
2 - 09/11/2016
 +
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%"|
+
Variabili semplici. Uso di funzioni predefinite. ''Estrazione di sottostringhe.'' <s>Scelta tra alternative</s>.
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
|-
+
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
+
 
!style="border: 1px solid #789DB3;font-size:100%"|
+
[https://github.com/loristissino/PythonDaZero/tree/master/lezione2 Sorgenti su GitHub]
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
 
|-
 
|-
!style="border: 1px solid #789DB3;font-size:100%"|
 
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
3 - 16/11/2016
 +
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%"|
+
Scelta tra alternative. <s>Sequenze e intervalli.</s> Ripetizioni, parte prima. Validazione dell'input. ''Principio DRY.''
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
|-
+
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
+
 
!style="border: 1px solid #789DB3;font-size:100%"|
+
[https://github.com/loristissino/PythonDaZero/tree/master/lezione3 Sorgenti su GitHub]
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
 
|-
 
|-
!style="border: 1px solid #789DB3;font-size:100%"|
 
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
4 - 23/11/2016
 +
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%"|
+
Sequenze e intervalli. Ripetizioni, parte seconda.
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
|-
+
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
+
 
!style="border: 1px solid #789DB3;font-size:100%"|
+
[https://github.com/loristissino/PythonDaZero/tree/master/lezione4 Sorgenti su GitHub]
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
 
|-
 
|-
!style="border: 1px solid #789DB3;font-size:100%"|
 
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
5 - 30/11/2016
 +
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%"|
+
''LBYL vs EAFP. Try... except. Oggetti mutabili e immutabili.'' Definizione di funzioni, parte prima.
!style="border: 1px solid #789DB3;font-size:100%"|
+
 
 +
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
 
 +
[https://github.com/loristissino/PythonDaZero/tree/master/lezione5 Sorgenti su GitHub]
 +
 
 
|-
 
|-
!style="border: 1px solid #789DB3;font-size:100%"|
 
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
6 - 07/12/2016
 +
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
!style="border: 1px solid #789DB3;font-size:100%"|
+
Definizione di funzioni, parte seconda.
!style="border: 1px solid #789DB3;font-size:100%"|
+
|-
+
|}
+
  
 +
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
  
Tutta la documentazione viene rilasciata con licenza CreativeCommons nella versione Attribution-ShareAlike 3.0 se non diversamente specificato. <br>
+
[https://github.com/loristissino/PythonDaZero/tree/master/lezione6 Sorgenti su GitHub]
  
 +
|-
 +
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
7 - 14/12/2016
  
=== Proposta temi ===
+
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
''Alcune note sull'organizzazione dei moduli.'' Sviluppo di un progetto software completo: prima versione.
  
====Proposta Piovesana====
+
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
  
*usare il corso per fare strumenti utili
+
[https://github.com/loristissino/PythonDaZero/tree/master/lezione7 Sorgenti su GitHub]
*ad esempio scaricare le mail o cancellare quelle con certe caratteristiche oppure ...
+
*io ho scaricato realpython.com con il corso completo - per fare app web con flask, web2py o django, utilizza un metodo formativo molto pragmatico
+
*condividerei una libreria di sorgenti utilizzati per scopi pratici, ad esempio ho pulito una cartella di immagini *.png in base alla presenza o no in una tabella sqlite dei file correnti
+
*anche per elaborare file excel e sqlite
+
  
====Proposta Tissino====
+
|-
 +
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
 +
8 - 21/12/2016
  
*Trovare documentazione
+
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
*Primi esempi con cose di base
+
Sviluppo di un progetto software completo: miglioramenti.
*Alcune cose sulle funzioni
+
*Tipi di dati
+
*Esercizi ed esempi su liste e funzioni
+
*Organizzazione del codice
+
*Insiemi e dizionari
+
*Le classi: esempio di partenza
+
*Classi, slot e controllo input
+
*Tipi personalizzati, per così dire
+
*Elenco campi in una named tuple
+
*Attributi privati e pubblici
+
*Proprietà
+
*Unpacking di sequenze
+
*File di testo
+
*Serializzazione e deserializzazione di dati
+
*File binari
+
*Programmazione GUI con tkinter
+
*Tkinter: controllo avanzato dei widget
+
*Tkinter: menù, timer, eventi
+
*Tkinter: creazione di un widget
+
*Funzioni anonime (lambda)
+
*Strumenti legati alle funzioni
+
*Ereditarietà e polimorfismo
+
*Ereditarietà multipla
+
  
====Proposta Morandi====
+
!style="border: 1px solid #789DB3;font-size:100%;text-align:left; padding:5px;"|
  
Direi che potremmo immaginare 4 moduli?
+
|-
 +
|}
  
*101: base base, per chi non ha mai scritto manco mezza riga di codice
+
===Strumenti didattici===
**serve un progetto minimale da realizzare
+
**potrebbe essere un qualcosa legato a IoT?
+
**leggere 2 dati da un device e infilarli in un CSV, ad esempio
+
  
*102: base.
+
L'aula di Chions dispone dei posti di lavoro. Il lavoro potrebbe essere salvato
**qualche concetto di programmazione è richiesto (o il modulo 101)
+
su chiavette e si possono fornire anche credenziali per lavorare su sistemi
**introdurrei qui le GUI (Tk fa schifo, ma c'e' di default)
+
remoti tramite connessione ssh.
**pizzico di SQL
+
**lavorare con il CSV e produrre grafico dei dati (corso 101)
+
  
*201:
+
Per ogni modulo del corso verranno preparate slides che indicheranno le linee
**sviluppo di un piccolo video game(?) (pygame)
+
guida ed a consuntivo verranno preparati documenti con i risultati.
  
*202: web.
+
Tutta la documentazione viene rilasciata con licenza CreativeCommons nella versione
**realizzare un'applicazione web (django? flask?)
+
Attribution-ShareAlike 3.0 se non diversamente specificato. <br>
**cosa che non sia una noia tremenda?
+
  
 +
=Sviluppi successivi =
  
====Progetto Zanchetta====
+
Sulla base dei risultati del corso si potranno proporre per la primavera 2017
 +
ulteriori corsi, o gruppi di lavoro.
  
*Costruire i registratori di cassa per la Sagra di Cimpello 2017.
+
Si potrebbe preparare un '''Corso Python Uno''' orientato a consolidare
 +
le conoscenze acquisite.
  
=== DETTAGLI DEI MODULI DEL CORSO ===
+
Oppure, se c'è interesse, si potrebbe formare un gruppo di lavoro orientato
 +
alla soluzione di problematiche specifiche e concrete.
 +
 
 +
= Documentazione ed ausili didattici =
  
 
== Documentazione a disposizione ==
 
== Documentazione a disposizione ==
 
* [http://www.pnlug.it/download/38/ modello di feedback, richiesta dati per i talk] <br>
 
* [http://www.pnlug.it/download/38/ modello di feedback, richiesta dati per i talk] <br>
 
* [http://www.pnlug.it/download/37/ modello della liberatoria PN LUG per l'installazione Linux sui PC]
 
* [http://www.pnlug.it/download/37/ modello della liberatoria PN LUG per l'installazione Linux sui PC]
<br>
 
  
 
== PC e Hardware a disposizione ==
 
== PC e Hardware a disposizione ==
* Pc della scuola
+
* PC e software della scuola didattica
  
 
== Servizio fotografico ==
 
== Servizio fotografico ==
PN LUG provvederà con i propri mezzi all'intero evento. Successivamente, condivideremo altro materiale fotografico reso disponibile dai partecipanti a questo evento, tramite il nostro blog associativo principale.  
+
PN LUG provvederà con i propri mezzi all'intero evento.  
 
+
Successivamente, condivideremo altro materiale fotografico reso disponibile dai partecipanti a questo evento, tramite il nostro blog associativo.
 
+
== Test Finale ==
+
 
+
prova
+

Versione attuale delle 17:57, 18 dic 2016

ISCRIZIONI APERTE DAL 22/10/2016


Python-logo.png



Il corso

L?Associazione Linux User Group di Pordenone con la collaborazione dell'Istituto scolastico comprensivo di Chions, presenta il suo primo corso Python.
.

Locandina programmazione da 0 2016.jpg



Locandina

Nota:
'Pordenone Linux User Group ha per scopo la diffusione della cultura informatica con particolare riferimento al software libero e a sorgente aperto (Free/Libre Open Source Software, FLOSS), ha quale oggetto associativo la diffusione della cultura del libero scambio del sapere per il progresso comune e l'incentivazione dell'utilizzazione, della promozione, della formazione e dello sviluppo del sistema operativo GNU/Linux e del software libero; l'associazione si propone come luogo di incontro e di aggregazione nel nome di interessi culturali assolvendo alla funzione sociale di maturazione e crescita umana e civile attraverso l'ideale dell'educazione permanente.'
(Art.2 dello statuto)

Per questo motivo alcuni Soci particolarmente competenti in materia si sono resi disponibili per fare da relatori a questo corso. I Soci relatori NON riceveranno alcun compenso per la loro prestazione (verrà solo assicurato il rimborso spese di viaggio) e offriranno la loro prestazione gratuitamente. Ecco spiegato anche il basso costo complessivo del corso (3,00€/h) che servirà a coprire anche le spese sostenute per la realizzazione dello stesso e del materiale cartaceo consegnato ai partecipanti, oltre ai costi del piccolo buffet di fine corso.

Figure di riferimento per l'organizzazione

  • Docenti: Stefano Morandi, Loris Tissino, Claudio Driussi.
  • Tutor: Roby.deb (Roberto Colonello)


Dove

Presso l' Istituto scolastico primario "Berengario Ortis" di Chions
via Mauro De Zorzi, 6 - 33083 Chions (PN)

Scuola Ortis Chions.png














Dati da OpenStreetMap - Pubblicati sotto licenza ODbL

INFORMAZIONI ED ISCRIZIONI

Tutte le iscrizioni su come iscriversi le trovate nella Pagina principale corsi

Numero Chiuso

Il numero massimo di iscritti è 15 persone, ci sono ancora 3 posti disponibili.

Costo

Il costo per i partecipanti soci è di € 60,00.

I soci che, negli ultimi 24 mesi abbiano già frequentato un altro corso PN-LUG, avranno diritto ad una riduzione pari al 30% dell'importo.

In questo caso, la quota sarà di € 42,00.

Logistica

Verranno utilizzati solo i calcolatori presenti nella classe; non sarà necessario portare il vostro PC.
Se desiderate installare su un vostro PC il sistema operativo GNU/Linux, potete venirci a trovare in sede al martedì sera, dalle ore 19.30 alle 22.20.


Figure di riferimento

  • Loris Tissino_____: Docente
  • Claudio Driussi___: Docente
  • Stefano Morandi___: Tutor Contenuti
  • Andrea Tedesco____: Tutor Contenuti
  • Roberto Colonello_: Tutor Logistica


Programma ed orari del corso

Il corso avrà la durata di 20 ore, suddivise in 8 lezioni da 2.5 ore ciascuna.

Si terrà una lezione a settimana dalle ore 19:30 alle 22:00, tutti i mercoledì, a partire dal 2 novembre 2016.

Approccio didattico

Viene proposto un approccio didattico orientato al "problem solving".

Invece di adottare un percorso sistematico che spiega gli elementi della programmazione e le caratteristiche del linguaggio Python, proponiamo di sviluppare un progetto concreto e con il progredire delle versioni verranno introdotti i vari concetti di programmazione. I relatori saranno a disposizione dei partecipanti per approfondimenti mirati e specifici per portare a compimento i moduli di apprendimento.

Considerando il carattere aperto del programma, gli obiettivi verranno adeguati alla velocità di apprendimento del gruppo e nei limiti del possibile si cercherà di tenere conto delle diverse competenze di partenza dei partecipanti.

Il progetto da sviluppare scelto è il "Gioco dell'impiccato" che abbiamo ritenuto sia particolarmente adatto per questo tipo di metodologia.

Il programma del corso è il seguente e la suddivisione in lezioni non è rigida.


Contenuto del corso

Lezione Contenuti didattici Esempi

1 - 02/11/2016

Presentazione del corso e del linguaggio Python. Strumenti di lavoro. Modalità di esecuzione delle istruzioni.

Sorgenti su GitHub

2 - 09/11/2016

Variabili semplici. Uso di funzioni predefinite. Estrazione di sottostringhe. Scelta tra alternative.

Sorgenti su GitHub

3 - 16/11/2016

Scelta tra alternative. Sequenze e intervalli. Ripetizioni, parte prima. Validazione dell'input. Principio DRY.

Sorgenti su GitHub

4 - 23/11/2016

Sequenze e intervalli. Ripetizioni, parte seconda.

Sorgenti su GitHub

5 - 30/11/2016

LBYL vs EAFP. Try... except. Oggetti mutabili e immutabili. Definizione di funzioni, parte prima.

Sorgenti su GitHub

6 - 07/12/2016

Definizione di funzioni, parte seconda.

Sorgenti su GitHub

7 - 14/12/2016

Alcune note sull'organizzazione dei moduli. Sviluppo di un progetto software completo: prima versione.

Sorgenti su GitHub

8 - 21/12/2016

Sviluppo di un progetto software completo: miglioramenti.

Strumenti didattici

L'aula di Chions dispone dei posti di lavoro. Il lavoro potrebbe essere salvato su chiavette e si possono fornire anche credenziali per lavorare su sistemi remoti tramite connessione ssh.

Per ogni modulo del corso verranno preparate slides che indicheranno le linee guida ed a consuntivo verranno preparati documenti con i risultati.

Tutta la documentazione viene rilasciata con licenza CreativeCommons nella versione Attribution-ShareAlike 3.0 se non diversamente specificato.

Sviluppi successivi

Sulla base dei risultati del corso si potranno proporre per la primavera 2017 ulteriori corsi, o gruppi di lavoro.

Si potrebbe preparare un Corso Python Uno orientato a consolidare le conoscenze acquisite.

Oppure, se c'è interesse, si potrebbe formare un gruppo di lavoro orientato alla soluzione di problematiche specifiche e concrete.

Documentazione ed ausili didattici

Documentazione a disposizione

PC e Hardware a disposizione

  • PC e software della scuola didattica

Servizio fotografico

PN LUG provvederà con i propri mezzi all'intero evento.

Successivamente, condivideremo altro materiale fotografico reso disponibile dai partecipanti a questo evento, tramite il nostro blog associativo.