# data[].attributes.body
La descomposición consiste en descomponer los problemas en partes más pequeñas y manejables, para luego enfocarse en resolver cada uno de estos problemas más pequeños. Podemos descomponer un problema complejo hasta que las partes más pequeñas sean tan simples que sean fáciles de resolver. Las soluciones para cada uno de estos problemas más pequeños y simples se convierten en una solución al gran problema con el que comenzamos. ¡La descomposición ayuda a que los problemas grandes sean mucho menos intimidantes!

La descomposición es una habilidad importante para crear algoritmos y procesos que se puedan implementar en un dispositivo informático, porque los ordenadores necesitan instrucciones muy específicas. Necesitan que les digan cada uno de los pequeños pasos que deben seguir para hacer las cosas.

# data[].attributes.body
CONCEPTO DE ALGORITMO

Un algoritmo es un conjunto finito de instrucciones precisas y no ambiguas que describen un proceso computacional especifico.

CONCEPTO DE DIAGRAMA DE FLUJO

Las decisiones tomadas y el flujo de control entre ellas, los diagramas de flujo son útiles para visualizar la lógica de un algoritmo de manera intuitiva y para comunicar el diseño del proceso a otros.

Evolución de algoritmos

1. Correctitud: El algoritmo debe producir resultados correctos para todas las entradas válidas.

2. Eficiencia: Se evalúa el tiempo y el espacio que requiere el algoritmo para ejecutarse. Se buscan algoritmos que sean eficientes en términos de tiempo de ejecución y uso de memoria.

3. Claridad y simplicidad: Un buen algoritmo debe ser fácil de entender y de implementar.

4. Robustez: El algoritmo debe manejar correctamente diferentes situaciones y tipos de datos, evitando errores o comportamientos inesperados.

5. Escalabilidad: Se evalúa cómo el algoritmo se comporta con entradas cada vez más grandes.

Evolución de diagramas de flujo

Los diagramas de flujo también se evalúan en función de su claridad, precisión y utilidad para representar el proceso o algoritmo.

Deben ser fáciles de entender, con símbolos claramente definidos y un flujo de control lógico y coherente.

Se evalúa si el diagrama de flujo captura adecuadamente todas las etapas del proceso y las decisiones tomadas.

En resumen, tanto los algoritmos como los diagramas de flujo se evalúan en función de su capacidad para representar y resolver un problema de manera clara, precisa y eficiente.

# data[].attributes.wish_content.attachment_props.alternative_text
algoritmo fifo una mirada historica y su evaluacion

# data[].attributes.attachment_link.readable_text
El Algoritmo FIFO, o "First In, First Out," es un concepto fundamental en el mundo de la informática y la gestión de datos. A lo largo de los años, ha evolucionado y se ha adaptado a diversas aplicaciones en una amplia gama de industrias. En este artículo, exploraremos en profundidad la historia y evolución de este algoritmo, desde sus humildes comienzos hasta su importancia actual en la tecnología y la logística. Descubriremos cómo ha influido en la toma de decisiones y la organización de datos, y cómo sigue siendo relevante en la era digital.

Algoritmo FIFO

El Algoritmo FIFO, o Algoritmo "Primero en Entrar, Primero en Salir," es una técnica de organización de datos que sigue el principio de que los primeros elementos ingresados en un conjunto son los primeros en ser eliminados o procesados. Esta estrategia se ha utilizado históricamente en una variedad de campos y ha demostrado ser esencial para garantizar la coherencia y la eficiencia en diversas aplicaciones.
¿Cómo funciona el Algoritmo FIFO?
Cuando se aplica el Algoritmo FIFO, los datos o elementos se almacenan en una cola. El primer elemento que ingresa a la cola es el primero en ser procesado o eliminado. Esta metodología es especialmente valiosa en situaciones donde la secuencia de llegada es crítica o cuando se requiere una gestión justa y transparente de recursos.
La Historia del Algoritmo FIFO
El concepto de FIFO se remonta a las primeras computadoras y sistemas de procesamiento de datos. Aunque su aplicación ha evolucionado con el tiempo, sus raíces se encuentran en la necesidad de gestionar datos de manera ordenada y eficiente. Desde sus inicios, el Algoritmo FIFO ha sido una herramienta esencial en la resolución de problemas de programación y procesamiento de información.

Evolución del Algoritmo FIFO
De las Computadoras a la Logística: La Adaptación del Algoritmo FIFO
El Algoritmo FIFO ha experimentado una notable evolución a lo largo de las décadas. Inicialmente, se utilizaba principalmente en el ámbito de la informática para gestionar tareas y procesos. Sin embargo, con el tiempo, su versatilidad se hizo evidente, y comenzó a aplicarse en una variedad de campos, incluyendo la logística y la gestión de inventarios.
Algoritmo FIFO en la Logística
En la gestión de inventarios y la logística, desempeña un papel crucial. Garantiza que los productos o elementos más antiguos se vendan o utilicen antes que los nuevos. Esto es especialmente importante en industrias donde la frescura o la caducidad de los productos son factores críticos, como la industria alimentaria y farmacéutica.
Algoritmo FIFO en la Tecnología Moderna
Con el auge de la tecnología de la información, el Algoritmo FIFO ha encontrado nuevas aplicaciones. En la gestión de bases de datos y la administración de memoria de computadoras, sigue siendo una estrategia vital. Asegura que los datos se procesen de manera coherente y justa, lo que es esencial en sistemas de múltiples usuarios y servidores.
Impacto en la Toma de Decisiones
El Algoritmo FIFO también ha influido en la toma de decisiones en diversos campos. Su capacidad para garantizar la imparcialidad en la asignación de recursos ha sido fundamental en situaciones donde la equidad es esencial. Esto incluye la planificación de proyectos, la gestión de turnos y la distribución de recursos limitados.
El Algoritmo FIFO en la Era Digital
En la actualidad, en la era de la información y la digitalización, el Algoritmo FIFO sigue siendo relevante. La gestión de datos masivos, la optimización de procesos y la organización de información se benefician de esta metodología probada. Además, su influencia en la toma de decisiones éticas y justas se ha vuelto aún más importante.

Algoritmo FIFO en la Práctica
Ejemplos de Aplicaciones del Algoritmo FIFO
El Algoritmo FIFO se puede encontrar en una amplia gama de situaciones cotidianas. Algunos ejemplos incluyen:

