Undefined Academy

Conviertete en un/una Full-stack JavaScript Developer durante 16 semanas completamente gratis y online.


📚 Contenidos

Semana 1

Uso básico de la Terminal

  • Conociendo la terminal

  • Comandos alias para la terminal

El mundo del Markdown

  • Sintaxis básica de Markdown

  • Sintaxis saborizada en GitHub

Git: Control de versiones

  • Cómo crear un repositorio local y hacer tu primer commit

  • Las ramas y el uso de merge en git

  • Entendiendo cómo funciona git rebase

  • Git y los repositorios remotos

Introducción a HTML

  • Estructura básica de una página web

  • Hiperlinks y media en HTML

Introducción a CSS

  • Las hojas de estilos, propiedades y unidades en CSS

  • Modelo de caja en CSS

  • Cómo funcionan los selectores en CSS

  • Práctica de selectores en CSS

  • Cómo funciona el layout en CSS

  • Cascada y especificidad en CSS


🎓 Tu profesor:

Guillermo Rodas

Ha ayudado cientos de desarrolladores a mejorar sus habilidades a la vez que crean productos de calidad.

Desarrollador Full-stack en JavaScript de Colombia viviendo en Suecia.Organizador de la CSS Community Dev, y CSS Conf Colombia.Google Developer Expert en Tecnologías Web y Auth0 Ambassador.

🦄 Experiencia cómo educador

  • Profesor de 6 cursos en Platzi.

  • Coach técnico en el programa Platzi Master durante más de 2 años.

  • Mentor del Bootcamp Full-stack con World Tech Makers.

  • Más de 50 charlas en diferentes meetups y un par en conferencias.

Guillermo Rodas


🌟 Testimonios

Estefany Aguilar

Sr. Frontend Dev @teffcode

Guille es un excelente profesional que conoce el por qué de cada cosa y la explica de una manera increíble.Gracias a Guille y a sus enseñanzas en el Bootcamp, me enamoré del desarrollo web.

Carlos Azaustre

Google Dev Expert @carlosazaustre

Guillermo es un auténtico todoterreno. Si alguien es Full-stack, es él.No solo domina las tecnologías tanto del Frontend como del Backend, además las explica de una forma natural y sencilla que te hace comprenderlo perfectamente.

Juan Garces

Sr. Product Designer @juangarcesme

Guillermo no solo es un gran desarrollador, también es un excelente profesor.Una de las cosas que más admiro de el es la forma en que puede transformar un tema complejo de explicar en un mensaje claro y facil de entender.


🙋 Preguntas frecuentes

💸 ¿Cuánto cuesta el bootcamp?
Es totalmente gratis.
⏳ ¿Cuánto dura / intensidad?
Son 16 semanas estimadas con 10 horas semanales (6 horas en vivo).
🗓️ ¿Cuando empieza
Empezó el 1 de Marzo del 2023, pero aún puedes empezar.
🎒 ¿Cuales son los requisitos?
Un computador con acceso a Internet y muchas ganas de aprender.
📹 ¿Quedará grabado?
Sí, y lo puedes ver en diferido.
💾 Ya se programar, ¿puedo asistir?
Sí, seguro aprenderás algo nuevo.
🐣 No tengo conocimientos previos, ¿puedo asistir?
Sí, tendremos asesorías offline para apoyar a todos.
🎟 ¿Hay cupos limitados?
No hay limite para ver clases, pero las mentorías offline serán limitadas.


🎉 Gracias

✅ ¿Qué más debo hacer?
1. Accede al Discord: https://undf.sh/discord
2. Empieza aquí: https://undf.sh/empezar
✉️ Tu correo solo será usado para enviarte información relevante al Bootcamp.
🌟 Ayudame invitando a tus conocidos y conocidas 🌈 ¡En equipo se aprende mejor!

📚 Contenidos

Semana 1

Configuración del ambiente de desarrollo (Prework)
- Instalando Ubuntu en Windows 10/11
- Instalación de Git
- Configuración de las llaves SSH
- Creando una cuenta de GitHub
- Instalación de Node.js y Yarn
- Primeros pasos con VS Code
El mundo del Markdown
- Sintaxis básica de Markdown
- Sintaxis saborizada en GitHub
Uso básico de la Terminal
- ️Conociendo la terminal
- ️Comandos alias para la terminal
Git: Control de versiones
- Cómo crear un repositorio local y hacer tu primer commit
- Las ramas y el uso de merge en git
- Entendiendo cómo funciona git rebase
- Git y los repositorios remotos
Introducción a HTML
- Estructura básica de una página web
- Hiperlinks y media en HTML
Introducción a CSS
- Las hojas de estilos, propiedades y unidades en CSS
- Modelo de caja en CSS
- Cómo funcionan los selectores en CSS
- Práctica de selectores en CSS
- Cómo funciona el layout en CSS
- Cascada y especificidad en CSS

Semana 2

