2. Creación de información de estudiantes

Se requiere información de cada estudiante organizada en un directorio para el estudiante así como el listado del curso y el plan de estudios. La información que debe estar en el directorio de cada estudiante es: (1) datos del estudiante en un archivo para individuos y (2) progreso en el curso en un archivo de progreso en clasificaciones.

Por ejemplo dentro del directorio cglin3 se ha creado el directorio participantes y dentro de este un subdirectorio para cada participante (usando el login como identificación). Cada directorio de participantes tiene un archivo datos.ind con los datos del estudiante y un archivo cglin3.prc con el progreso en las clasificaciones (pueden crearse automáticamente plantillas para estos archivos de progreso como se explica a continuación).

En el directorio cglin3 se han ubicado el plan de estudios cglin3.planest y el listado del grupo cglin3.grp.

En las siguientes subsecciones se presentan detalles de los diversos archivos.

2.1. Datos de cada estudiante

El archivo de datos de cada estudiante puede incluir toda la información no académica que requiera. Es preferible que todos los archivos de estudiantes tengan los mismos tipos de información, los cuales se separan con el elemento dato. Un archivo típico del ejemplo considerado es:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE individuo SYSTEM "individuo.dtd">
<individuo mindatos="login;apellidos;nombres;pais;difusor;masinfo">
<dato tipo="correo">micorreo@micolegio.edu.co</dato>
<dato tipo="Homepage"></dato>
<dato tipo="Colegio"></dato>
<dato tipo="login">juaper</dato>
<dato tipo="nombres">Juan</dato>
<dato tipo="masinfo">si</dato>
<dato tipo="anterior"></dato>
<dato tipo="pais">Colombia</dato>
<dato tipo="apellidos">Perez</dato>
<dato tipo="practico">si</dato>
<dato tipo="difusor"></dato>
</individuo>
      

Hay un archivo como este en el directorio de cada estudiante con el nombre datos.ind.

Para verificar que un archivo para individuos (digamos participantes/ESLAVA/datos.ind) tenga sintaxis correcta emplee la herramienta sigchq así:

sigchq participantes/ESLAVA/datos.ind

Note que los tipos empleados en el archivo se pueden especificar en el atributo mindatos del elemento raíz, separando uno de otro con punto y coma. También podría validarse que haya al menos esos datos en el momento de chequear el archivo con sigchq y la opción -datos.

Es recomendable que el archivo con datos del estudiante incluya el dato login con una identificación única para el estudiante. Esta identificación puede ser empleada por programas como iniperiodo (para modifcar calificaciones de un sólo estudiante con la opción -estudiante).

Puede consultar más sobre este tipo de archivos en el manual de referencia individuo(5).

2.2. Datos del grupo

En una archivo para grupos se referencian todos los archivos con datos de estudiantes del curso. Parte del archivo de grupo del ejemplo considerado (cglin3.grp) es:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE grupo PUBLIC "-//Structio//DTD grupo 1.0" "grupo.dtd">
<grupo>
  <desc>Participantes del tercer curso gratuito de Linux</desc>

  <refind arch="participantes/CROACIA/datos.ind"/>
  <refind arch="participantes/ESLAVA/datos.ind"/>
  <refind arch="participantes/Fernando/datos.ind"/>
  <refind arch="participantes/ICCCOMPU/datos.ind"/>
  <refind arch="participantes/Marce/datos.ind"/>
  <refind arch="participantes/ORLANDO/datos.ind"/>
  <refind arch="participantes/Ocalex/datos.ind"/>
</grupo>

	

Para revisar la sintaxis de un archivo para grupos emplee:

sigchq cglin3.grp

Note que antes de revisar un archivo para grupo debe haber creado los archivos con datos de estudiantes.

Puede consultar más sobre este tipo de archivos en el manual de referencia grupo(5).

2.3. Plan de estudios

Para relacionar asignaturas, con cursos, con grupos de estudiantes y con profesores se emplea un plan de estudios. En el caso de un sólo curso este archivo (cglin3.planest) es muy sencillo:


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE planest PUBLIC "-//Structio//DTD plan de estudios 1.1" "planest.dtd">
<planest tipos_curso="Nivel;Grado" tipos_asignatura="Área;Asignatura">

  <desc>Plan de estudios del tercer curso gratuito de administración de redes Linux en colegios colombianos</desc>

      
  <biblio>Aprendiendo a aprender Linux. http://structio.sourceforge.net/AA_Linux_colegio</biblio>
  <derechos tipo="Dominio público" tiempo="2002">Cedido al dominio público</derechos>
  <autor fecha="2002">Varios voluntarios. </autor>

  <curso tipo="CursoLinux" id="cglin3" refgrupo="cglin3.grp">
     <desc>Tercer curso gratuito de Linux</desc>
     <asignatura tipo="Tema" id="Linux" refsectemas="cglin3.sec" 
             intensidad="3" prc="cglin3.prc">
             <desc>Tercer curso gratuito de Linux</desc>
      </asignatura>
  </curso>
