- Docente: Paolo Perrotta
- Crediti formativi: 3
- Lingua di insegnamento: Inglese
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Law, Economics and Governance (cod. 5811)
-
dal 14/02/2025 al 14/03/2025
Conoscenze e abilità da conseguire
The course aims to provide basic proficiency in the following topics: - Why Python: static and dynamic languages, compiled and interpreted languages. - Programming environments: "lightweight" environments, embedded development environments, computational notebooks. - Basic programming constructs: variables, types, operators, expressions - Flow control: conditional, iteration - Data structures: lists and dictionaries - Operations on data: list comprehension, selection, mapping - Organizing code: functions, arguments, and return values - Using existing code: libraries and modules - Programming in the real world: debugging, exception handling, integration
Contenuti
Il corso copre le basi della programmazione procedurale in Python.
1. Linguaggi di programmazione
1.1. Cosa significa "programmare"
1.2. Linguaggi statici e dinamici
1.3. Linguaggi compilati e interpretati
2. Eseguire programmi Python
2.1. L'interprete Python
2.2. Editor di testo
2.3. IDE
2.4. Notebook computazionali
3. Tipi numerici
3.1. Int e float
3.2. Operatori aritmetici
3.3. Numeri casuali
4. Stringhe
4.1. Operazioni di base sulle stringhe
4.2. Numeri e cifre
4.3. Escaping
4.4. String embedding
4.5. Gestione dell'input dell'utente
5. Variabili
5.1. Assegnamento di variabili
5.2. Interpolazione di stringhe
5.3. Introduzione contestuale delle variabili
5.4. Dare nomi alle variabili
6. Conversioni di tipo
6.1. Types
6.2. Conversione tra numeri e stringhe
6.3. Conversioni implicite
7. Chiamare funzioni e metodi
7.1. Funzioni
7.2. Metodi
7.3. Valori di ritorno
7.4. Argomenti
8. Condizioni
8.1. Confronti
8.2. Costrutti "if" ed "else"
8.3 "if" annidati
8.4. Operatori logici
9. Cicli
9.1. Cicli "while"
9.2. Cicli "for"
10. Liste
10.1. Leggere e modificare gli elementi di una lista
10.2. Iterazione
10.3. Indicizzazione
10.4. Argomento opzionale: List comprehension
11. Librerie
11.1. Argomento opzionale: Importare una libreria
Testi/Bibliografia
Le informazioni necessarie per seguire il corso sono sulla pagina ufficiale della documentazione di Python.
Bibliografia consigliata per ulteriori approfondimenti:
Per gli studenti che cercano un testo di riferimento, quello consigliato è la seconda edizione di "Think Python" di Allen B. Downey. Può essere scaricato gratuitamente o acquistato in formato cartaceo dal sito dell'autore.
La struttura del corso è stata adattata (dietro permesso dell'autore) dal libro "Learn to Program" di Chris Pine. Tuttavia, il libro di Pine non è strettamente attinente a questo corso, perché non si basa su Python, ma sul linguaggio di programmazione Ruby. Il libro è dunque consigliato solo a coloro che desiderino imparare a programmare a prescindere dal linguaggio.
Metodi didattici
Questo è un corso pratico di 15 ore in presenza. Ciascuna sessione include lezioni frontali alternate ad esercizi al computer.
È necessaria una buona dimestichezza con l'uso del PC. Non sono richieste conoscenge pregresse di programmazione.
Modalità di verifica e valutazione dell'apprendimento
L'esame consiste in un test a risposte multiple.
Strumenti a supporto della didattica
Il corso si basa su sessioni interattive che combinano lezioni frontali con esercizi pratici di programmazione.
Le risorse per gli studenti sono su virtuale.unibo.it.
Orario di ricevimento
Consulta il sito web di Paolo Perrotta