En este eje los alumnos aprenderán herramientas técnicas y fundacionales a ser conocimiento general de cómo funciona una computadora o la internet hasta el manejo de una la programación per se desde dos paradigmas diferentes. Por un lado programación imperativa en donde trabajaremos en Javascript y por otro lado Programación Orientada a Objetos en Java. Fundamentos /> En este eje los alumnos aprenderán herramientas técnicas y fundacionales a ser utilizadas a lo largo de toda la carrera. Desde un conocimiento general de cómo funciona una computadora o la internet hasta el manejo de una terminal y herramientas cómo GIT aparecerán en este eje. A su vez se introducirá al alumnado al mundo de la programación per se desde dos paradigmas diferentes. Por un lado programación imperativa en donde trabajaremos en Javascript y por otro lado Programación Orientada a Objetos en Java.
Así como la perspectiva técnica es fundamental en un entorno laboral, las habilidades blandas se vuelven igual de importantes. En esta linea estaremos ofreciendo un amplio abanico de talleres incluyendo learning agility, colaboración y trabajo en equipo, gestión del tiempo, comunicación efectiva y posicionamiento profesional
Una tarea fundamental de un Developer es comprender el ecosistema donde se monta una solución tecnológica, las alternativas, sus costos, escalabilidad y mantenibilidad entre otros factores. Exploraremos esta faceta de un Developer desde la perspectiva de Continuous Integration & Continuous Delivery
La calidad del producto es tan importante como su funcionamiento en si. Dado esto la cursada estará teñida desde el lente de TDD (Test Driven Development) enseñando al alumnado el mindset que esto requiere y cómo realizar debugging y troubleshooting. Profundizando en esta temática se verán test funcionales, tests no funcionales y automatización.
A lo largo de la carrera se le enseñará al alumnado cómo funcionan las bases de datos relacionales (SQL) y no relacionales teniendo en cuenta el marco teórico, el diseño de las mismas, la puesta en marcha, mantenimiento, operación con las mismas y la performance.
Talleres técnicos complementarios
Consideramos que un Developer completo y profesional tiene la habilidad de comprender el ecosistema completo del desarrollo de Software. Por esto la carrera ofrece una diversidad de talleres técnicos buscando formar un profesional robusto. Esto incluye metodologías de trabajo (metodologías ágiles entre otras), design thinking, UX y UI, Data Analytics y gestión de producto digital
El back end maneja la lógica de la aplicación. Entre otras cosas se vincula con la base de datos y maneja el negocio operando desde el servidor. En esa línea trabajaremos en Java incluyendo Spring para la creación de este backend presentando el patrón de diseño MVC cómo guía principal. Se explorarán aplicaciones monolíticas cómo aplicaciones orientadas a micro servicios y los distintos acercamientos que existen en el mercado. Se realizará la creación de APIs, manejo de sesiones y se aprenderá el uso de un ORM para interactuar con la base de datos. Quienes elijan backend cómo tópico de especialización se profundizará en el manejo de datos incluyendo bases de datos no relaciones, elastic search y caching, criptografía, ciberseguridad y patrones de diseño orientados al backend
Existen diversas materias con el objetivo de realizar un frontend completo de principio a fin. Se le llama front end a la parte de una aplicación que interactúa con el usuario, es decir del lado del cliente. Esto involucra tanto la interfaz gráfica cómo la interacción que se presenta hacia el usuario entre otras cosas. A lo largo de esta temática se aprenderá el maquetado de un sitio web en HTML y CSS aplicando buenas prácticas teniendo en cuenta la perspectiva de la accesibilidad y sumando diseño responsive permitiendo adaptar el diseño a cualquier dispositivo. A su vez se incorporará Javascript cómo lenguaje de scripting permitiendo que el sitio web responda de manera interactiva y dinámica. Javascript nos permitirá también interactuar con un backend que nutra al sitio de información. Para darle mayor robustez y escalabilidad al sitio también trabajaremos con preprocesadores de CSS y con ReactJS. Quienes elijan frontend cómo tópico de especialización se profundizará en Progressive Web Apps, usabilidad y componentes avanzados, Redux y patrones de diseño orientados al frontend entre otras cosas."