SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05
LAUREA TRIENNALE IN INGEGNERIA INFORMATICA
ANNO ACCADEMICO: 2022-2023
INFORMAZIONI GENERALI - DOCENTE
Docente: VITTORINI VALERIA
Telefono: 081 7683847
Email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
INFORMAZIONI GENERALI - ATTIVITÀ
INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): II
SEMESTRE (I, II): II
CFU: 9
(se previsti dall'Ordinamento del CdS)
Fondamenti di Informatica
EVENTUALI PREREQUISITI
Nessuno oltre le competenze fornite dal corso di Fondamenti di Informatica
OBIETTIVI FORMATIVI
L'insegnamento si propone di fornire agli studenti le competenze metodologiche, teoriche e pratiche di programmazione procedurale e di programmazione orientata agli oggetti necessarie al corretto sviluppo di progetti software di piccole e medie dimensioni.
(Descrittori di Dublino)
Conoscenza e capacità di comprensione
Lo studente deve dimostrare di conoscere e saper elaborare i concetti alla base della programmazione modulare e della programmazione orientata agli oggetti. Il percorso formativo intende fornire le conoscenze e gli strumenti che consentiranno agli studenti di sviluppare capacità autonome di progettazione e sviluppo di semplici applicazioni secondo i paradigmi di programmazione procedurale e orientata agli oggetti.
Capacità di applicare conoscenza e comprensione
Lo studente deve dimostrare di saper applicare le competenze acquisite progettando e implementando semplici applicazioni software, utilizzando il linguaggio di programmazione di riferimento (C++) e il linguaggio UML. In particolare deve saper riconoscere e realizzare le relazioni tra classi ed oggetti nel dominio e nel contesto proposto e sapere implementare le strutture dati di base (lista, pila, coda).
PROGRAMMA-SYLLABUS
· Aspetti avanzati di programmazione procedurale: Ricorsione; Allocazione dinamica della memoria; Gestione delle eccezioni; Sovraccarico delle funzioni; Funzioni inline.
· Programmazione modulare: astrazione sui dati e sul controllo, il concetto di modulo, relazioni tra moduli, accoppiamento, information hiding, tecniche e strumenti per la modularizzazione, compilazione separata, l’utility make.
· Strutture dati, Tipi di dato astratto: Liste, Pile, Code, Algoritmi di ricerca e ordinamento; ADT: Tipi di dato astratto.
· Programmazione orientata agli oggetti: Il paradigma OO; Classi e Oggetti; Ereditarietà; Polimorfismo.
· La programmazione orientata agli oggetti e la programmazione generica in C++: Classi, oggetti, costruttori e distruttori; Operatori e sovraccarico degli operatori; Conversioni di Tipo; Ereditarietà ed ereditarietà multipla; La gerarchia per le operazioni di ’I/O e uso delle librerie standard; Polimorfismo, classi Astratte; altri meccanismi di incapsulamento (namespace).
· Programmazione generica: Template, funzioni e classi modello, presentazione della Standard Template Library
· Progettazione e linguaggio UML: Progettazione del software (cenni); Fasi della Progettazione Orientata agli Oggetti; Il linguaggio UML nella progettazione O.O.; da UML a C++.
MATERIALE DIDATTICO
Libro di testo, materiale esercitativo, trasparenze dalle lezioni.
PER ULTERIORI INFORMAZIONI si veda sito web del docente della materia (www.docenti.unina.it)
MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO
Lezioni frontali (50%), esercitazioni (25%) e attività di laboratorio (25%).
VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE
a) Modalità di esame:
L'esame si articola in prova: | |
Scritta e orale | |
Solo scritta | |
Solo orale | |
Discussione di elaborato progettuale | |
Altro (prova al calcolatore) |
In caso di prova scritta i quesiti sono (*): | |
A risposta multipla | |
A risposta libera | |
Esercizi di programmazione |
b)Modalità di valutazione:
L'esito della prova scritta è vincolante ai fini dell'accesso alla prova orale. Il voto finale è la media tra il voto della prova scritta e quello della prova orale.