Ing Ind - Inf (Mag.)(ord. 270) - CR (263) MUSIC AND ACOUSTIC ENGINEERING
*
A
ZZZZ
052828 - ADVANCED CODING TOOLS AND METHODOLOGIES
Obiettivi dell'insegnamento
The aim of the course, consisting of two modules, is the acquisition of the fundamental conceptual tools of software crafting, coding and testing, with a multifold perspective: 1) to design, develop and test applications and user interfaces aimed at music analysis and composition; 2) to automate some aspect of the performance and production of musical artifacts, through control of software by scripting languages; 3) to experiment with languages that allow to stage live audio/visual performances.
Risultati di apprendimento attesi
At the end of the two modules, students will be able to design and implement musical applications (e.g. a sequencer, a drum machine,...), using the correct conceptual and technical software design tools. Moreover, they will be able to code scripts that interact with music software such as Digital Audio Workstations (DAWs) to perform automation tasks and to implement new abstractions. They will also be able to experiment with coding languages to create live audio/visual performances.
Argomenti trattati
MODULE 1: - Introduction to programming in Python - Using Python for conceptual thinking, exploring solutions, scripting - Interfacing and playing with DAW APIs - Overview on other languages for live coding
MODULE 2: - Introduction to HTML5 and Javascript - Frameworks for the design of applications and user interfaces - Using and exploring the possibilities web audio API - Node.js and Python to implement the server side of a web application
Prerequisiti
Basic knowledge of some programming language.
Modalità di valutazione
The evaluation of each module will be based on the discussion of a project that the students will have to implement. The two projects presented could be the components of a larger and more ambitious work across other courses or in collaboration with other students (upon agreement with the instructor).
Bibliografia
Mark Lutz, Programming Python, 4th Edition (Powerful Object-Oriented Programming), Editore: O'Reilly Media
Shelley Powers, JavaScript Cookbook, 2nd edition (Programming the Web), Anno edizione: 2015
Software utilizzato
Nessun software richiesto
Forme didattiche
Tipo Forma Didattica
Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
65:00
97:30
Esercitazione
35:00
52:30
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale
100:00
150:00
Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua
Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese