Dr. Osvaldo Martin CONICET-IMASL
Dr. Enrique Miranda CONICET-IMASL / UNSL
Python es un lenguaje de alto nivel y de propósito general, lo que significa que se puede usar para resolver casi cualquier problema. Por otra parte, en el contexto de este lenguaje, se han desarrollado un sinnúmero de librerías/herramientas que facilitan su aplicación en una amplia gama de disciplinas y problemas. Profesionalmente, Python es considerado, entre otras cosas, para computación científica, análisis de datos e inteligencia artificial. Muchos desarrolladores también usan Python para desarrollo back-end web, herramientas de productividad, aplicaciones de escritorio y hasta distintos tipos de juegos.
El término programación científica está relacionado a la utilización de scripts/programas orientados a la resolución analítica de un problema específico y formulado rigurosamente. Algunos ejemplos son: invocar funcionalidades de programas externos a través de lenguajes de alto nivel (como Python), integrar aplicaciones (o scripts) en distintos lenguajes, realizar análisis de datos, realizar limpieza y depuración de grandes datos, utilizar expresiones regulares, parseo y análisis de información en formato texto, simular sistemas dinámicos, entre otras.
Este curso propone brindar a los participantes una introducción a Python, un lenguaje ampliamente utilizado para programación científica.
Al finalizar el curso se espera que el participante sea capaz de:
- Incorporar conceptos generales y elementos básicos de programación científica usando el lenguaje Python.
- Utilizar eficaz y eficientemente un enfoque basado en los principios de la programación científica para resolver problemas de diversa índole con Python.
- Diseñar, codificar y depurar programas de complejidad baja a moderada utilizando Python.
-
Extensión: 20 horas cátedra.
-
Requisitos de aprobación:
- 90 % de asistencia al curso.
- Aprobación de un trabajo práctico integrador.
-
Modalidad: clases teórico-prácticas
-
Introducción a la Programación Científica. Actividades consideradas en el contexto de Programación Científica. Algunos paradigmas y lenguajes de programación más utilizados. Herramientas y entornos utilizados en el curso.
-
Introducción al lenguaje Python Breve introducción a Python. Génesis. Características del funcionamiento y procesamiento del lenguaje. Variables, expresiones y sentencias. Valores y tipos. Nombres de variables y palabras claves. Operadores y operandos. Strings. Comentarios.
-
Construcciones en Python Sentencias de selección. Sentencias de iteración. Funciones. Definición y usos. Composición. Flujo de ejecución. Parámetros y argumentos. Variables y parámetros locales. Uso de import y from.
-
Tipos de Datos Estructurados en Python Listas. Recorrido de listas. Operaciones sobre listas. Slices. Eliminación de elementos. Diccionarios. Iteraciones y diccionarios. Búsqueda inversa. Listas y diccionarios. Objetos mutables e inmutables. Tuplas. Asignación de tuplas. Tuplas como valores de retorno. Listas y tuplas. Diccionarios y tuplas. Comparación de tuplas. Manejo y operaciones sobre strings.
-
Manejo de Archivos Lectura y escritura. Operadores de formato. Nombres de archivos y paths. Captura de excepciones.
-
Programación orientada a objetos y librerías específicas de Programación Científica Características de la POO. Clases y objetos. Atributos. Métodos. Análisis de librerías de programación científica y sus facilidades: Numpy, Matplotlib, Pandas, entre otras.
- Allen B. Downey. Think Python. Segunda edición. O'Reilly Media 2015
- Al Sweigart. Automate the Boring Stuff with Python: Practical Programming for Total Beginners. No Starch Press; 2015
- Dusty Phillips. Python 3 Object-oriented Programming: Building robust and maintainable software with object oriented design patterns in Python. Tercera edición. Packt Publishing 2018.
- Hans Petter Langtangen. A Primer on Scientific Programming with Python. Quinta edición. Springer. 2016
- Jake VanderPlas. Python Data Science Handbook Tools and Techniques for Developers. O'Reilly Media. 2015
- Luciano Ramalho. Fluent Python: Clear, Concise, and Effective Programming. O'Reilly Media. 2015