Salta al contenuto principale
CODICE 66054
ANNO ACCADEMICO 2023/2024
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
LINGUA Italiano
SEDE
  • GENOVA
PERIODO Annuale
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

Fondamenti di Informatica è un insegnamento introduttivo che descrive i concetti base dell’informatica in modo semplice e organico. Le lezioni si concentrano sulle conoscenze fondanti per lo sviluppo del software, affrontando argomenti teorici e aspetti pratici, questi ultimi legati allo sviluppo di programmi in linguaggio C++. Fondamenti di Informatica è il primo passo di un percorso triennale che condurrà lo studente a conoscere ed applicare le metodologie per la progettazione e lo sviluppo del software.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Fondamenti di Informatica è un insegnamento introduttivo che descrive i concetti base dell’informatica. Le lezioni si concentrano sulle conoscenze fondanti per lo sviluppo del software, affrontando l’analisi di problemi e la loro risoluzione algoritmica, attraverso lo sviluppo di programmi in linguaggio C++, secondo i paradigmi della programmazione strutturata e modulare.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

L’insegnamento si propone di guidare gli studenti:

  1. Nella comprensione di aspetti di matematica discreta, legati alle basi dell’informatica teorica.
  2. Nella concettualizzazione di aspetti legati ai principi fondamentali della programmazione.
  3. Nell’estensione di tali concetti al caso della programmazione modulare e a tipi di dato astratti.

Al termine dell’insegnamento, lo studente sarà in grado di:

  1. Affrontare semplici problemi di matematica discreta, collegandoli agli aspetti dell’informatica nei quali tali concetti matematici trovano applicazione.
  2. Descrivere ed applicare i principi fondamentali della programmazione procedurale.
  3. Descrivere ed applicare i principi fondamentali della programmazione modulare e dei tipi di dato astratti.
  4. Risolvere in modo automatico semplici problemi, attraverso programmi scritti in linguaggio C++.
  5. Tradurre una collezione di specifiche in un programma scritto in linguaggio C++.

PREREQUISITI

Nessuno. Assumendo che i partecipanti non abbiano precedenti esperienze con l’informatica e con la programmazione, l’insegnamento li guida passo dopo passo nella comprensione dei concetti fondamentali di tali discipline.

MODALITA' DIDATTICHE

L’insegnamento prevede lezioni teoriche e lezioni pratiche.

Le lezioni teoriche consistono nella presentazione dei concetti per mezzo di diapositive proiettate in aula e nello svolgimento di esempi e di semplici esercizi, dimostrativi dei concetti introdotti.

Le lezioni pratiche implicano lo svolgimento di esercizi da parte dei docenti e una serie di esercitazioni che gli studenti svolgono in parte in aula e in parte in autonomia, con la possibilità di chiedere assistenza agli esercitatori.

Si consigliano gli studenti lavoratori e gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali di contattare il docente all’inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali.

PROGRAMMA/CONTENUTO

Il programma dell’insegnamento si articola in tre parti principali:

  1. Elementi di matematica discreta: teoria degli insiemi, relazioni e funzioni, strutture algebriche di base, introduzione al calcolo combinatorio.
  2. Fondamenti di programmazione: introduzione all’informatica (architettura dei calcolatori), introduzione alla programmazione (algoritmi, programmi e linguaggi di programmazione), programmazione strutturata in linguaggio C++ (variabili, costanti, tipi, operatori, espressioni, istruzioni condizionali, istruzioni iterative, funzioni, array mono-dimensionali, stringhe di caratteri, array multi-dimensionali, flussi e file, strutture, array di strutture), programmazione avanzata in linguaggio C++ (puntatori e riferimenti, allocazione dinamica della memoria, funzioni ricorsive, template di funzione).
  3. Programmazione modulare e tipi di dato astratti: classi e oggetti (metodi e attributi, controllo di accesso ai membri, tipologie di metodi: costruttori, distruttore, selettori, modificatori, operatori, e overloading di operatori, template di classe), astrazione sui dati (information hiding, tipi di dato astratti, principio di indipendenza dalla rappresentazione), applicazione dei tipi di dato astratti per la realizzazione di strutture dati (liste, pile, code).

TESTI/BIBLIOGRAFIA

Il materiale didattico comprende:

  • Le diapositive presentate a lezione.
  • Il materiale relativo alle esercitazioni, che sarà reso disponibile contestualmente ad ogni esercitazione.

Tale materiale sarà disponibile su AulaWeb. In generale, gli appunti presi durante le lezioni e il materiale fornito su AulaWeb sono sufficienti per la preparazione dell’esame.

Per chi volesse seguire un libro di testo si consiglia:

  • Per la parte di matematica discreta: C. Delizia, P. Longobardi, M. Maj, C. Nicotera. Matematica Discreta, McGraw-Hill (qualunque edizione).
  • Per la parte di programmazione: L. J. Aguilar. Fondamenti di Programmazione in C++. McGraw-Hill (qualunque edizione). 

Gli studenti non frequentanti, gli studenti con disabilità o con DSA possono contattare il docente per ricevere indicazioni relative al materiale didattico.

