0% encontró este documento útil (0 votos)
107 vistas17 páginas

Programa y Temario

El documento proporciona consejos sobre cómo resolver dudas durante un programa de desarrollo web, incluyendo pensar en preguntas con cuidado, usar Google y foros, hablar con compañeros e instructores, y programar llamadas individuales con instructores. También describe los temas que se cubrirán en el programa y estrategias para ayudar a los estudiantes a conseguir trabajo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
107 vistas17 páginas

Programa y Temario

El documento proporciona consejos sobre cómo resolver dudas durante un programa de desarrollo web, incluyendo pensar en preguntas con cuidado, usar Google y foros, hablar con compañeros e instructores, y programar llamadas individuales con instructores. También describe los temas que se cubrirán en el programa y estrategias para ayudar a los estudiantes a conseguir trabajo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 17

Cómo pensar en resolver tus dudas

Durante el programa tendrás muchas preguntas y te quedarás estancado alguna vez. Esto
es normal. Aprender desarrollo web y ciencias de la computación es difícil.

Te recomendamos que pienses realmente en tus preguntas y que seas considerado cuando
las publiques. Utiliza el método Rubber Duck Debugging. Te explicaremos los detalles en
clase.

Cuando tengas una pregunta, tu primer paso debería ser pensar en qué es exactamente lo
que no estás comprendiendo. Te recomendamos ampliamente que utilices Google y foros
como Stack Overflow para encontrar respuestas. Ser capaz de encontrar respuestas por tu
cuenta es una habilidad importante como programador.

Sin embargo, estamos aquí para ayudarte. Habla con tus compañeros de equipo. Habla con
el grupo por Slack y no dudes en escribirle a tu instructor.

Llamadas 1 a 1

Si no sabes cómo resolver un problema y tus compañeros de equipo no pueden ayudarte,


¡Comunícate siempre con el instructor!

El instructor puede ayudarte con tu problema a través de Slack o programar una llamada
1-1 contigo. Organizar una llamada 1-1 con el instructor puede ser una forma muy poderosa
de acelerar tu curva de aprendizaje. Es un recurso importante que ofrecemos en Academlo
y sin duda deberías aprovecharlo.

El programa Academlo - Educación y oportunidades laborales

Durante los próximos 10 meses, completarás 5 módulos que van desde los fundamentos de
Javascript hasta los algoritmos y las estructuras de datos.

Academlo tiene dos estrategias principales para ayudarte a conseguir un trabajo. Te


prepararemos y asistiremos en el proceso de búsqueda de empleo y te conectaremos
directamente con empresas que forman parte de nuestra red de contratación.
Durante las últimas 6 semanas del programa, comenzaremos a prepararte para la búsqueda
de trabajo. Tendremos talleres para optimizar tu perfil de Linkedin, tu CV y ​te compartiremos
consejos sobre cómo buscar trabajo.

También se te incorporará a nuestra plataforma de búsqueda de empleo, donde serás


asistido directamente por un ejecutivo de éxito laboral para ayudarte a organizar y ejecutar
tu búsqueda de empleo.

Palabra final

Como verás, Academlo es una experiencia de alta calidad. El éxito de nuestros estudiantes
es el objetivo más importante y te ayudaremos a estudiar, aprender y conseguir un trabajo.

A veces será difícil, pero estamos aquí para ayudarte en todo lo que podamos.

Proyectos
Durante el programa, tendrás que enviar asignaciones todas las semanas a través de
Google Classroom. Hay algunas asignaciones que deberás completar individualmente y
otras como equipo. Si completas una asignación como equipo, aún esperamos que todos
los miembros del equipo envíen la asignación en Google Classroom.

Durante el curso, también completarás algunos proyectos que tomarán de 2 a 3 semanas.


Cuando estés trabajando en un proyecto, no te pediremos asignaciones semanales
adicionales, lo que significa que en esas semanas no tendrás que enviar asignaciones.

Normalmente, el instructor comparte la asignación semanal el Jueves y tú tendrás hasta el


Domingo, al final del día, para completar la asignación.

Grupos de estudio

