clase 1: conceptos generales - linti - · pdf fileprimer curso de programación usando...

Post on 24-Feb-2018

222 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Clase 1: Conceptos Generales

Grupo de Desarrollo Lihuen

Agosto 2012

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Clase 1Temario

El proyecto: Entre Robots, juegos y lenguajes: unaexperiencia de aprendizaje real en las aulasConceptos básicos

Introducción al Software LibreLicencias Creative Conmons

GNU/LinuxLos RobotsIntroducción a PythonGuía práctica

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

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

Equipamiento en las escuelas20 robots1 netbook1 filmadora

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

Programando con Python y RobotsRecursos Necesario

Plataforma LinuxRobots inalámbricos

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

Entre Robots, juegos y lenguajes: una experiencia deaprendizaje real en las aulasEquipo de Trabajo UNLP

Coordinación General Claudia Banchoff - Javier DíazCoordinación Capacitadores Sofía MartinCoordinación Pedagógica Celeste FelipeCoordinación Administrativa Valeria RivasCapacitadores Andrea Gómez del Mónaco - Antonella Iocco -

Ignacio Rodriguez - Matias Perozo - Leonel Farkas -Damián Mel -

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Software Libre

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Software LibreConceptos Básicos

Propietario/PrivativoSharewareFreewareComercial

Free/Libre Software FLOSSOpen Source Software FLOSS

http://www.gnu.org/philosophy/categories.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Software LibreConceptos Básicos

Propietario/PrivativoSharewareFreewareComercial

Free/Libre Software FLOSSOpen Source Software FLOSS

http://www.gnu.org/philosophy/categories.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Software LibreConceptos Básicos

Propietario/PrivativoSharewareFreewareComercial

Free/Libre Software FLOSSOpen Source Software FLOSS

http://www.gnu.org/philosophy/categories.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Software LibreLibertades ...

Se puede usar concualquier propósitoSe puede estudiar yadaptarSe puede distribuircopiasSe puede mejorar ypublicar

Tener en cuentaNO significa que notenga licencia

Por lo general, la licencia permite todo lo anterior.¿GPL?

http://www.gnu.org/philosophy/free-sw.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Software LibreLibertades ...

Se puede usar concualquier propósitoSe puede estudiar yadaptarSe puede distribuircopiasSe puede mejorar ypublicar

Tener en cuentaNO significa que notenga licencia

Por lo general, la licencia permite todo lo anterior.¿GPL?

http://www.gnu.org/philosophy/free-sw.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Compartiendo obrasLicencias Creative Commons

¿Conocen la iniciativa Creative Commons?

Organización sin fines de lucroCreada por James Boyle, Michael Carroll y Lawrence Lessig en2001.Promueve la libertad de compartir creaciones en las cualesel autor puede elegir una licencia para su obra.Basada en la GPL, aunque no está pensada para Software

http://www.gnu.org/philosophy/free-sw.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Compartiendo obrasLicencias Creative Commons

¿Conocen la iniciativa Creative Commons?

Organización sin fines de lucroCreada por James Boyle, Michael Carroll y Lawrence Lessig en2001.Promueve la libertad de compartir creaciones en las cualesel autor puede elegir una licencia para su obra.Basada en la GPL, aunque no está pensada para Software

http://www.gnu.org/philosophy/free-sw.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Compartiendo obrasLicencias Creative Commons

¿Conocen la iniciativa Creative Commons?

Organización sin fines de lucroCreada por James Boyle, Michael Carroll y Lawrence Lessig en2001.Promueve la libertad de compartir creaciones en las cualesel autor puede elegir una licencia para su obra.Basada en la GPL, aunque no está pensada para Software

http://www.gnu.org/philosophy/free-sw.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Licencias Creative Commons

Reconocimiento(Attribution) El material creado puede serdistribuido, copiado y exhibido por terceras personas sise muestra en los créditos.

No Comercial (Non commercial) El material original y los trabajosderivados pueden ser distribuidos, copiados y exhibidosmientras su uso no sea comercial.

Sin Obra Derivada (No Derivate Works) El material creado puedeser distribuido, copiado y exhibido pero no se puedeutilizar para crear un trabajo derivado del original.

Compartir Igual (Share alike) El material creado puede sermodificado y distribuido pero bajo la misma licenciaque el material original.

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

GNU/Linux

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Entorno GNU/Linux¿Qué es GNU/Linux?

Es un sistema operativo libreSe compone del software encargado de la interacción entre lasaplicaciones y el hardware (denominado núcleo -Linux) y unconjunto de aplicaciones para los usuarios tales como editoresde texto, programas multimedia, entornos gráficos, etc.incluidos en el proyecto GNU

Por eso es: GNU/LinuxUn poco de historia:http://www.gnu.org/gnu/gnu-history.es.html

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Entorno GNU/Linux¿Distribuciones Linux?

Hay muchas . . .No todas libres ...

En las netbooks: RxART, Ubuntu, RedHatLihuen: http://lihuen.info.unlp.edu.arLa mayoría, con entornos son muy parecidos ...

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Entorno GNU/LinuxIngresando al sistema

Como están acostumbrados, nos identificamos en el sistemaIngresamos Usuario y Clave

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Entorno GNU/LinuxEl escritorio

Ahora veremos las distintas componentes del escritorio detrabajoLas mostramos sobre Lihuen, pero son generales

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Entorno GNU/LinuxEl manejo de archivos

Algunas consideraciones sobre Linux

El sistema de archivosestá organizado endirectorios.Los discos NO tienenlos nombres A:, C:etc,Se pueden “montar”en un directorioTodo está dentro deldirectorio / raíz

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Los RobotsCaracterísticas Básicas

Los Robots

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Los RobotsCaracterísticas Básicas

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

PythonCaracterísticas Básicas

Introducción a Python

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

PythonCaracterísticas Básicas

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

PythonEl Intérprete

Consola

Geany

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Materiales adicionales

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Primeros PasosInstalando

Primeros pasos

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

Primeros PasosInstalando

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Primeros PasosInstalando

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

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 LihuenClase 1: Conceptos Generales

Primeros PasosIniciando la actividad

from du inobot import ∗boards ( )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 LihuenClase 1: Conceptos Generales

Primeros Pasos¿Movemos el robot?

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

Hacia Atrásbackward(velocidad,tiempo)Ejemplos:backward()backward(1, 0.5)

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Primeros Pasos¿Movemos el robot?

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

Hacia Atrásbackward(velocidad,tiempo)Ejemplos:backward()backward(1, 0.5)

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Primeros Pasos¿Movemos el robot?

Girando a la IzquierdaturnLeft(velocidad, tiempo)Ejemplos:turnLeft()turnLeft(1, 0.5)

Girando a la DerechaturnRight(velocidad,tiempo)Ejemplos:turnRight()turnRight(1, 0.5)

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Primeros PasosGenerando un módulo

¿Cómo guardo mis programas?

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Primeros PasosGenerando un módulo

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

Primeros PasosGenerando un módulo

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

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

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

A trabajar!! ..

Grupo de Desarrollo LihuenClase 1: Conceptos Generales

top related