Ingegneria delle Tecnologie Informatiche

(ex Ingegneria dei Sistemi Informativi)

PROGRAMMAZIONE AD OGGETTI

Crediti: 
9
Sede: 
PARMA
Anno accademico di offerta: 
2021/2022
Responsabile della didattica: 
Settore scientifico disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Semestre dell'insegnamento: 
Secondo Semestre
Anno di corso: 
1
Lingua di insegnamento: 

ITALIANO

Obiettivi formativi

Gli obiettivi sono di fornire allo studente competenze che riguardano:
- Programmazione orientata agli oggetti in C++
-Programmazione generica in C++
- Principali strutture dati statiche e dinamiche realizzate in C++
- Algoritmi di ordinamento e di ricerca realizzati in C++
Capacità di applicare conoscenza e comprensione:
- Progettare e realizzare algoritmi in linguaggio C++
- Utilizzare strutture dati di base in C++ per la risoluzione di problemi

Prerequisiti

Conoscenza di base di un linguaggio di programmazione.

Contenuti dell'insegnamento

Il corso fornisce una introduzione al linguaggio di programmazione C++ e presenta la realizzazione delle strutture dati fondamentali dell’informatica in linguaggio C++.

Programma esteso

Parte A (44 ore):
Introduzione alla programmazione in C++. (18 ore): ambiente di sviluppo (Visual Studio), tipi di dato, variabili, costanti, espressioni, istruzioni, input/output, numeri casuali, file header, funzioni, struct, stringhe, gestione file, classi, oggetti, operatori, ereditarietà, polimorfismo, template.
Array e puntatori. (2 ore)
Liste. (8 ore)
Pile. (3 ore)
Code. (3 ore)
Ricorsione. (2 ore)
Algoritmi di ordinamento. (6 ore)
Esercizi sulla parte A del corso (2 ore)
Parte B (28 ore):
Alberi binari. (6 ore)
Code di priorità e heap. (6 ore)
Alberi binari di ricerca. (6 ore)
Introduzione alla Standard Template Library. (6 ore)
Grafi. (4 ore)

Bibliografia

Luis Joyanes Aguilar, Fondamenti di programmazione in C++. Algoritmi, strutture dati e oggetti, McGraw-Hill.

Robert Sedgewick, Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, Third Edition.

Clifford A. Shaffer, Data Structures and Algorithm Analysis Edition 3.2 (C++ Version)

Metodi didattici

Lezioni in aula (34 ore).
Esercitazioni in aula (18 ore).
Esercitazioni di laboratorio (20 ore).

Il materiale delle lezioni è presente sulla piattaforma Elly.
Per accedere al materiale è necessaria l’iscrizione al corso on line.

Modalità verifica apprendimento

Una prova di laboratorio (3 ore) per ogni appello ufficiale su tutti gli argomenti del corso

Oppure

2 prove parziali per studenti immatricolati nel primo anno:
- Prova parziale 1 (2 ore) sulla parte A del corso
- Prova parziale 2 (2 ore) sulla parte B del corso (solo nel primo appello di Giugno per chi supera la prova parziale 1)

Per chi supera l’esame con le prove parziali il voto finale è la media tra i voti delle due prove.

Ciascuna prova di laboratorio contiene un esercizio da svolgere al calcolatore e alcuni quiz.

Il voto delle prove viene comunicato nell’arco delle due settimane successive alla prova.