Programa de Cursada de Back-End: Java

  • Secundario completo.
  • Manejo de idioma inglés (básico).
  • Comprensión de matemática (aritmética básica, lógica).

Introducción a la Programación

Herramientas de Programación:

  • Editores de texto
  • Sistemas de gestión de versiones: GIT
  • Presentación de tecnología: JAVA

Paradigmas de Programación:

  • Programación monolítica (TOP / DOWN)
  • Programación estructurada
  • Programación orientada a objetos
  • Programación funcional

Algoritmos y Estructuras de Datos

  • Qué 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 y 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

Programación Orientada a Objetos

Conceptos Fundamentales

  • Clases
  • Objetos
  • Paquetes
  • Atributos
  • Método
  • 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

Introducción a las Bases de Datos

Presentación de tecnología: MySQL

Bases de datos relacionales: Modelo Entidad Relación

Conceptos Básicos

  • Entidades
  • Relaciones
  • Ejemplares
  • Atributos
  • Cardinalidad
  • Restricciones relacionales
  • Restricciones semánticas

Lenguage SQL

  • DDL y DML
  • Consultas a múltiples tablas
  • Ordenamiento y agrupamiento
  • Vistas

Diseño Orientado a Objetos

  • Buenas prácticas de diseño
  • Métricas
  • Principios SOLID / GRASP
  • Estilos Arquitectónicos: Cliente-Servidor, MVC MVVM MVP
  • UML

Servicios Web / 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
  • Servidor de aplicaciones: Tomcat
  • Java: implementación de servicios web con Jersey

96 hs netas de cursada, distribuidas en 2 clases semanales de 3hs cada una durante un período de 4 meses.

2 Evaluaciones parciales (clase 16 y clase 32). Evaluación final. Presentación y defensa de trabajo práctico final (fuera del período de cursada).