Diferentes Tipos de Join en el Modelo Relacional (MySQL)

La operación JOIN (combinación) es una operación fundamental en el modelo de base de datos relacional. Si no entiendes cómo funcional realmente y cuáles van a ser los resultados es difícil que trabajes bien con ese tipo de base de datos. Una definición sencilla sería que es “la combinación de dos tablas para extraer la información relacionada de las mismas”.

El problema es que hay diferentes tipos de joins y todos tienen diferente significado. Para clarificar el asunto vamos a ver un ejemplo de los más usado centrándonos en MySQL. En otros gestores de bases de datos (DBMS) el funcionamiento será similar aunque habrá que asegurarse leyendo la documentación.

Los vamos a explicar tomando como referencia el siguiente modelo:

Model Relacional - Relación 1:N

Model Relacional – Relación 1:N

La anterior imagen representa una relación 1:N entre clientes y vehículos. Cada uno de los clientes puede tener uno o varios vehículos y los vehículos o bien pertenecen a un cliente o bien no pertenecen a nadie (supón que son vehículos que se han traído desde la chatarra al taller).

El contenido inicial de las tablas es el siguiente:

Contenido inicial de la tabla clientes.

Contenido inicial de la tabla clientes.

Como podemos ver tenemos 9 clientes con códigos que van desde el “00001” al “00010” (el “00007” no está)

Contenido inicial de la tabla vehículos.

Contenido inicial de la tabla vehículos.

Como vemos hay 16 vehículos pero hay 2  que no tienen cliente asociado y además si nos fijamos bien sólo 8 clientes tienen vehículos, el cliente “00007” es cliente pero no ha traído vehículos.

Con estos datos vamos trabajar con los siguientes JOINS

  • INNER JOIN o “join normal”
  • LEFT JOIN
  • LEFT JOIN con los valores nulos
  • RIGHT JOIN
  • RIGHT JOIN con los valores nulos
  • NATURAL JOIN
  • FULL OUTER JOIN
  • FULL OUTER JOIN con los valores nulos.

INNER JOIN o “join normal”

El resultado es:

Resultado del Inner Join o join normal

Resultado del Inner Join o join normal

En este caso da igual el orden de las tablas alrededor del join y la claúsula INNER es opcional. ¿Qué estamos obteniendo? 14 filas, una por cada coche que tiene cliente asociado. Aquellos coches que no tienen cliente asociado  no salen en la consulta y aquellos clientes sin coche tampco. Y de los campos de las dos tablas sólo mostraré el código del cliente  y la matrícula por razones de comodidad para presentarlo en este post.

LEFT JOIN

Para demostrar cómo funciona realizaremos dos consultas:

El resultado para la primera de ellas es el siguiente:

Left Join de Clientes

Left Join de Clientes

Nos muestra todos los clientes aunque no tengan coche asociado y para aquellos que sí una fila por cada uno de los coches que tienen. Se ve como sale el cliente “00008”  que no tiene coche alguno.

Para la segunda consulta el resultado sería:

Left Join con Vehículos

Left Join con Vehículos

Podemos ver que nos saca todos los vehículos junto con los datos de su dueño y, además, también aquellos vehículos que no tiene dueño. En nuestro caso hay dos, aquellos con las matrículas “0011 ABC” “5566 ABC”.

LEFT JOIN CON LOS VALORES NULOS

Para demostrar cómo funciona realizaremos dos consultas:

El resultado para la primera de ellas es el siguiente:

Left Join con Clientes y valores nulos

Left Join con Clientes y valores nulos

En este caso únicamente obtenemos los clientes que no poseen ningún vehículo. Esto también se podría hacer con una subconsulta.

El resultado para la segunda consulta sería:

Left Join con Vehículos y valores nulos

Left Join con Vehículos y valores nulos

En este caso sólo obtendríamos los coches que carecen de cliente asociado. Se podría hacer también con una subconsulta.

RIGHT JOIN