Colas en Supermercados: En las cajas de supermercados, los clientes que llegan primero son los primeros en ser atendidos, siguiendo el principio FIFO.

Gestión de Correo Electrónico: En tu bandeja de entrada de correo electrónico, los mensajes se organizan en función de cuándo se recibieron, lo que sigue el principio FIFO.

Procesos en Computadoras: En sistemas operativos, el Algoritmo FIFO se utiliza para administrar los procesos y garantizar una asignación justa de recursos.

Preguntas Frecuentes

1. ¿Cuándo se originó el Algoritmo FIFO?

El Algoritmo FIFO (First In, First Out), que se traduce como "Primero en entrar, primero en salir", se originó en los primeros tiempos de la computación. Durante los primeros días de la informática, cuando los sistemas eran más básicos y la necesidad de procesar datos en un orden específico era esencial, este algoritmo empezó a cobrar relevancia. Se ha utilizado desde mediados del siglo XX y ha sido un pilar en la gestión de colas y recursos, tanto en sistemas informáticos como en otras aplicaciones prácticas.

2. ¿En qué industrias se aplica el Algoritmo FIFO?

Se ha convertido en una herramienta fundamental para una variedad de industrias. En el ámbito de la logística, se utiliza para coordinar la entrega y despacho de productos. En la gestión de inventarios, permite asegurar que los productos almacenados durante más tiempo sean despachados o vendidos primero. Por otro lado, en la informática, el FIFO se aplica en estructuras de datos, como las colas, para gestionar procesos y tareas en función del orden en que llegaron. Asimismo, en el mundo de la tecnología de la información, se emplea para el manejo eficiente de la transmisión de datos y la administración de buffers.

3. ¿Por qué es importante el Algoritmo en la gestión de inventarios?

El Algoritmo FIFO juega un papel crucial en la gestión de inventarios, especialmente en las industrias donde los productos tienen un periodo de vida útil determinado. Al asegurar que los productos más antiguos se vendan o se utilicen antes que los recién llegados, se minimiza el riesgo de que los productos se vuelvan obsoletos o perezcan en el almacenamiento. Esto es especialmente vital para productos como alimentos, medicamentos y otros bienes que tienen fechas de caducidad. Además, el uso de FIFO puede llevar a una representación contable más precisa del costo de los bienes vendidos.

4. ¿Cómo se utiliza el Algoritmo FIFO en la toma de decisiones?

El Algoritmo FIFO se integra en la toma de decisiones en varios contextos para garantizar una distribución y asignación equitativa de recursos. Cuando se trata de procesar solicitudes, atender clientes o manejar tareas en un orden específico, el FIFO asegura que se atiendan primero las solicitudes o tareas que llegaron antes. Esto es esencial en escenarios donde la equidad y el orden de llegada son cruciales para mantener la integridad y la eficiencia del sistema.

5. ¿Cómo ha evolucionado el Algoritmo FIFO con la tecnología moderna?

Con los avances en digitalización y tecnología de la información, ha encontrado nuevas aplicaciones y ha experimentado adaptaciones. En la actualidad, su aplicación no se limita solo a sistemas físicos, sino que también se ha integrado en sistemas virtuales y cloud. Por ejemplo, en la gestión de bases de datos modernas, el FIFO puede ayudar a organizar y recuperar datos de manera eficiente. Además, en el ámbito de la administración de recursos en sistemas operativos y servidores, el FIFO garantiza que los recursos se asignen de manera justa y coherente.

6. ¿Cuál es la importancia actual del Algoritmo FIFO?

En la era digital actual, mantiene su relevancia y se ha consolidado como una herramienta esencial en diversas aplicaciones. Ya sea en la gestión de datos, en el manejo de tareas en sistemas multitarea o en la asignación de recursos en sistemas distribuidos, el FIFO garantiza un flujo ordenado y equitativo. Así, se asegura una organización coherente de datos, se minimiza la latencia y se garantiza la toma de decisiones justas y equilibradas en diversos escenarios.

Conclusión

En resumen, el Algoritmo FIFO, o "Primero en Entrar, Primero en Salir," ha recorrido un largo camino desde sus inicios en la informática temprana. Su capacidad para garantizar una gestión justa y eficiente de datos y recursos lo ha convertido en una herramienta invaluable en una amplia variedad de industrias y aplicaciones. Desde la logística hasta la toma de decisiones éticas, el Algoritmo FIFO sigue siendo relevante en la era digital actual. Su evolución a lo largo de los años es un testimonio de su importancia continua en la organización y gestión de información y recursos.

Invitamos a nuestros lectores a compartir este artículo para que otros también puedan explorar la historia y evolución de FIFO y su impacto en nuestro mundo moderno. El Algoritmo FIFO, con su enfoque en la justicia y la eficiencia, continúa influyendo en la forma en que organizamos y gestionamos datos y recursos en la actualidad.

# data[].attributes.attachment_link.title
Algoritmo FIFO: Una mirada histórica y su evolución

# data[].attributes.attachment_link.description
Explora la historia y evolución del Algoritmo FIFO en este artículo. Descubre cómo ha impactado en diversos campos y su importancia actual.

# data[].attributes.body
En palabras de la propia Wing «el pensamiento computacional implica resolver problemas, diseñar sistemas y comprender el comportamiento humano, haciendo uso de los conceptos fundamentales de la informática». Es decir, que la esencia del pensamiento computacional es pensar como lo haría un científico informático cuando nos enfrentamos a un problema.

Otras definiciones de pensamiento computacional han ido surgiendo en la literatura científica desde entonces. Entre las más aceptadas se encuentran la de Aho y la de la Royal Society:

El pensamiento computacional es el proceso que permite formular problemas de forma que sus soluciones pueden ser representadas como secuencias de instrucciones y algoritmos.

# data[].attributes.attachment_link.title
Microaprendizaje: ¿Qué es el pensamiento computacional?

# data[].attributes.headline
CARACTERÍSTICAS DEL PENSAMIENTO COMPUTACIONAL 

# data[].attributes.subject
CARACTERÍSTICAS DEL PENSAMIENTO COMPUTACIONAL 

# data[].attributes.body
Considera múltiples perspectivas u opciones antes de tomar una decisión.

Es un método útil para la resolución de problemas complejos.

Toma en cuenta hechos y fenómenos palpables, concretos y cuantificables.

Las ideas son puestas a prueba, además piensa en el impacto que podrá tener. Todo esto para dar con la mejor solución posible tras un proceso de análisis.

