CODICE 66052 ANNO ACCADEMICO 2016/2017 CFU 9 cfu anno 1 INGEGNERIA BIOMEDICA 8713 (L-8) - SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE PERIODO Annuale 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) 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 MODALITA' 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: http://it.mathworks.com/help/matlab/ C++: http://www.cplusplus.com/doc/tutorial/ http://cpp.sh/ (comoda interfaccia web per provare semplici programmi c++) DOCENTI E COMMISSIONI PATRIZIA BOCCACCI 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) FRANCESCO MASULLI Ricevimento: Il Giovedi dalle 16.00 alle 18.00 su appuntamento (il docente ha piu' insegnamenti per vari corsi di studi, specificare sempre il cognome e l'insegnamento) EUGENIO MOGGI Ricevimento: per l'orario di ricevimento vedi pagina web del docente http://www.disi.unige.it/person/MoggiE/ Commissione d'esame PATRIZIA BOCCACCI (Presidente) FRANCESCO MASULLI (Presidente) ALBERTO CABRI GIORGIO DELZANNO EUGENIO MOGGI STEFANO ROVETTA LEZIONI Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' 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 >=18) e laboratorio (con voto >=18). 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. MODALITA' 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 appello Orario Luogo Tipologia Note 30/05/2017 09:00 GENOVA Prova pratica 31/05/2017 09:00 GENOVA Prova teorica 05/07/2017 09:00 GENOVA Prova pratica 06/07/2017 09:00 GENOVA Prova teorica 11/09/2017 09:00 GENOVA Prova pratica 13/09/2017 09:00 GENOVA Prova teorica