Diagrama de temas

  • General

  • Leer e instalar para la primera Clase

    Herramientas y librerias:

    Se recomienda fuertemente leer capítulo 1-3 para la primera sesión

    Se recomienda fuertemente capitulo 1-2 y 4 para la primera clase.

    Instalar alguna de las siguientes herramientas (ambientes) y revisar librerias:


    Quienes usen distrubiciones de Linux, (por ejemplo sabores de Ubuntu y Fedora entre las mas populares ) pueden correr

    Python directamente en una terminal.

    Revisar si se encuentran las siguientes librerias, en caso contrario instalar:


    StringIO, math,csv, sys, re, string, fileinput, os, subprocess, commands, datetime, time, numpy, math, matplotlib, pylab,

    random, logging, threading, scipy, pandas, python-visual, mayavi2


    Es importante destacar que algunas librerias pueden cambiar de nombre , y tener algunas funciones nuevas o haber eliminado otras de acuerdo a la versiones que se instalen

    La documentacion oficial se encuentra en este sitio :

    • https://www.python.org/



  • Herramientas de Documentación y Bibliografía

    Para documentación se deberá utilizar la herramienta Jupyter

    • http://jupyter.org/
    • http://jupyter.readthedocs.io/en/latest/install.html

    Se deben crear proyectos en  https://gitlab.fing.edu.uy  donde  subir los archivos de Jupyter,  la  interfaz web del gitlab los interpreta  y  los  muestra.
    Para la asignatura vamos a seguir los siguientes libros (ambos disponibles gratuitamente en la web)
    • Learning Python , O'Reilly Media Inc. 4th Edition , Mark Lutz
    • Python ESSENTIAL REFERENCE 4th Edition, David M . Baezley, Developer’s Library from Safari Books Online

    • Otro Material de Interes

      Libro:  An introduction to Python for scientific computing

      • https://engineering.ucsb.edu/~shell/che210d/python.pdf

      Libro:  A Primer on Scientific Programming with Python - Hans Petter Langtangen

      • https://hplgit.github.io/primer.html/doc/pub/half/book.pdf

      Tutorial : Getting Started With Python for Science

      • http://www.scipy-lectures.org/intro/

      Asignaturas similares en otras universidades:

      • https://stanford.edu/~arbenson/cme193.html


      • Clase 1

        Indicaciones para la Clase 1 


        1. Para esta clase se entregará informe únicamente de lo realizado durante la clase, no se va a pedir la parte de trabajo complementario de lo que se realiza durante la clase (los llamados obligatorios que se indican en el programa de la asignatura)
        2. Se publicará la temática a trabajar a la brevedad, pero no requiere preparacion previa, únicamente de deben traer las herramientas y librerías indicadas funcionando.


        Actividades :

        - Primera parte:     vamos a ejecutar todos los ejemplos que se encuentran en el capítulo 5  (Numeric Types)  del libro : 

             Learning Python , O'Reilly Media Inc.  Mark Lutz   4th Edition (disponible libre en pdf en distintos sitios web )

             Se irán realizando los ejemplos, comentando, explicando y aclarando dudas. 

        - Segunda parte:   realizar la tarea propuesta


      • Clase 3

        Indicaciones para la clase 3


        En esta clase vamos a trabajar con algoritmos de programación dinámica. Nos vamos a basar en los notebooks del siguiente proyecto.

        https://gitlab.fing.edu.uy/rocamora/dynamic-programming

        Tienen que bajar los archivos del proyecto (o clonar el repositorio).

        Los dos primeros notebooks (fibonacci, edit distance) usan solo bibliotecas que deberían tener instaladas (como time y numpy).


        Luego hay un par de notebooks sobre procesamiento de audio (voz y música), para los cuales tienen que instalar la biblioteca librosa.


        Para la instalación sigan las instrucciones que encuentran en el siguiente repositorio de github.

        https://github.com/librosa/librosa

        Además, para el notebook sobre procesamiento de voz se utiliza un código en C que deberían compilar.

        Es para una función de programación dinámica que permite elegir entre la implementación en python y la implementación en C.

        El código y las instrucciones están disponibles en el siguiente repositorio de github.

        https://github.com/dpwe/dp_python

        La compilación en Linux es muy sencilla, pero en Windows no lo probé. Si tienen dificultades en compilar no se preocupen y usan solo la versión en python del código. Simplemente no van a poder comparar el desempeño respecto a la implementación en C.