Diario de mi Proyecto : PFC sobre Moodle

  Archivos
Jul 07 [2]
Jun 07 [12]
Mayo 07 [13]
Mar 07 [3]
Nov 06 [6]
Oct 06 [5]


Sindicación
Artículos
Comentarios


Enlaces
eGrupos
ZoomBlog

 
Inicio | Mi Perfil | Suscríbete al blog
 

Redireccionar la entrada y salida de los programas

Enlace permanente 17 de Mayo, 2007, 11:58

En cuanto al segundo punto de las tareas para esta 7º entrega ya he pensado alguna solución:

Redireccionamiento de salida

La salida producida por los programas la volcaré a un fichero y posteriormente leeré del mismo y mostraré el resultado en la consola oportuna en Remote Running.

Redireccionamiento de entrada

Esto es más complicado, como el módulo ha de funcionar en Windows y Linux, no puedo utilizar sólo comandos de Unix para capturar las señales que se producen a la hora de necesitar datos un programa.

La primera idea que se me ocurrió fue capturar la señal producida por un programa cuando pide datos de entrada (scanf, cin, etc) y lanzar algún tipo de consola para introducir esos datos por teclado. ¿Puede PHP capturar señales a nivel de SO? Si consigo realizar la captura de datos de la anterior manera, ¿cómo los introduzco en el programa?

Consultando con algunos compañeros se nos ocurrió una idea básica. Hacer una lectura del código fuente del programa para buscar instrucciones de entrada, pedirlas mediante mensajes en pantalla y luego pasarlas como argumento al programa. Esta idea tiene el inconveniente de tener que programar las variables como si fueran argumentos, restingiendo así la programación.

Lo que realizaré como solución provisional es tomar los datos por los terminales típicos del SO que se esté utilizando en ese momento.

Bye
Comentarios 32 ~ Comentar | Referencias (0)


 

Formulario completo!

Enlace permanente 16 de Mayo, 2007, 10:59

Conseguido!
Ya he averiguado como restringir la calificación y el tiempo de examen hasta que no se pulse el cuadro de Examen. El código es una combinación de JavaScript, HTML y PHP.

Primero: se creará una variable en JavaScript incluyendo los campos que se quieren restringir. Los campos a restringir son time_exam y grade y se corresponden con el nombre de los campos de texto o botones que se bloquearán mientras el módulo no esté destinado a un examen:

<script type="text/javascript" language="javascript">   
    var timelimititems = ['time_exam', 'grade'];
</script>

Segundo:  se define los campos del formulario, tanto el botón de restricción como los campos que se bloquearán:

<td>
     <input name="timelimitenable" type="checkbox" value="1" alt="<?php print_string("exam", "REMOTERUNNING") ?>" onclick="return lockoptions('form','timelimitenable', timelimititems)" <?php if ($form->exam) echo 'checked="checked"'; ?> />
</td>

El anterior es el botón de restricción, mediante return lockoptions('form','timelimitenable', timelimititems) estamos programando que al marcar el cuadro se bloqueen timelitmititems, que está formado por time_exam y grade, es decir, se bloquearán la calificación máxima y el tiempo de examen.

 
<td>
       <?php
             print_grade_menu($course->id, "grade", "$form->grade");
         ?>
</td>

print_grade_menu es una función especial de Moodle para escribir cuadro de opciones de calificación máxima, grade es el nombre del cuadro de texto.


<input type="text" name="time_exam" size="5" value="<?php  p($form->time_exam) ?>" />

Tercero: una vez terminado el formulario general hay que añadir el siguiente script para que bloquee las opciones si no está marcada la casilla de Examen:

<script type="text/javascript">
<?php
    if (!$form->time_exam) echo "lockoptions('form','timelimitenable', timelimititems);";
?>
</script>

Y sin más me despido con capturas de los resultados:




Comentarios 12 ~ Comentar | Referencias (0)


 

Definiendo opciones de Remote Running

Enlace permanente 16 de Mayo, 2007, 9:39

