Materia: Programación Avanzada
Formato: Anual
Herramientas:
Java 8 E.E.
Eclipse (Neon o superior)
Fecha parcial
Primero: 10/06
Notas: 17/06
Recuperatorio: 24/06
Segundo: 04/11
Notas: 11/11
Recuperatorio: 18/11
Todo en PC.
La duración es de 2 hs.
El final debe compilar.
3 o 4 Preguntas teóricas y el resto practicas.
Unidades
Unidad I – Programación Orientada a Objetos (OO). Revisión
Conceptos y características de la metodología orientada a objetos.
Clases. Objetos. Datos y Funciones miembros.
Abstracción. Encapsulamiento. Herencia. Polimorfismo.
Unidad II – Interfaces y Clases internas.
Conceptos de Interfaces. Declaración e implementación. Herencia múltiple.
Herencia de interfaces. Interfaces vs Clases Abstractas. Enlace dinámico implementado con interfaces.
Clases Internas. Definición y clasificación: Estáticas, Miembro, Locales y Anónimas. Características de cada una.
Unidad III – Modelo de Aplicaciones.
a) Modelo Vista Controlador.
Conceptos básicos. Descripción y colaboración entre componentes. Modelo de dominio y modelo de aplicación. DAO y DTS. Interacción entre componentes. Implementación en JAVA.
b) Diagnóstico y Excepciones.
Introducción. Características referentes a la depuración de errores.
Manipulación de errores. Las sentencias try-catch-finally. Tipos de excepciones. Manejo de excepciones. Creación y sobreescritura de Excepciones. Propagación de excepciones. Aseveraciones (assertions).
Depuración o debugging de un programa.
Unidad IV – Manejo de Archivos
Introducción. Archivos y Stream. Lectura y escritura. Captura de información desde un archivo texto con ancho fijo o con separadores. Almacenamiento de información en un archivo texto. Redireccionamiento de entrada y salida.
Manejo de archivos binarios.
Unidad V – Genéricos y Colecciones
Concepto y uso de Genéricos. Tipos Genéricos. Ventajas y Desventajas. Boxing.
Motivos de Uso. Clases Genéricas. Restricciones.
Colecciones: Conceptos básicos. Características. Framework: clases e interfaces:
Set, List, LinkedList, Iterator, Map, ArrayList. Manejo de ArrayList: Métodos y constructores. Algoritmos predefinidos en colecciones.
Unidad VI – Interfaz Gráfica en Java
Swing y AWT. Componentes de una aplicación: JFrame, JPanel, JTextField, JLabel, JTextArea, JButton, JComboBox, JCheckBox, JRadioButton, JList, JOptionPane, JTable. Programación dirigida por Eventos. Listeners.
Manejadores: distintas formas de declaración e implementación. Modelo Vista Controlador. Generación de menús: JMenu, JMenuBar, JMenuItem.
Unidad VII – Acceso a Base de Datos
Conceptos básicos de Base de Datos. Modelo de aplicaciones. JDBC (Java Database Connectivity). Tipos de Drivers JDBC.
Conexión a Base de Datos. Clases Connection, Statement, PreparedStatement, CallableStatement. Consultas, actualizaciones y transacciones. ResultSets.
Excepciones.
Unidad VIII – Expresiones Lambda
Introducción y conceptos básicos. Implementación en paradigma funcional.
Sintaxis obligatoria y opcional. Ventajas y desventajas. Clasificación de las expresiones Lambda. Consumidores. Productores. Funciones. Predicado.
Métodos referenciados. API Stream: características, operaciones y usos.
Unidad IX – Programación WEB
c) HTML
Conceptos básicos de internet y HTML. Uso de etiquetas: párrafos, imágenes, enlaces, listas, tablas, formularios. Estructura de programas en HTML. HTML y JavaScript. HTML y CSS.
b) JavaScript
Conceptos básicos. Uso de JavaScript con HTML. Elementos básicos:
objetos, array, function, sentencias. Gestión de eventos. Objetos predefinidos: windows, history, document, location, form. Programación Orientada a Objetos en JavaScript.
c) JSP y Servelts
Conceptos básicos. Funcionamiento. Componentes. Expresiones.
Declaraciones. Scriptles. Directivas. Etiquetas. Objetos implícitos: request, response, out, session. HTML y JSP. Comparación entre JSP y Servelts.
Redireccionamiento a paginas JSP desde Servelts
Unidad X – Programación para dispositivos móviles - J2ME
Introducción. Componentes. Máquinas virtuales: KVM y CVM.
Configuraciones: CDC y CLDC. Perfiles: Foundation, Personal, RMI, PDA y MIDP
Trabajos Prácticos
1° (Obligatorio) -> 01/04
1° Seg cuatrimestre (Obligatorio)