Pensamiento computacional
Paola
Created on May 13, 2020
Material interno de trabajo del Equipo de SdF - Nivel medio
More creations to inspire you
CHRISTMAS CAROL QUIZ - PART 2
Personalized
FISHING IN THE POND
Personalized
DECORATE A HALLOWEEN PUMPKIN
Personalized
DAY OF THE DEAD ALTAR
Personalized
THE GREAT GLOBAL SHUL CRAWL
Personalized
BUTTERFLY CYCLE
Personalized
Transcript
Pensamiento Computacional
InTec
ADELANTE
El pensamiento computacional permite el desarrollo, entre otras, de las siguientes Habilidades:
ADELANTE
1. Creatividad e innovación.
2. Aprendizaje y juego.
3. Comunicación y colaboración.
4. Exploración y representación de lo real.
5. Participación responsable y solidaria.
6. Pensamiento crítico.
7. Uso autónomo de las TIC.
La programación y el pensamiento computacional, ¿son lo mismo?
InTec
SI
NO
#Programar Proceso de diseñar y escribir una secuencia de instrucciones en un lenguaje que pueda ser entendido por una computadora.
#Pensamiento computacional Proceso de resolución de problemas que se vale de la organización lógica y el análisis de datos. Posibilita el uso de una computadora u otro recurso para resolverlos. .
SEGUIR
Es importante, ya que...
Info
Así, tanto la programación como el pensamiento computacional resultan relevantes para el aprendizaje. Es importante tener en cuenta que en estos campos de conocimientos confluyen tanto la lógica y la abstracción como la posibilidad de expresión y la creatividad, además de la ambigüedad, ya que existen varios modos de resolver un problema y algunos, incluso, nunca alcanzan a resolverse totalmente. Al convertir el pensamiento en objeto mediante procedimientos, algoritmos y estructura de datos, el conocimiento personal se hace público y puede ser compartido con otros.
InTec
SEGUIR
¿Por qué dar Programación y pensamiento computacional en la escuela?
Marco Normativo
Ley Educación Nacional 26206 [...] generar las condiciones pedagógicas para el manejo de las TIC, y el desarrollo de las capacidades necesarias para la comprensión y utilización inteligente y crítica, de nuevos lenguajes producidos… Enlace
Resolución del CFE 263/15 [...] la enseñanza y el aprendizaje de la “Programación” es de importancia estratégica en el Sistema Educativo Nacional durante la escolaridad obligatoria, para fortalecer el desarrollo económico-social de la Nación. Incluye saberes necesarios para poder formular soluciones efectivas y sistemáticas a diversos tipos de problemas lógicos. Enlace
Resolución del CFE 343/18 Aprobó los Núcleos de Aprendizajes Prioritarios de Educación Digital, Programación y Robótica, incluyendo así estas áreas en la enseñanza obligatoria. Enlace
Agenda 2030 para el Desarrollo Sostenible aprobada por la ONU “la expansión de las tecnologías de la información y las comunicaciones y la interconexión mundial brinda grandes posibilidades para acelerar el progreso humano, superar la brecha digital y desarrollar las sociedades del conocimiento”.
¿Por qué aprender a programar?
InTec
SEGUIR
¿Por qué todos tienen que aprender a programar?
Todo el mundo debería saber programar
¿Programar o ser Programados? (Charla TED)
Pensamiento computacional es:
InTec
PROCESO
CONTENIDO
FORMA DE PROGRAMAR
Intenta con otra opción
Intenta con otra opción
SEGUIR
El pensamiento computacional es un proceso en el cual se lleva a cabo la resolución de un problema. Se puede utilizar para resolver problemas cotidianos; permite tener una nueva perspectiva, y llevar a cabo diferentes soluciones que no son fácilmente consideradas por otras personas.
eTAPAS
InTec
Descomposición Consiste en el procedimiento por el cual un problema de mayor complejidad se desarticula en series pequeñas (más manejables).
Reconocimiento de Patrones Luego de la desarticulación del problema complejo, las series pequeñas son enfrentadas de forma individual. Esto permite que puedan ser resueltas de forma similar a problemas frecuentados anteriormente.
Abstracción Despejar la información irrelevante y analizar, en forma lógica, el problema.
Algoritmos Se presentan pasos para la resolución del problema.
InTec
SEGUIR
¿Que es un Algoritmo?
Es un conjunto de instrucciones o reglas bien definidas, ordenadas y finitas, que no presentan ambigüedades; que permiten llevar a cabo una actividad para la resolución de problemas.
DesafÍo
¿Es un algoritmo? ¿Tiene reglas bien definidas, ordenadas y finitas, que no presenten ambigüedades; que permiten llevar a cabo una actividad para la resolución de problemas? Si una sola condición no se da, no es un algoritmo. Receta para cocinar pasta:
- Primero se pone a calentar media olla de agua.
- Después, se echa una pizca de sal.
- Luego, se incorpora la pasta al agua.
- Se cocina hasta que esté a punto.
- Se cuela y se sirve.
Empecemos...
InTec
ADELANTE
Desafío Desenchufado
InTec
ADELANTE
Utilizando SOLO Primitivas te invitamos a escribir la secuencia (PROGRAMA) para resolver ese recorrido.
Las órdenes básicas de un lenguaje de programación es lo que se conoce como PRIMITIVAS. Luego éstas se combinan para generar nuevas estructuras o instrucciones agregando valores o datos. Ejemplo:
- Primitiva AVANZAR, valor 10 → Instrucción AVANZAR 10
Avanzamos un nivel... Jugando
InTec
ADELANTE
Te iinvitamos a jugar... registrá las secuencias lógicas que te gustaron.
ICONO 2
Puedes escribir un subtítulo aquí
ICONO 3
Puedes escribir un subtítulo aquí
ICONO 4
Puedes escribir un subtítulo aquí
Ahora las dos cosas...
InTec
ADELANTE
Resolvemos el desafío del ratón y dibujamos la secuencia
ICONO 4
Puedes escribir un subtítulo aquí
Ayuda al ratón a salir del laberinto. La cantidad de casillas que debe avanzar son 14. La forma del laberinto varía siempre - debemos usar condicionales y repeticiones
Recoda el desafió de las primitivas
¿Que bloques utilizaste?
Crear un diagrama del proceso...
Creamos nuestro propio Diagrama de Flujo
InTec
ADELANTE
¿Qué es?
¿Qué me permite?
¿Con qué?
Un diagrama de flujo: Ayuda a solucionar un problema de forma estructurada. Nos va a permitir describir gráficamente un proceso, de manera que podemos comprobar de un golpe de vista si hemos cubierto todos los caminos (soluciones) que ese proceso puede tomar. Un buen diseño de diagrama de flujo tendrá como resultado una buena automatización (programación en cualquier lenguaje).
Me permite: No solo nos permitirá avanzar en los primeros pasos de programar, sino que aportará lógicas de resolución de problemas y definición de variables de resolución, de la manera más natural posible.
PSeInt es una software libre que permite a los/as estudiantes avanzar en sus primeros pasos en programación. Mediante un simple e intuitivo pseudolenguaje «o pseudocódigo» en español (complementado con un editor de diagramas de flujo), permite centrar su atención en los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje y proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos. Enlace
Nuestro Laberinto en un diagrama
Comparación con el lenguaje visual
Lenguaje visual...
InTec
ADELANTE
¿Sabés qué es el lenguaje de programación visual (bloques)?
La programación Visual o en bloques es un software (o página web) el cual nos permite realizar un programa mediante el uso de sencillas y muy básicas conexiones de gráficas, haciendo uso de la gran variedad de herramientas que este nos ofrece. Los bloques son piezas que contienen ciertos códigos, en un orden determinado, y esos bloques admiten cambiar valores para anidar otros bloques en variables o huecos, y así se van colocando según las necesidades de lo que queremos programar. Scratch es el marco de todos los lenguajes de programación visual (emblocados) de este se crearon y basaron múltiples lenguajes web y off line con la misma forma, muchas veces no hay diferencia a simple vista como con mBlock. Algunos de esos lenguajes son propios de algunas aplicaciones o robot o placas y otros son genéricos.
Scratch Es un lenguaje de programación visual desarrollado por el MIT Media Lab. Su principal característica consiste en que permite el desarrollo de habilidades mentales mediante el aprendizaje de la programación sin tener conocimientos profundos sobre el código. Enlace
mBlock Es un entorno gráfico de programación basado en el editor Scratch 2.0 para introducir la robótica de forma sencilla y enseñar a programar robots basados en Arduino. La interfaz es muy amigable e intuitiva. Usa bloques previamente definidos para dar órdenes al robot y si sabes programar también podrás sacarle todo el partido con el entorno de Arduino. Enlace
miniBloq Es un entorno de programación gráfica de código abierto para robot Multiplo, Arduino, dispositivos de computación física y robots. Enlace
Snap! Toma todo lo bueno de Scratch y añade nuevas y potentes mejoras que hace que este lenguaje visual sea un importante candidato para ser utilizado en cualquier ámbito, incluso educativo. Su manejo es muy sencillo, seguimos teniendo bloques de instrucciones que pueden ser arrastrados y agrupados a modo de puzzle para crear un programa, pero se añaden nuevas funcionalidades muy interesantes. Enlace
Ardublock Es una herramienta gráfica para programar cualquier Arduino. Se compone de varios bloques que puedes arrastrar y enlazarlos entre ellos como si fueran piezas de un puzzle para confeccionar el flujo de acciones de tu programa. Enlace
Desafíos con Bloques
InTec
ADELANTE
¿Podés lograr que el bichito recorra el laberinto?
La programación Visual o en bloques es un software (o página web) el cual nos permite realizar un programa mediante el uso de sencillas y muy básicas conexiones de gráficas, haciendo uso de la gran variedad de herramientas que este nos ofrece. Los bloques son piezas que contienen ciertos códigos, en un orden determinado, y esos bloques admiten cambiar valores para anidar otros bloques en variables o huecos, y así se van colocando según las necesidades de lo que queremos programar. Scratch es el marco de todos los lenguajes de programación visual (emblocados) de este se crearon y basaron múltiples lenguajes web y off line con la misma forma, muchas veces no hay diferencia a simple vista como con mBlock. Algunos de esos lenguajes son propios de algunas aplicaciones o robot o placas y otros son genéricos.
Documento para crear la grilla Enlace
Otro ejemplo con una plantilla que nos hace el laberinto con forma aleatoria. Enlace (descarga)
Posible solución al recorrido en Scratch. Enlace (descarga)
Programación por Código...
InTec
ADELANTE
¿Sabés qué significa programar con Código?
El código de un programa es un conjunto de líneas de texto con los pasos que debe seguir la computadora para ejecutar un programa a través de palabras reservadas (instrucciones que el lenguaje en cuestión entiende) Son múltiples los lenguajes de programación y fueron evolucionando y muchos son específicos para determinadas tareas o áreas; algunos tienen mayores complejidades que otros pero se pueden dividir en Lenguajes Estructurados y No Estructurados. Hoy en día es necesario poder trabajar de forma simple y sencilla necesitamos usar lenguajes estructurados. La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora recurriendo únicamente a subrutinas y tres estructuras básicas: secuencia, selección (if y switch) e iteración (bucles for y while) Como progresión a los lenguajes emblocados y en relación con el pensamiento de programación y robótica, los lenguajes sugeridos y su nivel de dificultad sería Processing, Arduino y Python. En medio de esta secuencia, no descartemos C++ del cual se desprenden o son base de estos.
Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital. Uno de los objetivos declarados de Processing es el de actuar como herramienta para que artistas, diseñadores visuales y miembros de otras comunidades ajenos al lenguaje de la programación, aprendieran las bases de la misma a través de una muestra gráfica instantánea y visual de la información. El lenguaje de Processing se basa en Java, aunque hace uso de una sintaxis simplificada y de un modelo de programación de gráficos. Enlace
Arduino es una compañía de desarrollo de software y hardware libre, así como una comunidad internacional que diseña y manufactura placas de desarrollo de hardware para construir dispositivos digitales y dispositivos interactivos que puedan detectar y controlar objetos del mundo real. Arduino se enfoca en acercar y facilitar el uso de la electrónica y programación de sistemas embebidos en proyectos multidisciplinarios. Enlace
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la legibilidad de su código. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos. Es un lenguaje interpretado, dinámico y multiplataforma. Posee una licencia de código abierto. Enlace
Desafíos con Processing
InTec
ADELANTE
¿Podés lograr que el círculo recorra el laberinto?
La programación Visual o en bloques es un software (o página web) el cual nos permite realizar un programa mediante el uso de sencillas y muy básicas conexiones de gráficas, haciendo uso de la gran variedad de herramientas que este nos ofrece. Los bloques son piezas que contienen ciertos códigos, en un orden determinado, y esos bloques admiten cambiar valores para anidar otros bloques en variables o huecos, y así se van colocando según las necesidades de lo que queremos programar. Scratch es el marco de todos los lenguajes de programación visual (emblocados) de este se crearon y basaron múltiples lenguajes web y off line con la misma forma, muchas veces no hay diferencia a simple vista como con mBlock. Algunos de esos lenguajes son propios de algunas aplicaciones o robot o placas y otros son genéricos.
Documento para crear la grilla Enlace
Posible solución al recorrido en Processing. Enlace (descarga)
Otro ejemplo con un plantilla que nos hace el laberinto con forma aleatoria Enlace (descarga)
Jugamos Con Python
InTec
ADELANTE
Ejemplos de juegos on-line que te enseñarán a usar Python
A través del juego, irán apareciendo conceptos computacionales sin hablar de “programación” en forma directa:
- Secuenciamos instrucciones para resolver un problema (algoritmo).
- Utilizaremos procedimientos agrupando instrucciones.
- Descomponemos problemas en acciones más acotadas.
- Seguramente deberemos corregir de errores.
¿Listo para crear un juego aún más fresco? Póngase al día con conceptos avanzados de programación, como funciones y eventos, usando Python o JavaScript, ¡luego usá esas habilidades para construir tu propio juego de supervivencia arcade! CodeCombat
Aprende a codificar y resolver problemas guiando a Karel el Robot a través de junglas, montañas y desiertos. Karel sigue tus instrucciones, como un robot real. Comience a programar con comandos simples como ir, obtener y poner. A continuación, aprenderás a construir bucles y condiciones de repetición en tus programas. Finalmente, define los comandos personalizados para Karel. ¡Puedes crear tus propios juegos con la aplicación de NCLab! Diviértete mientras aprendes habilidades que puedes usar en cualquier lenguaje de programación. NCLab Karel HOC
Codifique un mensaje y verifique la temperatura del aire ambiente a bordo de la ISS utilizando un simulador en línea del Sense HAT de la computadora Astro Pi. Astro Pi: Mission Zero
El Plano de Coordenadas En esta lección exploran los cuatro cuadrantes del plano de coordenadas. ¡Usan Python y nuestro kit de herramientas de arrastrar y enviar texto para enviar un sprite a varios lugares en el escenario! Hay actividades de demostración y depuración incluidas para ayudar a sentirse cómodos/as navegando en el plano de coordenadas. Plano de coordenadas
Gráficos de tortuga en Python Python es un lenguaje atractivo y simple de aprender. Aprende sobre el uso de módulos, funciones, bucles y listas, todo mientras creas imágenes divertidas con la ayuda de tus amigos tortuga. ¡La geometría nunca ha sido tan divertida! Intro Turtle Graphics
Bonus
InTec
ADELANTE
Desafio en APP Inventor
A través del juego, irán apareciendo conceptos computacionales sin hablar de “programación” en forma directa:
- Secuenciamos instrucciones para resolver un problema (algoritmo).
- Utilizaremos procedimientos agrupando instrucciones.
- Descomponemos problemas en acciones más acotadas.
- Seguramente deberemos corregir de errores.
Enlace para modificar y explorar programación
Enlace para instalar en el celular
¡¡¡¡Gracias!!!!
InTec
@mediaintecsf