El funcionamiento es análogo al left join pero en este caso es se tendrán en cuenta todas las filas de la tabla que está a la derecha del join.

Para demostrar el funcionamiento vamos a probar con dos consultas:

El resultado de la primera será:

Right Join con Vehículos

Right Join con Vehículos

Como vemos obtenemos todos los vehículos aunque no tengan dueño. Y para aquellos que sí lo tienen salen los datos de su dueño.

Si ejecutamos la segunda consulta:

Right Join con Clientes

Right Join con Clientes

Me salen todos los clientes (una vez por cada vehículos que posean) e incluso me salen aquellos que no poseen vehículos (el “00008”)

RIGHT JOIN con valores nulos

Para demostrar su funcionamiento ejecutaremos las siguiente consultas:

Al ejecutar la primera obtenemos:

Right Join con vehículos y valores nulos

Right Join con vehículos y valores nulos

Es decir sólo aquellos coches sin dueño y con null en todas las celdas correspondientes al dueño.

El resultado de la segunda consulta sera:

Right Join con clientes y valores nulos

Right Join con clientes y valores nulos

Es decir únicamente aquellos clientes que no tienen coches con null en todas las celdas correspondientes a los coches.

ES MUY IMPORTANTE COMPARAR LOS RESULTADOS DE LEFT JOIN y RIGHT JOIN Y VER LAS ANALOGÍAS EXISTENTES.

NATURAL JOIN

Para demostrar el funcionamiento del natural join vamos a realizar la siguiente consulta:

El resultado será:

Natural Join

Natural Join

Como se puede ver es el mismo resultado que en un INNER JOIN pero debemos tener cuidado ya que con NATURAL JOIN UTILIZA LAS COLUMNAS QUE SE LLAMAN IGUAL EN LAS DOS TABLAS PARA HACER EL JOIN. Si no es así obtendremos resultados imprevistos. También se puede añadir LEFT o RIGHT detrás del NATURAL y delante del JOIN.

OUTER JOIN

MySQL no soporta FULL OUTER JOIN aunque nos da una manera alternativa para hacerlo:

Al hacerlo el resultado sería:

Outer Join

Outer Join

Es decir todos los clientes aunque no tengan vehículos, todos los vehículos aunque no tengan clientes y una fila para cada asociación cliente-vehículo.

Es importante destacar que esta operación no en todos los casos nos va a dar una respuesta correcta. Para más información al respecto es bueno revisar este post.

FULL OUTER JOIN CON VALORES NULOS

Sucede los mismo que en el caso anterior:

El resultado será:

Full Outer Join con valores nulos

Full Outer Join con valores nulos

Es decir tanto los vehículos sin dueño como los clientes sin coche.

Podemos resumir esto en el siguiente gráfico.

Obtenida de WikiMedia Commons

Para más información y detalle deberíamos visitar la documentación de MySQL.

En otros gestores el funcionamiento y la sintaxis puede ser ligeramente diferente.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Comprendiendo las claves ajenas (Foreign keys) en MySQL

Obtenido de WikiMedia Commons

Las claves ajenas son un concepto fundamental dentro del modelo relacional de base de datos. Definidas de manera muy básica una clave ajena es uno o varios campos  de una tabla que hacen referencia a campos de otras tablas y que nos permiten relacionarlas.

Si buscamos una definición formal podemos usar la de Wikipedia pero vamos a intentar explicar el concepto de una manera más práctica con un ejemplo.

Model Relacional - Relación 1:N

Model Relacional – Relación 1:N

En este caso tenemos un relación 1:N entre “clients” y “vehicles”. Un cliente puede tener uno o varios vehículos y un vehículo puede ser de 0 o 1 clientes (supón que estamos en un taller y el coche no es de ningún cliente si no que procede de la chatarra).