Hola!
Continuando con el trabajo del módulo, he definido y creado el formulario de opciones de la actividad. Éstas serán las siguientes:
  • Nombre: el nombre que tendrá la actividad dentro del curso.

  • Descripción: un breve comentario sobre el módulo.

  • Tiempo máximo de ejecución: será el tiempo límite de ejecución de los programas. Es opcional y puede ser utilizado como medida de seguridad. Este tiempo será definido en segundos.

  • Lenguaje: lista con los lenguajes que soportará el módulo. Se elegirá uno de ellos que será con el que se trabaje.

  • Examen: si se marca, se orienta la actividad como un examen.

  • Calificación máxima: mediante esta opción se calificará al alumno con una nota máxima, si el módulo ha sido utilizado como examen. Estará visible si se ha marcado la opción examen.

  • Tiempo total de examen: permite un tiempo máximo de examen. Elección visible si la actividad es un examen.

  • Subir archivo: si el profesor necesita el trabajo del alumno para una revisión posterior se marcará esta opción. Mediante la misma, el alumno puede guardar su trabajo en un archivo y subirlo al servidor. Posteriormente este archivo estará disponible para el profesor.

Falta un asunto por terminar. No he conseguido que la calificación y el tiempo de examen aparezcan inhabilitados hasta que se marque la casilla de Examen. Por ahora me estoy pegando (y me está dando una paliza...) con el PHP y las funciones de Moodle. Cuando tenga resultados vuelvo a actualizar explicando un poco el código.

A partir de ahora voy a seguir investigando el otro objetivo de la entrega, la redirección de entrada / salida. Aquí os dejo una captura del formulario.

Bye


Comentarios 8 ~ Comentar | Referencias (0)


 

Reunión de la séptima entrega

Enlace permanente 11 de Mayo, 2007, 17:59

    Esta mañana me he reunido con Alberto para corregir trabajo anterior y definir nuevos objetivos para esta entrega.
Un cambio importante ha sido en el nombre del módulo, que pasará de denominarse CERP a llamarse definitivamente Remote Running, consiguiéndose un nombre más intuitivo en cuanto a la finalidad del módulo.

Después de estar un par de horas corrigiendo documentos y analizando aspectos de la programación del módulo a desarrollar, se ha concretado los siguientes puntos como trabajo para esta nueva entrega:

  • Definición de opciones: definiré todas las opciones del módulo, mirando entre las múltiples que ya están desarrolladas en Moodle y otras específicas de la nueva actividad.
  • Redirección entrada / salida: cuando se cree un programa que necesite datos de entrada, ¿cómo realizaré la captura de datos?
  • Ejecución segura / en tiempo: será deseable una ejecución de programas segura, para que no se pueda ejecutar código malicioso y una ejecución en tiempo necesaria, es decir, que los programas tengan un tiempo máximo de ejecución y compilación.
A currar!

Bye

Comentarios 5 ~ Comentar | Referencias (0)


 

Programando CERP!!!

Enlace permanente 9 de Mayo, 2007, 13:02

Por fin! Aquí estoy programando el módulo!
He tenido que volver a instalar Moodle debido a que con tantas pruebas de módulos anteriores me ha dado fallos al desinstalar CERP y volver a añadirlo para hacer pruebas con el fichero de idioma.

Por lo tanto, la versión definitiva sobre la que programaré CERP es la versión 1.7.2+ de Moodle.

Estoy teniendo problemas con el idioma porque me reconoce el español pero no me salen las tildes. Esto creo que es problema de la codificación utf8. Investigaré un poco y luego pondré resultados.

Bye

ACTUALIZACIÓN

Menuda tontería... simplemente hay que guardar el fichero cerp.php en formato utf8 con cualquier editor de textos... Yo lo he realizado con el UltraEdit.

En fin! Todo funciona correctamente por ahora! Seguiré con la interfaz y pensando en opciones de configuración. Por ahora tengo muy pocas, simplemente, nombre, descripción y el tiempo máximo de compilación.

Bye
Comentarios 22 ~ Comentar | Referencias (0)


 

Capturando errores de gcc

Enlace permanente 8 de Mayo, 2007, 18:34

   ¿Cómo devuelve los errores y avisos de compilación el compilador gcc? Esto ha sido parte del trabajo de la quinta entrega, junto con varios apartados de la memoria y el estudio de determinadas cuestiones del chat de Moodle.

Necesito capturar estos errores y avisos para poder mostrarlos en una de las dos consolas que formarán la interfaz del módulo CERP. La idea por ahora es básica, redireccionar a un archivo, y si no está vacío, leer errores y avisos y mostrarlos. Esto se consigue redireccionando los errores de gcc a un archivo de la siguiente forma:

gcc -o ejecutable compilar.c 2 > errores.txt