Son grupos de apoyo, de estudio, tus amigos. Cada grupo consta de 12 estudiantes. Juntos
pueden ayudarse mutuamente en las tareas y durante los proyectos en los que cooperan
para completarlos juntos.
Durante las primeras semanas organizamos pequeños encuentros virtuales donde
conocerás a tus compañeros. Tener una buena relación con tus compañeros de grupo es
importante y te ayudará a tener éxito en Academlo.

Cada equipo tiene su propio canal de Slack para comunicarse como grupo. Utiliza ese canal
de Slack para comunicarte directamente con tus compañeros de equipo.

Normalmente, nuestro objetivo es que cada equipo se reuna y aproveche el espacio para
compartir y aprender, sabemos que estudiar programación puede requerir de paciencia y
disciplina, además creemos firmemente que al compartir con otros compañeros, puedes
mejorar y comprender mejor los temas.

Por favor haznos saber si tu equipo solo tiene pocos miembros o poca interacción. En ese
momento nos aseguraremos de asignarte a un nuevo grupo de estudio

Prueba de 4 semanas

Como parte de Academlo, las primeras 4 semanas son un período de prueba. Si no estás
satisfecho durante las primeras 4 semanas, puedes retirarte del programa.

Sin embargo, también usamos las primeras 4 semanas para evaluar a nuestros estudiantes.
Buscamos estudiantes que tengan una asistencia casi perfecta, que completen todas las
tareas semanales y que hagan un esfuerzo real durante el programa.

Academlo brinda mucho apoyo a los estudiantes y, a cambio, buscamos estudiantes


altamente disciplinados que hagan las inversiones necesarias en tiempo y energía para
tener éxito en el programa.
Temario
Fundamentos del desarrollo web

Objetivo:
El estudiante obtendrá las habilidades necesarias para desarrollar de manera correcta la
parte visual de un sitio web responsivo sin utilizar librerías/frameworks, así como agregar
contenido dinámico con javascript, trabajar de manera colaborativa con git y finalmente
entender y aplicar conceptos de accesibilidad.
El estudiante también obtendrá conocimientos de programación funcional y programación
orientada a objetos.

Requisitos
El alumno no necesita conocimientos previos, sin embargo, tener conocimientos básicos de
html, css y javascript le facilitarán mucho el aprendizaje.

Semana 1 - Bases HTML y CSS


Objetivo: Comprender cómo funciona un navegador, elementos HTML y CSS básico.

Temas
● Cómo funciona el internet
● Navegadores
● Elementos y semántica HTML
● Atributos de elementos HTML
● Convenciones para nuestro HTML
● Introducción a CSS
● Selectores
● Pseudo-clases y pseudo-elementos
● Combinación de selectores
● Especificidad
● Propiedades css más utilizadas

Entregable:
Desarrollo de componentes básicos con HTML y CSS.

Semana 2 - CSS intermedio


Objetivo: Desarrollar componentes con dificultad media y organizarlos de manera adecuada
para construir un sitio web responsivo. También se aprenderán a desarrollar animaciones
básicas con css.

Temas:
● Modelo de caja
● Posicionamiento
● Flexbox
● Diseño responsivo
● Animaciones
● Primer sitio web: nuestro portafolio

Entregable: Desarrollo de nuestro propio grid con Flexbox

Semana 3 - Git y Accesibilidad web


Objetivo: Terminar el desarrollo de nuestro portafolio con contenido accesible para personas
con discapacidades, así como comprender el propósito y uso de git.

Temas:
● Accesibilidad web
● Git
● Github
● Repositorios remotos
● Despliegue de mi portafolio con github pages
● Despliegue de mi portafolio en Netlify
● Trabajo colaborativo con git
● Proyecto panel de administración en equipo

Entregable: Despliegue en Netlify y Github pages de nuestro portafolio web terminado

Semana 4 - Introducción a la programación con Javascript


Objetivo: Tener el primer acercamiento a la programación con javascript y mejorar nuestro
razonamiento lógico.

Temas:
● Introducción a Javascript y sus usos
● Variables
● Tipos de datos
● Operadores
● Uso de funciones
● Conversión de tipos de datos
● Condicionales
● Ciclos
● Convenciones en el código
● Hacker rank

