Università degli Studi di Napoli "Parthenope"

Scheda dell'insegnamento

Anno accademico: 
2014/2015
Tipologia di insegnamento: 
Caratterizzante
Tipo di attività: 
Obbligatorio
Corso di afferenza: 
Corso di Laurea triennale (DM 270) in INFORMATICA
Settore disciplinare: 
INFORMATICA (INF/01)
Crediti: 
6
Anno di corso: 
3
Docenti: 
Ciclo: 
Primo Semestre
Ore di attivita' frontale: 
48

Obiettivi

Il corso intende fornire concetti avanzati per la programmazione orientata agli oggetti. Esso è suddiviso in due parti principali:
# Programmazione orientata agli oggetti
- Object-Oriented Programming (OOP)
- Esercitazioni pratiche in Linguaggio Java
# Metodologie di analisi e progettazione orientate agli
oggetti
- Object Oriented Analysis (OOA)
- Object Oriented Design (OOD)

Conoscenza e capacità di comprensione
Lo studente deve dimostrare di conoscere e saper comprendere i fondamenti dei linguaggi di programmazione procedurali e Orientati agli Oggetti (OO). In particolare, deve conoscere le metodologie di sviluppo e di analisi degli algoritmi dei linguaggi C e C++. Lo studente deve avere la capacità di comprensione di nuove metodologie e tecniche di sviluppo di software basate sul linguaggio Java.

Capacità applicative
Lo studente deve dimostrare di saper utilizzare la propria conoscenza acquisita per la risoluzione di un problema reale mediante il linguaggio Java. Deve inoltre dimostrare capacità di sviluppo e analisi di complessità di algoritmi e validazione del software facendo uso di Design Pattern e Principi di Programmazione "Agile". Capacità devono essere dimostrare, inoltre, per l'uso e la scelta consapevole di librerie e sistemi software per i principali ambiti applicativi e in particolare per il progetto e l'analisi di applicazioni Web.

Autonomia di giudizio
Lo studente deve essere in grado di sapere valutare in maniera autonoma l’efficacia e l’efficienza di una applicazione software nei casi reali.

Abilità nella comunicazione
Lo studente deve essere in grado di redigere una relazione e una presentazione su un'applicazione software realizzata usando Design Pattern, principi di programmazione OO e linguaggio Java. Siccome l'applicazione viene svolta su temi di attualità in informatica e presenta momenti di lavoro in gruppo, lo studente deve dimostrare capacità su questi aspetti.

Capacità di apprendere
Lo studente deve essere in grado di aggiornarsi e approfondire in modo autonomo argomenti e applicazioni software basate sul linguaggio Java, anche accedendo a banche dati, repository on-line di software applicativo e altre modalità messe a disposizione dalla rete. Lo studente deve essere in grado di partecipare a forum per l’aggiornamento continuo delle conoscenze in informatica.

Prerequisiti

Conoscenza dei fondamentali paradigmi di programmazione e dei linguaggi C e C++

Contenuti

# Introduzione alla programmazione Object Oriented (OO)
# Primo approccio alla programmazione OO
# Le basi della programmazione OO
# Tipi di dati fondamentali
# Decisioni e iterazioni
# Paradigmi della programmazione OO
# Ereditarietà
# Classi astratte ed interfacce
# Polimorfismo
# Tipi generici
# Gestione delle eccezioni
# Enumerazione e tipi innestati
# Annotazioni
# Gestione dei thread
# Principi di ingegneria del software
# UML e Java
# Principi di OO Design
# Principi di Design Pattern
# I/O
# Interfacce grafiche
# Java Database Connectivity
# Web Applications

Metodi didattici

Verifica dell'apprendimento

Progetto pratico in Java e prova orale

Testi

# materiale sulla piattaforma e-learning
# Manuale di Java 8: Programmazione orientata agli oggetti con Java standard, 8a edizione, C. De Sio Cesari, Hoepli, 2014
# Concetti di informatica e fondamenti di Java 2, edition 5a edizionze, C. S.
Horstmann, Apogeo, 2010
# Design Patterns: Elements of Reusable Object-Oriented Software, E. Gamma, R. Helm, R. Johnson, J. Vlissides (the GangOfFour), AddisonWesley Professional, 1994
# Design Pattern in Java (manuale pratico), S. J. Metsker, Pearson Addison
Wesley, 2003
# Clean Code, R. C. Martin, Prentice Hall, 2009

Altre informazioni