Después hay que comprobar que el fichero errores.txt no esté vacío para leer sus líneas y mostrarlas en una de las consolas. Si el fichero estuviera vacío entonces solo quedaría ejecutar ejecutable y mostrar los resultados.

Saludos

Referencias: Redirecciones y tuberías, http://www.wikilearning.com/redirecciones_y_tuberias-wkccp-4230-13.htm
Comentarios 22 ~ Comentar | Referencias (0)


 

Seguimos trabajando

Enlace permanente 4 de Mayo, 2007, 11:16

Pues seguimos trabajando en el proyecto, estos últimos días los he orientado a temas de documentación, sin entrar de lleno en el módulo. En cuanto a éste, por ahora solo tengo el esqueleto, muy sencillo de crear.
He vuelto a corregir el índice del proyecto, quedando de la siguiente manera:

Resumen

Índice

1.       Introducción

1.1.     Objetivos del proyecto 

2.       Sistemas de gestión del aprendizaje (LMS)

2.1.     Moodle

2.2.     Aplicaciones para la compilación remota.

3.       Tecnologías

4.   Planificación del proyecto

5.       Análisis del sistema

6.       Diseño del sistema 

7.       Manual de usuario

8.       Manual del programador 

9.       Conclusiones y trabajo futuro

Bibliografía y referencias 

Anexos:

1.       Entregas

2.       Tutorial de creación del módulo

3.       Blog del proyecto en Internet



A parte de lo anterior, he seguido mejorando el tutorial y he comenzado a realizar los apartados siguientes de la documentación:

Resumen

Índice

1.       Introducción

1.1.     Objetivos del proyecto 

2.       Sistemas de gestión del aprendizaje (LMS)

2.1.     Moodle

2.2.     Aplicaciones para la compilación remota.


Para los siguientes días voy a seguir mejorando el trabajo anterior y comenzaré a programar el módulo CERP.

Bye

Comentarios 24 ~ Comentar | Referencias (0)


 

Índice definitivo

Enlace permanente 22 de Marzo, 2007, 12:02

    Una vez reunido con Alberto, hemos planificado el trabajo para las siguientes semanas. Lo primero que realizamos fue definir el índice definitivo de la documentación del PFC, o por lo menos la primera versión porque es posible que algo cambie. Aquí está el índice 1.0 definitivo:

1.       Resumen

2.       Índice

3.       Introducción

3.1.     Objetivos del proyecto

4.       Sistemas de gestión del aprendizaje (LMS)

4.1.     Moodle

4.2.     Entornos virtuales de aprendizaje

4.3.     Compilación remota o virtual

5.       Tecnologías

6.       Planificación del proyecto

6.1.     Tutorial

6.2.     Comentar las etapas de las entregas

6.3.     Blog del proyecto 

7.       Análisis del sistema

8.       Diseño del sistema

9.       Manual de usuario

10.    Manual del programador

11.    Conclusiones y trabajo futuro 

Bibliografía y referencias

Anexos: 

1.       Entregas

2.       Tutorial de creación del módulo

3.       Blog del proyecto en Internet



El tutorial tendré que corregirlo y mejorar ciertos apectos para que se pueda entender mejor.

Y para las próximas días entro en materia con el módulo. Será algo parecido a www.codeide.com. Un compilador remoto integrado en Moodle. Y ahí está la dificultad del proyecto, la integración en la plataforma. Para ello hay que tener claras varias cosas, como trabajará la actividad (consola o ficheros), donde estarán situados los compiladores, que lenguajes se tratarán, tiempos de ejecución máximos, como capturar los mensajes del compilador, etc.

Todo lo anterior lo iré estudiando en los próximos días y ya publicaré resultados.

Un saludo
Comentarios 11 ~ Comentar | Referencias (0)


 

Entrega finalizada

Enlace permanente 20 de Marzo, 2007, 10:56

Hola amigos,
hace unos días acabé el trabajo pendiente. Recordad que tenía pendiente un tutorial para el desarrollo de módulos y el índice de la documentación del proyecto.
Para el tutorial he terminado los primeros pasos. Lo iré completando a medida que vaya desarrollando el módulo CERP. Lo subiré a la red cuando esté finalizado.
En cuanto al índice, por ahora es un borrador y tengo que comentarlo con Alberto, pero más o menos se me ha ocurrido que mi PFC tendrá el siguiente contenido:



1.      Introducción

1.1.   Objetivos del proyecto

2.      Definiciones

2.1.   Moodle

2.2.   E-learning

3.      Moodle en el mundo