La persona con este método tiene una visión lógica del mundo.

El argumento es coherente y real, no fantasioso.

Las ideas van al grano y sin generalizaciones.

# data[].attributes.headline
VENTAJAS DEL PENSAMIENTO COMPUTACIONAL 😃

# data[].attributes.subject
VENTAJAS DEL PENSAMIENTO COMPUTACIONAL 😃

# data[].attributes.body
1. Generación de ideas: Habilidad para experimentar y probar nuevas propuestas, lo que fomenta la creatividad y el pensamiento crítico.

2. Toma de decisiones: Habilidad para analizar información y tomar decisiones informadas basadas en datos y evidencia.

3. Análisis de datos: Habilidad para comprender y procesar información, lo que permite una mejor toma de decisiones.

4. Aplicación en otras materias: Habilidad para utilizar el pensamiento computacional en diferentes disciplinas, como matemáticas, ciencias y humanidades.

5. Mejora en conceptos matemáticos y científicos: Habilidad para entender de manera más profunda y efectiva estos temas gracias al pensamiento computacional.

6. Descomposición de problemas: Habilidad para dividir problemas complejos en partes más simples, facilitando su resolución. Por ejemplo, al resolver un rompecabezas, se analiza cada pieza individualmente antes de ensamblarlas.

7. Identificación de patrones: Habilidad para encontrar similitudes y soluciones innovadoras en distintas situaciones. Así, se pueden aplicar soluciones exitosas de un problema a otro similar.

8. Soluciones personalizadas: Habilidad para crear respuestas únicas y adaptadas a las necesidades específicas de cada situación.

# data[].attributes.body
1. Pérdida de habilidades sin tecnología: Posibilidad de debilitar la capacidad para resolver problemas sin el apoyo de herramientas tecnológicas.

2. Dependencia tecnológica: Riesgos asociados a confiar en la tecnología en situaciones críticas, como en emergencias, donde puede fallar.

3. Soluciones automatizadas: Riesgo de recurrir excesivamente a respuestas predefinidas, lo que puede limitar la creatividad y adaptabilidad.

4. Menor generación de soluciones únicas: Riesgo de perder la habilidad para crear soluciones personalizadas, al depender de algoritmos y procesos estandarizados.

5. Sesgos en algoritmos: Posibilidad de que los algoritmos contengan sesgos inconscientes o prejuicios, lo que puede afectar negativamente la toma de decisiones.

6. Perpetuación del sesgo: Riesgo de amplificar y extender el sesgo presente en los algoritmos a través de la automatización de procesos y decisiones.

# data[].attributes.attachment_link.title
Pensamiento Computacional - Sesión 2  -  Descomposición (ESPAÑOL)

# data[].attributes.body
a. Elegir un tema o idea central.
b. Diseñar el tablero, las fichas y las cartas.
c. Establecer las reglas del juego.
d. Crear las mecánicas de juego (cómo se mueven las fichas, cómo se usan las cartas, etc.).
e. Probar el juego y ajustar si es necesario.
f. Compartir y disfrutar con amistades o familiares.

Ahora, en equipos, intentamos descomponer otros problemas como:

1. Organizar una habitación.

2. Preparar la mochila para el colegio.

3. Hacer la cama.

4. Plantar un jardín.

Luego, nos reunimos para compartir y discutir las propuestas.

# data[].attributes.body
son herramientas clave en la programación y el diseño de sistema. Un algoritmo es una secuencia de pasos lógicos para resolver problemas, mientras que un diagrama de flujo es una representación gráfica de esos pasos, facilitando la comprensión y la comunicación del proceso.

ELEMENTOS BASICOS DE UN DIAGRAMA

Inicio/Fin: representación por un ovalo.

Proceso: representando por un rectángulo.

Decisión: representada por un rombo, indicando una bifurcación en el flujo basada en una condición.

Conector: utilizado para conectar diferentes partes de diagrama.

Flechas: indican la dirección del flujo de control.

CREACION DE ALGORITMO Y DIAGRAMA DE FLUJO

Comienza identificando el problema que deseas resolver.

Descompón el problema en pasos más pequeñas y lógicos.

expresa estos pasos en forma de algoritmo, utilizando pseudocódigo o lenguaje natural.

Luego, representa estos pasos en un diagrama del flujo, utilizando los símbolos estándar y conectándolos de manera adecuada para mostrar el flujo de control del proceso.

# data[].attributes.attachment_link.title
5 herramientas para potenciar el Pensamiento computacional - Forward Teacher

# data[].attributes.attachment_link.description
Hace unas semanas compartí las ventajas del pensamiento computacional cuando lo integramos en el aula. En esta serie te presento algunas herramientas tecnológicas para utilizar...

# data[].attributes.body
La generalización también se conoce como "reconocimiento y generalización de patrones". La generalización consiste en tomar una solución (o parte de una solución) a un problema y generalizarla para que se pueda aplicar a otros problemas y tareas similares. Dado que las soluciones en informática son algoritmos, esto significa que debemos tomar un algoritmo y hacerlo lo suficientemente general de manera que se pueda usar para una variedad de problemas. Este proceso implica la abstracción, ya que para hacer algo más general, tenemos que eliminar detalles innecesarios que están relacionados con un problema o una situación específica, pero no son importantes para el funcionamiento del algoritmo.

# data[].attributes.body
El pensamiento es un enfoque mental y estratégico para resolver problemas complejos mediante la aplicación de conceptos y técnicas fundamentales de la informática. Se basa en la habilidad para descomponer problemas en componentes más pequeños, identificar patrones y abstracciones, y diseñar algoritmos eficientes para resolverlos. Implica la capacidad de pensar de manera lógica y sistemática, así como de formular y evaluar soluciones utilizando herramientas y modelos computacionales.

# data[].attributes.body
1. Usamos la abstracción a menudo en nuestra vida cotidiana, por ejemplo, cuando usamos mapas. Los mapas nos muestran una versión simplificada del mundo al omitir detalles innecesarios, como dónde se encuentra cada árbol en un parque y solo conservan la información más relevante que el lector del mapa necesitará, como carreteras y nombres de calles.

