Presentazione del corso

Fondamenti di Informatica 1 - Anno Accademico 2005/2006


Obiettivi del corso e capacita' acquisite dallo studente

Il corso si divide in due parti:

Relativamente ai fondamenti teorici, il corso introduce prima concetti base dell'informatica, come la informazioni sono rappresentate all'interno del calcolatore, ed introduce le architetture dei calcolati, reti, internet. Di seguito, 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 e' 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, ne' all'utilizzo del linguaggio Java e dei metodi di OOP e OOD, ma piuttosto di fornire gli strumenti essenziali per affrontare corsi piu' avanzati che sfruttino il paradigma degli oggetti nelle fasi di progettazione e sviluppo. Particolare attenzione sara' dedicata ai concetti fondamentali, alla disciplina della programmazione e allo sviluppo delle capacita' di sintesi e analisi dei programmi Java.
Al termine del corso, lo studente sara' in grado di progettare semplici applicativi di natura gestionale che non prevedano l'utilizzo di risorse esterne (sistemi web e/o data base) e avra' messo in pratica i fondamenti teorici analizzati nella parte dedicata agli algoritmi e alle strutture dati.

Docenti

Marco Maratea (programmazione Java)
e-mail marco@dist.unige.it
Tel. 010-3532072

Testi, programma, modalita' di esame, orario del corso

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