El objetivo principal de este libro es dar las herramientas de programación necesarias para resolver problemas computacionalmente a estudiantes de ciencias básicas usando Python. Es nuestra opinión que a diferencia de otras habilidades que deben aprender los estudiantes de ciencias básicas, el aprender a programar debe hacerse a través de la solución de problemas prácticos. En particular, opinamos que los estudiantes deben enfrentarse a problemas que puedan resolver con lo aprendido en sus primeros años de estudios de pregrado. Es por esta razón que cada capítulo en este libro gira alrededor de uno o más problemas específicos y, a medida que avanza el capítulo, se va construyendo una solución a dichos problemas usando el material que queremos desarrollar en el respectivo capítulo y lo aprendido en capítulos anteriores. La construcción de cada solución es progresiva, pues comenzamos resolviendo problemas similares, pero más sencillos hasta llegar a la solución final. Además de introducir las herramientas básicas de programación, este libro describe las librerías astropy, biopython, NumPy, pandas y SciPy. Las librerías NumPy y SciPy son fundamentales para trabajar en computación científica. Mientras que la librería pandas nos permite un manejo eficiente de datos y facilita el análisis exploratorio de datos. En el último capítulo incluimos una breve introducción a astropy y biopython, dos librerías que el lector puede encontrar útil para empezar sus propios proyectos de investigación.