Plan de estudio - Desarrollo Web Full Stack


¿Cómo es la metodología basada en proyectos de Acámica?
En Acámica creemos que la mejor manera de aprender es creando. A lo largo de los 7 meses de cursada vamos a desarrollar 3 proyectos de aplicaciones web, los cuales serán corregidos por expertos que te harán devoluciones personalizadas sobre tu código. Puedes entregar los proyectos para evaluación hasta aprobarlo. Para poder realizar los proyectos contamos con toda la teoría en videos interactivos en nuestra plataforma online (Ver video de muestra). También tendrás las horas declases con mentores para trabajar sobre los proyectos, clarificar dudas y reforzar temas.


Con los 3 proyectos aprobados recibirás un diploma impreso validado por Globant, MercadoLibre, GlobalLogic y Wolox.


Las tecnologías que utilizarás para realizar los proyectos de esta carrera son:  HTML5, CSS, JavaScript, Git, Flexbox, Heroku, Canvas, Protocolo HTTP, APIs
REST, Node.js, Express, MySQL y Docker.

 

Lineamientos generales del programa:
El programa está basado en el modelo pedagógico espiral, planteando la formación del estudiante a través de distintas iteraciones a los ejes principales de la carrera con las cuales se introducen nuevos conceptos a medida que se alcanza mayor profundidad en cada uno de los contenidos.
 

El objetivo de este modelo es lograr mantener una línea conceptual entre las distintas etapas de la carrera mientras se logran alcanzar hito s claros de aprendizaje, a su vez incorporando distintos ejes transversales:
 


Puesta en producción
En cada una de las etapas se pondrá en práctica, hacia la finali zación del proyecto, la puesta en producción del mismo. Partiendo desde un FTP convencional para la etapa 1, siguiendo por GitHub Pages para la etapa 2 y finalizand o con un web service como Now o similar para la etapa 3.
 


Colaboración
El concepto de colaboración estará presente en el desarrollo de todos los proyectos, comenzando por conceptos básicos como los comentarios de código de la documentación hasta el manejo de sistemas de versiones como Git.


Calidad de código
La calidad de código y las prácticas recomendadas para alcanzar esta premisa también formarán parte de todas las etapas a través de conceptos simples como la reutilización hasta aquellos más avanzados como el desarrollo de tests unitarios.

 


Metodologías
El concepto de metodologías ágiles no es ajeno al día laboral d el desarrollador web. Por esta razón, las mismas estarán contempladas en las distinta s entregas y avances de las consignas de cada proyecto.
 

DETALLE DE PROYECTOS Y TEMAS

  1. CANAL DE PODCASTS

El desafío del primer proyecto está enfocado en el maquetado de la landing page de un canal de Podcast, siguiendo las guías visuales de un a interfaz de usuario otorgada y desarrollando funcionalidades de reproducción de contenidos, navegación entre distintas pantallas, compatibilidad con múltiples exploradores y dispositivos, accesibilidad e interacciones animadas.

Temas a desarrollar: 


Desarrollo web
Entorno / Internet / Web / Cliente - Servidor / Front-end - Back-end / Sitios web estáticos y dinámicos / Aplicaciones web / Desarrollo / Programación / Lenguajes de la web / Pro - gramación lógica / Maquetado / Estilado / Herramientas de desarrollo.

HTML
Introducción al lenguaje / Sintaxis / Estructura del documento / Etiquetas semánticas / Etiquetas estructurales (div, span) / Atributos / Etiquetas funcionales (a, img, form) / Rutas relativas y absolutas / Vinculación de recursos (link, script) / Buenas prácticas.

CSS
Introducción al lenguaje / Sintaxis / Integración con HTML / Selectores por etiqueta / Selectores a través de atributos / Propiedades y valores / Sistema de cascada / Estilos por defecto / Posicionamiento de elementos / Modelo de cajas / Relativid ad / Debugging en el explorador / Responsive web design / Unidades de medida relativas / Flexbox / Media-queries / Pseudo clases / Pseudo elementos / Transformaciones / Animación / Recursos externos (Google Fonts, FontAwesome) / Framework y librerías (Bootstrap , Bulma) / Pre-procesadores (SASS, LESS).

 

2. GIF-OS
En el segundo proyecto el desafío está puesto en la creación de una aplicación web interactiva para compartir GIFs animados, poniendo en práctica los fundamentos de la programación y el uso de JavaScript mediante la obtención de datos de la API de Giphy.com, trabajando con asincronismo y aprovechando herramientas nativas del explorador como la obtención de imágenes a través de la webcam.

Temas a desarrollar:
Fundamentos
Introducción / Orígenes de la programación / Lenguajes de programación / Herramientas de desarrollo / Debugging / Datos / Variables (const, let, var) / Operadores / Números / Texto / Booleanos / Arreglos / Objetos / Lógica / Condicionales / Iteración / Bucles / Estructura / Funciones / Clases.

 

DOM + AJAX
Selección de elementos / Selección de grupos de elementos / Obt ención de datos del DOM / Modificación del DOM / Modificación del CSSOM / Creación dinámica de elementos / Manejo de eventos / Browser API (localStorage, userMedia) / Asincroni smo (async, await) / Promesas (then, catch) / Fetch API / Estructura de paquetes HTTP / Request methods / Status codes / JSON / CORS / Autenticación.
 

3. SISTEMA DE PEDIDOS
Este tercer proyecto plantea la creación de un sistema de pedidos online para un restaurante poniendo en funcionamiento las partes necesarias para montar una REST API que permita realizar operaciones CRUD sobre una estructura de datos que podría consumir un cliente. Parte del desafío estará enfocado en lograr que el desarrollo del proyecto sea puesto en producción utilizando web services.

 

Temas a desarrollar:


Servidores
Lenguajes del lado del servidor / Estructura de paquetes HTTP / Request methods / Status codes / Servidores linux / NGINX / Apache / Web Services (Amazon Web Services, Microsoft Azure, IBM Cloud, Google Cloud) / Bases de datos relacionales / Bases de datos no relacionales / SSH.


Node.JS
Express / Endpoints y métodos / Body parsing / Procesamiento de archivos / Programación orientada a objetos / Unit testing / ESLint / REST / Buenas prácticas.


Base de datos
MySQL / Sintaxis SQL / Operaciones CRUD / Relaciones / Tablas relacionales.