D0526 - PYTHON PROGRAMMING

Anno Accademico 2026/2027

  • Docente: Ivan Lanese
  • Crediti formativi: 6
  • SSD: INFO-01/A
  • Lingua di insegnamento: Inglese
  • Modalità didattica: Lezioni in presenza (totalmente o parzialmente)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Molecular and Computational Biology (cod. 6254)

Conoscenze e abilità da conseguire

Al termine di questo modulo, lo studente avrà una solida comprensione dei fondamenti della programmazione in Python. Sarà in grado di scrivere autonomamente programmi in Python, nonché di progettare e utilizzare moduli all’interno di un paradigma di programmazione orientata agli oggetti per sviluppare codice strutturato e riutilizzabile.

Contenuti

Il corso si compone di 2 moduli:

1) Programmazione in Python, incluso: variabili, espressioni e comandi, funzioni, condizionali, iterazione, stringhe, liste, tuple, dizionari, file, ricorsione e programmazione orientata agli oggetti.

2) Supporto per lo sviluppo di pipeline bioinformatiche in Python: librerie dedicate, formati di file biologici, algoritmi bioinformatici di base.


Testi/Bibliografia

Non è necessario l'acquisto di testi specifici. Materiale didattico aggiornato e' reperibile tramite il sito Virtuale.

Per approfondimenti suggeriamo:

Cay Horstmann, Rance D. Necaise. Python for Everyone, Wiley

Allen B. Downey. Think Python: How to Think Like a Computer Scientist, O’ Reilly

per la parte di programmazione Python.

Metodi didattici

Lezioni frontali e attivita' pratica di programmazione in Python sotto linux.

In considerazione della tipologia di attività e dei metodi didattici
adottati, la frequenza di questa attività formativa richiede la
preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di
formazione sulla sicurezza nei luoghi di studio, in modalità e-learning.

Modalità di verifica e valutazione dell'apprendimento

L'esame e' composto da 2 parti, una per modulo, che possono anche essere affrontate in sessioni diverse. Ogni parte consiste in un esercizio di programmazione python, incluso debugging di eventuali errori. La capacita' di ottenere tramite debugging (manuale o supportato da tool) codice corretto costituisce un punto fondamentale della valutazione. Ogni parte include anche una breve discussione del codice sviluppato. Ogni parte vale 16 punti. Per ogni parte e' anche possibile ottenere un punto bonus consegnando e discutendo un esercizio durante il corso.

Per quanto riguarda la verifica dell'apprendimento, l'uso dell'IA e' vietato. Ogni utilizzo costituisce violazione dell'integrita' accademica.

Studenti/esse con DSA o disabilità temporanee o permanenti: si raccomanda di contattare per tempo l’Ufficio di Ateneo competente (https://site.unibo.it/studenti-con-disabilita-e-dsa/it ).
Sarà sua cura proporre agli/lle studenti/esse interessati/e eventuali adattamenti, che dovranno comunque essere sottoposti, con almeno 15 giorni di anticipo, all’approvazione dei docenti, i quali ne valuteranno l'opportunità anche in relazione agli obiettivi formativi dell’insegnamento.

Strumenti a supporto della didattica

Il materiale didattico sarà disponibile sul sito Virtuale.

Per le esercitazioni si userà la shell linux, un editor/IDE (a scelta dello studente tra EMACS, VS-CODE e PYCHARM) e l'interprete Python.

Orario di ricevimento

Consulta il sito web di Ivan Lanese