Análisis del impacto de bólidos en la atmósfera

Grafimo: Epcia lenguajes
Obtenida de: elaboración propia

Docente: Cesar Tomé Valle

Curso: 4º ESO

Asignaturas: Matemáticas orientadas a las enseñanzas académicas, tecnologías de la información y la comunicación, física y química, biología y geología, y geografía.

Objetivos de la propuesta

Objetivos: Analizar los impactos de meteoros en la atmósfera, la energía que disipan, estudiar su distribución geográfica, así como la relación entre velocidad y energía, estimar la masa y densidad de algunos objetos, etc. 

Objetivos referentes al currículo: 

  • Localizar un punto de la superficie de la Tierra a partir de sus coordenadas. 
  • Conocer diferentes unidades de energía (Julios y kilotones). 
  • Diferenciar entre meteoros, meteoritos y meteoroides. 
  • Comprender la utilidad de las escalas logarítmicas. 
  • Aplicar la definición de energía cinética. 
  • Estimar la probabilidad de ocurrencia de un fenómeno, a partir de la serie histórica. 
  • Calcular parámetros estadísticos básicos (máximo, mínimo, media, mediana, desviación típica, etc.) 
  • Representar e interpretar gráficos elementales. 

Referentes al pensamiento computacional:

  • Obtención de información de Internet usando un API (interfaz de programación de aplicaciones). En este caso, utilizaremos los datos que pone a nuestra disposición la NASA: 
  • Utilización de diversos tipos de datos: reales, enteros, listas, diccionarios, etc. 
  • Utilización de estructuras de decisión if-else. 
  • Utilización de estructuras de repetición (bucles). 
  • Preparación de los datos, en este caso transformación de tipos de variables, de string a float. 
  • Creación de funciones para realizar tareas sencillas (cálculo de la energía cinética y conversión entre julios y kilotones) 
  • Utilización de librerías para facilitar la tarea de programar: pyplot, json, urllib, statistics, math, etc. 
  • Documentación de los programas generados, con la inclusión de comentarios. 

Desarrollo de las sesiones

Habrá un total 10 sesiones, 2 o 3 por semana. Teniendo en cuenta que el nivel de conocimientos de programación del alumnado es heterogéneo, desde quien parte de cero hasta quien tiene cierta experiencia, es posible que tengamos que utilizar alguna sesión más. 

La actividad estará encuadrada en el bloque de estadística y probabilidad. Concretamente, haremos especial énfasis en la estadística descriptiva y en los gráficos estadísticos básicos. 

1ª y 2ª sesión

Contenidos:

  • Conceptos: cometa, asteroide, meteoroide, meteoro, bólido o bola de fuego y meteorito. Objeto del estudio: bólidos o bolas de fuego. 
  • Parámetros estadísticos: media, mediana, desviación típica, cuartiles. 
  • Tipos de datos en Python: enteros, reales y listas. 
  • Manejo de listas sencillas en Python, especialmente las operaciones que necesitaremos, como el cálculo del número de elementos de un vector, acceso a un elemento concreto mediante índices, etc. 

3ª Sesión

Contenidos:

  • Uso de la librería numpy para calcular los parámetros estadísticos básicos de una serie de valores numéricos: la media, la mediana, los cuartiles, la desviación típica, etc. 
  • Gráficos estadísticos básicos (histograma, diagrama de caja y diagrama de dispersión) con matplotlib. 

4ª Sesión

Conntenidos: 

  • Energía: energía cinética. Unidades de la energía. Magnitudes escalares y vectoriales. Módulo de un vector. 
  • Funciones que devuelven un valor numérico: 
    • Construiremos una función que cambie de julios a kilotones (unidades de energía) y otra de kilotones a julios. 
    • También, una función que permita calcular la energía cinética conociendo la masa y la velocidad y otra que calcule la masa conociendo la energía cinética. 
    • Diseñaremos una función que tome como argumento una lista numérica (vector) y devuelva su módulo. Para ello usaremos la librería numpy. El objetivo es calcular el módulo de un vector velocidad. 

5ª Sesión

Contenidos: 

  • Operaciones básicas con listas en numpy. 
  • Análisis de los datos de la velocidad radial de la estrella 51 Pegasi que dieron lugar al descubrimiento del primer exoplaneta, 51 Pegasi b. 

6ª Sesión

Contenidos: 

  • Repaso de notación científica y logaritmos, y su uso en Python. 

7ª Sesión

Contenidos: 

  • Proyecciones cartográficas y vectores. 

8ª Sesión

