Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con...

35
Taller de Programación en Python con Robots Grupo de Desarrollo Lihuen Agosto 2012 Grupo de Desarrollo Lihuen Taller de Programación en Python con Robots

Transcript of Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con...

Page 1: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Taller de Programación en Python con Robots

Grupo de Desarrollo Lihuen

Agosto 2012

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 2: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Taller de Programación en Python con RobotsTemario

El proyecto: Entre Robots, juegos y lenguajes: unaexperiencia de aprendizaje real en las aulasLos RobotsIntroducción a PythonGuía práctica

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 3: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primer curso de programación usando robots y Python

ObjetivosIncentivar el interés de los niños y jóvenes en el uso de latecnología con fines educativosTrabajar en mecanismos de resolución de problemas

Más específicamente ...Difundir y trabajar con Software LibreEnseñar aspectos de programación utilizando Python

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 4: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primer curso de programación usando robots y Python

ObjetivosIncentivar el interés de los niños y jóvenes en el uso de latecnología con fines educativosTrabajar en mecanismos de resolución de problemas

Más específicamente ...Difundir y trabajar con Software LibreEnseñar aspectos de programación utilizando Python

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 5: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Entre Robots, juegos y lenguajes: una experiencia deaprendizaje real en las aulasEl proyecto

2012: Subsidiado por la Fundación YPFEquipamiento en las escuelas

20 robots1 netbook1 filmadora

Capacitación para docentes y alumnosAcompañamiento para su implementación

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 6: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Entre Robots, juegos y lenguajes: una experiencia deaprendizaje real en las aulasCapacitación UNLP

Dos cursosPrimer curso de programación Python con robots (2012)Programación de juegos sencillos con Python (2013)

Objetivos comunes: Iniciar a docentes y alumnos en elmundo de la programación usando software librePlataforma Linux con PythonTrabajo colaborativo entre docentes y alumnosAcompañamiento para su implementaciónLibro con actividades

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 7: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Entre Robots, juegos y lenguajes: una experiencia deaprendizaje real en las aulasMetodología de Enseñanza

En principio....Seis (6) clases teórico-prácticas de cinco (5) horas cada una enlas escuelas.Cada clase es quincenal, con lo cual, se dará un soporte virtualentre cada claseTrabajos individuales y/o grupales, de acuerdo a las actividadesa resolver.Encuentro final en donde participarán todas las escuelas en laFacultad de Informática

El cronograma se adapta en cada escuela

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 8: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Entre Robots, juegos y lenguajes: una experiencia deaprendizaje real en las aulasMetodología de Enseñanza

En principio....Seis (6) clases teórico-prácticas de cinco (5) horas cada una enlas escuelas.Cada clase es quincenal, con lo cual, se dará un soporte virtualentre cada claseTrabajos individuales y/o grupales, de acuerdo a las actividadesa resolver.Encuentro final en donde participarán todas las escuelas en laFacultad de Informática

El cronograma se adapta en cada escuela

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 9: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Programando con Python y RobotsRecursos Necesarios

Plataforma LinuxRobots inalámbricos

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 10: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Programando con Python y RobotsContenidos Mínimos

Conceptos básicos de programaciónImplementación de algoritmos sencillos.Introducción al lenguaje Python.Funciones para manipulación del robot

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 11: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Programando con Python y RobotsActividades

Se organizan actividades lúdicas (juegos, carreras, obras de teatro,bailes, etc.)

Donde se intenta que los alumnos presenten sus trabajos en unajornada (interna o externa)

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 12: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Programando con Python y JuegosContenidos Mínimos

A trabajar en el año 2013..Revisión de los conceptos básicos de programación y de lasintaxis básica de Python.Uso de una API para la construcción de Juegos (Pygame)Desarrollo de juegos sencillos

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 13: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Los RobotsCaracterísticas Básicas

Los Robots

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 14: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Los RobotsCaracterísticas Básicas

Basados en hardware y software libreInalámbricos3 Baterías AAVarios SensoresNacionales - Empresa RobotGroup

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 15: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

