Salta al contenuto principale della pagina

PROGRAMMAZIONE PER SISTEMI EMBEDDED

CODICE 72536
ANNO ACCADEMICO 2022/2023
CFU
  • 5 cfu al 3° anno di 8784 INGEGNERIA MECCANICA (L-9) - LA SPEZIA
  • SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
    LINGUA Italiano
    SEDE
  • LA SPEZIA
  • PERIODO 1° Semestre
    MODULI Questo insegnamento è un modulo di:
    MATERIALE DIDATTICO AULAWEB

    PRESENTAZIONE

    I calcolatori elettronici sono macchine programmabili in grado di eseguire il codice assembly. Anche se praticamente fattibile, la programmazione a questo basso livello è particolarmente complessa. I linguaggi di alto livello permettono di codificare algoritmi complessi astraendo da molti dei dettagli fisici del calcolatore. I dispositivi embedded richiedono di poter programmare muovendosi con libertà tra il livello astratto e quello fisico. Il C offre un accesso a entrambi i livelli di lettura.

    OBIETTIVI E CONTENUTI

    OBIETTIVI FORMATIVI

    Fornire agli studenti conoscenze e strumenti operativi per lo sviluppo di applicazioni software, nel particolare contesto dell'automazione meccanica e meccatronica.

    OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

    Acquisire le competenze tecniche necessari per la programmazione in linguaggio C.

    Comprendere la struttura dei calcolatori elettronici e la relazione tra le astrazioni di programmazione e i mecchanismi interni che permettono l'esecuzione dei programmi.

    Approfondire i concetti di base legati alla progettazione, compilazione e verifica del software.

    MODALITA' DIDATTICHE

    Lezione in laboratorio alternata con esercitazioni (in autonomia o guidate dal docente)

    PROGRAMMA/CONTENUTO

    1. Introduzione alla struttura  dei calcolatori elettronici
    2. Processi di compilazione e conversione da codice sorgente a codice macchina
    3. Progettagione di algoritmi
    4. Linguaggio C: tipi, espressioni, variabili e stato
    5. Linguaggio C: comandi imperativi
    6. Linguaggio C: funzioni e librerie
    7. Linguaggio C: Strutture e union
    8. Linguaggio C: puntatori e vettori

    TESTI/BIBLIOGRAFIA

    Il Linguaggio C.  Brian W. Kernighan, Dennis M. Ritchie
    https://it.wikipedia.org/wiki/Il_linguaggio_C

    DOCENTI E COMMISSIONI

    Commissione d'esame

    MASSIMO NARIZZANO (Presidente)

    ENRICO SIMETTI

    GIOVANNI INDIVERI (Presidente Supplente)

    LEZIONI

    Orari delle lezioni

    L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

    ESAMI

    MODALITA' D'ESAME

    L'esame è diviso in due parti: progetto e orale.

    La realizzazione del progetto, che lo studente può svolgere in modalità offline (a casa) deve essere svolto in totale autonomia. 

    Il Docente generalmente una ventina di giorni prima della data dell'appello orale mette su aulaweb il testo del progetto e una deadline entro cui bisogna sottomettere la propria soluzione

    Il progetto è generalmente composto di due parti : La prima parte riguarda lo sviluppo di un software in C, mentre nella seconda parte è incentrata sugli argomenti visti nel secondo semestre.

    Se il progetto raggiunge un risultato sufficiente, lo studente potrà sostenere l'esame orale. 

    Lo Studente non è obbligato a sostenere l'orale nella sessione in cui ha consegnare il progetto, ma può darlo in qualunque appello successivo (entro un anno). 

    Tuttavia quando lo studente si presenta ad un appello orale se per qualunque motivo deve ridare l'esame orale, allora deve riconsegnare un nuovo progetto.

     

    MODALITA' DI ACCERTAMENTO

    La parte progettuale ha come obiettivo quello di verificare che lo Studente abbia acquisito le competenze tecniche necessarie per la programmazione in linguaggio C. Verranno valutati in questa parte, oltre alle conoscenze, anche alla capacità di sintesi dello studente, unito al gradi di autonomia che lo studente ha acquisito. La parte orale ha come obiettivo quello di verificare che lo studente abbia acquisito la conoscenza sulla struttura dei calcolatori elettronici e i suoi meccanismi interni. Un ulteriore obiettivo della parte orale è quello di verificare che lo studente abbia appreso i concetti astratti legati alla programmazione e al processo di sviluppo del software. 

    Calendario appelli

    Data Ora Luogo Tipologia Note