Yo he tenido que dar uno ultrarrápido y condensado hace unos días
pero tuve la suerte de, antes de darlo, poder hacer unas cuantas
preguntas a los alumnos sobre lo que sabían y lo que no. Si puedes
te lo recomiendo; si no, pues nada.
En cuanto a temas... emmo:
Más importantes: funciones, objetos, thisValue, closures,
prototipos...
Probablemente también es bueno hablar de: coerción y conversiones,
alcance, algunas cosas básicas. ¿Sintaxis? Pero el problema es que
se pierde mucho tiempo con temas tan básicos y es más fácil que
miren cualquiera de los miles de sitios que lo explican bien. Una
idea que me ha funcionado alguna vez son estos ejercicios:
https://github.com/liammclennan/JavaScript-Koans para todos los
temas más básicos. Pueden hacerlos por su cuenta y preguntarte en
los que no entiendan, o podéis hacerlos juntos, o puedes tú sacar
los que creas más interesantes... Depende del tiempo que tengáis.
Un tema que creo que es *necesario* contar y con el que seguro que
tienen dificultad:
asincronía y eventos. Esto por lo que he
visto casi siempre da problemas a alguien. Y muchas veces preguntas
y ellos creen que lo saben y que lo entienden, pero no es cierto.
Una prueba muy fácil para saber si lo entienden es la de la
depuración de un manejador de evento. Les pones un ejemplito
sencillo como:
elemento.addEventLIstener("click", function(e) {
// algo de código aquí dentro
}, false);
O incluso mejor aún con una llamada con XHR, les pones una función
en el onreadystatechange (o si prefieres, pones el ejemplo usando
alguna librería, claro). Entonces, les haces depurar eso poniendo
una parada dentro de la función del manejador del evento. Es
increíble el número de gente que diciéndote que entienden el tema de
la asincronía y los eventos, se sorprenden cuando se ejecuta ese
código y el depurador no se para y sin embargo se para luego (cuando
recibe la respuesta o cuando ocurre el click). Si no les vas a
contar cosas sobre herramientas y depuración, puedes hacer lo mismo
poniendo algunos console.log o alert o similar dentro y fuera del
manejador.
Yo hice la prueba: Pregunté y todos lo entendían. En lugar de poner
el ejemplo y que hicieran el ejercicio, se lo escribí en la pizarra,
se lo conté de palabra, y más o menos la mitad (4 de 9) confesaron
que no entendían por qué no se paraba inmediatamente y sí después.
Uno más preguntó que por qué cuando se paraba no podía ver en el
depurador el valor de alguna variable que estaba fuera, justo antes
de asignar el manejador.
En fin, que creo que es un tema importante y además es fácil que se
crean que lo entienden y en realidad no lo entiendan.
Por lo demás... Todo lo que se te ocurra. Dependiendo del tiempo que
tengas.
Ya contarás que tal fue. Espero que bien :)
gz