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

PRESENTAZIONE

La progettazione e lo sviluppo di software rappresenta uno dei cardini dell’odierna ingegneria e dello sviluppo di sistemi complessi. Fondamenti di Informatica è un corso introduttivo che descrive diversi concetti base in modo semplice ed organico. Il corso affronta sia argomenti teorici sia aspetti pratici, questi ultimi legati allo sviluppo di codice C/C++.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Obiettivi: fornire metodologie di progettazione software secondo il paradigma procedurale e il paradigma orientato agli oggetti. Contenuti. Architettura di un calcolatore, strutture dati, analisi di problemi, loro risoluzione algoritmica, prestazioni degli algoritmi, programmazione procedurale strutturata e orientata agli oggetti col C++.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Gli obiettivi formativi specifici sono articolati lungo tre direttrici:

1. Comprensione di aspetti di informatica teorica di base, legati alla matematica discreta.

2. Concettualizzazione di aspetti legati alle fondamenta della programmazione.

3. Estensione di tali concetti al caso della programmazione modulare e a tipi di dati astratti.

Alla fine del corso gli studenti saranno in grado di tradurre specifiche in un programma scritto in linguaggio C/C++ strutturandolo seguendo una serie di linee guida definite nel corso.

PREREQUISITI

Nessuno

MODALITA' DIDATTICHE

Il corso prevede lezioni frontali e lezioni pratiche. Le lezioni pratiche implicano una serie di esercitazioni che gli studenti devono svolgere in autonomia, e nel caso abbiano dubbi e osservazioni chiedere assistenza agli esercitatori, con ritmo settimanale.

PROGRAMMA/CONTENUTO

Il programma del corso si articola su tre argomenti:

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, codifica dell’informazione), introduzione alla programmazione (algoritmi, programmi e linguaggi di programmazione), programmazione strutturata in linguaggio C++ (variabili, costanti, tipi, operatori, espressioni, condizioni, cicli, 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 funzioni).

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 overload di operatori, template di classi), 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:

- i lucidi presentati a lezione, disponibili in tre diversi formati: 2 lucidi per pagina, 4 lucidi per pagina, 6 lucidi per pagina;

- il materiale relativo alle esercitazioni, che sarà reso disponibile contestualmente ad ogni esercitazione.

Per chi volesse seguire un libro di testo si consiglia:

Per la marte 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). 

DOCENTI E COMMISSIONI

Commissione d'esame

FULVIO MASTROGIOVANNI (Presidente)

GUALTIERO VOLPE (Presidente)

PIERPAOLO BAGLIETTO

TULLIO VERNAZZA

RENATO UGO RAFFAELE ZACCARIA

LEZIONI

Orari delle lezioni

FONDAMENTI DI INFORMATICA

ESAMI

MODALITA' D'ESAME

L’esame di 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.

MODALITA' DI ACCERTAMENTO

La prova pratica consiste di un esame al calcolatore, e può dare fino a 20 punti. Per chi sceglie le prove parziali, ogni prova può dare fino a 10 punti. Sono ammessi alla prova orale soltanto gli studenti che superano la prova pratica (o le due prove parziali), in particolare secondo una soglia che può essere definita di volta in volta e in base all’esame. L’esame orale fornisce fino a 10 punti.

Calendario appelli

Data appello Orario Luogo Tipologia Note
15/01/2020 09:00 GENOVA Prova pratica
15/01/2020 09:00 GENOVA Compitino
04/02/2020 09:00 GENOVA Prova pratica
04/02/2020 09:00 GENOVA Compitino
12/06/2020 09:00 GENOVA Prova pratica
03/07/2020 09:00 GENOVA Prova pratica
20/07/2020 09:00 GENOVA Prova pratica
07/09/2020 09:00 GENOVA Prova pratica

ALTRE INFORMAZIONI

Nessuna