Manuel Muñoz Plá
Edición juvenil STEM de Python para la Ciencia de Datos, pensada para adolescentes (14–17 años) que empiezan de cero. La ciencia de datos contada como una campaña de nueve misiones: aprendes Python analizando música real (Spotify Tracks Dataset), desde encender el cuaderno hasta entrenar un modelo y proteger tu huella digital.
Cada misión trae retos por estrellas (★ imprescindible, ★★ te reta, ★★★ es de jefe), un jefe de parte y la bitácora del analista. La regla de oro en todo el libro: predice antes de ejecutar.
Este repositorio reúne una vista previa web navegable del libro, los cuadernos ejecutables de cada misión y el código reproducible que los genera. Las soluciones de los retos no se publican aquí: viven en la obra completa (papel, PDF y EPUB), que se distribuye por separado.
.
├── docs/ # edición web (Quarto): una página por misión, figuras
│ # SVG, buscador y matemáticas
├── cuadernos/ # un cuaderno Jupyter por misión, listo para Colab
├── src/ # misionNN.py (fuente diffable de cada cuaderno,
│ # jupytext:percent) + los generadores del pipeline
├── data/ # los datos de música que las misiones usan
├── binder/ # entorno reproducible para mybinder.org
├── jupytext.toml # empareja cuadernos/*.ipynb con src/misionNN.py
├── requirements.txt # dependencias (bordes de major)
└── requirements.lock.txt # lock exacto (uv pip compile) para reproducir
La edición web (nueve misiones, con buscador y matemáticas) se publica con
GitHub Pages desde docs/:
Cada misión trae un botón para abrir su cuaderno directamente en Colab o en Binder.
Cada misión tiene su cuaderno en cuadernos/misionNN.ipynb. Los datos se
descargan solos en la primera celda, así que funcionan en la nube tal cual:
- Google Colab: abre
https://colab.research.google.com/github/mmunozpl/PythonCienciaDeDatosSTEM/blob/main/cuadernos/mision01.ipynb(cambia el número de misión). - Binder:
https://mybinder.org/v2/gh/mmunozpl/PythonCienciaDeDatosSTEM/main?labpath=cuadernos/mision01.ipynb
Las salidas esperadas vienen plegadas: ábrelas después de predecir qué va a salir, para comprobar si acertaste.
Cada misión trae también su fuente reproducible en src/misionNN.py
(formato jupytext percent: texto plano,
diffable en git, y a la vez un cuaderno). Se puede ejecutar tal cual como un
script normal:
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python3 src/mision01.py # corre la misión de cabo a rabo, sin JupyterO abrirlo como cuaderno y mantenerlo sincronizado con su .ipynb:
jupyter lab src/mision01.py # jupytext lo abre como un cuaderno normal
jupytext --sync cuadernos/mision01.ipynb # tras editar cualquiera de los dosPara reproducir el entorno exacto con el que se verificó el libro, usa el lock (generado con uv):
pip install -r requirements.lock.txt© 2026 Manuel Muñoz Plá.
| Parte | Qué es | Licencia |
|---|---|---|
src/, cuadernos/, data/, binder/ |
Código reproducible, cuadernos, datos e infraestructura | MIT — uso libre |
docs/ |
Texto del libro (edición web) | CC BY-NC-ND 4.0 — leer y compartir con atribución; sin uso comercial ni obras derivadas |
La obra completa —con todas las soluciones de los retos en un apéndice— se publica en papel, PDF y EPUB con todos los derechos reservados.
Los datos de música de data/ proceden del Spotify Tracks Dataset de
maharshipandya (Hugging Face), publicado bajo licencia BSD (con espejos CC0), y
no están cubiertos por la licencia de esta obra.
Si mencionas o usas esta obra, cítala así (GitHub también ofrece el botón
«Cite this repository», generado desde CITATION.cff):
@book{munozpla2026cienciadatosjuvenil,
author = {Muñoz Plá, Manuel},
title = {Ciencia de Datos para futuros científicos},
year = {2026},
publisher = {qWORD.dev},
url = {https://mmunozpl.github.io/PythonCienciaDeDatosSTEM/}
}Autor: Manuel Muñoz Plá.