ECMAScript
Presentación
La asignatura tiene como finalidad asentar los conocimientos básicos de Javascript, para poder iniciar la formación en desarrollo de frontend con tecnologías modernas de framework como Vue.
Marco General de la Asignatura (Currículo)
MÓDULO 10 - Desarrollo de Aplicaciones Web
COMPETENCIAS GENERALES
- C.G.1: Haber adquirido conocimientos avanzados y demostrado, en un contexto altamente especializado, una comprensión detallada y fundamentada de los aspectos teóricos y prácticos y de la metodología de trabajo en el campo de los sistemas de información.
- C.G.2: Ser capaces de asumir la responsabilidad de su propio desarrollo profesional y de su especialización en uno o más campos de estudio.
COMPETENCIAS ESPECIFICAS
- C.E.3 Concebir, planificar, dirigir, implementar y mantener proyectos de desarrollo software.
UNIDADES DE COMPETENCIA
- U.C. 3.13 Identificar, conocer y aplicar los estándares Web.
- U.C. 3.15 Integrar funciones ECMAScript en páginas web.
Objetivo de la asignatura
Resultados de aprendizaje:
- Conocer la sintaxis básica de ECMAscript
- Ser capaz de entender los objetos del DOM y como operar con ellos.
- Crear funciones básicas para operar con los objetos del DOM.
- Uso de librerías para el desarrollo web.
- Obtención de datos desde API,s externas.
Metodología
La metodología propuesta se fundamenta en un enfoque activo, práctico y centrado en el estudiante, orientado a favorecer un aprendizaje significativo mediante la experiencia directa y la construcción progresiva del conocimiento. Se prioriza la máxima de “aprender haciendo”, entendida como la participación activa del alumnado en la resolución de problemas, el desarrollo de proyectos y la investigación aplicada.
Las actividades de aprendizaje estarán organizadas en torno a procesos de desarrollo guiado, que permitirán a los estudiantes enfrentarse a situaciones reales o simuladas de trabajo. Cada una de estas actividades culminará con una exposición teórica posterior, destinada a formalizar, consolidar y sistematizar los conceptos que el alumnado haya explorado y aplicado previamente de manera autónoma. Este planteamiento busca reforzar la comprensión profunda y promover la reflexión sobre la práctica realizada.
La metodología fomentará la investigación individual, la creatividad y la reflexión crítica, incentivando la búsqueda y el contraste de fuentes, así como la formulación de soluciones propias ante los retos planteados. De este modo, el proceso de enseñanza-aprendizaje se concibe como un ejercicio de descubrimiento y construcción personal del conocimiento, más que como una mera transmisión de contenidos.
Asimismo, el enfoque metodológico será flexible y adaptativo, con el fin de atender la diversidad de niveles, ritmos y estilos de aprendizaje presentes en el grupo. Se establecerán objetivos comunes y niveles de ampliación, de manera que los estudiantes con mayor autonomía o experiencia puedan asumir tareas de mayor complejidad, mientras que el profesorado pueda ofrecer un acompañamiento más cercano a quienes requieran reforzar su base conceptual y práctica.
En conjunto, esta metodología pretende generar un entorno de aprendizaje dinámico, participativo y reflexivo, que fomente la autonomía progresiva, la colaboración y la capacidad de aprendizaje permanente en contextos cambiantes.
Temario y planificación
| Bloque | Sesiones | Contenido principal | Objetivo general |
|---|---|---|---|
| Bloque 1. Fundamentos y sintaxis | Sesión 1 – 12 | Presentación de la asignatura. Introducción al lenguaje. Fundamentos, variables y constantes, tipos primitivos, operadores, arrays, funciones, fechas, estructuras de control, y clases. | Comprender la sintaxis básica, los tipos de datos y las estructuras fundamentales del lenguaje, aplicándolos en ejercicios prácticos. |
| Bloque 2. Importación y modularización de elementos | Sesión 13 – 14 (adaptable según ritmo) | Introducción a la organización del código, uso de módulos, importación y exportación de elementos, reutilización de funciones y clases. (Este bloque puede combinarse con los contenidos previos o servir como transición hacia el trabajo con el DOM.) | Aprender a estructurar y modularizar el código, comprendiendo el uso de imports/exports y la separación lógica de componentes. |
| Bloque 3. Interacción con el DOM y el BOM | Sesión 15 – 24 | Introducción al DOM y BOM. Acceso, manipulación e interacción con elementos del documento y la ventana. Eventos mediante HTML, propiedades y listeners. | Comprender y aplicar la interacción con el entorno del navegador, gestionando elementos del documento, eventos y comportamientos dinámicos. |
| Bloque 4. Uso de servicios y API REST | Sesión 25 – 28 | Introducción a la asincronía. Peticiones HTTP, AJAX, CORS, métodos HTTP, JSON y objetos literales. | Comprender el modelo asíncrono y aplicar el consumo de servicios externos mediante peticiones API REST. |
Evaluación
La evaluación de la asignatura se basará en una combinación de tareas prácticas y proyecto final, siguiendo criterios objetivos y medibles.
Issues prácticas
- Se definirán una serie de issues específicas, cada una referenciada desde el comit, que indicará de manera detallada la tarea a realizar.
- Cada issue deberá ser resuelta de acuerdo con lo especificado, y su cierre será la evidencia de la correcta ejecución de la tarea.
- Además, en cada issue se especificarán las pruebas que se deben realizar para cada tarea.
- Se exigirá el cumplimiento de la guía de estilos de JavaScript de Google, asegurando que el código sea legible, consistente y profesional.
Práctica final
- La asignatura incluirá una práctica final, en la que el alumnado deberá implementar un proyecto completo que cumpla unos criterios mínimos de funcionalidad y calidad previamente establecidos.
- La práctica final permitirá evaluar tanto la capacidad de integración de los conocimientos adquiridos como la calidad y estilo del código.
Criterios de puntuación
- Se valorará el cumplimiento de buenas prácticas de programación, basadas en los principios del libro Clean Code, incluyendo claridad, simplicidad, modularidad y nomenclatura adecuada.
- La puntuación reflejará tanto la correcta ejecución funcional de las tareas como la calidad y mantenimiento del código, incentivando la escritura de código profesional y sostenible.
Buenas prácticas
- Se debe atender a las buenas prácticas definidas durante el curso en lo referente a la declaración de autoría, referenciando siempre la fuente de donde se obtenga la información para escribir el código.
- La fuente principal de conocimiento será la documentación oficial de Mozilla y la documentación de w3schools
- Si bien la Inteligencia Artificial puede ser una ayuda importante para el aprendizaje, se recomiendo un uso muy reducido y siempre cotejando lo propuesto por la IA con la documentación oficial.