8720604364_85c5931a14_b.jpg

Taller de introducción a la

programación en la educación con Python

linux-python-logo.jpg

  1. 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.

python.png

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

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-spark-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

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

  1. 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/