<diapo>

<diapo>

Un sistema de presentaciones web para probabilidad y estadística en ingeniería eléctrica

Esta es una presentación de ejemplo

Proyecto PD-IE-472-2022
Estrategias docentes para sesiones virtuales interactivas con el desarrollo de un nuevo sistema web: una experiencia en el curso Modelos Probabilísticos de Señales y Sistemas


Contenido

Capacidades del sistema
Características deseadas para la plataforma, según comparación con otros sistemas similares de presentaciones
Contenido web especializado
Categorías diferenciadas de contenido web que son útiles para la enseñanza de teoría matemática y análisis de datos
Actividades pedagógicas
Tipos de actividades pedagógicas propuestas con las capacidades del sistema y los contenidos web especializados


Capacidades del sistema

Características deseadas para la plataforma, según comparación con otros sistemas similares de presentaciones

1
Presentación en un navegador web

El sistema está diseñado para ser usado en un navegador web.


Visualización adaptada a diferentes tamaños de pantalla.

Mejor calidad de imagen y mejor uso de datos que con streaming.

Navegador habilita posibilidad de interacción con participantes.

¿Romper la cuarta pared?

2
Contenido multimedia

El sistema permite incluir contenido multimedia en las diapositivas.
¡Ejemplo: este texto o este link!

Animaciones

Es posible animar

Audio

Imágenes

Video

3
Contenido web

El sistema permite incluir otros tipos de contenido web en las diapositivas.

(Aparte de los contenidos multimedia de la sección anterior)

Formularios

Nota: el resultado no especifica para cuál sorteo.

Contenidos incrustados

4
Contenido interactivo

La presentación vive en el navegador de cada participante, donde puede interactuar con algunos elementos, y también entre participantes de la presentación.

Pendiente

Ya tenemos la llave: WebSockets

5
Contenido matemático

El sistema permite incluir contenido matemático en las diapositivas.

Ecuaciones

Gráficos

$$ f_X(x) = {\frac{1}{\sigma {\sqrt {2\pi }}}} e^{-{\frac{1}{2}} \left({\frac {x-\mu }{\sigma }}\right)^{2}} $$

6
Visualización de datos

El sistema permite incluir visualizaciones de datos en las diapositivas, como tablas o gráficas en tiempo real.

7
Contenido de programación

Es posible ver pero también editar y ejecutar (en el navegador) fragmentos de código de Python.

Código
                                
                                    import numpy as np
                                    from scipy import stats
                    
                                    # Generar números aleatorios
                                    x = np.random.normal(size=1000)
                                
                            
Resultados

Pendiente

8
Resultados de simulaciones

El sistema permite incluir resultados de simulaciones en las diapositivas.

Esto es la combinación de capacidades descritas anteriormente:

  • Despliegue de gráficos
  • Ejecución de Python en el navegador

9
Sesiones remotas

Sincronización de la presentación del docente en el navegador de cada participante.

Modo presentador


Navega las diapositivas y...

Django Channels WebSockets

Modo participante


...sigue la presentación.

10
Registro de participantes

La plataforma tiene un registro de estudiantes matriculados en el o los cursos.

  • Registro de participación en actividades
  • Notas de participantes en evaluaciones

11
Edición de diapositivas por código

Para bien o para mal, la edición de las presentaciones es enteramente hecha en los archivos de código fuente.

(No hay planes inmediatos de cambiar de paradigma)

12
Software libre

Todo el stack tecnológico está hecho con plataformas de software libre y el repositorio del proyecto es de acceso público.

Django

Plataforma del servidor para gestión de usuarios, bases de datos, etc.

RevealJS

Plataforma HTML/CSS/JavaScript de presentaciones en el navegador.

PyScript

Python dentro del código HTML ejecutado directamente en el navegador.

Bootstrap

Formato adicional dentro de la presentación para la diagramación de las diapositivas.

Bokeh

Paquete de Python para creación de gráficas y exportación como contenido web.

Python

Programación de uso general, incluyendo paquetes de análisis de datos.


Contenido web especializado

Categorías diferenciadas de contenido web que son útiles para la enseñanza de teoría matemática y análisis de datos

I
Ecuaciones y otras herramientas matemáticas

Es importante para un curso de teoría matemática básica poder mostrar de forma nativa ecuaciones y gráficos para ilustrar los conceptos.

Ecuaciones en LaTeX

Estáticas

Animadas

$$ x_{1,2} = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

Manim es un paquete de Python para generación de amimaciones con gráficos, geometrías y ecuaciones.

Opcional Pendiente

Gráficos en Bokeh

