PROGRAMMAZIONE ORIENTATA AGLI OGGETTI - canale 2

Anno accademico 2017/2018 - 2° anno
Docente: Vincenza CARCHIOLO
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 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

  1. Herbert Schildt, “Java. La guida completa” McGraw-Hill Education; 8. edizione (1 marzo 2012) ISBN-10: 8838667667


Programmazione del corso

 *ArgomentiRiferimenti 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 softwareDispensa del docente 
4 Uso di un IDE per la programmazione Java: es. NetBeansDispensa del docente 
5*il linguaggio di programmazione ad oggetti di riferimento: JavaCapitoli 3, 4 e 5 
6*Incapsulamento e modificatori di accessoCapitoli 6 e 7 
7*Ereditarietà e polimorfismoCapitolo 8 
8*Classi astratte ed interfacce e Package Capitolo 9 
9*Gestione delle eccezioniCaptiolo 10 
10 Gestione delle stringheCapitolo 15(fino a 15.9) 
11 I/O packageCapitolo 13 (fino a 13.10) e capitolo 19 
12*Programmazione parametrica, Capitolo 14 
13 Enumerazioni autoboxingCapitolo 12 (fino a 12.3) 
14 CollectionsCapitolo 17 (fino a 17.5) 
15*Multithreading Capitolo 11  
16*Programmazione ad eventiCapitolo 23 
17 Interfacce graficheCapitolo 24, 25 
18*Le classe e le interfacce di rete: i socketCapitolo 21 
* 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

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)