Università degli Studi di Napoli "Parthenope"

Scheda dell'insegnamento

Anno accademico: 
2021/2022
Tipologia di insegnamento: 
Caratterizzante
Tipo di attività: 
Obbligatorio
Corso di afferenza: 
Corso di Laurea triennale (DM 270) in INGEGNERIA INFORMATICA, BIOMEDICA E DELLE TELECOMUNICAZIONI
Sede: 
Napoli
Settore disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Lingua: 
Italiano
Crediti: 
15
Anno di corso: 
1
Ciclo: 
Annualita' Singola
Ore di attivita' frontale: 
120

Obiettivi

Fornire agli allievi le conoscenze di metodologie di progetto software orientate agli oggetti e di tecniche di programmazione necessarie alla realizzazione di semplici applicazioni C++ in ambiente Linux.
Conoscenza e Capacità di comprensione: Elementi di programmazione orientata agli oggetti
Capacità Applicative: capacità di sviluppare programmi in linguaggio C/C++
Autonomia di Giudizio: Valutazione della efficienza ed efficacia di una metodologia o di un algoritmo
Abilità nella Comunicazione: capacità di esprimere chiaramente concetti tecnici.
Capacità di Apprendere: saper integrare le conoscenze da varie fonti al fine di un approfondimento della conoscenza degli argomenti di interesse.

Prerequisiti

E’ utile una buona dimestichezza con i principali Sistemi Operativi (Windows, Linux)

Contenuti

Gli argomenti trattati possono essere raggruppati come segue:
1- Fondamenti di Informatica [2 CFU – ore 16]: Organizzazione di un calcolatore; codifica dell'informazione; il sistema operativo: introduzione a linux; algoritmi, programmi e processi.
2 - Concetti di base della programmazione procedurale [4 CFU – ore 32]: Ciclo di sviluppo del codice; i costrutti base del C/C++; le funzioni; algoritmi di ordinamento e ricerca; la complessità computazionale.
3 - Concetti di base della programmazione ad oggetti [4 CFU – ore 32]: Classi; Oggetti; Costruttori e Distruttori; Ereditarietà.
4 – Funzioni avanzate della programmazione ad oggetti e gestione di grandi progetti [5 CFU – ore 40]: Classi astratte; Polimorfismo; Template; Versioning; IDE.

Metodi didattici

Lezioni frontali, esercitazioni guidate in laboratorio, homework assegnati dal docente e da sviluppare in gruppo.

Il corso può essere seguito in presenza o in teledidattica mediante il canale Teams codice 6ldje1z

Verifica dell'apprendimento

Sono previste due prove di esonero intermedie e una discussione finale. Le prove intermedie consisteranno in un test di programmazione rispettivamente su: programmazione funzionale e programmazione ad oggetti. La prova finale consisterà nella discussione di un progetto sviluppato in autonomia dal candidato e concordato con il docente. Un test di programmazione aggiuntivo su programmazione funzionale e ad oggetti è previsto per chi non sostiente le prove intermedie.

Testi

Bjarne Stroustrup, “The C++ Programming Language” - Third Edition, AddisonWesley, 1997, ISBN: 0201889544 (o equivalente edizione in lingua italiana).
Suggeriti:
J. Dent, T. Gaddis, “Guida a Unix con Linux”, Apogeo, 2001, ISBN: 88-7303-694-5
Thinking in C++ ed. 2, vol. 1 e vol. 2, Bruce Eckel, disponibile online per download

Altre informazioni

Le lezioni sono tenute in italiano. Il libro di testo è disponibile sia in inglese che in italiano, così come la gran parte del material didattico di supporto. I docenti sono disponibile ad interagire con gli studenti in inglese e anche a consentire loro di sostenere l’esame in inglese. Il ricevimento studenti è il Venerdì mattina dalle 12:00 alle 14:00 presso lo studio dei docenti o sul canale teams del corso (previa prenotazione tramite email). Ulteriori occasioni di incontro potranno essere richieste ai docenti a mezzo mail.

Il corso può essere seguito in presenza o in teledidattica mediante il canale Teams codice 9migh6a

Il materiale didattico, esercizi supplementari, test di autovalutazione e altro, è disponibile sul canale Teams del corso.