Programación JAVA (Nivel: Básico-Intermedio)

java

RC-SER 07-093  Rev.01-08/16

 

Objetivo general:

Introducir al participante en los conceptos y herramientas más importantes del lenguaje JAVA para la programación de objetos.

Modalidad: Teórico/práctico.

Duración promedio: 25 horas.

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 tomará nota de las prácticas que realizará durante cada sesión así como un caso practico al final del taller en la última sesión con el objetivo de integrar conocimientos.

Dirigido 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 del 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

Costo: Listado de cursos.

Contenido:

1er Curso: PROGRAMACIÓN JAVA Nivel básico Duración promedio: 12.5 hrs

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.

  • Cómo 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.

  • Qué son las clases, objetos, métodos y variables de instancia
  • Cómo declarar una clase y usarla para crear un objeto
  • Cómo declarar métodos en una clase para implementar los comportamientos de clase
  • Cómo declarar variables de instancia en una clase para implementar los atributos de una clase
  • Cómo 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
  • Cómo 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
  • 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.

  • Cómo 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
  • Cómo el mecanismo call/return es soportado por la pila de llamado a métodos y registros de activación
  • Cómo implementar generación de números aleatorios
  • Cómo la visibilidad de declaraciones está limitada a una región especifica de programas.
  • Qué es la recarga de métodos y como se usa para crear métodos sobrecargados

V.-Arreglos.

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

2do Curso: PROGRAMACIÓN JAVA “Programación orientada a objetos” Nivel intermedio Duración promedio: 12.5 hrs

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.

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”
  • Cómo 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
  • Cómo 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
  • Cómo el manejo de pilas permite a las excepciones no atrapadas en un alcance ser atrapadas en otro alcance
  • Cómo la pila marca la ayuda en el debugging
  • Cómo 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

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 cómo 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.

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