Search Google Appliance

Programmazione e algoritmi 1

  • Edizioni precedenti del corso A.A.:
  • 2018/2019

Dati insegnamento


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. Montessor. 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 strutturata imperativa, 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 imperativo strutturato. 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. 
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 imperativi in Java e di essere in grado di analizzare e progettare strutture dati ed algoritmi efficienti. 
Altre Informazioni:
E-mail del docente: luca.moscardelli@unich.it
Giorni ed orario di ricevimento studenti: controllare la pagina del docente su cleii.unich.it 

Introduzione alla programmazioneComandiMetodiIntroduzione agli algoritmiAlgoritmi di ordinamentoStrutture dati fondamentali


Introduzione alla programmazione: Variabili e assegnamento; tipi di dato; operatori aritmetici e logici; ArrayComandi e strutture di controllo I metodiIntroduzione agli algoritmi: Notazione asintotica; Tecnica del divide et impera e metodi di risoluzione delle ricorrenze.Algoritmi di ordinamento e loro analisi: algoritmi quadratici; merge sort; quick sort; limite inferiore ad algoritmi basati su confronti; counting sort e radix sort.Strutture dati fandamentali: liste, pile, alberi binari di ricerca, tabelle Hash, Heap; heapsort.