2. Cuando creamos un algoritmo para resolver un problema, lo llamamos una solución algorítmica. Los algoritmos computacionales (del tipo que se puede ejecutar en dispositivos digitales) tienen relativamente pocos ingredientes porque los dispositivos digitales solo tienen unos pocos tipos de instrucciones que pueden seguir; las principales cosas que pueden hacer son recibir entrada, proporcionar salida, almacenar valores, seguir instrucciones en una secuencia, elegir entre opciones y repetir instrucciones en un bucle. A pesar de lo limitada que es esta gama de instrucciones, hemos descrito todo lo que los dispositivos digitales pueden computar y esta es la razón por la que los algoritmos están restringidos a estos elementos.

# data[].attributes.body
Diagrams: Esta aplicación gratuita y de código abierto ayuda a crear una gran variedad de diagramas en Windows, Linux y macOS, agregando imágenes, configurando los textos y eligiendo el tipo de fuente, etc.

Edraw: Disponible para Windows, Mac y Linux, proporciona más de 50.000 gráficos vectoriales integrados y numerosas plantillas para comenzar a trabajar.

Thinkcomposer:Enfocada a aquellos que ya tengan un manejo en este tipo de aplicaciones, permite crear diagramas de flujo de clase, árboles genealógicos, líneas de tiempo y diagramas de casos de uso, entre otros.

# data[].attributes.headline
EJERCICIOS Y EJEMPLOS DEL PENSAMIENTO COMPUTACIONAL 👍

# data[].attributes.subject
EJERCICIOS Y EJEMPLOS DEL PENSAMIENTO COMPUTACIONAL 👍

# data[].attributes.attachment_link.title
Ejemplos de ejercicios para practicar el pensamiento computacional en 5-6 primaria y 1-2 ESO.

# data[].attributes.attachment_link.description
Algunas de las áreas más importantes del pensamiento computacional son: Noción algorítmica de “control de flujo”. Pensamiento iterativo y paralelo.

# data[].attributes.body
Scratch y Blockly son dos plataformas populares que utilizan la programación de bloques:

1. Scratch: Desarrollado por el MIT, Scratch es una plataforma de programación visual en línea que permite a los usuarios crear historias interactivas, animaciones y juegos. Utiliza una interfaz de bloques coloridos que representan diferentes acciones y eventos. Scratch es especialmente popular en entornos educativos y se utiliza para enseñar conceptos básicos de programación y narración digital a niños y adolescentes.

2. Blockly: Blockly es una biblioteca de código abierto desarrollada por Google que permite a los desarrolladores crear editores de programación visual. Se utiliza en una variedad de aplicaciones y entornos, incluidos Google's Blockly, Code.org's App Lab y MIT's App Inventor. Blockly ofrece una interfaz flexible y personalizable que puede adaptarse a una amplia gama de proyectos y niveles de habilidad.

Otros ejemplos de plataformas que utilizan la programación de bloques incluyen:

App Inventor: Desarrollado por Google y actualmente mantenido por el MIT, App Inventor permite a los usuarios crear aplicaciones móviles para dispositivos Android utilizando una interfaz de programación visual basada en bloques.

Tynker: Tynker es una plataforma de aprendizaje de codificación que utiliza la programación de bloques para enseñar a niños y adolescentes cómo programar a través de cursos interactivos, tutoriales y proyectos creativos.

Estas plataformas ofrecen entornos amigables y visualmente atractivos que facilitan la introducción de conceptos de programación y fomentan la creatividad y la resolución de problemas.

# data[].attributes.attachment_link.readable_text
Si quieres programar un sitio web que reaccione a las entradas de los usuarios, no te quedará otra que lidiar con lenguajes de programación. Incluso si desarrollas una aplicación, en general deberás trabajar con un lenguaje de programación de alto nivel. Aunque hoy en día existen recursos adecuados para aprender a utilizar Python, JavaScript y otros, interiorizar los comandos y rutinas complejas supone un esfuerzo considerable. Además, cuando lo único que quieres es dar tus primeros pasos con la programación o solo necesitas unas directivas concretas, muchas veces los recursos son excesivos.

Aquí es donde Blockly demuestra su utilidad: Blockly es un proyecto de Google que muestra largos fragmentos de código basado en texto en bloques visuales. Estos bloques se pueden unir arrastrando y soltando. De este modo, se puede crear una sintaxis compleja de forma rápida y sencilla. Blockly es una biblioteca que proporciona un editor de código visual, por lo que la sintaxis de los programas creados de esta manera permanece en segundo plano. Blockly permite crear secuencias complejas de manera fácil, sin necesidad de saber qué comando se necesita exactamente en cada lenguaje de programación.

¿Para qué se puede usar Blockly?

Se puede usar Blockly por un gran número de razones. Por ejemplo, si quieres crear un sitio web que responda a los usuarios, pero no tienes grandes conocimientos de programación, puedes utilizar esta biblioteca. Sin embargo, también los desarrolladores de software más avezados pueden utilizar este editor de código visual para crear programas pequeños rápidamente.

Además, su planteamiento lúdico permite comprender las relaciones rápidamente al programar. Es más fácil entender la frase "repetir 5 veces" que "for int i = 0, i < 5, i++;", aunque ambas quieran decir lo mismo. Por esto, Blockly se utiliza a menudo en entornos pedagógicos. Blockly es una buena elección para los niños que deseen programar su primer software. La representación visual de los fragmentos de código permite obtener resultados sorprendentes de forma rápida y sencilla.

Su interfaz visual hace que el código sea claro y fácil de entender. Como las piezas de un rompecabezas, los bloques se van encajando entre ellos y se pueden convertir a código. Aunque Blockly es una biblioteca de JavaScript, permite producir código fuente en diferentes lenguajes de manera predeterminada, entre los que se incluyen JavaScript, Python, PHP, Lua, Dart y XML. El editor se puede utilizar con facilidad en un navegador.

La programación visual ha dejado de ser algo nuevo. De hecho, muchos proveedores ya la utilizan para crear páginas web. Estos programas de construcción de páginas web, fáciles de usar, como el que nos ocupa, tienen una interfaz simple e intuitiva. El código escrito se mantiene completamente en segundo plano, de modo que incluso los inexpertos pueden obtener increíbles resultados.

Blockly es muy similar a Scratch. Sin embargo, mientras que Blockly está más orientado a los desarrolladores profesionales en un contexto empresarial, Scratch fue concebido ante todo como medio pedagógico.

¿Qué funciones se pueden utilizar con Blockly?

En el editor visual de código de Blockly se ofrecen ocho categorías con diferentes funciones:

Lógica describe acciones.

