Introducción a la Programación en C Orientada a Músicos
Docente: Martín Rocamora
Carga horaria: 1 semestre, 2 horas semanales
materia electiva para todas las licenciaturas
4 créditos
se admiten estudiantes externos
Requisitos: manejo fluido de una computadora y dominio del uso de editores de texto
descripción
programa
evaluación y aprobación
bibliografía
recursos
descripción
El curso consiste en una introducción a la programación estructurada y al uso del lenguaje C.
Aprender a programar en un lenguaje de propósito general puede ser un complemento
muy valioso en la formación de los músicos en general, y particularmente de los
compositores, ya que la programación exige la capacidad de definir un problema con
total precisión y de plantear soluciones de manera formalizada. La competencia en un
lenguaje de programación puede además ser una poderosa herramienta de aplicación directa, tanto en la composición algorítmica (organización simbólica de los procesos
compositivos), como en la realización de música electroacústica (síntesis, edición y
procesamiento de audio). El lenguaje de programación C es uno de los más difundidos
y permite extender herramientas de síntesis y procesamiento de sonido como Csound o
PureData.
El curso se organiza en dos módulos. El primero consiste en una introducción a la
programación estructurada y al uso del lenguaje C. En el segundo módulo se
presentan técnicas y algoritmos en lenguaje C para el procesamiento y generación de sonido y música.
programa
- Introducción a la programación estructurada y al lenguaje C
- Conceptos de computación y programación estructurada.
- Introducción a la programación en C. Compiladores.
- Variables y tipos de datos. Manejo de caracteres y cadenas.
- Entrada y salida básica (printf, scanf), entrada y salida con formato.
- Aritmética en C, operadores artitméticos, operadores relacionales, operadores de asignación, operadores lógicos.
- Programación estructurada, estructuras de control, seudocódigo, diagramas de flujo.
- Estructuras de selección (if, else, switch), estructuras de repetición (while, for).
- Programación modular: funciones. Visibilidad, alcance. Recursión.
- Arreglos (vectores y matrices).
- Punteros. Llamadas a funciones por referencia.
- Estructuras de datos. Punteros a estructuras. Asignación dinámica de memoria.
- Procesamiento de archivos.
- Directivas de preprocesador. Compilación condicional.
evaluación y aprobación
Para aprobar el curso los estudiantes deberán cumplir con un mínimo del 75% de las horas de clase dictadas. Para la evaluación final se deberá realizar trabajo en forma individual, que consistirá en un programa sencillo de procesamiento de audio, manipulación de datos musicales, síntesis de sonido o generación de música. El día del examen se deberá entregar el trabajo, y se hará una breve presentación y defensa del mismo.
recursos
bibliografía
- Deitel, H. M. & P. J. Deitel.
- Cómo programar en C/C++, Pearson Prentice Hall, Segunda Edición, 1995.
- Dodge, Charles & Thomas Jerse.
- Computer Music Synthesis, composition and performance, Shirmer Books, New York, 1985.
- Embree, Paul & Bruce Kimble.
- C language algorithms for DSP, Prentice Hall, New Jersey, USA, 1991.
- Kernighan, Brian & Dennis Ritchie.
- The C Programming Language, Prentice Hall, 1988.
- Moore, Richard.
- Elements of Computer Music, Prentice Hall., New Jersey, 1990.
- Oualline, Steve.
- Practical C Programming. O'Reilly, 3rd Edition
- Schottstaedt, Bill.
- SNDLIB http://www-ccrma.stanford.edu/software/snd/sndlib/
- Winsor, Phil y Gene DeLisa.
- Music in C, Windcrest TAB Books, Blue Ridge Summit, PA, 1991.