SlideShare una empresa de Scribd logo
1 de 40
El pensamiento computacional
y la programación
Conceptos, habilidades y perspectivas
Programación Nivel 1
• Aproximarse a la noción de Pensamiento Computacional y su
relación con la programación.
• Profundizar en técnicas de programación, en particular en el
entorno Scratch.
• Conocer un lenguaje de programación basado en texto:
Processing.
• Explorar el entorno de Mblock
objetivos
Algunas definiciones
...implica resolver problemas, diseñar sistemas y comprender el
comportamiento humano haciendo uso de los conceptos
fundamentales de la informática. Promueve, entonces, enfrentarnos a
un problema pensando como lo haría un científico informático.
...es el proceso de reconocimiento de aspectos de la informática en el
mundo que nos rodea
….es aplicar herramientas y técnicas de la informática para comprender y
razonar sobre los sistemas y procesos tanto naturales como artificiales.
El Pensamiento Computacional
Es una estrategia de formulación y resolución de problemas que
implica (no necesariamente en forma lineal):
● identificar problemas
● formular hipótesis
● diseñar e implementar soluciones
● analizar y abstraer procesos
● organizar la información y
● comunicar argumentos e ideas
Fuente: Sociedad Internacional de la Tecnología en la Educación (ISTE) y la Asociación de
Profesores de Informática (CSTA).
Descomposición
descomponer un
problema o sistema
complejo en partes
más pequeñas y
manejables.
Reconocimiento
de patrones
buscar similitudes
entre y dentro de los
problemas.
Abstracción
centrarse sólo en la
información importante,
ignorando detalles
irrelevantes.
Pilares del pensamiento computacional
Algoritmos
desarrollar una
solución paso a paso, o
definir un conjunto de
reglas a seguir para
resolver el problema.
El pensamiento
computacional en la
programación con scratch
Algoritmos
Desarrollar una solución paso a paso, o definir un conjunto de reglas a
seguir para resolver el problema.
.
¿Cuál es el algoritmo de una animación?
descomposición
¿Qué elementos componen este proyecto?
Videotutorial: cómo utilizar el lápiz
Descomponer un problema o sistema complejo en partes más
pequeñas y manejables.
RECONOCIMIENTO DE PATRONES
Buscar similitudes entre y dentro de los problemas.
¿Qué similitudes hay en la creación de cada flor?
Usando parámetros
Trabajar con valores numéricos, en lugar de valores constantes, nos
permite parametrizar un programa haciéndolo más flexible.
rojo = 0
verde = 70
azul = 130
magenta = 170
abstracción
Centrarse sólo en la información importante, ignorando detalles irrelevantes.
• Abstraer nos permite encapsular bajo un mismo nombre a un conjunto de acciones
para que lleven adelante una tarea.
• En Scratch podemos crear nuestros propios bloques.
Videotutorial: creación de
funciones con “Más bloques”
Estructura de datos: listas
Videotutorial: creación de listas
Las listas nos permiten almacenar datos, tanto en texto como en número.
Cada uno de ellos se llama elemento, y puede ser accedido por uno o todos
los objetos del proyecto.
Objetos y clones
Videotutorial: creación de clones
Los clones nos permiten minimizar el número de objetos que realizan tareas
similares y simplificar el código.
Interactuar con la webcam
Intervalo
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 dentro del contexto de las
artes visuales y multimedia.
Processing ha logrado promover la unión de dos mundos: incorporar el
software dentro de las artes visuales, y lo visual dentro de las tecnologías.
Processing
https://processing.org/
Ambiente de trabajo de Processing
• Instrucciones
Son los elementos estructurales del programa. Todas las instrucciones
deben finalizar con “;”
point (100,100);
• Comentarios
Son usados para hacer notas (apuntes) entre las líneas de código que por
lo general facilitan la comprensión del programa. Para hacer comentarios
de una línea se debe iniciar el comentario con “// ” y para hacer
comentarios que requieren más de una línea, se debe iniciar el comentario
con “/*” y finalizarlo con “*/ ”
Entorno gráfico
Método void setup y void draw
• void setup()
Las instrucciones que están dentro de este método solo se ejecutan una
vez cuando el programa se inicia.
• void draw()
Las instrucciones que están dentro de este método se ejecutan
indefinidamente (hacen loop) hasta que el programa es detenido. Cada vez
que las instrucciones contenidas en el método draw() se ejecutan, el ciclo
vuelve a empezar ejecutando las instrucciones desde la primera línea hasta
la última.
Código processing → Scratch
float diam = 0;
void setup() {
size (800,600); //tamaño de la ventana de salida
smooth(); //suaviza el trazo
background(0); //color de fondo negro
}
void draw () {
noFill();
stroke(random(255),random(255),random(255));
diam = dist(mouseX,mouseY,pmouseX,pmouseY);
//distancia entre
//la posición del mouse y su posición anterior
strokeWeight(5); //grosor de trazo
ellipse(mouseX,mouseY,diam,diam);
line(mouseX,mouseY,pmouseX,pmouseY);
if(mousePressed) {
background(0);
}
}
Ejecuten ambos programas. Lean los códigos y observen:
➢ ¿Qué líneas del código de Processing no se ven reflejadas en Scratch?
➢ ¿Qué órdenes de Scratch no se encuentran en Processing?
➢ ¿Todas las órdenes de un lenguaje se corresponden con el otro?
➢ Al ejecutar ambos programas realizan efectos visuales similares.
¿Cuáles son las diferencias y a qué se deben?
➢ ¿Por qué, en este caso, es necesario declarar una variable en Processing
y no en Scratch?
Código processing → Scratch
Código processing → Scratch
float diam = 0;
background(0);
stroke(random(255),random(255),random(255));
strokeWeight(5);
ellipse(mouseX,mouseY,diam,diam);
line(mouseX,mouseY,pmouseX,pmouseY);
if(mousePressed) {
background(0);
Formas básicas
Ejemplo
• point point (20,20); point (x,y);
• line line (20,20,20,60); line (20,20,60,20); line (x,y,x2,y2);
• rect rect (20,20,60,35); rect (x,y,ancho,alto);
• triangle triangle (0,0,50,0,30,50); triangle(x,y,x1,y1,x2,y2);
• ellipse ellipse (50,50,90,60); ellipse (x,y,ancho,alto);
Propiedades de la forma
Color
Practicamos
❏ EJERCICIO 01: Dibujar tres puntos.
❏ EJERCICIO 02: Dibujar tres líneas: una vertical, una horizontal y una
diagonal.
❏ EJERCICIO 03: Dibujar un rectángulo.
❏ EJERCICIO 04: Dibujar dos círculos, uno dentro del otro.
❏ EJERCICIO 05: Dibujar un triángulo.
Interacción
MODELO ESTÍMULO – RESPUESTA
Permite establecer una relación entre lo que se reconoce como el estímulo
(acción, entrada, input) con la respuesta esperada (reacción, salida, output).
MOUSE como estímulo
Es posible hacer uso de los datos recogidos por el mouse para controlar ,
la posición, tamaño, color, y otras propiedades de las formas. Los datos
proporcionados por el mouse, son interpretados como una posición en la
pantalla, es decir, indica un valor específico para el eje x, y otro para el eje
y los cuales pueden ser modificados de acuerdo a la manipulación del
mouse.
• Funciones mouseX (posición en el eje x del mouse)
mouseY (posición en el eje y del mouse)
❏ EJERCICIO 06: ¿Qué hace este código?¿Qué efecto tiene el uso de
smooth?
void setup() {
size (400,400); background(0); smooth(); // probar con noSmooth
}
void draw () {
ellipse (mouseX, mouseY, 100,100);
}
Referencias
https://processing.org/
http://dunadigital.com/processing/2013/07/14/que-es-processing/
http://mosaic.uoc.edu/2012/04/30/introduccion-a-processing/
https://sites.google.com/site/wikimedialabbogota/traducciones-
terminadas
MBlock
¿Qué es mBlock?
mBlock es un entorno gráfico de programación basado en el
editor Scratch 2.0 que permite 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.
Entorno
Existen 3 maneras diferentes de conectar tu robot con mBlock:
• cable USB
• Bluetooth
• 2.4G (la misma tecnología que usan los teclados
inalámbricos)
¿Cómo conectar tu robot?
Es muy importante que selecciones la placa
correspondiente del Arduino con el que trabajes
Para que la placa de Arduino se pueda comunicar con mBlock y ejecutar
las acciones de Scratch en tiempo real, es necesario cargar previamente
un Firmware en la placa.
conectar la placa de arduino a mBlock
Hacia dónde nos dirigimos...
Existen muchos lenguajes y plataformas para enseñar programación
por tal motivo resulta importante pensar una progresión en la
integración y uso de dichos lenguajes.
Para las escuelas intensificadas en nuevas tecnologías, una progresión
posible será:
1° ciclo: Scratch
2° ciclo: 4to y 5to grado: Mblock
2° ciclo: 6to y 7mo grado: Mblock + Processing
¡Muchas gracias!
Scratch → código processing
Realicen el mismo efecto visual (trabajado con Scratch) con código en
Processing. Usen las Referencias como ayuda.
¿Se puede mejorar? ¿Con ambas herramientas se llegó al mismo resultado?
lectura del código en Processing
Observen el siguiente código y comenten las acciones de cada orden:
PImage cuadro;
PImage [] pincelada = new PImage [4];
int posX, posY;
color tintura;
int indice = 0;
void setup() {
cuadro = loadImage("cuadro3.jpg");
size(cuadro.width, cuadro.height);
for (int i = 0; i < 4; i++) {
pincelada [i] =
loadImage("pincelada"+i+".png");
}
background(0);
}
void draw() {
for (int i = 0; i < 4; i++) {
//se les asigna un valor al
azar a las variables de posicion.
posX = int(random(width));
posY = int(random(height));
tintura = cuadro.get(posX,
posY);
indice++;
if (indice > 3) {
indice = 0;
}
//CON PUNTOS
strokeWeight(random(4, 10));
stroke(tintura);
point(posX, posY);
//con imagenes de pinceladas
// tint(tintura);
// image(pincelada[indice],posX, posY);
}
}

Más contenido relacionado

Similar a El_pensamiento_computacional_y_programacion_.pptx

Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programarCelestino Duran
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2
DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2 DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2
DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2 IsabelSofia23
 
INTRODUCCION A LA PROGRAMACIÓN kxcr.pptx
INTRODUCCION A LA PROGRAMACIÓN kxcr.pptxINTRODUCCION A LA PROGRAMACIÓN kxcr.pptx
INTRODUCCION A LA PROGRAMACIÓN kxcr.pptxkiraxunaxi
 
Manual del programador (saber matemático)
Manual del programador  (saber matemático)Manual del programador  (saber matemático)
Manual del programador (saber matemático)Salazar Garcia Diana
 
Diseno dealgoritmos
Diseno dealgoritmosDiseno dealgoritmos
Diseno dealgoritmosDeyvid Atens
 
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxclase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxJulianSimonetta
 
Trabajo dfe informatica
Trabajo dfe informatica Trabajo dfe informatica
Trabajo dfe informatica maleja3456
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programarCelestino Duran
 
C++ Introducción de elementos del lenguaje
C++ Introducción de elementos del lenguajeC++ Introducción de elementos del lenguaje
C++ Introducción de elementos del lenguajePedroGonzalez183426
 
AdV - Programación para no Programadores
AdV - Programación para no ProgramadoresAdV - Programación para no Programadores
AdV - Programación para no ProgramadoresJavier_J
 
Primera Interaula, 'Programación para no programadores'
Primera Interaula, 'Programación para no programadores'Primera Interaula, 'Programación para no programadores'
Primera Interaula, 'Programación para no programadores'AulaDeVideojuegos
 
C# for Beginners
C# for BeginnersC# for Beginners
C# for BeginnersZaory Zaory
 
Introducción a PSeInt.pdf
Introducción a PSeInt.pdfIntroducción a PSeInt.pdf
Introducción a PSeInt.pdfWilderHidalgo1
 
Guia1.1 algoritmos conceptosbasicos
Guia1.1 algoritmos conceptosbasicosGuia1.1 algoritmos conceptosbasicos
Guia1.1 algoritmos conceptosbasicosJeckson Loza
 

Similar a El_pensamiento_computacional_y_programacion_.pptx (20)

Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
trabajo tecno.pdf
trabajo tecno.pdftrabajo tecno.pdf
trabajo tecno.pdf
 
Tema 5
Tema 5Tema 5
Tema 5
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2
DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2 DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2
DESARROLLO DE HABILIDADES DE PENSAMIENTO ACTIVIDAD 2
 
TRABAJO DE TEGNOLOGIA
TRABAJO DE TEGNOLOGIA TRABAJO DE TEGNOLOGIA
TRABAJO DE TEGNOLOGIA
 
INTRODUCCION A LA PROGRAMACIÓN kxcr.pptx
INTRODUCCION A LA PROGRAMACIÓN kxcr.pptxINTRODUCCION A LA PROGRAMACIÓN kxcr.pptx
INTRODUCCION A LA PROGRAMACIÓN kxcr.pptx
 
Manual del programador (saber matemático)
Manual del programador  (saber matemático)Manual del programador  (saber matemático)
Manual del programador (saber matemático)
 
Diseno dealgoritmos
Diseno dealgoritmosDiseno dealgoritmos
Diseno dealgoritmos
 
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxclase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
 
PRESENTACION.pptx
PRESENTACION.pptxPRESENTACION.pptx
PRESENTACION.pptx
 
Trabajo dfe informatica
Trabajo dfe informatica Trabajo dfe informatica
Trabajo dfe informatica
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
C++ Introducción de elementos del lenguaje
C++ Introducción de elementos del lenguajeC++ Introducción de elementos del lenguaje
C++ Introducción de elementos del lenguaje
 
AdV - Programación para no Programadores
AdV - Programación para no ProgramadoresAdV - Programación para no Programadores
AdV - Programación para no Programadores
 
Primera Interaula, 'Programación para no programadores'
Primera Interaula, 'Programación para no programadores'Primera Interaula, 'Programación para no programadores'
Primera Interaula, 'Programación para no programadores'
 
C# for Beginners
C# for BeginnersC# for Beginners
C# for Beginners
 
Tema 5 1
Tema 5 1Tema 5 1
Tema 5 1
 
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓNNIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
 
Introducción a PSeInt.pdf
Introducción a PSeInt.pdfIntroducción a PSeInt.pdf
Introducción a PSeInt.pdf
 
Guia1.1 algoritmos conceptosbasicos
Guia1.1 algoritmos conceptosbasicosGuia1.1 algoritmos conceptosbasicos
Guia1.1 algoritmos conceptosbasicos
 

Último

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfBrandonsanchezdoming
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 

Último (20)

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdf
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 

El_pensamiento_computacional_y_programacion_.pptx

  • 1. El pensamiento computacional y la programación Conceptos, habilidades y perspectivas Programación Nivel 1
  • 2. • Aproximarse a la noción de Pensamiento Computacional y su relación con la programación. • Profundizar en técnicas de programación, en particular en el entorno Scratch. • Conocer un lenguaje de programación basado en texto: Processing. • Explorar el entorno de Mblock objetivos
  • 3. Algunas definiciones ...implica resolver problemas, diseñar sistemas y comprender el comportamiento humano haciendo uso de los conceptos fundamentales de la informática. Promueve, entonces, enfrentarnos a un problema pensando como lo haría un científico informático. ...es el proceso de reconocimiento de aspectos de la informática en el mundo que nos rodea ….es aplicar herramientas y técnicas de la informática para comprender y razonar sobre los sistemas y procesos tanto naturales como artificiales.
  • 4. El Pensamiento Computacional Es una estrategia de formulación y resolución de problemas que implica (no necesariamente en forma lineal): ● identificar problemas ● formular hipótesis ● diseñar e implementar soluciones ● analizar y abstraer procesos ● organizar la información y ● comunicar argumentos e ideas Fuente: Sociedad Internacional de la Tecnología en la Educación (ISTE) y la Asociación de Profesores de Informática (CSTA).
  • 5. Descomposición descomponer un problema o sistema complejo en partes más pequeñas y manejables. Reconocimiento de patrones buscar similitudes entre y dentro de los problemas. Abstracción centrarse sólo en la información importante, ignorando detalles irrelevantes. Pilares del pensamiento computacional Algoritmos desarrollar una solución paso a paso, o definir un conjunto de reglas a seguir para resolver el problema.
  • 6. El pensamiento computacional en la programación con scratch
  • 7. Algoritmos Desarrollar una solución paso a paso, o definir un conjunto de reglas a seguir para resolver el problema. . ¿Cuál es el algoritmo de una animación?
  • 8. descomposición ¿Qué elementos componen este proyecto? Videotutorial: cómo utilizar el lápiz Descomponer un problema o sistema complejo en partes más pequeñas y manejables.
  • 9. RECONOCIMIENTO DE PATRONES Buscar similitudes entre y dentro de los problemas. ¿Qué similitudes hay en la creación de cada flor?
  • 10. Usando parámetros Trabajar con valores numéricos, en lugar de valores constantes, nos permite parametrizar un programa haciéndolo más flexible. rojo = 0 verde = 70 azul = 130 magenta = 170
  • 11. abstracción Centrarse sólo en la información importante, ignorando detalles irrelevantes. • Abstraer nos permite encapsular bajo un mismo nombre a un conjunto de acciones para que lleven adelante una tarea. • En Scratch podemos crear nuestros propios bloques. Videotutorial: creación de funciones con “Más bloques”
  • 12. Estructura de datos: listas Videotutorial: creación de listas Las listas nos permiten almacenar datos, tanto en texto como en número. Cada uno de ellos se llama elemento, y puede ser accedido por uno o todos los objetos del proyecto.
  • 13. Objetos y clones Videotutorial: creación de clones Los clones nos permiten minimizar el número de objetos que realizan tareas similares y simplificar el código.
  • 17. 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 dentro del contexto de las artes visuales y multimedia. Processing ha logrado promover la unión de dos mundos: incorporar el software dentro de las artes visuales, y lo visual dentro de las tecnologías. Processing https://processing.org/
  • 18. Ambiente de trabajo de Processing • Instrucciones Son los elementos estructurales del programa. Todas las instrucciones deben finalizar con “;” point (100,100); • Comentarios Son usados para hacer notas (apuntes) entre las líneas de código que por lo general facilitan la comprensión del programa. Para hacer comentarios de una línea se debe iniciar el comentario con “// ” y para hacer comentarios que requieren más de una línea, se debe iniciar el comentario con “/*” y finalizarlo con “*/ ”
  • 20. Método void setup y void draw • void setup() Las instrucciones que están dentro de este método solo se ejecutan una vez cuando el programa se inicia. • void draw() Las instrucciones que están dentro de este método se ejecutan indefinidamente (hacen loop) hasta que el programa es detenido. Cada vez que las instrucciones contenidas en el método draw() se ejecutan, el ciclo vuelve a empezar ejecutando las instrucciones desde la primera línea hasta la última.
  • 21. Código processing → Scratch float diam = 0; void setup() { size (800,600); //tamaño de la ventana de salida smooth(); //suaviza el trazo background(0); //color de fondo negro } void draw () { noFill(); stroke(random(255),random(255),random(255)); diam = dist(mouseX,mouseY,pmouseX,pmouseY); //distancia entre //la posición del mouse y su posición anterior strokeWeight(5); //grosor de trazo ellipse(mouseX,mouseY,diam,diam); line(mouseX,mouseY,pmouseX,pmouseY); if(mousePressed) { background(0); } }
  • 22. Ejecuten ambos programas. Lean los códigos y observen: ➢ ¿Qué líneas del código de Processing no se ven reflejadas en Scratch? ➢ ¿Qué órdenes de Scratch no se encuentran en Processing? ➢ ¿Todas las órdenes de un lenguaje se corresponden con el otro? ➢ Al ejecutar ambos programas realizan efectos visuales similares. ¿Cuáles son las diferencias y a qué se deben? ➢ ¿Por qué, en este caso, es necesario declarar una variable en Processing y no en Scratch? Código processing → Scratch
  • 23. Código processing → Scratch float diam = 0; background(0); stroke(random(255),random(255),random(255)); strokeWeight(5); ellipse(mouseX,mouseY,diam,diam); line(mouseX,mouseY,pmouseX,pmouseY); if(mousePressed) { background(0);
  • 24. Formas básicas Ejemplo • point point (20,20); point (x,y); • line line (20,20,20,60); line (20,20,60,20); line (x,y,x2,y2); • rect rect (20,20,60,35); rect (x,y,ancho,alto); • triangle triangle (0,0,50,0,30,50); triangle(x,y,x1,y1,x2,y2); • ellipse ellipse (50,50,90,60); ellipse (x,y,ancho,alto);
  • 26. Color
  • 27. Practicamos ❏ EJERCICIO 01: Dibujar tres puntos. ❏ EJERCICIO 02: Dibujar tres líneas: una vertical, una horizontal y una diagonal. ❏ EJERCICIO 03: Dibujar un rectángulo. ❏ EJERCICIO 04: Dibujar dos círculos, uno dentro del otro. ❏ EJERCICIO 05: Dibujar un triángulo.
  • 28. Interacción MODELO ESTÍMULO – RESPUESTA Permite establecer una relación entre lo que se reconoce como el estímulo (acción, entrada, input) con la respuesta esperada (reacción, salida, output).
  • 29. MOUSE como estímulo Es posible hacer uso de los datos recogidos por el mouse para controlar , la posición, tamaño, color, y otras propiedades de las formas. Los datos proporcionados por el mouse, son interpretados como una posición en la pantalla, es decir, indica un valor específico para el eje x, y otro para el eje y los cuales pueden ser modificados de acuerdo a la manipulación del mouse. • Funciones mouseX (posición en el eje x del mouse) mouseY (posición en el eje y del mouse)
  • 30. ❏ EJERCICIO 06: ¿Qué hace este código?¿Qué efecto tiene el uso de smooth? void setup() { size (400,400); background(0); smooth(); // probar con noSmooth } void draw () { ellipse (mouseX, mouseY, 100,100); }
  • 33. ¿Qué es mBlock? mBlock es un entorno gráfico de programación basado en el editor Scratch 2.0 que permite 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.
  • 35. Existen 3 maneras diferentes de conectar tu robot con mBlock: • cable USB • Bluetooth • 2.4G (la misma tecnología que usan los teclados inalámbricos) ¿Cómo conectar tu robot?
  • 36. Es muy importante que selecciones la placa correspondiente del Arduino con el que trabajes Para que la placa de Arduino se pueda comunicar con mBlock y ejecutar las acciones de Scratch en tiempo real, es necesario cargar previamente un Firmware en la placa. conectar la placa de arduino a mBlock
  • 37. Hacia dónde nos dirigimos... Existen muchos lenguajes y plataformas para enseñar programación por tal motivo resulta importante pensar una progresión en la integración y uso de dichos lenguajes. Para las escuelas intensificadas en nuevas tecnologías, una progresión posible será: 1° ciclo: Scratch 2° ciclo: 4to y 5to grado: Mblock 2° ciclo: 6to y 7mo grado: Mblock + Processing
  • 39. Scratch → código processing Realicen el mismo efecto visual (trabajado con Scratch) con código en Processing. Usen las Referencias como ayuda. ¿Se puede mejorar? ¿Con ambas herramientas se llegó al mismo resultado?
  • 40. lectura del código en Processing Observen el siguiente código y comenten las acciones de cada orden: PImage cuadro; PImage [] pincelada = new PImage [4]; int posX, posY; color tintura; int indice = 0; void setup() { cuadro = loadImage("cuadro3.jpg"); size(cuadro.width, cuadro.height); for (int i = 0; i < 4; i++) { pincelada [i] = loadImage("pincelada"+i+".png"); } background(0); } void draw() { for (int i = 0; i < 4; i++) { //se les asigna un valor al azar a las variables de posicion. posX = int(random(width)); posY = int(random(height)); tintura = cuadro.get(posX, posY); indice++; if (indice > 3) { indice = 0; } //CON PUNTOS strokeWeight(random(4, 10)); stroke(tintura); point(posX, posY); //con imagenes de pinceladas // tint(tintura); // image(pincelada[indice],posX, posY); } }

Notas del editor

  1. Retomamos lo aprendido de Pensamiento computacional. Fuente: Royal Society ¿Qué es el pensamiento computacional? En el año 2006 Jeannette Wing publicó el artículo Computational thinking en el que defendía que esta nueva competencia debería ser incluida en la formación de todos los niños y niñas, ya que representa un ingrediente vital del aprendizaje de la ciencia, la tecnología, la ingeniería y las matemáticas. Pero, ¿qué es el pensamiento computacional? 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.
  2. En esta definición de pensamiento computacional, se identifican habilidades cognitivas y comunicacionales que se ponen en juego al trabajar con este enfoque. Es fundamental el rol activo del docente en el aula para generar experiencias de aprendizaje, dinámicas y espacios que promuevan el pensamiento computacional y favorecer el desarrollo de habilidades psicosociales y actitudes personales, de aplicación en todas las áreas el conocimiento: · confianza en el manejo de la complejidad, · persistencia a trabajar con problemas difíciles, · tolerancia a la ambigüedad, · habilidad para la comunicación y el trabajo colaborativo.
  3. Fuente: http://www.bbc.co.uk/education/guides/zttrcdm/revision El pensamiento computacional en acción (práctica) Un problema complejo es el que a primera vista no sabemos cómo resolver fácilmente. El pensamiento computacional implica tomar ese complejo problema y dividirlo en pequeños problemas más manejables (descomposición). Cada uno de estos problemas más pequeños puede ser analizado individualmente, considerando cómo fueron resueltos anteriormente problemas similares (reconocimiento de patrones) y centrándose sólo en los puntos/detalles importantes/claves, ignorando la información irrelevante (abstracción). Así, para cada uno de esos problemas más pequeños se pueden definir pasos simples o reglas (algoritmos) que lleven a la resolución de los mismos. Estos pasos sencillos o reglas son lo que se utilizan para programar un equipo que ayude resolver el problema complejo, y de la mejor manera. Estos pilares del PC son conceptos que vienen del campo de la ciencia de la computación. Y a momento de resolver un problema, todos entran en juego.
  4. https://wiki.scratch.mit.edu/wiki/Pen_Color_(value) La animación es el proceso que logra dar movimiento a dibujos u objetos inanimados por lo general. Esto es posible gracias a una secuencia de dibujos o fotografías que al estar ordenadas consecutivamente logran generar un movimiento creíble ante nuestros ojos, los cuales se prestan al juego de la ilusión visual. Como dijimos, los conceptos pilares los identificamos en toda resolución de problemas. Si tuviéramos que reproducir esta animación, a modo de “ingeniería inversa” (como vimos en la presentación de Marina Brers), tenemos que empezar con la descomposiciòn en partes: cuántos objetos hay, qué hace cada uno, y así. Pero el objetivo de esta diapo es identificar el algoritmo de las animaciones (en Scratch, Processing): un ciclo de dibujo, un ciclo donde las imágenes se van sucediendo en el tiempo. ¿Cuál es el algoritmo del movimiento de un objeto o figura? Que su posición en la pantalla/escenario/lienzo se vaya modificando. Si el movimiento es horizontal, la coordenada X es la que tiene que variar, y horizontalmente, la Y. Siempre hay que tener presente las coordenadas del escenario, ubicando cuál es el 0,0. En el caso de la animación de los edificios, van apareciendo por el borde derecho y se desplazan por todo el escenario, X comienza en 240 y disminuye hasta -240. Para destacar: el uso del bloque NUMERO AL AZAR (que equivale a la función ALEATORIO de los lenguajes de programación) para ir variando el valor de la coordenada Y, es la clave para que los distintos disfraces de los edificios y la nubes parezcan objetos distintos.
  5. Luego de jugar con el proyecto, se puede comenzar a pensar en la descomposición. Es una animación con interacción del usuario: donde hace clic, crece una flor. Descomposición de la flor: el tallo, que se dibuja a través de los bloques BAJAR y SUBIR LAPIZ, y la flor, que es la animación de un pétalo, con un ciclo de una cantidad de vueltas determinada, y donde la clave está en SELLAR, bloque de la categoría LÁPIZ que fija la imagen del objeto en el escenario, logrando efecto de multiplicación, de huella.
  6. Después del proceso de descomposición, podemos identificar un modelo/patrón para el dibujo de las flores, donde lo único que cambia de una a otra es el color, el pétalo base que gira y se sella y la ubicación.
  7. Para que el proyecto quede más vistoso con variedad de flores (formas del pétalo y colores) tenemos que crear un código más flexible. ¿Cómo? Reemplazando por ejemplo un color constante por una variable numérica que representa un color. Para ésto tenemos que saber que existen 200 colores, y que cada uno está asociado a un número (del 0 al 199). El 0 es el rojo, el 70 es el verde, el azul 130, el magenta 170) La intensidad admite valores entre 0 y 100. Por defecto, se fija en 50. Una intensidad cercana a 0 acerca el color al negro, una intensidad cercana al 100 acerca el color activo al blanco. Y el tamaño del lápiz toma valores de 1 a indefinido.
  8. A partir del modelo/patrón del dibujo de flores, podemos pensar en dos procedimientos: dibujar el tallo y crear la flor, que pueden ser programados en como un bloque, para se ser llamados/ejecutados tantas veces como necesitemos.
  9. La clonación es una característica de Scratch que permite a un objeto (sprite) crear un clon, una duplicación de sí mismo, mientras el proyecto se está ejecutando. Los clones son iguales al objeto original o principal, pero como una instancia separada. Los clones heredan los scripts (los programas, los disfraces, los sonidos y las propiedades del original, pero pueden modificarse. Hay un límite de 300 clones por proyecto.
  10. https://scratch.mit.edu/projects/10026398/ (ese es otro proyecto interesante)
  11. http://mosaic.uoc.edu/2012/04/30/introduccion-a-processing/
  12. http://dunadigital.com/processing/2013/07/14/que-es-processing/
  13. size (600, 600); background (255,255,255); // COLOR DEL FONDO BLANCO stroke (0,0,255); // COLOR DEL BORDE strokeWeight(7); // ANCHO DEL BORDE fill (255,0,0); // COLOR DEL RELLENO point (100,100); point (200,300); point (500,500); line(0,0,600,600); line (0,20, 600,20); line (50,0,50,600); ellipse(300,300,200,200); ellipse (500,500,100,100); triangle(0,0,0,100,50,100);
  14. Existen muchos otros lenguajes y plataformas para enseñar programación en varios niveles, y con diversos objetivos. De la misma manera que pensamos una progresión en los contenidos curriculares, debemos pensar una progresión en los lenguajes de programación utilizados. A modo de referencia, se puede pensar en: 1° ciclo: Scratch 2° ciclo: 4to y 5to grado: Mblock 2° ciclo: 6to y 7mo grado: Mblock + Processing