Bucles son estructuras de control y se repiten hasta que se produce una determinada acción.

Matemáticas sirve para realizar varias operaciones aritméticas y generar números aleatorios.

Texto puede acceder a entradas y generar salidas individuales.

Listas es una función para generar listas en combinación con bloques de texto o de matemáticas.

Color sirve para aplicar color al texto o al fondo.

Variables es para cálculos o funciones.

Funciones describe el comportamiento de la página cuando se detecta una entrada determinada.

Los bloques permiten diferentes posibilidades de combinación. Los bucles y las funciones pueden combinarse con la lógica y las variables. La lógica y las variables, a su vez, pueden combinarse con las matemáticas, el texto, las listas y el color. Con solo estas combinaciones, pueden cubrirse muchos de los fundamentos de los diversos lenguajes de programación.

Ejemplo de Blockly

Aprender a trabajar con Blockly es muy sencillo: se abre una categoría y se arrastra el bloque de código deseado con el ratón al espacio de trabajo. Allí puedes ajustar los bloques individuales y vincularlos a otros. Si una combinación no es posible, el bloque no encajará y no se incluirá en el código fuente. Cada pieza individual o grupo de bloques del puzle se pueden borrar de nuevo del área de trabajo sin problema. Las líneas correspondientes se eliminarán también del código fuente.

Por ejemplo, si quieres conectar una ventana emergente a un contador, puedes hacerlo así:

Este simple código se puede traducir a diferentes lenguajes de programación. En JavaScript, el código fuente tendría este aspecto:

var int; Int = 1; while (int <= 3) { window.alert('Hello, World!'); Int = int + 1; }

Por supuesto, esto no es más que un ejemplo muy primitivo de código. Sin embargo, enseñar a decir al ordenador "¡Hola, mundo!" es siempre la primera lección al aprender un lenguaje de programación.

¿En qué áreas se utiliza Blockly?

Mientras que la aplicación está dirigida, sobre todo, a estudiantes y personas que acaban de empezar a programar, la biblioteca en sí está orientada a desarrolladores: con muy poco esfuerzo, estos pueden crear sus propios bloques de funciones y lógica para convertir la biblioteca en una aplicación autónoma.

Si quieres desarrollar tus propios bloques dentro de Blockly, tienes dos opciones: por un lado, dispones de la API de JavaScript, que se utiliza principalmente para aplicaciones web. Por otro lado, hay una interfaz JSON que también funciona con Android y iOS. Sin embargo, en el formato JSON solo se pueden elegir los bloques más utilizados. Se puede consultar una documentación muy extensa en GitHub. Asimismo, Google ofrece unas directivas detalladas para el uso y el desarrollo de Blockly.

YouTube, Stack Overflow y GitHub contienen innumerables tutoriales y documentación sobre cómo utilizar la biblioteca de forma eficaz. Entre sus muchas posibilidades, se pueden programar varios interruptores y receptores para controlar los hogares inteligentes. Como el programa permite conectar varios lenguajes, tu imaginación no tendrá límite.

En resumen: una buena alternativa a los lenguajes de programación complejos

Para los principiantes, es especialmente atractivo el hecho de que el programa escribe siempre con la sintaxis correcta y nunca olvida un punto y coma o unas comillas. Su modo de empleo, tan lúdico, facilita el trabajo en los proyectos, incluso como principiante, y así ganar experiencia. Con él aprenderás rápidamente las posibilidades del lenguaje y podrás diseñar instintivamente prototipos y maquetas.

Blockly no deja de ser simple, pero puede agilizar considerablemente el flujo de trabajo. Su biblioteca se puede integrar con facilidad en los proyectos existentes, y facilita aún más el desarrollo de proyectos grandes. Sin embargo, es importante familiarizarse con las funciones. El código fuente creado con Blockly se puede incorporar a un gran número de proyectos, gracias al gran número de lenguajes con los que es compatible. Por ello, esta solución de código abierto es una herramienta útil para mucha gente, además de los estudiantes.

REDPIXEL.PL Shutterstock

Lenguajes de programación web: los más usados en Internet

¿Te gustaría conocer los lenguajes de programación web? El primer reto es elegir uno. Después de todo, existen cientos de lenguajes de programación, pero no todos ellos son apropiados para el desarrollo web. Para que te sea un poco más fácil decidirte y puedas comenzar con tu proyecto cuanto antes, te contamos un poco más sobre los lenguajes de programación web más populares.
Lenguajes de programación web: los más usados en Internet

Programación funcional: ideal para algoritmos

La programación funcional desempeña un papel clave hoy en día, como ha hecho a lo largo de sus más de 60 años de historia después de su primer uso en el intérprete LISP. Como rama de la programación declarativa ("¿Qué debe lograr el programa?"), su punto fuerte reside en el procesamiento de tareas matemáticas, especialmente algoritmos. Aquí presentamos sus ventajas y desventajas decisivas, así...
Programación funcional: ideal para algoritmos

whiteMocca Shutterstock

Paradigmas de programación: principios básicos de programación

Los dos paradigmas de programación elementales, el imperativo y el declarativo, son los dos estilos de programación fundamentales. No se trata, por tanto, de "estilos de programación" de programadores individuales, sino de enfoques técnicos diferentes a la hora de escribir programas. En este artículo presentamos los paradigmas de software y sus subtipos.
Paradigmas de programación: principios básicos de programación

FlashMovie Shutterstock

Programación para niños: aprenden mientras se divierten

La programación puede ser una tarea muy entretenida para niños si se adapta a ellos. Los lenguajes de programación para niños son visuales, usan procesos intuitivos y proyectos estimulantes facilitando el aprendizaje y ampliando conocimientos a medida que la dificultad del juego aumenta. De esta manera, pueden desarrollar habilidades informáticas desde muy pequeños al tiempo que se divierten.
Programación para niños: aprenden mientras se divierten

REDPIXEL.PL Shutterstock

Lenguajes de programación web: los más usados en Internet

Programación funcional: ideal para algoritmos

whiteMocca Shutterstock

Paradigmas de programación: principios básicos de programación

FlashMovie Shutterstock

Programación para niños: aprenden mientras se divierten

# data[].attributes.attachment_link.description
Blockly te permite aprender rápidamente fundamentos de programación y realizar proyectos de forma intuitiva. Aquí te mostramos cómo funciona.

# data[].attributes.body
1. Problema de clasificación de imágenes:

