Uso de Karel para la Enseñanza de Programación … MX 2015... · Diferencia entre programación y...

32
Uso de Karel para la Enseñanza de Programación Estructurada “Programando sin Computadora: Una Dinámica de Juego” Por Dr. Emmanuel López-Neri Centro de Investigación, Innovación y Desarrollo Tecnológico UVM

Transcript of Uso de Karel para la Enseñanza de Programación … MX 2015... · Diferencia entre programación y...

Uso de Karel para la Enseñanza de Programación Estructurada

“Programando sin Computadora: Una Dinámica de Juego”

Por Dr. Emmanuel López-Neri

Centro de Investigación, Innovación y Desarrollo Tecnológico UVM

Contenido

• 1 Parte : Introducción a la programación – El juego de Karel

– Ejercicios para el juego

• 2da Parte: Identificando Estructuras de programación – Retomando al escribano

• 3era Parte: El mundo de Karel – Divide y Vencerás

– ¿Qué sigue?

¿Qué es Programar?

“Definir las instrucciones que se deben seguir para ejecutar una tarea” *

* Definición para este taller

Instrucciones

Ejecutor

Nuestro Juego

TABLERO

30cm x 30 cm

Nuestro Juego

Nuestro Juego

TABLERO

Karel

Nuestro Juego

TABLERO

Karel

Escribano

Nuestro Juego

TABLERO

Robot

Escribano

Programador

Nuestro Juego

TABLERO

Karel

Escribano

Programador

Cajas

Nuestro Juego

TABLERO

Karel

Escribano

Programador

Cajas

Paredes

¿Qué instrucciones entiende el Robot?

• Avanza

• Gira-Izquierda

• Recoge-Caja

• Deja-Caja

• ¿Hay-caja?

• ¿Puedes-Avanzar?

• ¿Tienes-cajas-en-mochila?

Da Instrucciones y escucha Respuesta

Ejecuta Instrucciones y da Respuesta

Reglas

Avanza: Karel se mueve solo un cuadro en dirección de donde esté viendo

Karel no puede avanzar si ya no hay mas cuadros

Karel no puede avanzar si hay

objetos no reconocidos

(paredes)

Primera Parte

Reto: Traer caja al lugar de inicio de Karel Ojos Abiertos

Escribano registra cada instrucción del programador y toma tiempo. ( Se usarán en la 2da parte del taller)

Segunda Parte

Reto: Traer caja al lugar de inicio de Karel

Ojos Cerrados

Escribano registra cada instrucción del programador. ( Se usarán en la 2da parte del taller)

Tercera Parte

Reto: Traer caja al lugar de inicio de Karel

Escribano registra cada instrucción del programador

Cuarta Parte

Reto: Karel debe armar una pirámide inversa.

Escribano registra cada instrucción del programador

Quinta Parte

Reto: Karel debe encerrar cualquier objeto pared

Escribano registra cada instrucción del programador

2DA PARTE

Identificando Estructuras de Control

Estructuras de Control

avanza; avanza;

si puedes-avanzar entonces inicio avanza; avanza; fin sino inicio deja-zumbador; fin;

iniciar-programa inicia-ejecución termina-ejecución

finalizar-programa

mientras frente-libre hacer Inicio avanza; fin;

si puedes-avanzar entonces inicio avanza; avanza; fin;

Instrucciones y Sensores

• Avanza

• Gira-Izquierda

• Recoge-Caja

• Deja-Caja

• ¿Hay-caja?

• ¿Puedes-Avanzar?

• ¿Tienes-cajas-en-mochila?

Ejecuta Instrucciones y da Respuesta

Instrucciones (i1,i2,…in)

Sensores (q1,q2,…qn)

Identificación de Estructuras

Escribano

avanza; ¿hay-caja? R: si avanza; ¿hay-caja? R: si avanza; ¿hay-caja? R: no deja-caja;

Q1= ¿Hay-caja? I1= avanza; I2:=deja-caja;

s

n

I2

Repetimos el Juego (Ahora siguiendo el algoritmo)

Comparar con los tiempos del escribano en el ejercicio anterior.

3ERA PARTE: EL MUNDO DE KAREL

Descargar la Plataforma de Karel

http://www.cmirg.com/karelotitlan/

El mundo de karel

Divide y Vencerás

Divide y Vencerás

¿Qué Sigue?

Diferencia entre programación y codificación, rompiendo un paradigma de enseñanza:

https://my.laureate.net/faculty/webinars/Documents/2013Agosto_Diferencia%20entre%20Programacion%20y%20Codificacion,%20

Rompiendo%20un%20Paradigma%20de%20Ensenanza.pdf

https://my.laureate.net/Faculty/webinars/Pages/Diferenciaentreprogramaci%C3%B3nycodificaci%C3%B3n,rompiendounparadigmadeense%C3%B1anza.aspx

La Metodología Propuesta (Lopez-Neri,2014)

Entender el Problema

Propuesta de Algoritmo

Verificar Validez Lógica

Verificar Validez

Estructural Implementar

1 3 2 4

Referencias

• Garden City Collage, (2012,marzo 31). Concepts of Algorithm, Flow Chart & C Programming. [archivo de video]. Recuperado de https://www.youtube.com/watch?v=DF2XAc07eI0

• Rodriguez, M.A., (1991). Metodología de Programación a través de Pseudocódigo. 1era Edición. McGraw Hill

• Santamaría, L., (2004). Metodología de programación. Principios y aplicaciones.

• Cairó, O., (2006). Fundamentos de programación. Piensa en C. Prentice Hall.

• Cairó, O., (2009).Metodología de la programación. AlfaOmega.

• Lopez-Neri (2014), https://my.laureate.net/Faculty/webinars/Pages/Diferenciaentreprogramaci%C3%B3nycodificaci%C3%B3n,rompiendounparadigmadeense%C3%B1anza.aspx

¡Gracias !

@elopezneri /elopezneri www.cidetec-uvm.com

Dr. Emmanuel López Neri Director Centro de Investigación, Innovación

y Desarrollo Tecnológico UVM Campus Guadalajara Sur, México

(CIIDETEC-UVM) [email protected]