
Prefacio
Python para informaticos: Remezclando un libro libre
Entre los academicos, siempre se ha dicho que se debe “publicar o morir”. Por ´
ello, es bastante habitual que siempre quieran crear algo desde cero, para que sea
su propia obra original. Este libro es un experimento que no empieza desde cero,
sino que “remezcla” el libro titulado Think Python: How to Think Like a Computer
Scientist (Piensa en Python: Como pensar como un inform ´ atico), escrito por Allen ´
B. Downey, Jeff Elkner, y otros.
En diciembre de 2009, yo estaba preparandome para ense ´ nar ˜ SI502 - Networked
Programming (Programacion en red) en la Universidad de Michigan por quinto ´
semestre consecutivo y decid´ı que ya era hora de escribir un libro de texto sobre
Python que se centrase en el manejo de datos en vez de hacerlo en explicar algoritmos
y abstracciones. Mi objetivo en SI502 es ensenar a la gente habilidades para ˜
el manejo cotidiano de datos usando Python. Pocos de mis estudiantes planean dedicarse
de forma profesional a la programación informática.
La mayoría esperan
llegar a ser bibliotecarios, administradores, abogados, biologos, economistas, etc., ´
aunque quieren aplicar con eficacia la tecnolog´ıa en sus respectivos campos.
Como no consegu´ıa encontrar un libro orientado a datos en Python adecuado para
mi curso, me propuse escribirlo yo mismo. Por suerte, en una reunion de la fa- ´
cultad tres semanas antes de que empezara con el nuevo libro (que ten´ıa planeado
escribir desde cero durante las vacaciones), el Dr. Atul Prakash me mostro el libro ´
Think Python (Piensa en Python) que el hab ´ ´ıa usado para su curso de Python ese
semestre. Se trata de un texto sobre ciencias de la computacion bien escrito, con ´
explicaciones breves y directas y facil de entender.
La estructura general del libro se ha cambiado para conseguir llegar a los problemas
de analisis de datos lo antes posible, y contiene, casi desde el principio, una ´
serie de ejemplos y ejercicios con codigo, dedicados al an ´ alisis de datos. ´
Los cap´ıtulos 2–10 son similares a los del libro Think Python, pero en ellos hay
cambios importantes. Los ejemplos y ejercicios dedicados a numeros han sido reemplazados por otros orientados a datos. Los temas se presentan en el orden
adecuado para ir construyendo soluciones de analisis de datos progresivamente ´
mas sofisticadas. Algunos temas, como ´ try y except, se han adelantado y son presentados como parte del cap´ıtulo de condicionales.
Las funciones se tratan muy
someramente hasta que se hacen necesarias para manejar programas complejos,
en vez de introducirlas en las primeras lecciones como abstraccion. Casi todas las ´
funciones definidas por el usuario han sido eliminadas del codigo de los ejemplos ´
y ejercicios, excepto en el cap´ıtulo 4. La palabra “recursion” ´
1 no aparece en todo
el libro.
En los cap´ıtulos 1 y 11–16, todo el material es nuevo, centrado en el uso con
problemas del mundo real y en ejemplos sencillos en Python para el analisis de ´
datos, incluyendo expresiones regulares de busqueda y an ´ alisis, automatizaci ´ on de ´
tareas en el PC, recepcion de datos a trav ´ es de la red, rastreo de p ´ aginas web en ´
busca de datos, uso de servicios web, analisis de datos XML y JSON, y creaci ´ on´
y uso de bases de datos mediante el lenguaje de consultas estructurado (SQL).
El objetivo final de todos estos cambios es pasar de un enfoque de ciencias de la
computacion a uno puramente inform ´ atico, incluyendo solamente temas de tecno- ´
log´ıa basica que puedan ser ´ utiles incluso si los alumnos al final eligen no conver- ´
tirse en programadores profesionales.
Los estudiantes que encuentren este libro interesante y quieran adentrarse mas en ´
el tema deber´ıan echar un vistazo al libro de Allen B. Downey Think Python.
Gracias
a que hay muchos temas comunes en ambos libros, los estudiantes adquiriran´
rapidamente habilidades en las ´ areas adicionales de la programaci ´ on t ´ ecnica y ra- ´
zonamiento algor´ıtmico que se tratan en Think Python. Y dado que ambos libros
tienen un estilo similar de escritura, deber´ıan ser capaces de moverse rapidamente ´
por Think Python con un m´ınimo de esfuerzo.
Como propietario de los derechos de Think Python, Allen me ha dado permiso
para cambiar la licencia del material de su libro que aparece tambien en ´ este, ´
desde la GNU Free Documentation License (Licencia de Documentacion Libre) a ´
la mas reciente Creative Commons Attribution – Share Alike license. Esto sigue ´
un cambio general en las licencias de documentacion abierta, que est ´ an pasando ´
del GFDL al CC-BY-SA (como, por ejemplo, Wikipedia). El uso de la licencia
CC-BY-SA mantiene la tradicional fortaleza del copyleft a la vez que hace que
sea mas sencillo para los autores nuevos el reutilizar este material como les resulte ´
mas provechoso. ´
Creo que este libro sirve como ejemplo de por que los materiales libres son tan ´
importantes para el futuro de la educacion, y quiero agradecer a Allen B. Downey ´
y al servicio de publicaciones de la Universidad de Cambridge por su amplitud de
miras al permitir que este libro este disponible con unos derechos de reproducci ´ on´
abiertos. Espero que esten satisfechos con el resultado de mis esfuerzos y deseo ´
que tu como lector tambi ´ en est ´ es satisfecho con ´ nuestros esfuerzos colectivos.
Quiero agradecer a Allen B. Downey y a Lauren Cowles su ayuda, paciencia y orientación en la gestión y resoluci ´ on del tema de los derechos de autor en torno a ´
este libro.
Comentarios
Publicar un comentario