Salta al contenuto principale della pagina

FONDAMENTI DI INFORMATICA

CODICE 66052
ANNO ACCADEMICO 2020/2021
CFU
  • 9 cfu al 1° anno di 8713 INGEGNERIA BIOMEDICA (L-8) - GENOVA
  • SETTORE SCIENTIFICO DISCIPLINARE INF/01
    LINGUA Italiano
    SEDE
  • GENOVA
  • PERIODO Annuale
    PROPEDEUTICITA
    Propedeuticità in uscita
    Questo insegnamento è propedeutico per gli insegnamenti:
    • INGEGNERIA BIOMEDICA 8713 (coorte 2020/2021)
    • ALGORITMI E PROGRAMMAZIONE ORIENTATA AGLI OGGETTI 84377
    MATERIALE DIDATTICO AULAWEB

    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.

    MODALITA' DIDATTICHE

    Considerata l'emergenza COVID19 l'erogazione dell'insegnamento avverra' in modalita' blended.

    Le lezioni di teoria verranno erogate in modalita' telematica e rese disponibili per la consultazione offline.

    Le esercitazioni verranno svolte in aula, suddividendo gli studenti in gruppi per aderire alle normative di distanziamento, e contemporaneamente trasmesse in modalita' telematica per garantire la fruizione agli studenti impossibilitati a partecipare.

    Ogni semestre dura 12 settimane e ogni settimana sono previste 2 ore di lezioni teoriche e 3 ore di esercitazioni e 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.

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

    Durante il corso si introdurrà anche  MATLAB, un ambiente per il  calcolo numerico e l'analisi statistica.

    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

    Commissione d'esame

    MANUELA CHESSA (Presidente)

    CHIARA BASSANO

    FABIO SOLARI (Presidente Supplente)

    LEZIONI

    Orari delle lezioni

    L'orario di tutti gli insegnamenti è consultabile su 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 >=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.

    Emergenza COVID19: La modalita' di esame potra' subire variazioni se questo dovesse essere svolto in modalita' telematica. In tal caso, gli studenti verranno tempestivamente avvisati di eventuali modifiche in ottemperanza della normativa vigente.

     

    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 Ora Luogo Tipologia Note
    21/01/2021 09:00 GENOVA Laboratorio
    21/01/2021 14:00 GENOVA Scritto
    08/02/2021 09:00 GENOVA Laboratorio
    08/02/2021 14:00 GENOVA Scritto
    11/06/2021 09:30 GENOVA Laboratorio
    19/07/2021 09:30 GENOVA Laboratorio
    14/09/2021 09:30 GENOVA Laboratorio