Programma del corso biennale di Linguaggi di programmazione

 

I° anno

- Classificazione dei linguaggi (basso, alto, etc.; interpreti, compilatori, script, etc.; imperativi, a oggetti, non imperativi, etc.)
- Fasi di produzione del software
- Struttura e funzionamento di un assemblatore e un compilatore
- Paradigmi di programmazione (strutturata, funzionale, logica, a oggetti, etc.)
- Programmazione tradizionale ad alto livello: il linguaggio C in ambiente mono-tasking
- Variabili e loro dichiarazione
- Costanti
- Istruzioni di controllo
- Funzioni (funzionamento dello stack, etc.)
- Uso delle librerie
- Programmazione a oggetti in ambiente multi-tasking: il Visual Basic
- Oggetti: metodi, proprietą
- Eventi: gestori di eventi
- Oggetti predefiniti e interazione con il S.O.
- Grafica e multimedia

Le esercitazioni pratiche verteranno su argomenti quali: aiuto alla composizione, sintesi del suono, composizione algoritmica, analisi del suono, analisi automatica di brani, sequencing MIDI, etc. e/o temi proposti dal docente di Musica elettronica.
L’esame consisterą nella discussione dei progetti sviluppati durante il corso e in un colloquio volto a verificare il grado di padronanza delle tecniche studiate.


II° anno

- Programmazione avanzata: ambiente Visual C/C++ per Windows a 32 bit
- Creazione e uso di classi
- Proprietą delle classi
- Controlli standard
- Gestione dei messaggi di sistema
- Uso delle MFC
- Uso delle API di sistema
- Costruzione di DLL
- Gestione delle funzionalitą di multi-threading del S.O.
- Uso di Callback routines e cenni sulla gestione asincrona dell’I/O (tramite interrupt)
- Utilizzazione di DirectSound
- Linguaggi specializzati: linguaggi del Web
- HTML
- Javascript (cenni)
- Java (brevi cenni)
- Linguaggi specializzati: Csound
- Studio di alcune parti del codice sorgente C
- Struttura degli OpCode
- Argomento da definire in parallelo con il corso di Musica elettronica
- Linguaggi a basso livello: cenni di Assembler dei processori della famiglia Intel
- Struttura a grandi blocchi delle parti interne di una CPU Pentium
- Registri e loro significato e uso
- Set di istruzioni Assembler e loro formato
- Cenni sulle interruzioni
- Esempi di programmazione in ambiente mono-tasking

Le esercitazioni pratiche verteranno sugli stessi argomenti descritti nel programma del I° anno. L’esame finale consisterą nella discussione relativa alla realizzazione di un progetto importante sviluppato, a partire dalle ultime lezioni del corso, in gruppo o individualmente; č da preferirsi una realizzazione in cooperazione che prepari i candidati al lavoro di equipe tipico della produzione di musica con strumenti elettroacustici . I docenti proporranno i temi tra cui scegliere quello relativo al progetto finale; sono ammessi, previa approvazione da parte del docente del corso e da quello di Musica elettronica, progetti proposti dai candidati. I migliori lavori saranno pubblicati sul sito Web del Conservatorio.