Logo Studenta

TFG_ProyectoRoboticaEducativa_VictorBarbero_vfinal03

¡Este material tiene más páginas!

Vista previa del material en texto

Trabajo Final de Grado 
 
Grado en Ingeniería Electrónica Industrial y Automática 
 
 
 
 
 
Proyecto de Robótica Educativa 
 
 
 
 
MEMÓRIA 
 
 
 
 
 
 
 
 Autor: Victor Barbero Alcaide 
 Directora: Maria Isabel Tarres Puertas 
 Convocatória: Junio 2023 
 
 
 
 
 
Escuela Politécnica Superior de Ingeniería de 
Manresa EPSEM 
 
Proyecto de Róbotica Educativa Pág. 
 
2 
 
Proyecto de Róbotica Educativa Pág. 
 
3 
 
Resumen /Abstract 
Catellano: 
Proyecto de Final de grado con el objetivo de introducir nuevos métodos de aprendizaje en 
los centros educativos Catalanes con la implementación del lenguaje Swift[1] de Apple y los 
productos de Apple en diferentes etapas educativas para mejorar el aprendizaje en clase y 
la introducción de la programación y la robótica en el Aula y en los hogares. 
English: 
Final Degree Project with the aim of introducing new learning methods in Catalan schools 
with the implementation of Apple's Swift[1] language and Apple products in different 
educational stages to improve classroom learning and the introduction of programming and 
robotics in the classroom and at home. 
 
Proyecto de Róbotica Educativa Pág. 
 
4 
 
Sumario 
RESUMEN………………………………………………………………………………………….. 3 
SUMARIO……………………………………………………………………………………………4 
1.- GLOSARIO……………………………………………………………………………………....5 
2.- PREFACIO……………………………………………………………………………………….7 
 2.1. Origen del Proyecto……………………………………………………………………7 
 2.2. Motivación………………………………………………………………………………7 
 2.3. Requerimientos Previos………………………………………………………………7 
3.- INTRODUCCIÓN………………………………………………………………………………...9 
 3.1. Objetivos del Proyecto……………………………………………………………….12 
 3.2. Alcance del Proyecto………………………………………………………………...13 
 3.2.1. Swift en la Robótica Educativa y LEGO Mindstorms…………………..13 
 3.2.2. Aplicación de Swift en el Sistema Educativo Catalán………………….16 
 3.2.3. Implementación de Swift en Escuelas e Institutos fuera de Cataluña..60 
4.- EJEMPLOS COMPLEMENTARIOS DE SWIFT……………………………………………63 
 Ejemplo 1…………………………………………………………………………………..63 
 Ejemplo 2…………………………………………………………………………………..65 
 Ejemplo 3…………………………………………………………………………………..66 
 Ejemplo 4…………………………………………………………………………………..68 
 Ejemplo 5…………………………………………………………………………………..69 
CONCLUSIONES………………………………………………………………………………….71 
BIBLIOGRAFIA……………………………………………………………………………………72 
Referencias Bibliográficas………………………………………………………………..73 
Proyecto de Róbotica Educativa Pág. 
 
5 
 
1. Glosario 
 
• Apple: La empresa de Tecnología de Cupertino [3] es conocida por sus productos 
como el IPhone[4], iPad[5], Mac, etc. 
• Swift: Un lenguaje de programación creado por Apple [2] para crear dispositos de 
iOS, macOS[8], watchOS [7] y tvOS[10]. 
• Xcode: El entorno de desarrollo integrado (IDE) de Apple [2] que se utiliza para 
escribir y desarrollar aplicaciones Swift. 
• iOS: Es un sistema operarivo móvil desarrollado por Apple [2] para dispositivos 
como IPhone[4] y iPad[5]. 
• macOS: El sistema operativo de computadora de Apple [2] que usan los Macs. 
• UIKit: Framework de interfaz de usuario para crear aplicaciones de iOS. 
• AppStore: Tienda de Aplicaciones de Apple [2], donde los usuarios pueden 
descargar aplicaciones para sus dispositivos. 
• Playground: Un entorno de desarrollo interactivo en Xcode[11] para una rápida 
revisión y prueba de código. 
• API: Una estructura de programa de aplicación, un conjunto de reglas y protocolos 
para crear procesos que interactúan con un sistema o servicio. 
 
Proyecto de Róbotica Educativa Pág. 
 
7 
 
2. Prefacio 
2.1. Origen del Proyecto 
En la actualidad, la programación, los sistemas TIC, la robótica y la electrónica están 
avanzando considerablemente, por lo que son necesarios nuevos métodos formativos, en 
las escuelas, institutos y universidades del sistema educativo catalán, adaptados a la 
utilización de las nuevas tecnologías en el día a día. Así, por ejemplo, es el caso del 
ecosistema de Apple [2] y su lenguaje Swift [1], accesible para todos y sin coste adicional 
para aquellos que utilizan los productos de la empresa de Cupertino[3]. 
2.2. Motivación 
Mi admiración por la empresa Apple [2] y mi inquietud por el estudio del desarrollo de 
nuevos métodos educativos, me han llevado a realizar el presente proyecto. 
Deseo que el presente trabajo, pueda ayudar a que estos métodos sean viables de ser 
implantados en las aulas, con el fin de facilitar y hacer que sea más ameno adquirir 
conocimientos de programación, robótica, electrónica y colateralmente idioma Inglés. 
2.3. Requerimientos previos 
Para empezar a programar, en Swift[1] se requiere previamente: 
1. Descargar Xcode: Xcode[11] es el entorno de desarrollo integrado (IDE) oficial de Apple 
[2] para desarrollar aplicaciones para iOS[7], macOS[8], watchOS[9] y tvOS[10]. Se puede 
descargar de forma gratuita desde la Mac App Store y con la versión más reciente 14.3.1 en 
MacOS[8] Ventura. 
2. Aprender los fundamentos de Swift: Antes de comenzar a crear aplicaciones, es 
importante que tener una comprensión sólida de los conceptos básicos de Swift[1]. Se 
puede encontrar muchos recursos en línea para aprender Swift[1], como tutoriales en video, 
cursos en línea, la app Swift Playgrounds [12] para iPadOS/macOS[8] y la documentación 
oficial de Apple [2]. 
3. Crear una aplicación básica: Una vez adquiridos los fundamentos de Swift[1], es hora 
de comenzar a crear una aplicación básica. Xcode[11] aporta plantillas de proyectos que 
ayudan a comenzar rápidamente. Se puede elegir una plantilla, como "Single View App", y 
Proyecto de Róbotica Educativa Pág. 
 
8 
 
seguir las instrucciones para crear la primera aplicación. 
4. Practicar y seguir aprendiendo: La mejor manera de mejorar las habilidades en Swift[1] 
es practicando y siguiendo aprendiendo. Se tiene que dedicar tiempo a explorar la 
documentación de Swift[1], leer blogs y participar en comunidades en línea. También será 
positivo unirse a grupos de desarrolladores locales o asistir a eventos de desarrollo para 
conocer a otros programadores y aprender de ellos. 
 
Para su inicialización en la robótica educativa, debemos explicar previamente la app de 
Swift Playgrounds [12] : 
 
Es una aplicación desarrollada por Apple [2] que permite a los usuarios aprender a 
programar utilizando el lenguaje Swift [1]. La aplicación utiliza un enfoque de aprendizaje 
interactivo y visual que hace que el proceso de aprendizaje sea más fácil y divertido. Es 
compatible con el iPad[5] y el Mac[6]. 
 
En Swift Playgrounds [12], los usuarios pueden escribir código Swift [1] en un entorno 
visualmente atractivo y colorido que incluye animaciones, gráficos y sonidos para ayudar 
a los usuarios a visualizar su código en acción. La aplicación también incluye una 
variedad de desafíos y juegos interactivos que ayudan a los usuarios a aprender y 
practicar los conceptos básicos de programación. 
 
Además, incluye un sistema de retroalimentación en tiempo real, que permite a los 
usuarios ver el resultado de su código en tiempo real, lo que facilita la comprensión de 
cómo funcionan los diferentes elementos del código. La aplicación también proporciona 
sugerencias útiles y mensajes deerror para ayudar a los usuarios a identificar y 
solucionar problemas en su código. 
 
En resumen, Swift Playgrounds [12] es una herramienta útil y divertida para que los 
usuarios, especialmente los niños, aprendan a programar en Swift[1] de una manera 
interactiva y visual. A la fecha de este proyecto, lo encontraremos en iPadOS 16 y 
MacOS[8] Ventura en su versión 4.3.1. 
 
 
 
 
Ilustración 2. Ejemplo Swift Playgrounds 
Ilustración 1.Estudiante usando Swift 
Playgrounds en casa 
Proyecto de Róbotica Educativa Pág. 
 
9 
 
3. Introducción 
Swift [1] es un lenguaje de programación de código abierto desarrollado por Apple Inc. 
para desarrollar aplicaciones tanto para iOS[7] como para macOS[8]. Fue lanzado en el 
año 2014 y ha ganado mucha popularidad en los últimos años debido a su fácil 
aprendizaje, su seguridad y su rendimiento. 
Es un lenguaje de programación multiparadigma, lo que significa que admite diferentes 
estilos de programación : 
• Programación orientada a objetos. 
• Programación funcional. 
• Programación imperativa. 
 La sintaxis de Swift[1] es fácil de leer y escribir, lo que lo hace muy amigable para los 