La clave ajena será “clientCod” en la tabla “vehicles” y hace referencia al campo “clientCod” de la tabla “clients” que, por otro lado, es clave primaria en esa tabla. Estos dos campos, la clave ajena y la clave primaria, nos sirven para establecer la relación entre las dos tablas y debemos de tener en cuenta que en la tabla “vehicles” no va a haber ningún valor de “clientCod” que no esté en la tabla de clientes. Es lo que se llama integridad referencial.

Pero, ¿qué pasa si borramos o actualizamos los datos de un cliente de la tabla “clients”? ¿cómo afecta esto a la tabla “vehicles”?. Tenemos varias opciones y MySQL nos da 5 posibilidades:

  • RESTRICT : Es la opción por defecto y no permitirá la actualización del “clientCod” de un cliente o el borrado de ese cliente si existe un vehículo que pertenezca a ese cliente.
  • NO ACTION: Es equivalente a RESTRICT y se mantiene por respeto al estándar SQL.
  • CASCADE : Si borro un cliente se borrarán los vehículos de ese cliente y si actualizo el “clientCod” de un cliente se propagará esta actualización al “clientCod” de los vehículos de ese cliente.
  • SET NULL: Si borro un cliente  se actualizará el “clientCod” de los vehículos de ese cliente y este tomará un valor de NULL (debe ser posible que ese campo tome valores nulos) y si lo actualizo sucederá lo mismo, se pondrá un valor NULL.
  • SET DEFAULT: Pondría un valor por defecto en los campos “clientCod” de la tabla “vehicles” al actualizar o borrar clientes. No es soportado por los tipos de tablas InnoDB y NDB.

Para verlo mejor vamos ver RESTRICT, NO ACTION , CASCADE y SET NULL con un ejemplo concreto.

EL SQL para crear las tablas sería el siguiente:

Vemos que en la líneas donde está ON DELETE / ON UPDATE podemos elegir una de las opciones con las que vamos a trabajar.

Las consultas con las que trabajar para la demostración serán las siguientes:

El contenido inicial para las tablas va a ser el siguiente en todos los casos:

Contenido de la tabla clientes

Contenido de la tabla clientes

Contenido de la tabla vehículos

Contenido de la tabla vehículos

Si intento las operaciones y he usado en la creación de la tabla ON DELETE RESTRICT y ON UPDATE RESTRICT (son las opciones por defecto) o ON DELETE NO ACTION y ON UPDATE NO ACTION  obtendré en ambos casos (delete y update) el siguiente mensaje de error:

Si intento las operaciones y he usado en la creación de la tabla ON DELETE CASCADE y ON UPDATE CASCADE se borrarán todos los vehículos del cliente “00007” y en aquellos dónde el código del cliente sea “00008” se cambiará por “11111”. Podemos ver como quedan las tablas:

Tabla clientes con operaciones en cascada

Tabla clientes con operaciones CASCADE

Tabla vehículos con operaciones en cascada

Tabla vehículos con operaciones CASCADE

Si intento las operaciones y he usado en la creación de la tabla ON DELETE SET NULL y ON UPDATE SET NULL la tabla clientes quedará igual que en el caso anterior pero en la tabla vehículos el campo “codClient” será NULL para aquellos coche que eran del cliente “00007” o “00008”. Podemos ver como quedaría en la siguiente imagen:

Tabla vehículos con la opción SET NULL

Tabla vehículos con la opción SET NULL

Elegir una u otra opción es una decisión de diseño que debe de ponderarse antes de la creación de la base de datos.

En el próximo tutorial hablaremos de otro concepto básico pero que a veces resulta difícil para los estudiantes: “los diferentes tipos de Joins”

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Integra UserVoice (Soporte al Usuario) en tu aplicación Android

NOTA: Para comprender este post es necesario tener conocimientos básicos de Android y disponer de manera previa de una cuenta de userVoice.

Soporte al usuario fácil para tu StartUp

Soporte al usuario fácil para tu StartUp

Cuando estás empezando con tu StartUp tienes recursos limitados y, si es posible, siempre buscas herramientas efectivas y de precio mínimo, o al menos que sean así para sus versiones básicas.

