logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2020/2021
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 052828 - ADVANCED CODING TOOLS AND METHODOLOGIES
Docente Bruschi Francesco , Rana Vincenzo
Cfu 10.00 Tipo insegnamento Corso Integrato

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (Mag.)(ord. 270) - MI (263) MUSIC AND ACOUSTIC ENGINEERING*AZZZZ052828 - 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
Risorsa bibliografica facoltativaMark Lutz, Programming Python, 4th Edition (Powerful Object-Oriented Programming), Editore: O'Reilly Media
Risorsa bibliografica facoltativaShelley Powers, JavaScript Cookbook, 2nd edition (Programming the Web), Anno edizione: 2015

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
schedaincarico v. 1.6.5 / 1.6.5
Area Servizi ICT
20/09/2020