Salta al contenuto principale
CODICE 109203
ANNO ACCADEMICO 2025/2026
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

L'insegnamento presenta i concetti fondamentali in programmazione, strutture dati e algoritmi, fornendo conoscenze di base utili per molti insegnamenti erogati nella Laurea Magistrale in Computer Science.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Apprendere i concetti fondamentali della programmazione, delle strutture dati e degli algoritmi utilizzando il linguaggio Python, con un'introduzione all'uso della libreria numpy.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Lo studente dovrà acquisire le competenze per creare semplici applicazioni utilizzando il linguaggio Python, la capacità di valutarne empiricamente le prestazioni e di scegliere le migliori strutture dati, tra quelle disponibili nel linguaggio, per svolgere determinati compiti. In particolare, al termine del corso gli studenti saranno in grado di:

  • utilizzare la documentazione online su Python e alcune delle sue librerie
  • analizzare parti di programmi (scritti in Python) e comprenderne il funzionamento
  • modificare, eseguire e testare piccoli programmi
  • partendo da una specifica informale di un problema, progettare e scrivere (parti di) programmi che risolvono il problema

PREREQUISITI

Nessuno.

MODALITA' DIDATTICHE

Language constructs: expressions, assignments, conditionals, iteration, functions, recursion, exceptions, list comprehension. Data structures: lists/sequences, dictionaries, sets Algorithmic techniques: divide-and-conquer, list processing, memoization, staging Numpy library: arrays,linear algebra operations

486 / 5,000

L'insegnamento prevede lezioni frontali in aula e alcuni compiti a casa relativi agli argomenti trattati.

Si presuppone che gli studenti dispongano di un computer portatile con anaconda3 installato. Assistenza per l'installazione di anaconda3 e per l'utilizzo di Jupyter Notebook verrà fornita all'inizio del corso.

Le lezioni possono essere registrate su MS Teams (a beneficio degli studenti all'estero).

I compiti a casa possono essere svolti in gruppo (al massimo 3 studenti) e devono essere caricati su aulaweb entro le scadenze specificate.

PROGRAMMA/CONTENUTO

  • Modelli di calcolo: macchine di Turing, automi cellulari, macchine di Moore
  • Costrutti linguistici di Python: espressioni, assegnazioni, istruzioni condizionali, iterazioni, funzioni, ricorsione, eccezioni, list comprehension
  • Strutture dati: liste/sequenze, dizionari, insiemi
  • Tecniche algoritmiche: divide et impera, elaborazione di liste, memorizzazione, staging
  • Libreria Numpy: array, operazioni di algebra lineare

TESTI/BIBLIOGRAFIA

Ulteriore materiale (comprese registrazioni video) sarà reso disponibile su aulaweb.

 

DOCENTI E COMMISSIONI

Commissione d'esame

EUGENIO MOGGI (Presidente)

ANNALISA BARLA

GIORGIO DELZANNO

BARBARA CATANIA (Presidente Supplente)

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/11964/studenti-orario

Orari delle lezioni

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

ESAMI

MODALITA' D'ESAME

L'esame (della durata massima di 3 ore) consiste in esercizi di programmazione svolti individualmente nei laboratori software DIBRIS e consegnati su aulaweb. Dopo la consegna, verrà resa disponibile una possibile soluzione e gli studenti avranno un tempo limitato (massimo 18 ore) per confermare la consegna. Solo gli elaborati confermati vengono valutati e, se il voto ottenuto è inferiore a 10/30, lo studente accumula una penalità di 1 punto sul voto finale futuro.

Il voto finale è dato dalla media ponderata (arrotondata per eccesso) dei punteggi ottenuti nelle due parti

  • 30% dei compiti a casa svolti in itinere
  • 70% dell'esame finale (test di laboratorio)

meno le penalità accumulate. L'esame si considera superato se il voto finale è di almeno 18/30.

Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/11964/studenti-disabilita-dsa

MODALITA' DI ACCERTAMENTO

Le due parti valutano le competenze di programmazione acquisite dagli studenti in diversi contesti:

  • nei compiti a casa in itinere, lo studente dovrà utilizzare in modo appropriato i costrutti di programmazione presentati finora e potrà lavorare in team;
  • nei test di laboratorio, lo studente dovrà lavorare individualmente in un tempo limitato e, dopo la consegna, avrà del tempo extra per autovalutare l'elaborato rispetto a una soluzione proposta.

Calendario appelli

Data appello Orario Luogo Tipologia Note
19/01/2026 09:00 GENOVA Laboratorio
12/02/2026 09:00 GENOVA Laboratorio
16/06/2026 09:00 GENOVA Laboratorio
17/07/2026 09:00 GENOVA Laboratorio
01/09/2026 09:00 GENOVA Laboratorio

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento (o contattare il docente).