En nuestra aventura con SuperGanadero hemos usado muchas de ésas. Una de las que más fácil y útil nos ha resultado es el servicio de UserVoice.

UserVoice es una aplicación para gestionar el soporte al usuario. La versión Web es muy fácil y sencilla y además permite integrar todas las funcionalidades básicas de soporte en tu app Android de manera muy rápida.

Lo primero que tenemos que hacer es añadir jcenter a la lista de repositorios Maven de nuestra aplicación. Eso está en el fichero build.gradle del directorio raiz de la app (si trabajamos con Android Studio)

A continuación debemos añadir el SDK de UserVoice como dependencia de proyecto. Eso podemos hacerlo en el fichero build.gradle del directorio app (si trabajamos con Android Studio)

Una vez hecho esto ya podemos ir añadiendo las distintas opciones a nuestra Actividad Android. Nosotros hemos optado por una pantalla principal con 4 botones desde los que podremos acceder a Ayuda, Contacto, Foros y Sugerencias.

Pantalla de acceso a las funciones de UserVoice

Acceso a las funciones de UserVoice


Al hacer click en la opción correspondiente ya se nos mostrará la pantalla concreta que interactúa de manera automática con tu aplicación UserVoice. No debes preocuparte de más y ya tienes el soporte integrado en tu App.

Screenshot_2015-09-28-15-57-14 Screenshot_2015-09-28-15-57-24 Screenshot_2015-09-28-15-57-28

Más Información Info: https://github.com/uservoice/uservoice-android-sdk

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

GitHub en clase

githublogoMis alumnos van a tener que tener, DE MANERA OBLIGATORIA, su cuenta en GitHub.

No es algo nuevo, en muchos sitios ya se utiliza GitHub como herramienta docente.

No es por capricho, GitHub ya se ha convertido en un estándar y en muchos trabajos para programadores se pide su perfil en dicha plataforma.

No es porque sí, durante los últimos años muchos de nuestros alumnos han encontrado trabajo y, pese a ser un Ciclo de Administración de Sistemas, lo trabajos se relacionaban más con la programación y la web. El hecho de que tengan un portfolio público de código hecho por ellos creo puede aumentar su motivación para hacer las cosas bien y aumentar su posibilidades de encontrar un futuro trabajo.

La usaremos al menos para las asignaturas de Lenguajes de Marcas e Implantación de Aplicaciones Web.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Formación Profesional (FP) Bilingue – Veámos lo que sale

Los programas bilingües en Educación suelen provocar opiniones muy diversas, tanto a favor como en contra.

No quiero entrar en debates y análisis, aunque personalmente creo que el adjetivo de “Bilingüe” les viene grande cuando, sobre todo, son parciales.

En mi centro, el IES Triana, que tiene una larga tradición en programas de este tipo, decidimos embarcarnos este año (Curso 2015-2016) en la implantación  de un Ciclo de Grado Superior (Administración de Sistemas Informáticos) bilingüe en Inglés.

Concurren ciertas circunstancias que nos ayudaron a decidir:

  • Los alumnos, que al principio mostraban su inquietud, luego reconocían la gran necesidad y utilidad que podría tener ese tipo de programa en su formación.
  • Existe una gran cantidad de materiales gratuitos y de calidad en inglés. Es muy fácil encontrar lo que se necesita. El hecho de no tener que desarrollar todo el material desde cero facilita mucho el trabajo del profesorado, que puede centrarse al 100% en la docencia.
  • En nuestro mundo el vocabulario, las webs, los foros, los manuales y demás ya están en su mayoría en inglés.
  • Pese a la alta tasa de paro que existe en España, tenemos la suerte de que a nivel global los profesionales de nuestro sector (IT) siguen siendo muy demandados. Ser competente profesionalmente en inglés aumenta mucho la posibilidad de que nuestros alumnos encuentren trabajo, ya sea en España o fuera.
  • Y claro, el profesorado está capacitado para ello (creemos, ya os contaremos…)

