Web Programming for Sound and Music
A.Y. 2026/2027
Learning objectives
The course systematically covers technologies, algorithms, and data structures for representing and managing musical and audio information in web environments. The goal is to provide the necessary tools to address and solve both theoretical and practical problems, ranging from the development of web applications for computational musicology to the implementation of media players with advanced features.
Expected learning outcomes
By the end of the course, students will be able to design and implement browser applications for acquiring, generating, manipulating, and storing audio information. Specifically, they will master the following technologies: JavaScript control of HTML5 audio and video elements, Web Audio API, Web Speech API, and Web MIDI API.
Lesson period: Third four month period
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.
Course syllabus and organization
Single session
Responsible
Lesson period
Third four month period
Course syllabus
The course addresses methodologies, standards, and technologies for the design and development of Web applications focused on audio, music, and multimedia interaction. It combines theoretical and practical aspects, progressively introducing the main browser-based APIs for the management, synthesis, processing, and transmission of digital audio and music content.
Particular attention is devoted to the development of interactive applications using JavaScript, real-time audio processing, the integration of digital music protocols, and the implementation of browser-based software instruments.
The course covers the following topics:
- Introduction to the course and review of Web programming fundamentals: structure of an HTML5 page, event handling in JavaScript, DOM manipulation, interaction among HTML, CSS, and JavaScript, development and debugging tools.
- HTML5 audio and video elements: use of the
Particular attention is devoted to the development of interactive applications using JavaScript, real-time audio processing, the integration of digital music protocols, and the implementation of browser-based software instruments.
The course covers the following topics:
- Introduction to the course and review of Web programming fundamentals: structure of an HTML5 page, event handling in JavaScript, DOM manipulation, interaction among HTML, CSS, and JavaScript, development and debugging tools.
- HTML5 audio and video elements: use of the
Prerequisites for admission
Basic knowledge of Web programming is required, with particular reference to HTML5, CSS, and JavaScript. In particular, students should be able to understand and write simple dynamic Web pages and use the main JavaScript constructs, including event handling, DOM manipulation, and functions.
Introductory knowledge of computer music, digital multimedia, and digital audio representation may be helpful, although it is not strictly required.
No prior experience in digital audio processing, the Web Audio API, or MIDI technologies is required, as these topics are introduced during the course.
Introductory knowledge of computer music, digital multimedia, and digital audio representation may be helpful, although it is not strictly required.
No prior experience in digital audio processing, the Web Audio API, or MIDI technologies is required, as these topics are introduced during the course.
Teaching methods
The course is mainly delivered through lectures and guided practical activities held in a computer laboratory.
Lectures progressively introduce the theoretical and methodological foundations of Web programming for sound and music, with particular emphasis on Web standards, multimedia APIs, and technologies for digital musical interaction.
The practical sessions have a laboratory-oriented and application-driven approach and involve the guided development of examples, interactive applications, and small software projects based on the technologies covered during the course. These activities allow students to acquire operational skills in the design and implementation of Web-based audio and music applications.
Teaching activities include:
- commented code examples;
- live coding and practical demonstrations by the instructor;
- analysis and discussion of case studies;
- teaching materials and slides made available online.
Particular attention is devoted to the integration of theoretical and implementation-oriented aspects, fostering the autonomous development of design skills, problem-solving abilities, and software development competencies in the field of interactive multimedia.
Attendance is not mandatory but is strongly recommended, especially for the practical and laboratory activities.
Lectures progressively introduce the theoretical and methodological foundations of Web programming for sound and music, with particular emphasis on Web standards, multimedia APIs, and technologies for digital musical interaction.
The practical sessions have a laboratory-oriented and application-driven approach and involve the guided development of examples, interactive applications, and small software projects based on the technologies covered during the course. These activities allow students to acquire operational skills in the design and implementation of Web-based audio and music applications.
Teaching activities include:
- commented code examples;
- live coding and practical demonstrations by the instructor;
- analysis and discussion of case studies;
- teaching materials and slides made available online.
Particular attention is devoted to the integration of theoretical and implementation-oriented aspects, fostering the autonomous development of design skills, problem-solving abilities, and software development competencies in the field of interactive multimedia.
Attendance is not mandatory but is strongly recommended, especially for the practical and laboratory activities.
Teaching Resources
Course slides, code examples, and additional teaching materials provided by the instructor through the course online platform.
Technical specifications, standards, and official documentation related to the technologies covered during the course.
Additional technical documentation and supplementary materials indicated during the course.
Technical specifications, standards, and official documentation related to the technologies covered during the course.
Additional technical documentation and supplementary materials indicated during the course.
Assessment methods and Criteria
The examination consists of two components: 1) a written test and 2) the submission, presentation, and oral discussion of an individual project developed by the student.
Each component contributes 50% to the final grade.
The written test is intended to assess the acquisition of theoretical and applied knowledge related to the topics covered in the course. It includes multiple-choice questions and code-analysis questions aimed at assessing the ability to understand, interpret, and evaluate code fragments related to Web programming for audio and music. Questions may include, by way of example, identifying errors, explaining the behavior of a script, recognizing the correct use of APIs and JavaScript constructs, and analyzing the interaction between HTML code, JavaScript, and multimedia Web technologies.
The individual project must be developed in accordance with the guidelines and technical specifications published by the lecturer during the course. Its purpose is to assess the ability to autonomously apply the knowledge and skills acquired in the field of Web programming for audio and music, with particular reference to the use of technologies and APIs covered in the course, such as HTML5 multimedia, JavaScript, Web Audio API, Web MIDI API, and related tools.
During the presentation and oral discussion of the project, the student will be required to:
- illustrate the design and implementation choices adopted;
- describe the architecture of the developed application;
- demonstrate understanding of the technologies used;
- answer questions concerning the theoretical and applied aspects addressed in the course, also in relation to the solutions implemented in the project.
The final grade is expressed on a thirty-point scale and is determined by the weighted average of the two components, as follows:
- written test: 50%;
- individual project, presentation, and oral discussion: 50%.
The assessment of the written test takes into account the correctness of the answers, the ability to analyze and interpret code, the appropriate recognition of the technologies and APIs used, and the understanding of the theoretical and applied aspects covered during the course.
The assessment of the individual project takes into account the following elements:
- technical and functional correctness of the project;
- quality of the software implementation;
- coherence between project objectives and adopted solutions;
- ability to appropriately integrate the technologies covered in the course;
- clarity of presentation and appropriate use of technical terminology;
- degree of autonomy, critical awareness, and command of the topics demonstrated during the oral discussion.
There are no mandatory mid-term tests.
Each component contributes 50% to the final grade.
The written test is intended to assess the acquisition of theoretical and applied knowledge related to the topics covered in the course. It includes multiple-choice questions and code-analysis questions aimed at assessing the ability to understand, interpret, and evaluate code fragments related to Web programming for audio and music. Questions may include, by way of example, identifying errors, explaining the behavior of a script, recognizing the correct use of APIs and JavaScript constructs, and analyzing the interaction between HTML code, JavaScript, and multimedia Web technologies.
The individual project must be developed in accordance with the guidelines and technical specifications published by the lecturer during the course. Its purpose is to assess the ability to autonomously apply the knowledge and skills acquired in the field of Web programming for audio and music, with particular reference to the use of technologies and APIs covered in the course, such as HTML5 multimedia, JavaScript, Web Audio API, Web MIDI API, and related tools.
During the presentation and oral discussion of the project, the student will be required to:
- illustrate the design and implementation choices adopted;
- describe the architecture of the developed application;
- demonstrate understanding of the technologies used;
- answer questions concerning the theoretical and applied aspects addressed in the course, also in relation to the solutions implemented in the project.
The final grade is expressed on a thirty-point scale and is determined by the weighted average of the two components, as follows:
- written test: 50%;
- individual project, presentation, and oral discussion: 50%.
The assessment of the written test takes into account the correctness of the answers, the ability to analyze and interpret code, the appropriate recognition of the technologies and APIs used, and the understanding of the theoretical and applied aspects covered during the course.
The assessment of the individual project takes into account the following elements:
- technical and functional correctness of the project;
- quality of the software implementation;
- coherence between project objectives and adopted solutions;
- ability to appropriately integrate the technologies covered in the course;
- clarity of presentation and appropriate use of technical terminology;
- degree of autonomy, critical awareness, and command of the topics demonstrated during the oral discussion.
There are no mandatory mid-term tests.
INFO-01/A - Informatics - University credits: 6
Lessons: 48 hours
Professor:
Ludovico Luca Andrea
Shifts:
Turno
Professor:
Ludovico Luca AndreaProfessor(s)
Reception:
Tuesday, 10.30 - 12.30 or by appointment
Laboratory of Music Informatics (LIM), Department of Computer Science, 4th floor