
Descrizione e storia del linguaggio di programmazione Python. Partendo dai retroscena che lo hanno fatto nascere, scopriremo le caratteristiche principali di questo linguaggio e perché si è diffuso sempre più fino a diventare attualmente il linguaggio più utilizzato.
Descrizione del tipico processo di installazione di un interprete Python su sistema operativo Windows
Analisi dei gestori di pacchetti Python (librerie) e descrizione della corretta procedura per configurare un ambiente di lavoro basato sul linguaggio Python su sistema operativo Windows
Installazione di Python 3 su Mac OS tramite il package manager homebrew. Configurazione di un ambiente virtuale tramite libreria virtualenv e installazione di librerie esterne tramite pip.
Descrizione delle espressioni e operatori matematici in Python. Definizione del concetto di variabile ed esempi di utilizzo.
Definizione del formato dati Booleano e descrizione di come poter utilizzare condizioni nel flusso operativo di uno script Python.
Utilizzo del costrutto FOR per l’implementazione di operazioni cicliche negli script Python.
Descrizione dell’ulteriore costrutto per l’implementazione di cicli condizionati, ovvero operazioni cicliche da eseguire fino al verificarsi di una particolare condizione logica.
Tra le tipologie di dati disponibili in Python, le liste sono forse le più usate e permettono di raggruppare ed utilizzare dati anche non omogenei.
Le tuple sono delle strutture dati Python identificate da un indice, come le liste, ma con una caratteristica in più: l’immutabilità. Come le altre sequenze Python sono collezioni che permettono di organizzare dati anche non eterogenei.
Il tipo di dato Dizionario permette di gestire una struttura dati molto particolare, in grado di mappare su ogni chiave contenuta un particolare valore.
È una struttura dati messa a disposizione da Python per poter gestire insiemi di dati, ovvero una collezione di dati eterogenei unici e non ordinati.
Come vengono memorizzati a basso livello i dati alfanumerici che vediamo a schermo ogni giorno? Quali sono gli standard che trasformano un carattere visualizzato a schermo in una sequenza di bit? Panoramica sugli standard ASCII, Unicode e UTF-8.
Panoramica sul tipo di dato “stringa” in Python, codifica e decodifica di stringhe secondo vari encoding, uso di f-strings e di format per interpolazione di stringhe. Differenza fra stringhe Unicode e byte strings.
Panoramica sullo standard IEEE 754 per la memorizzazione dei numeri a virgola mobile in un computer con esempi di conversione e analisi delle problematiche.
I numeri floating point in Python, con approfondimento sulle rappresentazioni dei numeri a virgola mobile e le loro reali rappresentazioni. Metodi per visualizzare e confrontare i reali valori fra i numeri floating point.
Descrizione della possibilità che offre Python di poter implementare blocchi di codice riusabili negli script che andremo ad implementare.
Introduzione alla conservazione dei dati di un programma Python in memoria centrale. Successivamente verrà introdotto il concetto di mutability e verranno fatti degli esempi sui tipi più comuni di dato; inoltre verranno fatti degli esempi di passaggio di oggetti mutabili e non mutabili alle funzioni definite dall’utente, prima di prendere in esame dei casi particolari.
Uno dei vantaggi innegabili di Python sono i costrutti che permettono di eseguire istruzioni complesse in maniera rapida. La list comprehension è un esempio di sintassi alternativa per la creazione di strutture dati complesse in una sola riga di codice.
I concetti di serializzazione e deserializzazione sono molto importanti per la conservazione su memorie persistenti e per l’interoperabilità di dati fra sistemi diversi. In questa lezione studieremo e confronteremo due moduli Python per fare serializzazione e deserializzazione: i moduli json e pickle.
In questo video useremo il modulo pickle per affrontare un caso d’uso molto comune: serializzare i parametri di un modello di Machine Learning in un file con il modulo pickle e andare a recuperare in un secondo momento i parametri per evitare di riaddestrare continuamente un modello.
Il web si poggia del tutto sul protocollo HTTP, e in questa lezione andiamo a fare una panoramica delle sue versioni, dei suoi metodi, dei formati di richieste e risposte.
In questa lezione installiamo ed utilizziamo il package requests, che fornisce utility e classi molto semplici da utilizzare per effettuare chiamate HTTP direttamente dal nostro codice Python in poche semplici istruzioni.
Introduzione alla programmazione ad oggetti in Python. Definizione di classe, costruttore, attributi e metodi di istanza, attributi e metodi di classe. Dichiarazione di istanze di oggetti.
Ereditarietà in Python. Esempi di ereditarietà semplice fra classi, overriding di metodi.
Panoramica e sviluppo dei dunder methods più comuni nella programmazione ad oggetti in Python: costruttore, __str__, __add__, __eq__, __setitem__, __getitem__, __add__, __len__.
Introduzione al polimorfismo in Python con utilizzo di metodi e attributi privati e loro accesso tramite name mangling.
Introduzione agli errori di sintassi ed errori di run-time, blocco try/except per gestire eccezioni generiche, classi e istanze di eccezioni. Visualizzazione della gerarchia di eccezioni tramite il modulo della libreria standard di Python “inspect”.
In questa semplice esercitazione implementeremo il classico gioco sasso-carta-forbice, ipotizzando di effettuare delle partite fra umano e computer. Verrà introdotto il concetto di loop di gioco e verranno proposte due soluzioni, una che fa uso dei classici costrutti di programmazione strutturata (if/else) e l’altra che fa uso di una matrice di gioco.
In questa semplice esercitazione implementeremo il classico gioco sasso-carta-forbice, ipotizzando di effettuare delle partite fra umano e computer. Verrà introdotto il concetto di loop di gioco e verranno proposte due soluzioni, una che fa uso dei classici costrutti di programmazione strutturata (if/else) e l’altra che fa uso di una matrice di gioco.
In questa esercitazione intermedia implementeremo una variante del gioco dell’impiccato in cui il giocatore avrà un certo numero di tentativi per cercare di indovinare il titolo di un film estratto casualmente dal catalogo dei film di Netflix, disponibile su Kaggle.
In questa esercitazione intermedia implementeremo una variante del gioco dell’impiccato in cui il giocatore avrà un certo numero di tentativi per cercare di indovinare il titolo di un film estratto casualmente dal catalogo dei film di Netflix, disponibile su Kaggle.
In questa esercitazione di livello intermedio prenderemo dimestichezza con le operazioni più elementari delle librerie più note di image processing in Python, e implementeremo un algoritmo capace di generare, partendo da un’immagine a colori, una serie di caratteri ASCII che saranno disposti sulla schermata in maniera da replicare l’immagine di partenza.
In questa esercitazione di livello intermedio prenderemo dimestichezza con le operazioni più elementari delle librerie più note di image processing in Python, e implementeremo un algoritmo capace di generare, partendo da un’immagine a colori, una serie di caratteri ASCII che saranno disposti sulla schermata in maniera da replicare l’immagine di partenza.
In questa esercitazione testiamo un servizio per avere informazioni e statistiche sulle partite di calcio di svariate serie nazionali. Utilizzeremo la libreria requests, i token di autenticazione e svariati endpoint per dare un’idea di cosa è possibile fare con solo poche righe di codice.
In questa esercitazione implementeremo da zero uno degli algoritmi più famosi di Machine Learning per la clusterizzazione, il KNN (K-Nearest Neighbors), utilizzando un Dataset molto particolare: quello che comprende tutti i Pokemon del mondo!
In questa esercitazione implementeremo il famoso gioco di parole Wordle, in cui il giocatore ha 6 tentativi per indovinare una parola di 5 lettere.
In questa esercitazione utilizzeremo la libreria discord.py per creare un bot discord capace di rispondere a semplici comandi degli utenti dei server sui quali il bot è presente.
Più di 13 ore di lezione e 7 imperdibili esercitazioni guidate che ti permetteranno da subito di inserire tra le tue competenze il linguaggio più utilizzato al mondo e il più richiesto dalle aziende IT.
È il corso ideale per te che vuoi intraprendere una carriera di successo nella Data Science: saperlo usare è fondamentale quando si vuole lavorare in questo ambito.
In questo corso, partendo da zero, imparerai tutte le nozioni che ti permetteranno rapidamente di iniziare a programmare in Python, acquisendo skills super richieste nel mondo Tech.
Acquisirai familiarità con le funzioni, gli oggetti e le classi chiave del linguaggio di programmazione Phyton per risolvere rapidamente problemi complessi.
Potrai così sviluppare le competenze professionali necessarie per applicare i fondamenti di Python nel processo di data analysis e sviluppare soluzioni di analisi più efficienti.
Avrai accesso a tutte le risorse utilizzate durante le lezioni, compresi i jupyter notebook con i quali esercitarti autonomamente e mettere alla prova le tue abilità.
Il tuo docente sarà Giuseppe, un Ingegnere Informatico con una forte specializzazione e pubblicazioni in ambito Computer Vision. Da circa 10 anni si dedica all’insegnamento in ambito informatico e alla formazione sulle tecnologie emergenti tra le quali il Machine Learning.