El objetivo no va a ser, pese al nombre del programa, crear alumnos bilingües. Debemos centramos en maximizar su exposición al idioma, en que sean capaces de entender la mayoría del material escrito y audiovisual que existe y en que sean capaces de conversar en inglés, al menos para realizar tareas de soporte informático, que es uno de los puestos más demandados.

Por el camino preveo también dificultades, algunas de las que se me ocurren son las siguientes:

  • La dotación de asistentes lingüísticos por parte de la administración es más que raquítica. Lo tendremos en clase como mucho una vez al mes y, evidentemente, será poco ducho en las materias a tratar.
  • El nivel de los alumnos es “desconocido” así que habrá que hacer equilibrios para trabajar el inglés y no vaciar las aulas por desánimo.

En todo caso la idea es contar como ha ido la experiencia al final del curso y compartir con todos los materiales que encontremos y que desarrollemos a través del hashtag de twitter #asirtrianabilingue y en los grupos de Diigo sobre Lenguajes de Marcas y Bases de Datos. 

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Usando CodeAcademy

Usando CodeAcademy

http://www.codeacademy.com

Cada día que pasa soy más firme defensor del cambio de roles del profesor en la clase del siglo XXI. Es difícil, cuesta cambiar mentalidades, incluyendo las del propio alumnado, pero poco a poco todos debemos darnos cuenta de que el aula tiene límites físicos y de conocimiento y que más allá de esas 4 paredes hay vida y aprendizaje. Debemos dar al alumnado el empujón para que transite esos caminos por si mismo.

En el campo en el que yo trabajo, la Informática, la programación y las bases de datos,  la cantidad de sitios con materiales y recursos de calidad es enorme.Sólo tenía que indicarles un sitio para empezar a aprender por ellos mismos. Opté por uno de los que más me gusta,  CodeAcademy.com, un sitio para aprender cosas básicas sobre programación.

Quería que los alumnos lo usaran y que aprendieran por ellos mismos cosas que en clase iba a ver con rapidez. Los problemas y errores que pudieran aparecer debían de solucionarlos por ellos mismos. Yo no iba a explicar nada al respecto.

El único requisito es que debían de acabar el curso encargado antes de una fecha.

Y, ¿cómo ha ido la experiencia?. Pues como toda ha tenido aspectos positivios y aspectos negativos.

En el lado positivo diría:

  • Los alumnos han aprendido por ellos mismos. No he intervenido para nada.
  • Casi siempre han acabado con mucho tiempo de antelación. Como los ejercicios se corregían sólo y recibían medallas por cada lección parece que se han ido enganchando.
  • Han colaborado entre ellos para salir adelante con los errores que existen tanto en la traducción de los ejercicios como en la traducción las soluciones.
  • Los alumnos han entendido mejor alguna conceptos que posteriormente he ido explicando en clase.

En el lado negativo:

  • Son cursos básicos, me gustaría que entrara con más profundidad en algunos conceptos. 
  • Los contenidos no siempre están relacionados con el currículo, aunque eso, básicamente, me da bastante igual.
  • La traducción española, tanto de los enunciado como de las retroalimentaciones y correcciones, es bastante mala. De hecho aunque me decidí a usar la página cuando vi que había traducción española, la mayoría de los alumnos han optado por la opción inglesa (ya me he ofrecido a mejorarla pero no he tenido respuesta)

Seguiremos probando el trimestre que viene.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Algunas ideas sobre los MOOCs

El término MOOC (Massive Online Open Course) está muy presente últimamente en todas las charlas y debates educativos.Es lo que los anglo-hablantes llaman  una buzzword. ¿Y qué significa este concepto?. Básicamente una buzzword es una palabra de moda que tiene gran impacto y repercusión y que, si las pones es una conversación, denota que eres casi un experto en el asunto.