Ejercicio: Clasificar imágenes de perros y gatos utilizando algoritmos de aprendizaje automático como redes neuronales convolucionales.

Ejemplo: Implementar un clasificador de imágenes utilizando TensorFlow o PyTorch y entrenarlo con un conjunto de datos de imágenes de perros y gatos.

2. Análisis de datos:

Ejercicio: Analizar datos de ventas para identificar tendencias y patrones utilizando técnicas de visualización de datos y estadísticas.

Ejemplo: Utilizar bibliotecas como Pandas y Matplotlib en Python para cargar datos de ventas, calcular estadísticas descriptivas y crear gráficos que ayuden a comprender los patrones de ventas.

3. Problema de optimización:

Ejercicio: Encontrar la ruta más corta para entregar paquetes utilizando algoritmos de búsqueda como el algoritmo de Dijkstra.

Ejemplo: Implementar el algoritmo de Dijkstra en un programa Python para encontrar la ruta más corta entre diferentes ubicaciones en un mapa.

4. Desarrollo de videojuegos:

Ejercicio: Diseñar un juego simple utilizando un motor de juegos como Unity o Godot.

Ejemplo: Crear un juego de plataformas donde el personaje principal debe evitar obstáculos y recoger objetos utilizando programación de scripts para controlar el comportamiento del personaje y la física del juego.

5. Automatización de tareas:

Ejercicio: Automatizar la generación de informes utilizando scripting en Python.

Ejemplo: Escribir un script en Python que procese archivos de datos, realice cálculos y genere informes automáticamente, ahorrando tiempo y reduciendo errores humanos.

# data[].attributes.body
Características

Las características principales de los Puntos de Secuencia de Instrucción (PSInt) incluyen:

Identificación de puntos críticos: Los PSInts permiten identificar las secciones del código que tienen un impacto significativo en el rendimiento general del programa.

Optimización del rendimiento: Al comprender los PSInts, los desarrolladores pueden optimizar el código para mejorar el tiempo de ejecución y reducir el uso de recursos.

Análisis detallado: El análisis de los PSInts proporciona una visión detallada del flujo de ejecución del programa, lo que ayuda a los desarrolladores a comprender mejor su comportamiento y a identificar áreas de mejora.

Localización de cuellos de botella: Los PSInts ayudan a identificar los puntos en el código donde se produce un cuello de botella, lo que permite dirigir los esfuerzos de optimización hacia esas áreas críticas.

Mejora del diseño de algoritmos: Comprender los PSInts puede conducir a mejoras en el diseño de algoritmos, lo que resulta en un código más eficiente y escalable.

# data[].attributes.body
un término que se utiliza en el contexto de la arquitectura de computadoras y la optimización de código. En este contexto, un PSInt indica el punto en el que se encuentra una secuencia de instrucciones dentro del flujo de ejecución de un programa. La optimización de PSInt implica mejorar la eficiencia del código al analizar y ajustar la secuencia de instrucciones para minimizar el tiempo de ejecución o el uso de recursos.

El concepto

Se refiere al punto en el flujo de ejecución de un programa donde se encuentra una secuencia de instrucciones específica. En el contexto de la optimización de código, entender y evaluar los PSInts es crucial para identificar oportunidades de mejora en el rendimiento del programa.

La evolución

Los PSInts implica analizar cómo las instrucciones se ejecutan en relación con otros componentes del programa y cómo afectan el rendimiento general. Esto puede implicar el análisis del tiempo de ejecución, el uso de recursos como la memoria y la CPU, así como la identificación de cuellos de botella y áreas de mejora. En resumen, la evaluación de los PSInts ayuda a los desarrolladores a optimizar el rendimiento del código al comprender mejor cómo se ejecutan las instrucciones y dónde se pueden hacer ajustes para mejorar la eficiencia.

# data[].attributes.wish_content.attachment_props.alternative_text
USO DE PSInt informatica algoritmo y diagrama 

# data[].attributes.headline
EJERCICIOS Y EJEMPLO PRACTICOS PARA APLICAR EL PENSAMIENTO COMPUTACIONAL

# data[].attributes.subject
EJERCICIOS Y EJEMPLO PRACTICOS PARA APLICAR EL PENSAMIENTO COMPUTACIONAL

# data[].attributes.body
El pensamiento computacional es una habilidad cognitiva que implica la capacidad de formular problemas de manera que puedan ser resueltos por un sistema informático. Esto incluye descomponer problemas en pasos manejables, identificar patrones y abstraer detalles para crear soluciones eficientes y escalables. Además, implica la capacidad de diseñar algoritmos y estructuras de datos para resolver problemas de manera sistemática y lógica. Es una habilidad fundamental en el mundo digital actual y puede aplicarse en una amplia gama de contextos, desde la programación hasta la resolución de problemas en la vida cotidiana.

# data[].attributes.wish_content.attachment_props.alternative_text
EJERCICIOS Y EJEMPLO PRACTICOS PARA APLICAR EL PENSAMIENTO COMPUTACIONAL

# data[].attributes.attachment_link.title
Ejemplos de pensamiento computacional | Blog UE

# data[].attributes.attachment_link.description
¿Sabes qué es el pensamiento computacional y por qué es importante en el ámbito educativo? Entérate y ponte al día con algunos ejemplos de actividades.

# data[].attributes.body
La programación de bloques es un enfoque para la creación de programas mediante la combinación de bloques gráficos que representan diferentes funciones o instrucciones. Es comúnmente utilizado en la enseñanza de programación a principiantes o en el desarrollo de aplicaciones educativas para niños. Blockly es uno de los entornos más populares para la programación de bloques, utilizado en herramientas como Scratch y App Inventor.

# data[].attributes.attachment_link.readable_text
La programación es cada vez más importante para enfrentar los retos del siglo XXI. Sin embargo, aprender a programar no es una actividad que sólo pueden realizar los adultos. En ese sentido, al saber qué es la programación por bloques y aprender a aplicarla, niños de 5 años a más pueden aprender la lógica de la codificación de forma sencilla y divertida, potenciando en ellos habilidades como el pensamiento computacional, razonamiento lógico, creatividad, e inclusive, desarrollando habilidades artísticas y socioemocionales, y otras competencias tecnológicas para el futuro.

En la siguiente imagen aparece el proyecto final de un grupo de niños de 7 años de nuestro taller: Music with Code. Para este proyecto: New Dance Lab, utilizaron la programación en bloques.

