• Edizioni di altri A.A.:
  • 2019/2020
  • 2020/2021
  • 2021/2022

  • Lingua Insegnamento:
    Italiano 
  • Testi di riferimento:
    - S. Mizzaro. Introduzione alla programmazione con il linguaggio Java. FrancoAngeli. ISBN: 978-88-464-1696-1
    - A. Bertossi e A. Montresor. Algoritmi e strutture dati. Seconda edizione. CittàStudi Edizioni. ISBN: 978-88-251-7356-7 
  • Obiettivi formativi:
    L’obiettivo formativo per lo studente è che raggiunga i seguenti risultati di apprendimento:

    *Conoscenza e capacità di comprensione*
    Il corso intende fornire le conoscenze metodologiche e applicative di base della programmazione ad oggetti, e le capacità di base per l’analisi e la progettazione di algoritmi.

    *Capacità di applicare conoscenza e comprensione*
    Pur prendendo come linguaggio di riferimento il linguaggio Java, il corso ambisce a fornire agli studenti gli strumenti per poter comprendere ed utilizzare un qualsiasi linguaggio di programmazione orientato agli oggetti. Inoltre, anche con l’aiuto di casi di studio concreti svolti in laboratorio, sarà in grado di analizzare e sviluppare algoritmi per la risoluzione di problemi fondamentali, anche utilizzando strutture dati non banali come alberi e grafi. 
  • Prerequisiti:
    Nessuno 
  • Metodi didattici:
    Lezioni frontali 
  • Modalità di verifica dell'apprendimento:
    *Conoscenza e capacità di comprensione*
    La verifica dei risultati di apprendimento sarà effettuata tramite una o più prove scritte ed un colloquio finale (quest’ultimo è facoltativo e/o a discrezione del docente).
    La valutazione finale, espressa in trentesimi, tiene conto sia delle prove scritte preliminari che del colloquio di esame.

    *Capacità di applicare conoscenza e comprensione*
    Durante le prove d’esame si verifica la capacità degli studenti di applicare le conoscenze fornite dal corso al fine di scrivere programmi orientati agli oggetti in Java e di essere in grado di analizzare e progettare strutture dati ed algoritmi efficienti. 

- Introduzione alla programmazione ad oggetti
- L’ereditarietà e il polimorifismo
- La classe String e la classe ArrayList
- Le eccezioni e la gestione dei file
- Grafi e visite di grafi
- Programmazione dinamica e algoritmi greedy
- Algoritmi fondamentali su grafi

- Introduzione alla programmazione ad oggetti
- L’ereditarietà: sottoclassi e superclassi
- Costruttori
- La gerarchia della classi in Java
- Il polimorifismo: overloading e overriding
- Il late binding
- Classi astratte e interfacce
- Operatore instanceof e cast
- I package
- La classe String e la classe ArrayList
- Le eccezioni: lanciare, catturare e rimbalzare eccezioni
- La gestione dei file
- Grafi e loro rappresentazione in memoria
- Visite di grafi: in profondità, in ampiezza
- Ordinamento topologico di un DAG
- Programmazione dinamica
- Algoritmi Greedy
- Algoritmi fondamentali su grafi: problema del minimo albero ricoprente e problema dei cammini minimi

Scopri cosa vuol dire essere dell'Ud'A

SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551

SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371

email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693

icona Facebook   icona Twitter

icona Youtube   icona Instagram