F57033 - Programmazione per la Musica [a.a. 2005-06]


Indice


Informazioni generali

Il corso di Programmazione per la Musica è un insegnamento complementare del corso di laurea (triennale) in Scienze e Tecnologie della Comunicazione Musicale.


Orario delle lezioni

Mercoledi dalle 8:30 alle 12:30 in aula Delta (Via Comelico 39).


Programma del corso

Il programma consiste di tutti e soli gli argomenti trattati a lezione, secondo quanto viene via via pubblicato nella sottostante sezione Diario delle lezioni tenute.


Modalità d'esame

La prova di esame consiste nella realizzazione di un programma in linguaggio Java, le cui specifiche di massima, proposte dal candidato, dovranno essere preventivamente approvate dal docente.

L'interazione docente-candidato e la specifica del programma da realizzare (d'ora in poi detta "SPECIFICA") dovranno conformarsi alle seguenti norme, che potranno variare nel tempo per accogliere i suggerimenti e le richieste di chiarimenti da parte dei candidati, nonché per correggere gli eventuali errori.

[Versione attuale delle norme: release 0.2 del 17.03.05, valevoli per l'a.a. 2004-05]

La presentazione del progetto da parte del candidato e la sua discussione verranno effettuate su appuntamento, da richiedere al docente via email. Con lo stesso messaggio, il candidato comunicherà al docente la URL della PAGINA. La medesima procedura (messaggio di email con indicazione della URL della PAGINA), dovrà essere utilizzata ogniqualvolta il candidato riterrà opportuno consultasi con il docente in corso d'opera, a partire dalla fase di prima definizione e di consolidamento della SPECIFICA.

I voti riportati nelle prove di esame potranno essere verbalizzati in occasione degli appelli ufficiali di cui al calendario che segue (il quale potrà subire modifiche anche dell'ultima ora -- si consulti periodicamente questa pagina o la homepage del docente per le ultime novità, tenendo presente che, in caso di discrepanza, fa fede la homepage del docente).

Viste norme entrate in vigore il 1 gennaio 2005, la verbalizzazione può avvenire ESCLUSIVAMENTE in occasione di un appello ufficiale, gestito tramite il sistema SIFA, al quale il candidato risulti regolarmente iscritto. Si tenga presente che dette norme rendono praticamente impossibile la verbalizzazione di un voto al di fuori del normale regime degli appelli a calendario, e che la soluzione in extremis di problemi burocratici legati alla ritardata o mancata verbalizzazione di un voto sarà estremamente problematica. (Per situazioni di emergenza -- p.es. imminenza dell'esame di laurea, scadenza dei termini per la presentazione di domande di borse di studio, etc. -- presentarsi durante l'orario di ricevimento dopo aver concordato una linea d'azione con la segreteria didattica del corso di studi di appartenenza e/o della Facoltà.)


Diario delle lezioni tenute


Agenda delle lezioni da svolgere


Materiale Didattico

Testo di riferimento

Non viene adottato alcun testo di riferimento particolare. Qualunque testo introduttivo alla programmazione nel linguaggio Java è adeguato ai fini del corso. Uno dei migliori testi attualmente in commercio è il seguente:

al quale sono associati un CD-ROM (distribuito con il libro) che (oltre a una copia del Java Development Kit versione 1.5 di Sun Microsystems per i sistemi operativi Windows e Linux) "contiene alcune librerie da affiancare a quelle standard di Java, utilizzate principalmente per gli esempi e per gli esercizi, oltre al codice sorgente dei principali esempi", nonché un sito che riporta un errata corrige aggiornato.

Nessuno degli argomenti è stato svolto a lezione a un livello di dettaglio paragonabile a quello del testo. Viceversa, in alcune lezioni sono stati svolti alcuni argomenti non trattati nel testo, oppure trattati in maniera meno approfondita. Per questi ultimi, un utile ausilio didattico sono le slide (vedi sotto) utilizzate dal docente nel corso di precedenti anni accademici. (Si tenga presente che non tutto il materiale contenuto in dette slide è stato presentato a lezione.)

Documentazione online

In alternativa o in aggiunta al testo di cui sopra, può essere utile consultare il Java Tutorial pubblicato nel sito di Sun Microsystems dedicato a Java.

Per quanto riguarda la libreria Java Sound, è disponibile online la Java Sound Programmer Guide, di cui ai fini del corso è rilevante la sola Parte II.

Per una piena comprensione dello standard MIDI, può essere utile consultare la specifica non ufficiale contenuta nell'eccellente sito di Jeff Glatt.

La specifica ufficiale dello standard MIDI è pubblicata (solo a stampa) dalla MIDI Manufacturers Association.

Slide di Gianfranco Prini

Raccolta completa [versione a.a. 1999-00]

Capitoli separati [versione a.a. 1999-00]

Esempi di programmazione


Gianfranco Prini (gianfranco.prini@unimi.it)