Gráficos en TikZ

            
                \begin{tikzpicture}
                    \def \n {5}
                    \def \radius {3cm}
                    \def \margin {8}
                    \foreach \s in {1,...,\n}
                    {
                        \node[draw, circle] at ({360/\n * (\s - 1)}:\radius) {$\s$};
                        \draw[->, >=latex] ({360/\n * (\s - 1)+\margin}:\radius) 
                            arc ({360/\n * (\s - 1)+\margin}:{360/\n * (\s)-\margin}:\radius);
                    }
                \end{tikzpicture}
            
        

II
Visualizaciones de datos

Es importante para un curso basado en análisis de datos poder mostrar diferentes tipos de visualizaciones de datos, como tablas y otros gráficos, inclusive en tiempo real.

Tablas interactivas incrustadas

III
Contenido de programación

Es importante para un curso que incluye computación científica y cálculo numérico para el análisis de datos, mostrar o ejecutar código como método de enseñanza y aprendizaje.


Capacidad computacional en el navegador

Nuevas plataformas permiten ejecutar código Python directamente en el navegador, sin instalaciones locales.


¡Nuevas plataformas cada año!

El ecosistema de herramientas de programación para análisis de datos está en ebullición.

Ejemplo de uso de una terminal interactiva de Python

(Aquí irá)

Ejemplo de un REPL

(Aquí irá)

IV
Interactividad

Es importante para un curso virtual procurar la participación activa de los estudiantes, como método de motivación en clase y de evaluación de conocimientos.

Formulario tipo quiz

Es posible hacer preguntas de revisión durante la presentación.


Actividades pedagógicas

Tipos de actividades pedagógicas propuestas con las capacidades del sistema y los contenidos web especializados

A
Visualizaciones de la teoría

Todos los elementos actualmente utilizados en las presentaciones del curso IE0405 - Modelos Probabilísticos de Señales y Sistemas son soportados por la plataforma, por lo que la migración es posible, aunque laboriosa.

El teorema de Bayes, o regla de la probabilidad condicional inversa, establece que: $$ P(A \mid B) = \frac{P(A)P(B \mid A)}{P(B)} $$

B
Ejemplos prácticos

Ejemplos prácticos explicados por el docente, con ecuaciones, tablas, gráficas, imágenes y otras visualizaciones son posibles.

En investigación clínica, la "probabilidad de detección" es llamada sensitividad y la "tasa negativa verdadera" es llamada especificidad. Estos son ejemplos para exámenes de detección de enfermedades usuales:
Enfermedad Sensitividad Especificidad
COVID-19 BioMedomics 89% 91%
Cáncer de próstata 85% 30%
Cáncer de mama 75% 92%

C
Problemas resueltos de práctica

Como curso de teoría matemática, es importante demostrar la resolución numérica de problemas.

Si la tasa de ocurrencia de COVID es de una en cien personas, y si una prueba sale positiva, ¿cuál es la probabilidad de tener realmente la enfermedad? $$ P(A \mid B) = \frac{P(A)P(B \mid A)}{P(B)} = \frac{0.01 \times 0.89}{0.01 \times 0.89 + 0.99 \times 0.09} = 9\% $$

Una adición deseada es Manim, para animaciones de problemas resueltos.

D
Evaluaciones teóricas y prácticas

Con la interactividad será posible hacer preguntas de revisión durante la presentación.

Si la especificidad aumenta a un 99%, ¿cuál es la nueva probabilidad de tener la enfermedad dado un resultado positivo de la prueba?

E
Ejercicios de programación

Tanto para demostración de los conceptos como para evaluación, el curso tiene ejercicios de computación científica con Python.

Típicamente consiste en:

  • Selección de un conjunto de datos de prueba (por ejemplo, en Kaggle)
  • Uso de Pandas de Numpy para manipulación y limpieza de datos
  • Uso de SciPy Stats para modelado probabilístico
  • Uso de Matplotlib para visualización (o Bokeh)
  • Análisis de resultados

F
Problema de diseño

Es deseable aplicar las actividades anteriores en una situación más realista.

Por esta razón el curso tiene un proyecto de diseño como parte de su evaluación, y cada clase modelo tendrá un ejemplo a pequeña escala del tipo de problemas que será necesario resolver.

Clases modelo para el primer ciclo del 2024

CM Semana Fechas Tema Pres. Subtema
1 3 1 abr 1 3 Pruebas repetidas de Bernoulli
2 6 22 abr 2 7, 8 Transformaciones de variables aleatorias
3 9 13 may 3 12 Teorema del límite central
4 13 10 jun 4 15 Características espectrales de procesos aleatorios
5 16 31 jun 5 19 Cadenas de Markov de tiempo continuo

Lunes 12:00 m.d. por Zoom
IE0405 - Modelos Probabilísticos de Señales y Sistemas

</diapo>