http://www.javaworld.com/article/2076533/data-storage/make-room-for-javaspaces--part-1.html android app architecture

Info sul Corso IN430

Anno Accademico 2018/2019
Docente: Flavio Lombardi

Programma Definitivo:

Principi di Progettazione Object Oriented
Astrazione, Polimorfismo, Ereditrarieta, Aggregazione
Modelli di Progettazione Object Oriented ed UML
Diagrammi UML Use Case, Sequence, Class e Object, Deployment
Analisi e Sviluppo Software per Java Virtual Machine: I/O, Stream, Networking, Gestione Eccezioni
Calcolo (Scientifico, Real-time,...) Efficiente Distribuito e Multithreading e Concorrenza in ambito Cloud e Mobile

Obiettivi

IL CORSO IN430 – TECNICHE INFORMATICHE AVANZATE E' DEDICATO ALL'ACQUISIZIONE DI COMPETENZE SUI LINGUAGGI DI PROGRAMMAZIONE OBJECT ORIENTED E SULL'APPLICAZIONE DI STRUMENTI CONCETTUALI DI ANALISI E SVILUPPO DI PROGRAMMI A OGGETTI. IL CORSO COMPRENDE UNA PARTE DI INTRODUZIONE ALLA MODELLAZIONE E ALLA PROGETTAZIONE DI CLASSI TRAMITE SCHEMI UML, ED UNA PARTE DI SPECIFICA E IMPLEMENTAZIONE DI ALGORITMI DI CALCOLO DISTRIBUITO IN AMBITO CLOUD E MOBILE

Argomenti

COMPILAZIONE ED ESECUZIONE DI PROGRAMMI JAVA. TIPI DI DATO, ARITMETICA E ARRAYS.STRUTTURE DI CONTROLLO. CREAZIONE DI OGGETTI. CREAZIONE DI DOMINI DI CLASSI. UTILIZZO COORDINATO DI MOLTEPLICI CLASSI: ASSOCIAZIONE, AGGREGAZIONE E COMPOSIZIONE DI CLASSI. EREDITARIETA', POLIMORFISMO E INTERFACCE. GESTIONE DELLE ECCEZIONI. LIBRERIE JAVA. PROGRAMMAZIONE GENERICA IN JAVA.STREAM DI INPUT/OUTPUT. COMPILAZIONE AUTOMATICA CON ANT/MAVEN. IL MULTITHREADING IN JAVA E PROBLEMATICHE DI CONCORRENZA. APPLICAZIONI REMOTE E DISTRIBUITE IN JAVA. APPLICAZIONI MOBILI SU PIATTAFORMA ANDROID.

Valutazione

La valutazione prevede una prova scritta sugli argomenti del corso più la implementazione di un progetto software e della relativa documentazione concordato con il docente

Final Syllabus:

Principles of Object Oriented Design
Abstraction, Polimorphism, Inheritance, Aggregation
Object Oriented Programming Models and UML
UML Use Case, Sequence, Class e Object, Deployment diagrams
Software Analysis and Developmenmt for Java Virtual Machine: I/O, Stream, Networking, Exception Handling
(Scientific, Real-time,...) Efficient Distributed Computing, Multithreading and Concurrency in Cloud e Mobile

Objectives

THE COURSE IN430 – ADVANCED COMPUTATIONAL TECHNIQUES IS FOCUSED ON THE ACQUISITION OF OBJECT ORIENTED PROGRAMMING LANGUAGES AND APPLICATION OF CONCEPTUAL TOOLS FOR ANALYSIS AND DEVELOPMENT IN OBJECT ORIENTEND PROGRAMMING. THIS COURSE INCLUDES AN INTRODUCTION TO MODELING AND DESIGN OF CLASSES THROUGH UML DIAGRAMS, AND THE STUDY OF SPECIFICATION AND IMPLEMENTATION OF ALGORITHMS FOR DISTRIBUTED AND CONCURRENT COMPUTING IN CLOUD AND MOBILE ENVIRONMENTS.

Topics

COMPILING AND ESECUTING JAVA CODE. DATATYPES, ARRAYS, CONTROL STRUCTURES. CLASS AND OBJECT CREATION Abstraction, Polimorphism, Inheritance, Aggregation
AUTOMATED BUILDING TOOLS ANT/MAVEN. MULTITHREADING AND CONCURRENCY JAVA. JAVA NETWORKED DISTRIBUTED APPS. ANDROID APPS.

Evaluation

Evaluation is based on a written exam plus the implementation of a software development project chosen among those proposed by the course professor

TESTI-TEXTBOOK

Manuale di Java 9 De Sio Cesari Claudio Hoepli Informatica

TESTI DI APPROFONDIMENTO-OTHER REFERENCES



GABBRIELLI, M., MARTINI, S., LINGUAGGI DI PROGRAMMAZIONE: PRINCIPI E PARADIGMI. MCGRAW-HILL, (2011)
PARSONS, D., FOUNDATIONAL JAVA: KEY ELEMENTS AND PRACTICAL PROGRAMMING, SPRINGER-VERLAG (2012)
SEDGEWICK, R., WAYNE, K., AN INTRODUCTION TO PROGRAMMING IN JAVA: AN INTERDISCIPLINARY APPROACH. ADDISON-WESLEY (2012).
RAMNATH, S., DATHAN, B., OBJECT-ORIENTED ANALYSIS AND DESIGN, SPRINGER-VERLAG, (2010).
ECKEL, B., Thinking in Java, 3rd Edition (2004)
-->
android emulator
2018-06-20