- Docente: Mauro Gaspari
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Mauro Gaspari (Modulo 1) Michele Ennio Maria Moresco (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Astronomia (cod. 6638)
-
Orario delle lezioni (Modulo 1)
dal 22/09/2025 al 17/12/2025
Conoscenze e abilità da conseguire
Al termine del corso lo studente acquisisce i principi di base dei moderni sistemi di calcolo e della programmazione, utilizzando un linguaggio di alto livello per la soluzione numerica di semplici problemi fisici.
Contenuti
Modulo 1:
Strumenti computazionali e problem solving, conoscenza dichiarativa ed imperativa. I linguaggi di programmazione. Interpreti e compilatori. Il ruolo del debugging.
Linguaggi per script. L'interprete Python. Introduzione alla programmazione in Python. Variabili, espressioni e comandi; approfondimento sulla rappresentazione dei numeri nei calcolatori e approccio seguito da Python; Funzioni, condizionali e ricorsione; Iterazione; Tipi di dati; Tabelle; come esportare dati il formato csv; creazione di fogli elettronici; Strutture dati offerte da Python e tipi di dato definiti dall'utente. Cenni sulla programmazione ad oggetti e relativa notazione.
Modulo 2:
Gestione ed utilizzo di librerie Python, con approfondimento su librerie grafiche e scientifico/numeriche. Introduzione all'analisi ed esplorazione di cataloghi di dati; lettura e scrittura di cataloghi in diverso formato (ascii, fits); selezione di campioni e studio di correlazioni. Cenni di statistica e di modellizzazione dei dati. Utilizzo della programmazione in ambito astronomico.Testi/Bibliografia
How to Think Like a Computer Scientist: Learning with Python, di Allen Downey, Jeff Elkner e Chris Meyers. Gree Tea Press (disponibile in rete: https://media.readthedocs.org/pdf/howtothink/latest/howtothink.pdf).
Metodi didattici
Lezioni frontali ed esercizi in classe.
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, [https://elearning-sicurezza.unibo.it/] in modalità e-learning.
Modalità di verifica e valutazione dell'apprendimento
L'esame consiste in due prove: un esame scritto dove vengono proposti da uno a tre esercizi di programmazione in Python composti in totale da 3-5 funzioni Python da realizzare con carta e penna; e un esame orale che riguarda la discussione un progetto su temi di analisi di un campione di dati astrofisici.
L'esame prevede un voto in 30esimi. Il voto finale è la media delle due prove entrambe valutate in 30esimi. Per essere ammessi all'esame orale è necessario superare lo scritto (con voto maggiore o uguale a 18). Il voto dello scritto e/o quello finale può essere rifiutato al massimo due volte.
Relativamente allo scritto verrà valutata la capacità di programmare acquisita dallo studente. La durata dello scritto è di circa 90 minuti e potrà variare lievemente a seconda della difficoltà degli esercizi proposti. Si seguirà la seguente graduazione dei voti a seconda del numero di funzioni da realizzare: Almeno una funzione realizzata corretta: 18-19. Più di una funzione realizzata corretta ma con più funzioni errate o mancanti: 20-24. Una funzione mancante o tutte le funzioni realizzate ma con presenza di errori in alcune di esse: 25-29. Tutte le funzioni corrette: 30-30L.
L'esame orale ha una durata di circa 30-40 minuti. Ogni progetto è singolo e personale, e per accedere all'esame è necessario inviare il codice sviluppato al docente del Modulo 2 una settimana prima dello svolgimento dell'orale. Durante l'esame vengono posti alcuni quesiti relativi al codice sviluppato ed agli argomenti affrontati a lezione nel Modulo 2, per verificare l'apprendimento e la conoscenza delle metodologie informatiche discusse a lezione e svolte durante le esercitazioni in Laboratorio. La prova comporta un voto espresso in trentesimi con la seguente gradazione del voto finale: 18-20: preparazione appena sufficiente e comprensione degli elementi di programmazione in python estremamente ridotta, 21-23: preparazione molto limitata e ridotta comprensione degli elementi di programmazione in python, 24-26: preparazione intermedia e moderata comprensione degli elementi di programmazione in python, 27-29: preparazione ampia, ma non completa, comprensione degli elementi di programmazione in python buona/molto buona, 30-30L: preparazione completa e comprensione degli elementi di programmazione in python ottime/eccellenti.
Studenti/sse con DSA o disabilità temporanee o permanenti: si raccomanda di contattare per tempo l’ufficio di Ateneo responsabile (https://site.unibo.it/studenti-con-disabilita-e-dsa/it ): sarà sua cura proporre agli/lle studenti/sse interessati/e eventuali adattamenti, che dovranno comunque essere sottoposti, con un anticipo di 15 giorni, all’approvazione del/della docente, che ne valuterà l'opportunità anche in relazione agli obiettivi formativi dell'insegnamento.
Strumenti a supporto della didattica
lavagna + videoproiettore + computer
Orario di ricevimento
Consulta il sito web di Mauro Gaspari
Consulta il sito web di Michele Ennio Maria Moresco
SDGs



L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.