Presentazione del corso

Fondamenti di Informatica 1 - Anno Accademico 2005/2006


Obiettivi del corso e capacità acquisite dallo studente

Il corso si divide in due parti:

Relativamente ai fondamenti teorici, il corso tratta dell'analisi di algoritmi quali l'ordinamento di sequenze, e l'utilizzo di struttre dati fondamentali quali heap, alberi e grafi. Nell'ambito della parte teorica del corso, tutti gli algoritmi introdotti verranno studiati dal punto di vista delle prestazioni ottenibili e verranno introdotte strutture efficenti, quali alberi binari di ricerca e alberi-RB, discutendone le problematiche teoriche ed applicative.
Relativamente agli aspetti pratici, il corso tratta le tecniche fondamentali di programmazione ad oggetti (Object Oriented Programming, OOP) utilizzando il linguaggio Java. Il nucleo essenziale del corso è dedicato all'apprendimento dei costrutti fondamentali della programmazione (istruzioni, scelte condizionate, cicli) e dei tipi di dato basilari (interi, numeri in virgola mobile, caratteri, stringhe, vettori). In aggiunta agli elementi fondamentali verranno introdotti alcuni concetti di programmazione orientata ad oggetti, quali l'utilizzo di oggetti predefiniti e la definizione di classi mediante la specifica di attributi e metodi degli oggetti. Infine, tramite lo sviluppo di alcuni semplici applicativi in Java, verranno introdotti alcuni rudimenti di progettazione orientata ad oggetti (Object Oriented Design, OOD).
Il corso non pretende di essere esaustivo relativamente alle possibili strutture dati e agli algoritmi esistenti, né all'utilizzo del linguaggio Java e dei metodi di OOP e OOD, ma piuttosto di fornire gli strumenti essenziali per affrontare corsi più avanzati che sfruttino il paradigma degli oggetti nelle fasi di progettazione e sviluppo. Particolare attenzione sarà dedicata ai concetti fondamentali, alla disciplina della programmazione e allo sviluppo delle capacità di sintesi e analisi dei programmi Java.
Al termine del corso, lo studente sarà in grado di progettare semplici applicativi di natura gestionale che non prevedano l'utilizzo di risorse esterne (sistemi web e/o data base) e avrà messo in pratica i fondamenti teorici analizzati nella parte dedicata agli algoritmi e alle strutture dati.

Docenti

Prof. Mauro Di Manzo (fondamenti teorici)
e-mail mauro@dist.unige.it
Tel. 010-3532818
Armando Tacchella (programmazione Java)
e-mail tac@dist.unige.it
Tel. 010-3532782

Testi, programma, modalità di esame, orario del corso

Tutto il materiale relativo al corso (inclusa questa presentazione sintetica) è reperibile sul sito del corso all'indirizzo:
http://www.star.dist.unige.it/~tac/FDI-SV/