Introduzione
Ti stai chiedendo come lavorano i programmatori? Questo corso è un'opportunità per imparare il linguaggio utilizzato dai programmatori professionisti. Imparando il linguaggio di programmazione Python, gli studenti vengono introdotti alla terminologia comunemente usata nell'ambiente IT, imparano a scrivere codici e a creare i propri programmi.
Programma del corso
1Introduzione a Python
In questa lezione creeremo il nostro primo programma con Python e impareremo ad usare l'ambiente di sviluppo (IDE: Integrated Development Environment) Visual Studio Code.
2Variabili ed Operazioni Matematiche pt.1
In questa lezione esploreremo alcuni tipi di dati (int, float, bool, string) ed impareremo cos'è una variabile. Studieremo anche gli operatori logici e matematici che vengono maggiormente utilizzati.
3Variabili ed Operazioni Matematiche pt.2
In questa lezione andremo ad usare operazioni matematiche di base sulle variabili ed esploreremo alcune funzioni matematiche integrate in Python.
4Operatori logici e relazionali
In questa lezione approfondiremo il mondo degli operatori logici e relazionali: >, >=, <, <=, ==, !=, ‘and’, ‘or’, ‘not’.
5Istruzioni condizionali pt. 1
In questa lezione impareremo cosa sono le dichiarazioni condizionali e come usarle.
6Istruzioni condizionali pt. 2
In questa lezione consolideremo le nostre conoscenze apprese sulle dichiarazioni condizionali e le useremo in diversi esercizi.
7I cicli pt. 1
In questa lezione introdurremo i cicli. Utilizzeremo il ciclo “while” con diversi esempi in cui può essere applicato.
8I cicli pt. 2
In questa lezione approfondiremo le nostre conoscenze sui cicli. Impareremo ad usare il ciclo “for”. Scopriremo come discriminare tra i diversi tipi di cicli per dei task precisi e impareremo anche come utilizzare cicli nidificati.
9Liste e stringhe
In questa lezione ci approcciamo alle liste di Python e approfondiamo le nostre conoscenze sulle stringhe.
10Le funzioni pt. 1
In questa lezione studieremo come si utilizzano le funzioni in Python.
11Le funzioni pt. 2
In questa lezione consolideremo le nostre conoscenze sulle funzioni e aggiungeremo qualche altra informazione interessante.
12Introduzione a PyGame
In questa lezione utilizzeremo il modulo PyGame e creeremo la nostra prima applicazione con un’interfaccia grafica.
13PyGame avanzato
In questa lezione introdurremo funzionalità avanzate del modulo PyGame e creeremo un’altra applicazione grafica.
14Lezione di ripasso
In questa lezione ripassiamo tutte le nozioni apprese fino ad ora.
15Problemi da programmatore
L'obiettivo della lezione è consolidare le conoscenze acquisite nel corso e mettere in pratica la capacità di selezionare gli strumenti giusti per risolvere i task presentati. Durante la lezione, gli studenti si troveranno di fronte ai problemi più iconici di un programmatore.
16Simulazione di un bancomat
L'obiettivo della lezione è creare un programma che simula un bancomat, utilizzando tutte le conoscenze acquisite dagli studenti durante le lezioni precedenti.
17La calcolatrice intelligente
L'obiettivo della lezione è consolidare le conoscenze apprese durante tutto il corso creando un programma che converte una semplice frase in un'operazione matematica.
18Giochiamo a dadi - Yahtzee!
L'obiettivo della lezione è consolidare le conoscenze acquisite durante il corso creando il gioco di Yahtzee.
19Lezione di ripasso
L’obiettivo di questa lezione è ripassare le nozioni apprese nel primo semestre, come le variabili e le operazioni su di esse, le istruzioni condizionali, i cicli e le funzioni.
20Introduzione alla programmazione orientata agli oggetti (classi, oggetti)
In questa lezione impareremo cosa sono le classi e gli oggetti, ed in quali situazioni devono essere usati nella programmazione. Impareremo anche a creare i nostri oggetti, le loro funzioni e variabili.
21Il costruttore
L’obiettivo di questa lezione è apprendere la funzionalità del costruttore nelle classi e spiegare la differenza tra una variabile associata ad un oggetto e una variabile associata ad una classe.
22Ereditarietà
In questa lezione impareremo come ereditare le classi e come usarle.
23Ripasso OOP - RPG
In questa lezione creeremo un semplice RPG utilizzando le classi, aggiungendo nemici con abilità uniche.
24Creazione di personaggi pt. 1
Creeremo un mini gioco utilizzando la libreria Pygame, dove ogni giocatore potrà creare il proprio personaggio partendo da svariati piccoli elementi, come l’aspetto della faccia, i capelli o l’equipaggiamento.
25Creazione di personaggi pt. 2
Questa lezione è la continuazione della precedente.
26Snake pt. 1
L’obiettivo della lezione è ricreare il gioco cult Snake. In questo progetto utilizzeremo le nostre conoscenze delle classi per creare il gioco di Snake con la libreria PyGame.
27Snake pt. 2
Questa lezione è la continuazione della precedente.
28Snake pt. 3
Questa lezione è la continuazione della precedente.
29Arkanoid pt. 1
L’obiettivo di questa lezione è creare una copia del gioco Arkanoid. Sarà il nostro progetto più avanzato: il gioco avrà una logica di collisione complessa e il rimbalzo della palla, capiremo anche come implementare diversi livelli nel gioco.
30Arkanoid pt. 2
La lezione è una continuazione della precedente, la creazione del gioco Arkanoid.
31Arkanoid pt. 3
Conclusione del gioco Arkanoid e ripasso di tutto ciò che è stato studiato fino ad ora.
32Strutture dati avanzate
Nella programmazione, ci sono strutture dati predefinite come array o liste. A volte, però, abbiamo bisogno di creare una struttura personalizzata adattata alle nostre esigenze: in questa classe impareremo come farlo.
33Sviluppo e analisi di algoritmi
Durante questa lezione, impareremo come sviluppare e analizzare algoritmi per affrontare al meglio diversi problemi di programmazione.
34Dizionari e JSON
In questa lezione ripasseremo come si usano i dizionari e impareremo che cosa sono i file JSON. Capiremo le differenze tra i due e come usare la libreria JSON
35Metodi delle liste
L'obiettivo della lezione è ripassare gli argomenti legati alle liste e imparare i metodi per modificarle.
36Altre strutture dati
In questa lezione conosceremo altre strutture dati disponibili in Python e confronteremo le loro caratteristiche con quelle delle strutture dati già apprese.
37List comprehensions e gestione delle eccezioni
In questa lezione verrà introdotto il concetto delle delle list comprehensions.
Verrà anche spiegato cosa sono le eccezioni e come poterle gestire
38Preventivo vacanze! Generiamo un PDF automatico con Python
In questa lezione, impareremo a usare la libreria fpdf e la utilizzeremo per generare un file PDF con un preventivo per una vacanza.
39Python numerico - numpy
In questa lezione, faremo la conoscenza della libreria di base per i calcoli
numerici in python: numpy.
40Elaborazione digitale delle immagini
Scopriamo i segreti della libreria openCV e come applicare vari filtri alle immagini.
41Espressioni regolari - Regex
Come trovare parti di testi che si ripetono? Scopriamolo insieme!
42Travelinator - Assistente intelligente di viaggio pt. 1
Creiamo un programma che, sfruttando le API rest, ci permette di ottenere informazioni di viaggio utili in tempo reale, come le condizioni meteorologiche di una città o la valuta locale.
43Travelinator - Assistente intelligente di viaggio pt. 2
In questa lezione completeremo la creazione di Travelinator aggiungendo una nuova funzionalità e lo modificheremo, facendolo diventare un chatbot interattivo.
44Pokedex
In questa lezione, conosceremo le librerie requests e bs4, attraverso le quali impareremo come estrarre dati dai siti web.
45Test del codice - Unit testing
L'obiettivo della lezione è familiarizzare con il tema dei test. Verranno inoltre introdotte le librerie unittest e pytest.
46Pizza! Un'app per le ordinazioni
In questa lezione, creeremo un'applicazione per una pizzeria che permetterà di effettuare un ordine e di inviare un riepilogo all'indirizzo email del cliente.
47Python Code Jam
Facciamo un ripasso di tutto ciò che abbiamo studiato durante il corso
48Introduzione all'intelligenza artificiale
Familiarizzazione con il mondo dell'intelligenza artificiale, argomento che verrà trattato nel corso avanzato
