Conceptos de programación aplicados al diseño instruccional
Proyectos en paralelo para diversos clientes, series de contenidos, virtualización de programas educativos enteros y todo por supuesto dentro de los tiempos pactados. Para quienes estamos metidos en el oficio del diseño instruccional, la sobrecarga de trabajo es pan de cada día, por esta razón, encontrar métodos que nos permitan manejar la complejidad de nuestros proyectos se hace imperioso. Una de estas salidas la podemos encontrar en la programación, cuya aplicación de sus principales conceptos nos permite diseñar objetos de aprendizaje a manera de código de programación, de forma rápida y reduciendo la ambigüedad. Esta última uno de los principales causantes de re-procesos a la hora de trabajar en equipo.
Codificación
Digamos que queremos indicar en un guión una interacción determinada. Se podría enunciar de 2 formas:
Arrastrar el elemento A al destino que le corresponde, en caso el destino sea el correcto se produce un sonido de bien, en caso el destino sea el incorrecto el elemento regresa a su lugar y se produce un sonido de mal. o dicho a manera de código,
<001,interactivo:objetoAdestino> Elemento A </>
Ambos casos se refieren a lo mismo, sin embargo, en el segundo se puede decodificar de manera más rápida y con menor grado de ambigüedad dado que <001,interactivo:objetoAdestino> Elemento A </> es un objeto cuyas propiedades han sido definidas previamente en un catálogo de clases que funcionan como plantillas (explicaremos en el siguiente punto qué es una clase).
Por otro lado, noten que el objeto tiene un nombre (001) que permite facilitar su referenciamiento, lo cual es particularmente útil para la comunicación entre miembros de un equipo descentralizado.
Instanciamiento
En suma cuenta lo que la programación le aporta a nuestro diseño instruccional es metadata, lo cual tiene que ver con el hecho de no partir de cero cada vez que empezamos a trabajar el DI de un nuevo proyecto, lo cual significa un ahorro considerable de tiempo.
En nuestro ejemplo anterior habíamos mencionado los conceptos de "objeto" y "clase".
Objeto = <001,interactivo:objetoAdestino> Elemento A </>
Clase = <interactivo:objetoAdestino>
Todo objeto se crea a partir de una clase. La clase es una generalización, una estructura abstracta que le otorga sus propiedades al objeto. Dicho bajo la jerga de los programadores, un objeto es una instancia de clase.
Entonces, crear el DI de un objeto de aprendizaje bajo esta técnica no es otra cosa que componer una colección de objetos (instancias) con el respectivo señalamiento a las clases a las cuales pertenecen. Veremos un ejemplo más adelante.
Anidación y catalogación
Este es un concepto muy poderoso ya que nos permite capitalizar nuestra experiencia ampliando nuestro repertorio de clases de manera organizada y con ello darle más variedad a nuestros DIs.
Siguiendo con nuestro ejemplo, digamos que en un proyecto x se requiere variar la funcionalidad de la clase <interactivo:objetoAdestino>, incorporando la condición que el elemento que se debe arrastrar tenga más de un destino válido.
Entonces, creamos la clase <interactivo:objetoAdestino:multidestino> y la añadimos a nuestra librería. Esta nueva clase hereda todas las propiedades de la clase anterior.
Gracias a esta forma de creación de entidades derivadas y catalogación propias de la programación vamos organizando nuestro know how de manera orgánica a manera de árbol. Más opciones, clientes más satisfechos.
Ejemplo práctico
Han visto la imagen que abre este post, es un ejemplo chiquito de esta técnica, el cual les explico a continuación.
Digamos que quiero construir una diapositiva para mostrar una reseña de Alexander Fleming el descubridor de los efectos antibióticos de la penicilina. Para ello deseo utilizar una foto del científico, colocar como título de la diapositiva, su nombre, escribir una breve reseña y finalmente una ilustración de cómo actuaba la penicilina sobre las bacterias.
*/ las explicaciones al código en cursiva
(código):
<1,texto:titulo> Alexander Fleming (1881-1955) </1>
*/ Este objeto se llama "1". Es un texto de tipo título. "</1> señala el final del objeto.
<2,imagen:foto> foto de Fleming en su laboratorio </2>
<3,texto:reseña> Sir Alexander Fleming fue un…
<4,grafico:ilustración> ataque de la penicilina a una bacteria, vista desde el microscopio. </4>
*/ Los objetos siguen un criterio de relación de tipo jerárquica. Esto significa que un objeto puedo o no estar contenido en otro. En este caso el objeto 4 está contenido en el objeto 3.
Con estas indicaciones el miembro del equipo a cargo de diseño gráfico tendría que llegar a algo como esto (claro que con mejor pinta):
Moraleja
Utilizar una suerte de lenguaje de programación para crear objetos de aprendizaje nos permite trabajar sobre la base de un universo finito de posibilidades basado a su vez en nuestra experiencia como diseñadores instruccionales, con lo cual podemos tener más control del proyecto, mejorar la calidad y sobre todo cumplir con los tiempos.