Introducción a la programación
- ¿Qué es el código y los algoritmos?
- Sentencias y Expresiones en los lenguajes
- ¿Qué son los operadores en programación?
- Valores y tipos en el código
- Lenguajes interpretados y Compilados
JavaScript 101
- Tipos y valores en JavaScript
- JavaScript y sus variables var, let y const
- Igualdades en JavaScript
- Falsy, Truthy y Nullish en JavaScript
- Objetos y sus propiedades en JavaScript
- Funciones puras y mutación en JavaScript
- Los operadores lógicos en JavaScript
- Condicionales y ciclos en JavaScript
- El alcance en JavaScript
HTML Semántico
- El esquema del documento en HTML
- Artículos y secciones ¿Cuál usar y porque?
- nav, header, footer y aside en HTML
- ¿Para qué usar divs en HTML?
- time y address en HTML
- Los tags figure, figcaption, picture e img
Formularios con HTML
- Los forms clásicos en HTML
- inputs en los formularios de HTML
- Estilos para formularios en HTML
- Diferencia entre enlaces y botones
- Estilos para tus botones de HTML
- Controles modernos para formularios
JSON, DOM y CSSOM
- El formato JSON
- ¿Qué es el DOM?
- ¿Qué es el CSSOM?

Semana 3

Flexbox y CSS Responsive
- ¿Cómo funciona Flexbox?
- ¿Como funciona CSS Grid?
- Cómo usar Flexbox y CSS Grid en conjunto
- Layouts modernas con Flexbox y CSS Grid
- Posicionamiento con CSS
- ¿Qué es el Responsive Design?
- Cómo hacer imágenes responsive
Estructura moderna de un proyecto
- Breve historia del bundling y el tooling en JavaScript
- Webpack y cómo cambió el modo de desarrollar
- Vite cómo alternativa a Webpack
Frameworks de UI
- Introducción a Bootstrap 5
- Introducción a Tailwind CSS

Semana 4

Librerías de Javascript
- Introducción a Lodash
- Introducción a Day.js
- JavaScript Vanilla: sin Lodash o Day.js
CSS en la practica
- Extendiendo CSS mediante SASS
- Evolución de las Arquitecturas de CSS
- Design Tokens con CSS Custom properties

Semana 5

ES2015 y más alla
- Template literals y la interpolación de Strings
- Diferencia de Rest parameters y Spread operator
- El ABC del destructuring en JavaScript
- La verdad sobre las arrow functions
- Map, Set, WeakMap y Weak Set
- Los for y el protocolo de Iteración
- Metódos en Array, Number, Object, - Boolean, String y Math
- Encadenamiento opcional y operador nullish coalescing
Programación asincrona
- Callbacks y el infierno de los callbacks
- Las promesas de JavaScript
- Los generadores en Javascript
- Async / Await en JavaScript
JavaScript Avanzado
- Herencia clásica versus herencia de prototipos
- Closures y el significado de "this"
- Programación funcional en JavaScript
- Aprende a usar Regex en tu día a día

Semana 6

JavaScript en producción
- ¿Qué son los Shim y Polyfills?
- Cómo usar correctamente Babel
- Minificación del código para producción
- Uso efectivo de los Source maps
- Code Splitting y eliminación del código no usado
Introducción a React
- Introducción a React: JSX, Props Children y Estado
- Ciclo de vida moderno en React
- Eventos y Formularios en React
React avanzado
- Componentes de orden alto en React
- Patrón Render Props
- Todo sobres Hooks en React

Semana 7

Manejo de estado con Redux
- Redux: Acciones, Reducers, Store y Flujo de datos
- Acciones asíncronas y middlewares en Redux
- Mejora tu arquitectura con React Redux
- useRedux al rescate
Creando apps con React
- Creando un dashboard con Create React App
- Creando un dashboard con Next.js

Semana 8

Introducción a Node.js
- ¿Qué puedo hacer con Node.js?
- Diferencias entre Node.js y JavaScript
Introducción a Express.js
- Crea un servidor con Express.js
- Todo sobre Middlewares en Express.js
Bases de datos NoSQL
- Introducción a MongoDB
- ¿Cómo conectarse a MongoDB desde Node.js?
- Las ventajas de usar Mongoose

Semana 9

Bases de datos SQL
- ¿Qué es el diagrama entidad-relación?
- ¿Cómo conectarse a PostgreSQL desde Node.js?
- Consultas esenciales en PostgreSQL

Semana 10

Creando una API
- Creando una API con Express.js
- Creando una API con Hapi.js
- Creando una API con Sails.js
- Usando Firebase cómo API

Semana 11

Autenticación y usuarios
- Autenticación con Passport.js
- ¿Cómo funciona OAuth 2.o?
- Usando Auth0 para nuestros MVP

Semana 12

Introducción a la seguridad Web
- ¿Que es injection y cómo evitarlo?
- ¿Cómo implementar autenticación de manera correcta?
- ¿Cómo evitar exponer datos sensibles en tus apps?
- Acceso, permisos y correcta configuración en un servidor

Semana 13

Introducción a los servidores
- Permisos de usuarios y sistema de archivos
- Conexión SSH a un servidor remoto
- Manejo esencial de VIM
Servidores como servicio
- Mi primer servidor en Digital Ocean
- Cómo despliego mi app en Fly.io
- Despliega más rápido con Vercel

Semana 14

CSS Avanzado
- Todo sobre tipografía en CSS
- Transiciones y Animaciones en CSS
- Sistemas de Diseño con CSS

Semana 15

El mundo del testing
- Los principios del testing
- Unit testing en nuestras apps
- Snapshot testing en React
- Cómo hacer buen mocking con los tests
- ¿Qué son los tests funcionales o de integración?
- Tests de integración completa (E2E)

Semana 16

Contenedores
- Introducción a los contenedores
- Instalando y configurando Docker
- Introducción a Kubernetes
- Usando Kubernetes con Google Cloud Platform
Integración Continua
- Integración continua y despliegue continuo
- Configura tu ambiente de Integración continua