programadores principiantes. 
Para escribir código Swift [1], se utiliza un IDE (Entorno de Desarrollo Integrado) llamado 
Xcode[11]. En Xcode[11], se pueden crear diferentes tipos de proyectos: 
• Proyectos de iOS[7]. 
• Proyectos de macOS[8]. 
• Proyectos de playgrounds de Swift [1], son un entorno de prueba que permite 
probar y experimentar con el lenguaje de programación Swift [1] de una manera 
interactiva y visual. 
Veamos un ejemplo simple de código Swift [1] que muestra cómo imprimir "Hola, mundo!" 
en la consola: 
print("Hola, mundo!") 
 
Otro Ejemplo de código simple en Swift[1] con sus definiciones: 
 
// Este es un comentario en Swift 
// Los comentarios son texto que no se ejecuta y se usan para explicar el código 
 
// Aquí definimos una constante llamada "mensaje" y le asignamos un valor de cadena 
let mensaje = "Hola, Swift!" 
 
// Aquí definimos una función llamada "saludar" que toma un parámetro de cadena 
// La función imprime un mensaje que incluye el valor del parámetro 
Proyecto de Róbotica Educativa Pág. 
 
10 
 
func saludar(nombre: String) { 
print("Hola, \(nombre)! \(mensaje)") 
} 
 
// Aquí llamamos a la función "saludar" y le pasamos un argumento de 
cadena 
saludar(nombre: "Juan") 
 
En este ejemplo, se define una constante llamada "mensaje" que contiene 
un mensaje de saludo y se define una función llamada "saludar" que toma 
un parámetro de cadena y utiliza la constante "mensaje" para imprimir un 
mensaje de saludo personalizado. 
 
La última línea llama a la función "saludar" y le pasa un argumento de 
cadena con el nombre "Juan". 
 
Pero para conocer la estructura general básica de Swift[1] se mostrará en 
el siguiente ejemplo: 
 
 
import UIKit // Importamos el framework UIKit para crear interfaces de 
usuario 
 
// Definimos una clase llamada "MiClase" que hereda de UIViewController 
 
class MiClase: UIViewController 
 { 
 
// Definimos una función llamada "miFuncion" que no toma argumentos y no 
devuelve nada 
 
func miFuncion() { 
 
// Escribimos el código que queremos que se ejecute cuando se llame a esta 
función 
 
} 
 
// Definimos una propiedad llamada "miPropiedad" que es de tipo cadena y 
tiene un valor inicial 
 
var miPropiedad = "Hola, mundo!" 
 
 
Proyecto de Róbotica Educativa Pág. 
 
11 
 
// Definimos la función viewDidLoad que se llama automáticamente cuando la 
vista se carga por primera vez 
 
override func viewDidLoad() { 
 
super.viewDidLoad() 
 
// Aquí escribimos el código que queremos que se ejecute cuando se carga la vista 
} 
} 
 
La sección import importa cualquier marco o biblioteca que necesitemos para nuestro 
programa. En este ejemplo, estamos importando el marco UIKit [13] que se usa para 
crear interfaces de usuario para aplicaciones de iOS[7]. 
 
La sección de clase define una clase llamada MiClase que hereda de UIViewController. 
La clase contiene una o más funciones y propiedades que utilizamos para definir la 
funcionalidad de nuestra aplicación. 
 
La función miFuncion es una función simple que no toma argumentos ni devuelve 
nada. Esta función podría realizar cualquier tarea específica que necesitemos en 
nuestra aplicación. 
 
La propiedad miPropiedad es una propiedad simple que es de tipo cadena y tiene un 
valor inicial de "Hola, mundo!". Podemos utilizar propiedades para almacenar datos en 
nuestra aplicación. 
 
La función viewDidLoad es una función que se llama automáticamente cuando la vista 
se carga por primera vez. En esta función, podemos realizar cualquier configuración 
adicional que necesitemos en nuestra aplicación. 
 
Esta es solo una estructura básica de un programa Swift [1]. Dependiendo de la 
aplicación que estés desarrollando, es posible que se necesite agregar más funciones 
y propiedades para implementar la funcionalidad que deseas. 
 
 
 
 
 
 
 
 
 
 
 
Proyecto de Róbotica Educativa Pág. 
 
12 
 
3.1. Objetivos del proyecto 
Para llegar a todo lo anterior, se recomienda que se comience a trabajar desde la escuela, 
en los institutos y propongo lo siguiente: 
1. Enseñar los conceptos básicos: Comenzar por enseñar los conceptos básicos 
de programación, como variables, funciones, ciclos y condicionales. Utiliza 
ejemplos simples para explicar cada concepto y pide a los estudiantes que creen 
programas utilizando estos conceptos. 
2. Usar ejemplos del mundo real: Los niños aprenden mejor cuando pueden ver 
cómo se aplican los conceptos en el mundo real. Utilizar ejemplos del mundo real 
para enseñar cómo se pueden usar los conceptos de programación para resolver 
problemas cotidianos. 
3. Utilizar herramientas interactivas: Utilizar herramientas interactivas para enseñar 
programación, como aplicaciones y juegos de programación. Estas herramientas 
pueden ayudar a los estudiantes a aprender de una manera más divertida e 
interactiva. 
4. Desarrollar proyectos en equipo: Anima a los estudiantes a trabajar juntos en 
proyectos de programación. Esto no solo les ayudará a aprender programación, 
sino que también les enseñará habilidades de trabajo en equipo y colaboración. 
5. Enseñar a través de proyectos creativos: Animar a los estudiantes a utilizar su 
creatividad para crear proyectos de programación. Pide a los estudiantes que creen 
juegos, historias interactivas o aplicaciones móviles. Esto les ayudará a desarrollar 
habilidades de pensamiento crítico y resolución de problemas. 
6. Celebrar el éxito: Celebrar los logros de los estudiantes y el progreso que realizan 
en el aprendizaje de programación. Esto les motivará a seguir aprendiendo y 
mejorando sus habilidades de programación. 
Es decir, para enseñar programación en Swift [1] a niños de primaria y secundaria, 
es muy importante hacer que la experiencia de aprendizaje sea divertida y muy 
interactiva. Utilizar ejemplos del mundo real, herramientas interactivas y proyectos 
creativos para enseñar programación y celebra el éxito de los estudiantes para 
motivarlos a seguir aprendiendo. 
Proyecto de Róbotica Educativa Pág. 
 
13 
 
3.2. Alcance del proyecto 
3.2.1.- Swift en la Robótica Educativa y Lego 
Mindstorms 
 
Para aplicar el código Swift [1] en la robótica actual, para que los niños puedan 
programarnos basaremos en lo siguiente: 
 
1. Primero, se necesitaría un kit de robótica que sea compatible con Swift[1], 
como el kit de robótica Lego Mindstorms EV3 [14]. Este kit incluye un 
controlador, sensores y motores que se pueden programar para realizar tareas 
específicas. 
 
2. Después, el alumno debería familiarizarse con el lenguaje de programación 
Swift[1] y la programación orientada a objetos. Se pueden utilizar recursos en 
línea, libros o cursos en línea para aprender los conceptos básicos de Swift[1]. 
 
3. Una vez que el niño/a esté familiarizado con Swift[1], puede comenzar a 
programar el robot utilizando el kit de robótica. En Swift[1], se pueden utilizar las 
clases, funciones y estructuras para controlar los sensores y motores del robot. 
 
4. Para programar el robot, el niño podría usar Xcode[11], el entorno de 
desarrollo integrado (IDE) de Apple[2] para Swift[1]. Xcode[11] incluye 
herramientas de depuración que ayudan a detectar errores en el código y 
mejorar la eficiencia del robot. 
 
5. Finalmente, el niño puede experimentar con diferentes algoritmos y lógica de 
programación para hacer que el robot realice tareas más complejas y 
desafiantes. 
 
6. En resumen, la robótica actual ofrece una gran oportunidad para que los 
niños de secundaria aprendan a programar con Swift[1] y apliquen sus 
conocimientos en un entorno práctico y emocionante. 
 
Será necesario conocer previamente el robot a programar y los diferentes sensores que 
Lego proporciona a su LEGO Mindstorms [13]. 
 
Lego Mindstorms [13] es una línea de productos de la marca Lego que combina ladrillos 
Lego tradicionales con componentes electrónicos y sensores para crear robots 
programables. Está diseñado para introducir a los más jóvenes en el mundo de la 
robótica, la programación y la ingeniería. 
 
Existen actualmente diferentes versiones de Lego Mindstorms[13], pero una de las más 
recientes y conocidas es Lego Mindstorms EV3[13]. Este conjunto incluye una 
combinación de ladrillos Lego, motores y una unidad central llamada EV3 Brick, que 
actúa como el cerebro del robot. 
 
La unidad EV3 Brick se puede programar para controlar los motores y procesar la 
información de los sensores. 
 
Proyecto de Róbotica Educativa Pág. 
 
14 
 
En cuanto a los sensores de que dispone esta gama, Lego Mindstorms EV3 [14] 
ofrece varios tipos que se pueden utilizar para detectar y medir diferentes 
variables. 
 
Estos son algunos de los sensores disponibles que ofrece: 
 
1. Sensor de contacto: Detecta cuando se presiona o se libera. 
2. Sensor de color: Permite detectar y distinguir diferentes colores. 
3. Sensor de ultrasonidos: Mide la distancia hasta un objeto utilizando ondas 
de ultrasonido. 
4. Sensor de infrarrojos: Detecta señales infrarrojas y se utiliza para el 
control remoto y la detección de objetos. 
5. Sensor giroscópico: Mide la rotación y el movimiento angular del robot. 
6. Sensor de tacto: Detecta cuando se presiona o se libera como el 
sensor de contacto, pero con una forma diferente. 
 
 
Una vez conocido sus sensores, hay que conocer como programar el robot 
utilizando el lenguaje Swift[1] en esta ocasión o en su formato oficial de LEGO, 
normalmente se utiliza el software oficial de Lego llamado "LEGO Mindstorms 
EV3 Software" o "LEGO Mindstorms EV3 Home Edition". Estas aplicaciones 
proporcionan una interfaz gráfica que permite programar los robots de manera 
visual mediante bloques de código. 
 
