Esto será una exploracion guiada. Usaremos mediciones del período de un simple péndulo para estimar la aceleración de la gravedad. El objetivo es discutir cómo interpretar la incerteza de estimación.
Herramientas: péndulos de hilo y tuerca, cronómetros (el celular esta bien) y cinta métrica. Numpy y matplotlib en Jupyter notebook o la IDE de preferencia.
Empezaremos por un repaso de la física del pendulo.
De acá en más los pasos sugeridos pueden cambiar según la participación y creatividad de los asistentes:
Medir con metodo 1: Analizar los datos haciendo un promedio, histogramas. Lo mas simple.
Medir con metodo 2: regresion linal linealizando variables. Pero el error minimizado tiene unidades que no tienen sentido.
Analisis mediante regresion no lineal. Discutir validez de la incertidumbre usada, ¿le falta algo?
Regresion no lineal con errores en ambos ejes. ¿Cómo elegir cuál pesa más?
Interpretar lo obtenido hasta acá. ¿Se nos ocurre algo mejor?
Introducción al teorema de Bayes. Estimación con la librería PyMC3.
Se realizará un taller que contemplará el uso de la visión artificial mediante el lenguaje de programación Python y el uso de algunas de sus librerías para el manejo de imágenes, su transformación y tratamiento para comprender las diversas funcionalidades que se presentan en el procesamiento de imágenes digitales que pueden utilizarse en diversos medios y para industrias variadas
La idea es transmitir y compartir la manera de pensar el código. Los focos van a estár en: - Como y porque separar responsabilidades - Como pensar las tareas para que puedan trbajar varios desarrolladores - Como pensar las cosas para que una futura modificación no sea un dolor de cabeza - Porque testear Para esto vamos a revisar juntos un script de analisis de datos de Kaggle, vamos a contar lo que pensamos, charlar en como lo dividimos y como podríamos esto usarlo de muchas maneras en muchos lugares con le mismo código. Por último los participantes van a poder trabajar en este proyecto para ver como se pasa de un POC a un código productivo.
El Método de los Elementos Finitos tiene cerca de 60 y en este tiempo se ha extendido para la solución de una gran variedad de problemas. Sin embargo, se corre el riesgo de que se convierta en una "caja negra" cuyo funcionamiento no conocemos. En este taller, después de dar una recorrida rápida por el método y desarrollaremos algunas funciones en Python para resolver de estructuras.
La idea es poder desarrollar un par de ejemplos sencillos de objetos (POO) mostrando como se implementan y las virtudes de este paradigma. Se implementarán algunos objetos geométricos sencillos como un punto, una línea y un círculo y algunos métodos para calcular relaciones entre ellos (distancia, por ejemplo). Existe la posibilidad de extender este taller (quizá a 4 horas) para desarrollar, a partir del mismo ejemplo, algo de pruebas (TDD).
La obtención de la pendiente y la deflexión de vigas sujetas a fuerzas cortantes y momentos flexionantes es uno de los temas de la resistencia de materiales que presenta un reto para los ingenieros en formación pues requiere de la aplicación del cálculo integral cuidando la continuidad de las funciones en segmentos diferentes. La metodología de funciones discontinuas (singulares) ha sido propuesta para resolver eficientemente estos problemas. En este taller usaremos la función SingularityFunction de la librería SymPy de Python para resolver este tipo de problemas.
Que es y que hacemos en Ekumen. Utilización de ROS(Robot operative System) para el desarrollo de software para robots. Una vista general de las principales características y módulos más relevantes. Daremos los primeros pasos usando ROS con python.
La librería PyEPH tiene como objetivo facilitar el procesamiento en Python de la Encuesta Permanente de Hogares (EPH) publicadas por INDEC de forma periódica. La Encuesta Permanente de Hogares (EPH) es un programa nacional de recolección de información llevado a cabo por el INDEC, el cual permite conocer las características sociodemográficas y socioeconómicas (empleo, desempleo, actividad, pobreza) de la población argentina.
Las bases de datos de las EPH son de libre acceso, pero resulta complicado su procesamiento, por eso, la librería surge como un espacio donde se nuclean y centralizan los cálculos vinculados a las mismas para posteriormente ser utilizadas en investigaciones, artículos, publicaciones, etc.
Actualmente, PyEPH tiene tres principales componentes: a) obtención de bases de datos (EPH, canastas, adulto equivalente, etc), b) procesimiento y cálculos (pobreza, empleo, indigencia, actividad, etc) y c) herramientas (etiquetar resultados, aparear las diferentes bases).
Se propone un taller donde se expondrá la composición de la librería, su alcance y sus funcionalidades; tambien se realizará una aplicación práctica a través de la incorporación de nuevas funcionalidades.
pyDAMPF es una herramienta de simulación para la comunidad de Microscopia de Fuerza Atómica (AFM), la cual contempla dos aspectos principales; primeramente, la selección de un cantilever optimo para experimentos planificados con polímeros higroscópico. En esta linea, mostramos como evaluar parámetros operativos no triviales de un cantilever de AFM de varios fabricantes actualmente se cuenta con 242 modelos. El segundo aspecto nos muestra como pyDAMPF proporciona un análisis detallado de las fuerzas así como otras propiedades de interés para el experimento planificado cuando se trabaja a distintas humedades relativas. La capacidad computacional cada vez se vuelve mas exigentes para este tipo de simulaciones por lo que el software toma un núcleo de calculo escrito en Fortran y wrapped en Python para operar con paquetes de alto nivel. Finalmente, se introduce un enfoque multihilo propio y transparente para el usuario del código pyDAMPF, que se compara para varias arquitecturas de computación (PC, Google Colab y una instalación HPC) muy favorable en comparación con otros simuladores de AFM, llegando ser hasta tres veces mas eficiente, todo esto con un código hecho en casa!!!
Actualmente se cuenta con un entorno amigable, brindando una interfaz visual para facilitar las simulaciones al usuario con poca experiencia en programación, haciendo uso de Colab y Colab+ para una ejecución en la nube, es decir que no se necesita altos recursos de forma local, lo que ayudara a muchos científicos tanto en temas de espacio de almacenamiento, la velocidad de obtención de los resultados, y las limitaciones que muchas veces computadores básicos presentan, las simulaciones procesadas son almacenadas debido que posteriormente se pretende realizar un análisis con machine learning.
El taller buscará cubrir los siguientes aspectos, en una duración aproximada de 2.5 horas, pero puede ajustarse según disponibilidad. Parte 1: Temas: instalación de librería, ejecución en local, deployment a la nube (opciones), widgets y lógica de streamlit, multipágina. Parte 2: Temas: desarrollaremos 3 páginas predefinidas y una página con contenido a elección: un home con una descripción del proyecto, una página de análisis de datos obtenidos por carga directa de archivo, y una página de análisis de datos obtenidos por API. Si el tiempo lo permite, me gustaría que los asistentes pudieran crear una página con alguna idea personal. Importante: Se considerará tener un repo inicial para facilitar la configuración inicial, y un repo final con la aplicación funcionando.
Se presentaran las librerías Numpy, Pandas y Matplotlib como parte de un stack tecnológico para el análisis de datos, acompañadas respectivamente con ejemplos, casos de usos en la vida real, como así también de algunos tips de performance a tener en cuenta cuando se trabajan con una mayor cantidad de datos.
En el Tutorial vamos a ver como Instalar TLJH (The Littlest Jupyter Hub) en un VPS (Servidor Privado Virtual) y utilizarlo para enseñar en el aula, tanto para un profesor o ponente como para los estudiantes o participantes.
Se utilizara:
Ubuntu 20.04 LTS corriendo en Windows con WSL
Servicio de VPS de Hostinger
Tutoriales de Instalacion y Customizacion de las Herramientas
Durante el Tutorial:
Se Instalara TLJH en un VPS (considerando aspectos minimos de seguridad para su correcto uso)
Se instalaran librerias minimas para su uso en el aula (scipy, pandas, matplotlib, etc...)
Se instalaran las NB extensions de Jupyter (Extensiones que proveen para cada alumno un entorno de desarrollo tanto de codigo como de aprendizaje mucho mas util e interesante, integrando las herramientas necesarias para poder tener todo lo necesario corriendo desde el navegador)
Se presentara una forma de compartir material con nbgitpuller (Uno de lo principales problemas a la hora de llevar a la practica la enzeñanza es como compartir el material, aqui una solucion muy efectiva para poder compartir el materiales necesario como ser pdf, scripts, diapositivas, jupyter notebooks, etc..., para el dictado del curso a lo largo de una cursada)
Se dara algunos consejos a cerca de sobre como implementarlo en el aula y por que es una gran opcion para enseñar (Compartir experiencias que surgieron, como diferentes modos de uso para las herramientas entre otras...)
Mediante este talles vamos a explicar los conceptos básicos de Docker, profundizando en para que sirve y como nos ayuda al despliegue rápido de aplicaciones a producción. Veremos los aspectos teóricos necesarios para entender esta tecnología y sus componentes principales: imágenes, contenedores, volúmenes y redes. También realizaremos en ejemplo práctico donde haremos el despliegue de una app a un server real en la nube. Como final veremos algunos usos de docker en la vida real, como monitorear servidores
Sabías que Jupyter es un acrónimo de [Ju]lia, [Pyt]hon 🐍 y eeee[R] 🏴☠️? Ahora que tengo tu atención, te invito a conocer el lenguaje de Julia.
Julia es un lenguage de programación multiparadigma 🤔 que tiene como parte de sus principales objetivos ser performante como C, ser fácil de usar como Python y tener un foco en el desarrollo de software cientifico e industrial como Matlab y un montón de otras características deseables de un lenguaje moderno
En el taller vamos a enfocarnos en:
REPL e IDEs (VSCode, Pluto)
Un par de herramientas conocidas: DataFrames, Plots, Symbolics,...
Y, si queda tiempo... y a votación
Se enseñará de manera comprensiva el diseño de un sistema desde la unidad básica y los elementos más necesarios para crear una sistema que pueda trabajar de manera estable, permanente y persistente.
Se esquematizará el proceso de operar un sistema, con los detalles que permitan definir el uso correcto de los recursos, asincronismo, multiprocesos, creación de clases, definición y control de excepciones.
Se definirá el 'algoritmo panal de abeja' que permitirá definir de manera distribuida una cantidad restringida de tareas a cada 'abeja' trabajadora.
Finalmente se establecerán recomendaciones para el sistema de control de versiones y creación de modulos.
Se aplica como solución a sistemas que requieran el monitoreo en tiempo real o para el trabajo intensivo de tareas bien definidas.
El taller busca explorar de forma sencilla las características más importantes del entorno Spyder para realizar programación científica en Python, usando las librerías más importantes en el área, tales como Pandas, Matplotlib y Scikit-learn. Para tal fin, trabajaremos sobre un conjunto de datos de observaciones meteorológicas históricas de 2006 a 2016.
El taller está orientado a usuarios intermedios de Python, toma un tiempo máximo de tres horas, e incluye las siguientes secciones:
Los contenidos del taller puede apreciarse en el siguiente enlace: https://github.com/spyder-ide/Spyder-Workshop/tree/spanish
Este taller está pensado desde el punto de vista de un programador tradicional y como este puede ayudar a un científico de datos.
Tomamos como partida la tarea de cargar los datos, un proceso tedioso que puede ser realizado por personas sin conocimiento avanzado en programación, esta tarea se realiza para alimentar los dataset que después se usarán para procesar el análisis de datos.
Veremos los conceptos básicos de la programación web usando Django, simulando una rutina del día a día de un programador realizando una pequeña app para el ingreso de datos; los mismo podrán luego ser descargados en formato csv para ser usados en procesos de análisis posteriores.
La idea del taller es que quien lo tome pueda aprender los fundamentos básicos de la programación web y su implementación en el framework Django usando el lenguaje de programación Python, para ello es necesario conocer los fundamentos basicos del lenguaje y una breve aproximación a HTML.
El taller está dividido en 2 grandes partes
En la primera parte, y más teórica, veremos los fundamentos de la programación web para poder entender cómo funciona Django. En la segunda parte cubriremos los puntos más importantes del framework, como los modelos y las vistas, el ORM de Django y como conectarlo a una base de datos, el sistemas de plantillas web que nos proporciona Django, y el admin de Django como complemento rápido en la administración de la información con un enfoque más práctico.
La optimización de las herramientas open source favorecen la inclusión en procesos de innovación educativa de los establecimientos dedicados a la enseñanza, públicos y privados en todos los niveles educativos y la implementación de Python en un VPS con Jupyter HUB/Notebook en diferentes campos disciplinares.
Nos proponemos interpelar las concepciones tradicionales de enseñanza y aprendizaje a través de Jupyter Notebook, una herramienta dinámica e interactiva que potencia las relaciones entre los actores intervinientes en el campo pedagógico favoreciendo la estructuración en comunidad de aprendizaje con perspectiva ubicua, mediante la utilización de multi lenguajes comunicacionales. Se presenta la herramienta como una “caja de arena” que sirve para resolver temas- proyectos y problemas en los cuales cada uno, mediante el despliegue del juego fortalece la creatividad, innovación y autonomía.
Esta metodología de trabajo facilita la participación de los actores, (estudiantes y docentes), en multi roles en el campo de la enseñanza inmersiva y el aprendizaje mediado por Python y Jupyter HUB/Notebook.
El entorno de enseñanza y aprendizaje descripto, se completa con la implementación de un cuaderno que favorece el intercambio de roles para la retroalimentación formativa ubicua y autónoma. Este cuaderno permite no solo registrar los materiales y las actividades, sino también la documentación de las múltiples intervenciones y sus resultados, producto del juego y el intercambios de roles en el contexto de una acción pedagógica.
La retroalimentación formativa permite a los estudiantes:
Probar posibilidades
Identificar caminos críticos y no críticos de resolución.
Comprender las formas de hacer y resolver.
Identificar las posibilidades de innovación para resolver
Autoevaluar- se individual y colectivamente
Valorar los tiempos de aprendizaje individual y colectivo.
De este modo, la propuesta configura un entorno de enseñanza y aprendizaje encuadrado en la enseñanza poderosa, se nutre de visiones y convicciones que refieren al abordaje transdisciplinar, creativo, autónomo y autoregulado, COLABORATIVO, lúdico y construido en una matriz multilenguaje, centrado en un sujeto de aprendizaje deseante.
Será un taller ameno, donde cada participante podrá exponer sus dudas y sus ideas para luego pasar al código. Haremos un análisis de cada variable y/o dataset buscando prevenir problemas a futuros que pueden complicarnos mucho más. Las librerías que utilizaremos serán principalmente pandas y plotly. Espero nos puedas acompañar.