PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Programmazione a oggetti

09CBIOA, 09CBIMQ

A.A. 2020/21

Lingua dell'insegnamento

Italiano

Corsi di studio

Corso di Laurea in Ingegneria Informatica - Torino
Corso di Laurea in Matematica Per L'Ingegneria - Torino

Organizzazione dell'insegnamento
Didattica Ore
Lezioni 62
Esercitazioni in aula 9
Esercitazioni in laboratorio 9
Docenti
Docente Qualifica Settore h.Lez h.Es h.Lab h.Tut Anni incarico
Di Carlo Stefano - Corso 3 Professore Ordinario IINF-05/A 51 20 0 0 3
Torchiano Marco - Corso 1 Professore Ordinario IINF-05/A 47 9 0 0 11
Collaboratori
Espandi

Didattica
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 8 F - Altre attività (art. 10) Abilità informatiche e telematiche
2020/21
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.
This course goal is that of completing the skills of students in the area of coding by presenting the software development techniques based on the object oriented paradigm and their adoption with the Java programming language.
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).
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.
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
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 aggiunta 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.
Sul portale della didattica sono disponibili le slides fornite dai docenti e le informazioni sui laboratori. I principali testi approfondimento consigliati sono: - Arnold, Gosling, Holmes. "The Java Programming Language" 4th edition¡¨, Addison-Wesley, 2006 - R. Urma, M. Fusco, A. Mycroft. "Java 8 in Action: Lambdas, streams, and functional-style programming." Manning, 2015. - M.Fowler, K. Scott, UML Distilled, 3rd ed. Addison-Wesley, 2003. - Bruegge, Dutoit. Object-Oriented Software Engineering Using UML, Patterns, and Java. Pearson, 2009 All'inizio del corso potranno essere indicati anche altri testi.
Modalità di esame: Prova scritta su carta con videosorveglianza dei docenti; Prova scritta tramite l'utilizzo di vLAIB e piattaforma di ateneo;
L'esame si svolge utilizzando gli stessi strumenti software adottati durante le esercitazioni e consiste nella scrittura di un programma java che realizzi i requisiti forniti. Inoltre saranno proposte tre domante a scelta chiusa sugli aspetti teorici presentati durante il corso; 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 è assegnato 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. L'esame prioritariamente utilizzerà vLAIB e piattaforma di ateneo Exam integrata con strumenti di proctoring, ma in caso di numero limitato di iscritti potrà adottare la video sorveglianza diretta dei docenti.
Modalità di esame: Test informatizzato in laboratorio; Prova scritta su carta con videosorveglianza dei docenti; Prova scritta tramite l'utilizzo di vLAIB e piattaforma di ateneo; Elaborato progettuale individuale;
L'esame si svolge utilizzando gli stessi strumenti software adottati durante le esercitazioni e consiste nella scrittura di un programma java che realizzi i requisiti forniti. Inoltre saranno proposte tre domante a scelta chiusa sugli aspetti teorici presentati durante il corso; 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 è assegnato 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. L'esame prioritariamente utilizzerà vLAIB e piattaforma di ateneo Exam integrata con strumenti di proctoring, ma in caso di numero limitato di iscritti potrà adottare la video sorveglianza diretta dei docenti.
Esporta Word