FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA

_
iten
Codice
66052
ANNO ACCADEMICO
2019/2020
CFU
9 cfu al 1° anno di 8713 INGEGNERIA BIOMEDICA (L-8) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
INF/01
LINGUA
Italiano
SEDE
GENOVA (INGEGNERIA BIOMEDICA )
periodo
Annuale
materiale didattico

PRESENTAZIONE

Lo scopo dell'insegnamento e' quello di fornire gli strumenti per la programmazione imperativa attraverso l'introduzione di linguaggi ad alto livello.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Introduzione ai sistemi per l'elaborazione dell'informazione. Presentazione dei concetti alla base della programmazione imperativa e di un linguaggio di programmazione imperativo e suo utilizzo in un ambiente testuale di sviluppo di programmi anche tramite esercitazioni di laboratorio

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

L'insegnamento si propone di fornire gli strumenti di base per l'utilizzo di linguaggi di programmazione per la soluzione problemi e l'elaborazione di dati biomedici.

In particolare saranno introdotti: l'architettura dei sistemi informatici,  linguaggi di programmazione di alto livello e la  progettazione di programmi sequenziali di dimensione contenuta

Alla fine del corso gli studenti saranno in grado di risolvere semplici  problemi di programmazione anche con l'utilizzo di librerie e soprattuto saranno in grado di comprendere e modificare programmi C++ che sfruttano il paradigma della programmazione ad oggetti.

Modalità didattiche

L'insegnamento consta di circa 46 ore di lezioni in aula (comprensive di teoria ed esercizi alla lavagna) e di circa 50 ore di esercitazioni in laboratorio informatico.

Ogni semestre dura 12 settimane e ogni settimana sono previste 2 ore di lezioni in aula e 3 ore di laboratorio.

PROGRAMMA/CONTENUTO

Verranno afrontati i seguenti argomenti:

  • Nozioni base sui calcolatori: rappresentazione dei dati e aritmetica degli elaboratori; cenni sull'architettura del calcolatore e sui sistemi operativi finalizzati alla comprensione base dell'esecuzione di programmi.
  • Introduzione alla programmazione: i linguaggi di programmazione di alto livello; stato e cambiamento di stato; dichiarazioni e istruzioni base; linguaggi tipati: tipi base e strutturati; algoritmi semplici e loro implementazione; programmazione strutturata e modularità.
  • Programmazione in piccolo: 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.

Nella prima parte del corso (prime tre settimane) si introdurrà  MATLAB, un ambiente per il  calcolo numerico e l'analisi statistica.

Le parti di programmazione utilizzeranno un sottoinseime del  linguaggio C++ come esempio di linguaggio ad alto livello in cui realizzare i programmi.

TESTI/BIBLIOGRAFIA

Testi consigliati: Appunti del corso su Aulaweb

Altri testi:
Programming Principles and Practice using C++, B. Stroustrup; Addison-Wesley Professional, 2008
C++. Fondamenti di programmazione. H. M. Deitel, P. J. Deitel; Apogeo, 2009

Link utili:
MATLAB:

  1. http://it.mathworks.com/help/matlab/

C++:

  1. http://www.cplusplus.com/doc/tutorial/ 
  2. http://cpp.sh/ (comoda interfaccia web per provare semplici programmi c++)

DOCENTI E COMMISSIONI

Ricevimento: Su appuntamento via email: patrizia.boccacci@unige.it (il docente ha piu' insegnamenti per vari corsi di studi, specificare sempre il cognome e l'insegnamento)

Ricevimento: Su appuntamento via email: manuela.chessa@unige.it (il docente ha piu' insegnamenti per vari corsi di studi, specificare sempre il cognome e l'insegnamento)

Commissione d'esame

PATRIZIA BOCCACCI (Presidente)

MANUELA CHESSA

LEZIONI

Modalità didattiche

L'insegnamento consta di circa 46 ore di lezioni in aula (comprensive di teoria ed esercizi alla lavagna) e di circa 50 ore di esercitazioni in laboratorio informatico.

Ogni semestre dura 12 settimane e ogni settimana sono previste 2 ore di lezioni in aula e 3 ore di laboratorio.

ESAMI

Modalità d'esame

La prova di esame consiste in:

  • uno scritto consistente in una serie di domande su Aulaweb (voto massimo 31) 
  • prova di laboratorio consistente nella stesura di un programma C++ (voto massimo 31).

Non è necessario che le due prove vengano superate nello stesso appello.

L'esame è superato se si superano scritto (con voto >=16) e laboratorio (con voto >=16). Il voto finale sarà la media dei due voti. Si attribuirà la lode a chi abbia ottenuto un voto finale >=31.

E' previsto un bonus di 2 punti per le consegne delle esercitazioni di laboratorio entro i termini indicati.

Modalità di accertamento

  • La prova scritta vuole valutare l'acquisizione dei concetti fondamentali presentati durante il corso.
  • La prova in laboratorio vuole valutare la capacità di produrre del codice c++ funzionante per risolvere piccoli problemi, e consiste nel completare un programma schematico che vi verrà fornito come file con estensione .cpp. Nel file saranno incluse indicazioni su cosa occorre inserire e come, e sulla valutazione in punti delle varie parti. Verrà anche fornito un input per testarlo con i risultati attesi per ogni parte. Le consegne verranno valutate tenendo conto dei seguenti aspetti in ordine decrescente di importanza
    • Produrre un codice funzionante con risultati numerici corretti (requisito minimo)
    • Stile e leggibilità del codice
    • Efficienza di calcolo

Calendario appelli

Data Ora Luogo Tipologia Note
23/01/2020 09:00 GENOVA Laboratorio
23/01/2020 14:00 GENOVA Scritto
10/02/2020 09:00 GENOVA Laboratorio
10/02/2020 14:00 GENOVA Scritto
15/06/2020 09:00 GENOVA Laboratorio
15/06/2020 14:00 GENOVA Scritto
06/07/2020 09:00 GENOVA Laboratorio
07/07/2020 09:00 GENOVA Scritto
07/09/2020 14:00 GENOVA Laboratorio
08/09/2020 14:00 GENOVA Scritto