Politecnico di Torino
Politecnico di Torino
   
Login  
en
Politecnico di Torino
Anno Accademico 2015/16
03FYZPL
Tecniche di programmazione
Corso di Laurea in Ingegneria Gestionale - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Corno Fulvio   O2 ING-INF/05 40 20 40 0 10
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 10 B - Caratterizzanti Ingegneria informatica
Presentazione
L’insegnamento si propone di completare le capacità di programmazione dello studente, mettendolo in grado di affrontare e risolvere problemi, anche complessi, attraverso la realizzazione di programmi software. In particolare il corso si propone di integrare le competenze acquisite nei precedenti corsi, in particolare Programmazione ad Oggetti e Basi di Dati, permettendo di creare applicazioni in grado di presentare interfacce utente evolute e di accedere a basi di dati relazionali. Dal punto di vista algoritmico, dopo avere introdotto la ricorsione saranno analizzate le strutture dati più comuni (liste, alberi, grafi) e saranno studiati alcuni degli algoritmi di simulazione ed ottimizzazione più rilevanti, con riferimento ad applicazioni concrete nel campo della logistica, della produzione e dell’organizzazione d’impresa (es: allocazione di risorse, scheduling, simulazione ad eventi, trasporti, ...).
Risultati di apprendimento attesi
Conoscenza e capacità di comprensione: strutture dati complesse (liste, alberi, grafi); paradigma model-view-controller; progettazione di interfacce grafiche in Java; accesso a basi di dati relazionali da applicazioni Java; ricorsione; problemi di ricerca e di ottimizzazione (tecniche divide et impera); applicazioni in campo logistico e dell’organizzazione.
Capacità di applicare conoscenza e comprensione: realizzazione di applicazioni grafiche in Java, con accesso a basi di dati; risoluzione di problemi di simulazione, ricerca ed ottimizzazione attraverso la realizzazione di programmi software; analisi di problemi di tipo gestionale e definizione di una soluzione algoritmica per la relativa risoluzione, ed implementazione della stessa.
Prerequisiti / Conoscenze pregresse
Conoscenza delle basi di dati relazionali, ed in particolare della loro interrogazione ed aggiornamento mediante istruzioni SQL.
Concetti di programmazione ad oggetti, ed in particolare un linguaggio di programmazione object-oriented (Java o C#, ad esempio), con capacità di programmare in tale linguaggio.
Programma
Complementi di programmazione in Java: applicazioni grafiche (JavaFX), accesso a basi di dati (JDBC), principali pattern di programmazione (MVC, Singleton, Factory, DAO).
Strutture dati ed algoritmi: ricorsione, liste, alberi, grafi, procedure di visita e di ricerca, librerie Java per la gestione delle strutture dati complesse (jGraphT).
Problem solving: problemi di ricerca e problemi di ottimizzazione; tecniche di ricerca di tipo esaustivo (ricorsivo) ed ottimale (greedy); applicazioni a casi di interesse gestionale (simulazione di eventi, problemi di scheduling, problemi di ottimizzazione delle risorse, di ricerca trasporti, ecc).
Organizzazione dell'insegnamento
Esercitazioni in aula: svolgimento di programmi in aula ed analisi/progettazione di esempi applicativi.
Esercitazioni in laboratorio informatico: sviluppo di programmi di ricerca ed ottimizzazione.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Lucidi e dispense forniti dai docenti.
Disponibilità completa delle video-registrazioni (screencast) di tutte le lezioni ed esercitazioni.
Disponibilità completa delle soluzioni di tutti gli esercizi proposti in aula ed in laboratorio.

Testi ausiliari:
K. Sierra, B. Bates, Head First Java (O’Reilly); R. Sedgewick, Algoritmi in Java (Addison-Wesley)
Pro JavaFX 2 - A Definitive Guide to Rich Clients with Java Technology, by James Weaver, Weiqi Gao, Stephen Chin, Dean Iverson, Johan Vos, ISBN13: 978-1-4302-6872-7, http://www.apress.com/9781430268727/
Algorithms in a Nutshell, By George T. Heineman, Gary Pollice, Stanley Selkow, O'Reilly Media, ISBN: 978-0-596-51624-6, http://shop.oreilly.com/product/9780596516246.do
Criteri, regole e procedure per l'esame
L’accertamento prevede la realizzazione di un programma in grado di risolvere un problema gestionale, secondo le tecniche e le metodologie trattate durante il corso. La prova verrà svolta in laboratorio informatico.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2015/16
Indietro



© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)
Contatti