Tècniques de programació III

Resum

  • Nom: Tècniques de programació informàtica III
  • ECTS: 3
  • Hores lectives: 30 (15 sessions de 2h cadascuna)
  • Quatrimestre: 1r.
  • Professor: Josep M Comajuncosas
  • Requisits: Tècniques de programació II, Anàlisi síntesi i processament del so II

Objectius

  • Entendre els requeriments necessaris per implementar aplicacions àudio en temps real
  • Saber mesurar latències i temps d'execució d'algorismes i aplicatius propis, i conèixer estratègies per optimitzar-los
  • Saber accedir als serveis d'àudio del sistema operatiu i implementar retrocrides
  • Conèixer les possibilitats de la programació multifil
  • Saber gestionar cues assíncrones de missatges (MIDI)
  • Saber implementar aplicatius autònoms que processen i/o generen àudio en temps real
  • Saber implementar aplicatius no autònoms (plugins) que processen i/o generen àudio en temps real
  • Saber dissenyar i implementar aplicatius amb interfície gràfica.

Continguts

  • Tema 1 Conceptes d'àudio en temps real. Glitching i latència. Buffering
  • Tema 2 Operacions d'Entrada/Sortida i Crides al SO
  • Tema 3 Accés al subsistema de so i Retrocrides
  • Tema 4 Temps d'execució i complexitat.
  • Tema 5 Assignació i preassignació de recursos. Fils.
  • Tema 6 Synthesis Toolkit. Instruments.
  • Tema 7 Synthesis Toolkit. Classes pròpies.
  • Tema 8 VST SDK o PD. Instal•lació i plugins.
  • Tema 9 VST SDK o PD. Plugins avançats amb automatització MIDI.
  • Tema 10 Disseny i implementació del projecte final amb GUI.

Metodologia

Hi ha un total de 15 sessions presencials. Cada sessió presencial té 2h de durada, repartides aproximadament en 1h d’explicació teórico-pràctica o menys i 1h de treball pràctic supervisat o més. Per cada pràctica, s’estima una dedicació no presencial dirigida de d’aproximadament el 50% del temps de docència (hi ha 10 pràctiques i projecte final). Cal realitzar un projecte final que abastarà aproximadament vora una cinquena part de la càrrega lectiva i més d’una tercera part del treball personal. Es preveu la realització de 2 exàmens online a través de l’aulari, que podrán ser presencials o no.

Avaluació

  • 65% Pràctiques
  • 15% Projecte final
  • 20% Teoria (10% Examen 1, 10% Examen 2)
  • Per poder aprovar, cal tenir aprovada la teoría i la suma d’activitats practiques i projecte final.
  • Qualsevol pràctica entregada amb retard, tindrà com a nota màxima un 5.

Bibliografia

  • Dennis M. Richie Brian W. Kernighan: “The C Programming Language”; Ed. Prentice Hall;1990
  • Bjarne Stroustrup: “The C++ Programming Language”; Ed. Addison Wesley; 2000
  • Francisco Javier Ceballos Sierra: “Curso de Programacion C/C++”; Ed. Rama; 1997