Introducción a la Programación en Python
Docentes: Luis Jure - 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
recursos
bibliografía
descripción
El curso consiste en una introducción a la programación, utilizando el
lenguaje Python. 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).
Python es un lenguaje de programación libre y multiplataforma,
implementado en todos los sistemas operativos de uso general. Es un
lenguaje poderoso y de alto nivel, que permite procesar fácilmente todo
tipo de estructuras de datos, tanto numéricos como de texto. Siendo un
lenguaje ampliamente utilizado, cuenta con una vasta biblioteca de módulos
que extienden sus funcionalidades en ámbitos tan variados como la
computación científica, el diseño de interfaces gráficas, el procesamiento
de imágenes y de audio, y de representación simbólica de estructuras
musicales. También se integra fácilmente con Csound
programa
- Introducción a la programación, programación estructurada y programación orientada a objetos.
- Introducción al lenguaje Python. Python 2 y Python 3.
- El intérprete de Python.
- Conceptos de computación y programación estructurada.
- Aritmética en Python: operadores aritméticos, operadores relacionales, operadores lógicos.
- Variables y tipos de datos.
- Texto: procesamiento y formateado de cadenas de caracteres, expresiones regulares.
- Estructuras de datos en Python: listas, diccionarios, tuples, sets.
- Procesamiento de estructuras de datos, métodos.
- Escribiendo un programa: formato, comentarios y cadenas de documentación.
- Entrada y salida básica, entrada y salida con formato.
- Programación estructurada, estructuras de control, pseudocódigo, diagramas de flujo.
- Estructuras de selección (if, elif, else), estructuras de repetición (while, for).
- Programación modular: funciones, módulos, bibliotecas. Alcance.
- Procesamiento de archivos.
- Aplicaciones: Python y Csound, music21.
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, y entregar todos los ejercicios domiciliarios en los plazos establecidos. 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
recursos en la web
- Python.org - sitio oficial de Python
- music21 - herramientas para análisis y procesamiento de estructuras de datos musicales
material del curso
bibliografía
- David Beazley
- Python Essential Reference. Fourth Edition.
- David Beazley and Brian K. Jones
- Python Cookbook. Third Edition.
- Michael Dawson
- Python Programming for the Absolute Beginner. Third Edition.
- John Glover et al.
- Python For Audio Signal Processing. pdf
- Paul Gries, et al.
- Practical Programming, An Introduction to Computer Science Using Python 3. 2nd Edition.
- Tim Hall and J-P Stacey
- Python 3 for Absolute Beginners.
- Dusty Phillips
- Python 3 Object Oriented Programming.
- Mark Summerfield
- Programming in Python 3. A Complete Introduction to the Python Language. Second Edition.
- Swaroop C H
- A Byte of Python [html online]