Introducción a la Computación (Químicos, Físicos, Meteorólogos, Biólogos y disciplinas afines)

Edición 2do cuatrimestre 2019

IMPORTANTE

Hace un tiempo fue aprobada la materia de posgrado Tópicos de programación para científicos computacionales que será una versión especialmente adecuada para estudiantes de posgrado que necesiten mejorar o aprender sus habilidades de programación.

 
Horarios: Lunes y Miércoles de 9:30 a 13:30
Lugar: Laboratorio 4, Depto de Computación, Pabellón 1.
Día de inicio: 12 de Agosto

Cambio de cuatrimestre

Entre 2013 y 2016, el DC ofreció dos comisiones de la materia Introducción a la Computación, una orientada a alumnos de Matemática, y la otra a alumnos de Biología y otras carreras. Ambas comisiones se dictaban en el primer cuatrimestre; y durante el segundo cuatrimestre no se dictaba la materia.
A partir de 2017, el DC decidió mover la comisión orientada a Biología al segundo cuatrimestre para, por un lado, responder a los reiterados pedidos de dictar la materia en ambos cuatrimestres, y por otro, lograr una planificación más racional de los recursos docentes del Departamento.

Introducción

En la actualidad, la computación se ha transformado en una herramienta imprescindible para las ciencias y la ingeniería. El siglo XXI está siendo testigo de una explosión de aplicaciones de la computación en diversas disciplinas. Podemos mencionar áreas como la Bioinformáticala Biología Sintéticala Neurociencia computacionalla Biología Computacional.

Adicionalmente, las aplicaciones dentro de disciplinas ya establecidas crecen día a día, haciéndose imprescindible saber y poder utilizar la computación en el trabajo diario de cualquier científico o ingeniero.


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 especificación y razonamientos formales para avanzar en la demostración de correctitud y terminación de programas.
  4. Dominar diversas técnicas algorítmicas: 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).

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

  • Para analizar datos -en forma numérica y gráfica-.
  • Para desarrollar algoritmos, modelar sistemas, y realizar simulaciones.
  • Para poder crear tus propias aplicaciones, que integren diversos programas y distintos formatos de datos.
  • Para automatizar tareas repetitivas, que te consumen mucho tiempo y están sujetas, además, a errores humanos.
  • Para entender los fundamentos que permiten almacenar grandes cantidades de datos de forma eficiente.

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).