19
Manual Técnico para Google Course Builder [Escriba el subtítulo del documento] [Escriba aquí una descripción breve del documento. Normalmente, una descripción breve es un resumen corto del contenido del documento. Escriba aquí una descripción breve del documento. Normalmente, una descripción breve es un resumen corto del contenido del documento.] 2013 Ana Illanas Vila Servicio de informática. Universidad de Alicante Versión 1.0. Marzo 2013

Manual Tecnico Para Google Course Builder

Embed Size (px)

Citation preview

Page 1: Manual Tecnico Para Google Course Builder

Manual Técnico para Google Course

Builder [Escriba el subtítulo del documento] [Escriba aquí una descripción breve del documento. Normalmente, una descripción breve es un resumen corto del contenido del documento. Escriba aquí una descripción breve del documento. Normalmente, una descripción breve es un resumen corto del contenido del documento.]

2013

Ana Illanas Vila Servicio de informática. Universidad de Alicante

Versión 1.0. Marzo 2013

Page 2: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

Introducción a los MOOC y al Google Course Builder 1

Universidad de Alicante

Contenido

Introducción a los MOOC y al Google Course Builder ............................................................ 2

MONTAR UN CURSO CON GOOGLE COURSE BUILDER ........................................................... 3

¿Qué necesito? .......................................................................................................................... 3

Montar un sitio multicurso ....................................................................................................... 4

Crear un curso ........................................................................................................................... 5

Añadir unidades y lecciones al curso ........................................................................................ 7

Unidades: .............................................................................................................................. 8

Lecciones: .............................................................................................................................. 9

Crear una actividad ................................................................................................................. 10

Crear assessments (graded test) ............................................................................................. 14

Crear un test ........................................................................................................................ 14

Puntuación (scoring) ........................................................................................................... 16

Modificar el número de assessments ................................................................................. 16

Otros aspectos del desarrollo ............................................................................................. 17

Internacionalización ................................................................................................................ 17

Verificar el código .................................................................................................................... 17

Subir la aplicación (curso) a google ..................................................................................... 18

Page 3: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

Introducción a los MOOC y al Google Course Builder 2

Universidad de Alicante

Introducción a los MOOC y al Google Course Builder

MOOC. Massive Open Online Course - Open Access: Los estudiantes no tienen que estar matriculados en el centro que los

soporta.

- Scalability: Indefinido número de participantes

- Financiación:

o Las universidades que los lideran, principalmente.

o Empresas de inversión capital-riesgo

o Empresas (estudiantes = futuros contratados)

o Gratis para los alumnos (por ahora). La certificación podría ser de pago.

- Evaluación:

o ‘peer assessment’ (evaluación entre pares): los propios alumnos se califican

entre ellos (Google Course Builder no lo incorpora)

o Criterios claramente establecidos rúbrica (criterios + estándares)

Google Course Builder. - Incluye:

o Lecciones, tutoriales, ejercicios

o Actividades para los alumnos

o Exámenes y gestión de evaluaciones

o Comunidades virtuales, foros…

- Prerrequisitos de uso:

o Experiencia en creación de materiales

o Familiarización con HTML y JavaScript

o Familiarizado con AppEngine (como un plus)

- Coste:

o Cada curso puede consumir un cierto número de recursos gratis.

o Si se necesita más, hay que comprarlo

- Publicación del curso:

o Dominio gratuito: APP_ID.appspot.com

o Puedes comprar tu propio dominio

- Los alumnos tienen que usar cuenta de google.

Page 4: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 3

Universidad de Alicante

MONTAR UN CURSO CON GOOGLE COURSE BUILDER

¿Qué necesito? - Instalar el Course Builder Launcher,

para compilar y lanzar los cursos en

local. Para que funcione necesitas:

o Instalar Python

o Instalar App Engine

- Descargar el curso de ejemplo de Google. Al descomprimirlo en el destino deseado

obtienes los archivos siguientes:

- Cargar, compilar y ejecutar el curso de ejemplo de Google en el Launcher.

(*)

(*)

(*)

(*) Estos son los únicos archivos y

directorios que aconsejan modificar para

elaborar tu curso. El resto deberías evitar

modificarlos para simplificar la migración a

futuras versiones de CourseBuilder.

Nota. Debido a incompatibilidades de versiones entre librerías, completar la

instalación y lanzar el curso de prueba en el launcher con éxito puede no funcionar a

la primera.

Abrir

Compilar Ejecutar

Page 5: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 4

Universidad de Alicante

Montar un sitio multicurso Es posible montar varios cursos en una única instacia de Course Builder. Esto

permitiría acceder a cada uno de ellos de la siguiente forma:

http://www.uamooc.es/index.html Página principal de la plataforma de cursos.

http://www.uamooc.es/algebra mooc de algebra

http://www.uamooc.es/calculo mooc de calculo

Cambio en la estructura de ficheros:

- Se crea una carpeta llamada courses y dentro de ella, tantas carpetas como

cursos se necesiten.

- Dentro de cada curso, se copian las carpetas asstes, data, view y el fichero

course.yaml. Estos archivos serán particulares para cada curso y el resto son

comunes para todos:

Añadir las rutas en el archivo app.yaml:

En la sección env_variables del archivo app.yaml hay que añadir tantas reglas

GCB_COURSES_CONFIG como cursos tengamos.

Una regla GCB_COURSES_CONFIG tiene la siguiente estructura:

GCB_COURSES_CONFIG:

‘course:url_prefix:localización_de_los_archivos_fisicos,

‘course:url_prefijo:localización_de_los_archivos_fisicos’

Page 6: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 5

Universidad de Alicante

Crear un curso No merece la pena crear un curso desde cero, ya que se genera

un ‘Hola Mundo’ básico con muy pocos ficheros:

Lo recomendable es modificar el curso de ejemplo que Google te proporciona.

Personalizar la página principal

Se necesita modificar el archivo course.yaml para cambiar el título del curso, los textos

de la pantalla principal y de otras (como la de registro), los textos y logos de la

cabecera y pie, el idioma del curso, el video de bienvenida…

Page 7: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 6

Universidad de Alicante

Nota. El fichero tiene un formato rígido y es muy sensible a tabulaciones y

caracteres especiales.

Page 8: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 7

Universidad de Alicante

Para modificar la visualización de los cursos hay que recurrir a los ficheros (aunque

al principio, el directorio view está en la lista de los archivos que te recomiendan no

modificar):

- views/base_registration.html o views/base.html: cabecera y pie para

usuarios no registrados o registrados.

- views/preview.html o views/course.html: contenido del curso para

usuarios no registrados o registrados.

- views/summary.html: descripción del curso y video introductorio.

Añadir unidades y lecciones al curso En CourseBuilder, un curso está formado por unidades y cada unidad por lecciones y

actividades.

Unidades

Page 9: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 8

Universidad de Alicante

Unidades:

Para especificar las unidades del curso hay que editar el archivo: data/unit.csv

En él, cada fila corresponde a una unidad con la siguiente información:

- id: identificador de la unidad. Números consecutivos comenzando por 1.

- type: tipo de unidad. Sólo puede tener los siguientes valores:

o A: Actividad

o U: Unidad

o O: Otros (link, video, hongout on air)

- unit_id: su valor depende del campo ‘type’

o A: sufijo del fichero js que contiene la actividad (assessment-sufijo.js)

o U: identificador de la unidad

o O: el link del material externo

- title: texto con el título de la unidad

- release_date: fecha a partir de la cual la unidad está disponible. Puede

quedarse vacio.

- now_available: si la unidad está disponible o no para ser cursada (‘true’ o

‘false’).

Lecciones

Page 10: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 9

Universidad de Alicante

Lecciones:

Para especificar las unidades del curso hay que editar el archivo: data/lesson.csv

En él, cada fila corresponde a una lección con la siguiente información:

- unit_id: identificador de la unidad a la que pertenece la lección.

- unit_title: título de la unidad a la que pertenece la lección.

- lesson_id: identificador de la unidad. Número consecutivo comenzando por 1.

- lesson_title: título de la lección

- lesson_activity: si es una actividad (‘yes’) o no (se deja en blanco).

- lesson_notes: URL de la versión texto de la lección.

- lesson_video_id: código de video de youtube

- lesson_objectives: texto con los objetivos de la lección (html)

Notas:

- Lo títulos de la unidad deben coincidir en el archivo unit.csv y lesson.csv.

Al modificar el título de una lección en unit.csv hay que modificarlo

también en lesson.csv para que no falle.

- La versión en texto de la lección es un enlace externo (lesson_notes), eso

quiere decir que algunos datos de la lección, como por ejemplo el título,

podrían no coincidir si se modificaron en el archivo .csv pero no en la

versión texto.

Page 11: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 10

Universidad de Alicante

Crear una actividad

Los archivos implicados en la pantalla de una actividad son los siguientes:

- views/base.html: (igual que en las lecciones) para usuarios registrados

- views/activity.html: define las mismas partes que views/unit.html

- assets/js/activity-N.M.js: contiene un array JavaScript. Donde:

o N: corresponde al número de unidad a la que pertenece

o M: corresponde al número de lección a la que pertenece.

Page 12: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 11

Universidad de Alicante

Activity-N.M.js

- Consiste en una variable activity que es un array que puede contener:

o Una cadena de texto HTML

o Una pregunta

o Un ‘Answer Information’ (respuestas seleccionables)

Texto

HTML

pregunta

Answer

Information

Page 13: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 12

Universidad de Alicante

- Tipos de Answer Information:

o Single multiple-choice question

{ questionType: ‘multiple choice’,

choices: [

[‘texto de la respuesta’,

true/false,

‘texto a mostrar si la selecciona’

],

[‘texto de la respuesta’,

true/false,

‘texto a mostrar si la selecciona’,

],

]

}

o Group of multiple-choice questions

Page 14: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 13

Universidad de Alicante

{ questionType: ‘multiple choice group’,

questionsList:

[

{

questionHTML: ‘texto de la pregunta’,

choices: [‘OpciónA’, ‘OpciónB’, ‘OpciónC’, …],

correctIndex: 0

},

{

questionHTML: …

},

],

allCorrectOutput: ‘texto que aparecerá si acierta todas las preguntas’,

someIncorrectOutput: ‘texto que aparecerá si falla alguna pregunta’

}

o Free text

{ questionType: ‘freetext’,

correctAnswerRegex: expresión regular para comprobar si la respuesta

del alumno es correcta o no.

correctAnwerOutput: ‘texto que aparecerá si la respuesta es correcta’,

incorrectAnswerOutput: ‘texto que aparecerá si es incorrecta’,

showAnswerOutput: ‘texto que aparecerá si pulsas el botón de “Saltar y

Mostrar Respuesta”’,

showAnswerPrompt: ‘texto del botón “Saltar y Mostrar Respuesta”’,

outputHeight: ‘altura en píxels para la caja de texto’

}

Page 15: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 14

Universidad de Alicante

Crear assessments (graded test)

Crear un test

Cada test está en un fichero assets/js/assessment-SUFFIX.js que contiene los

atributos del cuestionario y sus preguntas correspondientes.

assessment-SUFFIX.js

Page 16: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 15

Universidad de Alicante

Este fichero contiene una variable assessment que es un array de atributos y preguntas:

var assessment =

{

assessmentName: ‘nombre_unico_del_assessment’,

preamble: ‘texto HTML que introduce el cuestionario’,

checkAnswer: true/false, // si los estudiantes pueden comprobar

// las respuestas antes de enviar el

// cuestionario

{Listado_de_preguntas} (*)

}

(*) Listado de preguntas: Se refiere a un array de preguntas separadas por comas.