En el caso de Swift [1], se puede explorar 
alternativas como la librería de código abierto 
"EV3-Swift". Esta librería te permite controlar 
los robots de Lego Mindstorms EV3 [14] 
utilizando Swift [1] y Xcode[11], el entorno de 
desarrollo integrado de Apple [2]. Se puede 
encontrar más información y recursos en el 
repositorio oficial de EV3-Swift en GitHub. 
 
Hay que tener en cuenta que aunque Swift [1] 
es un lenguaje de programación poderoso, la 
programación de Lego Mindstorms EV3 [14] 
puede tener ciertas limitaciones y requerir conocimientos adicionales sobre la 
plataforma y sus componentes electrónicos comentados anteriormente a lo largo 
del aprendizaje. 
 
 
 
 
 
 
Ilustración 3. Lego Mindstorms EV3 
en iPad con Swift y ejemplo de robot 
Proyecto de Róbotica Educativa Pág. 
 
15 
 
A continuación se muestran unas imágenes de como es Lego Mindstorms [13] con su 
EV3 brick y los diferentes sensores que existen actualmente en su versión de Kit 
Básico: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ilustración 5. Lego Mindstorms EV3 Education 
Kit Version iPad 
Ilustración 4. Lego Mindstorms EV3 brick con 
todos los sensores 
Ilustración 6 Kit Grafico del contenido basico de LEGO Mindstorms EV3 
Proyecto de Róbotica Educativa Pág. 
 
16 
 
3.2.2.- Aplicación de Swift en el Sistema Educativo Catalán 
Para la aplicación de Swift [1] en las diferentes etapas del sistema educativo 
catalán, lo inicializaremos de la siguiente manera: 
1.- Educación Básica : Donde se encuentran 
• Primaria. 
• Secundaria. 
• Ciclos Formativos de grado base. 
En la primera etapa de la Educación Básica , se podrían incorporar los primeros 
conceptos de programación Swift[1] en varias asignaturas como, 
Tecnología en donde dar los primeros pasos para aprender programación y 
adquirir experiencia. Facilitará al docente la impartición de los conocimientos 
básicos de la asignatura. 
Matemáticas facilitando su aprendizaje y su comprensión. También les servirá 
para agilizar su proceso de adquisición de la lógica en la programación. 
Inglés aportará de una forma natural un vocabulario básico. Asimilaran una buena 
base introductoria al conocimiento de un tercer idioma, incluyendo la necesidad 
de que el estudiante pueda entender los manuales oficiales en su lenguaje nativo. 
 
2.- Estudios Post- Obligatorios: Como es el caso de 
• Bachillerato. 
• Ciclos Formativos de Grado Superior. 
• Universidad. 
La segunda etapa de Estudios Post Obligatorios, se podría profundizar más en el 
lenguaje y utilizar programas más profesionales, que muchos Apple Developers 
[15] los utilizan habitualmente. En el caso del Bachillerato, se aplicaría en las 
Ciencias y Tecnología, además en las Ciencias Sociales. 
Ciencias y Tecnología, se continuarían con las asignaturas de: 
• Matemáticas I. 
• Tecnología y Ingeniería I. 
• Matemáticas II. 
Proyecto de Róbotica Educativa Pág. 
 
17 
 
• Tecnología y Ingenieria II. 
• Inglés. 
Ciencias Sociales, se continuarían con las asignaturas, 
 
• Matemáticas I. 
• Economía. 
• Matemáticas Aplicadas a las ciencias Sociales. 
• Matemáticas II. 
• Matemáticas Aplicadas a las Ciencias Sociales II. 
• Inglés. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ilustración 7. Estudiantes de cursos Post Obligatorios 
Ilustración 8. Estudiantes Educación Básica 
Proyecto de Róbotica Educativa Pág. 
 
18 
 
Para desarrollar lo expuesto hasta ahora, procederemos a exponer varios ejemplos de la 
programación Swift[1] en las diferentes etapas educativas. 
I. Etapa Educación básica 
A. Etapa Educación básica Matemáticas, la programación es una herramienta 
muy poderosa y muy útil. Al usar la programación, podemos mostrar cómo se 
aplican los conceptos matemáticos en situaciones del mundo real y ayudar a 
los estudiantes en esta época a visualizar y entender mejor los problemasmatemáticos y la lógica empleada en su resolución. 
Enseñar matemáticas de primaria con Swift [1] de Apple [2], proporcionará al docente una 
poderosa arma de motivación hacia la asignatura. Se puede empezar con algunos 
conceptos básicos como la suma, la resta, la multiplicación y la división. Una vez que el 
estudiante asimile correctamente estos conceptos, se puede avanzar a problemas 
matemáticos más complejos. 
Mostramos un ejemplo de cómo enseñar sumas simples usando Swift[1]: 
 
// Este programa suma dos números enteros y muestra el resultado en la consola 
// Definimos dos números enteros 
let num1 = 5 
let num2 = 3 
// Sumamos los dos números y guardamos el resultado en una variable 
let resultado = num1 + num2 
// Mostramos el resultado en la consola 
print("La suma de \(num1) y \(num2) es \(resultado)") 
En este ejemplo, definimos dos variables numéricas (num1, num2) y las sumamos usando 
el operador "+" de Swift [1]. Luego, guardamos el resultado en una tercera variable 
(resultado) y lo mostramos en la consola. 
 
 
 
 
 
Ilustración 9. Estudiantes Educación 
Básica aprendiendo Matemáticas 
Proyecto de Róbotica Educativa Pág. 
 
19 
 
Mostramos a continuación otro ejemplo de cómo enseñar a multiplicar usando Swift [1]: 
func multiplicar(_ numero1: Int, por numero2: Int) -> Int { 
var resultado = 0 
for _ in 1...numero2 { 
resultado += numero 
} 
return resultado 
} 
let numero1 = 5 
let numero2 = 3 
let resultado = multiplicar(numero1, por: numero2) 
print("El resultado de multiplicar \(numero1) por \(numero2) es \(resultado)") 
En este ejemplo de como realizar una multiplicación, lo explicaremos de la siguiente 
manera: 
o Definiremos una función llamada `multiplicar` que tomara los dos parámetros de tipo 
`Int`, `numero1` y `numero2`, y devolvera un valor de tipo `Int`. 
o Dentro de la función, inicializamos una variable que lo nombramos como 
`resultado` con el valor inicial de 0. Esta variable se usará para almacenar el 
resultado de la multiplicación. 
o Utilizamos un bucle `for` que se ejecuta `numero2` veces. Esto se realiza para 
sumar `numero1` a `resultado` `numero2` veces. 
o En cada iteración del bucle, sumamos `numero1` a `resultado`. 
o Una vez completa el bucle, la función devuelve el valor de `resultado`. 
o Cuando estamos fuera de la función, definimos dos variables `numero1` y 
`numero2` con los valores que queremos multiplicar. 
o Llamamos a la función `multiplicar` pasando `numero1` y `numero2` como 
argumentos y almacenamos el resultado en la variable `resultado`. 
o Para finalizar, imprimimos en la consola un mensaje que muestra los números que 
estamos multiplicando y el resultado obtenido. 
En este ejemplo de multiplicación, si ejecutamos el código, mostrará en la consola el 
siguiente mensaje: "El resultado de multiplicar 5 por 3 es 15", ya que 5 multiplicado por 3 
es igual a 15. Una forma muy intuitiva para aprender a multiplicar en esta etapa educativa. 
Proyecto de Róbotica Educativa Pág. 
 
20 
 