Antes de conocer más sobre este tema, recordemos ¿Qué es programación?

Sabemos que una computadora no tiene un cerebro inteligente como el nuestro; sin embargo, puede realizar cálculos y acciones rápidas y eficaces, casi inteligentes. Todo esto gracias a que previamente se le da instrucciones de todo lo que debe hacer, por medio de programas, es decir, por medio de listas de instrucciones ordenadas, se le indica el paso a paso de qué debe de hacer cuando, por ejemplo, presionamos un botón o damos click a determinado objeto.

Dar instrucciones a una computadora, se le conoce como codificación o programación. Cuando se programa una página web o un programa de escritorio, se ve una cantidad inmensa de códigos poco entendibles para la mayoría. Sin embargo, como en cualquier otro idioma, los lenguajes de programación son más sencillos al aprender la lógica y estructura de las oraciones e instrucciones que se le da al computador.

Antes se creía que aprender un lenguaje de programación era una actividad sólo para adultos y profesionales. En la actualidad sabemos que no es así. Por medio de la programación en bloques niños pequeños de 5 años a más pueden aprender qué es una instrucción o un algoritmo , qué es una secuencia o un programa, y cómo crear sus propios proyectos de programación.

¿Qué es la programación por bloques?

La programación en bloques nos permite aprender la lógica de programación desde niños, mediante el uso de sencillas conexiones en forma de bloques. Cada bloque tiene una instrucción, condición o evento diferente. Para programar el paso a paso de una tarea, se deben de encajar los bloques de forma ordenada y lógica. Al juntarlos encajan como piezas de lego o rompecabezas y se van creando pilas o cadenas secuenciales de bloques, es decir, pequeños programas.

Si buscamos ejemplos de la programación por bloques, podríamos hablar de un fragmento de código de MakeCode Arcade para la creación de videojuegos retro, con el que los personajes se mueven de izquierda a derecha.

¿Cuáles son sus principales características?

La programación por bloques presenta, al igual que la programación formal, elementos como variables, condicionales, bucles, entre otros. Sin embargo, a diferencia de los lenguajes escritos de programación, dichos elementos se representan en bloques de distintos colores. Por ejemplo, se pueden ordenar de manera que el personaje de algún juego realice, en un orden elegido por el programador, acciones como caminar, saltar, etc.

¿Qué es un bloque en programación?

Se conoce como bloque a una sección de código de software que puede contener una o más declaraciones (construcciones de lenguaje que especifican un nombre único para la entidad, así como información sobre su tipo y otras características). Su principal utilidad está en permitir que toda la sección de código contenida por el bloque sea empleada como una sola pieza de código, lo que simplifica mucho la programación.

¿Cuáles son las ventajas de la programación por bloques?

Entre los principales objetivos de la programación por bloques está el que sea muy simple e intuitiva, ya que no requiere de que sepamos escribir código. De esta manera, ayuda a disminuir errores y acelerar el aprendizaje de la programación para niños. Puede ser un buen primer paso antes de pasar a lenguajes más complejos. Nos permite crear animaciones, videojuegos, historias interactivas y arte digital de manera sencilla, creativa y organizada. ¡El límite es la imaginación del usuario!

Recuerda que aprender a programar puede preparar a tu hij@ para los desafíos de la vida y del trabajo del siglo XXI. Hablamos de capacidades como el pensamiento analítico, computacional y sistemático, el razonamiento crítico, y virtudes como la innovación, creatividad, resolución de problemas complejos, resiliencia, y uso y control de tecnología.

¿Cómo aprender la programación por bloques?

La enseñanza de la programación por bloques debe partir de un concepto muy importante: el pensamiento computacional de los niños y niñas. Esto se trata de que los pequeños puedan solucionar problemas a través de premisas de programación informática basadas en el diseño y en la creación de cadenas de instrucciones.

En ese sentido, la programación visual por bloques ayuda a que los niños asimilen de manera sencilla diversos conceptos y funcionalidades, por lo que representa una buena manera de introducirlos en la programación.

Es fundamental aprender a usar la aplicación e ir dominándola con el tiempo, a un ritmo en que los niños se entretengan y motiven con esta actividad sin sentirse frustrados por los errores o las dudas iniciales. Para ello, debemos ayudarles a organizar y estructurar cualquiera de las muchas herramientas que ofrecen la programación por bloques.

¿Qué herramientas utilizan la programación por bloques?

Para incentivar el aprendizaje de la programación, sobre todo en niños, diversas herramientas y plataformas han sido lanzadas a lo largo del tiempo para volver más funcional la programación en bloques. A continuación, te mencionamos algunas de ellas:
Scratch
Esta herramienta es bastante intuitiva y fluida. Permite que los usuarios trabajen con lenguaje de programación en bloques usando piezas que se parecen a las de un rompecabezas.
Scratch Jr.
Se trata de una versión más sencilla y digerible de Scratch diseñada para los niños. Su manera de ofrecer la programación en bloques facilita el entendimiento de usuarios de muy corta edad. Puedes conocer más sobre ella en nuestro curso de Scratch.
Minecraft
Uno de los videojuegos más populares de los últimos años. Este permite a los jugadores trabajar algunos conceptos básicos de programación visual, aunque también, para usuarios un poco más avanzados, ofrece funciones para programar con lenguajes más tradicionales como JavaScript. Tu hij@ puede conocer más sobre esto en nuestro curso de programación con Minecraft.
Arduino
Arduino ofrece dos modalidades de programación para niños: una visual y otra centrada en lenguaje de código escrito. La primera, que funciona con bloques con códigos integrados, es bastante popular en la enseñanza de robótica a niños pequeños.
Google Blockly
Google no se queda ajeno a este rubro educativo y también cuenta con su propia herramienta. Google Blockly se conforma de un conjunto de comandos que pueden ordenarse como piezas de rompecabezas. Es bastante sencillo de utilizar y está enfocados a usuarios pequeños que no necesariamente sepan escribir código.

# data[].attributes.attachment_link.title
¿Qué es la programación por bloques? - Crack The Code

# data[].attributes.attachment_link.description
La programación es cada vez más importante para enfrentar los retos del siglo XXI. Sin embargo, aprender a programar no es una actividad que sólo pueden

# data[].attributes.body
La programación de bloques tiene varias ventajas y desventajas:

Ventajas:

1. Facilidad de aprendizaje: Es ideal para principiantes ya que ofrece una interfaz visual intuitiva que facilita la comprensión de conceptos de programación.

2. Prevención de errores de sintaxis: Al trabajar con bloques predefinidos, se reduce la posibilidad de cometer errores de sintaxis.

3. Creatividad: Permite a los usuarios concentrarse en la lógica y la creatividad sin preocuparse demasiado por la sintaxis del lenguaje de programación.

4. Inclusión: Puede ser utilizado por personas de diferentes edades y habilidades, incluidos niños y personas con discapacidades.

Desventajas:

1. Limitaciones en la complejidad: Puede resultar restrictivo para proyectos más avanzados que requieren una mayor complejidad y flexibilidad que la que ofrecen los bloques predefinidos.

2. Portabilidad limitada: Los proyectos creados en un entorno de programación de bloques a menudo están vinculados a esa plataforma específica y pueden ser difíciles de trasladar a otros entornos.

3. Abstracción excesiva: Para algunos usuarios, la abstracción proporcionada por los bloques puede dificultar la comprensión de los conceptos de programación subyacentes.

4. Rendimiento: En comparación con la programación basada en texto, la ejecución de programas creados con bloques puede ser menos eficiente en términos de rendimiento computacional.

# data[].attributes.attachment_link.title
Estrategias para desarrollar el pensamiento computacional en el aula

# data[].attributes.body
En conclusión podemos decir que El pensamiento computacional es una herramienta poderosa que capacita a las personas para abordar y resolver problemas complejos de manera sistemática y eficiente. Comprender y aplicar sus componentes fundamentales, como la descomposición, el reconocimiento de patrones, la abstracción y el diseño de algoritmos, es esencial para el éxito en el mundo moderno. Fomentar estas habilidades desde una edad temprana prepara a los individuos para enfrentar desafíos futuros con confianza y creatividad, independientemente del campo en el que se encuentren.

Las herramientas y técnicas como los diagramas de flujo, el uso de pseudocódigo y Scratch son fundamentales para desarrollar el pensamiento computacional de manera efectiva. En conjunto, estas herramientas y técnicas no solo simplifican la enseñanza y el aprendizaje de la programación, sino que también preparan a los estudiantes para aplicar el pensamiento computacional en diversas áreas de su vida académica y profesional. Al integrar estas herramientas en la educación, se fomenta una comprensión profunda y práctica de cómo resolver problemas de manera sistemática y eficiente, preparando a los estudiantes para los desafíos del futuro.

# data[].attributes.body
En este presente trabajo queremos dar a conocer un poco mas acerca del pensamiento computacional que es una habilidad esencial en el mundo moderno, caracterizada por la capacidad de resolver problemas de manera lógica y sistemática. Esta habilidad se puede desarrollar a través de diversas herramientas y técnicas que facilitan la comprensión y aplicación de conceptos fundamentales de la informática. En este contexto, los diagramas de flujo, el uso de pseudocódigo (PSLHT) y plataformas de programación visual como Scratch juegan un papel crucial.

# data[].attributes.headline
HERRAMIENTAS PARA UTILIZAR Y POTENCIAR EL PENSAMIENTO COMPUTACIONAL

# data[].attributes.subject
HERRAMIENTAS PARA UTILIZAR Y POTENCIAR EL PENSAMIENTO COMPUTACIONAL

# data[].attributes.body
Scratch

Es un lenguaje de programación creado por MIT Media Lab que permite a niños, jóvenes y adultos crear y compartir en forma sencilla historias interactivas, animaciones y juegos. Éste programa se utiliza para introducir a los alumnos al mundo de la programación. En el proceso, trabajan destrezas de solución de problemas y desarrollan su creatividad. Todo lo que crean pueden compartirlo y publicarlo en la web. (a partir de los 6 años)

[siteorigin_widget class=”SiteOrigin_Widget_Image_Widget”][/siteorigin_widget]

Bee-Bot

Es un robot pequeño que tiene la forma de una abeja. Éste debe seguir las instrucciones mediante los comandos que debemos organizar de forma lógica y en secuencia. Este robot se programa para que los estudiantes desarrollen destrezas de pensamiento lógico y matemático. Lo puede integrar en historia, español, inglés, matemáticas, ciencias, lenguas, entre otros.

[siteorigin_widget class=”SiteOrigin_Widget_Image_Widget”][/siteorigin_widget]

Tynker

Es una plataforma donde millones de niños han aprendido a programar y crear juegos y aplicaciones. Tynker ofrece cursos en línea para que los niños aprendan a programar en casa y a su propio ritmo, así como también un currículo de programación atractivo para integrarlo en el aula. (edades 3 – 8).

[siteorigin_widget class=”SiteOrigin_Widget_Image_Widget”][/siteorigin_widget]

Minecraft

Es un video juego de construcción de mundos basado en bloques donde el alumno puede construir diferentes estructuras mediante cubos tridimensionales con texturas y materiales. También puedes sembrar plantas, recolectar recursos con distintas utilidades, entre otras cosas. Actualmente hay una versión educativa donde el profesor puede crear actividades y lanzarle retos al alumno donde tenga que investigar o crear algo sobre un tema o concepto (a partir de los 7 años).

[siteorigin_widget class=”SiteOrigin_Widget_Image_Widget”][/siteorigin_widget]

Alice

Es un software educativo del Carnegie Mellon University con el que los alumnos podrán aprender programación orientada a objetos en un entorno 3D, lógica y matemática computacional básica. Permite crear historias tipo película animada, videos, animaciones y juegos interactivos (a partir de los 12 años).

Hoy día necesitamos preparar y equipar a nuestros alumnos para el futuro ya que requerirán la aplicación de ciertas destrezas para adaptarse a un mundo cambiante. De algún modo contribuiremos a que éstos puedan enfrentar con fortaleza y anticipación los cambios venideros, como también entender cuándo, cómo y en qué momento las computadoras y otras herramientas digitales ayudan a resolver problemas.

Digital Storytelling Programacion

# data[].attributes.body
Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33-35. https://doi.org/10.1201/b16812

Wing, J. 2006. Computational Thinking.

Wing, J. 2010. Computational Thinking

Basogain, Xabier & Olabe-Basogain, 2015. Pensamiento Computacional a través de la Programación: Paradigma de Aprendizaje. Revista de Educación a Distancia (RED).

Instituto Nacional de Tecnologías Educativas y de Formación del Profesorado (INTEF), 2017