</planest>


	

Note que el archivo del grupo (cglin3.grp) se referencia en el atributo refgrupo del elemento curso. El archivo de secuencia cglin3.sec se referencia como atributo refsectemas de una asignatura.

Puede consultar más sobre este tipo de archivos en el manual de referencia planest(5).

2.4. Archivos de progreso en clasificaciones

Cada estudiante debe tener un archivo de progreso en las clasificaciones del curso. Estos archivos deben ser creados al comienzo del curso y se actualizan a medida que el curso transcurre. Parte de un archivo de progreso se presenta a continuación (la extensión sugerida es .prc):

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE prcla PUBLIC "-//Structio//DTD progreso en clasificaciones 1.0" "prcla.dtd">

<prcla conceptos="Logro:(g='E' || g='B' || g='I');Indicador:(g='E' || g='B' || g='I');ejercicio:(g='E' || g='B' || g='I' || g=' ')">
  <progcla idcla="cglin3.cla:recursos" tipo="Logro">
    <progcla idcla="cglin3.cla:recursos.plan" tipo="Indicador">
      <progejer concepto="E" fecha="25/4/2002" idejer="cglin3.cla:recursos.plan.doc"></progejer>
      <val concepto="E" periodo="Preparación">
        <anota valor="Preparación" tipo="prom. ej."></anota></val></progcla>
    <progcla idcla="cglin3.cla:recursos.escribir-leer" tipo="Indicador">
      <progejer concepto="E" fecha="25/4/2002" idejer="cglin3.cla:recursos.escribir-leer.visor"></progejer>
      <progejer concepto=" " fecha="" idejer="cglin3.cla:recursos.escribir-leer.enlaces"></progejer>
    </progcla>
  </progcla>
  <progcla idcla="cglin3.cla:usalinux" tipo="Logro">
    <progcla idcla="cglin3.cla:usalinux.doc" tipo="Indicador">
      <progejer concepto="E" fecha="15/5/2002" idejer="cglin3.cla:usalinux.doc.guías"></progejer>
     <progejer concepto=" " fecha="" idejer="cglin3.cla:usalinux.doc.ayuda"></progejer>
      <val concepto="B" periodo="Básico">
	<anota valor="Básico" tipo="prom. ej."></anota></val>
    </progcla>
  </progcla>
</prcla> 
        

Tenga en cuenta que los archivos de progreso deben ser actualizados a medida que el curso transcurre.

Puede consultar más sobre este tipo de archivos en el manual de referencia prcla(5).

2.4.1. Generación automática de plantillas para archivos de progreso

Pueden crearse plantillas de los archivos de progreso con espacio para completar las valoraciones. Esto puede hacerse empleando una hoja de estilo XSLT como: xslt/cla2prc.xsl (ubicada en el directorio en el que se instalaron los datos de sigue, e.g /usr/local/share/sigue). Esta hoja podría usarse con xsltproc para generar el archivo de progreso del estudiante con datos en participantes/ESLAVA así:

export SGML_CATALOG_FILES="/usr/local/share/xml/structio/catalog"
xsltproc --catalogs --stringparam filename cglin3.cla \\
	/usr/local/share/sigue/xslt/cla2prc.xsl \\ 
	cglin3.cla > participantes/ESLAVA/cglin3.prc
        

la variable SGML_CATALOG_FILES debe contener la ruta al catálogo de DTDs de Structio. De emplear el parámetro filename este debe tener como valor el nombre del archivo de clasificaciones (en este caso cglin3.cla) que se agregará a la identificación de cada clasificación y ejercicio referenciado.

Pueden crearse todos los archivos de progreso después de haber creado la estructura de directorios con un script para el interprete de comandos, por ejemplo:

#!/bin/sh
export SGML_CATALOG_FILES="/usr/local/share/xml/structio/catalog"
for i in participantes/*; do
  if (test -f $i/datos.ind) then {
    echo $i;
    xsltproc --catalogs --stringparam filename cglin3.cla \\
    /usr/local/share/sigue/xslt/cla2prc.xsl \\
    cglin3.cla > participantes/$i/cglin3.prc
    } fi;
done;