PROGRAMMAZIONE ORIENTATA AGLI OGGETTI - canale 2
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°
APRI IN FORMATO PDF ENGLISH VERSION
Obiettivi formativi
Il corso introduce alla conoscenza della programmazione orientata agli oggetti.
Il corso ha l'obiettivo primario di fornire allo studente le conoscenze concetti base di classe e oggetto e i principi fondamentali di encapsulation, polimorphism, inheritance, exception handling nonce I meccanismi di gestione delle ecccezioni.
Il corso inoltre fornisce allo studente le tecniche e gli strumenti per lo sviluppo di programmi applicativi mediante l'utilizzo del linguaggio di programmazione Java utilizzando anche i concetti di programmazione parametrica e multithread e introduce il modello di programmazione ad eventi
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.
Frequenza lezioni
Lo studente è tenuto a frequentare almeno il 70% delle lezioni del corso per poter sostenere le prove in itinere
La frequenza non è richiesta, seppure fortemente consigliata, per sostenere la prova di esame
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
- Herbert Schildt, “Java. La guida completa” McGraw-Hill Education; 8. edizione (1 marzo 2012) ISBN-10: 8838667667
Programmazione del corso
* | Argomenti | Riferimenti testi | |
---|---|---|---|
1 | * | Concetto di "oggetto". Relazione tra oggetti. Concetto di "classe" e di "interfaccia". Contratto di una classe. | Capitolo 2 |
2 | * | Principi di base della programmazione ad oggetti: incapsulamento, ereditatietà e polimorfismo. | Capitolo 2 |
3 | Cenni di UML e regole di progettazione del software | Dispensa del docente | |
4 | Uso di un IDE per la programmazione Java: es. NetBeans | Dispensa del docente | |
5 | * | il linguaggio di programmazione ad oggetti di riferimento: Java | Capitoli 3, 4 e 5 |
6 | * | Incapsulamento e modificatori di accesso | Capitoli 6 e 7 |
7 | * | Ereditarietà e polimorfismo | Capitolo 8 |
8 | * | Classi astratte ed interfacce e Package | Capitolo 9 |
9 | * | Gestione delle eccezioni | Captiolo 10 |
10 | Gestione delle stringhe | Capitolo 15(fino a 15.9) | |
11 | I/O package | Capitolo 13 (fino a 13.10) e capitolo 19 | |
12 | * | Programmazione parametrica, | Capitolo 14 |
13 | Enumerazioni autoboxing | Capitolo 12 (fino a 12.3) | |
14 | Collections | Capitolo 17 (fino a 17.5) | |
15 | * | Multithreading | Capitolo 11 |
16 | * | Programmazione ad eventi | Capitolo 23 |
17 | Interfacce grafiche | Capitolo 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
La prova d'esame è composta da una prova scritta e una prova orale.
La prova scritta è rappresentata da un elaborato al calcolatore che prevede la conoscenza di tutti gli argomenti in programma.
Esempi di domande e/o esercizi frequenti
Gli esercizi, esempi di prove in itinere o compiti d'esame sono disponibili su studium (studium.unict.it)