Contenidos: 

  • Obtendremos los datos de la API de la NASA usando las librerías json y urllib. Probaremos diversas consultas según las especificaciones de la página web. 
  • Comprobaremos el formato de los datos una vez decodificados (diccionario) y accederemos a ellos de forma individual. 
  • Cambiaremos el tipo de determinados datos, como la energía, las coordenadas, la velocidad, etc, siempre que haya un valor no nulo en el campo correspondiente. 

9ª Sesión

Contenidos:

  • Calcularemos los parámetros estadísticos elementales de la energía y la velocidad. 
  • Comprobaremos que nuestras funciones de paso de kilotones a julios funcionan correctamente con los datos proporcionados. 
  • Contaremos cuántos impactos ha habido en la atmósfera cada año desde que se dispone de datos y estudiaremos su distribución. 
  • Representaremos gráficamente la distribución de las energías de impacto con histogramas y diagramas de caja, tanto los valores originales como sus logaritmos. 
  • Representaremos un mapa de impactos y comprobaremos si están uniformemente repartidos. Según el tiempo disponible, lo haremos mediante un diagrama de dispersión o un mapa. 

10ª Sesión

Se ha dedicado a completar tareas y a acabar de escribir el diario de aula. 

Evaluación

El trabajo ha tenido un peso específico en la cualificación de la materia de matemáticas, igual que el resto de los trabajos de programación e investigación estadística que hemos realizado durante el segundo y tercer trimestres, en los cuales no hemos realizado exámenes. 

La parte de trabajo en grupo tendrá un peso del 40% en la nota, y la de trabajo individual, un 60%. Se dará un punto por cada valoración del nivel PRINCIPIANTE, 2 por APRENDIZ, 3 por AVANZADO y 4 por EXPERTO. 

El trabajo individual consistirá en: 

  • El archivo o archivos de código, con su documentación. 
  • Una breve documentación del programa. 
  • Un informe final, con los objetivos del estudio, los resultados numéricos y los gráficos obtenidos. 
  • Cuestionarios de conceptos. 

TRABAJO INDIVIDUAL: 

TRABAJO EN EQUIPO:

Para el diario de aula se ha utilizado una rúbrica específica: 

Rúbrica específica

Reflexión sobre las dificultades encontradas y logros obtenidos 

1.¿Qué dificultades has encontrado durante la implementación de tu propuesta? ¿Qué ha funcionado mejor? 

En lo que se refiere a la logística (aulas de informática, etc.), desde el centro se han dado todas las facilidades para que tuviésemos disponible un aula de informática tres días a la semana durante tres semanas. Al tener que realizar desplazamientos a estas aulas, hemos perdido una cantidad no despreciable de tiempo para comenzar algunos días. Hay que tener en cuenta que se trata de aulas que tienen un nivel de ocupación bastante alto, lo cual tiene como consecuencia un desgaste importante de los equipos y especialmente de los dispositivos periféricos. En alguna ocasión, hemos podido comprobar que necesitábamos casi diez minutos para llegar, arrancar el ordenador e iniciar la sesión en la plataforma Google classroom. Con clases de 50 minutos, esto ha supuesto a veces un obstáculo. 

En relación a la dificultad intrínseca de la propuesta, no todos los alumnos y alumnas están haciendo física y química este curso, por lo que nos ha llevado un poco más de tiempo explicar los conceptos de energía potencial y cinética, así como las transformaciones de unidades, que eran el eje central de la práctica de funciones. En nuestro centro, el curso pasado este grupo (y todos los de tercero de ESO) tuvieron clase presencial en días alternos. Las consecuencias que esto tendrá en su proceso de aprendizaje futuro son difíciles de valorar, pero sí estamos apreciando una gran falta de ritmo y muchos problemas relacionados con los hábitos de estudio. Otros conceptos, relacionados con las coordenadas geográficas, etc. también se han tenido que trabajar casi desde cero. 

El entorno de trabajo utilizado (Google Colab, con cuadernos en línea), que tampoco era familiar al alumnado ha requerido un tiempo adicional para explicar los tipos de celda, algunas características del lenguaje Markdown, etc. Me ha faltado un poco de tiempo para poder sacarle más partido, por lo que quizá se pueda desarrollar más en el futuro. En las prácticas guiadas, algunas personas ejecutaban las instrucciones sin pararse a reflexionar en lo que significaban las cosas y en cómo podrían hacerlo por sí mismas después. Por otra parte, esto se ha visto compensado por las ventajas y la flexibilidad que nos ha aportado esta manera de programar. 

