Saltar al contenido
Lucas Gorodneff Desarrollo de e-learning

Actividades interactivas

Actividades SCORM en Rise 360 o a medida

Entrego cada actividad como un paquete SCORM que se sube al LMS y le envía el estado, la nota y las respuestas de cada estudiante. Según lo que pida el curso, la monto en Rise 360 o la programo a medida.

Rise 360 o desarrollo a medida

Las dos formas dan un paquete que funciona en Moodle™ y en cualquier LMS compatible con SCORM. Cambian lo que se puede hacer dentro y quién puede editarlo después.

En Rise 360

Cuándo conviene
Cursos de lectura con imágenes, pestañas, procesos, escenarios sencillos y preguntas, que el equipo de la organización quiere poder editar más adelante.
Qué cabe
Lo que permiten los bloques de Rise. Para un simulador o un caso animado con ramas hace falta otra herramienta.
Formato
SCORM 1.2, SCORM 2004, xAPI o cmi5, según lo que acepte la plataforma.
Licencias
Rise 360 forma parte de Articulate 360, que se paga por suscripción. Para editar el curso después, la organización necesita la suya.

A medida

Cuándo conviene
Cuando la actividad necesita algo que una herramienta de autor no da: un caso animado que se detiene para que el estudiante decida, un simulador que calcula con su modelo o un laboratorio donde se ejecuta código.
Qué cabe
Cualquier interacción que funcione en un navegador, con la letra, los colores y el logo de la organización.
Formato
SCORM 1.2 o SCORM 2004, en HTML, CSS y JavaScript. Las letras, las imágenes y el código van dentro del paquete.
Licencias
Ninguna. El paquete es de la organización, que lo puede alojar y usar en tantos cursos como quiera.

Qué recibe la plataforma

Estos son los datos que envían los paquetes a medida. Los de Rise envían los que permita su configuración de exportación.

  • Estado

    Si el estudiante terminó la actividad y si la aprobó, para que el LMS marque la finalización del curso.

  • Nota

    La calificación de 0 a 100, que pasa al libro de calificaciones con el peso que tenga la actividad.

  • Cada respuesta

    Lo que eligió o escribió el estudiante en cada pregunta o decisión y si era correcto, para revisar dónde se equivoca el grupo.

  • Tiempo y avance

    El tiempo de cada sesión y el punto donde se quedó, para retomar la actividad sin empezar de cero.

Ejemplo: lo que envía cada paquete en una sesión

Son las llamadas que hacen a la plataforma los paquetes de las muestras, copiadas de su código. Los valores salen de un intento de ejemplo.

Caso con decisiones: Una negociación en la cafetería

  1. Abre la actividad

    LMSInitialize("")  → "true"
    LMSGetValue("cmi.core.lesson_status")  → "not attempted"
    LMSSetValue("cmi.core.lesson_status", "incomplete")
  2. Decide ofrecer un 5 % y regatear (A)

    LMSSetValue("cmi.interactions.0.id", "decision_negociacion")
    LMSSetValue("cmi.interactions.0.type", "choice")
    LMSSetValue("cmi.interactions.0.student_response", "a")
    LMSSetValue("cmi.interactions.0.result", "wrong")
    LMSCommit("")
  3. Vuelve a decidir: pregunta por qué sube el precio (B)

    LMSSetValue("cmi.interactions.1.id", "decision_negociacion")
    LMSSetValue("cmi.interactions.1.type", "choice")
    LMSSetValue("cmi.interactions.1.student_response", "b")
    LMSSetValue("cmi.interactions.1.result", "correct")
    LMSCommit("")
  4. Elige «¿Para qué necesita la sala cada área?» (C)

    LMSSetValue("cmi.interactions.2.id", "pregunta_intereses")
    LMSSetValue("cmi.interactions.2.type", "choice")
    LMSSetValue("cmi.interactions.2.student_response", "c")
    LMSSetValue("cmi.interactions.2.result", "correct")
    LMSCommit("")
  5. Termina con 80 puntos: 20 de la decisión, en el segundo intento, y 60 de la pregunta

    LMSSetValue("cmi.core.score.min", "0")
    LMSSetValue("cmi.core.score.max", "100")
    LMSSetValue("cmi.core.score.raw", "80")
    LMSSetValue("cmi.core.lesson_status", "passed")
    LMSCommit("")
  6. Cierra la actividad

    LMSSetValue("cmi.core.session_time", "00:03:48")
    LMSSetValue("cmi.core.exit", "")
    LMSCommit("")
    LMSFinish("")