3.1.   Importancia de los módulos

4.      Tecnologías

5.      Planificación del proyecto

5.1.   Tutorial

5.2.   Comentar las etapas de las entregas

5.3.   Blog del proyecto, comentar que existe y aportar dirección. En los anexos incluiré artículos interesantes.

6.      Análisis del sistema

7.      Diseño del sistema

8.      Manual de usuario

9.      Manual del programador

10.  Conclusiones

11.  Ampliaciones

12.  Bibliografía

13.  Anexos

13.1.                   Entregas

13.2.                   Tutorial de creación del módulo.

13.3.                   Blog en Internet, incluir algunos artículos interesantes.



Y esto es todo por ahora.

Un saludo!

Comentarios 24 ~ Comentar | Referencias (0)


 

Y después del parón... ¡a trabajar!

Enlace permanente 7 de Marzo, 2007, 8:54

Hola gente! Volvemos a trabajar en el PFC. Después de un parón de varios meses para estudiar los exámenes de febrero vuelvo a trabajar solo y exclusivamente en el PFC.

Retomo el proyecto desde donde lo dejé, así que los objetivos para estos días de trabajo serán los mismos que los del anterior artículo.

Un saludo y a trabajar!
Comentarios 30 ~ Comentar | Referencias (0)


 

Empezando con la 4º entrega

Enlace permanente 30 de Noviembre, 2006, 21:33

Hola de nuevo!
Continuamos con el PFC. Una vez que corrija los fallos y sugerencias que me indica Alberto en la anterior entrega me pondré a trabajar con la siguiente. El trabajo consistirá básicamente en la creación de manuales de documentación y empezar a trabajar en el módulo CERP. El contenido es el siguiente:

  • Creación de una guía para la programación del módulo. En este manual iré explicando los pasos para la creación del módulo que pretendo desarrollar y los problemas que me iré encontrando junto con sus respectivas soluciones.
  • Investigar en el curso de inglés Using Moodle si existe algún manual como el que pretendo desarrollar.
  • Ir pensando en la documentación. Si tengo tiempo iré desarrollándola.
  • Ir añadiendo funcionalidad al módulo de "ejemplo" para investigar y probar nuevas opciones.
Bye.
Comentarios 38 ~ Comentar | Referencias (0)


 

Creación de un módulo de ejemplo

Enlace permanente 29 de Noviembre, 2006, 8:08

En este artículo voy a comentar el desarrollo y los problemas que he tenido al crear un módulo muy sencillo que he titulado "Ejemplo" (os dije que no tenía mucha imaginación).

Lo primero que hay que hacer es bajarse la plantilla NEWMODULE.ZIP. Os la podéis bajar del siguiente enlace. La estructura de archivos de este .zip la podéis estudiar en el módulo de actividades de Moodle. Lo que tenéis que quedaros para empezar es con lo siguiente:
  • mod.html: aquí editareis el formulario para insetar los datos del módulo cuando creéis una instancia del mismo (cuando se añade una nueva actividad).
  • db/mysql.sql: aquí creáis las tablas que necesitéis (esto lo explico más adelante).
  • lib.php: es la "librería" del módulo, es decir, aquí es donde crearéis vuestras funciones nuevas y editaréis las ya existentes.
¿Y ahora qué? Bueno, vamos paso a paso, para empezar a programar lo primero es pensar en las opciones de configuración del módulo. Para este "cutre-ejemplo" he elegido que va a tener un nombre, una descripción y una calificación, por lo tanto estas opciones las tendré que pedir cuando añada una nueva actividad ejemplo. Para realizar esto edito el fichero mod.html y añado (código html) un formulario normal y corriente, por ejemplo:

<td align="right"><b><?php  print_string("name", "ejemplo") ?>:</b></td>
    <td>
        <input type="text" name="name" size=60 value="<?php p($form->name) ?>">
    </td>

Aquí estoy añadiendo la variable "name" y le estoy diciendo a Moodle que guarde ese valor en $form->name. Se me ha olvidado antes que para iniciar esas variables al principio del formulario (mediante php) he insertado el código siguiente:

if (!isset($form->name)) {
    $form->name = '';
}
if (!isset($form->description)) {
    $form->description = "";
}
if (!isset($form->grade)) {
    $form->grade = 100; //100 es el valor predeterminado que tendrá.
}