DOCENTI E COMMISSIONI

Commissione d'esame

GUALTIERO VOLPE (Presidente)

PIERPAOLO BAGLIETTO

FULVIO MASTROGIOVANNI

RADOSLAW NIEWIADOMSKI (Presidente Supplente)

CARMINE RECCHIUTO (Presidente Supplente)

LUCA VERDERAME (Presidente Supplente)

LEZIONI

Orari delle lezioni

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

ESAMI

MODALITA' D'ESAME

L’esame si compone di una prova pratica e di una prova orale.

La prova pratica si può sostenere, a scelta dello studente, secondo due modalità diverse: un’unica prova pratica alla fine del secondo semestre oppure due prove intermedie, una dopo la fine del primo semestre e una dopo la fine del secondo semestre. Si tengono, di norma, due appelli per la prima prova intermedia (nei mesi di gennaio e febbraio) e due appelli per la seconda prova intermedia (nei mesi di giugno e luglio). Gli studenti che hanno sostenuto la prima prova intermedia devono completare la prova pratica nei due appelli previsti per la seconda prova intermedia. Successivamente, si potrà sostenere soltanto la prova pratica unica e gli eventuali punteggi ottenuti nella prima prova intermedia andranno perduti. Gli studenti che sostengono nuovamente la prova pratica e consegnano l’elaborato perdono il punteggio conseguito in precedenza. Per sostenere la prova pratica è obbligatorio iscriversi entro i cinque giorni precedenti la data della prova pratica stessa. L’iscrizione avviene attraverso il portale di Ateneo per i servizi agli studenti.

La prova pratica assegna un punteggio compreso tra 0 e 22 punti. Per chi sceglie le prove parziali, ogni prova attribuisce un punteggio compreso tra 0 e 11 punti e i punteggi delle prove parziali si sommano tra di loro per formare il punteggio complessivo della prova pratica. Sono ammessi alla prova orale soltanto gli studenti che superano la prova pratica (o le due prove parziali) ottenendo un punteggio complessivo di almeno 12 punti. Il punteggio ottenuto alla prova pratica resta valido fino al termine della sessione invernale successiva e lo studente può scegliere di sostenere la prova orale in un qualunque appello di esame finché il punteggio della prova pratica resta valido.

Per ogni appello, la prova orale si tiene successivamente alla prova pratica, in data comunicata contestualmente alla pubblicazione dell’esito della prova pratica. È richiesto che gli studenti che desiderano sostenere la prova orale si iscrivano attraverso AulaWeb. La prova orale attribuisce un punteggio compreso tra 0 e 10 punti.

Il punteggio finale è ottenuto sommando i punteggi della prova pratica e della prova orale. La commissione d’esame può inoltre attribuire la lode a studenti particolarmente meritevoli.

Gli studenti con disabilità o con DSA possono fare richiesta di misure compensative/dispensative per l'esame. Le modalità saranno definite caso per caso insieme al Referente per Ingegneria del Comitato di Ateneo per il supporto agli studenti disabili e con DSA. Gli studenti che volessero farne richiesta sono invitati a contattare il docente mettendo in copia il Referente.

MODALITA' DI ACCERTAMENTO

La prova pratica consiste di un esame al calcolatore. Tale esame contiene di norma alcuni quesiti teorici volti ad accertare le conoscenze dello studente relativamente ai concetti di matematica discreta e ai principi della programmazione procedurale e modulare, nonché a valutare la capacità dello studente di affrontare e risolvere semplici problemi legati ai concetti presentati nel corso delle lezioni teoriche. I quesiti potranno essere di diverse tipologie, quali ad esempio domande a risposta aperta, domande a risposta multipla, comprensione e completamento di testi, individuazione e correzione di errori, analisi di semplici porzioni di codice. L’esame contiene inoltre quesiti pratici che richiedono lo sviluppo di codice in linguaggio C++ e sono volti ad accertare la capacità dello studente di risolvere in modo automatico semplici problemi e di tradurre una collezione di specifiche in un programma. Sarà valutata la correttezza dell’implementazione e l’aderenza alle specifiche.

La prova orale consiste nello sviluppo e nella discussione con il docente di brevi porzioni di codice e/o nell’esposizione di argomenti teorici presentati nel corso delle lezioni. Verrà valutata la padronanza degli argomenti, la profondità della trattazione e la capacità espositiva.

Calendario appelli

Data appello Orario Luogo Tipologia Note
09/01/2024 09:00 GENOVA Compitino
09/01/2024 09:00 GENOVA Prova pratica
01/02/2024 09:00 GENOVA Compitino
01/02/2024 09:00 GENOVA Prova pratica
10/06/2024 09:00 GENOVA Prova pratica
10/06/2024 09:00 GENOVA Compitino
03/07/2024 09:00 GENOVA Prova pratica
03/07/2024 09:00 GENOVA Compitino
22/07/2024 09:00 GENOVA Prova pratica
02/09/2024 09:00 GENOVA Prova pratica

ALTRE INFORMAZIONI

Nessuna