Lezione #1 del 1 marzo 2024: presentazione ed introduzione ai temi del corso. L'importanza dei dati nel text data mining: General data protection regulation (link). Banche per investire e recuperare valore dai tuoi dati (link). Privacy Data Manager (link). l'importanza di conoscere un linguaggio di programmazione e di saper programmare: Python il "Giornalismo Computazionale" : esempi di twitter sentiment analysis with python e clustering with python. Il concetto di codifica dell'informazione
Lezione #2 del 8/3: la codifica dei numeri naturali (0, 1, 2, ...); il teorema di rappresentazione dei numeri nella varie basi, binaria, ottale ed esadecimale (slides codifica dell'informazione). Esercizio: trovare un codice univoco per tutti e mesi dell'anno usando il codice binario, ternario, ottale ed esadecimale. Si possono usare convertitori di base disponibili online per verificare gli esercizi ed esempi: https://wims.univ-cotedazur.fr/wims/it_tool~number~baseconv.it.html
Lezione #3 del 15/3: il passaggio dalla codifica analogica alla codifica digitale: la quantizzazione ed il campionamento. Fare il download e l'installazione di Anaconda Individual Edition (https://www.anaconda.com/products/individual). Scarica la Breve Guida all'uso di Anaconda.
Lezione #4 del 22/3: Introduzione agli algoritmi, sintassi sequenziale (pseudo-codice) e sintassi grafica (diagrammi a blocchi). Introduzione alla programmazione nel linguaggio Python: assegnazione di valori a variabili, funzioni di lettura in input e di scrittura in output; istruzione condizionale "if ... then ... else ...". Scarica le slides viste a lezione sugli algoritmi. Scarica il notebook4.
Lezione del 29/3: annullata per le festività Pasquali
Lezione #5 del 5 Aprile: i principi della programmazione strutturata (Jacopini - Bohm): blocchi sequenziali, blocchi condizionali e blocchi iterativi; linguaggi di programmazione, interpreti e compilatori. Le istruzioni iterative (cicli) in Python con il costrutto while ed il costrutto for. Scarica le slides viste a lezione sugli algoritmi. Scarica il notebook5 e notebook6.
Lezione #6 del 12/4: Introduzione alla Programmazione in Python delle stringhe di caratteri: captitolo 8, da pag. 71-74 del manuale Python, "Allen B. Downey et al., Pensare da Informatico (versione PDF)". Scarica il notebook della lezione.
Lezione #7 del 19/4: Programmazione in Python delle stringhe di caratteri: captitolo 8, pagg 76-77 del manuale Allen B. Downey et al., versione PDF. Svolgere gli esercizi da 8.1 ad 8.5 di pag.80-81. Scarica il notebook della lezione ed il notebook dell'esercitazione. Svolgimento dell'Esercizio sulla rotazione delle stringhe (scarica il notebook dell'esercitazione + il diagramma di flusso). Introduzione al Natural Language Processing with Python and NLTK . Per installare il package NLTK con Jupyter su Anaconda, eseguire le seguenti istruzioni:
1. lanciare il programma "Anaconda Navigator"
2. lanciare il "Notebook Jupyter" come in figura
3. cliccare a destra sul pulsante "new" come in figura
4. digitare le linee di comando come in figura
5. per verificare il funzionamento del notebook Jupyter, aprire con il noteboook il file ex-nltk.ipynb
Lezione del 26/4: Introduzione al Natural Language Processing with Python and NLTK. Capitolo 1 Language Processing and Python (continua)". Scarica il notebook della lezione.
Lezione del 3/5: Introduzione al Natural Language Processing with Python and NLTK . Introduzione al Machine Learning. Come classificare il testo: Learning "to Classify Text" (capitolo 6). Esempi di classificatori bayesiani basati su NLTK: classificatore di nomi propri di persona (scarica il notebook).
Lezione del 10/5: Un esempio di Data Journalism: il caso di Reporters Sans Frontierés . Svolgimento del facsimile della prova di esame scritta (scarica testo+soluzioni). Come funzionano i Classificatori Bayesiani usati nel Machine Learning: (scarica le slides). Sentiment Analysis con NLTK e Vader (scarica il notebook visto a lezione con il dataset (compresso in formato .zip).
Lezione del 17/5: Simulazione della prova di esame scritta: Scarica il Facsimile n.2. Un esempio di Classificatore di testo Bayesiano scritto con NLTK e condiviso via Colab in questo link.
Lezione del 24/5: "Un esempio di Data Journalism": Il ruolo dell’Intelligenza Artificiale nella lotta contro le (Cyber)-Mafie - Legalità e nuove tecnologie digitali: scarica le slides del Primo Rapporto Le Mafie nell'Era Digitale: https://fondazionemagnagrecia.it/le-mafie-nellera-digitale/ Nota: ecco un notebook da eseguire dentro Colab che consente di leggere ed operare su file di testo (.txt) direttamente dentro Colab: leggi_file_txt.ipynb e proverbi.txt
Lezione del 31/5: revisione progetti ed esercizi di esame.
Fine del corso.
con soluzione (codice). https://www.programmareinpython.it/esercizi-python/
Per ciascun esercizio, oltre al codice python, provare a scrivere sia lo pseudo-codice che il diagramma a blocchi