Java Fundamentals
Visión general
Este curso no requiere que los alumnos tengan ninguna o casi ninguna experiencia en programación para crear programas Java. Se les ofrecerá una introducción a los conceptos, la terminología y la sintaxis de programación orientada a objetos, y a los pasos necesarios para crear programas Java básicos mediante los entornos de desarrollo interactivos Alice, Greenfoot y Java. Las prácticas ocupan un lugar destacado a lo largo de este curso para que los alumnos puedan experimentar directamente el poder de la programación informática.
Idiomas del plan de estudios disponibles:
• Árabe, chino simplificado, inglés, francés, indonesio, japonés, portugués brasileño, español
Duración
• Duración total del curso recomendada: 90 horas*
• Horas de créditos de formación profesional para los educadores que completan la formación de Oracle Academy: 30
* La duración del curso incluye fase de instrucción, autoestudio/deberes, prácticas, proyectos y evaluación.
Alumnos
• Estudiantes con poca experiencia en programación que desean aprender programación Java y crear su propia experiencia en la programación orientada a objetos en divertidos entornos de desarrollo Java
• Este curso es una clase fundamental para estudiantes de ciencias de la computación
Requisitos previos
Necesarios
• Conocimientos básicos de al menos un lenguaje de programación
• Capacidad para seguir las instrucciones de instalación del software e instalar Alice, Greenfoot y un IDE Java en una computadora
Recomendados
• Introducción a Java mediante Alice y la creación de programas Java con Greenfoot o experiencia anterior con al menos un lenguaje de programación
Programa
Temas lección por lección y objetivos
Sección 1: Introducción
• 1-1 Introducción
o Examinar las secciones del curso
o Determinar el objetivo del curso
o Familiarizarse con Oracle Academy Member Hub
o Explicar el mapa del curso
o Describir el software utilizado en este curso
o Reconocer los IDE utilizados en este curso
Sección 2: Uso de Alice 3
• 2-1 Introducción a Alice 3
o Identificar componentes de la escena
o Crear y guardar un nuevo proyecto
o Agregar un objeto a una escena
o Comunicar el valor de guardar varias versiones de una escena
o Codificar una instrucción de programación simple
o Utilizar el comando de copiar y deshacer
o Comprender el valor de realizar pruebas y depuración
• 2-2 Adición y colocación de objetos
o Abrir una versión guardada de un proyecto
o Agregar varios objetos a una escena
o Describir la diferencia entre un posicionamiento preciso y un posicionamiento mediante la acción de arrastrar y soltar (o impreciso)
o Utilizar un procedimiento puntual para colocar con precisión un objeto en una escena
o Editar las propiedades de un objeto en el editor de escena
o Describir ejes de posicionamiento de tres dimensiones
o Colocar las subpartes de un objeto en el editor de escenas
• 2-3 Procedimientos y argumentos
o Alternar y describir las diferencias visuales entre el editor de escenas y el editor de códigos
o Localizar y describir el objetivo del panel de métodos y del separador de procedimientos
o Utilizar procedimientos para mover objetos
o Agregar procedimientos de programación Java al editor de códigos
o Demostrar cómo modificar los valores de procedimiento
o Crear comentarios de programación
o Reordenar, editar, suprimir, copiar y desactivar sentencias de programación
o Probar y depurar una animación
• 2-4 Rotación y asignación aleatoria
o Correlacionar sentencias de guión con tareas de ejecución de programas
o Agregar una sentencia de control al editor de códigos
o Utilizar números aleatorios para asignar movimiento de forma aleatoria
2-5 Declaración de procedimientos
o Comparar y definir una animación y un escenario
o Escribir un guión
o Representar un guión en un diagrama de flujo
o Describir la herencia y cómo se transfieren los rasgos de las superclases a las subclases
o Describir cuándo implantar la abstracción de procedimiento
o Demostrar cómo declarar un procedimiento
o Identificar y utilizar técnicas de abstracción de procedimiento para simplificar el desarrollo de la animación
• 2-6 Sentencias de control
o Definir varias sentencias de control para controlar la sincronización de la animación
o Crear una animación que utilice una sentencia de control para controlar la sincronización de la animación
o Reconocer construcciones de programación para llamar al movimiento simultáneo
• 2-7 Funciones
o Utilizar funciones para controlar el movimiento basado en un valor de retorno
• 2-8 Estructuras de control IF y WHILE
o Utilizar la estructura de control IF para realizar la ejecución de instrucciones
o Utilizar la estructura de control WHILE para crear un ciclo condicional para un comportamiento repetitivo
• 2-9 Expresiones
o Crear una expresión para realizar una operación matemática
o Interpretar una expresión matemática
2-10 Variables
o Descripción de las variables
o Descripción del uso de las variables en programación
o Visualización de código de Alice como código Java en el lateral
• 2-11 Controles del teclado
o Crear una secuencia de apertura
o Utilizar los controles del teclado para manipular una animación
o Guardar el archivo Class
o Utilizar el separador inicial
o Agregar un archivo de clase existente a una animación
• 2-12 Desarrollo de una animación completa
o Utilizar la descomposición funcional para escribir un escenario y un guión
o Realizar una animación
o Probar una animación
o Cambiar la posición de los objetos en tiempo de ejecución
o Cargar la animación
o Planificar la presentación de un proyecto de animación terminado
• 2-13 Variables Java y tipos de dato
o Describir variables
o Describir tipos simples Java
o Definir operadores aritméticos
o Describir operadores relacionales y lógicos
o Describir operadores de asignación
• 2-14 Clases y métodos Java
o Describir un método, una clase y una instancia
o Describir un escenario en el que se utilizara una estructura de control IF
o Describir un escenario en el que se utilizara una estructura de control WHILE
o Reconocer la sintaxis para un método, una clase, una función y un procedimiento
o Describir la entrada y salida
Sección 3: Uso de Greenfoot
• 3-1 Introducción a Greenfoot
o Descargar e instalar Greenfoot
o Describir los componentes del entorno de desarrollo interactivo de Greenfoot
o Crear una instancia de una clase
o Describir clases y subclases
o Reconocer la sintaxis de Java utilizada para crear correctamente una subclase
• 3-2 Métodos, variables y parámetros
o Definir parámetros y su uso en métodos
o Comprender la herencia
o Describir propiedades de un objeto
o Examinar el objetivo de una variable
o Debatir los conceptos de programación y definir la terminología
• 3-3 Código fuente y documentación
o Demostrar los cambios de código fuente para llamar a los métodos mediante programación
o Demostrar los cambios de código fuente para escribir una sentencia de decisión IF
o Describir un método para mostrar la documentación del objeto
• 3-4 Desarrollo y prueba de una aplicación
o Demostrar las estrategias de prueba del programa
o Reconocer las fases del desarrollo de una aplicación de software
• 3-5 Asignación aleatoria y descripción de la notación de puntos y constructores
o Crear comportamientos asignados de forma aleatoria
o Definir operadores de comparación
o Crear sentencias de control if-else
o Crear una instancia de una clase
o Reconocer y describir la notación de puntos
• 3-6 Métodos definidos
o Describir una colocación efectiva de métodos en una superclase o subclase
o Simplificar la programación mediante la creación y llamada a métodos definidos
o Manejo de colisiones
3-7 Control de teclado y sonido
o Escribir sentencias de programación para incluir sonido en un programa
o Escribir sentencias de programación para incluir movimientos de teclado en un programa
o Escribir sentencias de programación para incluir la interacción del mouse en un programa
o Escribir las sentencias de programación para recuperar la información del usuario
• 3-8 Animación del mundo y final del juego
o Construir un objeto del mundo mediante un método constructor
o Crear un objeto mediante un constructor
o Escribir sentencias de programación para utilizar la nueva palabra clave
o Definir el objetivo y la sintaxis de una variable
o Reconocer la sintaxis para definir y probar las variables
o Escribir sentencias de programación para cambiar entre dos imágenes
o Escribir sentencias de programación para finalizar un juego
• 3-9 Abstracción
o Definir la abstracción y proporcionar un ejemplo de cuándo se utiliza
o Definir la conversión
• 3-10 Ciclos, variables y arreglas
o Crear un ciclo while en un constructor para construir un mundo
o Describir un ciclo infinito y cómo evitar que se produzca uno
o Utilizar una arreglo para almacenar varias variables utilizadas para crear un mundo
o Crear una expresión mediante operadores lógicos
o Describir el ámbito de una variable local en un método
Sección 4: Conceptos básicos de Java
• 4-1 Introducción a Java
o Identificación de los componentes de un IDE Java
o Identificación de los componentes de una aplicación Java
o Compilación de una aplicación
o Pruebas para verificar que la aplicación esté completa
o Escribir el código correspondiente a GalToLit.java
o Modificación de un programa para ejecutarlo libre de errores
o Modificación de un programa para utilizar una fórmula para convertir unidades de medida
• 4-2 Clases de objetos y controladores
o Describir la forma general de un programa Java
o Describir la diferencia entre una clase de objeto y una clase de controlador
o Acceder a un mínimo de dos API de clase Java
o Explicar y proporcionar ejemplos de palabras clave Java
o Crear una clase de objeto
o Crear una clase de controlador
• 4-3 Tipos de dato y operadores
o Utilizar tipos de dato primitivos en código Java
o Especificar literales para los tipos primitivos y para las cadenas
o Demostrar cómo inicializar variables
o Describir las reglas de ámbito de un método
o Reconocer cuándo una expresión necesita una conversión de tipo
o Aplicar la conversión en código Java
o Utilizar operadores aritméticos
o Utilizar el operador de asignación
o Utilizar un método de la clase Math
o Acceder a un método de la clase Math desde la API de Java
• 4-4 Cadenas
o Instanciar (crear) una cadena
o Describir lo que sucede cuando se modifica una cadena
o Utilizar los operadores + y += para la concatenación de cadenas
o Interpretar secuencias de escape en literales de cadena
o Reconocer la diferencia entre una cadena y un tipo de dato primitivo char
o Probar cadenas con el método compareTo() y equals()
o Describir por qué el operador == no siempre funciona al probar la igualdad entre cadenas
o Utilizar los métodos de cadena length(), substring(), indexOf() y charAt()
Sección 5: Estructura de programas
• 5-1 Escáner y sentencias condicionales
o Utilizar el escáner para la entrada de usuario durante la ejecución del programa
o Utilizar la lógica y las sentencias if-else
o Aplicar la lógica de cambio y sentencias en código Java
o Utilizar break y default de forma efectiva en una sentencia switch
o Utilizar el operador ternario
• 5-2 Sentencias de control
o Crear un ciclo while
o Crear un ciclo do-while
o Crear un ciclo for
Sección 6: Arreglas y excepciones
• 6-1 Arreglas
o Escribir un arreglo unidimensional en un programa Java mediante tipos de dato primitivos
o Escribir un arreglo unidimensional en un programa Java mediante tipos de referencia (objeto)
o Escribir un arreglo bidimensional en un programa Java mediante tipos de dato primitivos
o Escribir un arreglo bidimensional en un programa Java mediante tipos de referencia (objeto)
o Declarar, inicializar y recorrer el arreglo
o Describir la inicialización de un arreglo
o Distinguir entre el método de cadena length() y el valor de longitud de un arreglo
o Volver a escribir un programa Java para almacenar enteros en un arreglo, realizar un cálculo matemático y mostrar el resultado
o Utilizar sintaxis de declaración de arreglo alternativa
• 6-2 Manejo de errores
o Describir los diferentes tipos de errores que se pueden producir y cómo se manejan en Java
o Describir las excepciones que se utilizan en Java
o Determinar las excepciones que se devuelven para cualquiera de las clases base
o Escribir código para manejar una excepción devuelta por el método de una clase base
Sección 7: Classes en Java
• 7-1 Clases, objetos y métodos
o Reconocer la forma general correcta de una clase
o Crear un objeto de una clase
o Crear métodos que compilar sin errores
o Devolver un valor desde un método
o Utilizar parámetros en un método
o Crear una clase de controlador y agregar instancias de clases de objeto
o Agregar un constructor a una clase
o Aplicar el operador new
o Describir la recolección de basura y los finalizadores
o Aplicar la referencia this
o Agregar un constructor para inicializar un valor
• 7-2 Parámetros y métodos de sobrecarga
o Utilizar modificadores de acceso
o Transferir objetos a métodos
o Devolver objetos desde métodos
o Usar métodos de argumentos variables
o Sobrecargar constructores
o Sobrecargar métodos
o Escribir una clase con arreglas, constructores y métodos especificados
• 7-3 Modificador estático y clases anidadas
o Crear variables estáticas
o Usar variables estáticas
o Crear métodos estáticos
o Usar métodos estáticos
o Crear clases estáticas
o Utilizar clases estáticas
7-4 Herencia
o Demostrar y explicar diagramas de clase UML (Unified Modeling Language)
o Utilizar la palabra clave extends para heredar una clase
o Comparar y contrastar superclases y subclases
o Describir cómo afecta la herencia al acceso del miembro
o Utilizar super para llamar a un constructor de superclase
o Utilizar super para acceder a los miembros de la superclase
o Crear una jerarquía de clases de varios niveles
o Reconocer cuándo se llama a los constructores en una jerarquía de clases
o Demostrar conocimientos sobre la herencia a través del uso de applets
o Reconocer cambios de parámetro correctos en un applet existente
• 7-5 Polimorfismo
o Aplicar referencias de superclase a objetos de subclase
o Escribir código para sustituir métodos
o Utilizar la distribución de métodos dinámica para soportar el polimorfismo
o Crear clases y métodos abstractos
o Reconocer una sustitución de métodos correcta
o Utilizar el modificador final
o Explicar la finalidad e importancia de la clase de objeto
o Escribir código para un applet que muestre dos triángulos de diferentes colores
o Describir referencias de objetos