Cada pregunta tiene la siguiente estructura:

{

questionHTML: ‘El texto de la pregunta’,

Lesson: ‘1.5’, // Lección a la que corresponde (para orientar)

Pregunta (**)

}

(**) Pregunta: La estructura de este atributo varía dependiendo del tipo de pregunta

que sea. Los tipos de preguntas y sus correspondientes estructuras son los siguientes:

- Pregunta de respuesta múltiple: choices[‘respuesta 1’,

‘respuesta 2’,

correct(‘respuesta 3’),

‘respuesta 4’]

- Pregunta de respuesta numérica:

correctAnswerNumeric:

- Pregunta de respuesta de texto (case-sensitive): correctAnswerString: ‘hello’

(aceptaría ‘hello’ y ‘Hello’ como respuestas correctas, pero no ‘hellos’)

- Pregunta de respuesta de texto libre (expresión regular): correctAnswerRegex: expresión_regular

Page 17: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

MONTAR UN CURSO CON GOOGLE COURSE BUILDER 16

Universidad de Alicante

Puntuación (scoring)

- assets/js/activity-generic.js:

checkOrSubmitAnswers determina la puntuación de cada assessment. La

fórmula por defecto es un porcentaje simple de preguntas correctas

sobre el número total de preguntas.

- controllers/assessments.py:

storeAssessmentData determina cuando se almacena la nota. Por

defecto se hace la primera vez que el alumno hace el test y cada vez

que supera la nota anterior.

Cuando se completa el test final, storeAssessmentData también

determina cómo se puntúa el curso entero. Por defecto es un 30% para

el test de mitad de curso y 70% para el test final.

Modificar el número de assessments

Por defecto, Course Builder tiene 3 assessments: precourse assessment, midterm

assessment y final assessment.

Para modificar esto:

1. Crear un fichero assessment-SUFFIX.js en assets/js para cada cuestionario y

rellenar sus atributos.

2. Añadir el assessment en su lugar correspondiente en data/unit.csv utilizando

el SUFFIX del archivo .js para referenciarlo.

3. Actualizar el storeAssessmentData en controllers/assessment.py para

añadirlo a las notas del alumno utilizando el atributo assessmentName del

archivo .js para referenciarlo.

4. Actualizar el archivo views/student_profile.html para que le aparezca el

cuestionario al alumno en su perfil.

5. Actualizar views/test_confirmation.html para mostrar un mensaje de

confirmación apropiado para cada cuestionario.

Page 18: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

Otros aspectos del desarrollo 17

Universidad de Alicante

Otros aspectos del desarrollo

Internacionalización

Se puede traducir el texto visible para los alumnos a varios idiomas. Se refiere a los textos en

los ficheros HTML del directorio views.

Sintaxis: {% trans %} Texto _a_traducir {% endtrans %}

Este framework de internacionalización se basa en las tecnologías: webapp2, pybabel, pytx,

jinja2’s. Es un desarrollo de unimooc-tec.

Verificar el código

Consiste en comprobar si los ficheros csv están correctamente formados antes de subir el

curso a google.

Se ejecuta por línea de comandos lo siguiente:

cd APPPATH

python tolos/verify.py

Page 19: Manual Tecnico Para Google Course Builder

MANUAL TÉCNICO PARA GOOGLE COURSE BUILDER

Subir la aplicación (curso) a google 18

Universidad de Alicante

Subir la aplicación (curso) a google

- Es necesario una cuenta de google.

- Registrar la aplicación (curso) con google:

o En este paso es donde te asignan el dominio

o Dos formas:

Con el navegador: appengine.google.com

Con el launcher: Dashboard

- Subir (upload or deploy) la aplicación:

o Línea de comandos: cd APPPATH

appcfg.py update.

- Modificar una aplicación en producción:

o Línea de comandos: cd APPPATH

appcfg.py update.

o Se actualizan los ficheros:

csv y course.yaml de manera inmediata

assessments, activities y views tienen un retardo de 10 minutos.