Download Taller de introducción a la programación en la educación con Python

Document related concepts
no text concepts found
Transcript
Taller de introducción a la
programación en la educación con Python
La enseñanza de la programación en la educación formal
Hoy en día, al igual que se demanda el conocimiento del inglés como lengua franca para la comunicación entre personas en un mundo cada vez más globalizado. Se esta demandando también un lenguaje para comunicarnos con las máquinas en un mundo cada vez más tecnificado, en el cual los dispositivos no solo nos ayudan a trabajar sino a pensar, investigar, interactuar… <Este lenguaje franco hombre­máquina ha de ser simple, expresivo, flexible y extensible a cualquier tipo de interacción entre estos dos actores. Precisamente todas estas características las cumple Python y el ecosistema que lo rodea. Por otra parte, y al igual que pasa con el Inglés, es perentoria la necesidad de empezar a estudiarlo cuanto antes, intentando que sea un proceso natural , no forzado, incluso lúdico, casi sin darse cuenta, solo así es posible absorber la ingente cantidad de información y experiencia que es necesaria para formar a un completo futuro profesional en el ambito cientifico­tecnologico. En este charla/curso pretendemos mostrar precisamente algunas buenas prácticas para llevar a cabo esta misión. Sin embargo, este no es un curso para aprender sólo Python, más bien podríamos decir que Python será la nave con la que visitaremos alguna de las costas de la educación STEM . Así por ejemplo, veremos como iPython nos ayudará a hacer las tareas de Mates, Fisica , Quimica y tecnologia, incluso de las asignaturas de historia y literatura . Veremos también como con Python podemos crear nuestras propias realidades si lo asociamos a Minecraft. O como comunicarnos y controlar un robot, casi como si hablásemos con otra persona. Motivación La necesidad de una educación científico­tecnológica temprana Ejemplos de buenas prácticas: Estonia y Corea del Sur Los entornos desfavorables de España y Andalucía El ejemplo personal como factor de cambio Python esta siendo, de facto, el lenguaje usado por la comunidad de software libre para la educación en programación (ejemplos de universidades estadounidenses, el de la Raspberry) y para proyectos de investigación punteros como ROS Conceptos a desarrollar y potenciar ● Desarrollar el pensamiento estructurado y algorítmico. ● Aprender de los errores, aprender a convivir con ellos y aceptarlos, no desanimarse a la primera. ● Hacer un enfoque lúdico de los problemas ● Apoyarse en hombros de gigantes , import as much as you can ● Abstracción de conceptos Estructura de la charla 1­ (5 min) Introducción personal y profesional (proyecto Guadatech y su asociación con HacklabAl) http://www.guadatech.blogspot.com.es/ http://hacklabalmeria.net/ 2­ (3 min) Brevísima introducción al software libre y su filosofía La necesidad de una educación crítica, flexible y abierta Ventajas de la adopción de la filosofía y métodos del software libre en la educación: reutilización, aprendizaje en red, bajos costes, comunidad …. Si no me cree mirese en el el bolsillo, (móviles Android) Ejemplo de las Raspberrys de Google en Inglaterra http://www.bbc.com/news/technology­21243825 3­ (2 min) Necesidad de un lenguaje para comunicarnos con todo tipo de máquinas La que se nos viene encima: Ejemplo de los camiones de Sorbas 4­ (3 min) Presentación del lenguaje Python: ventajas y desventajas de su uso. Ejemplos de su aplicación en otros países. http://scipy­lectures.github.io/intro/intro.html#why­python https://sites.google.com/site/pydatalog/pypl/PyPL­PopularitY­of­Programming­Language https://wiki.python.org/moin/SchoolsUsingPython 5­ (3 min) Presentación e instalación rápida de iPython y su ecosistema (numpy, matplotlib, pandas, etc): Hacia un Python totalmente interactivo y participativo https://github.com/ipython/ipython/releases http://ipython.org/install.html 6­ (2 min) Presentación de la Raspberry Pi y de la revolución que ha supuesto para el diy y la educación tecnológica
http://www.techrepublic.com/blog/european­technology/raspberry­pi­how­a­25­computer­could­s
park­a­computing­revolution/ 7­ (5 min) Presentación de Minecraft y del uso que se esta haciendo de él en ámbitos educativos http://blogthinkbig.com/minecraft­en­las­aulas/ http://www.raspberrypi.org/tag/minecraft/ http://arghbox.wordpress.com/2013/06/13/programming­minecraft­pi­with­python­early­draft/ http://www.raspberrypi.org/learning­python­using­codecademy/ http://geekytheory.com/raspberry­pi­python­minecraft­entretenimiento­asegurado Compartir con el público la carpeta con los archivos que les permitan conectar con mi Minecraft Compartir tambien el libro y la chuleta de métodos 8­ (10 min) Empezando a JUGAR por el Mundo Minecraft con iPython (Sentencias básicas del lenguaje , Ciclos for, funciones, control de flujo , introducción al notebook de ipython) 9­ (5 min) Haciendo la tarea de Historia con iPython + Raspberry Pi + Minecraft ( Usando objetos de terceros, listas) Construyendo nuestras propias pirámides como las de Egipto http://www.guadatech.blogspot.com.es/2013/10/cuestiones­divertidas­del­taller­de.html http://www.stuffaboutcode.com/2013/11/coding­shapes­in­minecraft.html 10­ (5 min) Haciendo la tarea de Biologia con iPython + Raspberry Pi + Minecraft (Ciclos for, funciones, control de flujo, uso de bibliotecas externas (stuffAboutCode) ) 11­ (5 min) Haciendo la tarea de Matemáticas, creando tus propios mundos fractales con iPython + Raspberry Pi + Minecraft (Programación orientada a objetos) 12­ (2 min) Algunas otras tareas que puedes hacer con Python ● La tarea de Mates con iPython + Scipy ○ https://www.youtube.com/playlist?list=PLilnwC7Bci67FKx1GUkF9PlvR2r_La2vN ● La tarea de Geografia con iPython + Basemap + Web DataSets mining ○ Visualizando Terremotos y su relación con las placas tectónicas ○ http://introtopython.org/visualization_earthquakes.html ● La tarea de Lengua con iPython + nltk + Web Scraping ○ Uso del lenguaje para la manipulacion de la informacion en la prensa http://nbviewer.ipython.org/gist/nealcaren/5105037 ● La tarea de tecnologia con iPython + Arduino + robot cuadrupedo ○ https://pypi.python.org/pypi/nanpy ● La tarea de educación para la ciudadanía ○ Python nos ayudará a responder a la pregunta ¿Educación pública o privada? ○ http://nbviewer.ipython.org/url/finiterank.com/saber/saber.ipynb ● Análisis político con ipython ○ ¿Estamos en un mundo violento o cooperativo? ○ Análisis del conflicto Árabe­Israelí ○ http://ideas.foreignpolicy.com/posts/2013/04/10/what_can_we_learn_from_the_last_200
_million_things_that_happened_in_the_world ○ http://gdeltproject.org/ ○ http://nbviewer.ipython.org/github/dmasad/GDELT_Intro/blob/master/Getting_Started_w
ith_GDELT.ipynb 13­ (2 min) Futuro de python , iPython ­> Jupyter http://pybonacci.org/2014/08/09/anunciado­colaboratory­ipythonjupyter­google/ 14­ (5 min) Dudas y preguntas Enlaces a los notebooks de la charla Primera parte http://nbviewer.ipython.org/gist/vencejo/b6d965cfbea9a5433043 Segunda parte http://nbviewer.ipython.org/gist/vencejo/85b5c4f758d75ed40762 Requerimientos de la charla 1­ Conexión wifi con una velocidad mínima y sin clave para poder conectar una Raspberry pi 2­ Dos proyectores, uno para la Raspberry y otro para el ordenador 3­ La charla será interactiva y participativa, por lo que se recomienda que los asistentes asistan con sus propios ordenadores portátiles cargados con algún sistema operativo linux a ser posible Materiales de apoyo a la charla https://www.dropbox.com/sh/9w9lrgtnb81dpjl/AACPralityU7cZYWjuEWiR­pa?dl=0 Créditos:
Lucélia Ribeiro, https://flic.kr/p/ehBnRE Emiliano P. López, http://yosobreip.com.ar/about/ Randall Munroe, https://xkcd.com/353/