Una introducción al mundo de la ingeniería de software, enfocado en brindar al estudiante conceptos, conocimientos y herramientas de base.
Segmento: Elementos informáticos
- Arquitectura de Ordenadores
- Sistemas Operativos
- Redes de transmisión de datos
- Software
Segmento: Introducción a la programación
Tipos de lenguajes de programación:
- Compilados nativos
- Compilados a máquina virtual
- Interpretados
- Herramientas de programación:
- Editores de texto
- Entornos integrados de desarrollo
- Compiladores
- Depuradores
- Sistemas de gestión de versiones:
Paradigmas de Programación:
- Programación monolítica (TOP / DOWN)
- Programación estructurada
- Programación orientada a objetos
- Programación funcional
Presentación de lenguajes de programación y tecnologías:
- BASH
- Python3
- Java
- JavaScript + JQuery, HTML5, CSS
Segmento: Algoritmos y estructuras de datos
- Que son los algoritmos
- Herramientas de representación de algoritmos
- Variables y constantes
Estructuras de control de flujo:
- Estructuras de decisión:
- Decisión simple
- Decisión doble
- Decisión múltiple
Estructuras de repetición:
- Ciclo FOR
- Ciclo WHILE
- Ciclo DO WHILE
Estructuras de datos:
- Vectores
- Pilas
- Colas
- Listas
- Diccionarios
- JSON
Algoritmos:
- Algoritmos de ordenamiento
- Algoritmos de búsqueda y recorrido
Programación Estructurada:
- Revisión del paradigma
- Funciones
- Biblioteca de funciones
- Reutilización de código
En una aplicación en capas, el BackEnd es la capa que se encarga de la lógica de negocio y del flujo y persistencia de información. Es el motor que hace que una solución de software haga lo que tiene que hacer.
Este módulo está diseñado entonces para transmitir al alumno los conocimientos, técnicas, herramientas y metodologías de Desarrollo BackEnd requeridos por la industria del software en la actualidad.
Segmento: Programación Orientada a Objetos
Conceptos Fundamentales:
- Clases
- Objetos
- Paquetes
- Atributos
- Métodos
- Miembros de clase vs miembros de instancia
- Mensaje
- Estado interno
- Características de la POO:
- Abstracción
- Encapsulamiento
- Polimorfismo
- Herencia
- Modularidad
- Principio de ocultación
- Recolección de basura
Relaciones entre clases:
- Composición
- Agregación
- Asociación
- Uso
- Herencia
Corrientes de la programación orientada a objetos:
- Programación orientada a objetos basada en clases
- Programación orientada a objetos basada en prototipos
Segmento: Diseño Orientado a Objetos
Buenas prácticas de diseño
- Métricas
- Principios SOLID / GRASP
- Estilos Arquitectónicos: Cliente-Servidor, MVC MVVM MVP
- Patrones de Diseño
- Antipatrones
- Smell Codes
- UML
Segmento: Bases de Datos
Presentación de tecnologías:
Bases de datos relacionales:
- Modelo Entidad Relación
- Conceptos básicos:
- Entidades
- Relaciones
- Ejemplares
- Atributos
- Cardinalidad
- Reglas de Codd
- Restricciones relacionales
- Restricciones semánticas
Lenguage SQL:
- DDL y DML
- Consultas a múltiples tablas
- Combinaciones:
- Internas
- Externas
- Cruzadas
- Ordenamiento y agrupamiento
- Vistas, vistas materializadas
- Biblioteca standard de Funciones
Conceptos avanzados:
Procedimientos Almacenados
- Triggers
- Índices
- Esquemas
- Seguridad: usuarios, grupos y roles
- Optimización de consultas
Programación del Servidor:
- Lenguajes procedurales:
- Programación avanzada del servidor
Otras formas de modelar:
- Bases de datos relacionales Orientadas a objetos
- Bases de datos no relacionales
Mapeo Objeto/Relacional
Segmento: Arquitectura REST
- Servicios RESTful: Concepto y casos de uso
- Operaciones y recursos
- Códigos de respuesta
- Manejo de errores
- Transmisión de datos: JSON vs XML
La “cara visible” de nuestros desarrollos. Todo aquello que construyamos, más allá de funcionar bien, ser rápido, seguro, robusto y estable, deberá verse bien, ser intuitivo y usable.
Es así que el alumno, como futuro profesional de sistemas, debe contar con los conocimientos fundamentales de Desarrollo FrontEnd.
Segmento: Tecnologías y Recursos Visuales
- HTML5 y CSS
- Estructura general
- Etiquetas fundamentales
- Listas, tablas y formularios
- Media Queries
- Preprocesadores CSS
- Framework CSS: Bootstrap
Segmento: JavaScript (ES6)
- Conceptos avanzados
- Programación orientada a objetos: prototipos
- Manejo del DOM
- jQuery
Segmento: Frameworks JavaScript
- Introducción a Angular
- Introducción a ReactJS
Segmento: Desarrollo Mobile
- Introducción a Android
- Desarrollo de apps con Android Studio
Este módulo enseña al alumno distintas técnicas de gestión de proyectos con las cuales se encontrará al momento de incorporarse a un equipo de trabajo. Es también la plataforma de lanzamiento para el desarrollo del trabajo final.
Segmento: Metodologías ágiles
- Manifiesto ágil
- Introducción a SCRUM
- Introducción a Xtreme Programming
- Introducción a KanBan
Segmento: Metodologías tradicionales
- Introducción al proceso unificado de desarrollo
Segmento: Desarrollo del trabajo final