en
Politecnico di Torino
Anno Accademico 2017/18
09CBIOA, 09CBIMQ, 09CBING, 09CBIPC
Programmazione a oggetti
Corso di Laurea in Ingegneria Informatica - Torino
Corso di Laurea in Matematica Per L'Ingegneria - Torino
Corso di Laurea Magistrale in Ingegneria Matematica - Torino
Espandi...
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Bruno Giorgio ORARIO RICEVIMENTO     51 20 9 0 20
Torchiano Marco ORARIO RICEVIMENTO O2 IINF-05/A 51 20 9 0 10
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 8 F - Altre attività (art. 10) Abilità informatiche e telematiche
Esclusioni:
04JEY
Presentazione
Questo insegnamento intende completare la preparazione degli studenti nella programmazione presentando le tecniche di sviluppo del software basate sul paradigma a oggetti e il loro uso tramite il linguaggio Java.
Risultati di apprendimento attesi
Lo studente alla fine dell¡¦insegnamento possiederà i concetti fondamentali dell¡¦ingegneria del software (ciclo di sviluppo, gestione delle configurazioni, test, progettazione) e della programmazione a oggetti (classi, oggetti, attributi, metodi, ereditarietà e interfacce), inoltre conoscerà in maniera approfondita le caratteristiche principali del linguaggio Java.
Le abilità che saranno acquisite riguardano: la padronanza del linguaggio Java; la capacità di analizzare i requisiti di un sistema software di complessità ragionevole allo scopo di definire un idoneo progetto a oggetti; la capacità di implementare e collaudare le classi del progetto mediante un ambiente di sviluppo integrato (IDE).
Prerequisiti / Conoscenze pregresse
I prerequisiti riguardano i costrutti di base della programmazione (tipi e strutture dei dati, istruzioni di controllo, sotto-programmi e chiamate di sotto-programmi), la soluzione di problemi semplici mediante la scrittura di algoritmi, la conoscenza degli algoritmi di sorting e searching.
Programma
Caratteristiche di base (1 credito)
• Programmazione a oggetti, java, eclipse
• Classi, attributi, metodi e costruttori, oggetti
Caratteristiche di base (1 credito)
- Programmazione a oggetti, java, Eclipse
- Classi, attributi, metodi e costruttori, oggetti
- Package e regole di visibilità
- Stringhe, classi Wrapper
- Array

Ereditarietà e interfacce (2 crediti)
- Ereditarietà
- Classi astratte, interfacce
- Interfacce funzionali, espressioni lambda
- Eccezioni
- Tipi generici

Librerie standard (3.5 crediti)
- Collezioni: set, liste, mappe
- Stream
- Gestione dei file
- Date
- Thread
- Grafica, Swing, JavaFX

Principi di Ingegneria del Software (1.5 crediti)
- Ciclo di vita del software
- Progettazione tramite linguaggio UML
- Design Pattern
- Gestione della configurazione
- Testing
Organizzazione dell'insegnamento
L¡¦insegnamento prevede una serie di lezioni in aula per la presentazione degli aspetti relativi all¡¦ingegneria del software e del linguaggio Java. Inoltre in aula si terranno delle esercitazioni mirate a illustrare e discutere soluzioni esemplari. In alla parte in aula si svolgeranno delle esercitazioni in laboratorio che riguardano la soluzione di alcuni semplici casi di studio mediante la scrittura di programmi Java con l¡¦ambiente Eclipse.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Sul portale della didattica sono disponibili le slides fornite dai docenti e le informazioni sui laboratori.
I principali testi approfondimento consigliati sono:
„X Arnold, Gosling, Holmes. ¡§The Java Programming Language ¡V 4th edition¡¨, Addison-Wesley, 2006
„X R. Urma, M. Fusco, A. Mycroft. ¡§Java 8 in Action: Lambdas, streams, and functional-style programming.¡¨ Manning, 2015.
„X M.Fowler, K. Scott, UML Distilled, 3rd ed. Addison-Wesley, 2003.
„X Bruegge, Dutoit. Object-Oriented Software Engineering Using UML, Patterns, and Java. Pearson, 2009
„X
All¡¦inizio del corso potranno essere indicati anche altri testi.
Criteri, regole e procedure per l'esame
L¡¦esame si svolge in laboratorio utilizzando gli stessi strumenti adottati durante le esercitazioni e consiste nella scrittura di un programma java che realizzi i requisiti forniti. Inoltre saranno proposte tre o quattro domante a scelta chiusa sugli aspetti teorici non utilizzati nella parte di programmazione; le domande pesano per il 15% del voto finale.
L¡¦esame ha una durata di due ore durante le quali non è possibile utilizzare appunti o libri di testo.
Il voto è dato in base alla qualità dell'elaborato misurata in termini di funzionalità correttamente implementate, della gravità delle carenze dell¡¦elaborato consegnato e delle scelte di progetto effettuate.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2017/18
Indietro