Contenido
Curso (2-2) Algorítmica y Programación en Java - Parte 2
Nombre del Curso
Curso Algoritmica y programación en Java 2 (Online)
Definición
Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.
Objetivos
Permitir que el estudiante a través de la práctica conozca y aprenda sobre los conceptos básicos de la programación orientada a objetos en Java.
Habilidades que contribuye a desarrollar
Estimular la destreza para solucionar problemas mediante algoritmos.
Afianzar los conocimientos de programación básica.
Definir varias alternativas para solucionar un problema mediante el uso de la programación orientada a objectos y seleccionar la alternativa más viable.
Desarrollar la habilidad para implementar los algoritmos diseñados en un lenguaje de programación.
Estrategías Pedagógicas
El curso se dictará en línea mediante un tutor el cual mostrará paso a paso los conceptos vistos en la práctica y con aplicaciones reales. Los estudiantes estarán en la capacidad de apreciar los conceptos vistos mediante la práctica directa en la herramienta NetBeans 6.9.1.
Contenidos Temáticos
Capítulo 1 - Archivos y Flujo de Datos
1.1.Introducción
1.2.Jerarquía de datos
1.3.Archivos y Flujo de Datos
1.4.Archivo de Clase
1.5.Acceso secuencial a archivos de texto
1.6.Serializacion de Objetos
1.7.Clases adicionales java.io
1.8.Abriendo Archivos con el JFileChooser
1.9.Resúmen
1.10.Ejercicios
Capítulo 2 - Recursión
2.1.Introducción
2.2.Conceptos de Recursión
2.3.Ejemplo utilizando recursión : factorial
2.4.Ejemplo utiliznado recursión : Serie de Fibonacci
2.5.Recursión y el método call stack
2.6.Recursión Vs Iteración
2.7.Problema de las Torres de Hanoi
2.8.Fractales
2.9.Recursive Backtracking
2.10.Resúmen
2.11.Ejercicios
Capítulo 3 - Algorítmos de Búsqueda y Ordenamiento
3.1.Introducción
3.2.Algorítmos de Búsqueda
3.3.Algorítmos de Ordenamiento
3.4.Invariantes
3.5.Resúmen
3.6.Ejercicios
Capítulo 4 - Estructuras de Datos
4.1.Introducción
4.2.Clases Type Wrapper para tipos de datos primitivos
4.3.Autoboxing y Auto-unboxing
4.4.Clases auto-referenciales
4.5.Asignación Dinámica de Memoria
4.6.Listas Encadenadas
4.7.Pilas
4.8.Colas
4.9.Arbóles
4.10.Resúmen
4.11.Ejercicios
Capítulo 5 - Métodos Genéricos
5.1.Introducción
5.2.Motivación para la implementación de métodos genéricos
5.3.Métodos genéricos : Implementación y Translación en tiempo de compilación
5.4.Asuntos adicionales con la translación en tiempo de compilación : Métodos que usan un tipo de parámetro como el tipo de retorno
5.5.Métodos genéricos sobre-cargados
5.6.Tipos rústicos
5.7.Wildcards en métodos que aceptan parámetros
5.8.Genéricos y herencia : notas
5.9.Resúmen
5.10.Ejercicios
Capítulo 6 - Colecciones
6.1.Introducción
6.2.Vista general de colecciones
6.3.Clases de arreglos
6.4.Colecciones de interface y colecciones de clase
6.5.Listas
6.6.Algorítmos de Colecciones
6.7.Stack Class del paquete java.util
6.8.La clase PriorityQueue y la interface Queue
6.9.Sets
6.10.Maps
6.11.Clase Properties
6.12.Colecciones sincronizadas
6.13.Colecciones inmodificables
6.14.Implementaciones abstractas
6.15.Resúmen
6.16.Ejercicios
Capítulo 7 - Introducción a los Applets
7.1.Introducción
7.2.Applets de ejemplo provistos por el JDK
7.3.Applet simple de Java : Dibujar una cadena
7.4.Métodos del applet
7.5.Inicialización e instanciamiento de variables con el método init
7.6.Sandbox security model
7.7.Recursos
7.8.Resúmen
7.9.Ejercicios
Capítulo 8 - Multimedia : Applets y Aplicaciones
8.1.Introducción
8.2.Cargando, visualizando y escalando imágenes
8.3.Animando una serie de imágenes
8.4.Mapas de imágenes
8.5.Cargando y reproduciendo archivos de audio
8.6.Resúmen
8.7.Ejercicios
Capítulo 9 - Programación Orientada a Objetos : Herencia
9.1.Introducción
9.2.Superclases y Subclases
9.3.Miembros protected
9.4.Relación entre superclases y subclases
9.5.Constructores en subclases
9.6.Ingeniería de Software con Herencia
9.7.Objetos de Clase
9.8.Caso de Estudio : Visualización de Texto e Imágenes usando Labels
9.9.Resumen
9.10.Ejercicios
Capítulo 10 - Componentes Gráficos : Parte 2
10.1.Introducción
10.2.JSlider
10.3.Windows : Notas adicionales
10.4.Usando menús y frames
10.5.JPopupMenu
10.6.Pluggable Look-and-feel
10.7.JDesktopPane y JInternalFrame
10.8.JTabbedPane
10.9.Layout Managers : BoxLayout y GridBagLayout
10.10.Resúmen
10.11.Ejercicios