Antes que nada me gustaría ir a los principios básicos de los MOOC, relacionados fuertemente con el conectivismo (fuente Wikipedia):

  • Gran interacción y retroalimentación entre los diferentes participantes, revisión por parejas, colaboración etc..
  • Retroalimentación automática mediante tareas, exámenes y cuestionarios online.
  • Agregación y mezcla de los distintos contenidos creados en contraposición con los cursos tradicionales donde el contenido está preparado de antemano.

Simplificando un poco, la idea es que el aprendizaje es un MOOC es individual, porque cada uno lleva su ritmo y su orden, es colectivo porque es el propio grupo de alumnos motivados el que logra un aprendizaje efectivo en base a la colaboración y abierto porque suelen ser cursos gratuitos y que,en muchos de los casos, carecen de fecha de inicio y de finalización

El caso es que “no es oro todo lo que reluce ni todo el que anda errante está perdido”. Los MOOC, como todo en esta vida, tienen su cosas negativas y sus cosas positivas. Si me permiten pasaré a ellas.Y entiendan que es siempre desde mi punto de vista, como profesional docente y como alumno de MOOC (siempre siempre tiene muchísimo valor la opinión de los alumnos).

Cosas que no me gustan:

  • El papel del profesor queda bastante difuminado. Los que me conocéis ya sabéis que no soy partidario del profesor tradicional pero en los MOOC, con cursos de miles de alumnos el papel muchas veces se limita a crear contenidos y a dar alguna que otra pauta. Evidentemente es inviable atender a miles de alumnos. Y de esta manera se pierde todo el valor, que sea de la forma que sea, pueda aportar el profesor. No me refiero a las transmisión de los contenidos, si no a la guía, a las recomendaciones, los proyectos propuestos etc, etc…
  • En muchos casos, aunque la idea sea buena, tienen mucho de negocio y marketing. Buscan en muchos casos preservar el prestigio de la institución que lo ofrece y vender materiales de clase. Esto, en sí mismo, no es malo pero me surge la pregunta de si el adjetivo Open no es mera decoración. ¿No se conseguiría lo mismo liberando esos materiales y usando luego una comunidad abierta de Google+?. Supongo que sí, pero en este caso las instituciones no podrían almacenar y recopilar datos e información de esta ingente cantidad de usuarios.
  • El abandono es muy grande, precisamente por la aparente desorganización y porque, como en toda comunidad online o red social, al final son muy pocos los que realmente participan, lo que puede dejar dudas y situaciones sin resolver. No tienes asegurada una respuesta.Lo siento es así, no todo el mundo colabora y no todo el mundo que colabora puede aclarar todas las dudas.
  • Tengo mis serias dudas de que sean válidos para todo tipo de públicos. Si las personas tienen un fuerte interés en la temática,  son tIC-competentes, saben como aprender colaborando y, a la vez, son muy capaces de autoformarse es posible que sean efectivos. Pero no nos engañemos, no todo el mundo reúne estas características.
  • No todos los profesores que hacen MOOCs son profesores de Stanford o Harvard (por poner un ejemplo paradigmático). Créanme hay MOOCs muy malos  por el mundo, tanto por su diseño instruccional como por sus materiales.

Y cosas que sí me gustan:

  • Te permiten acceder a conocimientos y compañeros interesado en lo mismo a los que de otra forma será muy difícil de acceder.
  • Te facilita el acceso a docentes de gran calidad y a los materiales que puedan haber creado (aunque sea en pequeñas dosis)

Ahí queda dicho. Acabaré con una pregunta ¿Y si le quitamos la M de Massive y lo dejamos en OOC con más participación del profesor?

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Profesionales de la docencia y la formación como gestores de atención al usuario

Learning and Training Professionals as Support Managers

Imagen from…