Una vez que tengo el formulario creado salvo y guardo. Como buen pardillo, lo primero que hice fue integrarlo (que es sumamente sencillo) e intentar ver si funcionaba. GRAN ERROR. No funcionaba nada de nada, ni siquiera me salía el texto en español y cuando le daba a "añadir una nueva actividad" me salía en la lista de actividades [[newmodule]].

¿
Y por qué eso de newmodule? Bueno, esto me sirve para hablar del fichero de idioma. Ya sabéis que Moodle es internacional y ahí entra en juego el tema de los idiomas. Todavía no tengo muy claro los formatos de texto "oficiales" (utf-8, windows, etc), así que os explico algo muy sencillo. Para que en vuestro módulo os salgan las opciones y frases como queráis (Nuevo nombre para la actividad ejemplo en vez de Nombre) tendréis que crear un fichero en el directorio lang con el mismo nombre que el módulo. En mi caso se llamó ejemplo.php. En este fichero creamos entradas de este tipo:

//moodle
$string['modulename'] = 'Ejemplo';
$string['modulenameplural'] = 'Ejemplos';

//Del propio módulo

$string['Name'] = 'Nombre para la actividad Ejemplo';
$string['name'] = 'Nombre para la actividad Ejemplo';
$string['description'] = 'Descripción';
$string['grade']='Calificación del Ejemplo';

Y
para llamar a los "string" lo hacéis de la siguiente manera:

<td align="right"><b><?php  print_string("name", "ejemplo") ?>:</b></td>

Es decir, con la función print_string() le estoy diciendo que me devuelva la cadena name del fichero ejemplo. Una vez hecho esto e insertado el fichero de lenguaje ejemplo.php en /Appserv/moodledata/lang/es_utf8 ya funciona el tema del lenguaje correctamente y cuando añadimos una nueva actividad la apariencia es la siguiente:

            
Image Hosted by ImageShack.us

Bueno y ahora, introducimos las opciones le damos a "guardar cambios" y... TOMA ERROR!!!! Y así unas cuantas de veces... El error era el siguiente:

A required parameter (sesskey) was missing

Pufffffffffffff, parece grave no? Pues la verdad es que no lo es tanto cuando te das cuenta de lo que pasa. Esta variable la utiliza Moodle para temas de seguridad y se va propagando, por así decirlo, por toda la plataforma. Por lo tanto para que se siga propagando por nuestro módulo, hay que insetar en mod.html el siguiente código (al final del archivo):

<input type="hidden" name=sesskey       value="<?php p($form->sesskey) ?>" />


Guardamos los cambios, volvemos a añadir y... más errores!! Nos siguen faltando parámetros requeridos por Moodle, en este caso es el parámetro mode. Así que para concretar os recomiendo que nunca falte lo siguiente en el fichero mod.html:

<input type="hidden" name=course        value="<?php  p($form->course) ?>" />
<input type="hidden" name=module        value="<?php  p($form->module) ?>" />
  <input type="hidden" name=modulename    value="<?php  p($form->modulename) ?>" />
<input type="hidden" name=instance      value="<?php  p($form->instance) ?>" />
<input type="hidden" name=sesskey       value="<?php p($form->sesskey) ?>" />
<input type="hidden" name="mode"          value="<?php  p($form->mode) ?>" />
<input type="hidden" name="section"       value="<?php  p($form->section) ?>" />


¿Funciona ya por fin? Pues todavía no, nos falta un tema importantísimo en Moodle, las tablas... Como ya sabemos, Moodle guarda la información en bases de datos asi que nuestro módulo tendrá que tener tablas para almacenar la información. Este tema no lo tengo muy claro todavía, pero lo que sí se es que para nuestro ejemplo hay que crearse como mínimo una tablita e insetar el código en db/mysql.sql:

CREATE TABLE `prefix_ejemplo` (
  `id` int(10) unsigned NOT NULL auto_increment, //ESTE ATRIBUTO ID NUNCA DEBE FALTAR
  `course` int(10) unsigned NOT NULL default '0',
  `name` varchar(255) NOT NULL default '',
  `description` text NOT NULL,
  `grade` int(10) NOT NULL default '0',
  `timemodified` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`)
) COMMENT='Define Ejemplo';

Y una vez realizado esto solo nos faltará retocar la función para añadir una instancia en lib.php:

function ejemplo_add_instance($ejemplo) {
   
    $ejemplo->timemodified = time();
    if ($mod->course) {
        if (!
$course = get_record("course", "id", $mod->course)) {
            error("Course is misconfigured");
        }
    }

    # May have to add extra stuff in here #
    return insert_record("ejemplo",$ejemplo);
}

Simplemente he añadido $ejemplo->timemodified = time(); porque esto no lo recogo en el formulario, es una variable que me indica el momento en el que modifico la instancia.

Ahora una vez que guardemos todos los cambios e insertemos el módulo, lo primero que se produce es la creación de la tabla. Y una vez introducida la información desde el formulario pues se crea la instancia del nuevo módulo y todo funcionará correctamente.

Os resumo los pasos:

  1. Creación de las respectivas tablas en db/mysql.sql
  2. Creación del formulario.
  3. Editar función ****_add_instance() en lib.php

Bye

Comentarios 23 ~ Comentar | Referencias (0)


 

Título del módulo

Enlace permanente 16 de Noviembre, 2006, 19:35

Pues en esta tercera entrega también hemos quedado en darle un nombre al módulo que pretendemos crear. Como tengo poca imaginación para estas cosas y la actividad básicamente trata sobre Compilación y Ejecución Remota de Programas he pensado en ponerle el flamante título de...

    MÓDULO CERP

Así que, si Aberto está de acuerdo, pues ya tento título para el módulo!!

Bye



Comentarios 46 ~ Comentar | Referencias (0)


 

Primera parte finalizada

Enlace permanente 14 de Noviembre, 2006, 17:54

Acabo de terminar la primera parte de esta tercera entrega! Ha sido más pesada que lo que he hecho hasta ahora pues he tenido que investigar cada opción de configuración para los módulos comunes de Moodle.

Para cada actividad, en el momento de su creación, Moodle proporciona una serie de opciones de configuración que son específicas para cada una de ellas. Mediante esta entrega he revisado cada opción de configuración para tomar ideas para la actividad que pretendo crear.

Como ejemplo, presento los resultados para el módulo cuestionario:

 


La actividad cuestionario está orientada a la realización de exámenes. El nivel de configuración que presenta es el siguiente:

 

  • Nombre: texto con el título o nombre del examen.
  • Introducción: en este editor html se podrá hacer una descripción del cuestionario.
  • Abrir cuestionario, cerrar cuestionario: son las fechas para comenzar y finalizar el ejercicio.
  • Límite de tiempo: aquí se introducirán los minutos que durará el examen.
  • Número máximo de preguntas por página: en este cuadro indicaremos el número de preguntas máximo por página.
  • Barajar preguntas, barajar dentro de las preguntas: indica si en cada cuestionario mostrará un orden distinto cada vez que se inicie y si las partes que componen las preguntas individuales serán barajadas aleatoriamente cada vez que un estudiante comienza a contestar el cuestionario respectivamente.
  • Intentos permitidos: número de veces que un estudiante podrá resolver el ejercicio.
  • Cada intento se construye sobre el anterior: mediante esta opción se podrá mantener las respuestas anteriores si el alumno vuelve a realizar el examen.
  • Método de calificación: si se permiten múltiples intentos aquí se podrá especificar cual es el método de calificación final.
  • Método adaptativo: con esta opción se permite al alumno dar varias respuestas a una pregunta.
  • Aplicar penalizaciones: mediante esta elección se aplicará un factor de penalización si se ha elegido anteriormente dar respuestas múltiples.
  • Número de decimales en calificaciones: aquí se especifican el número de decimales que se mostrarán en la calificación.
  • Los estudiantes pueden revisar: este nivel de configuración controla si los estudiantes podrán revisar sus intentos pasados de resolver el cuestionario y cuándo podrán hacerlo.      
  • Tiempo entre el primer y segundo intento, tiempo entre los intentos posteriores: aquí se especifica el tiempo que ha de pasar entre un intento y otro cuando se ofrece la posibilidad de volver a repetir el ejercicio.
  • Mostrar el cuestionario en una ventana segura: si se selecciona esta opción se aplicarán condiciones al cuestionario para que sea más difícil la copia del ejercicio.
  • Se requiere contraseña, se requiere dirección de red: mediante estas dos elecciones opcionales se aplica un nivel. Los alumnos han de introducir una contraseña y su dirección de red ha de ser la adecuada para la realización de examen.

La actividad cuestionario presenta múltiples opciones además de las comentadas. Una vez que se configuran las anteriores, Moodle da la posibilidad de volver a configurar las preguntas del ejercicio.



Saludos!!


Comentarios 29 ~ Comentar | Referencias (0)


 

Trabajito para la tercera entrega

Enlace permanente 2 de Noviembre, 2006, 16:17

Hola gente, pues después de reunirme con Alberto, hemos fijado los objetivos para una tercera entrega. Ésta consistirá en el siguiente estudio:

  • Estudiar las posibilidades de configuración de todas las actividades básicas (tarea, foros, chat, etc) de Moodle.
  • Elegir un nombre para el módulo que se va a desarrollar.
  • Realizar un pequeño módulo de ejemplo con algunos campos de configuración como puede ser:
    • Fecha entrega.
    • Calificación.
    • Comentario.
Salu2.
Comentarios 32 ~ Comentar | Referencias (0)


 

Analizando código fuente

Enlace permanente 1 de Noviembre, 2006, 10:48

Como os comentaba en mi artículo anterior, esta segunda entrega consta básicamente en el estudio del código fuente de la actividad "tarea" (assignment). Para ello que mejor que ver el proceso que se produce cuando se crea una nueva tarea.

Al crearse una nueva tarea, el navegador se dirige hacia la siguiente dirección:

http://localhost/moodle/course/mod.php?id=2&section=2&sesskey=1zYhJRXq3z&add=assignment

Se puede comprobar a simple vista que lo que estamos haciendo es añadir (&add) una nueva tarea (assignment). Las demás variables son identificadores de curso y caracteres de seguridad que en cada ordenador donde esté intalado Moodle serán distintas. El navegador nos mostrará entonces unas opciones de configuración para la actividad tarea:

Image Hosted by ImageShack.us

Si observamos el código fuente de este fichero mod.php nos damos cuenta que se encarga de llamar a los formularios pertinentes (opciones de la imagen anterior). Por supuesto realiza un control exhaustivo de errores como puede ser la identificación correcta del profesor, del administrador, curso y sección correcta, etc.

Una vez terminada de configurar la tarea finalizaremos la misma con una visión de la tarea, con su descripción y la posibilidad de subir un archivo si el tipo de tarea es subir un solo archivo. El código que se ejecuta en este paso es el perteneciente al archivo …\mod\assignmentt\view.php que se encarga de llamar a la clase tarea (tres tipos de clases según las modalidades de tareas) y al método view() que se encargará de mostrar la tarea:


Image Hosted by ImageShack.us
Las conclusiones que se obtienen de analizar el código de los diferentes archivos que forman una tarea son los siguientes:

  • Moodle realiza para cada paso y en cada fichero un control exhaustivo de errores.
  • En casa paso se requiere la autentificación correcta del usuario (si es profesor, alumno o administrador).
  • Para programar un módulo en Moodle hay que seguir una serie de pautas como por ejemplo utilizar los ficheros .php para el código fuente y los ficheros .html para las plantillas y formularios.
  • Todas las funciones que se desarrollen tendrán que estar en el fichero lib.php.
  • Si se ejecuta código SQL tendrá que desarrollarse en otro fichero .php. Lo más utilizado es crear un directorio db que contenga los ficheros de código para las bases de datos.

Saludos!!!
Comentarios 36 ~ Comentar | Referencias (0)


 

Trabajando en la Segunda entrega

Enlace permanente 31 de Octubre, 2006, 18:39

Hola de nuevo! Pues una vez corregida la primera entrega me pongo ya a trabajar en la segunda que consistirá básicamente en el estudio del código fuente de la actividad "tarea". Con esto pretendemos ver las posibilidades de configuración que puede tener un módulo en Moodle y luego aplicarlo al que vamos a desarrollar.

Byeeee
Comentarios 20 ~ Comentar | Referencias (0)


 

Vamos con la primera entrega

Enlace permanente 20 de Octubre, 2006, 19:05

Hola de nuevo!! Pues comienzo a trabajar en el proyecto desarrollando una primera entrega para familiarizarme con los objetivos e ir controlando la plataforma.

Exactamente pretendo definir las funcionalidades del profesor y del alumno, adentrarme en la arquitectura de Moodle y desarrollar una primera versión del Análisis del sistema.

La funcionalidad básica de un alumno consistirá en la compilación, ejecución (ejecución remota) y envío de un programa de programación al profesor. La funcionalidad básica del profesor será la de corregir estos problemas mediante la compilación y ejecución del problema. Tanto el profesor como el alumno tendrán la posibilidad de proponer problemas, aportar soluciones e intercambiar archivos, pero básicamente la idea principal es:

COMPILAR + EJECUTAR + ENVÍO DE ARCHIVO

En cuanto a la arquitectura de Moodle hay poco que decir (por ahora no he encontrado ningún documento técnico sobre la arquitectura de la plataforma), funciona sobre PHP combinado con cualquier base de datos. Las más utilizadas son MySql y PostgreSql. Esta información está basada en la
Arquitectura de Moodle.

En cuanto a la primera versión del Análisis del sistema, después de estudiar la definición del problema tenemos el siguiente análisis (versión reducida):

  • Establecimiento de requisitos:
    • Gestionar usuarios.
    • Gestionar consultas.
    • Gestionar problemas.
  • Espicificaciones de casos de uso:
    • Gestionar Aplicación:
      • Gestionar Módulo Administradores.
      • Gestionar Módulo Profesores.
      • Gestionar Módulo Alumnos.
Y por ahora nada más. A partir de ya mismo empiezo con la segunda entrega pero eso en otro artículo!!
Bye

Comentarios 14 ~ Comentar | Referencias (0)


 

Primeros pasos...

Enlace permanente 18 de Octubre, 2006, 23:14

Hola de nuevo amig@s! Hoy estoy inspirado y aquí estoy redactando mi tercer artículo sobre mi PFC!

Bueno pues antes de hacer nada hay que instalar Moodle en el ordenador para ir haciendo pruebas e ir conociendo un poco la plataforma. En mi anterior artículo decía que Moodle funciona bajo PHP, un servidor y una base de datos. El servidor y la base de datos más utilizada suelen ser Apache y Mysql, por lo tanto debemos de instalar estas herramientas el ordenador. En este enlace de Moodle se explica todo perfectamente pero yo pretendo resumir los pasos y simplificar las cosas.

Apache, Mysql y PHP se pueden instalar juntos mediante el software AppServ que se puede descargar en su última versión desde el siguiente enlace. Una vez bajado el software se ejecuta el instalador y siguiendo unos sencillos pasos todo quedará perfectamente instalado.

Ahora hay que bajarse el software de Moodle del siguiente enlace. Yo he optado por la versión estable 1.6.3 aunque cuando esté disponible bajaré la versión 1.7 pues sufrirá cambios que aunque sean leves a lo mejor pueden afectar a mi módulo.Bueno, pues una vez descomprimido la carpeta la copio dentro de "...appserv\www" y al poner en el navegador http:\localhost\moodle entro en la  página de configuración de Moodle.

A partir de este paso me he encontrado con una serie de pasos sencillos pero que hay que controlar. Lo primero es crear en Mysql una base de datos con el nombre genérico Moodle, el usuario que uno quiera y con la contraseña que se desee. Esto hay que ponerlo igual cuando la instalación nos lo pida y si está todo correcto entonces se continuará sin incidencias.

Después la instalación ha continuado sin incidencias, instalando el paquete de idiomas en español y actualizándose la base de datos. A partir de aquí todo fue perfectamente, (simplemente tuve que pinchar en "continuar"). Y al final de una serie de pasos de configuración Moodle queda instalado perfectamente:



Image Hosted by ImageShack.us


Comentarios 9 ~ Comentar | Referencias (0)


 

Y eso de Moodle es...

Enlace permanente 18 de Octubre, 2006, 21:51

En mi primer artículo os decía que mi proyecto irá enfocado a la creación de un módulo o actividad para corregir problemas de programación en la plataforma Moodle. ¿Y eso qué es? Bueno pues en este segundo artículo me gustaría exponer una breve introducción del entorno Moodle.

Como bien indica la wikipedia, Moodle es una plataforma virtual orientada a la enseñanza a distancia, es decir, una aplicación web formada por profesores y alumnos en la que se imparten cursos sobre temas variados dando la posibilidad de crear foros, temas, actividades, eventos, etc, todo ello para facilitar la comunicación y el aprendizaje.

Técnicamente Moodle es un entorno web que funciona bajo PHP y sobre varias Bases de Datos (entre las que figurar MYSQL y POSTGRESQL. Fue creado por Martin Dougiamas y se distribuye bajo licencia GPL GNU.

Bueno, espero que os haya quedado un poco claro. Si queréis investigar más, visitad los enlaces.

Bye
Comentarios 25 ~ Comentar | Referencias (0)



Blog alojado en ZoomBlog.com

 

 

<<   Octubre 2020    
LMMiJVSD
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Categorías
General [41] Sindicar categoría