Está en la página 1de 54

¿Cómo abordamos

la enseñanza de
la programación?

Jornada para la mejora de las


competencias docentes del
profesorado de informática

Joaquin López Sánchez-Montañés


SUMARIO
✔ Programar desde la adolescencia
✔ La hora del código
✔ Code.org
✔ Diferentes tipos de herramientas visuales
✔ ¿Qué es Scratch? Características. Filosofía
✔ ¿Qué puedo hacer con Scratch?
✔ Relación con otras asignaturas
✔ Conceptos de programación
✔ ¿Por donde empiezo?
✔ Conclusión
Programar desde la adolescencia
"La habilidad para programar
computadoras es una parte
importante del alfabetismo en la
sociedad actual. Cuando las personas
aprenden a programar en #Scratch,
aprenden estrategias importantes
para resolver problemas, diseñar
proyectos y comunicar ideas".

Mitch Resnick
La hora del código (I)

···
La hora del código (II)
La hora del código (III)
Code.org
Code.org (K-8)
Pensamiento computacional
Es una forma de preparar los problemas del mundo real para una
representación computacional.

Hace uso de 4 pasos que ayudan a resolver distintas clases de problemas.

Descomponer
Descomponer

Patrones
Patrones

Abstracción
Abstracción

Algoritmos
Algoritmos
P. Computacional (Descomponer)

Paso 1) Descomponer

Partir un problema difícil en problemas más pequeños y fáciles.


P. Computacional (Patrones)
Paso 2) Patrones

Un patrón es algo que se repite muchas veces. Si descubrimos esas


partes que tienen algo en común, se vuelve más fácil entender las distintas
piezas que forman el problema.
P. Computacional (Abstracción)
Paso 3) Abstracción

Una vez reconocidos los patrones podemos abstraer (ignorar) los detalles y
usar esto como algo general y obtener una solución que funcione para varios
problemas a la vez.
P. Computacional (Algoritmos)
Paso 4) Algoritmos

Una lista de pasos que permite realizar una tarea. Nos permiten procesar
la descripción de la solución paso a paso.
Code.org (K-8)
Code.org (K-8)
Code.org (K-8)

● Studio.code.org
● Actividades off-line

● TPC
Code.org (Conclusiones)
✔Hay una elección diferencial por género de la
asignatura optativa de informática:
66% chicos vs. 33% chicas aprox.
✔Hay una gran diversidad inicial en la aptitud
'pensamiento computacional' entre los estudiantes.
✔El 'pensamiento computacional' se desarrolla con la
edad.
✔No hay diferencias iniciales de género en
'pensamiento computacional'.
Code.org (Conclusiones)
✔ El pensamiento computacional correlaciona con otras
variables cognitivas como 'resolución de problemas' o
'razonamiento lógico'
✔El curso K-8 mejoró el nivel de pensamiento
computacional y de resolución de problemas de los
estudiantes.
✔Después de realizar el curso K-8, un 77% tiene la
percepción de que la programación se le da 'bien' o
'muy bien'; y un 80% declara su intención de seguir
aprendiendo programación.
Diferentes tipos de
herramientas visuales
✔ Alice: Herramienta de programación en 3D
✔ Tynker: Crear juegos, historietas, etc
✔ Kodable, Hopscotch (IPAD)
✔ Code combat: javascript
✔ Gamesonomy: videojuegos
✔ Code.org
✔ Scratch: Multiuso
¿Qué es SCRATCH?

✔Es un leguaje de programación desarrollado


por el MIT, con la finalidad de que las personas
puedan programar de forma sencilla.

✔ Es una evolución del famoso lenguaje de


programación LOGO, que permite en muy corto
tiempo la creación interactiva de animaciones,
historias, juegos música, arte, etc. (Resnick, M.
2007)
Características

✔El lenguaje esta basado bloques gráficos y con una interfaz fácil
para su aprendizaje, lo que ha hecho posible más de 120.000
proyectos educativos.


Viene con un entorno colaborativo que permite compartir proyectos,
scripts y personajes en la web.

✔Consiste en la unión de bloques que pueden ser eventos,


movimientos de gráficos y sonidos. Haciéndolo muy intuitivo y
didáctico para aprender a programar.

✔Al final este lenguaje corre sobre un applet Java y sus programas
pueden ser ejecutados directamente sobre el navegador en Internet.
¿Quién lo usa?

http://scratch.mit.edu/statistcs
FILOSOFÍA

Espiral del Pensamiento Creativo


(Resnick, M. 2007)
¿Cómo lo instalo?


No es necesario instalarlo, la versión 2.0
se puede ejecutar on-line. Pero...

En lliurex 15.05 vienen las dos versiones
actuales instaladas en local.
IDEAS SUBYACENTES


Objetivos al usar Scratch

Preparar al alumno para herramientas
superiores

Desmitificar la programación

Estimular la creatividad

Invitar a la exploración y el descubrimiento


No se puede lograr sin:
¡DIVERSIÓN!
Entorno de programación (1.4)
Entorno de programación (2.0)

Ejemplo de
un programa
¿Qué puedo hacer con SCRATCH?

✔ Se pueden crear historias interactivas,


interactivas juegos,
juegos
animaciones,
animaciones música,
música producciones artísticas y
compartir las creaciones con otras personas.
✔ Podemos utilizarlo para enseñar a programar.
programar
✔ Se puede aplicar a la electrónica digital,
digital a la
domótica,
domótica a la robótica.
✔ Ayuda a los estudiantes a pensar algorítmicamente
y a aprender a abordar problemas metódicamente.
✔Transversalidad con otras materias:
matemáticas, física, historia, etc.
Programar para aprender (I)
Programar para aprender (II)
Programar para aprender (III)
Conocer Scratch

TIPOS DE
ACCIONES
Ejemplos (Vídeo)

Frank Sabaté
CONCEPTOS
DE PROGRAMACIÓN:
✔ Secuencia ✔ Manejo de eventos
✔ Bucles ✔ Hilos (paralelismo)
✔ Variables ✔ Lógica booleana
✔Sentencias ✔Coordinación y
Condicionales sincronización
✔Entradas vía ✔ POO, etc
teclado
Secuencia

Instrucciones
Sentencias Condicionales (I)
Sentencias Condicionales (II)

✔Otro bloque
condicional es:

✔ Y otro es:
Lógica Booleana

✔En Scratch,
cualquier bloque
con la forma de un
diamante alargado
es una expresión
booleana.
Bucles
Variables
Hilos (de ejecución – I)
Hilos (de ejecución – II)

✔Al lanzar dos


fragmentos de código
a la vez, se crean dos
hilos independientes
separados que se
ejecutan en paralelo.
Manejo de eventos (I)

✔En programación,
múltiples hilos se
pueden comunicar
entre ellos creando y
manejando eventos.
✔Un evento es un
mensaje de un hilo a
otro.
Manejo de eventos (II)

✔Un bloque que recibe y


maneja un evento es:
Manejo de eventos (III)

✔Al pulsar una tecla y


cuando se pulsa un
objeto, son ejemplos
de manejo de eventos.

Estamos respondiendo
a eventos que han
sido producidos por el
usuario o por otra
parte del programa.
Sincronización
Enviar a todos puede coordinar las acciones de múltiples
objetos.

✔Por ejemplo, Objeto1 envia ✔ Este programa en el


el mensaje “Ganador” Objeto2 es lanzado
cuando se cumple la cuando se recibe el
condición: mensaje:
Programación
Orientada a Objetos
✔Cada objeto puede tener sus propios programas y
datos
Diseño del interfaz del usuario

✔Podemos diseñar interfaces interactivos de


usuario en Scratch – por ejemplo, usando
objetos clicables para crear botones.
¿ Y ahora qué?
¿Qué más podemos hacer?

✔ Crear nuevos bloques


✔ Snap!
✔ Dr Scratch
✔ Empezar con lenguajes convencionales (python)
✔ Conexión de scratch con el mundo físico:
✔ S4A
✔ Lego WeDO
✔ Placa PicoBoard
✔ Makey Makey
S4A
¿POR DONDE EMPIEZO?

✔ Guía de referencia de SCRATH


✔ http://wikimanuals.edutictac.es
✔Curs del CEFIRE:
Programació senzilla d'animacions i jocs:
scratch
✔ http://scratchcatala.com
CONCLUSIÓN

✔Si bien no les enseña exactamente un lenguaje de


programación, se les inculca el razonamiento detrás
de éstos.

✔Nos permite interactuar con el mundo exterior tanto


de forma analógica como digital.

✔Desde el punto de vista docente, scratch constituye


una herramienta con gran potencial para desarrollar
estrategias educativas o actividades de evaluación
formativas.
¡ GRACIAS !

También podría gustarte