Sobre el Curso
==============

Este curso introduce al estudiante al desarrollo de **aplicaciones web**,
abordando tanto el diseño como la implementación de sistemas que se ejecutan en la
web y que apoyan los procesos y necesidades de organizaciones reales.

A lo largo del curso, el estudiante aprenderá a construir aplicaciones que integran
tecnologías del **lado del client y del servidor**, utilizan servicios web, bases de 
datos, y se apoyan en infraestructura y servicios de **cómputo en la nube**. El
énfasis no está únicamente en escribir código, sino en desarrollar soluciones
completas, con una visión de arquitectura, calidad y buenas prácticas de ingeniería
de software actuales.

La asignatura se ubica en una etapa avanzada de la formación, ya que permite integrar
conocimientos adquiridos previamente y aplicarlos en un **proyecto formal de
desarrollo de software**, similar a los escenarios que se presentan en un entorno
profesional.

Competencias que se desarrollan
-------------------------------

Al finalizar el curso, el estudiante será capaz de:

- Diseñar y desarrollar **aplicaciones web dinámicas**, integrando componentes del
  lado del cliente y del servidor.
- Conectar aplicaciones web con **fuentes de datos** y otros servicios, considerando
  la comunicación entre sistemas.
- Aplicar principios básicos de **arquitectura de software** y buenas prácticas para
  construir aplicaciones mantenibles y escalables.
- Utilizar herramientas y servicios de **cómputo en la nube** como parte del proceso
  de desarrollo y despliegue de aplicaciones.

Conocimientos previos recomendados
----------------------------------

Para aprovechar mejor el curso, se espera que el estudiante:

- Tenga experiencia básica en el uso de **lenguajes orientados a objetos** para la
  solución de problemas.
- Conozca los fundamentos del **diseño y desarrollo de software**, incluyendo el uso
  de métodos y herramientas de ingeniería de software.
- Comprenda los principios básicos de **modelado y uso de bases de datos**, así como
  su integración en aplicaciones.
