PROGRAMMAZIONE ORIENTATA AGLI OGGETTI - canale 1
Anno accademico 2017/2018 - 2° annoCrediti: 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: 2°
APRI IN FORMATO PDF 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
* | Argomenti | Riferimenti 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: Java | cap 3,4,5 |
5 | * | Incapsulamento e modificatori di accesso | cap 6,7 |
6 | * | Ereditarietà e polimorfismo | cap 8 |
7 | * | Classi astratte ed interfacce e Package | cap 9 |
8 | * | Gestione delle eccezioni | cap 10 |
9 | Gestione delle stringhe | Capitolo 15 (fino a 15.9) | |
10 | I/O package | Capitolo 13 (fino a 13.10) e capitolo 19 | |
11 | * | Programmazione parametrica, | cap 14 |
12 | Enumerazioni autoboxing | Capitolo 12 (fino a 12.3) | |
13 | Collections | Capitolo 17 (fino a 17.5) | |
14 | * | Multithreading | cap 11 |
15 | * | Programmazione ad eventi | cap 23 |
16 | Interfacce grafiche | cap 24, 25 | |
17 | socket |
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