Simulador: El empuje de un arco

  1. Abre la actividad

    LMSInitialize("")  → "true"
    LMSGetValue("cmi.core.lesson_status")  → "not attempted"
    LMSSetValue("cmi.core.lesson_status", "incomplete")
  2. Predice que el arco rebajado empuja más (C)

    LMSSetValue("cmi.interactions.0.id", "prediccion_empuje_rebajado")
    LMSSetValue("cmi.interactions.0.type", "choice")
    LMSSetValue("cmi.interactions.0.student_response", "c")
    LMSSetValue("cmi.interactions.0.result", "correct")
    LMSCommit("")
  3. Calcula el empuje: responde 60 kN (C)

    LMSSetValue("cmi.interactions.1.id", "calculo_empuje")
    LMSSetValue("cmi.interactions.1.type", "choice")
    LMSSetValue("cmi.interactions.1.student_response", "c")
    LMSSetValue("cmi.interactions.1.result", "wrong")
    LMSCommit("")
  4. Lo corrige: 30 kN (B)

    LMSSetValue("cmi.interactions.2.id", "calculo_empuje")
    LMSSetValue("cmi.interactions.2.type", "choice")
    LMSSetValue("cmi.interactions.2.student_response", "b")
    LMSSetValue("cmi.interactions.2.result", "correct")
    LMSCommit("")
  5. Termina con 70 puntos: 40 de la predicción y 30 del cálculo, en el segundo intento

    LMSSetValue("cmi.core.score.min", "0")
    LMSSetValue("cmi.core.score.max", "100")
    LMSSetValue("cmi.core.score.raw", "70")
    LMSSetValue("cmi.core.lesson_status", "passed")
    LMSCommit("")
  6. Cierra la actividad

    LMSSetValue("cmi.core.session_time", "00:06:15")
    LMSSetValue("cmi.core.exit", "")
    LMSCommit("")
    LMSFinish("")

Laboratorio de código: Laboratorio de Python

  1. Abre la actividad

    LMSInitialize("")  → "true"
    LMSGetValue("cmi.core.lesson_status")  → "not attempted"
    LMSSetValue("cmi.core.lesson_status", "incomplete")
  2. Ejecuta las pruebas: supera 2 de las 3 tareas

    LMSSetValue("cmi.interactions.0.id", "laboratorio_notas")
    LMSSetValue("cmi.interactions.0.type", "performance")
    LMSSetValue("cmi.interactions.0.student_response", "2/3 tareas")
    LMSSetValue("cmi.interactions.0.result", "wrong")
    LMSCommit("")
  3. Se guarda su código para seguir otro día

    LMSSetValue("cmi.suspend_data", '{"c":"import csv …","p":{"leer":30, …}}')
    LMSCommit("")
  4. Cierra sin terminar: la próxima vez sigue donde lo dejó

    LMSSetValue("cmi.core.session_time", "00:12:05")
    LMSSetValue("cmi.core.exit", "suspend")
    LMSCommit("")
    LMSFinish("")

Cómo lo compruebo

  1. Accesibilidad.Recorro la actividad solo con el teclado y paso un comprobador automático de accesibilidad con las pautas WCAG 2.2, nivel AA.
  2. En un visor SCORM.Veo, dato a dato, lo que el paquete envía a la plataforma en cada paso: al abrirlo, al responder y al salir.
  3. En la plataforma de destino.Lo subo al LMS de la organización o a un Moodle de pruebas y lo hago entero con una cuenta de estudiante.

Tres actividades para probar

Las tres son paquetes a medida. Se abren en un visor que muestra, al lado, lo que recibiría la plataforma.

Contacto

Pedir una propuesta

Para preparar una propuesta me sirve saber el curso o el público, el material que ya existe y la fecha en que hace falta. Suelo responder en uno o dos días hábiles.

Curso o público, material disponible y fecha en que hace falta.

Si el formulario no funciona en este navegador, escríbeme a hola@lucasgorodneff.com.

Protección de datos. Responsable: Lucas Ivan Gorodneff. Uso los datos solo para responder la consulta y, si se pide, preparar una propuesta. La base es la propia solicitud y mi interés legítimo en responderla. Llegan a mi correo de Zoho Mail, que los guarda en la Unión Europea por encargo mío. No los cedo a nadie. Puedes pedir acceso, corrección o borrado, entre otros derechos, en hola@lucasgorodneff.com. Más información en la política de privacidad.