PROGRAMMAZIONE ORIENTATA AGLI OGGETTI - canale 1

Anno accademico 2017/2018 - 2° anno
Docente: Antonella DI STEFANO
Crediti: 6
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 150 ore d'impegno totale, 100 di studio individuale, 35 di lezione frontale, 15 di esercitazione
Semestre:
ENGLISH VERSION

Obiettivi formativi

Il corso introduce alla programmazione ad oggetti, mostrandone le principali caratteristiche e prendendo come principale linguaggio di riferimento Java.


lo scopo è che l'allievo acquisisca le competenze per poter programmare in Java applicando coerentemente ed efficacemente gli strumenti messi a disposizione dal linguaggio.

Occorre che lo studente conosca i concetti di classe e oggetto e i principi fondamentali di encapsulation, polimorphism, inheritance, exception handling e sia in grado di applicarli nella programmazione java.

verranno anche presentati e valutati concetti di programmazione parametrica e generics, multithreading, socket, GUI e alcuni package fondamentali quali quelli per la gestione dei flussi di IO, Collections, AWT, Swing


Prerequisiti richiesti

Concetti di programmazione strutturata, il linguaggio C per istruzioni e tipi di dati,

Conoscenze delle principali struttura dati statiche e dinamiche. File, liste, pile, code hash table e alberi e i relativi algoritmi classici di manipolazione

Concetti di base di sistema operativo e sw di base (es. variabili ambiente) e comandi di sistema, i concetti di interrupt e ed eccezioni, processi e multithreading, concorrenza, semafori e monitor, socket.


Frequenza lezioni

la frequenza è richiesta solo agli studenti che intendono svolgere prove in itinere


Contenuti del corso

Il corso presenta la programmazione ad oggetti, mostrandone le principali caratteristiche e prendendo come principale linguaggio di riferimento Java.


Vengono trattati i concetti base di classe e oggetto e i principi fondamentali di encapsulation, polimorphism, inheritance, exception handling. questi aspetti vengono applicati alla programmazione java.

Vengono approfonditi i concetti di programmazione parametrica e generics, multithreading, socket, GUI

Vengono applicati anche alcuni package fondamentali quali quelli per la gestione dei flussi di IO, Collections, AWT, Swing


Testi di riferimento

"Java. La guida completa" di Herbert Schildt



Programmazione del corso

 *ArgomentiRiferimenti testi
1*Principi di base della programmazione ad oggetti: incapsulamento, ereditatietà e polimorfismo.cap 2 
2 Cenni di UML e regole di progettazione del software 
3 Uso di un IDE per la programmazione Java: es. NetBeans 
4*il linguaggio di programmazione ad oggetti di riferimento: Javacap 3,4,5 
5*Incapsulamento e modificatori di accessocap 6,7 
6*Ereditarietà e polimorfismocap 8 
7*Classi astratte ed interfacce e Packagecap 9 
8*Gestione delle eccezionicap 10 
9 Gestione delle stringheCapitolo 15 (fino a 15.9) 
10 I/O packageCapitolo 13 (fino a 13.10) e capitolo 19 
11*Programmazione parametrica, cap 14 
12 Enumerazioni autoboxingCapitolo 12 (fino a 12.3) 
13 CollectionsCapitolo 17 (fino a 17.5) 
14*Multithreading cap 11 
15*Programmazione ad eventicap 23 
16 Interfacce grafichecap 24, 25 
17 socket 
* Conoscenze minime irrinunciabili per il superamento dell'esame.

N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

1) una prova pratica al calcolatore:
programma in linguaggio Java)

2) una successiva prova orale, in caso di superamento della prova precedente in base ad una soglia minima di ammissione