Entregable: Ejercicios de hacker Rank

Semana 5 - Javascript intermedio


Objetivo: Comprender conceptos intermedios-avanzados de Javascript y aplicarlos al
desarrollo web.

Temas:
● Tipos de funciones
● Call Stack
● Callbacks
● Closures
● Scope
● Métodos nativos en javascript
● Eventos
● Trabajando el DOM con javascript
● Módulos
● JSON
● Almacenamiento en el navegador

Entregable: Sitio web con CRUD de elementos con Javascript, el sitio web debe contar con
login y mantener la sesión iniciada con ayuda del almacenamiento del navegador.

Semana 6 - Programación funcional y orientada a objetos


Objetivo: Desarrollar buenas bases para el desarrollo con programación funcional y
programación orientada a objetos.

Temas
● Programación funcional
● Introducción a POO

Entregable: Desarrollo de librería con programación funcional

Semana 7 - POO y consumo de API’s


Objetivo: Comprender lo necesario para consumir una API aplicando programación
orientada a objetos:

Temas:
● POO
● Promesas
● Async-Await
● Fetch
● HTTP
● Consumo de API
● Presentación del proyecto final

Entregable: Sitio web consumiendo API con POO


React

Objetivo: El estudiante aprenderá a crear aplicaciones web con React JS, logrando una
gran interacción con el usuario usando los conocimientos previos de HTML, CSS y
Javascript.

Requisitos:
● Funciones de callback
● Programación orientada a objetos
● Funciones anónimas

Semana 1(8) - Primeros pasos con React

Objetivo: El estudiante conocerá el propósito de React para proyectos de gran escala y


comprenderá el término virtual DOM, JSX y componente funcional.

Temas:
● ¿Qué es React?
● Single Page Application
● Configurando el entorno de trabajo
● JSX
● DOM y Virtual DOM
● Componentes funcionales

Entregables: Una aplicación que muestre una vista similar a la página de inicio de youtube
con tarjetas que contengan una imagen, titulo, canal, vistas y miniatura, con datos estáticos.

Semana 2(9) - Formularios, componentes funcionales y componentes de clase

Objetivo: Comprender la diferencia entre un componente de clase y un componente


funcional.

Temas:
● Estado
● Propiedades (Props)
● Componentes de clase
● Eventos
● Tipos de inputs
● Atributos
● Validación de formularios con Formik

Entregables: Una aplicación que permita agregar y validar un usuario a través de los datos
ingresados en un formulario.
Semana 3(10) - Renderizado condicional y Listas

Objetivo: Comprender cómo mostrar y ocultar componentes usando estructuras if, switch o
operadores ternarios.

Temas:
● Uso de if, else, switch en un componente de React
● Operador lógico &&
● Operadores ternarios
● Filtros
● Métodos map, filter, find, findIndex, every, some, splice, slice, push, pop para el
manejo de arreglos

Entregables: Crear una aplicación que muestre una lista de empleados con su información y
que filtre esos usuarios por edad, nombre y cargo.

Semana 4(11) - Ciclo de vida de React y consumo de API

Objetivo: Comprender las diferentes fases del ciclo de vida de un componente de React y
podrá consumir una API con el conocimiento del ciclo de vida de react.

Temas:
● ComponentDidMount
● ComponentDidUpdate
● ComponentWillUnmount
● Fetch y Axios
● Consumir una API con React

Entregables: Crear una aplicación que consuma la API pokeapi y muestre tarjetas con
información de cada uno de los pokemones, agregar un filtro de búsqueda y un filtro de
características del pokémon (ataque, defensa, velocidad).

Semana 5(12) - Hooks

Objetivo: Comprender las diferencias entre componentes de clase contra un componente


funcional que usa la característica de hooks.

Temas:
● Hooks de estado, efecto y contexto
● Hooks vs componentes de clase

Entregables: Crear una aplicación tipo memorama que muestre varios pares de tarjetas
donde el usuario deberá sumar puntos cada vez que acierte en la pareja de tarjetas del
mismo tipo, esta aplicación contará con un temporizador para terminar el juego pasados 2
minutos.
Semana 6(13) - React Router

