Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA MECCATRONICA
Insegnamento
LABORATORIO DI INFORMATICA INDUSTRIALE
INP7078557, A.A. 2019/20

Informazioni valide per gli studenti immatricolati nell'A.A. 2017/18

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INGEGNERIA MECCATRONICA
IN2376, ordinamento 2017/18, A.A. 2019/20
N0
porta questa
pagina con te
Crediti formativi 6.0
Tipo di valutazione Voto
Denominazione inglese INDUSTRIAL INFORMATICS LABORATORY
Dipartimento di riferimento Dipartimento di Tecnica e Gestione dei Sistemi Industriali (DTG)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede VICENZA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile MONICA REGGIANI ING-INF/05

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Ingegneria della sicurezza e protezione dell'informazione ING-INF/05 6.0

Organizzazione dell'insegnamento
Periodo di erogazione Secondo semestre
Anno di corso III Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 6.0 48 102.0

Calendario
Inizio attività didattiche 02/03/2020
Fine attività didattiche 12/06/2020
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2017

Syllabus
Prerequisiti: Per il proficuo raggiungimento degli obiettivi prefissati sono richieste competenze di informatica di base (rappresentazione dei dati, architettura di un calcolatore, introduzione ai sistemi operativi) e conoscenze ed esperienze nella programmazione sequenziale (tipi di dati, condizioni, cicli, vettori).
Conoscenze e abilita' da acquisire: L’obiettivo del corso è introdurre lo studente al processo di programmazione sia a basso livello, con una interazione diretta con il sistema operativo e l’hardware, sia ad alto livello per sviluppare la capacità degli studenti di costruire applicazioni di grandi dimensioni in gruppo.

Al termine del corso, lo studente che abbia completato con successo dovrà essere in grado di progettare, scrivere, testare e analizzare programmi moderatamente complicati usando il linguaggio C e il sistema operativo UNIX/Linux.
Modalita' di esame: La valutazione delle conoscenze e delle abilità acquisite sarà composta da:
- 30% assegnamenti di programmazione da svolgere durante il corso.
- 70% prova in laboratorio di sviluppo di progetto software in gruppo e successiva esposizione orale
Criteri di valutazione: I criteri di valutazione sono i seguenti:
- per la valutazione degli assegnamenti da svolgere durante il corso: capacità di progettare e sviluppare semplici applicazioni software sui singoli elementi appresi durante il corso
- per la prova di laboratorio: capacità di progettare e sviluppare una applicazione software in team, qualità del codice prodotto, capacità di sfruttare al meglio gli strumenti acquisiti e efficienza delle tecniche risolutive proposte.
-per la successiva prova orale: presentare in termini appropriati a progetti ingegneristici il lavoro svolto e la profondità della conoscenza teorica acquisita.
Contenuti: Programmazione in linguaggio C:
- Ripasso concetti principali della sintassi di base del linguaggio C
- Puntatori e allocazione dinamica della memoria
- Gestione degli errori e debug

Strumenti di base per la programmazione in Linux:
- Strumenti per il debug (gdb)
- Profiling delle prestazioni (gprof)
- Tracing dell’esecuzione (strace, dtrace)
- Gestione dei segnali
- I/O da file
- Scripting

Strumenti avanzati per la programmazione
- Moduli, header, linking, costruzione di librerie (Cmake)
- Controllo di versione (git)
- Strumenti per cross-compilazione
Attivita' di apprendimento previste e metodologie di insegnamento: L'insegnamento prevede lezioni frontali (sia alla lavagna che con slide a proiezione) e otto lezioni in laboratorio, in cui gli studenti sono guidati nei primi passi verso l'applicazione degli strumenti di sviluppo software visti a lezione. Si fa frequentemente uso di strumenti interattivi, quali il think-pair-share e le discussioni interattive di alcuni minuti su domande aperte, al fine di stimolare l'apprendimento attivo e il senso critico sui concetti esposti a lezione.
Eventuali indicazioni sui materiali di studio: Tutti gli argomenti del programma sono trattati a lezione; le slide presentate sono rese disponibili su Elearning, assieme ai testi dei laboratori e ad esempi di sviluppo software. Gli appunti presi a lezione possono essere integrati con i libri di testo e da ulteriore materiale proposto dal docente e messo a disposizione su Elearning.
Testi di riferimento:
  • King, Kimberly Nelson, Programmazione in C. --: Apogeo, 2009. Cerca nel catalogo
  • Kernighan, Brian; Pike, Rob, The practice of programming. --: Addison-Wesley Professional, 1999. Cerca nel catalogo

Didattica innovativa: Strategie di insegnamento e apprendimento previste
  • Lecturing
  • Laboratory
  • Problem based learning
  • Case study
  • Interactive lecturing
  • Working in group
  • Action learning
  • Problem solving
  • Peer feedback
  • Quiz o test a correzione automatica per feedback periodico o per esami
  • Files e pagine caricati online (pagine web, Moodle, ...)

Didattica innovativa: Software o applicazioni utilizzati
  • Moodle (files, quiz, workshop, ...)

Obiettivi Agenda 2030 per lo sviluppo sostenibile
Istruzione di qualita'