89988 - ELEMENTI DI INFORMATICA (6 CFU)

Anno Accademico 2025/2026

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

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

Istruzione di qualità Lavoro dignitoso e crescita economica Imprese innovazione e infrastrutture

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