Y finalmente acabaríamos esta etapa con el aprendizaje de la división usando Swift[1]: 
func dividir(_ dividendo: Int, por divisor: Int) -> (cociente: Int, residuo: Int) { 
 let cociente = dividendo / divisor 
 let residuo = dividendo % divisor 
 return (cociente, residuo) 
} 
let dividendo = 15 
let divisor = 4 
let resultado = dividir(dividendo, por: divisor) 
print("El resultado de dividir \(dividendo) por \(divisor) es \(resultado.cociente) con 
un residuo de \(resultado.residuo)") 
A continuación, explicamos la división por Swift [1] de la siguiente manera: 
o Definiremos la función llamada `dividir` que toma dos parámetros de tipo `Int`: 
`dividendo` y `divisor`. La función devuelve una tupla que contiene el cociente y el 
residuo. 
o Dentro de la misma función, utilizamos el operador de división `/` para calcular el 
cociente de la división y lo asignamos a la constante `cociente`. 
o Posteriormente, utilizamos el operador de módulo `%` para calcular el residuo de la 
división y lo asignamos a la constante `residuo`. 
o Seguidamente, retornamos una tupla que contiene el cociente y el residuo. 
o Una vez, fuera de la función, definimos dos variables llamadas `dividendo` y 
`divisor` con los valores que queremos dividir. 
o Llamamos a la función `dividir` pasando `dividendo` y `divisor` como argumentos y 
almacenamos el resultado en la constante `resultado`. 
o Para mostrar el resultado en la consola, utilizamos la función `print` y generamos un 
mensaje que muestra los números que estamos dividiendo, el cociente obtenido y 
el residuo. 
En este ejemplo de la división , si ejecutamos el código, mostrará en la consola el siguiente 
mensaje: "El resultado de dividir 15 por 4 es 3 con un residuo de 3", ya que el cociente de 
la división de 15 por 4 es 3 y el residuo es 3. 
 
Proyecto de Róbotica Educativa Pág. 
 
21 
 
Estos solo son ejemplos básicos aplicado a las Matemáticas, pero lo puedes emplear para 
construir sobre él otros conceptos matemáticos que se enseñan en esta etapa educativa y 
además ayudara a los estudiantes a entender las matemáticas de otra manera y tener los 
primeros pasos a la programación. 
B. Etapa Educación básica Tecnología, es una excelente manera de ayudar 
a los niños a comprender cómo funciona la tecnología que utilizan en su vida 
diaria y cómo pueden crear cosas nuevas y útiles utilizando el poder de la 
programación. 
Aquí exponemos un ejemplo por etapas de cómo podrías enseñar tecnología de primaria 
utilizando la programación Swift [1] de Apple [2]: 
1. Introducción a la programación: Primero, debes enseñar a los estudiantes los conceptos 
básicos de la programación, como variables, funciones, estructuras de control de flujo, etc. 
Para hacerlo, se puede utilizar un software de programación visual como Swift 
Playgrounds [12] de Apple [2], que proporciona una interfaz fácil de usar que puede 
ayudar a los estudiantes a comprender estos conceptos. 
2. Crear un juego sencillo: Una vez que los estudiantes hayan aprendido los conceptos 
básicos de la programación, pueden comenzar a crear un juego simple utilizando Swift 
Playgrounds [12]. Por ejemplo, podrían crear un juego de memoria simple en el que se 
muestran varias imágenes y los jugadores deben recordar la ubicación de cada imagen. 
Aquí muestro un ejemplo de código que se podría utilitzar para crear un juego de memoria 
simple en Swift [1]: 
 
import UIKit 
class MemoryGameViewController: UIViewController { 
 var cardButtons = [UIButton]() 
 var emojiChoices = ["
🐶
", "
🐱
", "
🐭
", "
🦊
", "
🐻
"] 
 override func viewDidLoad() { 
 super.viewDidLoad() 
 createCardButtons() 
 } 
 func createCardButtons() { 
 for index in 0..<emojiChoices.count { 
 let button = UIButton() 
 button.setTitle(emojiChoices[index], for: .normal) 
 button.addTarget(self, action: #selector(cardButtonTapped(_:)), for: .touchUpInside) 
Proyecto de Róbotica Educativa Pág. 
 
22 
 
 view.addSubview(button) 
 cardButtons.append(button) 
 } 
 } 
 @objc func cardButtonTapped(_ sender: UIButton) { 
 // Handle button tap here 
 } 
 } 
Este ejemplo de código crea una clase `MemoryGameViewController` que contiene una 
matriz de botones que representan las cartas en el juego. El método `createCardButtons()` 
crea los botones y los agregaa la vista del controlador. El método `cardButtonTapped(_:)` 
maneja los toques en los botones. 
3. Mejorar el juego: Una vez que los estudiantes hayan creado el juego básico, pueden 
comenzar a mejorar el juego agregando nuevas características y funcionalidades. Por 
ejemplo, pueden agregar más niveles, agregar sonidos y efectos visuales, etc. 
A continuación muestro otro ejemplo de como enseñar Tecnología: 
 
// Ejemplo: Clase sobre tipos de dispositivos tecnológicos 
// Definición de la clase DispositivoTecnologico 
class DispositivoTecnologico { 
 var nombre: String 
 var tipo: String 
 init(nombre: String, tipo: String) { 
 self.nombre = nombre 
 self.tipo = tipo 
 } 
 func encender() { 
 print("\(nombre) encendido.") 
 } 
 func apagar() { 
 print("\(nombre) apagado.") 
 } 
} 
 
// Creación de objetos y uso de la clase 
Proyecto de Róbotica Educativa Pág. 
 
23 
 
let celular = DispositivoTecnologico(nombre: "Celular", tipo: "Smartphone") 
celular.encender() 
celular.apagar() 
let computadora = DispositivoTecnologico(nombre: "Computadora", tipo: "Portátil") 
computadora.encender() 
computadora.apagar() 
Este código de ejemplo nos muestra una clase llamada `DispositivoTecnologico` que 
representa un dispositivo tecnológico genérico. Tiene propiedades como `nombre` y `tipo`, 
y métodos como `encender()` y `apagar()`. 
Explicamos a continuación como se realiza el codigo: 
o Definiremos la clase `DispositivoTecnologico` que tiene dos propiedades: `nombre` y 
`tipo`, ambas de tipo `String`. 
o La clase tiene un inicializador `init(nombre: String, tipo: String)` que asigna los valores 
de `nombre` y `tipo` a las propiedades correspondientes. 
o La clase tiene dos métodos: `encender()` y `apagar()`, que imprimen mensajes 
indicando si el dispositivo se ha encendido o apagado. 
o Creamos objetos de la clase `DispositivoTecnologico` para representar diferentes 
dispositivos tecnológicos de Apple [2], como un iPhone[4] o un Mac[6]. 
o Utilizamos los métodos `encender()` y `apagar()` en cada uno de los objetos creados 
para simular el encendido y apagado de los dispositivos. 
Es decir, al ejecutarlo, se mostrarán los mensajes correspondientes en la consola, 
indicando si los dispositivos se han encendido o apagado. 
Este código proporciona un ejemplo simple y claro de cómo se pueden modelar los 
dispositivos tecnológicos utilizando una clase en Swift[1]. 
En conclusión, para enseñar tecnología a estudiantes de primaria utilizando la 
programación Swift [1] de Apple[2], debes comenzar con los conceptos básicos de la 
programación, crear un proyecto simple como un juego y luego mejorar el proyecto 
agregando nuevas características y funcionalidades. 
 
 
Proyecto de Róbotica Educativa Pág. 
 
24 
 
 
 
 
 
 
 
 
 
 
 
C. Etapa Educación básica Inglés Enseñar a estudiantes de primaria 
utilizando la programación Swift [1] puede ser una tarea desafiante, pero muy 
efectiva si se hace de la manera correcta. 
Un ejemplo de aplicación para enseñar inglés a un estudiante de primaria utilizando la 
programación Swift[1]: 
1. Introducción a la programación: Primero, se debe enseñar a los estudiantes los 
conceptos básicos de la programación, como variables, funciones, estructuras de control 
de flujo, etc. Para hacerlo, se puede emplear un software de programación visual como 
Swift Playgrounds [12] de Apple [2], que proporciona una interfaz fácil de usar que puede 
ayudar a los estudiantes a comprender estos conceptos. 
2. Crear una aplicación de vocabulario: Una vez que los estudiantes hayan asimilado los 
conceptos básicos de la programación, pueden comenzar a crear una aplicación simple de 
vocabulario utilizando Swift [1]. Por ejemplo, podrían crear una aplicación que muestre 
imágenes de diferentes objetos y palabras en inglés que correspondan a esas imágenes. 
Este sería un ejemplo de código que se podría usar para crear una aplicación de 
vocabulario en Swift [1]: 
 
``` 
Ilustración 10. Estudiantes Educación Básica utilizando iPads en el Aula 
Proyecto de Róbotica Educativa Pág. 
 
25 
 
import UIKit 
class VocabularyViewController: UIViewController { 
 var vocabWords = ["apple", "banana", "carrot", "dog", "elephant"] 
 var vocabImages = ["apple.jpg", "banana.jpg", "carrot.jpg", "dog.jpg", "elephant.jpg"] 
 override func viewDidLoad() { 
 super.viewDidLoad() 
 showVocabWords() 
 } 
 func showVocabWords() { 
 for index in 0..<vocabWords.count { 
 let label = UILabel() 
 label.text = vocabWords[index] 
 let imageView = UIImageView(image: UIImage(named: vocabImages[index])) 
 view.addSubview(label) 
 view.addSubview(imageView) 
 } 
 } 
} 
``` 
Este ejemplo de código crea una clase `VocabularyViewController` que contiene dos 
matrices: `vocabWords` y `vocabImages`. El método `showVocabWords()` crea etiquetas y 
vistas de imagen para cada elemento de la matriz y los agrega a la vista del controlador. 
3. Mejorar la aplicación: Una vez que los estudiantes hayan creado la aplicación básica de 
vocabulario, pueden comenzar a mejorarla agregando nuevas características y 
funcionalidades. Por ejemplo, pueden agregar una opción para escuchar la pronunciación 
de las palabras, agregar juegos de vocabulario como crucigramas o juegos de memoria, 
etc. 
A continuación muestro otro ejemplo de como enseñar Inglés: 
 
// Diccionario de palabras en inglés y sus traducciones 
let palabras = [ 
 "gato": "cat", 
 "perro": "dog", 
 "árbol": "tree", 
Proyecto de Róbotica Educativa Pág. 
 
26 
 
 "sol": "sun" 
] 
// Función para mostrar una palabra en inglés y solicitar la traducción al usuario 
func practicarIngles() { 
 // Seleccionar una palabra aleatoria del diccionario 
 let palabrasIngles = Array(palabras.values) 
 let indiceAleatorio = Int.random(in: 0..<palabrasIngles.count) 
 let palabraIngles = palabrasIngles[indiceAleatorio] 
 
 // Obtener la traducción en español de la palabra seleccionada 
 let palabraEspanol = palabras.first { $0.value == palabraIngles }?.key 
 // Mostrar la palabra en inglés y solicitar la traducción al usuario 
 print("Traduce la palabra al español: \(palabraIngles)") 
 let respuesta = readLine() 
 // Comprobar si la traducción es correcta 
 if respuesta == palabraEspanol { 
 print("¡Correcto!") 
 } else { 
 print("Respuesta incorrecta. La traducción correcta es: \(palabraEspanol ?? "")") 
 } 
} 
// Llamar a la función para practicar inglés 
practicarIngles() 
Para realizar el siguiente código, primero definimos un nuevo diccionario llamado 
`palabras`, donde las claves son las palabras en español y los valores son sus 
traducciones en inglés. Posteriormente, tenemos una función llamada `practicarIngles` que 
elige aleatoriamente una palabra en inglés del diccionario y le dice al estudiante que 
escriba la traducción correcta en español. 
El código utiliza la función `random(in:)` para seleccionar un índice aleatorio y obtener la 
palabra en inglés correspondiente. Luego, busca la clave correspondiente en el diccionario 
para obtener la traducción en español. 
Después de mostrar la palabra en inglés, el código utiliza `readLine()` para leer la entrada 
del estudiante. Luego, compara la respuesta del usuario con la traduccióncorrecta y 
muestra un mensaje de "¡Correcto!" si la respuesta es correcta, o muestra la traducción 
Proyecto de Róbotica Educativa Pág. 
 
27 
 
correcta si la respuesta es incorrecta. 
Finalmente, llama a la función `practicarIngles` para iniciar la práctica de inglés. 
Acabamos esta sección con un último ejemplo de aprendizaje de Inglés con Swift [1]: 
 
// Diccionario para almacenar las palabras en español y sus traducciones en inglés 
var palabras: [String: String] = [:] 
// Función para agregar una palabra y su traducción al diccionario 
func agregarPalabra() { 
 print("Ingresa una palabra en español:") 
 let palabraEspanol = readLine() ?? "" 
 print("Ingresa la traducción de \(palabraEspanol) en inglés:") 
 let palabraIngles = readLine() ?? "" 
 palabras[palabraEspanol] = palabraIngles 
 print("Palabra agregada correctamente.") 
} 
// Función para practicar inglés 
func practicarIngles() { 
 if palabras.isEmpty { 
 print("No hay palabras en el diccionario. Agrega algunas palabras primero.") 
 return 
 } 
 let palabrasEspanol = Array(palabras.keys) 
 let indiceAleatorio = Int.random(in: 0..<palabrasEspanol.count) 
 let palabraEspanol = palabrasEspanol[indiceAleatorio] 
 let palabraIngles = palabras[palabraEspanol] 
 print("Traduce la palabra al inglés: \(palabraEspanol)") 
 let respuesta = readLine() ?? "" 
 if respuesta.lowercased() == palabraIngles?.lowercased() { 
 print("¡Correcto!") 
 } else { 
 print("Respuesta incorrecta. La traducción correcta es: \(palabraIngles ?? "")") 
 } 
} 
// Bucle principal para que el alumno pueda agregar palabras y practicar inglés 
var salir = false 
while !salir { 
Proyecto de Róbotica Educativa Pág. 
 
28 
 
 print("--- Menú ---") 
 print("1. Agregar palabra") 
 print("2. Practicar inglés") 
 print("3. Salir") 
 print("Ingrese el número de opción:") 
 let opcion = readLine() ?? "" 
 switch opcion { 
 case "1": 
 agregarPalabra() 
 case "2": 
 practicarIngles() 
 case "3": 
 salir = true 
 default: 
 print("Opción inválida.") 
 } 
} 
print("¡Hasta luego!") 
En este código, hemos creado dos funciones principales: `agregarPalabra()` y 
`practicarIngles()`. Además, he agregado un bucle principal que muestra un menú con 
opciones para que el alumno pueda agregar palabras y practicar inglés. 
La función `agregarPalabra()` solicita al alumno que ingrese una palabra en español y su 
traducción en inglés, y luego las agrega al diccionario `palabras`. 
La función `practicarIngles()` selecciona una palabra aleatoria del diccionario y la muestra 
en español, solicitando al alumno que ingrese la traducción en inglés. Luego, compara la 
respuesta del alumno con la traducción correcta y muestra un mensaje de "¡Correcto!" o la 
traducción correcta. 
El bucle principal muestra el menú y permite al alumno elegir entre agregar palabras, 
practicar inglés o salir del programa. Dependiendo de la opción seleccionada, se llamará a 
la función correspondiente. 
El alumno puede usar este código como base y agregar palabras al diccionario a medida 
que aprendiendo en la asignatura. 
 
 
Proyecto de Róbotica Educativa Pág. 
 
29 
 
En resumen, para enseñar inglés a estudiantes de primaria utilizando la programación 
Swift [1] de Apple[2], debes comenzar con los conceptos básicos de la programación, crear 
una aplicación simple de vocabulario y luego mejorarla agregando nuevas características y 
funcionalidades. Es importante recordar que el enfoque debe estar en la enseñanza del 
idioma, y la programación es simplemente una herramienta para lograr ese objetivo y seria 
opcional para los centros educativos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ilustración 11. Estudiantes de la Educación Básica 
usando el iPad con los libros de Aprendizaje en 
Inglés 
Proyecto de Róbotica Educativa Pág. 
 
30 
 
2. Etapa Post Obligatoria 
Al llegar a esta etapa se supone que ya se ha asimilado un conocimiento básico del 
lenguaje Swift[1] y de las anteriores asignaturas comentadas, se podrán utilizar estos 
conocimientos como base para las asignaturas de esta nueva etapa. 
A. Etapa Educación Post Obligatoria Matemáticas I y II, Aplicadas al 
Bachillerato de Ciencias y Tecnología, utilizando el lenguaje de 
programación Swift[1] de Apple [2], será una excelente manera de combinar 
dos temas muy relevantes e importantes en la educación moderna. 
Aquí hay algunos consejos sobre cómo puedes enseñar matemáticas utilizando Swift[1]: 
1. Enseña la sintaxis básica de Swift: Para enseñar matemáticas utilizando 
Swift[1], es importante que los estudiantes comprendan la sintaxis básica del 
lenguaje de programación. Esto les permitirá escribir programas simples y 
manipular los datos de manera efectiva. 
2. Enseña los conceptos matemáticos básicos: Antes de que los estudiantes 
puedan comenzar a aplicar las matemáticas en un programa de Swift[1], deben 
tener una sólida comprensión de los conceptos matemáticos básicos, como 
álgebra, geometría, trigonometría y cálculo. Hay que asegurarse de repasar 
previamente estos conceptos y de proporcionarles ejemplos concretos. 
3. Aplica los conceptos matemáticos utilizando Swift: Una vez que los 
estudiantes presenten una comprensión sólida de los conceptos matemáticos 
básicos, se podrá comenzar su aplicación utilizando Swift[1]. Por ejemplo, 
enseñarles a escribir programas que resuelvan ecuaciones algebraicas o 
calculen el área y el perímetro de una figura geométrica. 
4. Utiliza ejemplos concretos: Para que los estudiantes comprendan mejor cómo 
se pueden aplicar las matemáticas en la programación, es importante que se les 
proporcionen ejemplos concretos. Por ejemplo, mostrarles cómo se puede 
utilizar Swift[1] para calcular la trayectoria de un proyectil o para modelar la 
propagación de una enfermedad. 
5. Usa herramientas de programación interactivas: Para que los estudiantes 
aprendan de manera efectiva, es importante que se utilicen herramientas de 
programación interactivas que les permitan experimentar con Swift[1] y observar 
los resultados de sus programas en tiempo real. Por ejemplo, utilizar Xcode 
Playgrounds [16], que es una herramienta de programación interactiva que 
permite a los estudiantes escribir y probar programas en un entorno seguro y 
Proyecto de Róbotica Educativa Pág. 
 
31 
 
controlado. 
Por ejemplo, si quisieras enseñar a tus estudiantes cómo calcular la derivada de una 
función utilizando el lenguaje Swift[1], podrías seguir los siguientes pasos: 
1. Explica el concepto de derivada: 
Antes de comenzar a escribir código, es importante que tus estudiantes comprendan 
el concepto de derivada. Puedes utilizar gráficos y ejemplos para ayudarles a 
entender cómo se define y se calcula una derivada. 
2. Escribe el código para calcular la derivada de una función: 
Una vez que tus estudiantes entiendan el concepto de derivada, puedes comenzar a 
escribir el código para calcularla utilizando Swift[1]. 
Aquí hay un ejemplo de cómo podrías escribir este código: 
```swift 
func f(_ x: Double) -> Double { 
 return x * x // función f(x) = x^2 
} 
func df(_ x: Double, h: Double) -> Double { 
 return (f(x + h) - f(x)) /h // definición de la derivada 
} 
let x = 2.0 // punto en el que se calcula la derivada 
let h = 0.0001 // tamaño del paso 
let d = df(x, h: h) // valor de la derivada en x 
print("La derivada de f(x) en x = \(x) es \(d)") 
``` 
En este ejemplo de código, hemos definido la función `f(x)` que representa la función 
`f(x) = x^2`. Luego, definimos la función `df(x, h)` que calcula la derivada de `f(x)` en un 
punto `x` utilizando la definición de la derivada (`df(x) = (f(x+h) - f(x)) / h`). Finalmente, 
hemos definido el punto `x` en el que se calcula la derivada y el tamaño del paso `h`, y 
hemos calculado el valor de la derivada en `x` utilizando la función `df(x, h)`. 
 
 
 
Proyecto de Róbotica Educativa Pág. 
 
32 
 
3. Prueba el código y haz ajustes: 
Después de escribir el código, es importante que lo pruebes para asegurarte de que 
funciona correctamente. Puedes hacer ajustes y modificar el código según sea 
necesario para corregir errores y mejorar su funcionamiento. 
4. Aplica el concepto a un problema real: 
Para ayudar a los estudiantes a comprender mejor cómo se puede aplicar el cálculo 
de la derivada en un contexto real, puedes plantear un problema que involucre el 
cálculo de la derivada. Por ejemplo, podrías preguntarles cuál es la velocidad 
instantánea de un objeto en un momento dado si se conoce su posición en función 
del tiempo. 
A continuación mostraremos un código para que aprendan a integrar: 
En este código, los alumnos de bachillerato pueden ingresar una función y los límites de 
integración para obtener el resultado de la integral. 
 
// Función para integrar una función dada en un intervalo dado 
func integrarFuncion() { 
 print("Ingresa la función a integrar:") 
 let funcion = readLine() ?? "" 
 print("Ingresa el límite inferior de integración:") 
 let limiteInferior = Double(readLine() ?? "") ?? 0.0 
 print("Ingresa el límite superior de integración:") 
 let limiteSuperior = Double(readLine() ?? "") ?? 0.0 
 // Cálculo de la integral utilizando el método de los rectángulos (aproximación básica) 
 let numRectangulos = 1000 
 let anchoRectangulo = (limiteSuperior - limiteInferior) / Double(numRectangulos) 
 var sumaAreas = 0.0 
 var x = limiteInferior 
 for _ in 0..<numRectangulos { 
 let alturaRectangulo = evaluarFuncion(funcion: funcion, x: x) 
 let areaRectangulo = alturaRectangulo * anchoRectangulo 
 sumaAreas += areaRectangulo 
 x += anchoRectangulo 
 } 
 print("El resultado de la integral de \(funcion) en el intervalo [\(limiteInferior), 
\(limiteSuperior)] es: \(sumaAreas)") 
Proyecto de Róbotica Educativa Pág. 
 
33 
 
} 
// Función para evaluar una función dada en un punto dado 
func evaluarFuncion(funcion: String, x: Double) -> Double { 
 // Aquí se puede implementar la evaluación de la función según las reglas de sintaxis y 
semántica que desees permitir 
 // Por ejemplo, podríamos permitir operaciones básicas (+, -, *, /), potencias, funciones 
trigonométricas, etc. 
 // Aquí asumiremos que la función es simplemente una expresión aritmética válida 
 let expresion = NSExpression(format: funcion) 
 let resultado = expresion.expressionValue(with: nil, context: nil) as? Double ?? 0.0 
 return resultado 
} 
// Bucle principal para que el alumno pueda integrar funciones 
var salir = false 
while !salir { 
 print("--- Menú ---") 
 print("1. Integrar función") 
 print("2. Salir") 
 print("Ingrese el número de opción:") 
 let opcion = readLine() ?? "" 
 switch opcion { 
 case "1": 
 integrarFuncion() 
 case "2": 
 salir = true 
 default: 
 print("Opción inválida.") 
 } 
} 
print("¡Hasta luego!") 
``` 
En este código Swift[1] hemos programado una función principal llamada 
`integrarFuncion()` que le pide al alumno que ingrese una función y los límites de 
integración. Utilizando el conocido método de los rectángulos (una aproximación muy 
básica), calculamos la integral de la función en el intervalo dado dividiendo el área bajo 
la curva en rectángulos y sumando sus áreas. 
Proyecto de Róbotica Educativa Pág. 
 
34 
 
También hemos creado una función auxiliar llamada `evaluarFuncion()` que permite 
evaluar una función dada en un punto dado. Esta función utiliza la clase `NSExpression` 
de Foundation para evaluar la expresión de la función. 
En este caso , asumimos que la función es simplemente una expresión aritmética válida, 
pero puedes expandir esta función para admitir operaciones y funciones más avanzadas 
según las necesidades del alumno. 
El bucle principal muestra un menú con opciones para integrar una función o salir del 
programa. El alumno puede elegir una opción ingresando el número correspondiente. 
Dependiendo de la opción seleccionada, se llamará a la función correspondiente. 
Y finalmente, explicaremos un código para que los alumnos de bachillerato puedan 
crear sus propios problemas matemáticos de la asignatura y se les sea más fácil 
aprender las lecciones que realicen en esta etapa: 
 
// Función para generar un problema matemático aleatorio 
func generarProblema() { 
 print("Ingresa el enunciado del problema:") 
 let enunciado = readLine() ?? "" 
 print("Ingresa la solución del problema:") 
 let solucion = readLine() ?? "" 
 print("Resuelve el siguiente problema:") 
 print(enunciado) 
 let respuesta = readLine() ?? "" 
 if respuesta == solucion { 
 print("¡Correcto!") 
 } else { 
 print("Respuesta incorrecta. La solución es: \(solucion)") 
 } 
} 
// Bucle principal para que los alumnos puedan generar problemas y resolverlos 
var salir = false 
while !salir { 
 print("--- Menú ---") 
 print("1. Generar problema") 
 print("2. Salir") 
 print("Ingrese el número de opción:") 
 let opcion = readLine() ?? "" 
Proyecto de Róbotica Educativa Pág. 
 
35 
 
 switch opcion { 
 case "1": 
 generarProblema() 
 case "2": 
 salir = true 
 default: 
 print("Opción inválida.") 
 } 
} 
print("¡Hasta luego!") 
Aquí he creado una función llamada `generarProblema()` que permite al alumno generar 
un problema matemático. El alumno ingresa el enunciado del problema y su solución. 
Seguidamente se muestra el enunciado del problema y el alumno debe ingresar su 
respuesta. 
Después de que el alumno haya ingresado su respuesta, se compara con la solución 
dada. Si la respuesta es correcta, se muestra "¡Correcto!". De lo contrario, se muestra 
"Respuesta incorrecta" junto con la solución correcta. 
El bucle principal muestra un menú con opciones para generar problemas o salir del 
programa. El alumno elige una opción ingresando el número deseado. Dependiendo de 
la opción seleccionada, se llamará a una función o a la otra. 
En resumidas cuentas, enseñar matemáticas aplicadas a las ciencias y la tecnología 
utilizando Swift[1] es una excelente manera de ayudar a tus estudiantes a comprender 
cómo se pueden aplicar los conceptos matemáticos en la programación. 
Siguiendo estos pasos y proporcionando ejemplos concretos, podrás ayudar a tus 
estudiantes a desarrollar habilidades valiosas en programación y matemáticas. 
 
 
 
 
 
 
Ilustración 12. Ejemplo 
Matemáticas en la Educación 
Post Obligatoria 
Proyecto de Róbotica EducativaPág. 
 
36 
 
B. Etapa Educación Post Obligatoria Tecnologia y Ingenieria I y II, puedes 
seguir estos pasos para que apliquen Swift[1] en esta asignatura: 
1. Introduce el concepto de la tecnología: Hay que comenzar por explicar a los alumnos 
qué es la tecnología y cómo se utiliza en diferentes campos de la ciencia y la ingeniería. 
2. Presenta el lenguaje de programación Swift: Explica nuevamente qué es Swift[1] y por 
qué es importante para la tecnología. Puedes mostrarles algunos ejemplos de aplicaciones 
populares que utilizan Swift[1], como iOS[7] y macOS[8]. 
3. Enseña a tus estudiantes a escribir código Swift: A continuación, enseña a los 
estudiantes cómo escribir código Swift[1]. Puedes comenzar con conceptos básicos como 
variables, operadores, condicionales y bucles, y luego avanzar a conceptos más 
avanzados como funciones, estructuras de datos y clases. 
4. Aplica los conceptos a problemas reales de la tecnología: Después de que hayan 
aprendido los conceptos básicos de Swift[1], puedes presentarles problemas reales de la 
tecnología que puedan resolver utilizando Swift[1]. Por ejemplo, pueden escribir una 
aplicación para realizar cálculos de ingeniería, una aplicación de reconocimiento de voz o 
una aplicación para controlar un dispositivo de Internet de las cosas (IoT). 
Aquí mostramos un ejemplo de cómo se podría enseñar a los estudiantes a escribir código 
Swift[1] para un problema de tecnología: 
Supongamos que deseamos crear una aplicación para calcular el área de un triángulo. 
Podemos hacerlo utilizando la siguiente fórmula: 
Área = 1/2 * base * altura 
``` 
Para hacer esto en Swift[1], podemos escribir el siguiente código: 
``` 
// Definimos las variables de entrada 
let base = 10.0 
let altura = 5.0 
 
// Calculamos el área 
let area = 0.5 * base * altura 
 
// Mostramos el resultado 
print("El área del triángulo es: \(area)") 
``` 
Proyecto de Róbotica Educativa Pág. 
 
37 
 
Este código define las variables de entrada (base y altura), calcula el área utilizando la 
fórmula dada y luego muestra el resultado utilizando la función `print()`. Este es solo un 
ejemplo simple, pero puedes presentar problemas más complejos a tus estudiantes a 
medida que avancen en su aprendizaje de Swift[1] y la tecnología. 
Otro ejemplo que se podría utilizar Swift[1] es para que los estudiantes puedan calcular su 
propio promedio de notas sin la utilización de una hoja de cálculo: 
 
import Foundation 
// Definir una función para calcular el promedio 
func calcularPromedio(calificaciones: [Double]) -> Double { 
 let totalCalificaciones = Double(calificaciones.count) 
 var sumaCalificaciones = 0.0 
 for calificacion in calificaciones { 
 sumaCalificaciones += calificacion 
 } 
 let promedio = sumaCalificaciones / totalCalificaciones 
 return promedio 
} 
// Solicitar al usuario las calificaciones 
print("Ingrese las calificaciones separadas por comas:") 
if let input = readLine() { 
 let calificaciones = input.components(separatedBy: ",").compactMap { Double($0) 
} 
 // Calcular y mostrar el promedio 
 let promedio = calcularPromedio(calificaciones: calificaciones) 
 print("El promedio es: \(promedio)") 
} else { 
 print("Entrada inválida.") 
} 
A diferencia del código anterior, en este caso el código solicitará al estudiante de bachiller 
que ingrese las notas separadas por comas (por ejemplo, "7.5, 5.0, 9.5") y luego calculará 
y mostrará el promedio de esas calificaciones para saber si ha superado la asignatura. 
Y finalmente acabamos con un ejemplo de código muy simple para que los estudiantes 
entiendan como funcionan los bucles y las estructuras de control condicional en Swift[1], es 
decir, el programa pide al estudiante un número y luego le muestra si el numero indicado 
es par o impar: 
Proyecto de Róbotica Educativa Pág. 
 
38 
 
 
import Foundation 
// Solicitar al usuario un número 
print("Ingrese un número:") 
if let input = readLine(), let numero = Int(input) { 
// Verificar si el número es par o impar 
 if numero % 2 == 0 { 
 print("El número es par.") 
 } else { 
 print("El número es impar.") 
 } 
} else { 
 print("Entrada inválida.") 
} 
Es un código simple que ayuda al estudiante a entender las estructuras de control 
condicional (if-else) y el operador de módulo (%) para saber si un número es par o impar. A 
partir de este código se puede motivar al alumno a que entienda línea por línea lo que 
hace el código y que experimente con el con diferentes valores y condiciones para mejorar 
su comprensión de los conceptos de programación y dar un gran salto en el aprendizaje 
del lenguaje Swift[1]. 
Es decir, enseñar Tecnología de Bachillerato utilizando Swift[1] puede ser una excelente 
manera de ayudar a los estudiantes a comprender cómo se puede aplicar la programación 
en la tecnología y la ingeniería. Siguiendo estos pasos y proporcionando ejemplos 
concretos, podrás ayudar a tus estudiantes a desarrollar habilidades valiosas en 
programación y tecnología. 
 
 
 
 
 
 
 
Ilustración 13. Swift en Mac 
Proyecto de Róbotica Educativa Pág. 
 
39 
 
C. Etapa Educación Post Obligatoria Inglés, puede parecer un poco 
complicado a primera vista, pero existen diferentes herramientas y recursos 
que pueden ser útiles para hacerlo: 
1. Introducir vocabulario técnico: El inglés técnico es importante en muchas áreas de la 
tecnología y la programación, por lo que es importante que los estudiantes aprendan 
algunos términos clave en inglés. Puedes comenzar con términos básicos como "variable", 
"función", "clase" y "objeto" y avanzar hacia términos más complejos a medida que 
avancen en su aprendizaje. 
2. Utilizar recursos en línea: Hay muchas herramientas en línea que pueden ayudar a los 
estudiantes a aprender inglés de una manera más interactiva y práctica. Algunos ejemplos 
incluyen aplicaciones de aprendizaje de idiomas como Duolingo, Memrise y Rosetta 
Stone, así como videos y tutoriales en línea. 
3. Crear ejercicios prácticos: Es importante que los estudiantes tengan la oportunidad de 
practicar el inglés técnico en un contexto práctico. Puedes crear ejercicios que involucren 
escribir código en Swift[1], resolver problemas de programación y diseñar aplicaciones. 
4. Utiliza proyectos en equipo: Trabajar los proyectos en equipo puede ayudar a los 
estudiantes a mejorar sus habilidades de comunicación y colaboración en inglés. Puedes 
asignar proyectos que involucren diseñar y construir una aplicación, resolver un problema 
de programación o presentar una solución a un problema técnico. 
Aquí hay un ejemplo de cómo podrías enseñar inglés utilizando Swift[1]: 
Supongamos que deseamos crear una aplicación para realizar conversiones de unidades 
de medida. Podemos hacerlo utilizando el siguiente código: 
``` 
// Definimos las variables de entrada 
let millas = 5.0 
// Convertimos millas a kilómetros 
let kilometros = millas * 1.60934 
// Mostramos el resultado 
print("\(millas) millas son \(kilometros) kilómetros") 
``` 
 
 
Proyecto de Róbotica Educativa Pág. 
 
40 
 
Este código define la variable "millas", la convierte a kilómetros utilizando una constante de 
conversión y luego muestra el resultado utilizando la función `print()`. Puedes utilizar este 
ejemplo para enseñar a tus estudiantes sobre la conversión de unidades de medida en 
inglés, o incluso pedirlesque modifiquen el código para realizar conversiones adicionales. 
Otro ejemplo para ayudarles con el idioma es seguir profundizando en la traducción de 
palabras del castellano al inglés, seria parecido al de la etapa básica pero dándole una 
dificultad más: 
 
import Foundation 
// Definir un diccionario de palabras 
let palabras = [ 
 "cereza": "cherry", 
 "codificacion": "coding", 
 "fisica": "physics", 
 "piso": "floor", 
 // Puedes agregar más palabras aquí 
] 
// Obtener una palabra aleatoria del diccionario 
let palabraEspanol = palabras.randomElement()!.key 
// Solicitar la traducción al estudiante 
print("Traduce la palabra al inglés: \(palabraEspanol)") 
if let traduccionEstudiante = readLine() { 
 let traduccionCorrecta = palabras[palabraEspanol]! 
 // Verificar la respuesta del estudiante 
 if traduccionEstudiante.lowercased() == traduccionCorrecta { 
 print("¡Correcto!") 
 } else { 
 print("Incorrecto. La traducción correcta es: \(traduccionCorrecta)") 
 } 
} else { 
 print("Entrada inválida.") 
} 
Tal y como se ha comentado, el código muestra una palabra en español y el estudiante 
que escriba la traducción en inglés. A continuación el programa verifica si la traducción del 
estudiante es correcta y le brinda una retroalimentación en consecuencia. 
 
Proyecto de Róbotica Educativa Pág. 
 
41 
 
En este código pueden agregar más palabras al diccionario como palabras más técnicas 
del Inglés Técnico y les permite practicar de una forma más fácil y ampliar su vocabulario. 
Además les dará la opción de personalizar el código para incluir más funcionalidades, 
como puntuaciones o pistas, según el nivel de conocimientos y habilidades. 
Y finalmente acabamos esta etapa con un código que les ayude en la gramática inglesa 
que es de lo más complejo de esta etapa, es decir, es un programa que muestra una 
oración en inglés con un espacio en blanco y exige al estudiante que ingrese la palabra 
correcta para completar la oración, veamos el código: 
 
import Foundation 
// Definir una lista de oraciones con espacios en blanco 
let oraciones = [ 
 "I _______ to the park yesterday.", 
 "She _______ a book for her birthday.", 
 "They _______ dinner at a restaurant.", 
 // Puedes agregar más oraciones aquí 
] 
// Definir las respuestas correctas 
let respuestas = [ 
 "went", 
 "received", 
 "had", 
 // Asegúrate de que las respuestas estén en el mismo orden que las oraciones 
] 
// Obtener una oración aleatoria 
let indice = Int.random(in: 0..<oraciones.count) 
let oracion = oraciones[indice] 
let respuestaCorrecta = respuestas[indice] 
// Solicitar la respuesta al estudiante 
print("Completa la siguiente oración:") 
print(oracion) 
if let respuestaEstudiante = readLine() { 
 let respuestaFormateada = respuestaEstudiante.trimmingCharacters(in: 
.whitespacesAndNewlines) 
 // Verificar la respuesta del estudiante 
 if respuestaFormateada.lowercased() == respuestaCorrecta { 
 print("¡Correcto!") 
Proyecto de Róbotica Educativa Pág. 
 
42 
 
 } else { 
 print("Incorrecto. La respuesta correcta es: \(respuestaCorrecta)") 
 } 
} else { 
 print("Entrada inválida.") 
} 
Tal y como se ha comentado antes, es una programa que muestra una oración en inglés 
con un espacio en blanco y se le pide al estudiante que escriba la palabra correcta para 
que pueda completar la oración. 
A continuación el programa revisa si la palabra puesta es correcta y le da una 
retroalimentación en consecuencia. Lo bueno de este código es que se le puede agregar 
más oraciones y respuestas al programa para ampliar los conocimientos de la gramática 
inglesas. Se puede personalizar el programa añadiendo por ejemplo funcionalidades, 
como es el caso de pistas o explicaciones de gramática para que se le sea más fácil 
aprender gramática y lograr los objetivos del aprendizaje del Inglés. 
En conclusión, enseñar inglés de bachillerato utilizando Swift[1] puede ser un desafío, pero 
es posible utilizando herramientas en línea, ejercicios prácticos y proyectos en equipo. Al 
proporcionar a tus estudiantes experiencias prácticas utilizando el inglés técnico, podrás 
ayudarles a desarrollar habilidades valiosas en inglés y programación. 
 
 
 
 
 
 
 
 
 
 
Proyecto de Róbotica Educativa Pág. 
 
43 
 
E. Etapa Educación Post Obligatoria Matemáticas Aplicadas a las ciencias 
Sociales I y II, puede parecer un desafío utilizar Swift[1] , ya que las 
matemáticas y las ciencias sociales a menudo se perciben como disciplinas 
separadas. Sin embargo, el uso de la tecnología y la programación puede 
ayudar a conectar estas áreas haciendo que las matemáticas sean más 
accesibles y relevantes para los estudiantes de ciencias sociales. 
1. Utiliza ejemplos relevantes para las ciencias sociales: Es importante que los ejemplos y 
ejercicios que utilices en tus lecciones sean relevantes para los estudiantes de ciencias 
sociales. Puedes utilizar ejemplos que involucren estadísticas, encuestas, análisis de 
datos, etc. 
2. Enseña estadística descriptiva: La estadística descriptiva es una herramienta 
fundamental para el análisis de datos en ciencias sociales. Puedes enseñar a los 
estudiantes cómo utilizar Swift[1] para calcular medidas de tendencia central, dispersión y 
otros indicadores estadísticos. 
3. Crea visualizaciones de datos: Las visualizaciones de datos pueden ayudar a los 
estudiantes a comprender mejor los patrones y tendencias en los datos. Puedes 
enseñarles cómo utilizar Swift[1] para crear gráficos de barras, gráficos de líneas y otros 
tipos de visualizaciones. 
4. Utiliza proyectos en equipo: Los proyectos en equipo pueden ayudar a los estudiantes a 
aplicar las matemáticas y la programación en un contexto práctico. Puedes asignar 
proyectos que involucren recopilar y analizar datos, diseñar encuestas y presentar 
hallazgos en una visualización. 
Aquí se muestra un ejemplo de cómo podrías enseñar matemáticas aplicadas a las 
ciencias sociales utilizando Swift[1]: 
Supongamos que deseamos calcular la media y la mediana de un conjunto de datos de 
ingresos anuales de una muestra de personas. Podemos hacerlo utilizando el siguiente 
código: 
 
 
 
 
 
Proyecto de Róbotica Educativa Pág. 
 
44 
 
``` 
// Definimos los datos de ingresos anuales 
let ingresos = [20000, 30000, 35000, 40000, 50000, 60000, 70000, 80000, 90000, 100000] 
// Calculamos la media de los ingresos 
let media = ingresos.reduce(0, +) / ingresos.count 
// Calculamos la mediana de los ingresos 
let sortedIngresos = ingresos.sorted() 
let mediana = sortedIngresos[sortedIngresos.count / 2] 
// Mostramos el resultado 
print("La media de los ingresos anuales es \(media)") 
print("La mediana de los ingresos anuales es \(mediana)") 
``` 
Este ejemplo de código define el conjunto de datos de ingresos anuales utilizando un 
arreglo, calcula la media y la mediana utilizando las funciones `reduce()` y `sorted()`, y 
luego muestra los resultados utilizando la función `print()`. 
Se puede utilizar este ejemplo para enseñar a los estudiantes cómo calcular medidas de 
tendencia central en inglés, o incluso pedirles que modifiquen el código para calcular otras 
estadísticas descriptivas. 
Otro ejemplo a exponer seria el de un código donde el estudiante le permita realizar 
operaciones básicas y calcular algunos cálculos de indicadores estadísticos:import Foundation 
// Función para calcular el promedio de un conjunto de números 
func calcularPromedio(numeros: [Double]) -> Double { 
 let suma = numeros.reduce(0, +) 
 return suma / Double(numeros.count) 
} 
// Función para calcular la desviación estándar de un conjunto de números 
func calcularDesviacionEstandar(numeros: [Double]) -> Double { 
 let promedio = calcularPromedio(numeros: numeros) 
 let sumaCuadrados = numeros.reduce(0) { $0 + pow($1 - promedio, 2) } 
 let varianza = sumaCuadrados / Double(numeros.count) 
 return sqrt(varianza) 
} 
Proyecto de Róbotica Educativa Pág. 
 
45 
 
// Función principal 
func main() { 
 print("Bienvenido al programa de Matemáticas para Ciencias Sociales de 
Bachillerato") 
 var numeros: [Double] = [] 
 while true { 
 print("1. Agregar número") 
 print("2. Calcular promedio") 
 print("3. Calcular desviación estándar") 
 print("4. Salir") 
 if let opcion = readLine(), let seleccion = Int(opcion) { 
 switch seleccion { 
 case 1: 
 print("Ingrese un número:") 
 if let numeroString = readLine(), let numero = 
Double(numeroString) { 
 numeros.append(numero) 
 } else { 
 print("Número inválido. Inténtelo nuevamente.") 
 } 
 case 2: 
 let promedio = calcularPromedio(numeros: numeros) 
 print("El promedio es: \(promedio)") 
 case 3: 
 let desviacionEstandar = calcularDesviacionEstandar(numeros: 
numeros) 
 print("La desviación estándar es: \(desviacionEstandar)") 
 case 4: 
 print("¡Hasta luego!") 
 return 
 default: 
 print("Opción inválida. Inténtelo nuevamente.") 
 } 
 } else { 
 print("Opción inválida. Inténtelo nuevamente.") 
 } 
 print("---------------------") 
Proyecto de Róbotica Educativa Pág. 
 
46 
 
 } 
} 
// Ejecutar el programa 
main() 
Tal y como se ha comentado anteriormente, el código utiliza funciones para calcular el 
promedio y la desviación estándar de un conjunto de números ingresados por el 
estudiante. Además, ofrece un menú interactivo que permite añadir números, calcular el 
promedio, calcular la desviación estándar y finalmente salir del programa. 
Y acabamos esta parte explicando el último ejemplo de como les ayudaría aprender 
conceptos básicos de geometría como es el caso de calcular áreas de un triángulo o un 
cuadrado y además el perímetro de un cuadrado: 
 
import Foundation 
// Función para calcular el área de un triángulo 
func calcularAreaTriangulo(base: Double, altura: Double) -> Double { 
 return (base * altura) / 2 
} 
// Función para calcular el área de un cuadrado 
func calcularAreaCuadrado(lado: Double) -> Double { 
 return lado * lado 
} 
// Función para calcular el perímetro de un cuadrado 
func calcularPerimetroCuadrado(lado: Double) -> Double { 
 return 4 * lado 
} 
// Función principal 
func main() { 
 print("Bienvenido al programa de Cálculos de Areas y Perimetros para estudiantes 
de Bachillerato a las Ciencias Sociales ") 
 var opcion: Int = 0 
 while opcion != 4 { 
 print("1. Calcular área de un triángulo") 
 print("2. Calcular área de un cuadrado") 
 print("3. Calcular perímetro de un cuadrado") 
 print("4. Salir") 
 if let opcionString = readLine(), let seleccion = Int(opcionString) { 
Proyecto de Róbotica Educativa Pág. 
 
47 
 
 opcion = seleccion 
 switch opcion { 
 case 1: 
 print("Ingrese la base del triángulo:") 
 if let baseString = readLine(), let base = Double(baseString) { 
 print("Ingrese la altura del triángulo:") 
 if let alturaString = readLine(), let altura = Double(alturaString) { 
 let area = calcularAreaTriangulo(base: base, altura: altura) 
 print("El área del triángulo es: \(area)") 
 } else { 
 print("Altura inválida. Inténtelo nuevamente.") 
 } 
 } else { 
 print("Base inválida. Inténtelo nuevamente.") 
 } 
 case 2: 
 print("Ingrese el lado del cuadrado:") 
 if let ladoString = readLine(), let lado = Double(ladoString) { 
 let area = calcularAreaCuadrado(lado: lado) 
 print("El área del cuadrado es: \(area)") 
 } else { 
 print("Lado inválido. Inténtelo nuevamente.") 
 } 
 case 3: 
 print("Ingrese el lado del cuadrado:") 
 if let ladoString = readLine(), let lado = Double(ladoString) { 
 let perimetro = calcularPerimetroCuadrado(lado: lado) 
 print("El perímetro del cuadrado es: \(perimetro)") 
 } else { 
 print("Lado inválido. Inténtelo nuevamente.") 
 } 
 case 4: 
 print("¡Hasta luego!") 
 default: 
 print("Opción inválida. Inténtelo nuevamente.") 
 } 
 } else { 
Proyecto de Róbotica Educativa Pág. 
 
48 
 
 print("Opción inválida. Inténtelo nuevamente.") 
 } 
 print("---------------------") 
 } 
} 
// Ejecutar el programa 
main() 
Como se ha comentado hace unas líneas, este código permite a los estudiantes 
seleccionar diferentes opciones para calcular el área de un triangulo, el área o el perímetro 
de un cuadrado. Se necesita poner los valores de base, altura y lado para que se puedan 
hacer los cálculos correspondientes. 
En conclusión, enseñar matemáticas aplicadas a las ciencias sociales utilizando Swift[1] 
puede ser un desafío, pero es posible utilizando ejemplos relevantes, estadística 
descriptiva, visualizaciones de datos y proyectos en equipo. Al proporcionar a tus 
estudiantes experiencias prácticas utilizando por ejemplo la inteligencia artificial. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Proyecto de Róbotica Educativa Pág. 
 
49 
 
F. Etapa Educación Post Obligatoria Matemáticas Aplicadas a las ciencias 
Sociales I y II, finalmente para aplicar Swift[1] en la asignatura de Economía, 
puede ser de nuevas, un gran desafío, ya que la economía es una disciplina 
compleja y a menudo se basa en conceptos abstractos. Sin embargo, el uso de 
la tecnología y la programación puede ayudar a hacer que estos conceptos 
sean más accesibles y relevantes para los estudiantes. 
1. Utilizar ejemplos relevantes: Es importante que los ejemplos y ejercicios que se utilicen 
en tus lecciones sean relevantes para los estudiantes de economía. Se pueden utilizar 
ejemplos que involucren conceptos económicos como la oferta y la demanda, la 
elasticidad, el costo de oportunidad, etc. 
2. Enseñar modelos económicos: Los modelos económicos son una herramienta 
fundamental para entender la economía. Se puede enseñar a los estudiantes cómo utilizar 
Swift[1] para crear y simular

Continuar navegando