Salta al contenuto principale
CODICE 108694
ANNO ACCADEMICO 2023/2024
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01
LINGUA Italiano
SEDE
  • GENOVA
PERIODO 2° Semestre
MODULI Questo insegnamento è un modulo di:
MATERIALE DIDATTICO AULAWEB

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

L'insegnamento vuole arrichire le competenze dello studente sul tema della programmazione di microprocessori. Lo studente potrá apprendere le tecniche di programmazione orientate agli oggetti e acquisire la capacitá di sviluppare programmi e librerie utilizzando il linguaggio C++.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

L'insegnamento mira a fornire una conoscenza teorica della progettazione dei sistemi Software basta su Programmazione Orientata agli Oggetti.

AL tempo stesso l'insegnamento ha l'obiettivo di fornire competenze pratiche di realizzazione di architetture Object-Oriented usando il Linguaggio C++.

Il risultato dell'apprendimento consiste quindi nella capacità di progettare e implementare in modo professionale un framework di classi nel contesto operativo C++.

MODALITA' DIDATTICHE

Le lezioni alternano spiegazioni teoriche ad esercitazioni pratiche. Le spiegazioni teoriche vengono frequentemente esemplificate con l’analisi, l’esecuzione e il debug di frammenti di codice direttamente sul pc del docente; nella parte conclusiva è prevista la sperimentazione diretta su PC di ogni discente (o gruppi). Il materiale sviluppato a lezione (SW di esempi pratici) viene condiviso attraverso le piattaforme AulaWeb e Teams. Gli studenti possono interagire direttamente con il docente durante le lezioni oppure attraverso la piattaforma Teams. 

E' altamente raccomandata la frequenza alle lezioni, dato che le lezioni frontali offrono dimostrazioni di progettazione software e considerazioni multidisciplinari non ritrovabili in testi di riferimento

 

PROGRAMMA/CONTENUTO

  • Introduzione
  • Basi della programmazione Object-Oriented, differenze rispetto a programmazione C
  • Concetti e Classi
  • Definizione di classi e descrittori fondamentali
  • Overloading operatori
  • Gerarchie di classi
  • Polimorfismo e funzioni/classi virtual
  • Template e eccezioni

Questo insegnamento, trattando temi di interesse scientifico-tecnologico quali l'evoluzione dell'elettronica e dei sistemi embedded a supporto della Società e della Persona, contribuisce al raggiungimento dei seguenti Obiettivi di Sviluppo Sostenibile dell'Agenda ONU 2030:

Obiettivo 3. Assicurare la salute e il benessere per tutti e per tutte le età (i sistemi embedded hanno un ruolo decisivo nel comparto salute/sanità/benessere)
Obiettivo 4. Fornire un’educazione di qualità, equa ed inclusiva, e opportunità di apprendimento per tutti (la diffusione di queste competenze aumenta il livello culturale generale della società nel settore tecnologico)
Obiettivo 5. Raggiungere l’uguaglianza di genere ed emancipare tutte le donne e le ragazze (l'insegnamento promuove una diffusione indifferenziata e paritaria delle competenze tecnologiche, nella certezza che i temi di elettronica possano/debbano essere pervasivi indipendentemente da età, gender e altri fattori potenzialmente discriminanti)

TESTI/BIBLIOGRAFIA

Materiale fornito a lezione

Per la sintassi C++ è consigliato un testo generico di introduzione al linguaggio C++

Un esempio: H. Schildt, "Guida al linguaggio C++", McGraw Hill, 1996

Ottimi (non indispensabili) i libri di Bruce Eckel "Thinking in C++"

Gli studenti con disturbi dell'apprendimento ("disturbi specifici di apprendimento", DSA) potranno utilizzare modalità e supporti specifici che verranno di volta in volta stabiliti d'intesa con il delegato dei corsi di Ingegneria nella Commissione per la Inclusione di studenti con disabilità.

DOCENTI E COMMISSIONI

Commissione d'esame

RODOLFO ZUNINO (Presidente)

CHRISTIAN GIANOGLIO

EDOARDO RAGUSA

PAOLO GASTALDO (Presidente Supplente)

LEZIONI

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L'esame ha una duplice struttura:

- Test a risposta multipla per verificare apprendimento del linguaggio di programmazione e delle competenze di OOP

- Valutazione qualitativa di un Project Work

 

MODALITA' DI ACCERTAMENTO

Durante lo svolgimento delle lezioni, gli studenti possono verificare progressivamente l'apprendimento attraverso le sperimentazioni dirette di programmazione e implementazione SW

L'esame finale rappresenta un momento di verifica formale complessiva sull'insieme di nozioni e competenze apprese.

La validazione delle competenze si attua in modo progressivo nella valutazione selettiva delle risposte:
- un gruppo di domande "base" mira a verificare l'acquisizione delle conoscenze fondamentali, requisiti minimi per il superamento dell'esame (18-22) inparticolare riguardo la sintassi e le principali caratteristiche di un framework C++


- un gruppo di domande di riferimento mira a verificare il livello atteso medio di conoscenza e competenze acquisite dall'insegnamento (23-28), in particoare riferite alle costruzioni tipiche dei framework C++ con aspetti professionali standard


- un gruppo di domande avanzate evidenzia la acquisizione di contenuti di livello elevato elaborati in modo autonomo dallo studente (29-30Lode), riguardanti comprensione delle meccaniche software di progettazione e funzionamento avanzato dei framework C++

 

Calendario appelli

Data appello Orario Luogo Tipologia Note
11/01/2024 10:30 GENOVA Scritto aula D1
14/02/2024 10:30 GENOVA Scritto aula D1
06/06/2024 10:30 GENOVA Scritto aula B5 - ore 10:30
04/07/2024 10:30 GENOVA Scritto aula B5, ore 10:30
02/09/2024 10:30 GENOVA Scritto ore 10:30, aula B6