MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio Objetivo general: Introducir al participante en los conceptos y herramientas más importantes del lenguaje javo para la programación de objetos. Duración promedio: 25 horas. Sesiones: Sábados 2:00 a 6:00 p.m. Requisitos: Conocimientos básicos de bases de datos y programación. Material a entregar: Cd con el tutorial de las herramientas de Java y además el participante tomara nota de las prácticas que realizara durante cada sesión así como un caso practico al final del taller en la ultima sesión con el objetivo de integrar conocimientos. Dirigido a: A personas que desean aprender programación orientada a objetos mediante el lenguaje de Java, así como a estudiantes, entusiastas de la informática y a personas que ya desarrollan aplicaciones en otros lenguajes y desean actualizarse. Ventaja competitiva: Es el lenguaje de programación con mayor crecimiento en la actualidad ya que permite desarrollar aplicaciones web, para celulares, de escritorio (conocidas como standalone) y tiene la capacidad de conexión a los servidores de bases de datos más populares como: Oracle, MySQL y Microsoft SQL Server. Las aplicaciones desarrolladas en el lenguaje Java son muy demandadas dentro del ámbito financiero, mercantil y de servicios debido a la robustez, seguridad y portabilidad que ofrece; esto último permite que cualquier desarrollo hecho en Java pueda ejecutarse en servidores con sistemas operativos Unix, Linux y Windows, entre otros. A diferencia que.el lenguaje Net solo en servidores Windows. Al término de este módulo el usuario aprenderá a: Crear y usar clases, variables y métodos en el lenguaje Java. Comprender la programación orientada a objetos. Usar estructuras de control: for, while, if, switch, do-while. Entender los conceptos de herencia, interfaz y polimorfismo. Crear ventanas gráficas, botones, paneles. Distribuir la aplicación en forma independiente a través de un jar. Manejar eventos para botones. Programa del Módulo de Java básico e intermedio 1
Programa: 1ª SEMANA: PROGRAMACION JAVA Programación estructurada Nivel básico Duración promedio: 12.5 horas Objetivo: Dar a conocer al usuario las herramientas necesarias de JAVA para la creación de aplicaciones básicas que implementen la programación estructurada y una breve introducción a la orientación a objetos. Puntos a tratar: I.- Introducción a las aplicaciones Java. Como utilizar estatutos de entrada y salida. Tipos de Java Primitivos. Conceptos de memoria básicos. Uso de operaciones aritméticas. La precedencia de los operadores aritméticos. Estatutos para hacer decisiones. Operadores relacionales y de igualdad. II.- Introducción a las clases y Objetos. Que son las clases, objetos, métodos y variables de instancia. Como declarar una clase y usarla para crear un objeto. Como declarar métodos en una clase para implementar los comportamientos de clase. Como declarar variables de instancia en una clase para implementar los atributos de una clase. Como llamar los métodos de un objeto para hacer que esos métodos ejecuten sus tareas. La diferencia entre variables de instancia de una clase y variables locales de un método. Como utilizar un constructor para asegurar que los datos de un objeto son inicializados cuando un objeto es creado. Las diferencias entre tipos primitivos y de referencia. III.-Estructuras de Control. Utilizar técnicas de resolución de problemas. Desarrollar algoritmos a través de procesos top-down, refinamiento de pasos utilizando pseudocódigo. Utilizar if y If-else para escoger entre acciones alternativas. Utilizar el estatuto while para ejecutar estatutos en un programa en forma repetitiva. Fundamentos de repetición controlada por contador. Utilizar repetición controlada por contador y repetición controlada por centinela. Utilizar asignaciones compuestas, operadores de incremento y decremento. Los tipos de datos primitivos. Programa del Módulo de Java básico e intermedio 2
El uso del for y el do while para ejecutar estatutos en un programa repetidamente. Entender selección múltiple utilizando el estatuto switch. Utilizar break y continue. Utilizar operadores lógicos para condicionales complejos en estatutos de control. IV.-Métodos. Como se asocian los métodos y campos estáticos con una clase. Utilizar los métodos comunes de la clase Math disponibles en el API de Java. Entender los mecanismos de paso de información entre métodos. Como el mecanismo call/return es soportado por la pila de llamado a métodos y registros de activación. Como implementar generación de números aleatorios. Como la visibilidad de declaraciones está limitada a una región especifica de programas. Que es la recarga de métodos y como se usa para crear métodos sobrecargados. V.-Arreglos. Que son los arreglos. Utilizar arreglos para almacenar datos y obtener datos de listas y tablas de valores. Declarar variables, inicializar arreglos y referirse a elementos individuales de arreglos. Pasar arreglos a métodos. Declarar y manipular arreglos multidimensionales. Escribir métodos que utilicen listas de argumentos de longitud variable. Leer argumentos de línea de comando en un programa. VI.- Archivos y flujos. Creación, lectura, escritura y actualización de archivos. Utilización de la clase file para obtener información acerca de archivos y directorios. La jerarquía de clases del flujo de entrada/salida de Java. Las diferencias entre archivos de texto y archivos binarios. El procesamiento de archivos secuenciales. Utilización de las clases Scanner y Formatter para procesar archivos de texto. La utilización las clases FileInputStream y FileOutputStream. El uso del cuadro de dialogo JFileChooser. El uso del cuadro de las clases ObjectInputStream y ObjectOutputStream. 2ª SEMANA: PROGRAMACION JAVA Programación orientada a objetos Nivel intermedio Duración promedio: 12.5 horas Objetivo: Dar a conocer al usuario las herramientas necesarias de JAVA para la creación de aplicaciones que implementen la programación orientada a objetos. Programa del Módulo de Java básico e intermedio 3
Puntos a tratar: I.- Clases y Objetos. Encapsulación y ocultamiento de datos. La notación de abstracción de datos y tipos de datos abstractos (ADT). Utilización de la palabra this. Utilizar variables y métodos estáticos. Importar miembros estáticos de una clase. Utilizar el tipo enum para crear conjuntos de restricciones con identificadores únicos. Declarar constantes enum con parámetros. Organizar clases en paquetes para promover la reutilización. II.- Herencia. La herencia promueve el uso de la reutilización del software. Las notaciones de superclases y subclases. Utilización de la palabra extends para crear una clase que hereda atributos y comportamientos de otra clase. Usar el modificador de acceso protected para dar a los métodos de las subclases acceso a los miembros de las superclases. Acceder a los miembros de las superclases mediante la palabra super. Como los constructores son usados en jerarquías de herencia. Los métodos de la clase Object, la superclase indirecta o directa de todas las clases en Java. III.- Polimorfismo. El concepto de polimorfismo. Utilizar métodos sobre-escritos para efectuar realizar polimorfismo. Distinguir entre clases abstractas y clases concretas. Declarar métodos abstractos para crear clases abstractas. Como el polimorfismo hace que los sistemas sean extensibles y mantenibles. Determinar el tipo de un objeto al tiempo de ejecución. Declaración e implementación de interfaces. IV.- Manejo de Excepciones. Funcionamiento del manejo de errores en Java. Utilización de try, throw y catch para detectar, indicar y manejar excepciones respectivamente. Utilización del block finally para liberar recursos. Como el manejo de pilas permite a las excepciones no atrapadas en un alcance ser atrapadas en otro alcance. Como la pila marca la ayuda en el debugging. Como las excepciones son arregladas en una jerarquía de clases de excepciones. Declarar nuevas clases de excepciones. Crear excepciones encadenadas que mantengan información completa de seguimiento de pila. Programa del Módulo de Java básico e intermedio 4
V.- Genéricos. Crear métodos genéricos que ejecuten tareas idénticas en argumentos de diferentes tipos. Crear una clase Stack genérica que pueda ser usada para almacenar objetos de cualquier tipo clase o interface. Entender como sobrecargar métodos genéricos con métodos no genéricos o con otros métodos genéricos. Entender los tipos raw y como ayudan en la compatibilidad. Utilizar caracteres especiales cuando no se requiera un tipo preciso de información en el cuerpo del método. La relación entre genéricos y herencia. VI.- Colecciones. Que son las colecciones. Utilización de la clase Arrays para manipulaciones de arreglos. Utilización del marco de trabajo de las colecciones. Utilización de algoritmos de las colecciones para manipular colecciones como search, Sort o fill. Utilizar interfaces de colecciones para programar con colecciones en forma polimórfica. Utilizar iteradores para recorrer una colección. Utilizar tables hash persistente manipuladas con objetos de propiedades de clases. Utilizar arropadores de sincronización y modificación. Programa del Módulo de Java básico e intermedio 5