Desarrollo Integral Frontend y Backend para Ingeniería de Sistemas
Creado por Anthony P.
Cómo fue en el aula
Todavía nadie ha contado cómo le fue con este recurso.
Descripción del Curso
Este curso ofrece una introducción completa al desarrollo de aplicaciones web, abarcando tanto la creación de interfaces de usuario (Frontend) como la programación del lado del servidor (Backend). Está diseñado para estudiantes de educación técnica y tecnológica en ingeniería de sistemas que desean adquirir habilidades prácticas y teóricas para construir soluciones digitales completas y funcionales.
El curso aborda desde los fundamentos de HTML, CSS y JavaScript para el desarrollo frontend hasta conceptos esenciales de programación backend, manejo de bases de datos y servicios web. Se implementa un enfoque metodológico práctico y progresivo, que combina exposiciones teóricas con actividades de laboratorio y proyectos integradores, facilitando el aprendizaje activo y contextualizado.
Al finalizar, los estudiantes serán capaces de diseñar, desarrollar y desplegar aplicaciones web básicas con funcionalidades integradas de frontend y backend, comprendiendo el flujo completo de una aplicación y utilizando herramientas y tecnologías actuales en el ámbito profesional.
Objetivos Generales
- Comprender y aplicar los fundamentos del desarrollo frontend para crear interfaces visuales efectivas.
- Diseñar y programar funcionalidades backend que permitan la gestión de datos y la lógica de negocios.
- Integrar tecnologías frontend y backend para construir aplicaciones web completas y operativas.
- Implementar proyectos prácticos que evidencien el dominio integral del desarrollo web.
Competencias
- Desarrollar interfaces web responsivas y accesibles utilizando HTML, CSS y JavaScript.
- Implementar la lógica del lado del servidor y gestionar bases de datos para aplicaciones web.
- Integrar componentes frontend y backend para construir aplicaciones web funcionales.
- Aplicar buenas prácticas de programación y estándares en el desarrollo de software.
- Utilizar herramientas y entornos de desarrollo adecuados para proyectos web.
- Analizar y solucionar problemas técnicos relacionados con el desarrollo frontend y backend.
Requerimientos
- Conocimientos básicos de computación e internet.
- Familiaridad con conceptos elementales de programación (variables, estructuras de control).
- Acceso a una computadora con conexión a internet y permisos para instalar software.
- Editor de código recomendado (como Visual Studio Code) y navegador web actualizado.
Unidades del Curso
Introducción al Desarrollo Web y Entorno de Trabajo
Se presentan las bases del desarrollo web, estructura general de una aplicación y se configura el entorno de desarrollo con herramientas y editores.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de describir la estructura general de una aplicación web identificando sus componentes frontend y backend.
- Al finalizar la unidad, el estudiante será capaz de configurar un entorno de desarrollo utilizando herramientas y editores adecuados para el desarrollo web, siguiendo instrucciones específicas.
- Al finalizar la unidad, el estudiante será capaz de explicar los fundamentos básicos del desarrollo web, incluyendo protocolos, lenguajes y arquitecturas, mediante ejemplos prácticos.
- Al finalizar la unidad, el estudiante será capaz de organizar y preparar los archivos iniciales de un proyecto web, asegurando una estructura coherente para el desarrollo posterior.
Contenidos Temáticos
1. Fundamentos del Desarrollo Web
- Concepto de desarrollo web: Definición y alcance del desarrollo de sitios y aplicaciones web.
- Protocolos básicos en la web: HTTP, HTTPS y su función en la comunicación cliente-servidor.
- Arquitectura cliente-servidor: Descripción de cómo interactúan el cliente (navegador) y el servidor.
- Lenguajes de programación y marcado: Introducción a HTML, CSS y JavaScript para frontend; introducción a lenguajes backend comunes (ejemplo: Node.js, PHP).
2. Estructura General de una Aplicación Web
- Componentes Frontend: Definición y función, ejemplos (interfaz gráfica, interacción, presentación).
- Componentes Backend: Servidor, base de datos, lógica de negocio.
- Comunicación entre frontend y backend: APIs, solicitudes HTTP, formatos de datos (JSON).
- Ejemplo práctico de estructura: Diagrama y explicación de una aplicación web sencilla.
3. Configuración del Entorno de Desarrollo Web
- Herramientas necesarias: Navegadores, editores de código, terminal o consola, servidores locales.
- Instalación y configuración de un editor de código: Visual Studio Code (VS Code) como ejemplo.
- Extensiones útiles para desarrollo web: Emmet, Live Server, Prettier.
- Configuración de un servidor local: Uso de Live Server o servidores simples para pruebas locales.
4. Organización y Preparación de Archivos Iniciales en un Proyecto Web
- Estructura básica de carpetas y archivos: index.html, carpeta css, carpeta js, carpeta assets (imágenes, fuentes).
- Buenas prácticas en organización: Nombres claros, consistencia y modularidad.
- Creación y edición de archivos iniciales: Creación de un archivo HTML básico con estructura mínima.
- Gestión de versiones básica: Introducción a Git para control de versiones (conceptos básicos, no instalación).
Actividades
Actividad 1: Mapa conceptual de la estructura web
Objetivo: Describir la estructura general de una aplicación web identificando sus componentes frontend y backend.
Descripción:
- Individualmente, el estudiante crea un mapa conceptual que incluya los componentes frontend y backend de una aplicación web.
- Debe incluir ejemplos de tecnologías/lenguajes para cada componente.
- Se recomienda usar papel o herramientas digitales (como MindMeister o Miro).
- Al finalizar, se realiza una breve presentación oral de 3 minutos explicando su mapa.
Organización: Individual
Producto esperado: Mapa conceptual claro y presentación oral.
Duración estimada: 1 hora
Actividad 2: Instalación y configuración de Visual Studio Code
Objetivo: Configurar un entorno de desarrollo utilizando herramientas y editores adecuados para el desarrollo web, siguiendo instrucciones específicas.
Descripción:
- Seguir un tutorial guiado para descargar e instalar Visual Studio Code.
- Configurar extensiones recomendadas: Emmet, Live Server, Prettier.
- Configurar opciones básicas de VS Code (tema, tamaño de fuente).
- Realizar una prueba creando un archivo HTML simple y abrirlo con Live Server.
Organización: Individual o parejas (dependiendo de recursos disponibles)
Producto esperado: Entorno VS Code configurado y archivo HTML visible en navegador local.
Duración estimada: 1.5 horas
Actividad 3: Creación de la estructura inicial de un proyecto web
Objetivo: Organizar y preparar los archivos iniciales de un proyecto web, asegurando una estructura coherente para el desarrollo posterior.
Descripción:
- Crear la carpeta principal del proyecto.
- Crear subcarpetas: css, js, assets.
- Crear un archivo index.html con estructura básica (DOCTYPE, head, body).
- Crear un archivo style.css vacío dentro de la carpeta css y enlazarlo en index.html.
- Crear un archivo script.js vacío dentro de la carpeta js y enlazarlo en index.html.
- Agregar una imagen de prueba en assets y mostrarla en index.html.
Organización: Individual o parejas
Producto esperado: Proyecto web con estructura de carpetas y archivos iniciales correctamente organizados y funcionando.
Duración estimada: 2 horas
Actividad 4: Explicación práctica de protocolos y comunicación web
Objetivo: Explicar los fundamentos básicos del desarrollo web, incluyendo protocolos, lenguajes y arquitecturas, mediante ejemplos prácticos.
Descripción:
- En grupos pequeños, analizar una solicitud HTTP simple simulada (por ejemplo, petición GET a un servidor web) y discutir qué ocurre en cada paso.
- Crear un esquema o diagrama de la comunicación cliente-servidor.
- Presentar ejemplos de uso de HTML, CSS y JavaScript en el frontend y explicar brevemente el papel del backend en esa comunicación.
- Discutir los resultados con el docente y corregir conceptos erróneos.
Organización: Grupos de 3-4 estudiantes
Producto esperado: Diagrama de flujo y explicación verbal o escrita del proceso de comunicación web.
Duración estimada: 1.5 horas
Evaluación
Evaluación Diagnóstica
Qué se evalúa: Conocimientos previos sobre desarrollo web, conceptos de frontend y backend, familiaridad con herramientas básicas.
Cómo se evalúa: Cuestionario de opción múltiple y preguntas abiertas breves.
Instrumento sugerido: Cuestionario digital o papel con 10 preguntas, incluyendo definición de términos y ejemplos.
Evaluación Formativa
Qué se evalúa: Progreso en la configuración del entorno, comprensión de la estructura de proyectos, participación en actividades prácticas.
Cómo se evalúa: Observación directa, revisión de productos parciales (mapas conceptuales, estructuras de archivos, configuraciones realizadas).
Instrumento sugerido: Lista de cotejo para seguimiento de actividades, feedback personalizado durante las actividades.
Evaluación Sumativa
Qué se evalúa: Capacidad para describir la estructura web, configurar un entorno de desarrollo, explicar fundamentos y organizar archivos.
Cómo se evalúa: Proyecto integrador donde el estudiante presenta un pequeño sitio web con estructura organizada, configurado en VS Code, acompañado de un documento explicativo sobre la arquitectura y protocolos usados.
Instrumento sugerido: Rúbrica que evalúe claridad en la explicación, correcta estructura del proyecto, configuración adecuada del entorno y uso correcto de tecnologías básicas.
Duración
La unidad tiene una duración sugerida de 1 semana, con un total aproximado de 6 horas distribuidas de la siguiente manera:
- 2 horas para fundamentos teóricos y explicación inicial del desarrollo web y arquitectura.
- 1.5 horas para instalación y configuración del entorno de desarrollo (Visual Studio Code).
- 2 horas para actividades prácticas de organización de archivos y creación del proyecto inicial.
- 0.5 horas para evaluación diagnóstica y formativa continua, incluyendo retroalimentación.
Fundamentos de Frontend: HTML y CSS
Se estudian las etiquetas HTML para estructurar contenido y las hojas de estilo CSS para el diseño visual y la presentación.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de identificar y utilizar las etiquetas HTML básicas para estructurar contenido web de forma clara y semántica.
- Al finalizar la unidad, el estudiante será capaz de aplicar hojas de estilo CSS para diseñar y personalizar la presentación visual de páginas web según criterios de diseño establecidos.
- Al finalizar la unidad, el estudiante será capaz de construir páginas web simples que integren HTML y CSS de manera coherente y funcional.
- Al finalizar la unidad, el estudiante será capaz de evaluar y corregir errores comunes en el código HTML y CSS para asegurar la correcta visualización en diferentes navegadores.
Contenidos Temáticos
1. Introducción a HTML
- Concepto y función de HTML: definición de HTML, su rol en la estructura de páginas web.
- Estructura básica de un documento HTML: etiquetas
,,,. - Etiquetas básicas y semánticas:
,-
,,,,,,,,,,,.- Atributos comunes en HTML: id, class, src, href, alt, title.
2. Introducción a CSS
- Concepto y función de CSS: definición, cómo CSS complementa a HTML para diseño visual.
- Formas de aplicar CSS: estilos inline, internos (en la etiqueta
), y externos (archivos .css). - Selectores básicos de CSS: selectores de etiqueta, clase, id, y combinadores simples.
- Propiedades fundamentales: color, background-color, font-family, font-size, margin, padding, border, width, height, display.
- Modelo de caja (Box Model): contenido, padding, borde, margen.
3. Integración de HTML y CSS
- Vinculación de CSS externo a un documento HTML: uso de la etiqueta
. - Uso de clases e identificadores para aplicar estilos: asignación y aplicación práctica.
- Construcción de una página web simple: estructura con HTML y diseño con CSS básico.
4. Buenas prácticas y corrección de errores en HTML y CSS
- Validación de código HTML y CSS: uso de herramientas como el validador W3C.
- Errores comunes en HTML: etiquetas no cerradas, mal anidamiento, atributos incorrectos.
- Errores comunes en CSS: selectores incorrectos, propiedades mal escritas, conflictos de estilos.
- Compatibilidad entre navegadores: diferencias básicas y cómo verificar visualización correcta.
- Depuración básica: uso de herramientas de desarrollo en navegadores para inspeccionar y corregir código.
Actividades
Actividad 1: Identificación y uso de etiquetas HTML básicas
Objetivo: Identificar y utilizar etiquetas HTML básicas para estructurar contenido web de forma clara y semántica.
Descripción:
- Se entrega a cada estudiante un documento HTML con contenido no estructurado (todo en párrafos o sin etiquetas adecuadas).
- El estudiante debe reestructurar el contenido usando etiquetas semánticas correctas (títulos, párrafos, listas, enlaces, imágenes).
- Se debe incluir al menos un encabezado, una lista ordenada, una lista desordenada, un enlace y una imagen con atributos alt adecuados.
Organización: Individual
Producto esperado: Archivo HTML corregido y estructurado semánticamente.
Duración estimada: 1 hora
Actividad 2: Aplicación práctica de estilos CSS básicos
Objetivo: Aplicar hojas de estilo CSS para diseñar y personalizar la presentación visual de páginas web.
Descripción:
- Se proporciona un archivo HTML simple sin estilos.
- El estudiante crea un archivo CSS externo que defina estilos para colores, tipografías, márgenes, y bordes para los elementos HTML del documento.
- Se debe incluir al menos un selector de clase, uno de id y uno de etiqueta.
- El estudiante vincula el archivo CSS al HTML y visualiza los cambios en el navegador.
Organización: Individual
Producto esperado: Archivo CSS vinculado correctamente al HTML con estilos aplicados.
Duración estimada: 1.5 horas
Actividad 3: Construcción de una página web simple integrando HTML y CSS
Objetivo: Construir páginas web simples que integren HTML y CSS de manera coherente y funcional.
Descripción:
- En grupos de 2-3 estudiantes, planificar y diseñar una página web sencilla que incluya: título, párrafos, imágenes, listas, y enlaces.
- Crear el código HTML con estructura semántica y el archivo CSS externo para definir el diseño visual (colores, tipografías, espaciamientos).
- Probar la página en diferentes navegadores para verificar la visualización correcta.
- Realizar ajustes de estilo y estructura según sea necesario.
Organización: Grupos
Producto esperado: Página web funcional con HTML y CSS integrados, lista para mostrar en navegador.
Duración estimada: 3 horas
Actividad 4: Diagnóstico y corrección de errores comunes en HTML y CSS
Objetivo: Evaluar y corregir errores comunes en el código HTML y CSS para asegurar correcta visualización en navegadores.
Descripción:
- Se entrega un proyecto web con errores intencionales en HTML y CSS (etiquetas mal cerradas, selectores incorrectos, estilos no aplicados).
- El estudiante debe usar herramientas de validación y desarrollo para identificar y corregir los errores.
- Documentar los errores encontrados y explicar las correcciones realizadas.
Organización: Individual
Producto esperado: Archivo corregido y reporte breve de errores y soluciones.
Duración estimada: 1.5 horas
Evaluación
Evaluación diagnóstica
Qué se evalúa: Conocimientos previos sobre etiquetas HTML básicas y nociones de CSS.
Cómo se evalúa: Cuestionario corto con preguntas de opción múltiple y ejercicios simples de identificación de etiquetas y estilos CSS.
Instrumento sugerido: Test escrito o digital de 10 a 15 preguntas.
Evaluación formativa
Qué se evalúa: Progreso en la aplicación de etiquetas HTML semánticas, uso correcto de CSS y capacidad para integrar ambos.
Cómo se evalúa: Revisión continua de las actividades prácticas, retroalimentación individual o grupal, observación del uso de buenas prácticas y corrección de errores.
Instrumento sugerido: Rúbrica de evaluación para cada actividad práctica, con criterios claros sobre estructura, estilo, funcionalidad y corrección.
Evaluación sumativa
Qué se evalúa: Competencia para crear una página web simple con HTML y CSS integrados, uso correcto de etiquetas y estilos, y capacidad para detectar y corregir errores.
Cómo se evalúa: Proyecto final individual o en grupo que incluya la construcción completa de una página web, junto con un informe de validación y corrección de errores.
Instrumento sugerido: Rúbrica de proyecto final que incluya criterios de estructura semántica, aplicación de estilos CSS, funcionalidad y corrección de errores.
Duración
La unidad "Fundamentos de Frontend: HTML y CSS" está diseñada para ser desarrollada en un total aproximado de 7 horas. Se sugiere distribuir el tiempo en dos semanas, dedicando 3 a 4 horas en la primera semana para cubrir la introducción a HTML y CSS, junto con las primeras actividades individuales. En la segunda semana, se recomienda 3 a 4 horas para la integración, construcción de páginas y actividades de corrección y evaluación, incluyendo la realización del proyecto final y retroalimentación.
Programación en JavaScript para Frontend
Se abordan conceptos básicos y avanzados de JavaScript para dotar de interactividad a las páginas web.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de identificar y explicar los conceptos básicos de JavaScript, incluyendo variables, tipos de datos y estructuras de control, en ejercicios prácticos.
- Al finalizar la unidad, el estudiante será capaz de implementar funciones y eventos en JavaScript para agregar interactividad a páginas web, aplicando buenas prácticas de programación.
- Al finalizar la unidad, el estudiante será capaz de manipular el Document Object Model (DOM) mediante JavaScript para modificar dinámicamente el contenido y estilo de una página web en proyectos guiados.
- Al finalizar la unidad, el estudiante será capaz de utilizar técnicas avanzadas de JavaScript, como manejo de asincronía con promesas y fetch API, para consumir y mostrar datos externos en una aplicación web simple.
- Al finalizar la unidad, el estudiante será capaz de depurar y corregir errores comunes en código JavaScript utilizando herramientas básicas de desarrollo web, asegurando el correcto funcionamiento de la interfaz.
Contenidos Temáticos
1. Introducción a JavaScript y conceptos básicos
- Historia y evolución de JavaScript: breve contexto y su rol en el desarrollo web.
- Variables y tipos de datos en JavaScript: var, let, const; tipos primitivos (string, number, boolean, null, undefined, symbol).
- Estructuras de control: condicionales (if, else, switch), bucles (for, while, do...while).
- Operadores básicos: aritméticos, lógicos, de comparación y asignación.
2. Funciones y manejo de eventos en JavaScript
- Declaración y expresión de funciones; parámetros y valores de retorno.
- Funciones anónimas y funciones flecha (arrow functions).
- Eventos en JavaScript: concepto y tipos comunes (click, submit, load, input).
- Asignación de eventos mediante addEventListener y atributos HTML.
- Buenas prácticas en la escritura y organización de funciones y eventos.
3. Manipulación del DOM con JavaScript
- Concepto y estructura del DOM (Document Object Model).
- Acceso a elementos: métodos getElementById, getElementsByClassName, querySelector, querySelectorAll.
- Modificación dinámica de contenido: innerHTML, textContent, value.
- Modificación de estilos: acceso y cambio de propiedades CSS desde JavaScript.
- Creación, inserción y eliminación de elementos en el DOM.
4. JavaScript avanzado: asincronía, promesas y consumo de APIs
- Concepto de asincronía en JavaScript y su importancia en el frontend.
- Introducción a las promesas: creación, estados y encadenamiento con then y catch.
- Uso de la API fetch para realizar solicitudes HTTP a servicios externos.
- Procesamiento y presentación de datos JSON obtenidos desde APIs.
- Ejemplos prácticos de integración de datos externos en aplicaciones web simples.
5. Depuración y manejo de errores en JavaScript
- Errores comunes en JavaScript: sintaxis, referencias, lógica.
- Uso de la consola del navegador para depurar código (console.log, console.error).
- Herramientas básicas de desarrollo web: debugger, breakpoints, inspección de variables.
- Manejo de errores con try...catch y buenas prácticas para código robusto.
- Validación básica de entradas y prevención de errores en formularios e interacciones.
Actividades
Actividad 1: Ejercicios prácticos de variables, tipos de datos y estructuras de control
Objetivo: Identificar y explicar conceptos básicos de JavaScript.
Descripción:
- El docente presenta ejemplos simples de variables y tipos de datos.
- Los estudiantes resuelven ejercicios donde declaran variables y usan condicionales para mostrar mensajes según valores.
- Se realizan pequeños retos para usar bucles que impriman secuencias numéricas o listas.
- Discusión grupal sobre los resultados y dudas surgidas.
Organización: Individual
Producto esperado: Código JavaScript básico que incluya variables, condicionales y bucles funcionales.
Duración estimada: 2 horas
Actividad 2: Creación de funciones y manejo de eventos para interactividad
Objetivo: Implementar funciones y eventos para agregar interactividad.
Descripción:
- Se explica cómo declarar funciones y asignar eventos a botones y formularios.
- Los estudiantes desarrollan una página web simple con botones que al hacer clic ejecutan funciones que modifican contenido o estilos.
- Se fomenta el uso de addEventListener para separar estructura HTML y lógica JS.
- Se revisan buenas prácticas de nombres y organización del código.
Organización: Parejas
Producto esperado: Página web con interactividad básica mediante funciones y eventos.
Duración estimada: 3 horas
Actividad 3: Proyecto guiado de manipulación del DOM
Objetivo: Manipular el DOM para modificar contenido y estilos dinámicamente.
Descripción:
- El docente presenta un proyecto con estructura HTML base.
- Los estudiantes agregan scripts que acceden a elementos, cambian textos, estilos, agregan y eliminan nodos según instrucciones.
- Se realizan ejercicios para practicar querySelector y creación de elementos dinámicos.
- Se promueve la experimentación y la explicación en grupo de las modificaciones realizadas.
Organización: Grupos pequeños (3-4 estudiantes)
Producto esperado: Proyecto web con manipulación activa del DOM y cambios visibles en la interfaz.
Duración estimada: 4 horas
Actividad 4: Consumo de API externa con fetch y manejo de promesas
Objetivo: Utilizar técnicas avanzadas para consumir y mostrar datos externos.
Descripción:
- Se explica la sintaxis y uso de fetch para hacer solicitudes HTTP.
- Los estudiantes desarrollan una pequeña aplicación que obtiene datos de una API pública (ejemplo: API de usuarios o clima) y los muestra en la página.
- Se manejan casos de éxito y error usando then y catch.
- Discusión sobre la importancia de la asincronía en aplicaciones frontend.
Organización: Individual
Producto esperado: Aplicación web simple que consume datos externos y los presenta dinámicamente.
Duración estimada: 3 horas
Actividad 5: Depuración y corrección de errores en código JavaScript
Objetivo: Depurar y corregir errores comunes asegurando funcionalidad correcta.
Descripción:
- Se presentan fragmentos de código con errores típicos para que los estudiantes identifiquen y corrijan.
- Se guía el uso de la consola y herramientas de desarrollo para inspeccionar variables y ejecutar pasos de depuración.
- Se propone un reto donde deben validar entradas y manejar errores con try...catch.
- Se fomenta la documentación de los errores encontrados y las soluciones aplicadas.
Organización: Parejas
Producto esperado: Código corregido y funcional con reporte de errores y soluciones.
Duración estimada: 2 horas
Evaluación
Evaluación diagnóstica
Qué se evalúa: Conocimientos previos sobre programación básica y conceptos fundamentales de JavaScript.
Cómo se evalúa: Cuestionario escrito o en línea con preguntas de opción múltiple y ejercicios cortos sobre variables, tipos y estructuras de control.
Instrumento sugerido: Prueba corta diagnóstica digital o en papel con preguntas cerradas y ejercicios prácticos.
Evaluación formativa
Qué se evalúa: Progreso en la implementación de funciones, eventos, manipulación del DOM y manejo de asincronía durante las actividades.
Cómo se evalúa: Observación directa, revisión de código entregado en actividades, retroalimentación oral y escrita.
Instrumento sugerido: Rúbrica de evaluación para código y participación, listas de cotejo para prácticas y retroalimentación continua.
Evaluación sumativa
Qué se evalúa: Competencia integral para explicar conceptos básicos, implementar funciones y eventos, manipular el DOM, consumir APIs y depurar código.
Cómo se evalúa: Proyecto final individual o en parejas que integre todos los contenidos, complementado con examen práctico o teórico.
Instrumento sugerido: Rúbrica detallada para evaluación de proyecto y examen con preguntas teórico-prácticas.
Duración
La unidad "Programación en JavaScript para Frontend" tiene una duración sugerida de 4 semanas, distribuidas así:
- Semana 1: Introducción y conceptos básicos (6 horas) incluyendo actividades 1 y parte teórica.
- Semana 2: Funciones y eventos (6 horas) con realización de actividad 2.
- Semana 3: Manipulación del DOM (6 horas) con actividad 3 y prácticas adicionales.
- Semana 4: JavaScript avanzado y depuración (6 horas) con actividades 4 y 5 y evaluación sumativa.
Se recomienda dedicar tiempo adicional para reforzamiento y tutorías según necesidades del grupo.
Introducción al Backend y Lenguajes de Servidor
Se explica el rol del backend, se introduce un lenguaje de servidor (por ejemplo, Node.js) y se configura un servidor básico.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de describir el rol y la importancia del backend en el desarrollo de aplicaciones web, identificando sus funciones principales en la gestión de datos y lógica de negocios.
- Al finalizar la unidad, el estudiante será capaz de instalar y configurar un entorno de desarrollo para Node.js, cumpliendo con los requisitos técnicos establecidos para el desarrollo backend.
- Al finalizar la unidad, el estudiante será capaz de crear y ejecutar un servidor básico utilizando Node.js, demostrando la capacidad de responder a solicitudes HTTP y enviar respuestas adecuadas.
- Al finalizar la unidad, el estudiante será capaz de explicar los conceptos fundamentales de los lenguajes de servidor y su interacción con el frontend, demostrando comprensión mediante ejemplos prácticos.
Contenidos Temáticos
1. Introducción al Backend en el Desarrollo Web
- Definición y rol del backend: Explicación del backend como la parte del software que corre en el servidor, manejando la lógica de negocio, la gestión de datos y la comunicación con el frontend.
- Diferencias entre frontend y backend: Comparativa de responsabilidades, tecnologías y funciones de cada uno.
- Importancia del backend en aplicaciones web: Cómo el backend asegura funcionalidades esenciales como autenticación, almacenamiento, procesamiento y seguridad.
- Componentes principales del backend: Servidor, base de datos, lógica de negocio y API.
2. Conceptos Fundamentales de Lenguajes de Servidor y su Interacción con el Frontend
- ¿Qué es un lenguaje de servidor?: Características, ejecución en servidor y ejemplos comunes (Node.js, PHP, Python, Java).
- Comunicación cliente-servidor: Explicación del protocolo HTTP, solicitudes (GET, POST) y respuestas.
- APIs y endpoints: Cómo el backend expone servicios que el frontend consume.
- Ejemplos prácticos de interacción: Flujo de datos desde el frontend hasta el backend y viceversa.
3. Instalación y Configuración del Entorno de Desarrollo para Node.js
- Requisitos previos: Conceptos básicos, software necesario (Node.js, npm), y condiciones del sistema operativo.
- Descarga e instalación de Node.js: Paso a paso para Windows, macOS y Linux.
- Verificación de la instalación: Uso de comandos en consola para comprobar versión de Node.js y npm.
- Configuración básica del entorno: Creación de un proyecto, inicialización con npm, estructura de carpetas.
4. Creación y Ejecución de un Servidor Básico con Node.js
- Introducción al módulo HTTP de Node.js: Concepto y uso básico.
- Escritura de un script para servidor simple: Código para crear un servidor que escuche en un puerto y responda a solicitudes HTTP.
- Pruebas de funcionamiento: Uso del navegador o herramientas como Postman para enviar solicitudes y verificar respuestas.
- Manejo básico de rutas y respuestas: Diferenciar respuestas según la URL solicitada.
Actividades
Actividad 1: Investigación y Presentación sobre el Rol del Backend
Objetivo: Describir el rol y la importancia del backend en el desarrollo de aplicaciones web.
Descripción:
- Dividir la clase en grupos pequeños.
- Cada grupo investigará un aspecto del backend: definición, componentes, diferencias con frontend, y ejemplos de uso.
- Prepararán una presentación breve (5 minutos) explicando su tema.
- Presentarán frente al grupo y responderán preguntas.
Organización: Grupos de 3-4 estudiantes.
Producto esperado: Presentación oral apoyada con diapositivas o carteles.
Duración estimada: 1 hora.
Actividad 2: Instalación y Verificación de Node.js
Objetivo: Instalar y configurar un entorno de desarrollo para Node.js.
Descripción:
- El docente guiará paso a paso la instalación de Node.js según el sistema operativo de cada estudiante.
- Los estudiantes ejecutarán comandos para verificar la instalación (node -v y npm -v).
- Crearán un proyecto básico inicializado con npm.
Organización: Individual.
Producto esperado: Evidencia de instalación (captura de pantalla de consola con versiones y estructura de proyecto).
Duración estimada: 1.5 horas.
Actividad 3: Desarrollo de un Servidor Básico con Node.js
Objetivo: Crear y ejecutar un servidor básico que responda a solicitudes HTTP.
Descripción:
- El docente proporcionará un ejemplo base de código para un servidor con Node.js.
- Los estudiantes copiarán y ejecutarán el código en su entorno local.
- Modificarán el código para agregar al menos dos rutas diferentes con respuestas distintas.
- Probarán las respuestas usando el navegador o herramientas como Postman.
Organización: Individual o parejas.
Producto esperado: Código fuente funcional y evidencia de pruebas con rutas y respuestas.
Duración estimada: 2 horas.
Actividad 4: Ejemplo Práctico de Comunicación entre Frontend y Backend
Objetivo: Explicar la interacción entre lenguajes de servidor y frontend mediante ejemplos prácticos.
Descripción:
- Proporcionar una pequeña aplicación frontend (HTML + JavaScript) que realice solicitudes HTTP a un servidor Node.js.
- Los estudiantes analizarán y explicarán cómo se realiza la comunicación y el flujo de datos.
- Modificarán el backend para responder con datos dinámicos y el frontend para mostrar esos datos.
Organización: Parejas.
Producto esperado: Código modificado y explicación escrita o presentación breve.
Duración estimada: 2 horas.
Evaluación
Evaluación Diagnóstica
Qué se evalúa: Conocimientos previos sobre backend, frontend y lenguajes de servidor.
Cómo se evalúa: Cuestionario corto de opción múltiple y preguntas abiertas.
Instrumento sugerido: Test en papel o digital con preguntas sobre conceptos básicos y diferencias entre frontend y backend.
Evaluación Formativa
Qué se evalúa: Progreso en instalación, configuración y desarrollo de servidor básico.
Cómo se evalúa: Revisión continua de actividades prácticas, observación directa y retroalimentación inmediata.
Instrumento sugerido: Checklist de tareas completadas, revisión de código y evidencias de pruebas en consola.
Evaluación Sumativa
Qué se evalúa: Cumplimiento de todos los objetivos: descripción del backend, configuración de entorno, creación de servidor y explicación de interacción con frontend.
Cómo se evalúa: Proyecto final integrador donde el estudiante debe presentar un servidor básico funcional, explicar su código y la interacción con un frontend simple.
Instrumento sugerido: Rúbrica que contemple aspectos técnicos (funcionamiento del servidor), explicativos (claridad en conceptos) y prácticos (evidencias de pruebas y código).
Duración
La unidad "Introducción al Backend y Lenguajes de Servidor" está diseñada para ser impartida en un total de 7 horas distribuidas en sesiones prácticas y teóricas durante una semana. Se recomienda la siguiente distribución:
- 2 horas para introducción teórica al backend, conceptos y comunicación cliente-servidor.
- 1.5 horas para instalación y configuración del entorno Node.js.
- 2 horas para desarrollo y pruebas del servidor básico con Node.js.
- 1.5 horas para actividades de integración y explicación práctica de la interacción frontend-backend.
Esta distribución permite combinar teoría con práctica, asegurando comprensión y aplicación efectiva de los contenidos.
Gestión de Bases de Datos y Conexiones
Se estudian conceptos de bases de datos relacionales y no relacionales, y la conexión entre backend y base de datos.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de identificar y diferenciar las características principales de bases de datos relacionales y no relacionales mediante análisis comparativo.
- Al finalizar la unidad, el estudiante será capaz de diseñar esquemas básicos de bases de datos relacionales aplicando reglas de normalización en un proyecto simple.
- Al finalizar la unidad, el estudiante será capaz de implementar conexiones entre el backend y bases de datos utilizando lenguajes de consulta y librerías específicas, asegurando la correcta manipulación y recuperación de datos.
- Al finalizar la unidad, el estudiante será capaz de ejecutar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) sobre una base de datos desde el backend, validando la integridad y consistencia de la información.
- Al finalizar la unidad, el estudiante será capaz de evaluar y seleccionar el tipo de base de datos más adecuado para distintos escenarios de aplicación backend, justificando su elección técnica.
Contenidos Temáticos
1. Introducción a las bases de datos
- Concepto y función de una base de datos en sistemas informáticos
- Tipos de bases de datos: relacionales y no relacionales
- Importancia de la gestión de bases de datos en el desarrollo backend
2. Bases de datos relacionales
- Modelo relacional: tablas, filas y columnas
- Características principales: integridad referencial, claves primarias y foráneas
- Lenguaje SQL: estructura básica y comandos principales
- Reglas de normalización: primera, segunda y tercera forma normal
- Diseño de esquemas relacionales para proyectos simples
3. Bases de datos no relacionales (NoSQL)
- Tipos de bases NoSQL: documentos, clave-valor, columnas, grafos
- Características y ventajas frente a bases relacionales
- Casos de uso típicos para bases NoSQL
- Ejemplos de bases de datos NoSQL populares (MongoDB, Redis, Cassandra)
4. Conexión entre backend y bases de datos
- Concepto de conexión y comunicación backend-base de datos
- Librerías y drivers comunes para conexión en lenguajes backend (ej. Node.js: Sequelize, Mongoose)
- Uso de consultas SQL y comandos para manipulación de datos desde el backend
- Gestión de errores y validación de conexiones
5. Operaciones CRUD desde el backend
- Definición y ejemplos de operaciones Crear, Leer, Actualizar y Eliminar
- Implementación práctica de CRUD usando lenguaje backend y base de datos relacional
- Validación de integridad y consistencia de datos en operaciones CRUD
- Buenas prácticas para manejo seguro y eficiente de datos
6. Evaluación y selección del tipo de base de datos
- Criterios técnicos para la selección de base de datos adecuada
- Comparación de ventajas y limitaciones de bases relacionales y NoSQL
- Escenarios comunes y recomendaciones de uso para cada tipo de base de datos
- Justificación técnica de la elección basada en requisitos de proyectos backend
Actividades
Actividad 1: Análisis comparativo de bases de datos relacionales y no relacionales
Objetivo: Identificar y diferenciar características de bases de datos relacionales y no relacionales mediante análisis comparativo.
Descripción:
- Formar grupos de 3-4 estudiantes.
- Cada grupo investigará un tipo de base de datos (relacional o NoSQL) y preparará un cuadro comparativo con características, ventajas, desventajas y ejemplos.
- Presentar el cuadro comparativo al resto de la clase con breves explicaciones.
- Realizar una discusión guiada para consolidar diferencias y usos.
Organización: Grupos
Producto esperado: Cuadro comparativo impreso o digital y presentación oral breve.
Duración estimada: 90 minutos
Actividad 2: Diseño de esquema de base de datos relacional para proyecto simple
Objetivo: Diseñar esquemas básicos aplicando reglas de normalización.
Descripción:
- Proponer un escenario sencillo (por ejemplo, gestión de biblioteca o ventas).
- Individualmente diseñar un esquema de base de datos relacional con tablas, claves primarias y foráneas.
- Aplicar al menos hasta la tercera forma normal para normalizar el esquema.
- Validar el diseño con el docente y compañeros.
Organización: Individual
Producto esperado: Diagrama esquemático del modelo relacional normalizado.
Duración estimada: 2 horas
Actividad 3: Implementación de conexión y operaciones CRUD en backend
Objetivo: Implementar conexiones y operaciones CRUD asegurando integridad y manipulación correcta.
Descripción:
- En parejas, elegir un entorno backend (por ejemplo, Node.js) y una base de datos relacional o NoSQL.
- Configurar la conexión entre backend y base de datos usando librerías específicas.
- Implementar y probar operaciones CRUD básicas sobre una tabla o colección definida.
- Verificar que los datos se manipulen correctamente y validar integridad en cada operación.
Organización: Parejas
Producto esperado: Código funcional con conexión y CRUD implementado, reporte breve de pruebas.
Duración estimada: 3 horas
Actividad 4: Caso práctico de selección de base de datos para proyecto backend
Objetivo: Evaluar y seleccionar el tipo de base de datos más adecuado para un escenario dado.
Descripción:
- Presentar un caso de estudio con requisitos funcionales y no funcionales para un sistema backend.
- Individualmente o en grupos pequeños, analizar los requisitos y comparar opciones de bases de datos.
- Elaborar un informe justificando la elección técnica del tipo de base de datos y modelo.
- Compartir y discutir las elecciones en clase para evaluar diferentes criterios.
Organización: Individual o grupos pequeños
Producto esperado: Informe escrito con justificación técnica de selección de base de datos.
Duración estimada: 2 horas
Evaluación
Evaluación diagnóstica
Qué se evalúa: Conocimientos previos sobre tipos de bases de datos y operaciones básicas.
Cómo se evalúa: Cuestionario corto de selección múltiple y preguntas abiertas.
Instrumento sugerido: Prueba escrita electrónica o en papel al inicio de la unidad.
Evaluación formativa
Qué se evalúa: Avance en diseño de esquemas, implementación de conexiones y CRUD, y comprensión conceptual.
Cómo se evalúa: Revisión continua de actividades prácticas (cuadros comparativos, diagramas, código), retroalimentación oral y escrita.
Instrumento sugerido: Rúbricas para actividades prácticas, observación directa y preguntas durante clases.
Evaluación sumativa
Qué se evalúa: Competencias integradas de identificación, diseño, implementación y selección de bases de datos.
Cómo se evalúa: Proyecto final que incluye diseño de base de datos normalizada, conexión funcional con backend, implementación CRUD y justificación técnica de selección de base de datos.
Instrumento sugerido: Proyecto escrito y código fuente entregado, evaluado con rúbrica detallada que cubra criterios técnicos, funcionales y de presentación.
Duración
La unidad "Gestión de Bases de Datos y Conexiones" se sugiere impartir en un total de 15 horas distribuidas en tres semanas, con la siguiente organización:
- Semana 1 (5 horas): Introducción, bases relacionales y no relacionales, actividad 1 y 2.
- Semana 2 (5 horas): Conexión backend-base de datos, operaciones CRUD, actividad 3.
- Semana 3 (5 horas): Evaluación y selección de bases de datos, actividad 4, evaluación sumativa y cierre.
Esta distribución permite combinar teoría y práctica con tiempo suficiente para la retroalimentación y consolidación de conocimientos.
APIs y Comunicación entre Frontend y Backend
Se enseña cómo crear y consumir APIs REST para la interacción entre cliente y servidor.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de describir los conceptos fundamentales de las APIs REST y su rol en la comunicación entre frontend y backend.
- Al finalizar la unidad, el estudiante será capaz de diseñar y estructurar una API REST básica que permita la gestión de datos entre cliente y servidor.
- Al finalizar la unidad, el estudiante será capaz de implementar funcionalidades en el backend para exponer endpoints REST que respondan a solicitudes del frontend.
- Al finalizar la unidad, el estudiante será capaz de consumir APIs REST desde el frontend mediante solicitudes HTTP y manejar las respuestas para actualizar la interfaz de usuario.
- Al finalizar la unidad, el estudiante será capaz de probar y depurar la comunicación entre frontend y backend asegurando la correcta integración de las APIs.
Contenidos Temáticos
1. Introducción a las APIs REST y su rol en la comunicación Frontend-Backend
- Concepto de API: Definición y propósito en aplicaciones web.
- Principios REST: Recursos, métodos HTTP, estado sin sesión, y uso de URLs.
- Arquitectura cliente-servidor: Roles del frontend y backend en la comunicación.
- Ventajas de usar APIs REST para la integración entre frontend y backend.
- Ejemplos prácticos de interacción a través de APIs REST.
2. Diseño y estructura de una API REST básica
- Identificación de recursos y definición de endpoints.
- Uso de métodos HTTP: GET, POST, PUT, DELETE y su significado.
- Formatos de datos para la comunicación: JSON como estándar.
- Buenas prácticas para nombrar rutas y organizar la API.
- Documentación básica para describir la API (uso de Swagger o similar).
3. Implementación de funcionalidades backend para exponer endpoints REST
- Configuración del entorno de desarrollo backend (Node.js/Express o similar).
- Creación de rutas y controladores para manejar solicitudes HTTP.
- Gestión de datos básicos: almacenamiento temporal con estructuras en memoria o archivos.
- Manejo de respuestas: códigos de estado HTTP y mensajes JSON.
- Consideraciones de seguridad básicas: validación de datos y manejo de errores.
4. Consumo de APIs REST desde el frontend
- Introducción a las solicitudes HTTP desde frontend (fetch, axios o XMLHttpRequest).
- Realización de solicitudes GET, POST, PUT y DELETE.
- Manejo de respuestas y actualización dinámica de la interfaz de usuario.
- Gestión de errores en el consumo de APIs.
- Ejemplos prácticos: integración de formularios y listas con datos del backend.
5. Prueba y depuración de la comunicación entre frontend y backend
- Herramientas para pruebas de APIs: Postman o Insomnia.
- Pruebas manuales de endpoints y análisis de respuestas.
- Depuración de problemas comunes en la comunicación (CORS, errores 4xx y 5xx).
- Uso de consola y herramientas de desarrollo del navegador para seguimiento de solicitudes.
- Estrategias para asegurar la correcta integración y funcionamiento conjunto.
Actividades
Actividad 1: Análisis y descripción de una API REST existente
Objetivo: Describir los conceptos fundamentales de las APIs REST y su rol en la comunicación entre frontend y backend.
Descripción:
- Se presenta a los estudiantes una API pública sencilla (por ejemplo, JSONPlaceholder).
- En grupos pequeños, analizan la documentación y definen los recursos, métodos HTTP y estructura de endpoints.
- Discuten el flujo de comunicación entre cliente y servidor usando esa API.
- Preparan una presentación breve explicando sus hallazgos.
Organización: Grupos de 3 a 4 estudiantes.
Producto esperado: Documento o presentación que describa la estructura y funcionamiento básico de la API analizada.
Duración estimada: 2 horas.
Actividad 2: Diseño y documentación de una API REST básica para gestionar un recurso
Objetivo: Diseñar y estructurar una API REST básica que permita la gestión de datos entre cliente y servidor.
Descripción:
- Individualmente o en parejas, los estudiantes seleccionan un recurso simple (ejemplo: usuarios, productos).
- Diseñan los endpoints necesarios para las operaciones CRUD, asignando métodos HTTP y rutas.
- Crean un documento de diseño con la estructura de la API, formatos de datos y ejemplos de solicitudes/respuestas.
Organización: Individual o parejas.
Producto esperado: Documento de diseño y documentación básica de la API.
Duración estimada: 3 horas.
Actividad 3: Implementación backend de una API REST básica
Objetivo: Implementar funcionalidades en el backend para exponer endpoints REST que respondan a solicitudes del frontend.
Descripción:
- En parejas, configuran un proyecto backend (por ejemplo, Node.js con Express).
- Implementan rutas y controladores para el recurso diseñado en la actividad anterior.
- Prueban cada endpoint utilizando herramientas como Postman para verificar funcionamiento y respuestas.
Organización: Parejas.
Producto esperado: Código funcional del backend con endpoints REST activos y probados.
Duración estimada: 5 horas.
Actividad 4: Consumo y prueba de la API REST desde el frontend
Objetivo: Consumir APIs REST desde el frontend mediante solicitudes HTTP y manejar las respuestas para actualizar la interfaz de usuario; probar y depurar la comunicación.
Descripción:
- En parejas o grupos pequeños, desarrollan una interfaz sencilla que consuma la API backend implementada.
- Realizan solicitudes GET para mostrar datos, y POST, PUT, DELETE para modificar datos desde el frontend.
- Implementan manejo de errores y actualizan la interfaz según la respuesta del servidor.
- Utilizan herramientas de desarrollo para depurar y asegurar la correcta comunicación.
Organización: Parejas o grupos de 3.
Producto esperado: Aplicación frontend que interactúe correctamente con la API backend y permita gestión básica de datos.
Duración estimada: 6 horas.
Evaluación
Evaluación diagnóstica
Qué se evalúa: Conocimientos previos sobre APIs, métodos HTTP y arquitectura cliente-servidor.
Cómo se evalúa: Cuestionario breve con preguntas de opción múltiple y de respuesta corta.
Instrumento sugerido: Prueba escrita o en plataforma digital al inicio de la unidad.
Evaluación formativa
Qué se evalúa: Progreso en diseño, implementación y consumo de APIs REST, capacidad para explicar conceptos y resolver problemas de integración.
Cómo se evalúa: Observación directa durante actividades, revisión de entregables parciales (documentos de diseño, código backend, frontend), retroalimentación continua y uso de listas de cotejo.
Instrumento sugerido: Rúbricas para actividades prácticas y sesiones de retroalimentación.
Evaluación sumativa
Qué se evalúa: Competencia integral para diseñar, implementar, consumir y probar una API REST completa, así como asegurar la comunicación efectiva entre frontend y backend.
Cómo se evalúa: Proyecto final que incluya el diseño documentado, backend implementado, frontend funcional y pruebas realizadas; presentación oral y defensa de la solución.
Instrumento sugerido: Rúbrica de evaluación de proyecto integrador y presentación.
Duración
La unidad "APIs y Comunicación entre Frontend y Backend" se desarrolla en un total de 4 semanas, con una dedicación aproximada de 4 a 5 horas semanales. La distribución recomendada es:
- Semana 1: Introducción a APIs REST y diseño básico (4 horas)
- Semana 2: Implementación backend y pruebas iniciales (5 horas)
- Semana 3: Consumo desde frontend y manejo de respuestas (5 horas)
- Semana 4: Pruebas integrales, depuración y evaluación final (4 horas)
Esta distribución permite combinar teoría, práctica y evaluación de forma equilibrada, facilitando el aprendizaje progresivo y aplicado.
Proyecto Integrador: Desarrollo de Aplicación Web Completa
Se aplica todo lo aprendido en el desarrollo de una aplicación web funcional que combina frontend y backend.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de diseñar una interfaz frontend funcional y atractiva utilizando tecnologías web estándar, integrando elementos visuales y de interacción según los requerimientos del proyecto.
- Al finalizar la unidad, el estudiante será capaz de programar y configurar funcionalidades backend para gestionar datos y lógica de negocio, asegurando la correcta comunicación con el frontend mediante APIs RESTful.
- Al finalizar la unidad, el estudiante será capaz de integrar y desplegar componentes frontend y backend en una aplicación web completa y operativa, verificando su funcionalidad mediante pruebas básicas de usuario.
- Al finalizar la unidad, el estudiante será capaz de documentar el proceso de desarrollo y presentar el proyecto integrador, explicando las decisiones técnicas y la arquitectura utilizada para la construcción de la aplicación web.
Contenidos Temáticos
1. Diseño y Desarrollo del Frontend
- Revisión de tecnologías web estándar: HTML5, CSS3, JavaScript ES6+
- Diseño de interfaces responsivas: Uso de frameworks CSS (Bootstrap, Flexbox, Grid), principios de diseño UX/UI
- Implementación de componentes visuales: Formularios, botones, menús de navegación, tablas, modales
- Interactividad y manejo de eventos: JavaScript para interacción del usuario, validación básica en frontend
- Consumo inicial de APIs RESTful desde frontend: Uso de fetch/Axios para obtener datos
2. Programación y Configuración del Backend
- Configuración del entorno backend: Node.js, Express.js, o tecnologías equivalentes
- Diseño de la API RESTful: Endpoints para operaciones CRUD (Crear, Leer, Actualizar, Eliminar)
- Manejo de bases de datos: Conexión y operaciones básicas con bases de datos (SQL o NoSQL)
- Implementación de lógica de negocio: Validaciones server-side, reglas de negocio
- Seguridad básica: Manejo de autenticación simple, control de acceso a recursos
3. Integración y Despliegue de la Aplicación Web Completa
- Comunicación frontend-backend: Consumo consistente de APIs, manejo de respuestas y errores
- Pruebas funcionales básicas: Pruebas de usuario para verificar la funcionalidad completa
- Despliegue de la aplicación: Uso de servicios de alojamiento (Heroku, Netlify, Vercel, o similares)
- Solución de problemas comunes: Debugging, registro de errores, monitoreo básico
4. Documentación y Presentación del Proyecto Integrador
- Documentación técnica: Estructura del proyecto, tecnologías usadas, diagramas de arquitectura
- Registro del proceso de desarrollo: Metodología empleada, decisiones técnicas, desafíos y soluciones
- Presentación oral y visual: Preparación de diapositivas, demostración funcional, explicación clara y ordenada
- Retroalimentación y autoevaluación: Reflexión sobre el aprendizaje y recomendaciones para mejoras futuras
Actividades
Actividad 1: Diseño y Codificación del Frontend
Objetivo: Diseñar una interfaz frontend funcional y atractiva integrando elementos visuales e interacción.
Descripción:
- Analizar los requerimientos del proyecto integrador.
- Crear prototipos o bocetos de la interfaz usando papel o herramientas digitales (Figma, Adobe XD, etc.).
- Codificar las páginas web utilizando HTML, CSS y JavaScript implementando los prototipos.
- Incluir formularios, botones y navegación básica, asegurando responsividad.
Organización: Individual o parejas
Producto esperado: Páginas frontend funcionales con diseño responsivo y elementos interactivos básicos.
Duración estimada: 8 horas (2 sesiones de 4 horas)
Actividad 2: Desarrollo del Backend y API RESTful
Objetivo: Programar y configurar funcionalidades backend para gestionar datos y lógica, creando una API RESTful.
Descripción:
- Configurar el entorno backend (Node.js/Express u otra tecnología elegida).
- Diseñar y programar endpoints para las operaciones CRUD requeridas.
- Conectar la API con una base de datos para almacenar y recuperar información.
- Implementar validaciones y reglas de negocio básicas.
Organización: Individual o grupos pequeños (2-3 estudiantes)
Producto esperado: API RESTful funcional con conexión a base de datos y endpoints operativos.
Duración estimada: 10 horas (3 sesiones de 3-4 horas)
Actividad 3: Integración y Pruebas de la Aplicación Completa
Objetivo: Integrar frontend y backend, desplegar la aplicación y realizar pruebas básicas de usuario.
Descripción:
- Configurar las llamadas desde el frontend hacia el backend para consumir la API.
- Realizar pruebas funcionales para verificar la correcta interacción entre ambos componentes.
- Desplegar la aplicación en un servicio de alojamiento público.
- Documentar y reportar errores encontrados, proponiendo soluciones.
Organización: Grupos de 3-4 estudiantes
Producto esperado: Aplicación web completa operativa accesible en línea, con reporte de pruebas realizadas.
Duración estimada: 8 horas (2 sesiones de 4 horas)
Actividad 4: Documentación y Presentación Final del Proyecto
Objetivo: Documentar el desarrollo y presentar el proyecto integrador explicando las decisiones técnicas y arquitectura.
Descripción:
- Elaborar un documento técnico que incluya arquitectura, tecnologías, estructura del código y procesos.
- Preparar una presentación visual para explicar el proyecto.
- Realizar la presentación oral ante el grupo o docente, demostrando la aplicación y respondiendo preguntas.
- Reflexionar sobre el aprendizaje y sugerir mejoras futuras.
Organización: Grupos de 3-4 estudiantes
Producto esperado: Documento técnico completo y presentación oral con demostración del proyecto.
Duración estimada: 6 horas (1 sesión de 2 horas para preparación, 1 sesión de 4 horas para presentación)
Evaluación
Evaluación Diagnóstica
Qué se evalúa: Conocimientos previos sobre tecnologías frontend y backend, y comprensión de conceptos básicos de desarrollo web.
Cómo se evalúa: Cuestionario escrito o en línea con preguntas teórico-prácticas sobre HTML, CSS, JavaScript, APIs y bases de datos.
Instrumento sugerido: Test de opción múltiple y preguntas abiertas breves.
Evaluación Formativa
Qué se evalúa: Progreso en el desarrollo del proyecto en cada etapa: frontend, backend, integración y documentación.
Cómo se evalúa: Observación directa, revisión de entregables parciales, autoevaluaciones y retroalimentación continua.
Instrumento sugerido: Rúbricas de evaluación para cada actividad, listas de cotejo y reportes de avance.
Evaluación Sumativa
Qué se evalúa: Producto final completo: aplicación web funcional, calidad de la documentación y presentación oral.
Cómo se evalúa: Prueba práctica de la aplicación, revisión del documento técnico y evaluación de la presentación.
Instrumento sugerido: Rúbrica integral que contemple aspectos técnicos, funcionales, comunicativos y de documentación.
Duración
La unidad "Proyecto Integrador: Desarrollo de Aplicación Web Completa" se sugiere desarrollar en un total de 32 horas distribuidas en aproximadamente 4 semanas, con la siguiente distribución:
- Semana 1: Diseño y codificación del frontend (8 horas)
- Semana 2: Desarrollo del backend y API RESTful (10 horas)
- Semana 3: Integración, pruebas y despliegue (8 horas)
- Semana 4: Documentación y presentación final del proyecto (6 horas)
Esta distribución permite un ritmo equilibrado, con tiempo suficiente para el desarrollo, la retroalimentación y la consolidación de aprendizajes.
Pruebas, Despliegue y Buenas Prácticas
Se abordan técnicas básicas de prueba, optimización, seguridad y se despliega la aplicación en un entorno real o simulado.
Objetivos de Aprendizaje
- Al finalizar la unidad, el estudiante será capaz de diseñar y ejecutar pruebas básicas de funcionalidad y rendimiento para aplicaciones frontend y backend, asegurando la calidad del software.
- Al finalizar la unidad, el estudiante será capaz de aplicar técnicas de optimización y seguridad en el código para mejorar el rendimiento y proteger la aplicación contra vulnerabilidades comunes.
- Al finalizar la unidad, el estudiante será capaz de desplegar una aplicación web en un entorno real o simulado, configurando correctamente el servidor y los servicios necesarios para su operación.
- Al finalizar la unidad, el estudiante será capaz de documentar y seguir buenas prácticas de desarrollo, incluyendo control de versiones y estándares de codificación, para mantener la calidad y mantenibilidad del proyecto.
Contenidos Temáticos
1. Introducción a las pruebas de software
- Concepto y importancia de las pruebas en el desarrollo de software.
- Tipos de pruebas: funcionales, no funcionales, unitarias, de integración, de sistema y de aceptación.
- Pruebas en aplicaciones frontend y backend: diferencias y enfoques.
2. Diseño y ejecución de pruebas básicas de funcionalidad y rendimiento
- Diseño de casos de prueba: criterios, cobertura y documentación.
- Herramientas básicas para pruebas unitarias y de integración en frontend (e.g., Jest, Mocha) y backend (e.g., Postman, JUnit).
- Pruebas de rendimiento: conceptos, métricas claves (tiempo de respuesta, throughput), y herramientas (e.g., Lighthouse para frontend, Apache JMeter para backend).
- Estrategias para la automatización básica de pruebas.
3. Técnicas de optimización y seguridad en código
- Optimización del código: reducción de carga, minificación, lazy loading y caching.
- Buenas prácticas para mejorar el rendimiento en frontend y backend.
- Conceptos básicos de seguridad en aplicaciones web: ataques comunes (XSS, inyección SQL, CSRF).
- Técnicas para proteger el código: validación y sanitización de entrada, manejo seguro de sesiones y autenticación.
- Uso de herramientas y librerías para seguridad y análisis estático de código.
4. Despliegue de aplicaciones web en entornos reales o simulados
- Conceptos fundamentales de despliegue y entornos (desarrollo, pruebas, producción).
- Configuración básica de servidores web (e.g., Apache, Nginx) y servidores de aplicaciones.
- Uso de servicios en la nube o simuladores para despliegue (Heroku, Netlify, AWS Free Tier).
- Automatización del despliegue: scripts y herramientas básicas (e.g., GitHub Actions, FTP, SSH).
- Monitoreo básico post-despliegue y gestión de incidencias.
5. Documentación y buenas prácticas de desarrollo
- Importancia de la documentación en proyectos de software.
- Estándares de codificación: convenciones de nombre, estructura y comentarios para frontend y backend.
- Control de versiones con Git: conceptos básicos, ramas, commits y resolución de conflictos.
- Buenas prácticas para la colaboración y mantenimiento del código.
- Uso de herramientas para documentación técnica y de usuario (README, Wikis, comentarios).
Actividades
Actividad 1: Diseño y ejecución de pruebas básicas
Objetivo: Diseñar y ejecutar pruebas básicas de funcionalidad para aplicaciones frontend y backend, asegurando la calidad del software.
Descripción:
- El docente entrega una pequeña aplicación web simple con funcionalidades básicas en frontend y backend.
- El estudiante diseña casos de prueba para funcionalidades específicas (registro de usuario, login, formulario simple).
- Ejecuta pruebas unitarias y de integración utilizando herramientas indicadas (Jest para frontend, Postman para backend).
- Documenta resultados y reporta errores encontrados.
Organización: Individual o parejas.
Producto esperado: Documento con casos de prueba, evidencia de ejecución y reporte de resultados.
Duración estimada: 3 horas.
Actividad 2: Optimización y seguridad básica del código
Objetivo: Aplicar técnicas de optimización y seguridad para mejorar el rendimiento y proteger la aplicación.
Descripción:
- Se entrega código fuente de una aplicación con problemas intencionados de rendimiento y vulnerabilidades básicas.
- El estudiante identifica puntos de mejora usando herramientas de análisis.
- Implementa mejoras como minificación, caching y sanitización de entrada para prevenir ataques.
- Prueba la aplicación para confirmar que las optimizaciones y correcciones funcionan correctamente.
Organización: Individual.
Producto esperado: Código corregido y optimizado con informe de cambios realizados.
Duración estimada: 4 horas.
Actividad 3: Despliegue de una aplicación web
Objetivo: Desplegar una aplicación web en un entorno simulado o real, configurando servidor y servicios necesarios.
Descripción:
- El estudiante prepara su proyecto para despliegue, realizando ajustes necesarios.
- Configura un servidor local o utiliza servicios gratuitos en la nube para desplegar la aplicación.
- Documenta el proceso de configuración, despliegue y prueba de la aplicación en el entorno elegido.
Organización: Individual o grupos pequeños.
Producto esperado: Aplicación desplegada accesible y documento con procedimiento de despliegue.
Duración estimada: 4 horas.
Actividad 4: Control de versiones y documentación del proyecto
Objetivo: Documentar y seguir buenas prácticas de desarrollo, incluyendo control de versiones y estándares de codificación.
Descripción:
- Introducción y configuración inicial de repositorio Git para el proyecto.
- El estudiante realiza commits claros y estructurados siguiendo convenciones de mensajes.
- Redacta documentación básica del proyecto (README) con descripción, instrucciones de uso y mantenimiento.
- Aplica estándares de codificación y comenta el código para facilitar su mantenimiento.
Organización: Individual.
Producto esperado: Repositorio Git con historial limpio, documentación clara y código comentado y estandarizado.
Duración estimada: 3 horas.
Evaluación
Evaluación diagnóstica
Qué se evalúa: Conocimientos previos sobre pruebas, optimización, seguridad, despliegue y buenas prácticas.
Cómo se evalúa: Cuestionario de opción múltiple y preguntas abiertas.
Instrumento sugerido: Test escrito o en plataforma digital con preguntas básicas sobre conceptos de la unidad.
Evaluación formativa
Qué se evalúa: Progreso en el diseño y ejecución de pruebas, aplicación de optimizaciones y seguridad, despliegue y documentación.
Cómo se evalúa: Revisión continua de actividades prácticas, retroalimentación individual y grupal, autoevaluación y coevaluación en actividades colaborativas.
Instrumento sugerido: Rúbrica para evaluar casos de prueba, corrección de código, despliegue funcional y calidad de documentación.
Evaluación sumativa
Qué se evalúa: Competencia integral para diseñar y ejecutar pruebas, aplicar optimización y seguridad, desplegar aplicaciones y documentar siguiendo buenas prácticas.
Cómo se evalúa: Proyecto final que incluya pruebas realizadas, código optimizado y seguro, despliegue funcional y documentación completa.
Instrumento sugerido: Rúbrica detallada que considere calidad técnica, funcionalidad, seguridad, despliegue correcto y documentación.
Duración
La unidad "Pruebas, Despliegue y Buenas Prácticas" tiene una duración sugerida de 3 semanas, distribuidas de la siguiente manera:
- Semana 1 (8 horas): Introducción a las pruebas, diseño y ejecución de pruebas básicas, con actividades prácticas y evaluación diagnóstica.
- Semana 2 (8 horas): Técnicas de optimización y seguridad, aplicación práctica sobre código, con seguimiento formativo.
- Semana 3 (8 horas): Despliegue de aplicaciones y buenas prácticas de documentación y control de versiones, culminando en el proyecto final y evaluación sumativa.
Esta distribución permite una combinación equilibrada de teoría, práctica y evaluación continua para asegurar el logro de los objetivos de la unidad.
Crea tus propios cursos con EdutekaLab
Diseña cursos completos con unidades, objetivos y actividades usando IA.
Comenzar gratis