|
|
|
# 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**](https://google.github.io/styleguide/jsguide.html), 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**](https://developer.mozilla.org/es/docs/Web/JavaScript) y la [documentación de **w3schools**](https://www.w3schools.com/js/default.asp)
|
|
|
|
* 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. |