Guía
En los últimos años Javascript (JS) se ha convertido en un lenguaje maduro que abarca todos los aspectos de la programación: cliente (en el navegador), servidor (usando diferentes entornos de programación) y también, desde la salida de node.js y la versión 3 de Gnome, incluso programación de escritorio. Sin embargo, la mayoría de los cursos existentes se concentran en el navegador y en las librerías que se usan en el mismo.
En este curso se trata de dar, primero, una visión general de JS como lenguaje de programación para más adelante concentrarnos en aspectos específicos de su programación en el cliente y en el servidor. Es un curso único en sus características en ese sentido y por tanto se espera que tenga un nicho de mercado adecuado. Se basa, además, en el material impartido en una asignatura (extinguida) de 4º de una ingeniería no informática, por lo que es adecuado para cualquier persona con conocimientos básicos de programación.
El curso está dirigido a personas con conocimientos básicos de programación, en particular:
Este curso está sacado de la experiencia del profesor explicando durante siete años la asignatura de arquitectura de altes prestaciones, en la que se planteó explicar Javascript no como un lenguaje para hacer cosas en el navegador (el estado en el que estaba hace 8 años), sino un lenguaje completo para hacer todo tipo de aplicaciones. Por eso se partió de su uso como lenguaje de scripting, es decir, para hacer pequeños guiones que se puedan usar desde un administrador de sistemas o para, en general, construir cualquier aplicación.
Desde ese comienzo y sobre todo tras la introducción de librerías como jQuery y aplicaciones como node.js, Javascript ha evolucionado hacia un lenguaje completo y complejo, y de hecho, por ser el único que trabaja de forma nativa en el navegador, también el único con el que se pueden desarrollar aplicaciones completas cliente-servidor (junto con HTML y CSS, claro).
En este curso se comienza por aprender JS de forma agnóstica, es decir, como un lenguaje de propósito general, para trabajar más adelante con diferentes implementaciones (en cliente, en servidor) y cómo conectarlas para crear aplicaciones simples y completas, incluyendo su despliegue en la nube.
Se trata de un curso virtual, con la dinámica propia de los mismos. Se aconseja al alumno que lea el material, intente realizar las actividades que se proponen, y si surge algún problema, use los foros (el específico del tema, o el general del curso) y si todo falla, consulte directamente a todos los tutores usando el correo interno.
Conviene también que se haga sistemáticamente, con un tiempo todos los días o semanas destinado al curso; dado que es un curso de 100 horas, con una hora y media al día durante las 8 semanas que dura el curso es suficiente, o bien 8 horas (aproximadamente) durante los fines de semana.
El material del curso está preparado para que no sea necesario contar físicamente con una placa de Arduino, siendo suficiente un simulador. Si se desea adquirir uno, vale con una placa básica. Los alumnos del curso, una vez comenzado el mismo, podrán solicitar un cupón descuento para adquirir material en caso de que lo estimen conveniente, pero, como se indica, no es necesario.
Se utilizarán las herramientas propias de la plataforma virtual Moodle del CEVUG, complementándose (a petición del usuario y de forma excepcional, buscando sobre todo el acuerdo con todos los alumnos) con tutorías virtuales usando chat, el propio de la plataforma o Google Talk. No están previstas clases presenciales.
Salvo que se indique lo contrario (ausencia del tutor justificada), el tutor se comprometen a contestar los mensajes en los foros y mensajes directos en un plazo de 48 horas.
No se prevé ningún cronograma específico para el curso para que los propios alumnos puedan administrar su aprendizaje. El tutor irá recordando a los alumnos que se queden rezagados la necesidad de irlo haciendo con cierta sistematicidad, pero el ritmo es el que el propio alumno o alumna decidan.
Conviene que los alumnos lleven a cabo al final de cada módulo los tests que se incluirán en los mismos. Cada tema lleva, además, una serie de pruebas obligatorias que tendrá que entregar para poder obtener el certificado.