Está en la página 1de 104

2 pensamiento computacional

índice
Bienvenidos a Cuantrix ............................................................ 4

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

¿Qué es el pensamiento computacional? . . . . . . . . . . . . . . . . . . . . . 6


¿Por qué aprender a programar en la escuela? . . . . . . . . . . . . . . . . 6
Propósitos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Contenidos escolares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Contenidos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Estrategias didácticas y pasos a seguir . . . . . . . . . . . . . . . . . . . . . . . 9
Seguridad en internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1. Noción de programación e instrucciones ........................ 13

Sesión 1: “Las computadoras hacen todo al . . . . . . . . . . . . . . . . . . 14


pie de la letra” (Desconectada)
Sesión 2: Programación con papel (Desconectada) . . . . . . . . . . . . 15
1.1 División de un problema grande en subtareas . . . . . . . . . . . . . . . . . 21
Sesión 3: Robot Lightbot desconectado (Desconectada) . . . . . . . . 21
Sesión 4: Algoritmos de la vida real (Desconectada) . . . . . . . . . . . 24

2. Conceptos básicos de programación ............................... 27

2.1 Eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Sesión 5: Repetición simple en Scratch (Conectada) . . . . . . . . . . . 28
Sesión 6: El gran evento (Desconectada) . . . . . . . . . . . . . . . . . . . . . 30
2.2 Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Sesión 7: Comandos con el Robot Lightbot (Conectada) . . . . . . . . 33
Sesión 8: Secuencias con laberintos (Conectada) . . . . . . . . . . . . . 35
2.3 Secuencias de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Sesion 9: Programación con vasos (Desconectada) . . . . . . . . . . . . 35
Sesión 10: Secuencias con artistas (Conectada) . . . . . . . . . . . . . . . 38
2.4 Depuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Sesión 11: Carrera de relevos (Desconectada) . . . . . . . . . . . . . . . . 39

3. Conceptos intermedios de programación ....................... 45

3.1 Modelo de seguimiento de programa . . . . . . . . . . . . . . . . . . . . . . . . 46


Sesión 12: Seguimiento de programa con Scratch (Conectada) . . 46
Sesión 13: Programar en papel cuadriculado (Desconectada) . . . 49
3

3.2 Condicionales “Espera hasta” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52


Sesión 14: Condicionales con cartas (Desconectada) . . . . . . . . . . 52
Sesión 15: Condicionales con abejas (Conectada) . . . . . . . . . . . . . 55
3.3 Estructuras de las decisiones y las condicionales . . . . . . . . . . . . . . 56
Sesión 16: Escenarios cambiantes (Desconectada) . . . . . . . . . . . . 56
3.4 Decisiones mediante switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Sesión 17: Secuencias y loops con laberintos (Conectada) . . . . . . 57
Sesión 18: Escenarios cambiantes con Scratch (Conectada) . . . . 57
3.5 Iteraciones (loops) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Sesión 19: Repeticiones con Scratch (Conectada) . . . . . . . . . . . . . 64
Sesión 20: Loops de la vida real (Desconectada) . . . . . . . . . . . . . . 67
Sesión 21: Loops con el Robot Lightbot (Conectada) . . . . . . . . . . . 68
3.6 Funciones y variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Sesión 22: Crea un llavero programable (Desconectada) . . . . . . . 72
Sesión 23: Funciones con artistas (Conectada) . . . . . . . . . . . . . . . 74
Sesión 24: Funciones y variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
con el Robot Lightbot (Conectada)

4. Soluciones del mundo real (último reto) ........................ 83

1. Aprender acerca del tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84


2. Identificar un problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3. Crear una solución innovadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4. Desarrollar su propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5. Hacer una presentación de la solución . . . . . . . . . . . . . . . . . . . . . . . . 86
6. Aportar a su comunidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Anexo 1: Actividades Extras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Vocabulario para enseñar a programar .............................. 95


de manera fácil

Guías de descargas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Guía práctica de introducción a Scratch .............................. 98

Recetas para resolver problemas ...................................... 103

Conclusión general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104


4 pensamiento computacional

Bienvenidos a Cuantrix
Una iniciativa de izzi, AMITI y Fundación Televisa, la “Desarrollar un pensamiento analítico y estructurado,
cual busca que cada año en México al menos un millón utilizando en un principio juegos y herramientas didácticas,
de niñ@s y jóvenes se interesen por el pensamiento nos dará los conocimientos básicos de la programación
computacional y aprendan a programar. y nos ayuda a detectar el proceso que debe seguirse para
desarrollar un proyecto, producto o servicio: qué necesitas,
La programación como herramienta de educación dónde comienzas, a dónde quieres llegar y los pasos in-
resulta especialmente interesante y divertida en mu- termedios para lograrlo. Una vez que tienes esta habilidad
chos aspectos, ya que desarrolla diversas habilida- puedes hacer lo que sea”.
des multidisciplinarias en los niñ@s; como aprender
a trabajar en equipo, fomentar la persistencia y la
creatividad. Aptitudes que los ayudarán en su a de- MCC. Magdalena de la Luz Navarro Mojica
sarrollar su capacidad para resolver determinados Profesora de Informática, Programación y Algorítmica
problemas y los fortalecerán en cualquier materia. del Tecnológico de Monterrey campus Querétaro

La creatividad, la sociabilidad y la comunicación entre los


chicos se ve beneficiada exponencialmente a través de di-
ferentes recursos y herramientas que se utilizarán para “Crear es imaginar, crear es transformar, crear es acercarse
resolver problemas. Y todo esto gracias a la programación. con curiosidad y empatía a entender un problema y tratar de
solucionarlo. Ser creativos es una característica humana,
Acompaña a tus alumnos a visitar cuantrix.mx y que nos permite ser mejores personas, mejores ciudadanos,
juntos preparemos a los nuevos creadores tecno- y tener armonía con nuestro planeta. Aprender a
lógicos, para que puedan pensar y diseñar el mun- programar es aprender una de las actividades creativas
do del futuro desde ahora. más poderosas. La programación nos transforma en seres
capaces de crear a través de máquinas, computadoras,
Los materiales que hemos desarrollado, serán reforzados teléfonos, sensores, redes, drones y cientos de tecnologías
y asesorados por nuestra página web, es muy importan- que existen y existirán. La programación nos permite
te que estés informado y recurras a ella constantemente resolver problemas que sobrepasan nuestros límites como
para que la vinculación de cuantrix con el calendario es- humanos. cuantrix es una enorme oportunidad para
colar sea más sencilla. que miles de niños puedan aprender a programar y verse
fortalecidos como creadores. Estoy seguro de que esta
Para desarrollar el todo material curricular, cuantrix si- iniciativa marcará una generación de nuevos creadores
guió modelos importantes de organizaciones internacio- que, con la programación, generará un México más
nales dedicadas a la misma tarea como son Code.org, emprendedor, más prospero, con más visión y compromiso”.
Fundación Sadosky y CS Unplugged. Además de contar
con el apoyo de destacadas personalidades académicas
en el ramo y qué mejor que escuchar las palabras de Dr. Víctor M. González y González
algunos de los miembros de nuestro comité asesor: Jefe del Departamento Académico de Computación del ITAM
5

“Programar es aprender el idioma de una computadora, “Programar es aprender. Programar es principalmente


es aprender a pensar, a desarrollar la imaginación, a una habilidad que debe dominarse si se quiere pasar de
tener nuevas habilidades y, sobre todo, a poder usar, ser consumidores pasivos a actores digitales. Programar
explotar y disfrutar la tecnología. es abrir el campo de posibilidades, dar vida a las ideas,
crear las herramientas del mañana. Es adoptar un razo-
Atrévete a pensar diferente”. namiento lógico y encontrar soluciones simples a problemas
complejos en todos los ámbitos y sectores.
Dra. Karina Mariela Figueroa Mora.
Profesora e investigadora en la Facultad Programar me ha enseñado que aprender puede ser divertido”.
de Ciencias Físico-Matemáticas de la Universidad
Michoacana de San Nicolás de Hidalgo Dra. M. Rocío Abascal
Profesora y coordinadora de la Maestría en Diseño,
“Los programadores serán indispensables en muchas Información y Comunicación de la UAM
empresas del futuro. Un programador piensa de manera
estructurada, compleja y creativa, usa herramientas “La educación en el pensamiento computacional es esencial
avanzadas como las matemáticas para resolver problemas para desarrollar la competencia de solución de problemas,
de alto impacto tecnológico, social y económico mediante que a su vez es una de las competencias más apreciadas
computadoras físicas o biológicas. Con estas herramientas, y requeridas por los empleadores más importantes a nivel
él o ella pueden crear las empresas del futuro desde internacional. De aquí se desprende la importancia del
una computadora. El reto cuantrix tiene por objetivo proyecto cuantrix, el cual busca desarrollar el pensamiento
desarrollar competencias en el uso de estas herramientas computacional a través de la enseñanza de la programación.
y así contribuir en la formación de los nuevos agentes de Éste es el tipo de programas que vale la pena que la sociedad
cambio para la economía digital”. apoye e impulse”.

Dr. César Raúl Cárdenas Pérez Dr. Juan Arturo Nolazco


Director of the Electronic Design Center and Director del Área de Tecnologías de Información y Eletrónica
Professor at the Mechatronics Department del Tecnológico de Monterrey, campus Monterrey

Los invitamos a ser parte de este esfuerzo en beneficio de cientos de miles de


estudiantes mexicanos, quienes transformarán su pensamiento para convertirse
en creadores de la tecnología que utilizan.
Entra a cuantrix.mx y encontrarás todo lo que necesites.
6 pensamiento computacional

introducción
¿Qué es el pensamiento computacional?
Nuestra calidad de vida depende de nuestro pensamiento, ya que esta es la habilidad que nos
permite tomar decisiones y resolver problemas. Si pensamos mejor, vivimos mejor nosotros y
quienes nos rodean.

El objetivo del pensamiento computacional es desarrollar sistemáticamente las habilidades


del pensamiento crítico y la resolución de problemas con base en los conceptos de la computa-
ción. En suma, que las personas potencien y aprovechen el poder que tienen las computado-
ras en la actualidad.

El pensamiento computacional es un proceso de solución de problemas que incluye, entre


otras, las siguientes características:

• Organizar y analizar datos de forma lógica.


• Representar datos mediante abstracciones, tales como modelos y simulaciones.
• Automatizar soluciones mediante algoritmos (pasos ordenados para lograrlo).
• Formular problemas para que las computadoras puedan solucionarlos.
• Identificar, analizar y desarrollar posibles soluciones a los problemas. Encontrar la
combinación de pasos y recursos eficientes y efectivos.
• Entender los procesos para solucionar problemas en el mundo computacional y convertirlos
en la solución de diferentes problemas.

Es importante preparar a los estudiantes para convertirse en pensadores computacionales,


es decir, que entiendan la manera en la que las herramientas digitales que tenemos hoy pueden
ayudar a resolver problemas del mañana. Para lograrlo, sabemos que aprender a programar
es el primer paso.

¿Por qué aprender a programar en la escuela?


Más que formar programadores, se trata de que nuestros estudiantes, cuando terminen
la escuela primaria, sean capaces de transformar y resolver problemas con más
herramientas.

La programación es una herramienta para que nuestros alumnos puedan comprender a


profundidad el entorno digital en el que viven y, de este modo, sean capaces de contribuir en él
con madurez y sentido crítico.

Aprendemos programación para aprender a expresarnos en lenguajes propios de nuestro siglo,


a interpretarlos y a aplicarlos en sentido crítico. Hay evidencias de que aprender a programar
desde la infancia mejora los resultados en exámenes de matemáticas, refuerza el razonamiento
y la resolución de problemas, tiene un impacto positivo en la creatividad y en la respuesta
emocional; así como en el desarrollo de las habilidades cognitivas y socioemocionales.

Por lo tanto, queremos programar para aprender, para expresarnos, para comprender mejor
los contenidos científicos y tecnológicos, para perder el miedo a crear y compartir y para que
todos tengamos las mismas oportunidades de acceder a una alfabetización propia del siglo XXI.
La tradición escolar de enseñanza en las TIC (Tecnología de la Información y Comunicación) se ha
7

centrado en el aprendizaje de herramientas específicas de software, como


Excel, Word, uso de buscadores, etc., herramientas que fortalecen las
destrezas operacionales; sin embargo, es necesario fomentar habilidades,
conocimientos y actitudes diversas: ser crítico y reflexivo con el uso que
hacemos de las tecnologías, consciente de sus posibilidades y riesgos y
capaces de evolucionar y crear con ellas.

Queremos fomentar una programación creativa que conecte los intereses


y gustos del alumno con proyectos en los que puedan ser protagonistas,
así como que se expresen en los mismos lenguajes que están acostum-
brados a consumir. Por esto, nos apoyamos en diferentes herramientas,
con y sin internet.

Pretendemos que, por medio de la programación en contextos significati-


vos, puedan trabajar la creatividad, la expresión, el trabajo colaborativo y,
en equipo, la comunicación, la modelización y resolución de problemas; el
proceso que empieza con una idea hasta llegar a desarrollar un proyecto,
la experimentación con nuevas ideas, la perseverancia cuando las cosas
no funcionan bien, sin frustrarse al aprender a tolerar la frustración: todas
éstas son habilidades del siglo XXI.

“A los 10 años empecé a programar robots y tuve la oportunidad de desarrollar


un pensamiento lógico y creativo para la solución de problemas. Definitivamente,
no todo lo que programas tiene un resultado inmediato. Programar es un proceso
de dedicación y perseverancia que te ayuda a razonar la manera para poder llegar
a un objetivo. Es definitivamente lo más parecido a un superpoder que te dan las
herramientas, para poder solucionar la gran mayoría de los problemas actuales.
Ya no sólo es importante que los niños sepan hablar y escribir, también es impor-
tante que aprenden a programar y tengan un pensamiento computacional, cual-
quiera que sea su meta en la vida. Una vez que los niños comprenden el lenguaje
de las computadoras, sin darse cuenta desarrollan habilidades que les servirán
para enfrentar los retos del siglo XXI. Lo más importante es que los niños tomen
conciencia de que programar es divertido y de que es un proceso de lógica, razona-
miento y perseverancia que conduce a la solución de problemas de su comunidad,
de su país y del mundo.

cuantrix tiene ese objetivo: que todos los niños en México puedan ser creadores de
tecnología y sean los próximos líderes en estos temas”.

Adolfo Ferrer, Liks.co


8 pensamiento computacional

Propósitos generales
• Propiciar la reflexión acerca de la utilidad de los programas para representar ideas y resolver
problemas.
• Explorar el funcionamiento de las computadoras que sirven, no sólo para ejecutar programas,
sino para realizar lo que el programa indique.
• Fomentar que los alumnos diseñen sus propios programas, de manera que no se limiten a
ser usuarios de aplicaciones realizadas por terceros.
• Estimular la confianza de los alumnos mediante el uso y la ejecución de programas diseñados
por ellos mismos.
• Promover la reflexión crítica y el trabajo colaborativo a través de la detección y corrección
de errores de los programas propios y ajenos.
• Trabajar con conceptos relacionados con las ciencias de la computación para desarrollar
habilidades de pensamiento computacional.

Contenidos escolares
• Algoritmos, repeticiones, funciones, variables, condicionales
• Abstracción, descomposición, patrones
• Familiarización con las herramientas de la computadora
• Impacto social, comunitario y ético
• Creatividad
• Resolución de problemas
• Pensamiento lógico-matemático, series numéricas y vectores

Aprender a programar reforzará, entre otras, las siguientes habilidades:

- Confianza para manejar situaciones complejas


- Persistencia al trabajar con problemas difíciles
- Tolerancia
- Habilidad para lidiar con problemas no estructurados
- Habilidad de comunicación y trabajo en equipo

Contenidos generales
• Noción de programa y máquina. Comandos (acciones) y valores (datos).
• Estrategias de identificación y división de subtareas.
• Soluciones a problemas de programación.
• Identificación de problemas secundarios.
• Procedimientos.
• Repeticiones simples. Alternativas condicionales. Repeticiones condicionales.
• Uso de diferentes herramientas (Scratch, Lightbot, ScratchJr, etc).
• Procesamiento de estructuras lineales y diseño de actividades típicas de programación,
incluyendo la selección de operaciones primitivas del sistema de cómputo elemental o
autómata.
• Metodología para la corrección de errores del programa a partir del análisis de la diferencia
entre lo que se espera de éste y lo que efectivamente hace.
9

Estrategias didácticas y pasos a seguir


Todos los manuales de Cuantrix están pensados con un orden y lógica pedagógica para que
tanto los maestros y alumnos puedan adquirir las competencias necesarias para lograr un
pensamiento computacional, por lo cual te recomendamos seguir los siguientes pasos:

• Siempre que tengas oportunidad utiliza nuestra página de internet: http://cuantrix.mx/,


aquí encontraras todo lo que necesitas para implementar este manual.
• Seguir el orden de las sesiones propuestas tratando de nuca saltarte ninguna, ya que llevan
una secuencia de aprendizaje.
• Es importante leer cada sesión antes de implementarla en clase y tratar y hacer analogías
con la vida real, para que así tus alumnos logren aplicarlas.
• Fomenta siempre el trabajo en equipo y la colaboración
• Apóyate de la habilidad de tus alumnos y así puedas incrementar tu experiencia.
• Encontrarás actividades sin internet, te pedimos que no le resten interés, ya que están
intencionalmente planeadas para ayudar a los estudiantes para digerir los conceptos
complicados y poder relacionarlos a su vida diaria, están diseñadas para grupos o para
la clase completa, estas actividades incrementan la colaboración, creatividad y diseño de
soluciones en el pensamiento lógico.
• Es importante realizar el manual durante el ciclo escolar 2017-2018, para lo cual te
recomendamos los siguientes pasos:

1. Te proponemos hacer una sesión a la semana, así tus alumnos no perderán el interés
y te resultará más fácil y divertido la implementación de cuantrix.

2. En Septiembre entra a http://cuantrix.mx/ y acompaña a tus alumnos a realizar el


primer reto cuantrix, que tiene como objetivo el levantamiento de una evaluación de
aprendizaje, por lo cual es importante realizarla antes de empezar con las sesiones.

