PROGRAMMAZIONE ORIENTATA AGLI OGGETTI - canale 1
Anno accademico 2016/2017 - 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°
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
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 |
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