B3844 - PYTHON FOR BUSINESS LAB

Anno Accademico 2023/2024

  • 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)

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 è "Think Python 2e" 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 una prova pratica di programmazione.

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