Objetivo: Construir una aplicación con una navegación entre vistas usando react router.

Temas:
● Rutas estáticas
● 404
● Redireccionamiento
● Rutas protegidas
● Parámetros

Entregables: Extender la aplicación hecha con pokeapi para implementar un inicio de sesión
que te lleve a vista con todas las tarjetas de los pokemones y que cada vez que el usuario
de click en la tarjeta del pokémon, te lleve al detalle del pokemon.

Semana 7(14) - Redux

Objetivo: Comprender el propósito del uso de Redux y React en proyectos grandes, los
conceptos de actions, reducers y store.

Temas:
● Propósito de Redux
● Actions
● Reducers
● Store
● Flujo de datos
● Middlewares (logger, thunk)
● Acciones asincronas

Entregables: Crear una aplicación con inicio de sesión y registro en el cual el usuario podrá
ingresar una noticia, editarla, eliminarla y mostrar un panel con las noticias más destacadas
o más vistas, además tendrá un filtro para mostrar las noticias por nombre por más
recientes y por rango de fecha.

Desarrollo backend con Node y Express

Objetivo:
El estudiante aprenderá a construir una aplicación desde el servidor con Node y Express
desde 0 hasta el despliegue en un servidor. Tendrá la habilidad de realizar una API Rest
usando una base de datos relacional, autenticación de usuarios, seguridad ante ataques
XSS y CSRF, podrá validar los datos que recibe el servidor y construirá middlewares
personalizados.

Requisitos:
● Conocimiento intermedio del lenguaje de programación Javascript (funciones de
callbacks, funciones asíncronas).
● Conocimientos básicos de Programación Orientada a Objetos.
● Conocimientos básicos de HTTP.

Semana 1(15) - Introducción a Node con express:


Objetivo: Comprender qué es node, desarrollar una aplicación para el manejo de archivos y
peticiones básicas de tipo get para los usuarios.

Temas:
● ¿Qué es node?
● Configurando el ambiente de desarrollo
● Manejo de archivos con filesystem de node
● Servir archivos estáticos
● Creando un servidor con Express
● Middlewares y rutas
● Métodos HTTP

Entregable: Desarrollar una aplicación con node y express que maneje diferentes rutas
típicas de una página web y que en una de las rutas lea un archivo y lo muestre en una
respuesta de tipo HTML.

Semana 2(16) - Node con ORM Sequelize

Objetivo: Construir nuestra primera base de datos usando los conceptos de tabla, columnas,
tipos de datos, relaciones, llaves primarias, llaves foráneas.

Temas:
● Conceptos básicos de base de datos relacionales
● Instalación de postgresql
● Sequelize
● Modelos
● Migraciones

Entregable: Crear una base de datos usando sequelize basándonos en un modelo entidad
relación.

Semana 3(17) - API Rest con Node y Express


Objetivo: Comprender el flujo para autenticar a un usuario usando Json Web Token y crear
nuestra primera API Rest con autenticación.

Temas:
● Códigos de estado
● Autenticación
● Middlewares para autenticación
● Seguridad ante XSS y CSRF
● Controladores

Entregable: Crear una API Rest con autenticación para el clientes de una tienda en línea.

Semana 4(18) - API Rest con Node y Express


Objetivo: Comprender cómo validar y sanear correctamente los datos que llegan a nuestro
servidor y agregar características extra para cargar archivos a nuestro servidor, procesar
pagos y enviar correos electrónicos.

Temas:
● Validación y sanitización de datos
● Nodemailer
● Stripe
● Socket io
● Multer

Entregable: Continuar con el desarrollo de la API Rest agregando los módulos de manejo de
productos, pedidos, pagos y se usará Stripe para procesar pagos en línea.

Semana 5(19) - Pruebas unitarias con Jest


Objetivo: Comprender el proceso y la importancia de las pruebas unitarias en nuestra API
Rest.

Temas:
● Configurar jest
● Creando pruebas en nuestras rutas/endpoints
● Lanzando las pruebas
● Coverage

Entregable: Probar todas las rutas que construimos en nuestra API Rest y lanzar las
pruebas para corregir bugs y crear un reporte de las pruebas realizadas.

Semana 6(20) - Entrega del proyecto final


Objetivo: Apoyar a los estudiantes con las dudas que tengan respecto al proyecto.

Temas:
● Dudas
● Despliegue de la aplicación en Heroku.

Semana 6(21) - Entrega del proyecto final & Revisión


Desarrollo backend con Django

Objetivo:
Aprender los conceptos básicos para crear un API Rest con Django. Al final del curso el
estudiante debe ser capaz de implementar los principales componentes del framework para
crear endpoints y construir su propio API Rest, valiéndose de Django y DRF. Entenderá los
conceptos de modelos, serializadores, vistas, acciones, y el ORM de Django.

Requisitos
● Conocimientos básicos de bases de datos y SQL
● Conocimientos básicos de tecnologías web
● Conocimientos básicos del protocolo HTTP y controladores para acciones base.

Semana 1(22) - Introducción


Objetivo: Comprender los usos de python y desarrollar nociones del lenguaje.

Temas:
● ¿Por qué usar Python?
● Setup del ambiente
● Variables
● Tipos de datos
● Estructuras condicionales
● Funciones
● Ciclos
● Trabajar con archivos
● Manejo de errores

Entregable: Contador de palabras, crear un script que lea un archivo de texto y retorne las
10 palabras más repetidas. Debe usar listas, diccionarios, ciclos, funciones, try/except.

Semana 2(23) - POO y tecnologías web


Objetivo: Entender los conceptos básicos de la programación orientada a objetos y lo
principal de las tecnologías web: conceptos, patrones y arquitecturas.

Temas:
● Clases
● Instancias
● Métodos
● Herencia
● Interfaces
● Modelo OSI
● Arquitectura cliente servidor
● Patrones de diseño
● API Rest
● Ambientes virtuales
Entregable: Contador de palabras, actualizar el script anterior que lea un archivo de texto y
retorne las 10 palabras más repetidas. Usando clases, métodos, instancias y lo previamente
visto en clase.

Semana 3(24) - Django Vanilla


Objetivo: Conocer los elementos principales de Django que nos permitan familiarizarnos con
el framework y crear una aplicación base.

Temas:
● Instalación Django
● Creando nuestra primer aplicación con Django
● Modelos
● Bases de datos - ORM
● Views
● Urls
● Templates
● Rutas en templates

Entregable: Crear una aplicación para estudiantes que contenga un modelo Estudiante, una
vista para listar los estudiantes en la base de datos y poder acceder al detalle de cada
estudiante. Además crear un modelo para Clase, y una vista para poder ver la lista de
clases disponibles y al dar click, poder listar los alumnos inscritos a cada clase.

Semana 4(25) - Introducción a Django Rest Framework


Objetivo: Crear componentes genéricos para un API Rest base que nos permita entender la
funcionalidad implícita del framework.

Temas:
● Instalación Django Rest Framework
● Setup
● Serializadores
● Vistas basadas en funciones
● APIView
● Vistas genéricas
● Authenticación

Entregable: Crear un crud para estudiantes y un crud para materias, es necesario que cada
uno tenga implementados su modelo, serializador y vistas para los verbos HTTP.

Semana 5(26) - Django Rest Framework, buenas prácticas


Objetivo: Crear componentes genéricos para un API Rest base que nos permita entender la
funcionalidad implícita del framework.

Temas:
● ModelViewsets
● Acciones
● Filtros
● Paginación
● Permisos
● Correos

Entregable: Crear un proyecto de una librería que contenga las siguientes aplicaciones
libros, autores y editoriales, cada aplicación es un endpoint y debe tener sus modelos,
serializadores y vistas (ModelView set, acciones, filtros y paginación). Al crear un
usuario debe mandar un correo de bienvenida.

Semana 6(27) - Django Rest Framework - Pruebas unitarias, Celery


Objetivo: Aprender bases para desarrollar proyectos de calidad y comprender conceptos
avanzados del desarrollo de software.

Temas:
● Test unitarios
● Celery
● Rabbit
● Swagger
● Proyectos finales

Entregable: Modificar el último proyecto creado, agregando tareas asíncronas,


