Temario
Introducción a la Programación:
Este primer tema pretende nivelar los conocimientos entre los alumnos para que todos accedan en similares condiciones al resto del curso. En esta primera etapa se brindarán conceptos básicos de algoritmos utilizando técnicas que faciliten la comprensión, como lo es el pseudocódigo.
Sintaxis del Lenguaje Java:
Sintaxis de las construcciones básicas del lenguaje. Por ejemplo: expresiones, condicionales, iteraciones, declaraciones, tipos de datos, entrada y salida estándar, manejo de excepciones, etc. Se utiliza el entorno de desarrollo integrado NetBeans® para la escritura del código Java.
Programación Orientada a Objetos en Java:
Conceptos básicos y avanzados de la programación orientada a objetos y su aplicación en Java, construyendo programas (en consola) que los utilicen. Por ejemplo: objeto, clase, atributos, métodos, operaciones, constructores, destructores, referencias, herencia, redefinición, sobrecarga, polimorfismo, tipos de polimorfismo, interfaces, asociaciones entre clases, etc. Introducción de la notación UML junto con la explicación de cada nuevo concepto.
Desarrollo de Interfaces Gráficas en Java utilizando Swing:
Introducción a Swing y AWT. Jerarquía de componentes gráficos de Swing. Distribución de componentes mediante el uso de Layout Managers. Manejo de eventos en Swing. Formularios, contenedores intermedios (paneles) y controles visuales (botones, listas, listas desplegables, botones de selección y chequeo, barras de menús, formularios internos, etc.) Construcción de interfaces gráficas de usuario (aplicaciones de escritorio) utilizando Swing.
Persistencia en Aplicaciones en Java utilizando JDBC y MySQL:
Conceptos generales de acceso a datos. Conceptos básicos de JDBC (JDBC v1.0) y conceptos avanzados de JDBC (JDBC v2.0). Breve introducción a MySQL Server. Construcción de aplicaciones utilizando JDBC accediendo a Bases de Datos en MySQL. Construcción de aplicaciones en 3 capas y desarrollo de la tercera capa (Capa de Persistencia) utilizando los objetos provistos por JDBC. Revisión del Caso de Estudio para agregar la capa de persistencia.
Correspondencia entre aplicaciones orientadas a objetos (paradigma de objetos) y acceso a bases de datos (paradigma relacional): mapeo objeto/relacional. Discusión de alternativas para el desarrollo de la persistencia.
Caso de Estudio:
Modelado con UML de una aplicación en 2 capas orientada a objetos y aplicación de los conocimientos adquiridos en los dos puntos anteriores (OOP y Swing) en la construcción de la Capa Lógica y de la Capa Presentación de dicha aplicación, manteniendo separadas las responsabilidades de cada capa (luego se extiende el Caso de Estudio a 3 capas).
Trabajo Obligatorio:
Elaboración por parte de los alumnos de propuestas que sean de su propio interés y clases de consulta apoyando el desarrollo del trabajo obligatorio. En esta etapa se espera especial dedicación de tiempo por parte del alumno para programar su trabajo obligatorio. Se espera una temprana definición de requerimientos (planteo del trabajo a realizar por parte del alumno) de forma de poder desarrollarlo en forma iterativa e incremental, acompasando el dictado del curso.