Laboratorio: introduzione alla programmazione in python

A.A. 2024/2025
3
Crediti massimi
20
Ore totali
Lingua
Italiano
Obiettivi formativi
Questo laboratorio introduttivo mira a fornire ai partecipanti una comprensione fondamentale della programmazione in Python. I partecipanti impareranno i concetti di base della sintassi di Python, i tipi di dati, le strutture di controllo e le funzioni attraverso esercitazioni pratiche e dimostrazioni interattive. Alla fine del workshop, gli iscritti avranno le conoscenze e le competenze essenziali per iniziare a scrivere semplici programmi in Python ed esplorare le vaste possibilità offerte da questo versatile linguaggio di programmazione.
1. Comprensione di Base: Introdurre i partecipanti ai concetti fondamentali della programmazione in Python, inclusa la sintassi e le strutture dati.
2. Apprendimento Pratico: Fornire esperienza pratica attraverso esercitazioni guidate ed esempi, consentendo ai partecipanti di applicare le loro conoscenze in tempo reale.
3. Abilità di Risoluzione dei Problemi: Favorire le capacità di risoluzione dei problemi affrontando sfide di codifica ed esercizi progettati per rafforzare gli obiettivi di apprendimento.
4. Costruzione della Fiducia: Incrementare la fiducia nei partecipanti demistificando i concetti di programmazione e offrendo un ambiente di apprendimento solidale.
Risultati apprendimento attesi
1. Conoscenza Fondamentale: I partecipanti acquisiranno una solida comprensione della sintassi di Python, dei tipi di dati e delle strutture di controllo.
2. Capacità di Scrivere Programmi Semplici: Alla fine del laboratorio, gli iscritti saranno in grado di scrivere semplici programmi Python per risolvere compiti computazionali di base.
3. Competenza nella Risoluzione dei Problemi: I partecipanti svilupperanno competenze di risoluzione dei problemi e la capacità di tradurre enunciati di problemi in codice Python.
4. Coinvolgimento e Interesse: Il laboratorio stimolerà l'interesse dei partecipanti nell'esplorare ulteriormente la programmazione Python e le sue applicazioni in vari ambiti.
5. Preparazione per Ulteriori Apprendimenti: Gli iscritti saranno dotati delle basi necessarie per approfondire argomenti più avanzati nella programmazione Python in modo indipendente o in laboratori successivi.
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre

Programma
Le lezioni saranno focalizzate sui seguenti argomenti:
1. Introduzione al linguaggio Python. Confronto con altri linguaggi di programmazione compilati o interpretati. Introduzione alle possibilità del linguaggio Python.
2. Utilizzo di Python nel cloud. Avvio di un ambiente locale Python. Esecuzione di comandi Python. Esecuzione di programmi Python. Installazione di librerie Python.
3. Funzioni: introduzione alle funzioni, definizione di funzioni, applicazioni di funzioni, chiamate di funzioni ricorsive.
4. Fondamenti di Python: tipi di dati, input e output, iterazione, confronti e operatori logici, stile di scrittura del codice Python e documentazione.
5. Programmazione orientata agli oggetti: classi, oggetti, metodi, nomi e risoluzione dei nomi.
6. L'utilizzo di GitHub per il controllo di versione del codice: i concetti di repository, commit, push, branch, merge, pull request e comandi GitHub principali.
7. La libreria NumPy: array, operazioni aritmetiche, moltiplicazioni di matrici, broadcasting, mutabilità e copie di array.
8. La libreria Matplotlib: l'API in stile MATLAB, l'API orientata agli oggetti, grafici 2D e 3D, subplots e fogli di stile.
9. Trattamento di dati testuali ed elaborazione del linguaggio naturale di base (a titolo di esempio, scrittura di codice Python per il conteggio di frequenze nel testo ed estrazione di caratteristiche TF-IDF).
10. La libreria Pandas: serie Pandas, DataFrame Pandas e fonti di dati online. A titolo di esempio, scrittura di codice Python per l'importazione, manipolazione, analisi e visualizzazione di database bibliografici (Scopus e Web of Science).
Prerequisiti
Non sono richieste conoscenze preliminari, tuttavia sono avvantaggiati gli studenti che posseggono la conoscenza di almeno un altro linguaggio di programmazione interpretata, ad esempio: R, MATLAB, JavaScript o PHP.
Metodi didattici
Sono previste lezioni su Microsoft Teams con l'ausilio di Jupyter notebooks e materiali didattici che saranno progressivamente resi disponibili sul Team apposito del laboratorio.
Materiale di riferimento
Jupyter notebooks e materiali didattici forniti dal Docente saranno progressivamente resi disponibili su Microsoft Teams. In particolare, il materiale didattico farà riferimento alla seguente bibliografia:
- Allen B. Downey, Think Python. O'Reilly, Terza Edizione, 2024 [Lingua Inglese].
- T. Gaddis, Introduzione a Python, Pearson, Quinta Edizione, 2022 [Lingua Italiana].
- The Python Tutorial, disponibile online all'indirizzo: https://docs.python.org/it/3/tutorial/index.html [Lingua italiana].
- S. Bolasco, L'analisi automatica dei testi, Carocci Editore, 2021 [Lingua Italiana].
- M. Weisser, Python Programming for Linguistics and Digital Humanities: Applications for Text-Focused Fields. Wiley-Blackwell, 2024 [Lingua Inglese].
- F. Karsdorp, M. Kestemont, & A. Riddell, Humanities Data Analysis: Case Studies with Python. Princeton University Press, 2021 [Lingua Inglese].
Modalità di verifica dell’apprendimento e criteri di valutazione
È richiesta la consegna di un elaborato finale, il cui contenuto deve essere concordato in anticipo con il Docente. L'elaborato consiste in codice Python focalizzato sull'analisi, manipolazione e visualizzazione di dati testuali o bibliografici. Il codice Python deve essere accompagnato da una breve relazione in formato PDF che descriva quanto sviluppato. In alternativa, può essere consegnato un solo notebook Jupyter contenente sia codice Python che testo esplicativo. L'elaborato finale ha lo scopo di verificare che lo studente abbia compreso gli strumenti introdotti durante le lezioni di laboratorio e che sia in grado di utilizzarli in modo corretto, consapevole e critico. Il risultato finale del Laboratorio è dato come Approvato o Non Approvato.
- CFU: 3
Laboratori Umanistici: 20 ore
Docente: Bodini Matteo
Docente/i
Ricevimento:
Da concordare su appuntamento
Stanza 37 (3° piano) oppure Microsoft Teams