Recientemente me he encontrado con varios artículos que han venido a ratificar mi opinión sobre la importancia y versatilidad que los profesionales “Learning and Training” pueden tener el la estructura de las empresas del Siglo XXI. Ya expliqué aquí la importancia que podía tener un profesional de este tipo dentro del organigrama directivo de la corporación. Pero no es únicamente en este tipo de puestos donde pueden desarrollar todo su potencial. Otro área donde puede realizar grandes aportaciones es al mando del Soporte al Usuario. ¿Por qué digo esto? Lo digo porque como profesionales del “Learning and Training” puede conseguir:

  • Mejorar la eficiencia y preparación de los equipos. Son capaces de formar a los miembros del soporte en cualquier temática (o en casi cualquiera), no sólo técnica(relativa al producto o la tecnología implicada en el soporte) sino también en aquellos aspectos relacionados con la organización, los procesos y la gestión de las distintas situaciones que pueden aparecer en la actividad diaria del soporte
  • Prevenir los fallos y disminuir las incidencias: Si habéis trabajado alguna vez en centros de soporte sabréis que muchos de los problemas comunicados por los usuarios no son tales problemas. Son incidencias derivadas del desconocimiento técnico y de no haber usado la documentación relativa. Una colección de materiales para los usuarios que sea sencilla, intuitiva y presentada en diferentes formatos (documentos,vídeos, audios etc…) ayuda a disminuir este ratio de incidencias.
  • Gestionar de manera correcta  los recursos humanos: Todo docente y formador con experiencia es capaz de gestionar diversidad de roles y de hacer trabajar al personal en equipo. Es algo común en todas las aulas. Además conoce las herramientas tecnológicas para hacer funcionar estos equipos. El traslado de este tipo de conocimiento al mundo laboral es casi inmediato.
  • Analizar los resultados para extraer conclusiones: Como profesores y formadores estamos acostumbrados a evaluar el desempeño de muchas y muy distintas formas. Tanto desde el punto de vista de actitud como en función de factores más mensurables.

Por todo eso y por muchas más razones, si tiene que contratar a alguna persona para ser responsable de soporte debería tener en cuenta a todos aquellos profesionales que posean experiencia dentro del mundo “Learning and Training”.

 

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

E-Learning. El efecto Pringles, ese error común “Cuando haces pop ya no hay stop”.

Once you pop, you can't stopSi existe un error imperdonable a la hora de ser profesor de e-learning es creer que existe el efecto Pringles “Cuando haces pop ya no hay stop” a la hora de impartir docencia online.

¿Y qué es esto del Efecto Pringles?

Efectivamente, es un término que me acabo de inventar. Viene a describir la creencia que tienen algunos profesores de que el alumno, una vez empieza a usar una plataforma educativa, ya no puede parar y no va a necesitar prácticamente al profesor en su proceso de aprendizaje / formación.

Una vez haces “pop” y entras en la plataforma…”ya no hay stop”. Basta con poner unos materiales, normalmente unos cuántos pdfs o fotocopias de artículos, cuatro cuestionarios y pedir  que participen en los foros para dar por finalizada nuestra labor docente.

Nada más lejos de la realidad. Si algo he podido aprender viendo miles y miles de cursos online o semipresenciales es la rápida muerte de un curso donde el profesor no tiene un perfil activo y realiza un seguimiento individualizado de los alumnos. Y si el curso muere y deja de ser un curso activo ¿para qué queremos una plataforma virtual?. Lo mejor será que le demos un libro de texto al alumno, un correo electrónico para posibles dudas y lo citemos para un examen en papel pasado un determinado período de tiempo.

Estudiar online es duro para el alumno. Esta opción además suele ser la opción de formación para aquellos que además tienen obligaciones familiares,profesionales y de otro tipo. Y cuando se acercan a una plataforma online necesitan:

  • No perder tiempo en cosas superfluas.
  • Instrucciones detalladas de qué es aquello que tienen que hacer y cómo deben hacerlo.
  • Necesitan “cariño docente”, necesitan saber en todo momento que hay alguien detrás, alguien que les va a dar una atención personalizada ya sea por mensajería, por foro, por chat, por Skype o por cualquier medio.
  • Necesitan que el profesor esté detrás de ellos y de su evolución, necesitan UN EFECTO PUSH.
  • Necesitan todo eso y lo necesitan ya, si no la probabilidad de que abandonen el curso es mucho mayor que en otro tipo de modalidades.

