Salta al contenuto principale
CODICE 118325
ANNO ACCADEMICO 2025/2026
CFU
SETTORE SCIENTIFICO DISCIPLINARE FIS/03
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre

PRESENTAZIONE

L'insegnamento introduce lo studente al computing for material science, fornendogli gli elementi di informatica e programmazione in ambito scientifico. Questo comprende l'acquisizione e utilizzo di risorse hardware e software per raccogliere dati ed elaborarli, anche mediante la progettazione e realizzazione di strumenti quali script o applicazioni in vari linguaggi di ampia diffuzione, che sfruttino eventualmente codice pregresso. 

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Acquisire familiarità con i concetti fondamentali del computing e programmazione nei sistemi di calcolo piu' diffusi nelle STEM con linguaggi imperativi procedurali e object-oriented e relative librerie, imparando a realizzare piccoli programmi o modificare codice gia' esistente.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

La frequenza alle esercitazioni permettera' allo studente di 

- acquisire familiarita' con sistemi operativi Windows/Unix based, relativi file system e esecuzione di codice in essi

- usare l'appropriato approccio imperativo/strutturale/procedurale/ad oggetti per sviluppare attraverso diversi linguaggi e strumenti via via piu' sofisticati codice adatto al raccoglimento, gestione, analisi e visualizzazione di dati scientifici.

- saper discutere il proprio codice e comprendere il codice costruito da terze parti - quali librerie, suggerimenti da parte di AI generative o colleghi di studio/lavoro

PREREQUISITI

Non sono previsti prerequisiti specifici.

MODALITA' DIDATTICHE

L'insegnamento si compone di lezioni di laboratorio in cui, dopo una breve introduzione agli argomenti, gli studenti svilupperanno, sotto la guida del docente, su macchine a disposizione oppure sul proprio pc personale, il codice del progetto sotto analisi. 

PROGRAMMA/CONTENUTO

Il programma verra' svolto attraverso progetti di successiva difficolta'. In essi verranno applicati:

1) Principi del pensiero computazionale

2) Introduzione agli ambienti di sviluppo e ai sistemi operativi

3) Introduzione a linguaggi di programmazione imperativi (e.g. C++, Python)

4) Strutturazione dell'execution flow e control flow di un codice

5) suddivisione procedurale di un codice e uso di api di libreria

6) uso di strutture dati sia custom che presenti in librerie terze

TESTI/BIBLIOGRAFIA

Indicazioni specifiche sulla bibliografia di riferimento verranno fornite dal docente all'inizio
delle lezioni. Tutte le slides utilizzate durante le lezioni e altro materiale didattico saranno disponibili su aulaweb del corso.

DOCENTI E COMMISSIONI

LEZIONI

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L'esame consiste nella discussione di una tesina preparata dallo studente su un progetto di programmazione a scelta.

MODALITA' DI ACCERTAMENTO

Scopo della prova di esame e' valutare la capacita' dello studente di progettare, scrivere, compilare, linkare, eseguire e debuggare un semplice codice, e la capacita' di adattare il proprio codice alle esigenze di persone terze. L'idoneita' verra' verificata in base ai punti elencati.

ALTRE INFORMAZIONI

Rivolgersi al docente per ulteriori informazioni non comprese nella scheda insegnamento

Agenda 2030

Agenda 2030
Istruzione di qualità
Istruzione di qualità
Parità di genere
Parità di genere
Lavoro dignitoso e crescita economica
Lavoro dignitoso e crescita economica