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.
Apprendere i concetti fondamentali della programmazione, delle strutture dati e degli algoritmi utilizzando il linguaggio Python, con un'introduzione all'uso della libreria numpy.
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:
Nessuno.
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.
https://docs.python.org/3/ documentazione online
https://greenteapress.com/wp/think-python-2e/ libro (pdf/html)
Ulteriore materiale (comprese registrazioni video) sarà reso disponibile su aulaweb.
Ricevimento: Vedi il modulo aulaweb dell'insegnamento e in subordine la pagina web https://person.dibris.unige.it/moggi-eugenio/
EUGENIO MOGGI (Presidente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/11964/studenti-orario
L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy
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
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
Le due parti valutano le competenze di programmazione acquisite dagli studenti in diversi contesti:
Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento (o contattare il docente).