PROGRAMMAZIONE ORIENTATA AGLI OGGETTI - canale 2
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°
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 | |
18 | * | Le classe e le interfacce di rete: i socket | Capitolo 21 |
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)