3. Antes de salir de vacaciones en diciembre, tendría que estar terminada la segunda


unidad del manual.

4. Año nuevo vida nueva, te recomendamos hacer un resumen de lo aprendido, entrando a


http://cuantrix.mx/ y dejar a tus alumnos entrar a alguna de las plataformas de intermedios

5. La semana del 19 de febrero, entra a http://cuantrix.mx/ y acompaña a tus alumnos a resolver


el 2°reto cuantrix, una evaluación intermedia para realizarla después de la sesión 3.4.

6. Para antes de semana santa ya tendrías que estar terminando la sesión 20.

7. Para el mes de mayo tendrías que empezar nuestra última unidad, esto lo puedes ligar a
entregas de otras materias, ya que se elaborara un proyecto multidisciplinario muy interesante.

Despues de los temas aprendidos, en este capítulo Se propone hacer una investigación
de los problemas que enfrenta su mundo real y encontrar soluciones aplicando lo
aprendido hasta ahora.

8. Al finalizar su proyecto, entra a http://cuantrix.mx/ para acompañar a tus alumnos a


completar el tercero y último reto cuantrix.

Es muy importante ya que solo así podemos nosotros evaluar el aprendizaje e impacto
de cuantrix en los niños.
10 pensamiento computacional

Seguridad en Internet
Antes de avanzar al siguiente tema no olvides entrar a cuantrix.mx para
realizar el 1er Reto.

CODE. ORG
TU HUELLA DIGITAL

Tenemos la obligación de transmitir a los estudiantes que el uso de la tecno-


logía, particularmente el internet, tiene riesgos y responsabilidades. Estamos
enseñándoles a crear con responsabilidad.

Esta lección orienta a los estudiantes a comprender que muchos sitios de


internet solicitan información que es privada por lo tanto, tienen que ser muy
responsables en esto. Los estudiantes descubren también que pueden entrar
a sitios extraordinarios, pero siempre habrá que seguir ciertas reglas para no
correr riesgos.

OBJETIVOS:

• Entender que no correr riesgos en el internet es similar a no estar en


peligro en la vida real.
• Aprender a reconocer sitios que son adecuados para ellos.
• Reconocer el tipo de información que es privada y los riesgos de compartirla.
• Aprender a crear nombres de usuarios efectivos que protejan su identidad e
información privada.

INTRODUCCIÓN:

Invita a los alumnos a platicar sobre los lugares que han visitado en familia o
de viajes escolares: museos, zoológicos, ferias, exposiciones, etcétera. Tam-
bién pueden hacer viajes imaginarios a los lugares que ellos elijan.

Haz que pasen a platicar al frente de la clase, describiendo que van viendo y
haciendo. Pregúntales de forma sorpresiva ¿Qué necesitan para estar seguros
en esos lugares?

Explícales que hay tres reglas básicas para navegar en internet:

1. Pedir permiso a sus papás, maestro o tutores


2. Hablar sólo con personas que conocen
3. Escoger lugares que son buenos para ellos

Ahora vamos a pensar ¿qué más podemos hacer para mantenernos seguros?
11

ACTIVIDAD:

Pide a tus alumnos que den ejemplos de información que tienen que mantener privada. Escribe
sus respuestas en el pizarrón.

Después, explícales lo que es la información privada: nombre completo, edad, dirección, teléfono,
direcciones de correo electrónico, lugares que visitan, lugar de trabajo de los padres, etc.

Empieza una discusión sobre por qué consideran es importante mantener en privado esta información.

Recuérdales que hay reglas básicas para crear un usuario:

1. Utilizar la ayuda de un adulto de confianza para crear su usuario.


2. Nunca incluir información privada en los datos del usuario.
3. Evita usar símbolos y espacios porque, en general, no están permitidos.

Algunas ideas para crearlo:

1. Puede ser nombre de algo que te ayude a recordarlo, como tu animal favorito, personaje o
juguete. Tal vez tienes que mezclarlo con algún número.
2. El usuario ya está en uso.
3. Escribe tu usuario y la contraseña y guarda la información en un lugar seguro. Puedes
comentar con alguien de confianza por si se te olvida.

ACTIVIDAD:

Dales una hoja de papel y que trabajen en pares.

1. Que se formulen las siguientes preguntas entre ellos: ¿Cuál es su animal favorito? ¿Cuál
es su programa de tv, película o personaje favorito? ¿Cuál es su número favorito?
2. Con la información obtenida que cada alumno haga tres opciones seguras de nombres de
usuarios para su pareja. No debe incluir información privada o distinta, sólo con base en
las preguntas.
3. Pídeles que los compartan a toda la clase.
4. Organízalos para que sean jueces y vean cuáles propuestas siguen las reglas de seguridad.

Organiza una discusión sobre lo que es apropiado compartir en internet; para qué puede usarse
el internet y qué reglas hay que seguir para navegar en la red.

Solo porque puedes compartir cosas en internet no quiere decir que


debas hacerlo.
La información que compartes en internet es tu huella digital para localizarte.
Solo tú puedes hacer que esto sea difícil o fácil, las diferencias residen
en como lo manejes.

INFORMACIÓN EXTRA: Digital Compass, de Common Sense Media


Te proponemos la siguiente herramienta para brindar apoyo al tema de seguridad en internet.
https://d2e111jq13me73.cloudfront.net/sites/default/files/educator_guide_092415_sp.pdf
http://www.pantallasamigas.net/otros-webs/privacidad-online-net.shtm
12 pensamiento computacional
13

Entra a cuantrix.mx
14 pensamiento computacional

Noción de programación
1 e instrucciones
En esta parte trabajaremos algunas nociones elementales de programación. Al respecto, interesa destacar que
un programa puede ser entendido como un conjunto de instrucciones (que corresponden a comandos) desti-
nadas a ser ejecutadas por una máquina: la computadora. De manera más específica, estas instrucciones son
descripciones de soluciones a problemas. Programar implica, por lo tanto, delimitar problemas para poder luego
formular las soluciones adecuadas. Para ello, proponemos emplear una estrategia llamada división en tareas
secundarias, que consiste en dividir una acción en otras acciones más pequeñas, que son parte de aquella.

Esta sesión tiene dos palabras importantes:

Algoritmo: una lista de pasos a seguir para lograr una solución de una tarea deter-
minada o llegar a una meta.
Programa: es un algoritmo que ha sido codificado en algún lenguaje para que una
computadora pueda interpretarlo.

Sesión 1
fecha propuesta antes del 23 de octubre
Sin computadora
Las computadoras hacen todo al pie de la letra

Program.AR

En esta primera secuencia didáctica no se utilizarán computadoras sino que, a partir de la representación de las
reglas de los programas computacional, se trabajará con los alumnos en el tipo de tareas que realiza una computadora
y se prestará atención al modo en que deben indicarse esas tareas.

Objetivos

• Comprender el carácter específico de las instrucciones empleadas en programación.


• Distinguir entre instrucciones generales y específicas.
• Conocer algunos de los conceptos propios del ámbito de la programación.
• Establecer relaciones entre el orden de las acciones programadas y los resultados obtenidos.

Desarrollo

Actividad 1

Para que los alumnos reflexionen acerca del modo en que trabajan las computadoras, puedes proponerles que
imaginen que el maestro es un robot, es decir, una máquina que, (como las computadoras) sigue al pie de la letra
las indicaciones que se le dan.

Los alumnos deberán darle, con precisión y en el orden adecuado, las instrucciones básicas para realizar una
tarea y cumplir un objetivo. Por ejemplo, dirigirse, desde un rincón del aula, hacia la puerta y salir. En este caso,
algunas de esas instrucciones básicas (llamadas primitivas) podrían ser las siguientes: “dar un paso hacia delante”,
“girar hacia la derecha”, “girar hacia la izquierda”, “abrir la puerta”.
15

Actividad 2

En un segundo momento de la clase, puede sugerírsele a los alumnos que piensen y formulen
acciones acotadas para que las realice algún compañero. Por ejemplo: “levantar brazo derecho”,
“pestañear”, “mirar a un determinado compañero”, “levantarse de la silla”, etc.

A continuación, se propondrá a un alumno que interprete el papel de robot y ejecute una serie
de instrucciones, como la siguiente: “levantarse de la silla”, “levantar el brazo derecho”, “cerrar
los ojos”, “abrir la boca”, “sentarse en la silla”.

Al término de estas actividades, puede presentarse la noción de comando, que es


la instrucción que un programador o usuario le da a una computadora, y pedir a los
alumnos que reflexionen acerca de la especificidad de las instrucciones formuladas.

Actividad 3

1. ¿Qué pasaría con el robot si las acciones que se le hubieran indicado fueran muy generales o
muy complejas (por ejemplo, “caminar” o “dibujar una casa”)? ¿Podría haberlas ejecutado?
2. ¿Se modificó el resultado final de la secuencia al cambiar el orden de las acciones?
3. ¿Qué ocurriría en los siguientes casos?

• Se le ordena al robot que se siente en una silla, pero no hay ninguna.


• Se le dice al robot que levante el brazo derecho y ya lo tiene levantado.
• Se le pide al robot que levante el brazo derecho mientras tiene levantado el izquierdo y no
se específica si antes debe de bajar éste o no.

Para profundizar en el carácter específico de las instrucciones que se utilizan en programación,


el maestro interpretará nuevamente el papel de robot y le solicitará a un alumno que lo guíe paso
a paso para que vaya al pizarrón y escriba una palabra determinada, (por ejemplo, el nombre
del alumno). El maestro/robot sólo podrá escribir la palabra cuando ésta le sea dictada letra
por letra, pero esto no se le dirá al alumno al comienzo, sino luego de que haya realizado varios
intentos. De este modo, por ejemplo, si el alumno dicta el nombre todo junto, respóndele: “No
entiendo”; si el maestro/robot no está en el pizarrón, ante la solicitud del alumno de que escriba,
dirá “No puedo escribir en el aire”.

Sesion 2
fecha propuesta antes del 30 de octubre
Programación en Papel
code.org

Para empezar

Los alumnos se organizarán entre ellos mediante el dibujo y así podrán entender de lo que se
trata la programación.

El primer paso es que los estudiantes den a sus compañeros las instrucciones necesarias para
dibujar cuadritos en un papel cuadriculado y poder reproducir así alguna figura que ya exista.
16 pensamiento computacional

Entenderán que, aun cuando sientan que las instrucciones son claras, hay cierta dificultad para ser interpretadas
por una computadora y practicarán la posibilidad de dar instrucciones mediante símbolos y códigos.

Para esta actividad necesitas papel cuadriculado o cualquier espacio donde haya una cuadrícula, como en el pizarrón,
o bien dibujarlos en una hoja blanca.

Puedes pedirles que pasen al pizarrón a rellenar los cuadros siguiendo las instrucciones, o pueden trabajar en
equipos y que le den las instrucciones a un miembro del equipo. Siempre se empezará dibujando el cuadro de la
esquina superior izquierda (donde está la estrella).

Empezaremos con instrucciones simples como son las Es un ejemplo fácil, ahora intenta con algo así.
siguientes:

1. Moverse un cuadrado a la derecha


2. Moverse un cuadrado a la izquierda Comienza
3. Moverse un cuadrado arriba aquí
4. Moverse un cuadrado abajo
5. Rellena el cuadro con color

Para lograr este dibujo, el algoritmo sería:

Comienza
aquí

Algoritmo:
1. Mover un cuadro a la derecha
2. Rellenar el cuadro con color
3. Mover un cuadro a la derecha
4. Mover un cuadro a la derecha
5. Rellenar el cuadro con color
6. Mover un cuadro abajo
7. Mover un cuadro a la izquierda
1. Mover un cuadrado a la derecha 8. Rellenar el cuadro con color
2. Rellenar el cuadro con color 9. Mover un cuadro a la izquierda
3. Mover un cuadrado a la derecha 10. Mover un cuadro a la izquierda
4. Mover un cuadrado abajo 11. Rellenar el cuadro con color
5. Rellenar el cuadro con color 12. Más instrucciones …

Con una ligera sustitución podemos hacer que este ejercicio sea más sencillo. Podemos, por ejemplo, sustituir por
una flecha toda nuestra línea de instrucciones.
17

Para dar las instrucciones, las flechas serán las respuestras del algoritmo.

Si tenemos el siguiente algoritmo:

1. Mueve un cuadro a la derecha.


2. Mueve un cuadro a la izquierda.
3. Rellena el cuadro con color.

Le corresponde el siguiente programa:

Ahora bien, utilizando este código podemos repetir la imagen anterior de la siguiente manera, y el programa en-
tero se escribiría así

Comienza
aquí

Indica los pasos con tu dedo


Ahora dibuja el siguiente código en el pizarrón e intenta que tus alumnos programen de la siguiente forma:
18 pensamiento computacional

Escoge un dibujo sencillo como el que sigue y píntalo En este momento tal vez tu clase ya está haciendo
en el pizarrón: propuestas para hacer diferentes actividades o tú tienes
nuevas ideas. Aprovecha el impulso.

Hay diferentes formas de hacerlo, pero si subsisten


Comienza dudas, continúa con el siguiente ejemplo:
aquí

Comienza
aquí

Ahora pídeles que te describan qué hiciste. Primero


puedes decir el algoritmo en voz alta y después escri-
bes tu instrucción verbal en un programa con los sím-
bolos anteriores.
Si notas que ya todos entendieron los conceptos, segui-
El algoritmo sería el siguiente: remos con las siguientes actividades.

1. Mover un cuadro a la derecha. Actividad 4:


2. Rellenar el cuadro con color.
3. Mover un cuadro a la derecha. 1. Divide a los estudiantes en grupos.
4. Mover un cuadro abajo. 2. Que cada equipo escoja una de las siguientes
5. Rellenar el cuadro con color. imágenes.
6. Mover un cuadro a la izquierda. 3. Que discutan cuál es el algoritmo.
7. Mover un cuadro a la izquierda. 4. Conviertan el algoritmo en programa.
8. Rellenar el cuadro con color. 5. Que intercambien los programas con otro equipo y
9. Mover un cuadro abajo. vean si logran hacer la misma imagen.
10. Mover un cuadro a la derecha. 6. Una vez concluido, intercambien la figura con otro
11. Rellenar el cuadro con color. equipo.
12. Mover un cuadro a la derecha.

Ahora pídeles que transformen el algoritmo en un programa:


19

Sigue el algoritmo con tu dedo y ve si puedes seguir los pasos de cada imagen en la parte de
a bajo.

Actividad 5

Ya aprendieron a crear algoritmos y programas para dibujar una imagen que alguien de su equipo
les dio. Ahora puedes ponerlos a practicar solos.

Necesitarás hojas, lápiz y los siguientes ejemplos:


20 pensamiento computacional

Utilizando la misma guía de flechas o símbolos, uno de los alumnos tiene que escribir el programa que se necesita
para dibujar la imagen que ellos escojan de las que te proponemos abajo.

Y por último, dibujen en la figura de la izquierda el programa descrito a la derecha.

Cierre

Se sugiere trabajar con los alumnos en la asignación de nombres (lo suficientemente descriptivos y específicos)
a diversas tareas que luego combinarán para formar distintas secuencias. En este sentido, se puede pedirles
que describan los pasos que siguen al utilizar un programa, desde encender la computadora hasta la ejecución
del comando que abre el programa. También puede proponérseles que identifiquen, entre las actividades que
realizan cotidianamente, las que suponen una serie de pasos o actividades y que indiquen el nombre de cada
actividad (por ejemplo, “cepillarse los dientes” supone las tareas secundarias de “tomar el cepillo”, “tomar la
pasta”, “poner la pasta sobre el cepillo”, entre otras) e inversamente que agrupen varias actividades en otras
sucesivamente más abarcadoras (como el caso de “cepillarse los dientes”, “asearse” y está, a su vez, por ejemplo,
“vivir un día entero”).

Es importante hacerles notar a los alumnos que los algoritmos son parte de toda actividad de su vida diaria. El
objetivo es construir habilidades para traducir situaciones del mundo real en escenarios de computación.
21

1.1 División de un problema grande


en subtareas
Sesión 3
Fecha propuesta antes del 6 de noviembre
Sin computadora
Lightbot

Durante esta secuencia, los alumnos aprenderán cómo dar instrucciones a una computadora mediante procesos
importantes como la planeación, el desarrollo y el orden adecuados.

Objetivos

• Entender cómo crear y dar un conjunto de instrucciones lo más específicas posibles (algoritmo) para que una
computadora pueda seguirlas.
• Planear y desarrollar un algoritmo.
• Escribir un programa a ejecutar basados en el algoritmo.
• Probar si lo programado es correcto (el robot llega a la hoja azul sin ningún problema).
• Corregir el programa si no está correcto, encontrar los problemas del programa y modificarlo.

Desarrollo

Los estudiantes (y el maestro) jugarán a dar una serie de instrucciones a un alumno o alumna que interpretará el
papel de un robot que seguirá las instrucciones que le den para llegar a un objetivo final. Ellos aprenderán cómo
decirle a la computadora lo que tiene que hacer con una serie de comandos y comprenderán así todo el proceso
de cómo se escriben los programas de las computadoras.

Actividad 1

Materiales:

• Si es posible, imprime un juego de la cantidad de impresiones que necesites del documento que está en el
siguiente link:

https://lightbot.com/Lightbot_PrintableIcons.pdf

o pueden sustituirse si se realizan las instrucciones en un pizarrón:


• Pizarrón
• 30 hojas grises y 5 hojas azules

Tiempo para desarrollar la actividad:


• 2 horas
22 pensamiento computacional

Acomodar las mesas del salón de clases en forma de laberinto y colocar las hojas grises en el
camino del laberinto y al final la hoja azul, el objetivo del robot. Usa la imagen siguiente como
guía para acomodar el salón.

