89988 - ELEMENTI DI INFORMATICA (6 CFU)

Anno Accademico 2019/2020

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

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

Modalità di verifica e valutazione dell'apprendimento

Esame scritto (tre esercizi di programmazione in Python, e discussione un progetto.

Strumenti a supporto della didattica

lavagna + videoproiettore + computer

Link ad altre eventuali informazioni

http://http://www.cs.unibo.it/~gaspari/teaching/

Orario di ricevimento

Consulta il sito web di Mauro Gaspari

Consulta il sito web di Michele Ennio Maria Moresco