Pensamiento computacional y Scratch

Scratch sirve para aprender a programar:

  • En EE.UU. y Reino Unido la industria y el gobierno estimulan la enseñanza de la programación para solventar la falta de programadores en la industria:
  • Pero eso no es lo que nos trae a este curso.
  • Tampoco es el objetivo principal de Scratch, aunque Scratch se utiliza como curso 0 de Ingeniería en universidades como Harvard.

Scratch persigue otro programar para aprender:

  • Reencarna el sueño de Seymour Papert, quien estudió con Piaget en Suiza y luego creó en los 60 el lenguaje Logo en el MIT como herramienta constructivista.

 

Imagen extraída de la página del libro en la tienda Amazon

  • "La teoría del conocimiento constructivista postula la necesidad de entregar al alumno herramientas (generar andamiajes) que le permitan crear sus propios procedimientos para resolver una situación problemática, lo cual implica que sus ideas se modifiquen y siga aprendiendo". http://es.wikipedia.org/wiki/Constructivismo
  • Mitchel Resnick, creador de Scratch en el MIT, se basó en las ideas de Papert y en el concepto de bloques Lego, con quienes trabajaron en el MIT (Lego Mindstorms), para desarrollar Scratch.

 

 

  • M. Resnick sobre programar para aprender:
    • "Yo veo razones más profundas y generales para aprender a programar. En el proceso de aprender a programar, las personas aprenden muchas otras cosas. No están simplemente aprendiendo a programar, están programando para aprender, pués además de comprender ideas matemáticas y computacionales, tales como variables, condiciones, simultáneamente están aprendiendo estrategias para solucionar problemas, diseñar proyectos y comunicar ideas."
  • Programar es como escribir: no sólo los ingenieros informáticos deben saber programar, al igual que no sólo deben saber escribir los novelistas.
  • Al igual que las personas pueden expresarse mediante la escritura, mediante la programación con Scratch se pueden expresar creando medios interactivos:
    • animaciones
    • historias, presentaciones...
    • juegos
    • simulaciones interactivas
  • En este curso vamos a aprender a escribir (programas en Scratch).
  • Scratch no es el único lenguaje utilizado con este fin, aunque sí el más utilizado.

Definición de pensamiento computacional basado en Scratch:

  • Los autores de Scratch creen que "Scratch ofrece un contexto y un conjunto de oportunidades para contribuir en la conversación activa sobre pensamiento computacional''.
  • No hay consenso sobre qué es el pensamiento computacional.
  • Los autores de Scratch utilizan esta definición:
    • ''Procesos de pensamiento involucrados en formular problemas y encontrar sus soluciones de manera que las soluciones estén representadas de forma tal que puedan llevarse a cabo por un agente que procesa información (humano o máquina)'', en Demystifying Computational Thinking for Non-Computer Scientists, Jan Cuny, Larry Snyder and Jeannette M. Wing.

Marco conceptual para el pensamiento computacional basado en Scratch:

  1. Conceptos computacionales:
  • Secuencia
  • Iteración
  • Paralelismo
  • Eventos
  • Condicionales
  • Operadores
  • Datos

     2. Prácticas de pensamiento computacional:

  • Se enfocan en el proceso de pensar y de aprender.
  • Van más allá de qué estás aprendiendo para centrarse en cómo lo estás aprendiendo.
  • Prácticas computacionales:
    • Ser incremental en la búsqueda de soluciones
    • Ensayar y depurar
    • Reusar y remezclar
    • Abstraer y modularizar