Programación y Robótica
Programación y Robótica
Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 1/66
24/10/22, 10:35 Programación y Robótica
Tabla de contenidos
1. Introducción a la Programación
2. Programación gráfica
2.1. App Inventor para dispositivos móviles
2.2. Scratch
2.3. Blockly
2.4. Game blox
2.5. Thunkable
2.6. Swift Playgrounds
2.7. Code.org
2.8. Tynker
2.9. Snap!
3. Programación textual
3.1. PSEINT Pseudocódigo
3.2. Python
3.3. Processing
4. Control programado y Robótica
4.1. Ardublock y ArduinoBlocks
4.2. Tinkercad Circuits
4.3. Simuladores de Robótica
5. Introducción a la Inteligencia Artificial
5.1. Machine Learning for Kids
5.2. Teachable Machine
5.3. Learning ML
5.4. IA con App Inventor
6. Créditos
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 2/66
24/10/22, 10:35 Programación y Robótica
1. Introducción a la Programación
Un programa informático se compone de un conjunto de instrucciones que sigue una secuencia o estrategia
determinada para lograr un fin, para obtener un resultado concreto y que están escritas en un código o lenguaje
de programación siguiendo
unas normas establecidas.
En los últimos años, el desarrollo de distintos lenguajes de programación basados en entornos gráficos
amigables ha permitido acercar la programación a los primeros niveles de la educación. Las instrucciones de
estos lenguajes de programación se componen
de bloques que se arrastran en el lienzo formando el programa. Algunos ejemplos son Scratch,
Code.org, Alice,
Kodu, AppInventor,
Edublocks, etc.
Los lenguajes basados en texto aparecieron antes que los lenguajes gráficos, pero siguen utilizándose, ya que son imprescindibles para ciertas
aplicaciones. Algunos de ellos son Python,
Java, C++, Processing (basado en Java), etc.
Además, el desarrollo de los lenguajes de programación está asociado a la evolución de los sistemas de control programado; es decir, máquinas
cuyos actuadores (por ejemplo motores) son gobernados por un programa en el que se tienen en cuenta otros elementos
del sistema (por
ejemplo sensores de proximidad). De esta forma, y continuando con el ejemplo, a través del programa instalado en una tarjeta de control, los
motores reciben órdenes de movimiento en un sentido u otro, o parada, en función de
las señales que envíen los sensores de proximidad. La
mayoría de los sistemas robóticos se basan en control programado y por ello, la robótica, también se está incorporando desde hace unos años a
la educación en los niveles inferiores.
Algunos programas utilizados en sistemas robóticos o en sistemas de control programado son Robolab, Ardublock, mBot, Bee Bot, Lego
Mindstorm, Makeymakey, etc.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 3/66
24/10/22, 10:35 Programación y Robótica
Por último, queremos reservar un espacio en este libro a las herramientas relativas a la Inteligencia Artificial, disciplina que ha cobrado
muchísimo interés en los últimos años. Presentamos algunas herramientas de machine learning que enseñarán
a tu computador a reconocer
imágenes, sonidos, personas, objetos, etc. Podrás incorporar estos módulos en tu programa.
En conclusión, hay muchísimos lenguajes de programación adecuados para la educación. En los siguientes capítulos presentamos algunos de
ellos.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 4/66
24/10/22, 10:35 Programación y Robótica
2. Programación gráfica
En la programación gráfica o visual, los elementos e instrucciones del lenguaje de programación se disponen en forma de bloques arrastables
por el lienzo de trabajo.
Los bloques están diseñados de manera que unos encajan sobre otros, facilitando la conexión entre ellos y, de esta forma, la comprensión de la
secuencia del programa. Además los bloques están etiquetados de tal manera que es muy sencillo identificar
su tarea en el flujo del programa.
Así, no se necesitan estructuras muy complejas ni un alto grado de abstracción.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 5/66
24/10/22, 10:35 Programación y Robótica
App Inventor es una herramienta de desarrollo de software que fue creado conjuntamente por el MIT (Massachusetts Institute of Technology) y
por Google Education para la elaboración de aplicaciones destinadas al sistema operativo de Android, aunque las últimas versiones de App
Inventor son válidas también en iOs.
Esta herramienta es gratuita y el entorno de programación es gráfico por lo que es muy fácil familiarizarse con él y crear apps para un dispositivo
móvil basado en Android. Al igual que Scratch, el sistema de bloques en el que está basado su lenguaje
de programación permite a cualquier
usuario crear programas y ponerlos en funcionamiento en su propio dispositivo, lo cual es muy estimulante para los estudiantes. Aunque las
aplicaciones creadas con AppInventor están algo limitadas por su simplicidad,
proporcionan un gran número de utilidades.
App Inventor es software libre y podrás acceder a multitud de proyectos elaborados por otros usuarios para poder editarlos, mejorarlos o
simplemente comprobar cómo ha sido desarrollado.
Para empezar a trabajar con App Inventor necesitarás una cuenta de Google.
Crearemos el programa accediendo al editor.
Después de crear nuestra App en el editor debemos llevarla al dispositivo y comprobar que funciona correctamente. Para ello, es necesario
haber instalado en nuestro dispositivo MlT AI2 Companion.
Desde el editor en el que hemos creado el programa podemos seleccionar la opción de crear un código QR.
Así, desde nuestro dispositivo móvil podemos leer el código QR y descargar nuestra propia app en el dispositivo.
Antes de comenzar a utilizar App Inventor te aconsejamos que leas sus Términos de Uso y su Política de Privacidad
Tutoriales:
Acceso a los tutoriales para educadores disponibles en la página de App Inventor.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 6/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 7/66
24/10/22, 10:35 Programación y Robótica
Mi primera App 1
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 8/66
24/10/22, 10:35 Programación y Robótica
Mi primera App 2
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 9/66
24/10/22, 10:35 Programación y Robótica
Mi primera App 3
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 10/66
24/10/22, 10:35 Programación y Robótica
App Inventor 3.2: Mi primera App(Prueba y corrección de errores) del canal de YouTube Programamos
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 11/66
24/10/22, 10:35 Programación y Robótica
2.2. Scratch
Scratch es un lenguaje de programación creado por el MIT (Massachusetts Institute of Technology) diseñado especialmente para acercar el
mundo de la programación a cualquier usuario, independientemente
de sus conocimientos iniciales en este campo. El entorno es totalmente
visual y a través de su código se pueden crear historias interactivas, juegos, animaciones, etc.
Scratch es una herramienta totalmente gratuita y de código abierto. Además puedes acceder a su comunidad y utilizar, editar y mejorar
programas que otros usuarios hayn compartido públicamente en el sitio web.
Puedes empezar a crear un proyecto en Scratch (sin cuenta de usuario) en este enlace: Empezar a crear
También puedes crear una cuenta de usuario totalmente gratuita y podrás gestionar todas tus creaciones, compartirlas, volver a editarlas y
descargarlas cuando tu quieras. Únete a Scratch.
Antes de comenzar a utilizar esta herramienta te recomendamos que leas la Información publicada para educadores, Información para
padres,
los Términos de uso y la Política de Privacidad.
Tutoriales de Scratch:
En la página de Scratch podrás encontrar los tutoriales que la herramienta pone a tu disposición para que comiences a trabajar en Scratch.
Tutorials
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 12/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 13/66
24/10/22, 10:35 Programación y Robótica
Crear objetos
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 14/66
24/10/22, 10:35 Programación y Robótica
Videojuegos de persecución
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 15/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 16/66
24/10/22, 10:35 Programación y Robótica
Scratch 3.0 - Juego de Esquivar Balones del canal de Youtube Edukative S.L. - Robótica Educativa en inglés
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 17/66
24/10/22, 10:35 Programación y Robótica
2.3. Blockly
Google Blockly es un lenguaje de programación visual, basado en bloques. Es Open Source, con licencia Apache License 2.0.
Blockly de basa en programación visual como Scratch y podrás implementar tus algoritmos arrastrando los bloques por el lienzo. Además con
blockly podrás ver simultáneamente el código traducido a otros lenguajes de programación como Python, JavaScript, PHP, Lua, Dart... Así que
este es un buen lenguaje de programación para iniciarse en la programación textual.
Para comenzar a trabajar con Blockly es aconsejable visitar Blockly Games, una serie de juegos que a través de retos de menor a mayor
dificultad ayudarán a los alumnos a familiarizarse con el entorno y con las instrucciones de Blockly. Además, en el siguiente enlace se muestra
información específica para que los educadores>>
Antes de comenzar a utilizar esta herramienta te recomendamos que leas los Términos de uso y la Política de Privacidad.
Tutoriales de Blockly:
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 18/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 19/66
24/10/22, 10:35 Programación y Robótica
GameBlox es una herramienta para crear videojuegos para dispositivos móviles. El lenguaje de programación es gráfico.
Antes de comenzar a utilizar esta herramienta te recomendamos que leas los Términos de uso y la Política de Privacidad.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 20/66
24/10/22, 10:35 Programación y Robótica
2.5. Thunkable
Thunkable es una herramienta basada en App Inventor que permite familiarizar a los alumnos con el desarrollo de aplicaciones para
dispositivos Android.
Thunkable es un entorno realmente sencillo, similar a los otros entornos mencionados, basado en bloques.
Es importante que consultes los Términos de uso y su Política de Privacidad antes de empezar a utilizar esta herramienta.
Tutorial:
Introducción a Thunkable
Thunkable 01 | Aprende a crear una aplicación de móvil: Introducción y Primera APP del canal de Youtube Lleida Hack
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 21/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 22/66
24/10/22, 10:35 Programación y Robótica
Swift Playgrounds es una herramienta para macOs y para iOs diseñada para comenzar a programar a través de instrucciones básicas. Esta
plataforma está preparada
para que los usuarios, sin necesidad de conocimientos previos, pueda aprender los conceptos básicos de la
programación usando el lenguaje Swift creado por Apple.
Antes de comenzar a utilizar esta aplicación te aconsejamos que leas sus Términos de Uso y su Política de Privacidad
Tutoriales:
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 23/66
24/10/22, 10:35 Programación y Robótica
Learn to Code 1 #002: Issuing Commands, Commands – Swift Playgrounds del canal de Youtube Swift Playgrounds Tutorials
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 24/66
24/10/22, 10:35 Programación y Robótica
2.7. Code.org
Code.org® es una organización sin ánimo de lucro dedicada a acercar la programación y la computación a los estudiantes. Además trabaja
intensamente para aumentar
la participación de las mujeres y las minorías que no están suficientemente representadas en este campo.
Code.org ofrece distintos tipos de proyectos para comenzar a programar. A continuación mostramos algunos de ellos.
Además podrás acceder a multitud de estudios con trabajos públicos realizados por otros usuarios y utilizar el código desarrollado.
Es importante que consultes los Términos de uso y su Política de Privacidad antes de empezar a utilizar esta herramienta.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 25/66
24/10/22, 10:35 Programación y Robótica
2.8. Tynker
Tynker es un lenguaje de programación gráfico ideado para que los alumnos aprendan a programar de manera fácil e intuitiva, construyendo sus
propios juegos, controlando robots y drones y publicando
apps. EL entorno se basa en bloques que se conectan, de forma similar a como se
realiza en Scratch. Además Tynker dispone de un sistema de gestión de clases para los docentes.
Antes de comenzar a utilizar esta herramienta te recomendamos que leas los Términos de uso y la Política de Privacidad.
Tutoriales:
Introducción
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 26/66
24/10/22, 10:35 Programación y Robótica
Tynker. Introducción a la programación. Puntos. Variables del canal de Youtube José Antonio Redondo
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 27/66
24/10/22, 10:35 Programación y Robótica
2.9. Snap!
Snap! es una herramienta de programación gráfica pro bloques, creada en la Universidad de Berkeley, basada en el lenguaje de
programación Scratch.
Su manejo es muy sencillo, partes de bloques de instrucciones que pueden ser arrastrados y agrupados a modo de
puzzle para crear un programa. Es un lenguaje pensado para desarrollar juegos, animaciones y creaciones multimedia mediante bloques
de
acciones, como en Scratch.
Snap! incorpora nuevas y potentes mejoras en algunas de sus funciones, en cualquier ámbito, ya sea educativo, laboral o personal.
Acceso a Snap!>>
Antes de comenzar a utilizar App Inventor te aconsejamos que leas sus Términos de Uso y su Política de Privacidad
Tutoriales:
Introducción a Snap!
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 28/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 29/66
24/10/22, 10:35 Programación y Robótica
3. Programación textual
La programación basada en texto o textual se refiere a la secuencia de instrucciones que componen un algoritmo escritas en un lenguaje de
programación determinado, basado en las normas establecidas en el propio lenguaje. Este conjunto de sentencias es
analizado y "traducido" por
el procesador para realizar las tareas para las que ha sido creado.
A diferencia de la programación gráfica, los lenguajes de programación textual requieren unos conocimientos más amplios, así como un alto
grado de abstracción. Aprender un lenguaje de programación textual requiere aprender una "sintaxis"
y una "gramática" específicas del lenguaje,
lo cual dificulta su uso. No obstante, desde la década de los 60 se han ido desarrollando distintos entornos de programación y en la actualidad
existen multitud de lenguajes y de entornos
visuales más amigables para el usuario.
Ejemplo de un programa basado en texto. En este caso el programa está escrito en Python:
print('Es Par')
else:
print('Es Impar')
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 30/66
24/10/22, 10:35 Programación y Robótica
Antes de presentar lenguajes de programación como Python, Processing o Java, habituales en niveles superiores de ESO o en Bachillerato,
podemos introducir la programación basada en texto con un pseudocódigo muy fácil de comprender.
PSeInt es una herramienta para familiarizar a los estudiantes con los lenguajes basados en texto. Con Pseint el estudiante puede crear
programas mediante un simple e intuitivo pseudolenguaje en español. Además Pseint dispone de una herramienta de creación
y edición de
diagramas de flujo que genera el diagrama asociado al algoritmo creado de forma simultánea.
Esto permite a los estudiantes comprender los conceptos fundamentales de la algoritmia computacional y minimizar las dificultades propias de un
lenguaje de programación.
Tutoriales:
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 31/66
24/10/22, 10:35 Programación y Robótica
Ejercicio 1-"Hola, mundo".+ Estructura general de un algoritmo,comentarios del canal de Youtube tecnoDavid
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 32/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 33/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 34/66
24/10/22, 10:35 Programación y Robótica
3.2. Python
Python es un lenguaje de programación de alto nivel de código abierto, orientado a objetos, muy simple y cuya sintaxis es fácil de comprender.
Este lenguaje de programación se basa en una amplia biblioteca de herramientas, así como una librería totalmente
gratuita, que permite ampliar
las posibilidades de este lenguaje.
Además, la semántica de este lenguaje se basa en módulos que pueden ser importados y exportados para ser utilizados en otros proyectos.
Tanto Python como sus herramientas están disponibles en las platoformas principales.
Por todo ello, Python se ha convertido en uno de los lenguajes más versátiles y adecuados para programar grarantizando flexibilidad, legibilidad
y compatibilidad en distintos proyectos.
Tutoriales:
Tutorial de Python>>
Ejercicios con soluciones para aprender a programar en Python>>
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 35/66
24/10/22, 10:35 Programación y Robótica
También puedes empezar a utilizar Python partiendo de la programación gráfica con Edublocks, que transforma tu programa de
bloques en un algoritmo en Python, de forma simultánea.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 36/66
24/10/22, 10:35 Programación y Robótica
Edublocks: la herramienta visual para aprender Python del canal de Youtube INTEF
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 37/66
24/10/22, 10:35 Programación y Robótica
3.3. Processing
Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto. Basado en Java, se creó como una
herramienta digital para artistas y diseñadores, es decir, inicialmente
fue creado para profesionales sin una formación extensa en programación.
Esto lo convierte en un lenguaje de programación adecuado para la educación y para la familiarización de los estudiantes con lenguajes basados
en texto.
Además, es ideal para la producción de proyectos multimedia e interactivos de diseño digital, dando resultados muy vistosos, que estimulan
mucho a los estudiantes
Tutoriales:
Tutoriales de Processing>>
Ejemplos de Processing>>
Introducción a Processing
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 38/66
24/10/22, 10:35 Programación y Robótica
PROCESSING 1.5 ¿Qué es Processing? [En español] del canal de Youtube Air Room
Primeros pasos
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 39/66
24/10/22, 10:35 Programación y Robótica
PROCESSING 2.5 Introduciendo código en Processing [En español] del canal de Youtube Air Room
PROCESSING 5.1 void setup() y void draw() [En español] del canal de Youtube Air Room
Movimiento
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 40/66
24/10/22, 10:35 Programación y Robótica
PROCESSING 7.1 Movimiento [En español] del canal de Youtube Air Room
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 41/66
24/10/22, 10:35 Programación y Robótica
El control programado de un sistema automático se refiere al que, a partir de unas determinadas señales de entrada, se obtienen los valores en los
elementos de salida, a través de un programa (conjunto de instrucciones) que ha sido incorporado en una tarjeta
controladora previamente, en vez
de hacerlo a través de un circuito cableado.
El control programado se utilizan en multitud de sistemas automáticos que utilizamos habitualmente (apertura de una puerta de garaje, climatización
automática, por ejemplo) y, por supuesto, en el ámbito de la robótica.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 42/66
24/10/22, 10:35 Programación y Robótica
Ardublock y ArduinoBlocks son dos herramientas gráficas para programar diferentes modelos de placa controladora Arduino.
Estos lenguaje de programación se basa en bloques (programación gráfica) como Scratch, App Inventor u otros programas mencionados en
dicho apartado. Los bloque pueden se arrastrados y enlazados como hemos descrito anteriormente.
Arduino es una plataforma de electrónica basada en hardware y software libres, diseñados de forma totalmente flexible y fácil de aprender, que
lo convierten en una herramienta muy versátil para
la educación. El hardware libre se refiere a dispositivos cuyas características, diseño,
especificaciones y diagramas son de acceso público, de manera que cualquiera puede crear réplicas, mejorarlas, modificarlas, etc. Es decir,
Arduino ofrece la base para que cualquier persona o entidad pueda generar placas idénticas.
Antes de empezar a utilizar estas herramientas te aconsejamos leer sus Términos de Uso y su Política de Privacidad
Tutoriales:
Acceso a los tutoriales del blog de Ardublock>>
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 43/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 44/66
24/10/22, 10:35 Programación y Robótica
Tinkercad es una colección de Autodesk que engloba diversas herramientas de diseño. Con Tinkercad puedes acceder a aplicaciones para
diseñar en 3D, crear y simular circuitos eléctricos y electrónicos, programar, etc.
Todo ello en un entorno muy sencillo de manejar y muy interesante para los alumnos. En este capítulo nos centraremos en Tinkercad Circuits,
ya que esta herramienta dispone de los elementos
necesarios para crear y simular sistemas de control basados en Arduino. Además. permite la
programación online de las placas Arduino del simulador.
Una herramienta muy interesante que ofrece Tinkercad Circuits es el debugger, con ella podemos parar la ejecución de un programa y ver los
valores de las variables, algo que con arduino no podemos hacer. Nos permite “parar” el tiempo.
Para comenzar a utilizar Tinkercad debes registrarte una cuenta de correo electrónico y podrás acceder a todas sus herramientas.
Ejemplo de circuito con Tinkercad Circuits_1 Área de Formación en Línea y Competencia Digital
Antes de comenzar a utilizar esta herramienta te recomendamos que leas los Términos de uso y la Política de Privacidad.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 45/66
24/10/22, 10:35 Programación y Robótica
Tutoriales:
Arduino en TinkerCad (I) - Hola mundo del canal de Youtube Jose Loureiro
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 46/66
24/10/22, 10:35 Programación y Robótica
LEDs and Breadboards With Arduino in Tinkercad del canal de Youtube Autodesk Tinkercad
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 47/66
24/10/22, 10:35 Programación y Robótica
Fading LED With Arduino in Tinkercad del canal de Youtube Autodesk Tinkercad
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 48/66
24/10/22, 10:35 Programación y Robótica
Beebot Online
Esta página muestra un emulador del robot BeeBot. A través de sus propuestas de Robótica Educativa podrás simular su movimiento sobre un
tablero, mediante una secuencia de funciones muy básicas. Es muy intresante para los primeros niveles de educación,
en la iniciación a la
robótica y en el desarrollo del pensamiento computacional.
Antes de comenzar a utilizar esta herramienta, te aconsejamos que leas sus Términos de Uso y su Política de Privacidad.
MakeCode Microbit
Microsoft MakeCode
es una plataforma gratuita de código abierto para crear experiencias de
aprendizaje relativas a la programación y a la
robótica.
Antes de comenzar a utilizar esta herramienta, te aconsejamos que leas sus Términos de Uso y su Política de Privacidad.
MakeCode Mindstorms
Microsoft MakeCode
es una plataforma gratuita de código abierto para crear experiencias de
aprendizaje relativas a la programación y a la
robótica.
Antes de comenzar a utilizar esta herramienta, te aconsejamos que leas sus Términos de Uso y su Política de Privacidad.
Coppelia Robotics
CoppeliaSim
es un entorno de desarrollo integrado, de simulación de robots. Se basa
en una arquitectura de control distribuido en la que cada
objeto o cada
uno de los modelos pueden controlarse de forma individual mediante un algoritmo individual (script integrado, un plugin, un nodo
ROS o BlueZero, un cliente API remoto o una solución personalizada). De esta forma se puede desarrollar robótica cooperativa, mediante
aplicaciones en la que intervienen múltiples robots. Los controladores se pueden escribir en C / C ++, Python, Java, Lua, Matlab u Octave.
Antes de comenzar a utilizar esta herramienta, te aconsejamos que leas sus Términos de Uso y su Política de Privacidad.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 49/66
24/10/22, 10:35 Programación y Robótica
El modelo virtual de Open Roberta es 2D y bastante básico, pero podrás visualizar tu robot desplazándose por el lienzo, según el algoritmo
desarrollado.
Antes de comenzar a utilizar esta herramienta, te aconsejamos que leas sus Términos de Uso y su Política de Privacidad.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 50/66
24/10/22, 10:35 Programación y Robótica
La Inteligencia Artificial (IA) es una rama dentro de la computación orientada a la aplicación de la misma con el objetivo de simular acciones
propiamente humanas, basadas en razonamiento y conducta. Es decir la IA se aplica en sistemas, por ejemplo, para capacitarlos de ciertas
habilidades atribuidas normalmente a humanos, por ejemplo, tomar descisiones, sopesar errores cometidos para mejorar la respuesta, adaptar la
conducta en función de la situación, etc.
Desde los años 50 se comienza a trabajar en algoritmos vinculados a la inteligencia artificial, aunque en los últimos años, esta disciplina ha
evolucionado a mayor velocidad, gracias al desarrollo de la tecnología y de los lenguajes específicos. Después de una época en la que la IA
pasó por unos años de parálisis en su evolución e incluso olvido, recuperó interés cuando, en el año 1997 el campeón mundial de ajedrez perdió
contra una inteligencia artificial autónoma
llamada Deep Blue.
El avance del hardware ha propiciado que a partir de ese momento comenzaran a aparecer distintos algoritmos basados en estrategias diversas
que superarían a los humanos en algunas tareas.
En la actualidad, podemos ver IA aplicada en multitud de situaciones:
Machine Learning, el aprendizaje automático de las máquinas, proceso en el que los algoritmos pueden mejorar continuamente su
desempeño al
observar datos relevantes, identificar patrones, crear modelos de datos que
pueden hacer predicciones y luego iterar su
aprendizaje.
• Aprendizaje automático supervisado: en este caso, el sistema es entrenado medieante un conjunto de datos etiquetados o estructurados. Los
datos actúan como un maestro, entrenando a la máuina para mejorar su capacidad a la hora de hacer predu¡iciiones o tomar decisiones. En
este caso un supervisor humano debe gestionr el entrenamiento del sistema.
• Aprendizaje automático no supervisado: en este caso, los datos son proporcionados al sistema sin etiquetas y el sistema debe generar los
patrones de forma autónoma.
• Aprendizaje automático por refuerzo: el aprendizaje se basa en la retoralimentación recibida. De tal manera que la proximidad al objetivo es
premiada y el alejamiento se traduce en una penalización. Con base en la retroalimentación,
el sistema modifica su estrategia y decisiones para
para minimizar los errores.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 51/66
24/10/22, 10:35 Programación y Robótica
En educación, al igual que en otro ámbitos, podemos encontrar aplicaciones de la IA en distintas situaciones.
En resumen, agrupamos la presencia de la IA en la educación según su línea de actuación:
Educar para la IA: busca capacitar a los alumnos en la adquisión de nuevas habilidades necesarias para situaciones cotidianas o
profesionales en un
mundo con IA. Es decir, se trata de familizarizar a los estudiantes con la presencia de sistemas basados en Inteligencia
Artificial y los cambios que estos sistemas y máquinas pueden incorporar en nuestras visas.
Enseñar a crear IA: el objetivo es que los estudiantes comiencen a analizar el aspecto técnico de los sistemas basados en algoritmos de IA.
La iniciación en la programación informática y en la creación de herramientas tecnológicas es imprescindible desde edades tempranas para la
btención de profesionales en esta disciplina, capaces de afrontar los problemas y situaciones del futuro.
En este capítulo, ubicado dentro del bloque de Programación, nos centraremos en las herramientas que se están desarrollando en la línea de
actuación (Aprender a crear IA). Estas aplicaciones permiten a los estudiantes la generación de módulos basados en aprendizaje automático que
pueden exportarse e incorporarse en algoritmos de distintos lenguajes de programación creados por los alumnos. Estas aplicaciones servirán
para iniciar a los alumnos en el mundo de la creación de herramientas basadas en IA.
Aprender los fundamentos de la Inteligencia Artificial ya está a nuestro alcance.
¿Te animas a construir una IA capaz de saber quien está sentado delante de la webcam de tu ordenador? ¿O programar
un asistente virtual
como Alexa? ¿O crear un personaje virtual que imite los gestos de tu cara?
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 52/66
24/10/22, 10:35 Programación y Robótica
Machine Learning for Kids es una herramienta muy interesante para introducir a los estudiantes en la disciplina de la Inteligencia Artifical.
Realmente es una aplicación útil para
acceder al mendo del entrenamiento de sistemas de aprendizaje automático.
Con esta herramienta el alumno podrá entrenar a su PC. Le enseñará a reconocer imágenes, a contestar preguntas sobre un tema concreto, a
reconocer números en trazado natural o sonidos sencillos.
El proceso se basa en seleccionar el tema sobre el que vamos a enseñar a la máquina. Tendremos que introducir las etiquetas de referencia y
los ejemplos relativos a cada etiqueta. Después de un proceso de entrenamiento, la máquina habrá aprendido las
relaciones entre patrones y
etiquetas.
El procedimiento da como resultado un módulo de código que podrás exportar e incorporar en tu algoritmo de Scratch 3 o de Python. De
esta forma, podrás desarrollar juegos capaces de interpretar imágenes,
sonidos o texto, es decir, sistemas "semi-inteligentes".
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 53/66
24/10/22, 10:35 Programación y Robótica
Inteligencia artificial en el aula con Scratch 3.0 del canal de Youtube INTEF
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 54/66
24/10/22, 10:35 Programación y Robótica
Inteligencia artificial en el aula con Scratch 3.0 del canal de Youtube INTEF
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 55/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 56/66
24/10/22, 10:35 Programación y Robótica
Teachable Machine 2.0 es una herramienta de IA desarrolla por Google y basada en la web que hace que la creación de modelos de
aprendizaje automático sea
rápida, fácil y accesible para todos.
Con esta herramienta podrás preparar a un ordenador para que reconozca imágenes, sonidos y posturas. Es una forma rápida y sencilla de
crear modelos de aprendizaje automático para incorporarlas en sitios web o aplicaciones.
Antes de comenzar a usar esta herramienta, te aconsejamos que leas su Política de Privacidad y los Términos de uso.
Tutoriales:
¿Qué es Teachable Machine? (Recuerda seleccionar tu idioma en la configuración de subtítulos)
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 57/66
24/10/22, 10:35 Programación y Robótica
Teachable Machine Tutorial 1: Gather del canal de Youtube Experiments with Google
Primeros pasos con
Teachable Machine
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 58/66
24/10/22, 10:35 Programación y Robótica
teachable machine
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 59/66
24/10/22, 10:35 Programación y Robótica
Teachable Machine: Cómo detectar expresiones de la cara usando IA del canal de Youtube Programamos
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 60/66
24/10/22, 10:35 Programación y Robótica
5.3. Learning ML
Learning ML es otra herramienta para el aprendizaje atuomático o machine learning, que permite entrenar a la máquina para el reconocimiento
de distintos elementos.
LearningML facilita enormemente la construcción de modelos de ML. La herramienta se centra en los fundamentos de la programación en un
entorno muy sencillo de manejar. En tres pasos, se puede obtener un modelo de ML a partir de conjuntos de textos
o imágenes recopilados.
Como en las otras herramientas mostradas, el modelo puede incorporarse en un algoritmo de Scratch.
Aunque para usar LearningML no es necesario registrarse, si lo haces podrás acceder a los proyectos que otras personas hayan compartido y,
por supuesto, tú mismo puedes compartir los proyectos que desees. Ahora mismo sólo hay algunos ejemplos para que
puedas probar la
aplicación más rápidamente, pero esperamos contar con vuestra participación para ampliar y enriquecer la herramienta con vuestros proyectos.
Acceso a LearningML>>
Antes de comenzar a utiliza esta herramienta, te aconsejamos leer los Términos de uso y Política de Privacidad.
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 61/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 62/66
24/10/22, 10:35 Programación y Robótica
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 63/66
24/10/22, 10:35 Programación y Robótica
Antes de comenzar a utilizar App Inventor te aconsejamos que leas sus Términos de Uso y su Política de Privacidad
Tutoriales:
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 64/66
24/10/22, 10:35 Programación y Robótica
Crea una Inteligencia Artificial con App Inventor del canal de Yotube nventor de aplicaciones
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 65/66
24/10/22, 10:35 Programación y Robótica
6. Créditos
Este material "Programación y Robótica" del INTEF, publicado bajo licencia Creative Commons 4.0 International (BY-SA) ha sido elaborado
por el
Área de Formación en Línea y Competencia Digital Educativa del INTEF con licencia Creative Commons 4.0 International (BY-SA)
Este curso y sus materiales se distribuyen con licencia Creative Commons 4.0
https://formacion.intef.es/catalogo/mod/book/tool/print/index.php?id=69#ch503 66/66