Corsi Python0 2016: differenze tra le versioni

Da PNLUG.
Riga 60: Riga 60:
 
settimana e la data di inizio non sono ancora stati fissati.
 
settimana e la data di inizio non sono ancora stati fissati.
  
====Approccio didattico====  
+
===Approccio didattico===  
  
 
Viene proposto un approccio didattico orientato al "problem solving".
 
Viene proposto un approccio didattico orientato al "problem solving".
Riga 82: Riga 82:
 
è rigida.
 
è rigida.
  
====Contenuto del corso====  
+
    L'aula di Chions dispone dei posti di lavoro, per salvare il lavoro svolto si potrebbero usare chiavette, oppure si potrebbe fornire spazio su macchine condivise.
 +
 
 +
 
 +
===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%;"
Riga 152: Riga 155:
 
|}
 
|}
  
 +
===Strumenti didattici===
  
Tutta la documentazione viene rilasciata con licenza CreativeCommons nella versione Attribution-ShareAlike 3.0 se non diversamente specificato. <br>
+
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.
  
=Programma ed orari del corso Python da Zero =
+
Per ogni modulo del corso verranno preparate slides che indicheranno le linee
 +
guida ed a consuntivo verranno preparati documenti con i risultati.
  
=== Proposta temi ===
+
Tutta la documentazione viene rilasciata con licenza CreativeCommons nella versione
 +
Attribution-ShareAlike 3.0 se non diversamente specificato. <br>
  
====Proposta Piovesana====  
+
=Sviluppi successivi =
  
*usare il corso per fare strumenti utili
+
Sulla base dei risultati del corso si potranno proporre per la primavera 2017
*ad esempio scaricare le mail o cancellare quelle con certe caratteristiche oppure ...
+
ulteriori corsi, o gruppi di lavoro.
*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====
+
Si si potrebbe preparare un '''Corso Python Uno''' orientato a consolidare
 +
le conoscenze acquisite.
  
*Trovare documentazione
+
Oppure, se c'è interesse, si potrebbe formare un gruppo di lavoro orientato
*Primi esempi con cose di base
+
alla soluzione di problematiche specifiche e concrete.
*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====
+
= Documentazione ed ausili didattici =
 
+
Direi che potremmo immaginare 4 moduli?
+
 
+
*101: base base, per chi non ha mai scritto manco mezza riga di codice
+
**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.
+
**qualche concetto di programmazione è richiesto (o il modulo 101)
+
**introdurrei qui le GUI (Tk fa schifo, ma c'e' di default)
+
**pizzico di SQL
+
**lavorare con il CSV e produrre grafico dei dati (corso 101)
+
 
+
*201:
+
**sviluppo di un piccolo video game(?) (pygame)
+
 
+
*202: web.
+
**realizzare un'applicazione web (django? flask?)
+
**cosa che non sia una noia tremenda?
+
 
+
 
+
====Progetto Zanchetta====
+
 
+
*Costruire i registratori di cassa per la Sagra di Cimpello 2017.
+
 
+
====Proposta Driussi====
+
 
+
In seguito alle discussioni tenute nei giorni scorsi, vorrei fare una sintesi delle conclusioni a cui siamo giunti.
+
 
+
*Il corso sarà strutturato secondo un modello di "problem solving", quindi si propone un problema e si cerca una soluzione attivando via via strumenti software di difficoltà crescente che cercano di offrire una panoramica delle potenzialità del linguaggio.
+
*Il corso avrà degli obiettivi prefissati ed una durata stabilita, ma non avrà un programma rigido, si cercherà di seguire i partecipanti individualmente o per gruppi per dare modo a ciascuno di progredire in base alle proprie conoscenze di base.
+
*Il progetto scelto per il corso è "Il gioco dell'impiccato" che si presta particolarmente per portare aventi un percorso didattico. Altri progetti più concreti potranno essere sviluppati organizzando gruppi di lavoro.
+
* L'aula di Chions dispone dei posti di lavoro, per salvare il lavoro svolto si potrebbero usare chiavette, oppure si potrebbe fornire spazio su macchine condivise.
+
 
+
Propongo di fare il punto della situazione con gli interessati ed arrivare ad una definizione più precisa di tutte le tematiche.
+
 
+
=== DETTAGLI DEI MODULI DEL CORSO ===
+
  
 
== 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 ==
Riga 244: Riga 188:
  
 
== 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 principale.
== Test Finale ==
+
 
+
prova
+

Versione delle 14:47, 31 ago 2016

ISCRIZIONI NON ANCORA APERTE!


Python-logo.png



Il corso

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

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 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.

Figure di riferimento per l'organizzazione

  • Docente: 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.

Costo

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

I soci, che nei 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 € XX,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.

Programma ed orari del corso Python da Zero

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 20:00 alle 22:30, il giorno della settimana e la data di inizio non sono ancora stati fissati.

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.

   L'aula di Chions dispone dei posti di lavoro, per salvare il lavoro svolto si potrebbero usare chiavette, oppure si potrebbe fornire spazio su macchine condivise.


Contenuto del corso

Modulo Abstract Contenuti didattici

Introduzione

  • Presentazione del corso
  • Richiesta motivazioni dei partecipanti
  • Breve presentazione di Python rispetto agli altri linguaggi e motivi della scelta
  • Breve presentazione degli strumenti di lavoro (organizzazione cartelle, editor, interprete)
  • Concetti base della programmazione variabili, costanti, if, loop, input/output

Concetti base della programmazione e strumenti di lavoro

il programma da sviluppare

  • Il gioco l'impiccato - Versione 1
  • Inserire i termini in una lista
  • Vari modi di navigare una lista range() e ciclo for
  • input da tastiera di un valore
  • verifica della presenta del termine cercato nel dizionario

Introduzione alle variabili dinamiche liste e dizionari. Applicazioni di strutture logiche. Input/output dei dati.

Logica e Librerie

  • Il gioco l'impiccato - Versione 2
  • Scelta casuale della parola da cercare
  • Memorizza le lettere inserite dal giocatore in una lista di tentativi
  • controllo della presenza delle lettere inserite nella parola nascosta
  • vittoria o sconfitta
  • Disegno dell'impiccato con i caratteri.

Proseguono gli esercizi di logica applicata. Approccio alle librerie di Python. L'ecosistema delle librerie disponibili.

refactoring e programmazione object oriented

  • Il gioco l'impiccato - Versione 3
  • Riscrittura del programma in modo oop
  • introduzione del concetto MVC
  • Ereditarietà con cambio di origine del dizionario

Le motivazioni del refactoring del software. La programmazione OOP e la sua implementazione in Python. I patterns (in particolare MVC) ed alcuni concetti di metaprogrammazione.

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 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 della scuola

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.