• Inicio


    Horarios: 
    Lunes y Miércoles de 9:30 a 13:30
    Lugar: Laboratorio 5, Depto de Computación, Pabellón 1.
    Día de inicio: 13 de Agosto  22 de Agosto.
    Aviso: El CODEP de Computación convoca a toda la comunidad a una reunión informativa para charlar entre todos los problemas por los que están pasando nuestros docentes, investigadores y estudiantes, y para explicar de qué manera esta situación afectará la cursada durante este cuatrimestre.
    Las charlas serán el lunes 13/8 a las 10hs y a las 17hs en el aula Magna del Pab 1.

    Introducción

    El uso de herramientas computacionales ha permeado en la gran mayoría de las disciplinas científicas y de la ingeniería.

    Hoy en día, se torna en una necesidad imperiosa el aprender a manejar herramientas computacionales, pero más aún, tener conceptos claros de programación a fin de aplicarlos en los más diversos problemas.

    Esta materia busca apuntalar los conceptos de programación en los estudiantes de doctorado de las disciplinas de esta casa de estudios.

    Si tu formación es informática, esta materia no es para vos.

    Objetivos de la materia

    1. Comprender el modelo y la organización básica de una computadora.
    2. Adquirir conocimientos de programación, tanto de algorítmica como de estructuras de datos.
    3. Adquirir conceptos y fundamentos sobre para poder razonar y expresar comportamientos de programas de manera formal.
    4. Dominar diversas técnicas algorítmicas, entre ellas: Divide&conquer, Backtracking, programación dinámica, etc.
    5. Acercarse al uso de herramientas de soporte al desarrollo distribuido de proyectos (i.e. git o svn) y a las herramientas alternativas de escritura de textos (i.e. Latex).
    6. Tener un primer acercamiento al mundo del paralelismo y del uso de recursos computacionales paralelos.

    ¿Para qué te serviría como estudiante de doctorado aprender fundamentos de programación?

    Extraer información a partir de datos requiere entender la naturaleza de los procedimientos involucrados y, por ende, de la complejidad de la tarea computacional a realizar.
    Adicionalmente, es habitual encontrarse ante la necesidad de vincular o combinar diferentes herramientas, durante la materia vamos a trabajar y apuntalar estos aspectos de manera práctica junto con el resto de los conceptos, necesariamente vas a mejorar tus skills de scripting.

    En la materia usaremos el lenguaje Python. ¿Por qué ese y no otro?

    • Es un lenguaje de un gran potencial y de mucha utilización actualmente.
    • Es gratuito.
    • Es un lenguaje de alto nivel de propósito general. Esto significa que deberías ser capaz de hacer cualquier cosa que quieras usando Python, y que debería ser relativamente fácil de programar.
    • Python es un lenguaje que se puede usar en los principales sistemas operativos.
    • Es usado por numerosos programadores profesionales. Esto significa que te puede servir para poder colaborar con expertos de la computación en proyectos complejos.
    • Tiene paquetes de programas, que te van a ser de gran utilidad en tu carrera científica, como por ejemplo, Matplotlib y Pylab (para generación de gráficos), NumPy y SciPy (para aplicaciones numéricas y científicas), BioPython (herramientas en Python para biología computacional).

    Preguntas Frecuentes

    • En la materia, ¿Voy a aprender a usar las aplicaciones que se utilizan en mi campo de conocimiento?

    No, no nos vamos a centrar en aplicaciones puntuales. Esta materia tiene como objetivo principal enseñar fundamentos y que los alumnos puedan seguir aprendiendo luego de terminada.
    La idea es que aprendan a distinguir e identificar lo computacionalmente difícil de resolver y el tipo de problemas que se pueden tratar y cuáles no. 
    Además, que adquieran los elementos necesarios para aprender a buscar información, a entenderla y poner en uso nuevas herramientas cuando lo necesiten. Hay que estar preparado para el cambio.

    • La verdad es que estoy muy complicado con mis tiempos, mi tesis está en crisis, necesito aprender, pero solo puedo (con algo de suerte) asistir a la teóricas. ¿Me podrían dar algo para leer y que aprenda lo que me pierda?

    Esta materia requiere que los alumnos experimenten y resuelvan, no hay texto ni tutorial que reemplace esto, se debe tener en cuenta que esto precisa tiempo frente a la máquina, equivocarse, consultar y aprender con el proceso. Si tu agenda está muy complicada, no vas a poder aprovechar enteramente la materia y puede ser que grandes porciones no te terminen de quedar lo suficientemente claras.

    Comunicación de novedades

    La lista de mails de alumnos y docentes es icb-alu@... y la lista de mails de docentes es icb-doc@..., en ambos casos con dominio dc.uba.ar. Las consultas deben ser enviadas a icb-doc.