En cuanto al conjunto de datos, hemos tenido que hablar bastante de los registros incompletos (donde faltaba la velocidad, las coordenadas geográficas, etc.), y el impacto que tienen en el análisis. Esto en sí no es una dificultad, sino un elemento más del trabajo científico, pero hasta el momento, nunca habíamos encontrado algo semejante. Más delicado ha sido el proceso de limpieza y adecuación del formato de la información (pasar de diccionarios a arrays numpy, adaptación del formato de las coordenadas geográficas, etc.), que resulta un poco farragoso para el nivel de secundaria. Toda esta parte, incluyendo la obtención de la información mediante la API, se ha dado como hecha, sin profundizar en la metodología, debido a la falta de conocimientos de programación del alumnado. 

Llegado el momento de pasar de la propuesta programada a la implementación práctica, me he dado cuenta de que había subestimado el volumen del proyecto y las múltiples ramificaciones que podía tener. Hace años trabajé con el mismo conjunto de datos usando una hoja de cálculo, pero la flexibilidad de Python me ha permitido hacer muchas más cosas de las que tenía previstas inicialmente. Esto no es un problema en sí, pero es algo a tener en cuenta en el futuro para planificar con más acierto. 

Para finalizar, no ha sido sencillo establecer el trabajo en grupos porque han faltado bastantes alumnos por motivos de salud (y otras causas) y no ha habido una continuidad en lo referente a la composición de los mismos. 

2. ¿Qué logros se han alcanzado?  

Hemos encontrado una aplicación práctica de conceptos como los logaritmos, y las escalas logarítmicas. Se ha visto cómo aplicar de forma directa elementos de otras materias en un problema práctico. Ha sorprendido, y creo que ha sido una novedad agradable, el hecho de poder hacer un análisis de un conjunto de datos relativamente extensos (y real) de manera automática y con conocimientos estadísticos básicos. Este trabajo nos ha servido de punto de partida para introducir el análisis estadístico con un lenguaje de programación, sin las limitaciones del cálculo manual con tablas de frecuencias o las hojas de cálculo. Otro aspecto que hay que tener en cuenta es que, ya que el proyecto se ha alargado un poco más en el tiempo de lo que estaba previsto, han ido apareciendo nuevos registros en la tabla, y esta cualidad dinámica del fenómeno objeto de estudio ha supuesto un aliciente mayor de lo que esperaba en un principio. 