Se recomienda a los maestros jugar los primeros 3 niveles del juego en línea, en Lightbot,
para entender la manera en la que los alumnos tienen que resolver el laberinto y lograr que el
robot siga las instrucciones. Lo que realizarán es una versión fuera de línea del mismo juego.
(Ir al juego aquí: http://lightbot.com/hocflash.html o descargar la aplicación para Android aquí:
https://goo.gl/DPtgZt).

¿Qué decirle a los alumnos?

Las computadoras son aparatos increíbles que nos ayudan a desarrollar diferentes actividades.
Por ejemplo, nos ayudan a explorar el internet, jugar videojuegos, crear, hacer y muchas cosas
más. También nos permiten realizar tareas difíciles pero, para ello, deben haber sido progra-
madas y haber recibido las instrucciones específicas para saber qué hacer.

Programar es la manera en la que nosotros como programadores le decimos específicamente


a una computadora qué hacer. Para que pueda realizar las tareas, tenemos que darle una serie
de instrucciones mediante comandos; ya que no podemos decirle a la computadora con la voz
“abre la puerta”.
23

Instrucciones para los alumnos

Los alumnos tendrán que desarrollar la serie de comandos (programa) para poder resolver el
laberinto y que el robot (un alumno) inicie en la primera hoja gris y termine en la hoja azul donde
encenderá el foco (la meta), con las instrucciones que a continuación presentamos. El robot ter-
minará el programa una vez que encienda el foco en todos los bloques azules.

El acomodo del laberinto deberá cambiarse en el transcurso de la clase.

COMANDO DESCRIPCIÓN

El robot avanza un lugar hacia delante.

El robot da un giro de 90º a la izquierda.

El robot da un giro de 90º a la derecha.

El robot sube o baja un escalón (avanzando un lugar hacia adelante).

El robot tiene que utilizar este comando cuando esté sobre un bloque/hoja azul
para activar y poder terminar el programa.

El robot utiliza este comando para guardar programas que se repiten


constantemente.

El robot utiliza este comando para guardar programas que se repiten


constantemente. Este bloque se utiliza cuando ya se ha utilizado el comando P1.
El objetivo es usar P1 y de ser necesario recurrir al P2.

Cierre

En esta actividad los alumnos comprendieron que las computadoras reciben instrucciones, así
como la importancia de tomar en cuenta que las instrucciones deben ser claras y precisas; ya que
si no se le dice a la computadora qué hacer de manera precisa, el programa no logrará el objetivo
propuesto. Es importante tener presente que la programación es como las matemáticas: puede
haber distintos procedimientos pero varios nos llevan al mismo resultado. Seguramente algunos
de tus compañeros realizaron la programación exactamente igual que tú.

En las siguientes actividades aprenderás otros comandos que te servirán para hacer tu progra-
mación más corta y precisa para la computadora.
24 pensamiento computacional

Sesión 4
Fecha propuesta antes del 13 de noviembre
Algoritmos de la vida real
Code.org

Para que los alumnos comprendan la relación que tienen los algoritmos con su vida diaria
deben desarrollar las habilidades para traducir situaciones de la vida real con escenarios
o programas para computadoras.

Al retomar actividades de la vida diaria, aprenderán a descomponer instrucciones largas o lógicas


para ellos en pequeños pasos numerados y en orden para dar instrucciones precisas.

Pregunta a tus alumnos qué hicieron para estar listos en la escuela esta mañana, escribe en
el pizarrón las respuestas que te van diciendo, sin importar el orden. Ahora pídeles que vayan
poniendo números a cada actividad según el orden lógico. Es momento de nombrar actividades
donde el orden es importante y las que en su caso no lo sean.

Te proponemos que hagan aviones de papel por equipos y se den instrucciones por pasos y com-
paren el resultado de los diferentes aviones y los pasos que necesitaron para hacerlos.

Actividad 2

Te proponemos también la aplicación para aprender a programar con el Chavo. Es posible


descargarla en caso de no contar con internet

http://www.aprendeconelchavo.com/game/code/ o descargar la aplicación para Android aquí:


https://goo.gl/OvbKJp

Te proponemos ver este video donde encontrarás más alternativas para poder explicar a los
alumnos la importancia de ver un problema en su totalidad y dividirlo para encontrar diferentes
soluciones, resaltando siempre el trabajo en equipo.

https://www.ted.com/talks/tom_wujec_got_a_wicked_problem_first_tell_me_how_you_
make_toast#t-462968
Entra a cuantrix.mx
28 pensamiento computacional

Conceptos básicos de
2 programación
2.1 Eventos
Sesión 5
Fecha propuesta antes del 20 de noviembre
Con computadora
Repetición simple

Program.AR

Con esta secuencia se empieza a trabajar en procesos más específicos que los alumnos irán
explorando sobre la base de lo ya aprendido. En este caso, la propuesta consiste en indagar a
través de una actividad de Scratch en los procesos computacional implicados en la repetición
de tareas.

Si nunca has utilizado Scratch, te proponemos ver en la última parte de la currícula la guía
práctica de Scratch.

Objetivos

• Aplicar herramientas de programación para la ejecución de tareas repetitivas.


• Reconocer que las computadoras pueden repetir una tarea cuantas veces sea necesario.

Desarrollo

Los alumnos ingresarán a la actividad de Scratch No me canso de saltar, disponible en línea,


donde se presenta el siguiente escenario:

http://scratch.mit.edu/projects/42294970/#editor

El objetivo es hacer que el gato salte


30 veces para llegar a la última piedra.
Para ello, en la categoría “Más bloques”,
sólo se da la siguiente instrucción
primitiva:
29

Cuando se ejecuta “saltar” una vez, el gato pasa de una piedra a otra y avisa cuántos saltos le faltan para cumplir
el objetivo:

A partir de estas breves indicaciones, sugerimos dejar


que los alumnos intenten resolver la actividad con lo
aprendido hasta el momento. Probablemente, la solución
que propongan consista en repetir 30 veces el comando
saltar:

Además de poca práctica, esta solución presenta el Tal como se hace con cualquier otro bloque que se desee
inconveniente de que puede ocasionar que sea difícil utilizar, éste se arrastra hasta el editor. Luego, en la
visualizar la manera de modificar la secuencia. Se vuelve casilla superior se indica la cantidad de veces que se
a presentar un problema similar al planteado en la desea repetir una acción. En el hueco inferior se ubica
sesión anterior, donde con el fin de ahorrar las casillas la secuencia de comandos (en este caso, la acción que
disponibles, se crean procedimientos o funciones ejecutará repetidamente el gato).
formado por dos o más tareas secundarias. Podría
suceder que algunos alumnos, teniendo esto presente,
pregunten si existe algún tipo de comando que permita
economizar la cantidad de bloques, de manera que la
ejecución de los saltos pueda indicarse de forma menos
engorrosa. Una vez delimitado el problema, se presenta
el bloque repetir, ubicado en la categoría “Control”.
30 pensamiento computacional

Actividad Actividad 5. Bosque escalofriante

Tras esta explicación, nuevamente Descargar ScratchJr aquí: https://goo.gl/12UDl2


deja que los alumnos intenten re-
solver el resto de la actividad. La Cierre
solución es la siguiente:
Al finalizar la secuencia, conviene hacer hincapié en los siguientes aspectos:

• Las computadoras pueden repetir una tarea cuantas veces sea necesario.
• Mediante el uso de determinados bloques de control, como el bloque
repetir, es posible ahorrar espacio y simplificar lo que se quiere expresar.
Además, facilita corregir o modificar una secuencia de comandos.
• A partir de ahora, siempre que un comando o una secuencia de comandos
se repita una cantidad fija de veces, se utilizará el bloque repetir.
• Los comandos o instrucciones que se quieran repetir se colocarán
dentro de ese bloque. En el casillero en blanco del bloque se indicará
el número de veces que se repetirán los comandos.

Alternativas Actividad extra

En caso de no poder utilizar Scratch, Juego de Flappy de Code.org


te proponemos intentar con la apli- Con computadora
cación en la tableta de ScratchJr,
con el siguiente PDF: https://studio.code.org/s/course2/stage/16/puzzle/1

https://www.scratchjr.org/activi- En de este juego, los alumnos aprenderán a construir su propio juego utilizando
ties/card05-forest_es.pdf eventos e identificando los clics del mouse con los choques de objetos.

En la parte final del currículum Van a crear un evento con el mouse y el pájaro golpeará el objeto. Así
encontrarás una guía para utilizar aprenderán a detectar cuando algo pasa y saber cómo reaccionar a tal evento.
ScratchJr.
Enséñales lo diferente que puede ser cada juego dependiendo de las
condiciones.

Sesión 6
Fecha propuesta antes del 27 de noviembre
Sin computadora
El gran evento
Code.org

Los eventos son una gran oportunidad para agregar variedad a los algoritmos
que hemos practicado hasta ahora.

Algunas veces vas a necesitar que tu programa sea capaz de responder al


usuario de la manera exacta en que él lo quiera y para eso son los eventos.

En esta actividad los estudiantes aprenderán lo siguiente:

• Repetir comandos dados por un instructor.


• Reconocer acciones como señales para iniciar un comando.
• Diferenciar acciones predefinidas y las basadas en eventos.
31

Recordar que un evento es una acción que causa que algo suceda.

Prepara a tus alumnos para responder la siguiente pregunta:

• “Voy a hacerles una pregunta y quiero que levanten la mano si quieren que yo les dé la oportunidad de que me
den la respuesta.”
• Ahora, formula una pregunta que sepas que la mayoría querrá contestar.
• Escoge a alguno de los estudiantes que tienen la mano levantada.
• Después de que responda, pregunta: ¿Cómo creen que supiste que ese estudiante quería decir la respuesta?
• Explícales que cuando levantan la mano es un “evento” que causa que tú sepas que querían ser escogidos.
• Es importante subrayar la diferencia del significado de evento. Este concepto de evento no tiene nada que ver
con cumpleaños, fiestas y otras situaciones a las que solemos denominar eventos.
• Diles que piensen en otros eventos que den señales: ¿Qué pasa cuando apagas una alarma de reloj? ¿Qué acción
causa que lo hagas? Cuando presionas el botón de “Inicio” del horno de microondas, ¿qué ocurre?, ¿qué pasa
cuando presionas un botón del control remoto de la TV?

Para todas las actividades anteriores, la meta es hacer una programación de actividades muy clara, sin interrupciones
o eventos que pudieran alterar el resultado. Sin embargo, en la mayoría de los programas no puede hacerse eso,
ya que buscamos que haya diferentes opciones para resolverlos debido a que existen diferentes necesidades.

Actividad

Ahora vamos a practicar cambiar programas con eventos.

Vas a necesitar dibujar en una cartulina o en el pizarrón las siguientes imágenes:


32 pensamiento computacional

• Designa con tus alumnos un sonido diferente para cada una de las figuras:

1. Botón rosa o rectángulo: Dirán “wooooooo”.


2. Botón verde o estrella: Aplaudirán.
3. Botón naranja o triángulo: Golpearán el piso con los pies.
4. Botón morado o círculo: Dirán “bom-bon-bon”.
5. Botón turquesa o hexágono: “Dirán guauuuuu”.

• Ahora practica tocando cada una de las figuras y que todos hagan lo indicado.
• Ahora, sigue algunas secuencias haciendo que hagan cada sonido y lo interrumpan cada vez
que señalas una figura diferente.
• Hazle saber a los alumnos que cada vez que seleccionas una figura, ése es un “evento” que
les permite saber lo que tú esperas que hagan.
• Ahora dales una tarea específica, como contar hasta 10 o cantar alguna canción.
• Cuando ya hayan comenzado, señalas alguna de las figuras esporádicamente.
• Continua hasta que puedan comprender la diferencia entre una acción guiada por un plan y
otra acción alterada o modificada por un evento.

Ahora puedes hacer incluso coreografías dándole a cada figura un movimiento diferente:
Aplaudir - levantar un brazo - manos a la cintura

Actividad extra

Aprende a programar con el Chavo


Con computadora

http://www.aprendeconelchavo.com/game/code/

Con tableta
https://goo.gl/OvbKJp
33

2.2 Comandos
Sesión 7
Fecha propuesta antes del 4 de diciembre
Con computadora

Presentación de Lightbot
Program.AR
En esta secuencia didáctica, comenzarán a utilizarse los bloques para resolver problemas. De este modo, frente a
un problema determinado habrá una secuencia de bloques que será una solución y otras secuencias que no lo serán.

El objetivo es lograr que en cada nivel el robot consiga prender la o las luces ubicadas en los cuadrados azules
del piso. Para ello, el usuario cuenta con una serie de acciones en forma de iconos y una casilla para ubicarlas.
El juego ofrece la posibilidad de definir dos procedimientos (denominados funciones). En los primeros niveles no
es necesario utilizarlos, por lo que te pedimos que dentro de esta secuencia los niños lleguen únicamente a los 8
primeros niveles.

Objetivos:

• Inferir que los programas pueden resolver problemas específicos.


• Identificar problemas y proponer soluciones mediante la programación.
• Reconocer el patrón que permite descomponer un problema en acciones más acotadas.
• Resolver problemas de manera más simple a partir del patrón que permite descomponerlos.
• Proponer diversas soluciones para un mismo problema.

Desarrollo

Ir al juego aquí:
http://lightbot.com/hocflash.html o descargar la aplicación para Android aquí: https://goo.gl/DPtgZt

Luego de una breve introducción, se indica a los alumnos que ingresen a Lightbot, disponible en la liga anterior.
Una vez que terminó de cargarse el juego, se accede a una pantalla de presentación. La inteligencia artificial es una
tarea de programación compleja y hay que aclarar que no siempre los robots diseñados pueden manejarse y
funcionar solos, ya que algunos robots funcionan dentro de una trayectoria predeterminada por el programador,
que varía de una situación a otra. Por último, se señala en qué consiste el juego: utilizando una serie de comandos,
hay que lograr que el robot encienda todas las baldosas azules de la fábrica.

¡Empiecen a jugar!
34 pensamiento computacional

Los comandos primitivos del juego son los siguientes:

COMANDO DESCRIPCIÓN

El robot avanza un lugar hacia adelante

El robot da un giro de 90º a la izquierda

El robot da un giro de 90º a la derecha

El robot sube o baja un escalón (avanzando un lugar hacia adelante).

El robot tiene que utilizar este comando cuando esté sobre un bloque u hoja azul
para activar y poder concluir el programa

El robot utiliza este comando para guardar programas que se repiten


constantemente

El robot utiliza este comando para guardar programas que se repiten


constantemente. Utilizar este bloque cuando ya se ha utilizado el comando P1.

Los alumnos deben ir avanzando a su ritmo, solo el primer nivel, hasta los primeros 8 juegos.
Hay algunas ediciones del juego que tienen, como se muestra en la en la foto, tres cuadros para
las instrucciones. Solo pueden utilizar la primera (la denominada Main method). Los que terminen
antes pueden aprovechar para ayudar a los otros.
35

Cierre
Sesión 8
Es importante detenerse a analizar y comparar las Fecha propuesta antes del 8 de diciembre
actividades realizadas en Scratch con las llevadas a cabo Con computadora
en Lightbot y a partir de ello, indicar los aspectos nuevos Laberintos: secuencias
en relación con el tipo de operaciones que realiza un Code.org
programa. Así mientras en los casos anteriores no
había un problema bien delimitado a resolver, en este https://studio.code.org/s/course2/stage/3/puzzle/1
caso sabemos exactamente si el programa resuelve o
no el problema planteado. En esta actividad en línea, los alumnos comprenderán
los algoritmos aprendidos en las actividades anteriores.
Entre los aspectos novedosos, se encuentra el método Con los personajes de Angry Birds, los estudiantes
de dividir un problema grande en partes pequeñas, lo desarrollarán los algoritmos para mover al pájaro dentro
cual se conoce en programación como división de tareas del laberinto. Para ello, van a apilar bloques en una
secundarias y consiste en: secuencia lineal para moverse en línea recta o girar.

• Identificar pequeñas tareas fáciles de explicar En este juego podrán expresar movimientos con
(avanzar un paso, subir un escalón, encender la comandos y establecer las secuencias necesarias
luz) y asignarles un nombre adecuado para que se para programar.
entienda lo que representan.
• Cambiar estas pequeñas tareas para definir el Siempre que sea posible, proponemos trabajar en
programa que resuelve el problema, (los procedimientos parejas.
en Lightbot se llaman funciones).

2.3 Secuencia de comandos


Sesión 9
Fecha propuesta antes del 11 de diciembre
Sin computadora
Programación con vasos
Thinkersmith. Code.org

Los estudiantes entenderán la conexión entre símbolos y acciones, así como los principios de la valiosa habilidad
de depuración.

Hasta ahora ya hemos realizado diferentes actividades traduciendo nuestros algoritmos a símbolos. Eso quiere
decir que hemos creado programas con códigos.

Vamos a suponer que tenemos códigos “nuestros” para cada una de las instrucciones. Por ejemplo, para una
instrucción podemos usar flechas, símbolos, movimientos de brazos, etc. Si tenemos nuestros códigos especiales
para cada paso, entonces tendremos un programa.

Objetivos

• Convertir actividades del mundo real en instrucciones.


• Adquirir práctica en la codificación de las instrucciones mediante símbolos.
• Comprender la necesidad de la precisión.
36 pensamiento computacional

• Saber distinguir las órdenes con secuencias y pasos Clave simbólica:


dentro de un programa.
• Predecir dónde podría fallar un programa. ↑ Levantar el vaso
• Modificar un programa existente y resolver ↓ Bajar el vaso
problemas. → Mover vaso hacia adelante (mitad del ancho de vaso)
• Identificar cuando un algoritmo no está bien ← Mover vaso hacia atrás (mitad del ancho de vaso)
programado y tendrá que reajustarse.
Pasos:
Palabras importantes
1. Necesitas grupos de cinco alumnos. A cada grupo
Precisión: Ajuste completo o fidelidad de un dato, le corresponde un turno. Tienen que elegir un
cálculo, medida, expresión, etc. “robot” por equipo y salir de la clase mientras los
“programadores” codifican.
Secuencia: Serie de elementos o pasos que se suceden 2. Enséñales la imagen de la pila de vasos.
unos a otros y guardan relación entre sí. 3. Los grupos crearán un algoritmo (con las claves
simbólicas) con instrucciones sobre el modo en
Codificación: Traducir acciones a un lenguaje de símbolos. que el robot debería realizar la pila seleccionada.
4. Una vez que los programadores han finalizado la
Función: Fragmento de código que puede reiterarse o codificación de su pila, pueden llamar a su robot
repetirse ininterrumpidamente. para que regrese al salón.
5. Después de regresar, el robot leerá las instrucciones
Parámetros: Información adicional que puede agregarse escritas con los símbolos y los ejecutará o traduce
a una función para personalizarla. en movimientos para lograr la misma pila de vasos.
6. El grupo debe controlar los movimientos incorrectos
A medida que los estudiantes van avanzando en la y luego trabajar en la depuración o corrección de
actividad, el modo en que van identificando sus errores, su programa antes de solicitar al robot una segunda
tratando de que encuentren diferentes estrategias y ejecución.
que las compartan con toda la clase. Esto ayuda a los
alumnos a reconocer que existen muchas maneras de Reglas:
abordar los problemas.
1. Los codificadores deben traducir todos los movimien-
Tratar de resolver juntos diferentes problemas y detectar tos utilizando únicamente las 6 flechas sugeridas.
errores que pueden resolverse. 2. Cada clave simbólica se refiere al movimiento del
brazo del robot.
Actividad 3. Los vasos deben quedar en poder del robot y no de
los programadores durante la codificación.
Los robots operan mediante “instrucciones”, conjuntos 4. Una vez que los robots regresen con sus equipos,
específicos de acciones para las que han sido prepro- no debe hablarse en voz alta.
gramados. Para realizar una tarea, un robot necesita
contar con una serie de instrucciones (llamadas algo- Ejemplo:
ritmos) que pueda ejecutar. Vamos a aprender lo nece-
sario para que esto ocurra. Resulta útil repasar un ejemplo con toda la clase
haciendo una pila de 4 vasos en un lugar en donde todos
Necesitas vasos de plástico, por lo menos unos 17. puedan verla. Acomoda los vasos en pila en el lugar de la
bandera 0 y pídele a cada equipo que te dé, en su turno,
Escribe los símbolos de cada clave simbólica en el pi- las instrucciones para pasar la misma pila al lugar de la
zarrón. Explícales que estos serán los únicos seis a uti- bandera 1:
lizarse durante el ejercicio. Para esta tarea, instruirán
a su “robot” para que ejecute una pila de vasos especí- ↑ Levantar el vaso ← Mover vaso hacia atrás
fico utilizando únicamente las siguientes flechas: ↓ Bajar el vaso
37

Levantar el vaso-paso hacia adelante-paso hacia


adelante-bajar el vaso-paso hacia atrás-paso hacia
atrás (para regresar la mano).
Levantar el vaso-paso hacia adelante-paso hacia
adelante-paso hacia adelante-paso hacia adelante-
bajar el vaso-paso hacia atrás-paso hacia atrás-paso
hacia atrás-paso hacia atrás.
Levantar el vaso-paso hacia adelante-paso hacia
adelante-paso hacia adelante-bajar el vaso.

El ejercicio te está enseñando a lo siguiente:

Programar: Cuando los alumnos tienen el número de


Sigue con cada uno de los equipos y en su turno pídeles vasos que necesitan y les pides que te den las instruc-
que te den una instrucción a la vez para llegar a formar ciones con los símbolos para ejecutar los movimientos
la pila de tres vasos. La primera acción tiene que ser necesarios para llegar a formar la misma figura, están
“levantar el vaso”. Recuérdales que un paso hacia haciendo un programa.
adelante implica sólo la mitad del ancho de vaso.
Código: Con la clave simbólica los alumnos crean un
código para que su “robot” lo ejecute.

Ahora que todos entendieron la actividad y saben


programar a su “robot”, haz una figura como la que se
muestra a continuación. Es un reto mucho más difícil,
¿qué hace que formar esta pila lo sea tanto?

Ve apuntando en el pizarrón los símbolos para poder


“correr el programa” más tarde. Una posible solución
podría verse así:

Esta pila es bastante compleja; ya que se agrega a lo


ancho, suma dos flechas más a la línea de código en
Con el programa escrito a la vista de la clase, llama a la indicación de los pasos hacia adelante y dos en los
un voluntario para “correrlo”. Te recomendamos decir pasos hacia atrás. Para lograrlo, tendrás líneas que se
el significado de las flechas en voz alta a medida que verán así:
mueven los vasos para que se sigan familiarizando con
el procedimiento. Por ejemplo; el programa de arriba
se diría así:
38 pensamiento computacional

Aprovecha para enseñarles que podrían escribirlo así:

Es importante que los niños entiendan que existen limitaciones y dificultades nunca deben
olvidar su objetivo y evitar frustrarse si no logran algo a la primera oportunidad.

¿Consigue todo el mundo hacer las cosas bien al primer intento?

Cuándo aprendiste a caminar, ¿lograste correr en el primer intento?

A veces las cosas más útiles son las más difíciles de aprender; podemos tardar mucho en lo-
grarlo. Si algo no te sale a la primera, no significa que nunca lo lograrás.

Pon a pensar a los alumnos en cosas que al principio fue difícil aprender y ahora hacen con fa-
cilidad (andar en bicicleta, caminar, manejar).

Es importante enseñar la PERSISTENCIA. No importa cuántas veces tengas que


intentar hacer las cosas para lograr el resultado que buscas. Las cosas pueden ser
difíciles, pero no imposibles. Si eres persistente y no te rindes, lograrás tener éxito.

Recuerda que la manera en que podemos variar algún algoritmo que ya habíamos
escrito puede llamarse Evento. Cuando buscas que tus programas respondan en el
momento exacto en el que el usuario quiere, será necesario un “evento.”

Sesión 10
Fecha propuesta antes del 18 de diciembre
Con computadora
Artista: Secuencias
code.org

En esta actividad, los estudiantes aprenderán a controlar el juego para completar dibujos.

Objetivos

• Crear un programa para completar una imagen utilizando una secuencia de pasos.
• Poder definir diferentes figuras y explicar las diferencias entre ellas para lograr dibujarlas.

Organiza una lluvia de ideas para que imaginen cómo dibujar con la computadora.

En los niveles, los estudiantes tendrán que diferenciar los ángulos.

https://studio.code.org/s/course2/stage/4/puzzle/1
39

2.4 Depuración
Sesión 11
Fecha propuesta antes del 8 de enero
Sin computadora
Carrera de relevos
Code.org

Las correcciones o depuraciones son un elemento esencial para aprender a programar. En esta
lección los alumnos experimentarán la posibilidad de hacer correcciones si en algún punto de su
código identifican errores y de corregirlos las veces que sea necesario.

Reflexiona con tus alumnos lo siguiente:

Cada problema al que nos enfrentamos tiene diferentes grados de dificultad. Si queremos tener opor-
tunidad de hacer algo creativo, útil e inteligente hemos de tener la voluntad de resolver problemas
que nos cuesten trabajo en los que sea necesario hacer varios intentos antes de lograr resolverlos.

Equivocarse no es el final, es solo el camino a lo largo del cual tendremos éxito.

Explícales que cuando algo no te sale bien, tienes que recapacitar cuáles podrían ser las causas
y así poder solucionarlas y volver a intentarlo. En la programación, las correcciones o depuraciones
son elementos importantes.

Tienen que aprender que deben modificarse las instrucciones las veces que sea necesario para poder
lograr su programa. Para esto es importante predecir en qué sitio están los errores, y depurarlo.

Depuración: El proceso de identificar y corregir errores de programación. En inglés


se conoce como debugging. Cuando encuentras y corriges un problema en un código.
Una limpieza de algo que consideras que está mal, o no funciona como es debido, una
corrección de errores.

Actividad

Relevos con programación


Code.org

Una vez realizadas las actividades de programar en papel, los alumnos van a tener facilidad de
realizar esta carrera contra reloj.

Los alumnos tendrán que trabajar en equipos y hacer un programa basados en un algoritmo con
instrucciones claras y ordenadas.

Objetivos

• Saber comunicar ideas traduciéndolas a códigos y símbolos.


• Trabajar en equipo para lograr metas.
• Verificar el trabajo de todo el equipo para garantizar el éxito.
40 pensamiento computacional

Se requiere pizarrón, papel blanco u hojas cuadriculadas o tarjetas para poder dibujar las si-
guientes imágenes:
41

Como ya aprendimos a programar este tipo de imágenes con símbolos, el ejercicio nos será familiar; solo que
ahora lo haremos en equipos y en relevos.

Las reglas son las siguientes:


1. Dividirse de preferencia en grupos de 3 a 5 personas.
2. Hacer que cada grupo se acomode en fila, a manera de relevos.
3. Poner la misma imagen en el sitio adonde va a llegar cada corredor de los diferentes equipos.
4. El primer estudiante o participante sale corriendo hacia la imagen, la revisa y escribe el primer símbolo en el
programa, para empezar así a reproducir esa imagen.
5. El mismo estudiante, al terminar, correrá de regreso a la fila de su equipo, se formará y tocará al siguiente
participante para que éste salga.
6. La persona en la línea que ha sido tocada saldrá corriendo hacia la imagen, la revisa y, al ver el programa
que ya empezó a escribirse, lo revisa. En caso de tener que depurar, lo hará tachando el símbolo que no esté
correcto, o de lo contrario agregará el suyo.
7. El participante corre a su fila y toca al siguiente, y así sucesivamente hasta que algún equipo termina el programa.

Juega esto varias veces en el espacio que hayas decidido hacerlo; el patio es una buena opción. En caso de no
tener un espacio grande, es posible hacerlo perfectamente con todos sentados en su silla y pasando la hoja entre
los equipos.

Las imágenes son cada vez más complejas.

Actividad 2

Algunas veces, cuando estás programando en grupos, alguno de los integrantes comete errores y hay que corre-
girlos, hay que depurarlos.

A partir de cada una de las siguientes imágenes, encontrarás un código ya escrito con algún error. Dibújalo en el
pizarrón, ve quién encuentra la falla y cuál es el símbolo correcto.

Deberán basarse una vez más en la siguiente tabla de símbolos:

Encontrar los errores de cada una de las secuencias siguientes:


42 pensamiento computacional

Recuérdales la importancia del trabajo y la confianza en los equipos; que cada equivocación tiene arreglo y siem-
pre se aprende de cada error para que las cosas salgan mejor.
43
Entra a cuantrix.mx
46 pensamiento computacional

Conceptos intermedios
de programación
3.1 Modelo de seguimiento del programa
Sesión 12
Fecha propuesta antes del 15 de enero
Con computadora
Program.AR

En esta secuencia trabajarás con un proyecto diseñado en lenguaje Scratch, que permite programar
un robot (representado en este caso por un gato). Las instrucciones u órdenes que debe realizar
el robot se organizan gráficamente en una serie de bloques. Cada bloque corresponde a una
acción que debe realizar: cuando se organizan verticalmente forman una secuencia de comandos;
es decir, una tarea que se hace en un orden establecido desde el primer bloque hasta el último
(visualmente, desde arriba hacia abajo).

Objetivos

• Comprender que un comando es una acción o instrucción que genera un efecto (reproducir
un sonido, pintar a una imagen, mover un objeto, etcétera) y que las secuencias de coman-
dos permiten encadenar (o componer) comandos de forma ordenada.
• Comprender que un programa es una secuencia de comandos y que ejecutar o correr un
programa consiste en hacer que el robot produzca un efecto al interpretarlo.
• Organizar secuencias de comandos ajustadas a un fin específico.
• Distinguir entre instrucciones primitivas y procedimientos.
• Identificar tareas nuevas y crear los procedimientos adecuados.

Desarrollo

https://scratch.mit.edu/projects/42291768/

Ingresen al programa El gato en la calle, disponible en línea. Si está en inglés, cambia el idio-
ma de la interfaz haciendo clic en el botón que se encuentra en el menú de la parte superior
de la pantalla.
47

También es posible descargar todos los escenarios en Ahora organiza otra secuencia utilizando los bloques
la siguiente liga: anteriores, por ejemplo:

http://programar.gob.ar/descargas/actividades.zip

En esta primera parte, se sugiere trabajar sólo con los


bloques de acciones de la opción Más bloques, que se
encuentra en la pestaña Programas. Haciendo clic en esa
opción se accede a la lista de acciones. Para que el robot
ejecute una acción, se arrastra el bloque correspondiente
hacia el editor (el sector de la derecha) y se coloca debajo
del bloque que dice al recibir empezar. En este caso, los
alumnos seleccionarán el bloque avanzar.

Para insertar un bloque, se arrastra desde el menú y se


suelta donde se quiera agregar. Si se quiere eliminar
uno (o varios) de la secuencia, simplemente hay que
arrastrarlo con el mouse hacia la izquierda al sector de
la opción “Más bloques”.

Explora otros modos de ordenar los bloques anteriores,


por ejemplo: saludar, avanzar, volver, saludar, avan-
zar o avanzar, saludar, avanzar, saludar, volver. De
este modo, observa que distintas secuencias producen
resultados diferentes.

Tras estas primeras aproximaciones, aborda la organi-


zación de una secuencia formada por otras acciones.
A continuación, seleccionarán sucesivamente los bloques Por ejemplo, la secuencia correspondiente a la tarea de
saludar y volver. El primer bloque irá debajo de avanzar dormirse. Para ello, en la misma opción, Más bloques,
y el segundo debajo de saludar. Así, se formará una se- se dispone de otros bloques:
cuencia de tres acciones para que las realice el gato.

¿Cómo sería la secuencia de “dormirse”?

Haciendo clic en la banderita verde que se observa en la


parte superior de la pantalla el programa se ejecutará.
El botón rojo sirve para detener la ejecución en cualquier
momento. Para volver a ejecutar la secuencia, basta
con hacer clic nuevamente en la banderita verde.
48 pensamiento computacional

Hasta ahora se han utilizado bloques que correspon- Simplemente, deberán arrastrar los bloques: acostarse
den a acciones primitivas, es decir, acciones básicas y cerrar los ojos de la lista más bloques. Después, ne-
preestablecidas. También es posible crear nuevos blo- cesitarán colocarlos debajo del bloque definir dormirse.
ques, es decir, nuevas acciones. A éstas se les denomi-
nará procedimientos.

Procedimientos: se puede definir como un


conjunto de nuevas acciones que el usuario
le indica a la computadora cómo deben de
ser realizadas.
Ahora que los alumnos saben cómo definir nuevos blo-
ques de acciones, pídeles que creen y definan un nuevo
Para esto se presiona dentro de la opción Más bloques procedimiento, al que llamarán despertarse, que haga
el botón Crear un bloque. Al hacerlo, se abre una que el gato abra los ojos y se levante. La definición del
ventana con un bloque en blanco en el cual se escribe procedimiento debería verse de la manera que muestra
el nombre del nuevo bloque (en este caso, dormirse). el gráfico:

Una vez que se ha completado el nombre del bloque, Como cierre, solicita a los alumnos que armen y ejecu-
se presiona “ok”. En el editor aparece un nuevo bloque. ten la secuencia de acciones necesarias para hacer que
el gato avance un paso, se duerma, se despierte, salu-
de y vuelva a su lugar. Esto debería resolverse como lo
muestra este otro gráfico:

En el nuevo bloque se indica que es necesario definir


en qué consiste la nueva tarea. Si no se indica nada, el
gato no hará nada cuando se le pida ejecutar el bloque
dormirse. Los alumnos pueden comprobar que esto
es así arrastrando el bloque dormirse de la lista de la
izquierda ubicándolo debajo del bloque al recibir em-
pezar y haciendo clic en la banderita verde. El gato no
efectuará ninguna acción.

Alternativas

En caso de no poder utilizar Scratch, te proponemos


intentar con la aplicación en la tableta de ScratchJr,
con el siguiente PDF:

https://www.scratchjr.org/activities/card01-car_es.pdf
49

Actividad 1
Conduzca por toda la ciudad

Descargar Scratch Jr. aquí: https://goo.gl/12UDl2

Sesión 13
Fecha propuesta antes del 22 de enero
Sin computadora
Programar en papel cuadriculado

Program.AR

Ser “programado” por otra persona nos dará una idea para entender lo que es realmente la programación.

En esta actividad los estudiantes se programarán entre sí y tratarán de dibujar con las instrucciones. Así aprende-
remos los mecanismos básicos que la programación supone. Para ello, se proponen algunas actividades para que
los alumnos programan en papel.

Objetivos

• Ejercitar algunos de los principios que se aplican en programación, mediante un modelo.


• Formular instrucciones de manera adecuada e interpretarlas correctamente, de acuerdo con el modelo
propuesto.

Desarrollo

Para las actividades que siguen se utilizarán dos hojas cuadriculadas (pueden ser cuadrículas dibujadas sobre
hojas en blanco), un lápiz y una goma de borrar. Una hoja se usará para programar y otra para dibujar, siguiendo
las instrucciones de un programa. En la parte superior de cada hoja se indicará el uso que le corresponde:

“Programas” y “Dibujos”. Para programar, se emplearán los siguientes comandos (es decir, instrucciones):

Además, junto a cada comando o secuencia de comandos es posible indicar cuántas veces éste debe ejecutarse.
Para ello, se colocará el comando o la secuencia entre paréntesis, seguido de la cifra correspondiente del número
de veces que debe ejecutarse. Por ejemplo, la siguiente secuencia significa “pintar hacia la derecha 2 cuadrados”:

Esto incluye el cuadrado sobre el que se encuentra el lápiz (equivalente al cursor de la computadora).
50 pensamiento computacional

La programación se realizará de forma similar a como Para utilizar un procedimiento se escribe su nombre
se hace en Lightbot, pero en vez de ubicar los coman- entre corchetes en el lugar del programa que corres-
dos horizontalmente, de izquierda a derecha, se ubi- ponda: [Dibujar ventana]
carán de arriba hacia abajo, poniendo un comando por
renglón. Por ejemplo, la siguiente secuencia corres- A su vez, los procedimientos definidos pueden utilizarse
ponde a las instrucciones necesarias para dibujar un para definir otros procedimientos nuevos:
cuadrado:
Dibujar ventana doble

[Dibujar ventana]
→4
[Dibujar ventana]

Lo que da como resultado el siguiente dibujo:

Inicio

Actividad
Esta secuencia de cuatro pasos puede constituir un
procedimiento (es decir, un procedimiento es un comando Luego de explicar las reglas anteriores, proponle a los
nuevo integrado por un grupo de acciones o tareas alumnos que realicen los programas para cada uno de
secundarias que forman parte de una actividad más los dibujos que se incluyen a continuación.
amplia). Cada procedimiento, para cuya definición se
podrá utilizar la parte inferior de la hoja Programa,
tendrá un título que será un nombre breve que sea su-
ficientemente descriptivo de la tarea a la que remite
seguido de su definición.

El programa correspondiente al primer dibujo podría


ser el siguiente:

[Dibujar cabeza] [Ir a pierna trasera]

[Ir a cuerpo] [Dibujar pierna]

[Dibujar cuerpo] [Ir a cola]

[Ir a pierna delantera] [Dibujar cola]


Por ejemplo, a la secuencia anterior puede asignársele
el nombre “Dibujar ventana”: [Dibujar pierna]
51

Este programa supone las siguientes definiciones de los procedimientos:

Conviene hacer hincapié en que, al crear un procedimiento para cada parte del dibujo no es necesario cambiar el
programa principal para que el dibujo del perro sea más grande; basta con hacer los ajustes pertinentes en las
definiciones de los procedimientos.

Igualmente, mediante esta estrategia (que no es otra cosa que una subdivisión de tareas), es posible encontrar fá-
cilmente la parte del programa que tiene errores en el caso de que el dibujo resultante no sea el esperado. Por otra
parte, es importante destacar que si los procedimientos se hubieran definido privilegiando un criterio meramente
formal —por ejemplo, indicando los movimientos y los trazos que el lápiz debería hacer columna por columna o fila
por fila— en vez de hacerlo por figuras (cabeza, cola, pata), sería necesario cambiar todo el programa para modi-
ficar el tamaño del dibujo y además resultaría más complicado detectar las fallas que pudiera haber. Las mismas
abstracciones que usamos habitualmente en la descripción de objetos son útiles para programar.

La estrategia empleada para programar el primer dibujo puede usarse en los otros dibujos; así, por ejemplo, el
programa principal correspondiente al último dibujo quedaría de esta manera:

Actividad

Como variante o complemento de las actividades anteriores, podrá indicarse a los alumnos que cada uno piense un di-
bujo, lo programe y luego le dé a un compañero el programa para que, siguiendo las indicaciones reproduzca el dibujo.

Cierre

Se sugiere socializar las producciones de los alumnos y evaluar las dificultades que hayan surgido al programar
en papel. Al respecto, podrás pedirles a los alumnos que reflexionen, acerca del uso de los procedimientos: cómo
los definieron, cuáles fueron los nombres que les asignaron y si les resultó más conveniente hacer varias tareas
secundarias o programar todo el dibujo en una sola tarea.
52 pensamiento computacional

Palabras y conceptos importantes:

Comando: Es una instrucción u orden que el usuario proporciona a un


sistema informático. Los comandos representan acciones y si los eje-
cutamos las computadoras realizan dichas acciones.

Secuencia de comandos: Es una tarea que se hace en un orden estable-


cido, desde el primer bloque hasta el último (visualmente, desde arriba
hacia abajo). Son series de acciones que se realizan una tras otra en un
momento determinado.

Un programa es una descripción que le damos a la computadora para que realice lo


que le indicamos. Una secuencia de comandos es un programa.

Es posible definir nuevos comandos, que llamamos procedimientos, para explicarle a


la computadora cómo realizar nuevas acciones.

Un procedimiento es un pequeño programa.

Una condicional se refiere a situaciones que sólo suceden en ciertas condiciones.

3.2 Condicionales: “Espera hasta”


Sesión 14
Fecha propuesta antes del 29 de enero
Sin computadora
Condicionales con cartas
Code.org

No siempre sabemos cómo serán las cosas cuando creamos un programa. Los diferentes usua-
rios tienen diferentes necesidades y a veces querrás hacer algo basado en la necesidad de un
usuario, que no sea la misma del siguiente: para eso son las condicionales.

Esta actividad demuestra el modo en el que las condicionales se usan para construir un progra-
ma con información específica.

Objetivos

• Definir circunstancias en las cuales el programa debe cambiar su proceso.


• Determinar los criterios que harán que una condicional se cumpla.
• Saber interpretar un programa y predecir sus puntos débiles.
53

Para esta actividad necesitarás juegos de cartas, sin


importar si están completas, hojas de papel y lápiz.

Comienza con ejercicios de condicionales de uno en uno.

1. Informa a la clase que si se quedan completamen-


te callados durante 1 minuto harás algo cómo de-
jarlos cantar una canción o que salgan 5 minutos
antes.
2. Empieza a contar y, si la sugerencia tiene éxito, di
la siguiente frase: como se cumplió lo que les pedí,
tienen la recompensa. En caso contrario, también Ahora divide tu clase en los equipos que quieras y dales
diles la frase completa. algunas cartas a cada uno (por lo menos una carta para
3. Pregúntales: “¿cuál fue la condición para la recom- cada miembro).
pensa?”
4. La condicional siempre tiene una palabra “si” o un
“espera hasta”.
5. Sigue con otros ejemplos: Si pueden adivinar tu
edad, entonces aplauden; si sabes la respuesta,
esperas hasta que te den tu turno, etcétera.
6. También puede haber condicionales extras, ade-
más del “si” y el “entonces”: Si adivinan tu edad
entonces pueden salir antes; pero si no adivinan tu
edad, entonces se quedan 5 minutos más.

Ahora usarás las cartas y vas a indicar las condicio-


nales. Toda la clase puede hacer programas que de-
pendan de las cartas y puedes escribirlos a partir de
algoritmos como en los siguientes ejemplos:

En este programa, el maestro escoge una carta, si la Escribe uno de los programas en el pizarrón y que em-
carta es roja, entonces un equipo gana un punto; si la piecen a jugar apuntando en un papel los puntos que
carta no es roja, entonces el otro equipo gana el punto. acumulan.

Es importante jugarlo muchas veces con condicionales


diferentes para que entiendan el concepto. Pon cada
vez más condicionales.

En este programa, alguien escoge la carta y, si es roja,


entonces su equipo tiene un punto. Pero si la carta es
negra y más alta que 9, entonces el otro equipo tiene
un punto. Pero si la carta es negra y más baja que 9,
entonces el equipo tiene el mismo número de puntos
que marca la carta.

O puedes hacerlo en pseudocódigo de la siguiente Hazles notar que los códigos siempre van dentro de las
manera: llaves “{ }”. El mismo programa escrito en pseudocódigo
se vería así.
54 pensamiento computacional

Es importante observar que las condicionales pueden ser “verdaderas” o “falsas”.

Dales la siguiente actividad para trabajar en equipos:

Si tu carta es menor a 5 y si tu carta además es roja, entonces tu equipo gana los puntos del nú-
mero que marca tu carta. Pero si es otra cosa, entonces el otro equipo gana 1 punto. También,
si la carta es de corazones, tu equipo gana 1 punto.

Dales el programa siguiente y observa si descubren qué pasa con cada dibujo. Anota el marca-
dor en cada ronda y veremos quién gana.
55

Sesión 15
Fecha propuesta antes del 5 de febrero • El que no tenga zapatos negros espera hasta que
Con computadora todos salgan.
Abejas: Condicionales • El que no haya hecho la tarea espera hasta que
Code.org todos salgamos a recreo.

Hasta este momento, la mayoría de los programas que Actividad 2


los estudiantes han realizado corren de la misma for-
ma sin flexibilidad. Abejas con condicionales
Code.org
En esta etapa introduciremos las condicionales; códi-
gos que funcionan diferente dependiendo de las condi- Ahora vamos a practicar las condicionales con el mis-
ciones que se encuentren. mo juego de abejas, pero lo haremos más complejo.

Objetivos Objetivos

• Traducir el lenguaje hablado a condicionales para • Comparar las propiedades y los valores de los
un programa. símbolos ‹,=,›.
• Ejecutar un algoritmo con condicionales. • Traducir condicionales del lenguaje hablado a los
• Resolver laberintos usando combinaciones de se- símbolos.
cuencias y condicionales. • Ejecutar un algoritmo con condicionales.
• Utilizar condicionales para tomar una decisión lógica.
Tienen que utilizar condicionales para ayudar a la abeja • Escribir funciones con condicionales.
a lidiar con la flor morada. Nadie sabe si las flores tie-
nen néctar, así que tendremos que usar las condiciona-
les para colectar néctar en caso de que lo haya. Actividad

https://studio.code.org/s/course2/stage/13/puzzle/1 https://studio.code.org/s/course3/stage/7/puzzle/1

Actividad En la actividad anterior solo se daba como opción “si


hay” dando por sentado que la opción era verdadera y
Pide a tus alumnos que se levanten y designa a uno para se tenía que actuar en consecuencia.
que pase al frente y escoja condicionales para empezar
a llamar a otros a que pasen junto a él. Por ejemplo: En esta parte del juego, vamos a explorar qué suce-
dería si la opción o condicional no es verdadera, en-
• Si tiene el suéter abrochado pasa enfrente. tonces habría que reaccionar en consecuencia y tomar
• Si tiene mochila nueva pasa al frente. otro camino.

Así pueden ir imaginando y poniendo diferentes condi- Es importante subrayar la aclaración de que las con-
cionales, por ejemplo “espera hasta”. dicionales pueden ser verdaderas o falsas.
56 pensamiento computacional

3.3 Estructura Actividad

de las decisiones Ahora, en un escenario más complejo, considera que

y las condicionales puede o no haber un obstáculo en el camino hacia la


puerta; por ejemplo, un pupitre o una silla. Algunos días
este obstáculo estará presente y otros no. El problema
consiste en cómo hacer para que el programa que permite
al autómata salir del aula funcione cualquier día. Para
Sesión 16 ello, se explicará a los alumnos que contarán con una
Fecha propuesta antes del 12 de febrero nueva posibilidad para programar el robot: el control o
Sin computadora la instrucción (que corresponde a un bloque en Scratch)
Escenarios cambiantes si ‹condición› entonces ‹secuencia de acciones›. Esta
indicación permite ejecutar una secuencia de acciones
Program.Ar si se cumple determinada condición. Mediante estos
controles, indica que el autómata salga del aula, por
Hasta el momento se crearon programas que permi- ejemplo, de la siguiente manera:
tían resolver situaciones en escenarios conocidos. Por
ejemplo, cuando en Lightbot se le indicaba al robot que ‹avanzar dos pasos hacia adelante›
se mueva, se sabía dónde estaban las casillas azules,
cuáles eran las dimensiones del tablero y la posición Si ‹el autómata está frente a un pupitre› entonces
original del robot, etcétera. Pero, ¿qué pasaría si hay ‹correr el pupitre hacia la izquierda›
que elaborar un programa que funcione con distintas
posiciones originales del robot o distintas ubicaciones ‹avanzar cinco pasos hacia adelante›
de las casillas azules? En otras palabras, ¿cómo apor-
tar una solución adecuada para distintos contextos? ‹abrir la puerta›
La respuesta a esta pregunta es el eje de esta sección,
donde se aprenderá a trabajar con condicionales. ‹dar un paso hacia adelante›

En esta secuencia se reflexionará sobre el uso de al- Una vez planteado el escenario y presentadas las instruc-
ternativas condicionales en programación, con activi- ciones de alternativas condicionales, los alumnos podrán
dades en las que no se utilizarán computadoras. construir grupalmente una solución que guíe al docente a
la salida del aula, sin importar si existe o no un obstácu-
lo. La solución esperada es que el docente mire si existe el
Objetivos obstáculo y que, en función de ello, lo quite del camino en
caso de ser necesario. En ambos casos, el programa debe-
• Introducir la noción de alternativa condicional. rá lograr que al final el robot abra la puerta y salga del aula.
• Reconocer semejanzas y diferencias entre esce-
narios fijos y escenarios cambiantes. Cierre
• Identificar alternativas en un escenario.
Será oportuno conceptualizar lo trabajado en clase expli-
cando que, en ciertas ocasiones deseamos que algunas
Desarrollo instrucciones no se ejecuten siempre, sino sólo cuando
se cumple cierta condición. A esto lo llamamos alterna-
Para presentar la noción de alternativa condicional y tiva condicional. A fin de afianzar la comprensión de este
el uso de alternativas condicionales en programación concepto, se sugiere indicar a los alumnos que propongan
conviene, tal como se hizo en el apartado anterior, co- diversos ejemplos de situaciones cotidianas que den lugar
menzar con actividades que funcionen como una pues- al uso de alternativas condicionales (si llueve, se suspen-
ta en escena del problema. Al respecto, retoma el es- de el partido; si se enciende la luz verde, el auto avanza y
cenario planteado en la secuencia didáctica 1, donde el si se enciende la luz roja, se detiene; si la barrera se baja,
docente, adoptando el papel de robot, recibía las ins- el auto frena, etcétera). En cada caso, deberán precisarse
trucciones que le permitían, por ejemplo, salir del aula. las alternativas en juego.

Antes de pasar al siguiente tema no olvides entrar a


cuantrix.mx para realizar el 2do Reto.
57

3.4 Decisiones Mediante Switches


Sesión 17 • Utilizar correctamente los comandos necesarios
Fecha propuesta antes del 26 de febrero para ejecutar alternativas condicionales.
Con computadora • Definir los programas adecuados para escenarios
Laberinto cambiantes.
code.org
Desarrollo
En este juego tenemos que ayudar al zombi a llegar al gi-
rasol, utilizando una combinación de secuencias y loops. http://scratch.mit.edu/projects/66895528/#editor

Objetivos Se comenzará con el proyecto de Scratch “El mono y


las bananas”. Al ingresar y hacer clic varias veces en la
• Crear un programa con un propósito específico uti- bandera verde podrán observarse aleatoriamente los
lizando pasos con secuencias. siguientes cambios de escenario:
• Contar el número de veces que un mismo paso se
tiene que repetir dentro de un loop.
• Analizar un problema y resolverlo de la manera
más eficiente.
• Utilizar una combinación de secuencias y loops
para terminar un laberinto.

Recuerda los comandos básicos de “moverse adelante”,


“girar a la izquierda”, “girar a la derecha”.

https://studio.code.org/s/course3/stage/2/puzzle/1

Durante la actividad observa a tus alumnos dado que


siempre existen diferentes estrategias para resolver
un laberinto. Es importante que las compartan y analicen
entre ellos, ya que esto les ayudará a reconocer que exis-
ten diferentes caminos para resolver un mismo problema.

Los alumnos pueden inventar sus propios laberintos y El objetivo es simple: lograr que el mono coma bana-
resolverlos por equipos. nas solo cuando hay bananas. Para ello, se cuenta con
los siguientes comandos primitivos:
Sesión 18
Fecha propuesta antes del 5 de marzo
Con computadora

Program.AR

En esta secuencia se trabajará con una serie de acti-


vidades de Scratch que presentan un escenario cam-
biante y cuya resolución implica el uso de alternativas
condicionales.
Es importante destacar que no es posible solucionar el
Objetivos problema utilizando solo los comandos primitivos. Por
ejemplo, una secuencia como la siguiente daría un resulta-
• Identificar los cambios que se producen en un es- do incorrecto que hace que el programa se buggea (no fun-
cenario dado. ciona apropiadamente) en el caso de que no haya banana.
58 pensamiento computacional

Para resolver la actividad, es necesario utilizar el bloque nuevo (ya presentado en la actividad ante-
rior), “si… entonces”. Como recordarás, este bloque, que se encuentra en la categoría Control (en
el menú), permite ejecutar un comando sólo en el caso de cumplirse cierta condición.

Sin embargo, antes de intentar ver cómo se utiliza este bloque, conviene dividir el problema;
es decir, establecer la secuencia de acciones adecuada para el objetivo. Ello implica definir al
menos un procedimiento al que podemos denominar: “comer banana si hay” que resuelva el
problema de comer una banana solo en el caso de que ésta exista.

Teniendo en cuenta este procedimiento, el programa que ejecutará el mono será tan simple
como el siguiente:

Ahora bien, ¿cómo definir “comer banana si hay”? Dado que el mono comerá la banana si ésta
existe, es necesario darle alguna indicación para que sepa si la fruta está presente. En este
sentido, para que el mono reconozca la fruta y la coma, se presentará el bloque “¿tocando…?”,
ubicado en la categoría Sensores.
59

Mediante este bloque, es posible hacer que el mono verifique si está tocando la fruta. Para ello,
se hace clic exactamente sobre el casillero con la punta de flecha que se encuentra junto a To-
cando y se selecciona la banana:

Si observas la forma de este bloque, notarás que es idéntica al casillero del bloque
“si… entonces...”:
60 pensamiento computacional

Esto no es casual, ya que corresponde a la condición con la cual se vincula un comando (o una
secuencia de comandos):

Esta primera parte de la instrucción se lee: “si tocando banana, entonces…”. Para completarla,
es necesario elegir el comando que se ejecutará en el caso de que se cumpla esa condición.

De esta manera, se ha resuelto el problema de que el mono reconozca la banana y la coma. El


procedimiento “comer banana si hay” queda definido de la siguiente manera:

Luego de haber explicado el uso de los bloques “si... entonces…” y “¿tocando…?” deja que los
alumnos terminen de definir el procedimiento “comer banana” y, finalmente, verificar que el
problema se resuelva correctamente presionando varias veces la banderita verde.
61

Actividad

La segunda parte de esta secuencia didáctica se compone de una variante del siguiente
ejercicio:

La elección del mono http://scratch.mit.edu/projects/42294260/#editor

Se comenzará con el proyecto de Scratch “La elección del mono”. Al ingresar y hacer clic varias
veces en la bandera verde, podrán observarse aleatoriamente los siguientes cambios de escenario:

El objetivo es simple: lograr que el mono coma una manzana o una banana cuando haya. Para
ello, se cuenta con los siguientes comandos primitivos.

Es importante destacar que en la casilla que se encuentra a la derecha del mono hay una u otra
fruta, pero no ambas a la vez. La secuencia siguiente daría un resultado incorrecto:
62 pensamiento computacional

Sin embargo, antes de intentar ver cómo utilizar este bloque, conviene dividir el problema; es
decir, establecer la secuencia de acciones (o comandos) adecuada para el objetivo. Ello implica
definir al menos un procedimiento al que podemos denominar “comer fruta”, que resuelva el
problema de comer una manzana o una banana.

Teniendo en cuenta este procedimiento, el programa que ejecutará el mono será tan simple
como el siguiente:

Dado que el mono debe comer la manzana o la banana, es necesario darle alguna indicación
para que identifique qué fruta se trata en cada caso. Así, el problema de comer fruta incluye a
su vez otros dos similares a los de la actividad anterior:
63

Deja a los alumnos concluir la actividad a partir de este punto. Primero, deberán definir el
procedimiento “comer banana si hay”; después, terminar de definir el procedimiento “comer
fruta” y finalmente, verificar que el problema se resuelva correctamente presionando varias
veces la banderita verde.

Alternativa

En caso de no poder utilizar Scratch te proponemos intentar con la aplicación en la tableta de


ScratchJr en el siguiente PDF:

https://www.scratchjr.org/activities/card09-talk_es.pdf

Actividad 9
Conversación

Descargar Scratch Jr. Aquí: https://goo.gl/12UDl2

Cierre

Se sugiere hacer hincapié en la idea de que toda alternativa condicional consta de dos partes:
una condición y una acción. Si se cumple la condición, entonces se realiza la acción. Asimismo,
sugerimos repasar con los alumnos las alternativas condicionales utilizadas en “La elección del
mono” (los dos “si… entonces...” de ambos procedimientos) y de qué condición y de qué acción
consta cada una. A continuación, indícales que propongan otros ejemplos de alternativas condi-
cionales. Por ejemplo, el programa “irse del salón” podría constar de las alternativas “cerrar
la ventana” (si está abierta) y “cerrar la puerta” (si está abierta).
64 pensamiento computacional

3.5 Iteraciones (loops)


Sesión 19
Fecha propuesta antes del 21 de marzo
Con computadora
Repetición simple

Program.Ar

Esta secuencia está centrada en el uso de programas para la resolución de problemas.

Se trata de un tema que ya vimosa anteriormente. El empleo de los procedimientos (o funciones)


en Lightbot. Ahora se explorará su uso en Scratch.

Objetivos

• Ejercitar en el uso de programas para la resolución de problemas.


• Establecer comparaciones entre las diversas maneras posibles de resolver un problema.
• Reforzar los conceptos de repetición y separación en procedimientos.

Desarrollo

Se trabajará con el proyecto “El marciano en el desierto”, disponible en línea.

http://scratch.mit.edu/projects/42293070/#editor

El objetivo es que el marciano coma todas las manzanas del tablero (en el caso de que al ingre-
sar no se vean las manzanas, basta con hacer clic en el icono ). Para ello, disponemos de las
siguientes instrucciones que se encuentran en la opción “Más bloques”:
65

Actividad

Al igual que en otras ocasiones, deja que los alumnos intenten resuelvan el problema solos. Una
solución obvia es la siguiente:

Basta un rápido vistazo para notar que en esta solución (y en otras parecidas, que sólo varían
entre sí por el orden en que se ubican las instrucciones primitivas), se repiten algunas se-
cuencias:
66 pensamiento computacional

Una vez que has identificado estas secuencias, deja que clic, en la sección “Más bloques”, en la indicación “Crear
los alumnos vuelvan al problema y traten de resolverlo un bloque”. Luego, en la carpeta que se encuentra dentro
mediante el uso del bloque repetir (que presentado du- de la nueva ventana, se escribe el nombre que se desea
rante la secuencia didáctica anterior). Cabe contemplar asignarle al procedimiento; en este caso, el nombre pue-
la posibilidad de que algunos alumnos, en vez de acudir de ser “Comer 2 derecha”:
a la solución primitiva mostrada más arriba, prevean
el uso de este bloque ya desde una primera instancia
y que intenten utilizarlo (con menor o mayor éxito). En
ese caso, sugerimos no dar mayores precisiones que
las que se dieron al comienzo y antes de avanzar con la
explicación aguardar a que la mayoría de los alumnos
hayan hecho al menos un primer ejercicio para resol-
ver el problema. El uso del bloque repetir permitirá lle-
gar al siguiente resultado:

Al presionar OK, aparecerá en el editor un nuevo blo-


que, el correspondiente a la definición del procedi-
miento, que debe completarse con las acciones o co-
mandos primitivos que deseas que ejecute el marciano.
En este momento, indica a los alumnos que definan el
procedimiento. La definición se verá así:

Una vez definido el procedimiento, para que el mar-


ciano lo ejecute habrá que arrastrar desde la lista de
bloques de la izquierda el bloque “Comer 2 derecha”
hasta el editor y ubicarlo debajo del bloque de evento
“al recibir, comenzar”.

A pesar de que ésta es una solución más satisfactoria,


puede mejorarse mediante una herramienta ya emplea-
da: el procedimiento, que consiste en crear nuevos blo-
ques y explicarle a la computadora (representada en este
caso, por el marciano) cómo realizar cosas que hasta
ahora no sabe hacer. Ya se ha empleado esta herramien-
ta en Scratch cuando trabajamos con la actividad “El gato
en la calle” para definir la actividad de dormirse. Como Se sugiere que, a partir de aquí, los alumnos definan el
recordarás, para definir un procedimiento hay que hacer resto de los procedimientos y que luego los utilicen para
67

reformular la secuencia de comandos del programa. Los Anexo 1 con ejercicios extra del mismo tema
procedimientos deberán quedar definidos de esta manera:

Sesión 20
Fecha propuesta antes del 19 de marzo
Sin computadora
Loops
Code.org

Existe el término en inglés loop, que describe acciones


que se repiten un cierto número de veces. En esta ac-
tividad, los estudiantes aprenderán a convertir algunas
acciones en repeticiones o loops. La palabra correcta
en español es iteraciones.

Objetivos

• Repetir acciones iniciadas por el maestro.


• Poder traducir un programa dibujado en un baile.
• Convertir una serie de acciones en un solo loop o
iteración.
El programa finalmente debería quedar así:
Para esta actividad se recomienda un espacio abierto

Desarrollo

• Pide a un voluntario que se levante.


• Dale la instrucción de rodear la silla de un com-
pañero.
• Cuando termine y regrese al frente, dale la ins-
trucción de que vuelva a hacer lo mismo (rodear
al compañero); usa las mismas palabras que la
primera vez.
• Cuando termine, haz lo mismo otra vez y después
una vez más.
• Cuando regrese, hazles notar que hubiera sido
Cierre mucho más fácil decirle desde un principio: “rodea
la silla de tu compañero cuatro veces”.
Se sugiere volver a conversar sobre las ventajas del uso • ¿Qué tal si lo pides 10 veces?
de procedimientos y de la repetición de acciones. Si bien
para la computadora el resultado de ejecutar las se- Si yo quiero que esta actividad se repita 10 veces, eso
cuencias de comandos propuestas al inicio y al final es sería una iteración, o loop.
el mismo (el marciano come las manzanas de la misma
forma que antes), para los seres humanos la segunda es Cuando sabes de antemano que quieres que una acti-
mucho más fácil de entender (aunque en principio pueda vidad se repita varias veces, hay que decirlo de forma
parecer lo contrario): ésta (podrías agregar) sería la ma- adecuada desde un principio. Así incluso sabes cuántas
nera en la que los alumnos le explicarían a sus amigos veces te falta realizar la acción para terminar la tarea.
cómo comer todas las manzanas del tablero en forma
muy simple. Además, resulta muy útil cuando el proble- Dales el siguiente ejemplo: Si tu mamá te pide que le
ma se vuelve complejo. pongas varias veces su canción favorita, ella no te diría:
68 pensamiento computacional

“Pon mi canción, pon mi canción, pon mi canción, pon mi canción”.

Lo mejor sería decir desde un, principio: “Pon mi canción 4 veces”.

Sesión 21
Fecha propuesta antes del 9 de abril
Con computadora
Lightbot nivel 3

Ir al juego aquí: http://lightbot.com/hocflash.html o descargar la aplicación para Android aquí:


https://goo.gl/DPtgZt.

Para que recuerdes bien qué significa cada comando en la nueva versión de Lightbot y puedas
relacionarlos con las instrucciones de esta versión, revisa el siguiente cuadro:

COMANDO DESCRIPCIÓN

El robot avanza un lugar hacia delante

El robot da un giro de 90º a la izquierda

El robot da un giro de 90º a la derecha

El robot sube o baja un escalón (avanzando un lugar hacia adelante)

El robot tiene que utilizar este comando cuando esté sobre un bloque u hoja
azul para activar y poder terminar el programa

El robot utiliza este comando para guardar programas que se repiten


constantemente

El robot utiliza este comando para guardar programas que se repiten


constantemente. Utilizar este bloque cuando ya se ha utilizado el comando P1
69

Durante este nivel los alumnos aprenderán a crear ci- El método para resolver este nivel reside en repetir los
clos, es decir, crear una serie de comandos para que comandos del Proc 1, pero primero es necesario que el
el robot repita la misma acción y prenda las luces sin alumno defina cuál sería el procedimiento para poder
necesidad de repetir todo el proceso, y resolver así el hacer la tarea indicada.
nivel de una manera más lógica.

La manera de resolver este nivel consiste en distinguir


los pasos que van a repetirse para poder avanzar y pren-
der la luz de cada casilla, justo como en esta imagen:

Resolver el nivel 3-1 es muy sencillo, porque en el pri-


mer recuadro (MAIN) sólo necesitas un comando para
reproducir la acción adecuada; en el segundo recua- El nivel 3-2, el procedimiento es parecido al anterior
dro tienes que definir lo que llevara el Proc 1 (Proce- y fácil de resolver; trata de pensarlo de la misma ma-
dimiento 1) para poder repetirlo y lograr el objetivo de nera que el 3-1 y ver cuáles serán los botones que se
prender las luces. repetirán.
70 pensamiento computacional

En este nivel, el alumno necesitará un comando para reproducir la tarea requerida dentro del
(MAIN METHOD); en el segundo recuadro tendrá que definir lo que llevará el Proc 1 (Procedi-
miento 1) para repetirlo y lograr el objetivo.

En el nivel 3-3 se requieren más comandos para poder concretar el ciclo. Es importante notar
que no porque se vea más complejo significa que sea difícil.

Para este nivel, el alumno tiene que repetir los comandos de una esquina para lograr avanzar y
dar la vuelta para cumplir el objetivo.

En el nivel 3-4, el alumno tiene que definir los comandos correctos para avanzar de un lado a
otro y prender toda las luces.
71

La manera de resolver este nivel es repitiendo las ac- En este nivel 3-6 el alumno debe pensar en prender las
ciones en la dirección adecuada para que avance a la primeras dos luces de tal manera que quede del mismo
derecha o a la izquierda. lado donde empezó para repetir los comandos y avan-
zar a la siguiente esquina.

En el nivel 3-5 se agrega un recuadro para el procedi- Hay varias maneras en las que pueden completarse los
miento 2 (Proc 2), que el alumno tendrá que identificar, niveles, debido a que cada alumno tiene diferentes ma-
para poder combinar los comandos Proc 2 y Proc 1 en neras de pensar. Es posible que tú lo hayas resuelto de
diferentes procesos y así simplificar los pasos y resol- forma diferente y funcione.
ver la tarea requerida.

Para resolver este nivel es necesario pensar en una se- Si en algún momento no logras resolver el nivel, no
rie de comandos para que el robot logre dar la vuelta y te desesperes, mejor piensa la manera como podrías
siga prendiendo las luces. resolverlo y busca más soluciones.
72 pensamiento computacional

3.6 Funciones y variables


Sesión 22
Fecha propuesta antes del 16 de abril
Sin computadora
Hacer un llavero
Code.org

En esta actividad, los estudiantes harán una manualidad o un llavero, siguiendo pasos repetiti-
vos. Después se les pedirá que identifiquen una serie de herramientas que se duplicarán. Una
vez identificadas, podrían denominarlo un programa y lo guardarán en una hoja.

Para construir un llavero los estudiantes necesitan realizar una serie de pasos repetidos en
los que tendrán que identificar los que más se repiten. Una vez que lo hagan, podrán definir el
algoritmo, hacer una definición de una instrucción general, o función (procedimiento), para que
en las ocasiones siguientes que tienen que hacer EXACTAMAENTE lo mismo no usen pasos se-
parados y puedan usar la serie de instrucciones que harán lo mismo. Con esta actividad los es-
tudiantes aprenderán a identificar patrones para definir y construir funciones en un programa.

Objetivo

• Aprender a encontrar los patrones en el proceso.


• Hacer una manualidad educativa.
• Interpretar símbolos y los relaciona con movimientos físicos.

Recuerda los conceptos siguientes:

Una función se define de encapsular una tarea que contiene muchas instrucciones,
justas para resolver un programa. Es un “pedazo” de un programa con un fin espe-
cífico. Esto nos permitirá entender un programa como un conjunto de pasos.

Una variable es un espacio que se reserva en la memoria de la computadora a la


que asignamos un contenido que puede ser un valor numérico o de texto.

Desarrollo

Para esta actividad necesitarás pedirles hilo o cordón con el que podrán ensartar chaquiras,
botones, pasta o papelitos, que también deben traer. Las piezas tienen que ser de 2 formas
diferentes (A y B).

Para el final del llavero necesitarán una pieza de su elección que pueda también ensartarse.

Lo ideal sería que tú hicieras una pulsera o un llavero con un patrón determinado usando dos
tipos diferentes de piezas con nudos entre ellas y con una pieza única.
73

Cuando ya estén listos y tengan su material, enséñales tu muestra y diles que no importa lo diferentes que sean
las piezas que trajeron, el desarrollo de la actividad será el mismo; tampoco importa el tipo de hilo o cordón con
el que lo amarren y que la pieza especial que trajeron es única de entre todas.

Escribe las siguientes palabras en el pizarrón:


Pieza = no importa el color, forma o material de las que trajeron, todas tienen la misma función.
Hilo = elemento longitudinal que no es una pieza.
Única = el objeto especial que trajo cada quien.

1. Introduce ensartando una pieza A en el hilo; después haz un nudo; mete otra pieza A; haz otro nudo; ensarta
ahora una pieza B y haz un nudo. Después, repite todo otra vez: introduce una pieza A, haz un nudo, otra pieza
A, otro nudo, una pieza B, nudo. Al final, ensarta tu pieza única.
2. Nota que la rutina tiene algunos pasos y todos se repiten otra vez: pieza A, nudo, pieza A, nudo, pieza B nudo
– pieza A, nudo, pieza A, nudo, pieza B, nudo y al final, pieza única.
3. Ahora escribe los pasos usando un formato, como el siguiente. Usa un renglón para cada paso.
4. La clase debe de notar que no te alcanzan los renglones para escribir los pasos. Si no lo notan, tú señálalo y
pregúntales qué se les ocurre hacer.
5. Entonces enséñales el formato en el pizarrón:
74 pensamiento computacional

Tendrán que observar que pueden respaldarse con es- Propón estas actividades para fortalecer el aprendizaje
tos formatos y poner en cada uno de ellos algunos de de los estudiantes:
los pasos para poder usarlos en el programa y ahorrar
líneas. Esto es una función. Dales la oportunidad a que • Haz una lluvia de ideas sobre las actividades de los
ellos propongan. alumnos en la escuela.
• Divide a los estudiantes en pequeños grupos y dale
Pídeles que te compartan las diferentes formas que a cada grupo una hoja grande de papel.
ellos encontraron y después muestra la siguiente ma- • Cada grupo escribirá la actividad diaria como una
nera de hacerlo: función y deberán crear un cartel con el código de
las funciones.
La opción puede denominarse Habilidad 1: • Escribe con toda la clase un programa del típico
1-pieza A; 2-nudo; 3-pieza A; 4-nudo; 5-pieza B; 6-nudo día de clase, nombrando a cada grupo como una
función.
Habilidad 2:
1-pieza única; 2-nudo final

Programa:
1-habilidad 1; 2-habilidad 1; 3-habilidad 2 Sesión 23
Fecha propuesta antes del 23 de abril
Ahora pregúntales cómo harían si tuvieran que repetir Con computadora e internet
la secuencia miles de veces. Funciones con artista
Code.org
Lo importante es saber que realizas una misma acción
varias veces aunque no sepas cuál material o variable Para reforzar el aprendizaje de las funciones, los
vas a utilizar para que esto suceda y que el que existan alumnos podrán dibujar formas en la pantalla las cuales
diferentes variables no altera tu resultado: llegar a una podrán modificar de acuerdo con diferentes propósitos.
meta determinada.
Objetivo
Actividad 2
• Utiliza una función predeterminada para dibujar
Con computadora una figura y repetirla.
Abeja: funciones • Modifica una función existente para dibujar dife-
code.org rentes figuras.
• Distingue entre funciones y loops.
En esta actividad los estudiantes usarán y modificarán • Crea un programa con funciones.
funciones para ayudar a la abeja a recolectar néctar y
hacer miel. https://studio.code.org/s/course3/stage/5/puzzle/1

Objetivos

• Usar funciones predeterminadas para completar Sesión 24


las tareas repetidas. Fecha propuesta antes del 30 de abril
• Modificar la función existente para completar dife- Con computadora
rentes tareas. Lightbot nivel 2
• Crear una función desde Scratch.
Ir al juego en este link:
Actividad http://lightbot.com/hocflash.html

https://studio.code.org/s/course3/stage/6/puzzle/1 o descargar la aplicación para Android aquí:


https://goo.gl/DPtgZt.
75

Para que recuerdes bien qué significa cada comando en la nueva versión de Lightbot y puedas relacionarlos con
las instrucciones de la antigua versión, revisa el siguiente cuadro:

COMANDO DESCRIPCIÓN

El robot avanza un lugar hacia delante

El robot da un giro de 90º a la izquierda

El robot da un giro de 90º a la derecha

El robot sube o baja un escalón (avanzando un lugar hacia adelante)

El robot tiene que utilizar este comando cuando esté sobre un bloque u hoja azul
para activar y poder terminar el programa

El robot utiliza este comando para guardar programas que se repiten


constantemente

El robot utiliza este comando para guardar programas que se repiten


constantemente. Se utiliza este bloque cuando ya se ha usado el comando P1

Avanzar (hace que el robot avance una casilla, excepto si está frente a una pared o a un desnivel, en cuyo caso
permanece en el mismo lugar).

Girar a la derecha

Girar a la izquierda

Saltar (permite al robot saltar por encima de un solo bloque, o bien saltar desde uno).

Encender luz (si está apagada)


o
Apagarla (si está encendida)

Función 1 y 2 (es lo mismo que proc 1 y proc 2)

Los alumnos entrarán al nivel 2 y completarán todas las actividades que se recomiendan.

A partir de aquí, tendrán que utilizar más espacios dentro del área principal (Main).
76 pensamiento computacional

El alumno tiene que estar al pendiente de que cuan- Lo importante es que los alumnos logren identificar
do encuentre un patrón que se repita, puede crear una patrones que les permitan ahorrar casilleros al definir
función con un comando específico llenando los blo- nuevas tareas. Con el fin de reforzar la continuidad de
ques de cuadros de funciones: proc 1 y proc 2 . estas operaciones con las ya practicadas en Scratch,
indica a los alumnos que propongan un nombre para la
Cuando utilicen las nuevas áreas, el comando p1 le tarea ejemplificada que sea suficientemente descripti-
dirá al robot qué hacer con un comando, éste incluye vo de la acción a realizar.
simplemente todos los movimientos que hay en proc 1
. Lo mismo ocurre cuando tengan que utilizar proc Una vez que has explicado cómo crear nuevos procedi-
2 . mientos en Lightbot, los alumnos están en condiciones
de solucionar el problema que se plantea en el nivel
Un procedimiento, como lo hemos denominado en este 5. Una opción que muchos alumnos han seguido para
juego, es cuando se recurre a varios pasos o acciones continuar dando indicaciones al robot consiste en de-
repetitivas. En este juego está permitido definir dos ta- finir la función 1 con el detalle de las acciones que no
reas nuevas o acciones que se repitan al menos una entran en el primer bloque de cuadros.
ocasión en el curso de ejecución del programa delimi-
tadas por los grupos de casilleros Proc 1 y Proc 2. Cada
grupo admite hasta ocho acciones por tarea, porque es
parte del juego que el jugador piense la forma de utili-
zar las casillas de la manera más eficaz.

Mediante los comandos se indica al robot que ejecute


las nuevas tareas definidas. Por ejemplo, si el procedi-
miento o función 1 se define como avanzar tres veces,
al colocar el comando en la primer bloque de cuadros,
se está indicando al robot que se mueva tres pasos ha-
cia adelante:

Debido a que las casillas de la función 1 no alcanzan


para indicar todas las acciones, se incluyen entonces
en la función 2 las acciones restantes:

Si se especifica dos veces, el robot se moverá seis ve-


ces hacia adelante. De este modo, en vez utilizar seis
casilleros de la retícula, se utilizan sólo dos, por que
cada una vale por tres pasos:

En esta solución no se pensó en dividir inteligentemen-


te el problema. Si bien el robot llega a encender todas
las luces, esta forma de utilizar las tareas secundarias
no permitirá ir muy lejos en los niveles más complejos
ya que no habrá suficientes casillas disponibles. Otras
77

soluciones más adecuadas (aunque es menos proba- con un propósito bien definido y estar formado por se-
ble que los alumnos las propongan) podrían ser las si- cuencias de acciones que se repiten muchas veces a
guientes: lo largo del programa. En relación con esto, pide a los
alumnos que busquen, en el intento de solución plan-
teado, alguna secuencia que se repita. Esta secuencia
está formada por las acciones avanzar y encender luz.

Esta observación constituye un buen punto de partida


para que los alumnos profundicen en la utilidad de los
procedimientos en programación. Así, siguiendo con
el análisis del ejemplo, las secuencias que se reiteran
pueden borrarse y redefinirse como tareas secundarias
de un mismo procedimiento:

Según las características de la clase, podría ser conve-


niente dejar que los alumnos exploren diversas solucio-
nes posibles (reiniciando el juego, si es necesario). Por
el momento, bastará con señalar las limitaciones que
presenta la primera solución y pasar al nivel siguiente.

Se sugiere dar tiempo a los alumnos para que inten-


ten resolverlo por su cuenta. Lo más probable es que
la mayoría encare una vía de solución inadecuada, al
intentar repetir lo hecho en el primer ejemplo del ni-
vel anterior, por lo que es conveniente pedirles que
interrumpan el juego y se enfoquen en cómo usar los
procedimientos para hallar una solución satisfactoria.
Comienza señalando lo que ocurre cuando se utilizan De este modo, cada vez que quieras que el robot avance
los procedimientos solo como meras extensiones del y encienda la luz, en las casillas del Main method se
espacio disponible para llenarlos con acciones primi- indicará f1:
tivas. En este caso, se llega a una situación como la
siguiente:

Se han ocupado todos los casilleros y al robot todavía


le quedan dos baldosas sin encender. Para que tenga
sentido utilizar un procedimiento, tiene que cumplir
78 pensamiento computacional

Lo que se ha resuelto para la primera fila de luces, pue- para la solución de problemas, proponles que avancen
de también aplicarse a la segunda. Para ello, solo hay a los siguientes niveles. Las soluciones y los patrones
que definir otro procedimiento que incluya el anterior. De correspondientes a esos niveles se muestran a continuación.
acuerdo con esto, P2 puede definirse como seis veces P1.
En el nivel 8 la secuencia de acciones más frecuente
consiste en avanzar dos veces y encender la luz:

La primera celda en la segunda fila, ya que esta comien-


za sobre el borde del tablero. En cualquier caso, si a los
alumnos les resulta difícil entender esto, bastará con Las baldosas azules forman un cuadrado, por lo que, una
que hagan la prueba. Verán que al hacer P2 = P1 el ro- vez que el robot llega a la primera baldosa azul, sólo hay
bot apaga la luz de una baldosa que ya había encendido. que definir el procedimiento adecuado para uno de los
Las indicaciones para que el robot encienda todas las lados y luego copiarlo para los lados restantes.
baldosas quedan organizadas de la siguiente manera.
***Hay diferentes versiones de Lightbot, si las imá-
genes que estás utilizando no corresponden exacta-
mente a las del cuaderno, trata de apoyarte en estas
soluciones y explicaciones.

Para resolver los próximos niveles es necesario valerse


de esta habilidad. Antes de continuar, es fundamental
que los alumnos se apropien de este nuevo modo de
usar los procedimientos. De ser necesario se dejará
que organicen sus propias definiciones de los procedi- El nivel 10 es uno de los más difíciles. Lo más convenien-
mientos, las prueben y las corrijan. Incluso es posible te es seguir los pasos que se indican a continuación:
que propongan otras soluciones las cuales, aunque les
permitan pasar al siguiente nivel, no son tan eficientes • Definir un procedimiento que incluya las acciones
como la que se describió antes. necesarias para que el robot se dirija hasta el pun-
to intermedio entre las dos baldosas azules.
Luego de haberte asegurado de que los alumnos hayan • Desde allí, hacer que el robot avance primero hacia la
comprendido la manera de aprovechar los procedimientos baldosa azul ubicada a la izquierda, la encienda y gire.
79

• Definir un segundo procedimiento, que comience simplemente se indica que ejecute la acción encen-
con la acción de saltar desde la baldosa encen- der luz al final de la primera retícula, de manera
dida de modo que el robot quede ubicado en la que el robot vuelva a encenderla.
posición inicial, continúe con otro giro y repita
el primer procedimiento (que hace que el robot
avance nuevamente al punto intermedio) y fina-
lice con la indicación de las acciones requeridas
para que el robot encienda la luz de la baldosa
del extremo derecho.

Recuerda:

Cada problema al que nos enfrentamos tiene diferentes


grados de dificultad. Si queremos tener oportunidad de
hacer algo creativo, útil e inteligente debemos tener la
voluntad de resolver problemas que nos cuesten tra-
bajo y en los que sea necesario, hacer varios intentos
antes de lograr resolverlos. Así continuarán encontrando todas las posibilidades
para lograr encender todas las luces en los diferen-
tes niveles, no se desesperen, habrá veces que tendrán
que reiniciar el juego hasta encontrar las funciones
adecuadas.

Si no encuentran las secuencias, ayúdalos a recordar


que la paciencia y el trabajo en equipo son importantes
en la programación. Tal vez tengan que empezar desde
cero para lograrlo.

Cierre
En el nivel 11 conviene definir un procedimiento que
encienda cuatro luces contiguas ya que todas las filas Es importante detenerse a analizar y comparar las ac-
tienen ocho luces, excepto la primera. Lo más práctico tividades realizadas en Scratch con las de Lightbot y, a
es considerar esta primera fila como si fuera igual que partir de ello, indicar los aspectos nuevos relacionados
las otras e indicar que el robot realice la acción de en- con el tipo de operaciones que desempeña un progra-
cender la luz sobre la baldosa, aunque ésta no la tenga. ma. Así, mientras en los casos anteriores no había un
Es una acción redundante, pero válida en este juego. problema bien delimitado para resolver (en la activi-
dad de Scratch en la que había que definir la actividad
de dormirse, el foco estaba puesto más bien en cómo
plantear un problema) y sólo ejecutaba la acción, aquí
se sabe exactamente si el programa resuelve o no el
problema planteado.

Entre los aspectos novedosos está el método de dividir


un problema grande en partes más pequeñas, lo que en
programación se conoce como división en tareas secun-
darias. La división en tareas secundarias consiste en:

El último nivel es fácil de resolver. Un inconvenien- • Identificar pequeñas tareas fácilmente explicables
te que podría surgir aquí (si no se presentó ante- (avanzar un paso, subir un peldaño, encender una
riormente) es que el robot apague una de las luces luz) y asignarles un nombre pertinente para que se
que encendió con anterioridad. Para solucionarlo, entienda lo que representan.
80 pensamiento computacional

• Combinar estas pequeñas tareas para definir el programa que resuelve el problema (los
procedimientos, que en Lightbot se llaman funciones).

Otro elemento diferente en esta actividad es haber encontrado que hay acciones que se repiten
y debemos aprender a detectarlas. Cuando esto sucede, las instrucciones que se repiten deben
estar “dentro” de un loop, o ciclo que permite repetirlas sin escribirlas varias veces.

Los alumnos tienen que saber distinguir el número de veces que se repiten las acciones en una
misma instrucción y convertir esta serie de acciones en un solo loop.

Loop es una estructura algorítmica que permite repetir una o varias instrucciones.

División de tareas secundarias es cuando un problema grande puede dividirse en


partes pequeñas para resolverlas mejor. Es lograr descomponer una secuencia
larga de instrucciones en secuencias más cortas y repetibles. Así, la creación de
programas para una acción específica se logra con repeticiones de secuencias.
Estas tareas se denominan procesos o funciones.
81
Entra a cuantrix.mx
84 pensamiento computacional

Soluciones del
mundo real (último reto)
Después de los temas aprendidos en este capítulo, los niños aplicaran sus conocimientos para poder dar una
solución al mundo real en el cual ellos puedan desarrollar paso a paso una idea para ayudar o beneficiar a su
escuela, comunidad o a su país.

La idea es realizar un proyecto que ofrezca una solución a un problema del mundo real enfocado en temas tras-
cendentes de su comunidad, tales como la contaminación y la basura.

Discute con todo el grupo sobre el tema escogido. Para ayudarte en el desarrollo del ejercicio, pongamos el
ejemplo de la basura en su comunidad. Una vez detectado el problema, tienes que organizar una lluvia de ideas al
respecto exponiendo diferentes factores o aspectos secundarios con respecto al problema de la basura.

Organízalos para que formen equipos de mínimo 2 y máximo 4 integrantes y pídeles que por equipo de trabajo
propongan una solución y la desarrollen en cuatro etapas:

1. Aprender acerca del tema


• Después de la primera discusión grupal, pide a los alumnos que realicen una investigación general de un
tema; en este caso, basura y contaminación. Deberán de utilizar diversos recursos como el internet, libros,
entrevistas, entre otros.
• Preguntar a los niños si han tirado el día de hoy algo como:

• Cáscaras de comida.
• Bolsas de plástico.
• Objetos usadas.
• Ropa muy pequeña o usada.

• Con lo anterior, los niños comenzarán a darse cuenta de la gran cantidad de basura que generan en un día.
Logra que se imaginen que eso sólo es de ellos y entonces hablen de lo que se genera de basura en el país.
• Trata de que investiguen qué manejo se le da a la basura donde ellos viven: puede ser que la lleven a un centro
de reciclaje, a un depósito de basura o que se queme. Lo que hay que preguntar realmente es si saben dónde
termina esa basura.
• La misión de los niños es encontrar una solución para generar menos basura o mejorar la forma en que la
gente gestiona la basura mediante una aplicación móvil o un programa.

2. Identificar un problema
• Mediante la siguiente actividad en equipo, los niños podrán identificar el problema:
85

Descripción Comentarios

Preséntales el tema mediante las diferentes


Preguntar a los niños: ¿Qué es la basura? formas que hay de encontrar basura, generar
basura, etcétera

Anotar y explorar todos los tipos de basura En grupo, con la participación de los niños,
que existen anota los tipos y formas de basura que hay

Los niños escribirán de manera individual


Individualmente, escribiendo en una hoja
todos los problemas relacionados con la
blanca de papel
basura que se les ocurran

Pasarán al frente de la clase a explicar sus


Los niños expondrán sus resultados
problemas

En equipo (dividirlos en 2 grandes equipos), Anotar en la hoja de papel los problemas más
identificar los problemas más importantes importantes de acuerdo con las conclusiones
de entre los que se expusieron del equipo

Explorar en grupo cuáles son los proble- Se aportarán ideas y se anotarán en el


mas más importantes pizarrón.

Identificar los 3 problemas más importan-


Decisión grupal
tes que los niños identificaron

Con esta actividad, los niños podrán encontrar varios problemas sobre el mismo tema. La inten-
ción es que seleccionen solo uno de ellos y se propongan trabajar para desarrollar una solución.

3. Crear una solución innovadora


• Con el apoyo de los programas usados para aprender a programar, los niños tendrán que
desarrollar una solución al problema identificado.
• Utilizar las siguientes estrategias didácticas:

1. Motivar a que los niños piensen en una solución que agregue valor a su comunidad, mejo-
rando algo que ya existe, complementando algo previo o bien, inventar algo completamente
nuevo.

2. Propiciar que los niños piensen en:


1. ¿Qué puede hacerse de la mejor manera? ¿Cómo podría hacerse de una manera diferente?
2. ¿Podría su solución hacer que la gente se divierta o se entretenga cuando la use?
86 pensamiento computacional

3. Impulsar para que los niños consideren diferentes ideas y tengan la actitud de que la primera
solución tal vez no sea la mejor de modo que piensen el problema desde distintos puntos de
vista. En ocasiones las soluciones que consideran “tontas” pueden ser las mejores.

• Por último, permitir que aprecien sus soluciones desde el punto de vista de que podrían
ser reales.
1. ¿Por qué sus soluciones podrían ser exitosas cuando otras han fracasado?
2. ¿Qué costo tendría volverla una realidad?
3. ¿Podría cualquier persona, o solo algunas, valerse de su solución?

• Recordarles que sus ideas no tienen que ser completamente nuevas y poner énfasis en que
innovar es la mejora de una idea o un objeto que ya existe.

4. Desarrollar su propuesta
Éste es el momento para desarrollar su propuesta, valiéndose de la imaginación y el trabajo
en equipo.

5. Hacer una presentación de la solución


Los niños desarrollarán una presentación de 5 minutos donde identifiquen su problema, su
solución y expliquen su funcionamiento técnico con el objetivo de que mencionen cómo desa-
rrollaron su solución.

6. Aportar a su comunidad
Lo ideal sería que los alumnos puedan dejar huella y aportar soluciones reales en su comunidad.
Utilizando un programa o simplemente pseudo código.

Anexo 1 actividades extras

Actividades extras de iteraciones (7 extras)


Program.AR

La actividad siguiente de Scratch que figuran a continuación presentan diversos escenarios y


plantean problemas de complejidad creciente. Se proponen a modo de ejercicio para que los
alumnos afiancen lo aprendido hasta el momento. Luego del trabajo con cada actividad, suge-
rimos hacer una puesta en común a fin de que los alumnos expongan las dificultades que se
les hayan podido presentar. Asimismo, también será útil comparar cada una con El gato en la
calle, ya trabajada.

Lightbot en Scratch
https://scratch.mit.edu/projects/42292564/#editor
87

Esta actividad de Scratch es una adaptación de Lightbot. Como en Lightbot, el objetivo es que el robot encien-
Al ingresar, se observa el siguiente escenario: da los cuadros azules. La diferencia es que, en vez de
ubicar los comandos en un recuadro, se utilizan los
bloques característicos de Scratch. Los comandos
primitivos (que, como es habitual, se encuentran en la
categoría Más bloques) son en este caso los siguientes:

Se espera que los alumnos se den cuenta de que les conviene crear un procedimiento que mueva al robot en diagonal
porque ese movimiento se repite más a menudo.

Este procedimiento podría definirse así:

Luego, es posible crear dos procedimientos más: uno para que el robot encienda los cuatro cuadros azules que
forman una diagonal a la izquierda y otro para que encienda los cuatro cuadros azules restantes, que forman otra
diagonal a la derecha. Las definiciones de estos procedimientos serían las siguientes:
88 pensamiento computacional

A partir de los procedimientos definidos, la solución quedaría planteada de esta manera:

Como en otras oportunidades, se sugiere dejar a los alumnos que intenten resolver el problema
solos e intervenir únicamente cuando sea necesario; por ejemplo, si se observa que buscan una
solución sin crear procedimientos. En tal caso, indícales que el desafío es simplificar las tareas,
como se hizo en Lightbolt, de modo que adquieran una destreza que les permitirá resolver pro-
blemas más difíciles. Luego, orienta a cada alumno por separado acerca de qué procedimientos
conviene crear.

El recolector de estrellas
http://scratch.mit.edu/projects/42294488/#editor

El planteamiento en esta actividad de Scratch es similar al de “El marciano en el desierto”. Aquí


hay un extraterreste que en este caso tiene que recolectar estrellas. El objetivo es que el extra-
terrestre tome todas las estrellas del tablero.

Como puedes apreciar, no hay instrucciones para que el extraterrestre se mueva hacia abajo o
hacia la izquierda. El bloque volver al borde izquierdo simplemente ordena al extraterrestre que
regrese desde la fila en la que se encuentra a la primera celda de la izquierda.
89

La estrategia –que deberán descubrir los alumnos– será hacer que el extraterrestre tome las
estrellas fila por fila.

Una solución posible (entre varias otras) es la siguiente:

Otras posibilidades son las siguientes:

María, la come sandías


http://scratch.mit.edu/projects/42294654/#editor

Otras posibilidades, a partir de los mismos procedimientos, son las que a continuación presentamos.

En este juego, el personaje de María deberá morder todas las sandías del tablero.
90 pensamiento computacional

Se sugiere conversar con los alumnos acerca de cómo resolverían el juego antes de que intenten
hacerlo y orientarlos al respecto. Las soluciones posibles son varias. Una consiste en ordenar al
personaje que muerda las sandías de las tres filas, a partir de la segunda columna, y que luego
muerda las de la primera columna. También puede morder primero las sandías de la primera
columna y luego las de las tres filas. El orden es indistinto. En cualquier caso, se necesitan al
menos dos procedimientos, uno para cada tarea. Además de éstos, puede agregarse otro que
permita que el personaje vuelva al principio de la fila (es decir, el borde izquierdo del tablero).

En la actividad anterior esto era un comando primitivo, pero ahora habría que definirlo.

Una vez planteados los términos generales de la solución, deja que los alumnos intenten formu-
larla con todos sus detalles. Si les resulta complicado, guíalos en los pasos a seguir. Al respecto,
indícales que lo más conveniente será definir los procedimientos en el siguiente orden: en primer
lugar, el procedimiento necesario para que María muerda las sandías de una fila (excepto las
que forman la primera columna); luego, el que corresponde a la acción de volver al inicio de la
fila. A continuación, un procedimiento que le ordene morder las sandías de las tres filas (donde
se integren los procedimientos anteriores) y, finalmente, uno para que muerda las sandías de la
columna de la izquierda. A partir de estos procedimientos, una solución posible es la siguiente:
91

Alimentar a los peces


http://scratch.mit.edu/projects/42292362/#editor

En este caso, el buzo debe buscar la comida y luego acercarse a cada pez para alimentarlo.

Como en el caso anterior, los alumnos podrán discutir acerca de los procedimientos más adecuados para resolver
el problema; por ejemplo, podría crearse un procedimiento para ir a buscar el alimento y otro para alimentar a
los peces.

Una solución posible es la siguiente:


92 pensamiento computacional

Instalar juegos
http://scratch.mit.edu/projects/42296824/#editor

En esta actividad de Scratch, el personaje tiene que instalar un videojuego en las tres computadoras de la bibliote-
ca. Para ello debe encender cada computadora, ingresar la contraseña, que en este caso es ABC, cargar el juego
y finalmente apagar la máquina. Por ser un proceso repetitivo, lo más conveniente es automatizarlo.

El desafío para los alumnos es definir un procedimiento que permita realizar el proceso antes descrito y, luego,
definir un programa que lo ejecute en cada computadora de la biblioteca. La solución es la siguiente:

La gran aventura del mar encantado


http://scratch.mit.edu/projects/42294776/#editor

Con esta actividad de Scratch se pretende que los alumnos exploten al máximo la técnica de división en tareas
secundarias. El objetivo es que el héroe (ubicado en el casillero del extremo inferior izquierdo) logre escapar en el
unicornio con la princesa. Para ello, debe superar una serie de pruebas en el siguiente orden:

1. Buscar la llave.
2. Con la llave, abrir el cofre y tomar un sombrero mágico que se encuentra adentro.
3. Entregarle el sombrero al mago para que éste le dé una espada.
4. Con la espada, ir a luchar contra el caballero oscuro y rescatar a la princesa.
5. Ir con la princesa hasta el unicornio y escapar.
93

Para que el héroe pueda superar las pruebas, hay que tener en cuenta lo
siguiente:

• No puede tomar la llave si no está en la casilla donde está la llave.


• No puede abrir el cofre sin la llave y si no está junto al cofre.
• No puede darle el sobrero al mago si no tiene el sombrero y si no está
junto al mago.
• No puede atacar al caballero oscuro si no tiene la espada y si no está
en la casilla donde se encuentra el caballero.
• No puede escapar con la princesa montado en el unicornio si no está
con ella en la casilla donde se encuentra el unicornio.

Como contrapartida de estas restricciones, el héroe puede pasar por en-


cima de cualquier figura sin problemas. Esto significa que no tiene que
esquivar ningún obstáculo.

Una vez más, será conveniente dejar que los alumnos resuelvan la activi-
dad como se les ocurra, pero recordándoles que, si no identifican y definen
distintos procedimientos, la tarea puede volverse bastante ardua y com-
pleja. Tal vez convenga escribir en el pizarrón los pasos a seguir para que
todos puedan verlos cómodamente y no se pierdan. Una solución posible
es la siguiente:
94 pensamiento computacional

Reparar la nave
http://scratch.mit.edu/projects/42296150/#editor

El último juego de esta sección presenta a un marciano que debe aprovisionarse de carbón y hie-
rro para reparar su nave y así poder ponerla en funcionamiento. El marciano tendrá que realizar
tres viajes para obtener cada material que necesita. Una vez que lo haga, la nave se desplazará.

Hay varias soluciones igualmente válidas para el problema planteado.


Una de ellas es la siguiente:
95

Vocabulario para enseñar


a programar de manera fácil
Abstracción: Encontrar diferencias específicas para hacer que una solución pueda resolver va-
rios problemas.

Algoritmo: Lista de pasos ordenados y especificos que permiten resolver una tarea. Es una lista
de los pasos que es posible hacer, o no, con una computadora.

Binario: Manera de representar información con dos opciones o alternativas.

Bug (o error): Error en el programa que no deja funcionar algo como se espera que funcione.

Caja de herramientas: Barra que se encuentra en el centro de los programas de Scratch y


Code.org que contiene todos los bloques que podemos ocupar para hacer nuestros programas.

Ciencias de la computación: Utilizar el poder de las computadoras para resolver problemas.

Ciudadano digital: Las personas que actúan de forma segura y respetuosa en el internet.

Comando: Una instrucción a realizar; la unión de comandos forman un programa o algoritmo.

Condicionales: Declaraciones que hacen que un comando se realice o no bajo ciertas circunstancias.

Controlador de un evento: Una evaluación que se lleva a cabo de acuerdo con una acción que se
realiza dentro o fuera de nuestro programa.

Correr un programa: Hacer que la computadora ejecute la serie de instrucciones (comandos)


establecidas.

Dato: Información, cantidad, caracteres y símbolos que se asigna pueden ser entrada de un pro-
grama o que el programa ofrece.

Depuración: Encontrar y modificar errores en los programas.

Descomponer: Romper un problema en piezas (problemas) más pequeños para crear solucio-
nes pequeñas y para que sea más fácil encontrar la solución a éste .

Dirección IP: Un número asignado a cualquier dispositivo que esté conectado al internet.

División de subtareas: Habilidad de dividir un problema en partes pequeñas para poder resol-
verlo mejor.

DNS (nombre de servicio de dominio): Servicio que traduce las direcciones URL en direcciones IP.

DSL(cable): Método para enviar información a través de cables de teléfono o televisión.


96 pensamiento computacional

Espacio de trabajo: Lugar para colocar nuestros bloques o códigos de programación que se eje-
cutarán con el programa designado.

Evento: Orden recibida en el programa que hace que algo suceda.

Fibra óptica (cable): Conexión que utiliza luz para transmitir información.

Huella digital: Información de alguien que se queda en el internet.

Internet: Red internacional que agrupa computadoras y dispositivos conectados en todo el mundo.

Usar (llamar) una función: Pieza de código o instrucción que indica que debe de ejecutarse una
función.

Loop (bucle/iteración): La acción de hacer y repetir un código infinitamente, cierto número de


veces o de acuerdo con algo que se evalúe previamente.

Nombre de usuario: Nombre que se inventa para ingresar a un programa que sirve como identificador.

Paquete: Pequeños conjuntos de información que se realizan a partir de conjuntos más grandes
información.

Parámetro: Pieza de información extra que se transfiere a la función para personalizar una ne-
cesidad específica.

Patrón: Característica igual entre ciertas cosas que se repite constantemente.

Pensamiento computacional: Estrategias y procesos mentales que permiten entender cómo es


que piensan y funcionan las computadoras.

Persistencia: Insistir una y otra vez en realizar alguna cosa o en su ejecución.

Procedimiento (función): Es un conjunto de acciones o instrucciones agrupadas para poderse


ejecutar como bloque.

Programa: Algoritmo que ha sido codificado para que pueda funcionar en una computadora.

Secuencia de comandos: Son series de acciones que se realizan una a continuación de la otra en
un momento determinado.

Servidores: Computadoras que existen únicamente para proveer servicio a otros dispositivos.

URL: Dirección sencilla de aprender para acceder a una página de internet.

Variable: Etiqueta de un pedazo de información susceptible de cambiar.

Wi-Fi: Método inalámbrico para enviar información mediante ondas de radio.


97

Guías de descargas:
Guía de descarga de la aplicación ScratchJr para su uso en tabletas
En esta guía se presentan los pasos para descargar la aplicación ScratchJr en las tabletas Android.

1. Ingresar a la aplicación “Play Store” ubicada en las aplicaciones con el siguiente ícono:

2. Dentro de la aplicación buscar la aplicación “ScratchJr”:

3. Seleccionar la aplicación que tiene el icono con fondo azul y un gato naranja como el siguiente:

4. Dar clic en instalar.


5. Esperar a que se instale.
6. Una vez instalado, ingresar a la aplicación y seleccionar el idioma español.
7. Utiliza la siguiente guía para familiarizarte con la interfaz:
https://www.scratchjr.org/pdfs/scratchjr-interface-guide_es.pdf
98 pensamiento computacional

Guía práctica de introducción


a Scratch

Scratch es un entorno de aprendizaje del lenguaje de programación que permite a los principian-
tes investigar, conocer y jugar con la programación utilizando una interfaz gráfica muy sencilla.

El editor en línea
Scratch está disponible como una aplicación web. Ésta es la forma más sencilla de empezar a
trabajar con él. Sólo hace falta tener un navegador con el complemento de flash instalado y ac-
ceder a la siguiente dirección:

https://scratch.mit.edu/projects/editor/?tip_bar=getStarted.

Una vez cargado el editor, la apariencia de la página debería ser similar a la de la siguiente
imagen:
99

El editor sin conexión


Scratch también puede funcionar como una aplicación de escritorio en Mac, Windows y en algu-
nas versiones de Linux. El único requisito es tener instalado el sistema Adobe AIR.

Los instaladores para todas las versiones de Scratch y Adobe AIR se obtienen en la siguiente
dirección: https://scratch.mit.edu/scratch2download/

El editor sin conexión luce idéntico al de la versión web:

El escenario
El área blanca ubicada a la izquierda de la ventana de Scratch es el escenario. En esta área es
donde se observan la mayoría de las salidas de nuestros scripts o programas. En el escenario se
muestran ciertas imágenes llamadas sprites, por defecto tenemos cargado un sprite de la mas-
cota de Scratch. Los scripts que se realizan en Scratch interactúan directamente con los sprites.

El escenario:
100 pensamiento computacional

El editor de scripts o programas


A la derecha del escenario tenemos el editor de scripts. En él se encuentran los bloques que serán los comandos
o instrucciones que integrarán nuestros scripts o programas. También tenemos la zona en la que se colocarán los
bloques para programar los scripts.

A continuación resaltamos el editor de scripts o programas con el área de bloques y la zona de colocación:

Los bloques
Los bloques son la estructura fundamental que permite realizar scripts en Scratch. Éstos permiten controlar el
flujo del programa, ejecutar las instrucciones, entre otras funciones.

Para utilizar un bloque solo hace falta arrastrarlo desde su área hasta la zona de colocación de bloques. Una vez
que el bloque se encuentra en esta zona, podemos hacer doble clic en él para ejecutarlo.

Como un ejemplo básico, aprenderemos a usar el bloque “move” para indicar que la mascota de Scratch se
mueva. Con el editor abierto comprobamos que el sprite de la mascota se encuentre seleccionado. Podemos
asegurarnos de esto si en la esquina superior derecha de la zona de colocación de bloques vemos el sprite de la
mascota con los datos de su posición en X y en Y, tal y como se muestra en la siguiente imagen:
101

Ahora arrastraremos el primer bloque que aparece en la lista hacia la zona de colocación, es decir, el bloque que
tiene escrito .

Si esto se realiza con éxito, entonces tendremos el bloque en su lugar, como se muestra en la siguiente imagen:

Si ahora hacemos doble clic en el bloque, veremos como la mascota se moverá hacia la derecha. Podemos cam-
biar la distancia en que se moverá la mascota alterando el valor numérico de éste; también podemos lograr que
la mascota se mueva hacia el otro lado colocando el signo de menos antes del valor numérico.

Ahora veremos cómo cambiar la orientación hacia la que mira la mascota. Para lograr esto, arrastremos el si-
guiente bloque de la lista, es decir, el que dice “turn 15 degrees”. Después haremos doble clic en este bloque.

Tal y como puede observarse en la imagen, el gato ha girado.

Nuevamente podemos cambiar la magnitud del efecto del bloque si alteramos su valor numérico; también es po-
sible cambiar el signo a negativo para realizar el cambio en la dirección opuesta.
102 pensamiento computacional

Combinando bloques
Como quizás habrás notado, los bloques tienen peque- Ahora arrastraremos aquel que dice “forever” a la zona
ñas muescas en la parte superior e inferior como si de colocación. Una vez que tengas el bloque “forever”
fueran piezas de rompecabezas. Esto es así porque en en posición, arrastraremos la unión de los dos bloques
efecto funcionan de esa manera. Si sueltas un bloque anteriores dentro del bloque “forever”, de la manera
debajo de otro, éstos se unirán. Veamos lo que suce- que se muestra a continuación:
de si unimos los dos bloques que hemos visto. Suelta
el bloque de “turn 15 degrees” debajo del bloque de
“move 10 steps”.

Los bloques deberán verse unidos de la siguiente manera:

El bloque “forever” ocasiona que los bloques que con-


tiene sean ejecutados para siempre (al menos hasta
que detengamos el programa). Ahora haz doble clic en
Al hacer el doble clic verás cómo la mascota se mueve el bloque: ¡el gato caminara en círculos indefinidamen-
a la par que gira. Si realizas esta acción en repetidas te!
ocasiones parecerá que la mascota está caminando en
círculos. ¡Facilitemos esto! Para detener la ejecución del bloque “forever” haz clic
en el icono rojo que se encuentra en el área superior
En el área de bloques haz clic en “control”. Al hacer derecha del escenario:
esto, la lista de bloques disponibles cambiará, como se
muestra en las siguientes imágenes:

Ejercicio
Ahora modifica los bloques para que el script le indique
a la mascota que camine hacia atrás.

Sugerencia: recuerda la forma en que los signos + y -


afectan el comportamiento de los bloques.
103

Recetas para resolver problemas


Paso 1: Entender el problema
• ¿Qué tenemos que hacer para resolver el problema?
• ¿Puedes explicar el problema con tus palabras?
• ¿Qué necesitas para que tu programa de inicio?
• ¿Cuál es el objetivo?
• ¿Has resuelto algún problema similar a éste?

Paso 2: Crear un plan para resolver el problema


• Escribe un algoritmo.
• Analízalo y verifícalo conforme avances.
• Plantea o dibuja lo que quieres hacer.
• Trabaja por pasos y con orden.
• Compara tu solución con algo similar que hayas hecho antes.

Paso 3: Ejecuta y mejora el plan


• ¿Resolviste tu problema?
• Si no lo has logrado, encuentra el error paso por paso.
• Vuelve a intentarlo después de cada cambio.
• No te desesperes, toma un pequeño respiro o deja descansar el problema un momento.
• Pregunta, posiblemente tus amigos te pueden ayudar a encontrar el error.

Paso 4: Revista tu trabajo


• Forma de trabajo para encontrar errores.
• ¿Tu plan soluciona el problema?
• ¿Tu solución cumple todos los objetivos?
• ¿Hay alguna otra forma más sencilla de resolver el problema?
• Busca el error paso a paso.
• Describe lo que se supone que debe pasar.
• ¿Cuál es la diferencia entre lo que debe y ésta pasando?
• Escribe comentarios para indicar lo que falta o lo que está bien para identificar un error.

Paso 5: Complementa la solución


• Analiza, ve lento y pruébalo.
• ¿Entiendes el código que estás haciendo?
• ¿Crees que puedas simplificarlo?
• ¿Logra cumplir el objetivo indicado?
• Trata de idear más soluciones si es necesario.
104 pensamiento computacional

Conclusión general
Alumnos y maestros tuvieron un acercamiento a lo que es el pensamiento computacional el
cual les brinda las herramientas esenciales para poder identificar problemas y darles solucio-
nes por medio de la tecnología.

Sin duda, las niñas y los niños aprendieron a programar y han adquirido un pensamiento infor-
mático desde su corta edad.

Entre otros, los conocimientos adquiridos fueron:

• Algoritmos
• Variables
• Funciones
• Condicionales
• Iteracciones

Además de la parte técnica, adquirieron conocimientos para desarrollar las siguientes habilida-
des y competencias:

• Creatividad
• Colaboración y aprendizaje para el trabajo en equipo
• Comunicación
• Perseverancia
• Solución de problemas
• Pensamiento crítico
• Emprendimiento

Es indispensable que los niños tengan este acercamiento al pensamiento computacional ya que
las habilidades desarrolladas y los conocimientos adquiridos son herramientas para que sean
líderes en temas de ciencia y tecnología y enfrenten los retos que vendrán en el siglo XXI con la
revolución digital.

Hay que promover estas habilidades en más comunidades, para que más padres de familia
y maestros se den cuenta del potencial que este tipo de educación tiene en las niñas y niños
de México.

Sugerimos a todos que continúen participando en este tipo de proyectos mediante clubs de
programación y robótica, y que sigan aprendiendo en línea distintos lenguajes de programa-
ción. Lo más importante es el apoyo que tú, como maestro y padre de familia, le brindas a las
niñas y a los niños.

También podría gustarte