Salta al contenuto principale
CODICE 97164
ANNO ACCADEMICO 2021/2022
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Italiano
SEDE
  • GENOVA
PERIODO 2° Semestre
MATERIALE DIDATTICO AULAWEB

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

L’obiettivo dell'insegnamento è quello di introdurre lo studente ai concetti fondamentali relativi ai calcolatori e alla loro programmazione. L'insegnamento fornirà conoscenze sull’organizzazione di un’architettura di elaborazione, sulla struttura dei principali programmi applicativi, e sulla programmazione in linguaggio Python, con riferimento ai principali tipi di dato e costrutti di programmazione. Nell’ambito dell'insegnamento lo studente acquisirà le competenze per realizzare semplici applicativi utilizzando il linguaggio Python, la capacità di valutarne in modo empirico le prestazioni e di scegliere le migliori strutture dati, fra quelle disponibili nel linguaggio, per realizzare determinati compiti.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Lo studente acquisirà le competenze per realizzare semplici applicativi utilizzando il linguaggio Python, la capacità di valutarne in modo empirico le prestazioni e di scegliere le migliori strutture dati, fra quelle disponibili nel linguaggio, per realizzare determinati compiti. In particolare, al termine dell'insegnamento lo studente deve essere in grado di

  • ricordare i concetti fondamentali relativi ad alcuni modelli di calcolo e alla programmazione
  • analizzare pezzi di programmi (scritti in Python) e comprenderne il funzionamento
  • modificare, eseguire e testare programmi di piccole dimensioni
  • a partire da una specifica informale di un problema, progettare e scrivere (parti di) programmi che risolvono il problema

MODALITA' DIDATTICHE

L'insegnamento si svolge in 12 settimane, ciascuna delle quali prevede di norma 4 ore di lezioni in aula (comprensive di teoria ed esercizi) e 3 ore di laboratorio informatico (che potrebbe svolgersi, almeno in parte, a distanza utilizzando la piattaforma teams).

PROGRAMMA/CONTENUTO

Nozioni base sui calcolatori: rappresentazione dei dati e aritmetica degli elaboratori; cenni ad alcuni modelli di calcolo; cenni sull'architettura von Neumann e sui sistemi operativi finalizzati alla comprensione base dell'esecuzione di programmi.

Introduzione alla programmazione (usando Python): i linguaggi di programmazione di alto livello; stato e cambiamento di stato (variabili, espressioni, istruzioni); programmazione strutturata e funzioni; tipi base e strutturati; algoritmi semplici e loro implementazione; approccio divide-et-impera e memoizzazione di funzioni.

Programmazione in piccolo (usando Python): progettazione di programmi sequenziali di dimensione contenuta a partire dalla specifica informale del problema; compilazione/interpretazione di programmi; esecuzione del codice; idee base di testing e debugging.

TESTI/BIBLIOGRAFIA

Il materiale didattico (incluse eventuali video registrazioni) sarà reso disponibile su aulaweb.
Inoltre è possibile consultare e scaricare la documentazione disponibile online in Inglese https://docs.python.org/3/ e Italiano https://www.python.it/doc/

DOCENTI E COMMISSIONI

Commissione d'esame

EUGENIO MOGGI (Presidente)

MANUELA CHESSA

GIOVANNI LAGORIO

GIANNA REGGIO

ARMANDO TACCHELLA

LEZIONI

INIZIO LEZIONI

Consultare l'orario al seguente link: https://easyacademy.unige.it/portalestudenti/

Orari delle lezioni

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

ESAMI

MODALITA' D'ESAME

L'esame consiste in due prove, che possono essere sostenute indipendentemente:

  • una prova a quiz (contribuisce al 40% al voto finale, se valutata almeno 15/30)
  • una prova di laboratorio (contribuisce al 60% al voto finale, se valutata almeno 15/30).

Per i soli studenti che frequentano l'insegnamento nell'a.a. in cui lo hanno inserito nel piano di studi sono previste consegne in itinere, con correzione a campione, che danno diritto ad un bonus di 2 punti sul voto finale (il bonus si conserva anche negli a.a. successivi).

Agli studenti che confermano la consegna di una prova di laboratorio valutata meno di 10/30 viene assegnato un malus di 1 punto sul voto finale.

Si rimanda all'istanza AulaWeb specifica dell'insegnamento per i dettagli sulle consegne in itinere, le modalità di svolgimento delle prove d'esame, i bonus e i malus.

MODALITA' DI ACCERTAMENTO

La prova a quiz serve a verificare la conoscenza delle nozioni fondamentali e la capacità di analizzare e comprendere pezzi di codice.
La prova di laboratorio serve ad accertare la capacità di scrivere, modificare, eseguire e testare programmi.

Calendario appelli

Data appello Orario Luogo Tipologia Note
10/01/2022 09:00 GENOVA Laboratorio
11/01/2022 09:00 GENOVA Scritto
07/02/2022 09:00 GENOVA Laboratorio
08/02/2022 09:00 GENOVA Scritto
10/06/2022 09:00 GENOVA Laboratorio
13/06/2022 09:00 GENOVA Scritto
11/07/2022 09:00 GENOVA Laboratorio
13/07/2022 09:00 GENOVA Scritto
31/08/2022 09:00 GENOVA Laboratorio
02/09/2022 09:00 GENOVA Scritto