A nivel personal, me ha servido para romper con la creencia de que usar Python para el análisis de datos significa una complicación adicional para entender los conceptos o procedimientos. En este momento estamos ampliando los temas de trabajo al estudio de la proporción de niños y niñas en el nacimiento, el estudio de la relación entre masa y fuerza de la mordedura en los cocodrilos, la ley de Hubble, la lista Forbes de multimillonarios (y multimillonarias) -que casualmente sigue una distribución idéntica a la de las catástrofes naturales- , la temperatura del agua en la isla del Aire (un conjunto de observaciones que nos han pasado desde https://t-mednet.org/ con más de 30000 registros por año), el problema de los tanques alemanes, etc. Estas herramientas ponen a nuestro alcance trabajos más innovadores e interesantes, y creo que servirán de motivación en un futuro para algunas personas (incluyéndome a mí, por supuesto). Sin duda, ser capaces de replicar estudios, resultados, o conclusiones de trabajos científicos, formular hipótesis o resolver dificultades no triviales con datos reales (o, por qué no, ver que es necesario un método más sofisticado para llegar a conclusiones o que hace falta más información) es algo que no tiene precio y no se valora lo suficiente. 

La metodología, y la forma de presentar el proyecto siempre han estado guiadas por el convencimiento de que: 

  • La actividad debe ser escalable. Debe ser fácil de realizar en sus aspectos básicos pero también ha de suponer un reto. Además, se proponen múltiples ramificaciones o ampliaciones optativas para quien tenga más interés o iniciativa. 
  • Los datos deben ser reales, con las simplificaciones mínimas para que pueda llevarse a cabo el análisis básico. 

Las preguntas deben ser auténticas, evitando problemas prefabricados con respuestas conocidas. Tiene que haber un factor de descubrimiento y sorpresa, para la elaboración, refutación o confirmación de hipótesis y suposiciones previas, etc. 

Los problemas elementales se reducen a sesiones breves de entrenamiento, para mantener vivo el interés. Los temas han de ser variados. 

Siempre que se pueda, los datos deben ser ricos y permitir múltiples análisis y enfoques de trabajo. 

No se ha de descartar nunca la posibilidad de que nuestro análisis no nos permita llegar a conclusiones claras o incluso sea erróneo. La equivocación también sirve para avanzar, y las dificultades graduadas pueden estimular la curiosidad. 

Siempre debe haber una hipótesis inicial y una reflexión sobre los resultados teniendo como punto de inicio dicha hipótesis. El objetivo es explicar cómo hemos cambiado nuestro punto de vista (o lo hemos confirmado) con los datos. El análisis exploratorio de la información es una parte esencial del proceso estadístico, pero por sí solo es incompleto. 

3. ¿Cómo crees que podría mejorar la implementación de la propuesta? 

Las reflexiones posteriores pueden resumirse en los puntos siguientes: 

  • Usar una librería más atractiva para los gráficos, como seaborn. 
  • Hacer la introducción a Python en cursos anteriores. Esto permitiría entrar directamente en el tema de interés, sin largas introducciones. Para el curso que viene, aprovechando la nueva ley de educación, tengo planeado comenzar desde primero de ESO, juntamente con la parte numérica del currículum (números enteros, divisibilidad, factores primos, etc.) 
  • Espaciar más las prácticas en el tiempo, para poder asimilar mejor los contenidos, coincidiendo con la presentación de los temas en clase (logaritmos, energía mecánica, atmósfera, etc.) 
  • Establecer una coordinación con el resto de departamentos que imparten materias implicadas en la propuesta (geografía e historia, ciencias naturales, física y química, etc.) para enriquecer la propuesta y complementar mis limitaciones de conocimientos o metodología en temas de los cuales no soy especialista. 
  • Usar pandas en lugar de numpy, porque permite una mayor flexibilidad en el tratamiento de los datos. 
  • Obtener los datos en formato csv en lugar de usar la API, ya que puede hacerse con un conjunto más limitado de instrucciones. Esto tiene el inconveniente de que a veces no están totalmente actualizados. 
  • Mejorar el diario de clase, usando por ejemplo una página web. En mi centro (el IES Cap de Llevant) se ha venido usando hasta ahora Google Sites para el portafolio digital, con resultados mucho más atractivos y que pueden ser publicados con facilidad. 
  • Diseñar una actividad de transferencia para dar a conocer nuestros resultados (pósters, conferencias, exposiciones, webs, etc.). Hasta donde he podido investigar, no he encontrado nada semejante a nivel de secundaria realizado a esta escala, y podría resultar interesante darle al tema un poco más de difusión. 
  • Tener las prácticas preparadas para usar un intérprete local de Python y no depender de la conexión a Internet (que nos falló en un par de ocasiones, incluida la primera sesión) 

Testimonio gráfico

Presentación de un gráfico realizado por un grupo (las etiquetas de los ejes no son correctas)
Presentación de un gráfico realizado por un grupo (las etiquetas de los ejes no son correctas) 
Trabajo en grupos de dos. Este día pudimos usar dos ordenadores para casi todas las parejas. Nos sirvió para probar alternativas.
Trabajo en grupos de dos. Este día pudimos usar dos ordenadores para casi todas las parejas. Nos sirvió para probar alternativas. 
Una de las primeras sesiones: introducción al lenguaje de programación Python.
Una de las primeras sesiones: introducción al lenguaje de programación Python. 
 Realización de gráficos. En este caso estábamos estudiando el rango típico de las velocidades de entrada en la atmósfera (para aquellos objetos que las tenían)
Realización de gráficos. En este caso estábamos estudiando el rango típico de las velocidades de entrada en la atmósfera (para aquellos objetos que las tenían) 

Diagramas obtenidos:

Estos son algunos de los diagramas que hemos podido obtener estudiando los datos. Los primeros representan la distribución de las energías de impacto, en escala lineal y logarítmica. Se aprecia bastante bien que la distribución de las energías es libre de escala (no tiene un valor típico alrededor del cual se agrupan todos los demás, sino que hay un número no despreciable de eventos de todas las energías). Comenzamos por los  histogramas: 

Estos son los diagramas de caja:

En los dos casos, podemos ver que la escala logarítmica es mucho más adecuada para representar los datos. En el segundo diagrama de caja se aprecia claramente el evento de Chelyabinsk.  

Distribución geográfica: primero hicimos un diagrama de dispersión con la longitud y la latitud para comprobar que los eventos se reparten de una manera bastante uniforme. Después, probamos con diversas proyecciones cartográficas.

En estos enlaces se incluyen enlaces a las carpetas donde están los notebooks, presentaciones, etc. utilizados: 

NOTEBOOKS: 

https://drive.google.com/drive/folders/1-UoyUKAnGdNR7ntC19x73JT3_7DGqF8R?usp=sharing

PRESENTACIONES: https://drive.google.com/drive/folders/1JVO8BMNTV8JdRHtXQaar0CSUvvOnAeIw?usp=sharing 

FORMULARIOS: 

https://drive.google.com/drive/folders/1ybahnDWXKx3dMK6e4I3Gvf_ApBjgSwYt?usp=sharing

DOCUMENTOS (diario de aula y objetivos): 

https://drive.google.com/drive/folders/1mmRBUybZNNaEL2aAdLf9U6veo9A16kYA?usp=sharing