Corsi Python0 2016: differenze tra le versioni

Da PNLUG.
(Programma ed orari del corso Python da Zero)
Riga 155: Riga 155:
 
Tutta la documentazione viene rilasciata con licenza CreativeCommons nella versione Attribution-ShareAlike 3.0 se non diversamente specificato. <br>
 
Tutta la documentazione viene rilasciata con licenza CreativeCommons nella versione Attribution-ShareAlike 3.0 se non diversamente specificato. <br>
  
 +
=Programma ed orari del corso Python da Zero =
  
 
=== Proposta temi ===
 
=== Proposta temi ===

Versione delle 14:30, 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.

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.


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

Programma ed orari del corso Python da Zero

Proposta temi

Proposta Piovesana

  • usare il corso per fare strumenti utili
  • 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

  • Trovare documentazione
  • Primi esempi con cose di base
  • 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

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


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.


Test Finale

prova