documentando el API y pruebas unitarias para cada vista.

Semana 7(28) - Entrega proyecto final


Objetivo: Resolver dudas y concluir exitosamente el desarrollo del proyecto final del módulo.

Temas:
● Solución de dudas/problemas
● Entrega del proyecto final

Algoritmos y estructuras de datos (5 semanas) Servidores (2 semanas)

Objetivo: El estudiante comprenderá las estructuras de datos utilizadas con más frecuencia
así como el propósito y ventajas/desventajas de cada una de estas estructuras.
También veremos cómo medir el rendimiento de nuestros programas, así como la manera
de optimizarlos.

Requisitos
● Conocimientos básicos de programación
● Conocimientos básicos de matemáticas
● Conocimientos básicos de Python

Semana 1 (29) - Introducción y análisis de algoritmos


Objetivo: reforzar los conocimientos del lenguaje, introducir a la importancia y la forma de
analizar la complejidad de un algoritmo.

Temas
● Tipos de datos
● Estructuras de control
● Funciones
● Manejo de excepciones
● Programación orientada a objetos
● Introducción a algoritmos
● Notación Big O
● Análisis de listas
● Análisis de diccionarios

Semana 2 (30) - Estructuras de datos


Objetivo: Analizar y entender las estructuras de datos básicas que nos permitan resolver
problemas algorítmicos sencillos.

Temas:
● Pilas
● Colas
● Lista ordenada
● Lista no ordenada

Semana 3 (31) - Recursión


Objetivo: Entender la recursión y los problemas que resuelve.

Temas:
● Recursividad
● Leyes de la recursividad
● Marcos de pila: Implementación de la recursividad
● Visualización de la recursividad
● Problemas recursivos complejos
● Programación dinámica

Semana 4 (32) - Ordenamiento y búsqueda


Objetivo: Analizar y entender los distintos tipos de algoritmos de ordenamiento y búsqueda
así como la complejidad y usos adecuados de los mismos.

Temas:
● Búsqueda secuencial
● Búsqueda binaria
● Hashing
● Ordenamiento
● Ordenamiento burbuja
● Ordenamiento por selección
● Ordenamiento por inserción
● Ordenamiento de Shell
● Ordenamiento por mezcla

Semana 5 (33) - Ordenamiento y búsqueda

Temas:
● Ejemplos de árboles
● Implementación
● Nodos y referencias
● Árbol de análisis
● Recorrido de árboles
● Árboles binarios
● Análisis de árboles de búsqueda
● Árboles binarios de búsqueda equilibrados
Servidores
Objetivo: El estudiante desarrollará las habilidades necesarias para hacer despliegue de sus
aplicaciones en distintos servicios.

Semana 1 (34) - Linux


Objetivo: Familiarizarse con los comandos, configuraciones básicas de linux y software para
ejecutar aplicaciones.

Temas:
● Creando nuestro primer servidor con Digital Ocean
● Consideraciones importantes al crear un servidor
● Usuarios y permisos
● Instalando software para servir sitios web
● Despliegue de un sitio web estático
● Instalando software necesario para servir un sitio construido con node
● Instalando software necesario para servir un sitio construido con python
● Bases de datos
● Respaldos
● Configurando dominios y subdominios

Entregable: Url de sitios web desplegados en Digital Ocean

Semana 2 (35) - Amazon Web Services


Objetivo: Familiarizarse con los servicios más comunes de Amazon web Services y hacer
despliegue de mis aplicaciones.

Temas:
● Usuarios
● Amazon SES
● Amazon S3
● Amazon EC2
● Amazon RDS
● Amazon Elastic Beanstalk
● Amazon Cloudfront

Entregable: Despliegue de un sitio web utilizando utilizando todos los servicios vistos.

Academlo Code: 2 Semanas para completar y pulir proyectos, bugs, etc.


● asegurar una buena página web personal, con 2 - 3 proyectos que funcionan bien.
● grupo se divide por 5 instructores
● coordinación con el student success manager
● apoyo de egresados
Academlo Success: 2 Semanas de Desarrollo Profesional
● talleres con el student success manager

También podría gustarte