Temario
1° Año / Desarrollador Full Stack
Módulo I: Introducción a la Programación y Front-End
• Control de versiones de código, ramas y repositorios con Git y GitHub
• Introducción a la programación con JavaScript
• Bases de la programación: variables, tipos de datos, operadores, scopes
• Funciones y procedimientos
• Estructuras de control e iterativas
• Arrays (arreglos), objetos y manipulación de datos
• Introducción a ES6+ y TypeScript
• Introducción al desarrollo web y conceptos básicos de Front-End
• Herramientas de desarrollo: Visual Studio Code, Node.js, NPM, NVM y Git
• HTML5 Semántico y optimizado para SEO
• CSS3: Flexbox, Grid, Media queries, técnicas de Responsive y Fluid Design
• Preprocesadores CSS: SASS Esencial
• Webapp Dinámica y manejo del DOM con JS
• Lenguaje de intercambio de datos: JSON
• Desarrollo de una webapp conectada a una API pública
Módulo II: Front-End y Back-End
• React Fundamentos: Componentes, JSX, props, state, eventos, componentes funcionales
• React Manejo de estados, contextos y proceso de reconciliación
• React Hooks y React Router: Navegación en SPA
• Creación y utilizacion de un JSON server
• Cierre de Módulo: Desarrollo de App conectada a un JSON server
• Postman como Cliente y uso esencial para el testing
• Introducción a Node.js y Express.js
• Creación de un servidor web básico y API REST
• Express Router y Middlewares
• Bases de datos no relacionales: Introducción a MongoDB, Mongo Atlas, modelado de datos y normalización de datos no relacionales
• Mongo Compass como cliente de Base de datos
• Conexión y consultas a la base de datos en Node.js usando librerías como Mongoose
• Autenticación y autorización de usuarios usando JWT (JSON Web Tokens)
• Manejo de errores y logging en el servidor
• Implementación de medidas básicas de seguridad contra ataques comunes
• Validación y sanitización de datos recibidos por el servidor
• Subida de archivos con multer y almacenamiento en el servidor
• Envío de correos electrónicos desde la aplicación utilizando Nodemailer
• Deployment y DevOps: Despliegue de aplicaciones en la nube (Heroku) y configuración básica de servidores
Proyecto Final. Workshops sin costo adicional
- Código limpio: Buenas prácticas
- SEO y Accesibilidad Web
- UX: pensá en y como el usuario
- Introducción a Vue.js: Componentes, directivas, data binding
2° Año / Analista Programador Full Stack
Módulo 1:Ingeniería de Software y Diseño de Sistemas
Objetivos: Introducir al estudiante en los fundamentos de la ingeniería de software y el diseño de sistemas antes de comenzar la implementación.
• Introducción a la Ingeniería de Software
• Ciclo de vida del software (SDLC)
• Requerimientos funcionales y no funcionales
• Casos de uso
• Modelado UML
• Diagramas de casos de uso
• Diagramas de clases
• Diagramas de secuencia
• Diagramas de actividad (nivel introductorio)
• Cohesión y acoplamiento
• Arquitectura monolítica y modular
• Introducción al diseño de sistemas
• Desglose de tickets y boards en Jira
Módulo 2: Desarrollo Asistido por IA
Objetivos: Aprender a utilizar herramientas de inteligencia artificial como apoyo al desarrollo profesional de software.
Fundamentos
• Qué es la IA generativa
• Limitaciones y riesgos
• Validación de resultados generados por IA
Ingeniería de Prompts
• Solicitud de generación de código
• Solicitud de refactorizaciones
• Generación de documentación
• Generación de pruebas automatizadas
• Debugging asistido
Programación Agéntica
• Concepto de agentes
• Flujos de trabajo humano + IA
• Supervisión y validación de código generado
Buenas prácticas
• Verificación de seguridad
• Verificación de performance
• Verificación de arquitectura
• Uso responsable de herramientas de IA
Módulo 3: Docker y Entornos Profesionales
Objetivos: Comprender la ejecución de aplicaciones modernas mediante contenedores y preparar la base para despliegues posteriores.
Docker
• Introducción a contenedores
• Instalación y configuración
• Dockerfile
• Imágenes y contenedores
• Variables de entorno
• Volúmenes
• Redes básicas
Docker Compose
• Orquestación local de servicios
• Backend + Base de Datos
• Persistencia de datos
Aplicación práctica
• Contenerización de aplicaciones Nodejs
• Ejecución de PostgreSQL en contenedores
• Ambientes de desarrollo reproducibles
Módulo 4: Backend Profesional con NestJS y Seguridad
Objetivos: Construir APIs seguras, mantenibles y escalables.
Backend con NestJS
• Introducción a NestJS
• Arquitectura modular
• Controllers
• Services
• Modules
• DTOs
• Pipes
• Validaciones
• Manejo de errores
• Configuración por ambientes
Seguridad
• Hashing de contraseñas
• JWT
• Access Tokens
• Refresh Tokens
• Roles y permisos
• Guards
• Protección de endpoints
OWASP Top 10
• OWASP Top 10
• Prevención de:
• SQL Injection
• XSS
• CSRF
• Broken Authentication
• Broken Access Control
• Sensitive Data Exposure
• Security Misconfiguration
• Ataques de fuerza bruta
• Logging y monitoreo básico
Módulo 5: Bases de Datos SQL Avanzado
Objetivos: Diseñar y optimizar bases de datos utilizadas en entornos profesionales.
PostgreSQL
• Modelado relacional
• Normalización
• Relaciones avanzadas
• Joins complejos
• Índices
• Optimización de consultas
• Transacciones
Stored Procedures
• Funciones
• Stored Procedures
• PL/pgSQL
• Casos de uso empresariales
• Auditoría
• Automatización de procesos
• Triggers básicos
ORM
• Uso de Prisma
• ORM vs SQL nativo
• Integración con NestJS
Módulo 6: Testing Profesional
Objetivos: Garantizar la calidad del software mediante pruebas automatizadas.
• Unit Testing
• Integration Testing
• Mocking
• Testing de APIs
• Testing de autenticación
• Introducción a TDD
• Cobertura de código
Herramientas
• Jest
• Supertest
Módulo 7: Frontend Profesional con React
Objetivos: Construir interfaces modernas y mantenibles.
• React + TypeScript
• Arquitectura por funcionalidades
• Manejo de estado
• TanStack Query
• React Hook Form
• Consumo de APIs
• Autenticación
• Protección de rutas
• Dashboards
• Componentes reutilizables
Módulo 8: Integración Full Stack
Objetivos: Integrar todos los componentes de una aplicación moderna.
• Comunicación Frontend-Backend
• Manejo de JWT
• Refresh Tokens
• Roles y permisos
• Manejo de errores
• Seguridad del lado cliente
Módulo 9: Cloud y Despliegue
Objetivos: Desplegar aplicaciones en entornos reales.
AWS
• Conceptos básicos de cloud computing
• Servicios principales de AWS
• Gestión de entornos
Servicios
• S3
• RDS
• EC2 o ECS
• IAM básico
Despliegue
• Backend Dockerizado
• Conexión a PostgreSQL administrado
• Manejo de variables de entorno
• Logging básico
Módulo 10: Proyecto Final Integrador
Objetivos: Aplicar todos los conocimientos adquiridos durante el año.
Requisitos mínimos
• Backend
• NestJS
• JWT
• Roles y permisos
• Seguridad OWASP
• Testing
• Arquitectura modular
Base de Datos
• PostgreSQL
• Stored Procedures
• Diseño relacional adecuado
Frontend
• React
• Dashboard administrativo
• Consumo de APIs
Infraestructura
• Docker
• AWS
Presentación Final
• Defensa técnica
• Demostración funcional
• Revisión de arquitectura
• Revisión de seguridad
• Revisión de buenas prácticas