Progetti svolti nel corso di studi

In questa sezione trovate alcuni dei progetti che ho consegnato per gli esami di informatica.
Potete scaricare il codice sorgente, naturalmente il software non è garantito... quindi se causa qualche danno non potete prendervela con me, have fun!

Tirocinio per la laurea triennale

Il tirocinio aveva come argomento lo sviluppo di nuove funzionalità in GRASS, un software GIS open source. Il codice è stato sviluppato in collaborazione con Claudio Porta, mio amico e collega di tirocinio.

Il risultato è stato l'inserimento nel software GIS di due moduli da noi implementati:
  • v.in.gpsbabel modulo di supporto per l'acquisizione di dati GPS da ricevitore al GIS (dalla versione 6.2 del sofware).
  • r.li infrastruttura di supporto per il calcolo di indici focali su mappe raster, che fornisce l'implementazione di un'architettura per il calcolo parallelo di funzioni generiche su matrici (dalla versione 6.3 del software)

Il pacchetto contiene la relazione sul tirocinio ed il codice realizzato, piattaforma Unix/Linux in linguaggio bash e C. Le interfacce grafiche sono realizzate con wish utilizzando le librerie tcl/tk.

Download     Mac OS     Linux

Architetture parallele e distribuite

I testi delle esercitazioni e delle soluzioni sono relative all'anno 2005/2006. Ci sono i testi e le soluzioni di Vanneschi e le mie (solo della terza e della quarta).

Download

Laboratorio di informatica musicale

Ho realizzato un'estensione del framework PCM++ di Leonello Tarabella, il professore del corso, che è un'implementazione di un filtro per la simulazione del riverbero.
L'archivio contiene il codice del filtro del filtro e la relazione sul progetto, la piattaforma di sviluppo è il Mac OS X, linguaggio C++.

Download     Mac OS

Programmazione avanzata

Risoluzione del testo del Mid Term di Novembre 2006, per Windows in C#.

Download     Windows     Mono

Risoluzione del testo del Final Term di Gennaio 2007, per Windows in C#.

Download     Windows     Mono

Costruzione di intefacce

Risoluzione del testo del Mid Term di Novembre 2006, per le Wx Widgets. Il codice è stato scritto con Visual Studio per Windows, ma l'indipendenza della piattaforma delle Wx Widgets permette di compilarlo anche su altri sistemi (a meno di piccole modifiche).

Download     Windows     Mac OS     Linux

Per quanto riguarda il Final Term di CI ho realizzato un designer grafico per la guida museale che ho realizzato al CNR. Non potendo pubblicare tutti i sorgenti a causa delle parti comuni con la guida.

Pubblico comunque una libreria per pannelli mobili animati (come quelli di Visual Studio 2005 per intenderci), che ho realizzato apposta per il progetto. E' realizzata per i Windows Forms ed è interessante non solo per l'animazione, ma anche perchè permette di capire come disegnare nella non-client area delle finestre.

Download     Windows

Progettazione di interfacce grafiche e valutazione dell'usabilità

Il progetto è un'applicazione multipiattaforma in Java, utilizzabile sia da Desktop che da telefonino. Si tratta di un contenitore per applicazioni leggere (come il Dashboard Mac OS X o i gadget di Windows Vista), creati con lo scopo di utilizzare tecniche di information visualization.

Le strutture dati sono comuni ad entrambi i dispositivi, è inoltre possibile sincronizzare l'agenda sul telefonino ed sul desktop via Bluetooth.

La versione desktop utilizza J2SE 5.0, quella per telefonino J2ME con profilo CLDC 1.0 e MIDP 2.0. Il pacchetto contiene i sorgenti del progetto, i jar precompilati e la relazione.
Download     Java     Windows     Mac OS     Linux     Mobile

Laboratorio di applicazioni internet

Il progetto è un piccolo mercatino di computer Mac. Permette di registrarsi, inserire annunci e comprare dei prodotti. Inoltre si possono anche mandare messaggi privati ad altri utenti.

Come da specifica dei progetti di ISI, l'acquisto di un prodotto è gestito con commit esplicito nel database (postgres), il login tramite CORBA, mentre l'inserimento di un annuncio è gestito tramite Web Service.

Il progetto è realizzato con J2SE 6.0;

Download     Java     Windows     Mac OS     Linux