PythonCaracterísticas Básicas

Introducción a Python

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 16: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

PythonCaracterísticas Básicas

Es interactivoMulti plataformaPermite una programación prolija eintuitivaEs posible programar aplicacionescomplejasMuy usadoEs software libre

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 17: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

PythonEl Intérprete

Desde el shell de Python Utilizando un IDE: Geany

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 18: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Características Generales del Lenguaje PythonFunciones

Una función agrupa un conjunto de sentencias.Puede tener argumentosSintaxis:

def nombre(parametros)sentencia1sentencia2sentencia3

El cuerpo de la funcióndebe estar indentado!

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 19: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Características Generales del Lenguaje PythonEstructuras de Control

Sentencia if

if expresion:sentencia1sentencia2

Sentencia while

while expresion:sentencia1sentencia2

Sentencia for

for var in lista:sentencia1sentencia2

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 20: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Materiales adicionales

http://robots.linti.unlp.edu.ar/

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 21: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosInstalando

Primeros pasos

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 22: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosConectando el robot y la computadora

Debemos conectar el módulo de comunicaciones a un puertoUSB de la computadoraEncender el robot

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 23: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosInstalando

Descargamos desde...En Linux....

Desde el Gestor de paquetesDesde la consola

Instalar el paquete ...Repositorio oficial:deb http://repo.lihuen.linti.unlp.edu.ar/lihuen squeeze/lihuen4main contrib non-free

El paquete se llama: robot.Para instalar, agregar el repositorio al archivo /etc/apt/source.list

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 24: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosInstalando

Instalar el paquete ...Ejecutar con privilegios de administrador:apt-get updateapt-get install robot

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 25: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosInstalando

Instalar el paquete ...Ejecutar con privilegios de administrador:apt-get updateapt-get install robot

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 26: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosConectando el robot y la computadora

Importamos la librería para trabajar con el robot:from duinobot import *Encender el robot

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 27: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosIniciando la actividad

from du inobot import ∗b = Board ( "/dev / ttyUSB0 " )b . r e p o r t ( )mi_robot = Robot (b , 0)mi_robot . s e t I d (3 )

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 28: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros Pasos¿Movemos el robot?

Hacia Adelante

forward(velocidad, tiempo)Ejemplos:forward()forward(1, 0.5)

Hacia Atrás

backward(velocidad, tiempo)Ejemplos:backward()backward(1, 0.5)

Probemos ...backward(-10)forward(-10)

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 29: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros Pasos¿Movemos el robot?

Hacia Adelante

forward(velocidad, tiempo)Ejemplos:forward()forward(1, 0.5)

Hacia Atrás

backward(velocidad, tiempo)Ejemplos:backward()backward(1, 0.5)

Probemos ...backward(-10)forward(-10)

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 30: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros Pasos¿Movemos el robot?

Girando a la Izquierda

turnLeft(velocidad, tiempo)Ejemplos:turnLeft()turnLeft(1, 0.5)

Girando a la Derecha

turnRight(velocidad, tiempo)Ejemplos:turnRight()turnRight(1, 0.5)

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 31: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosUsando los sensores

¿Cómo obtenemos los valores de los sensores?senses()ping()getObstacle()

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 32: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosGenerando un módulo

¿Cómo guardo mis programas?

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 33: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosGenerando un módulo

Un módulo es un archivo de texto cuya extensión en “.py“ ycontiene sentencias Python

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 34: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primeros PasosGenerando un módulo

Generamos el archivo desde cualquier editorLo importamos desde el shellLo ejecutamos desde la consola

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots

Page 35: Taller de Programaci[PleaseinsertPrerenderUnicode{ó ... · Taller de Programación en Python con Robots Temario Elproyecto:Entre Robots, juegos y lenguajes: una experiencia de

Primer curso de programación usando robots y PythonAhora si..

A trabajar!! ..

Grupo de Desarrollo LihuenTaller de Programación en Python con Robots