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... |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
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 |
|