En resumen, hay utilizar todas las herramientas tIC y toda la dedicación del profesor para obtener toda la efectividad posible. Preguntad por ahí, el trabajo de profesor online requiero muchas veces más trabajo incluso que el de profesor presencial.

Por eso cuando veo un curso lleno de pdfs, sin instrucciones concretas y con afirmaciones como estas en un curso de 20 alumnos:

“.. al ser muchos, mis respuestas serán dirigidas, salvo excepciones, a los comentarios generales. Sé que lo sabrán comprender”

Me pongo triste 🙁

EN ELEARNING NO EXISTE EL EFECTO PRINGLES

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Schoology – LMS en la nube

Schoology

Recientemente he descubierto un nuevo LMS (Learning Managemente System – Sistema de gestión del aprendizaje). Schoology

Como rasgo diferencial frente a otros destacar que es un LMS en la nube con todas las ventajas y desventajas que eso supone.

La principal ventaja,  al ser un servicio en la nube, es que no es necesario que instalar nada y con sólo registrarnos ya tenemos a nuestra disposición un interfaz desde el cuál podremos crear nuestros cursos e invitar a los potenciales alumnos.

Como desventaja  no tenemos control sobre qué es lo que pasa con nuestros datos, lo que para muchos puede resultar un inconveniente, aunque a estas alturas la fiabilidad y seguridad de las aplicaciones en la nube creo que debería ser un debate ya cerrado (aunque hay opiniones para todos los gustos).

El interfaz gráfico me recuerda mucho a Facebook, lo que lo hace intuitivo para cualquier de los usuarios que use esta red social y, una vez dentro, tienes acceso, desde la barra superior a:

  • Tu página de Inicio (Home). Desde donde se puede visualizar la actividad reciente en tus cursos y grupos, los mensajes que has recibido, tu calendario y el App Center.
  • Cursos: Desde donde podremos crear y gestionar nuestros cursos.
  • Grupos: En donde podremos buscar y enrolarnos en grupos de diversas temáticas para debatir sobre educación con profesores de todo el mundo.
  • Recursos: Donde puedo almacenar mis recursos, importarlos de Google Drive o Khan Academy e incluso recuperar copias de seguridad de recursos extraídos de plataformas Moodle o BlackBoard. De igual manera haciendo nuestros recursos públicos permitiremos al resto de los profesores de la plataforma que

Como podeís apreciar lo “social” tiene mucha presencia dentro de esta plataforma. Además del propio diseño y su parecido con Facebook, podemos crear y participar en grupos para debatir con el resto de profesores y podemos compartir recursos educativos con ellos. Lo cuál, si sigue creciendo puede llegar a ser una gran ventaja.

Y, ¿qué puedo hacer dentro de un curso?. Para que os hagáis una idea la apariencia una vez creado es la siguiente. Puedo por lo tanto:

Apariencia de un curso de Schoology

  • Crear tareas para que los alumnos me entreguen cierto tipo de documentos (y adjuntarles para la realización de la misma otros).
  • Crear autoevaluaciones.
  • Añadir archivos y enlaces.
  • Crear foros (que pueden ser puntuables)
  • Crear galerías de fotos
  • Y crear páginas (extractos de texto enriquecido disponibles a los estudiantes)

En resumen que tiene muchas de las herramientas básicas que necesitamos para poder montar un curso on-line, es gratis e intuitivo. Además proporciona un API y un SDK para poder añadirle nuestras propias funcionalidades

En el lado negativo no queda muy claro cómo dar de alta a una organización ni de cuánta cuota dispones para tu curso. De hecho el soporte técnico se basa una una comunidad y para pedir información adicional te remite únicamente a un teléfono.

Un LMS aún naciendo pero que merece la pena probar por su sencillez.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS