PROGRAMAS DE ESTUDIO NOMBRE DE LA ASIGNATURA: Programación orientada a objetos CICLO ESCOLAR: Quinto cuatrimestre CLAVE DE LA ASIGNATURA: L1IS110 OBJETIVO(S) GENERAL(ES) DE LA ASIGNATURA: Al finalizar el curso el alumno será capaz de: Aplicar los conceptos y principios relativos al diseño de sistemas y a las técnicas generales del diseño de algoritmos de la programación orientada a objetos en el desarrollo de códigos que consideren la herencia, polimorfismos y clases abstractas mediante la utilización adecuada de herramientas como arreglos y multiprocesamiento TEMAS Y SUBTEMAS 1. Conceptos básicos 1.1 Generalidades 1.1.1 Análisis y diseño 1.1.2 Abstracción 1.2 ¿Qué es la programación orientada a objetos? 1.3 Características de una aplicación básica de programación orientada a objetos 1.4 Ejecución de una aplicación en programación orientada a objetos 1.4.1 El ambiente de ejecución Java 1.4.2 La máquina virtual de Java 1.4.3 El garbage collection 1.4.4 Código de seguridad 2. Programación orientada a objetos 2.1 Declaración de los elementos de una clase 2.1.1 Declaración de clases en Java 2.1.2 Declaración de atributos 2.1.3 Declaración de métodos 2.1.4 Control de acceso de métodos. Clases y atributos 2.2 Accediendo a miembros de un objeto 2.3 Identificadores, palabras clave y tipos 2.3.1 Punto y coma, bloques y espacios en blanco 2.3.2 Identificadores 2.3.3 Palabras clave en Java 2.3.4 Tipos básicos en Java 2.3.4.1 Tipos primitivos 2.3.4.2 Lógicos-boolean 2.3.4.3 Texto–char, string 2.3.4.4 Enteros–byte, short, int, long 2.3.4.5 Punto flotante-float, double 2.4 Variables, declaraciones y asignaciones 2.4.1 Tipos de referencia en Java 2.5 Construcción e inicialización de objetos 2.5.1 Constructores 2.5.2 Constructores por default 2.5.3 Declaración de constructores 2.6 Directorios y paquetes 2.6.1 Sentencia package 2.6.2 Sentencia import 2.7 Aplicaciones basadas en texto 2.7.1 Argumentos por comandos en línea 2.7.2 Consola de E/S 2.7.2.1 Escribiendo a salida standard 2.7.2.2 Lectura de entrada standard 3. Expresiones y control de flujo 3.1 Expresiones 3.1.1 Variables y su alcance 3.1.2 Inicialización de variables 3.1.3 Operadores aritméticos 3.1.4 Operadores lógicos 3.1.5 Operadores relacionales 3.1.6 Operadores de Bits 3.2 Sentencias de decisión 3.2.1 Declaración if, else 3.2.2 Declaración switch 3.3 Sentencias de repetición 3.3.1 El ciclo for 3.3.2 El ciclo while 3.3.3 El ciclo do 4. Arrays 4.1 Declaración de arrays 4.2 Creación de arrays 4.3 Inicialización de arrays 4.4 Arrays multidimensionales 4.5 Redimensión de arrays 4.6 Copiando arreglos 5. Herencia y polimorfismos 5.1 Subclasificación 5.1.1 Relación 5.1.2 Herencia simple 5.1.3 Los constructores no son heredados 5.2 Polimorfismo 5.2.1 Colecciones heterogéneas 5.2.2 Argumentos polimórficos 5.2.3 El operador instanceof 5.3 Sobrecarga 5.3.1 Sobrecarga de métodos 5.3.2 Sobrecarga de constructores 6. Excepciones 6.1 Excepciones 6.2 Manejo de excepciones 6.2.1 Sentencias try y catch 6.2.2 Sentencia finally 6.3 Categorías de excepciones 6.4 Excepciones comunes 6.5 Reglas para el manejo de excepciones 6.6 Redefinición de métodos y excepciones 6.7 Creando excepciones propias 7. Threads 7.1 Threads 7.1.1 ¿Qué son los threads? 7.1.2 Threads en Java programming 7.1.3 Partes de un thread 7.1.4 Creando un thread 7.1.5 Iniciando un thread 7.1.6 Organización de threads 7.2 Control básico de threads 7.2.1 Terminación de un thread 7.2.2 Comprobación de un thread 7.2.3 Prioridad de acceso de un thread 7.3 Otras formas de crear threads 7.4 Métodos de Interacción de un hilo 7.4.1 Wait y notify 7.4.2 Suspend y resume 7.4.3 Stop ACTIVIDADES DE APRENDIZAJE CON LA CONDUCCIÓN DEL DOCENTE: Desarrollo de nuevos productos o artículos mediante el desarrollo de códigos a través de diseños orientados a objetos Discusión sobre los resultados del trabajo integrador para la evaluación final del curso Preguntas reflexivas sobre los avances del trabajo integrador DE MANERA INDEPENDIENTE: Lecturas de documentos procedentes de diversas fuentes de información sobre los temas del curso, el desarrollo de prácticas y el trabajo integrador Observación de recursos multimedia con apoyos para el desarrollo de ejercicios referentes a las herramientas utilizadas para la programación orientada a objetos Ejercicios referentes a la elaboración de diagramas UML, de procesos, de ciclo de vida y jerárquicos así como a la aplicación de diversas herramientas para la programación orientada a objetos como estructuras de control de flujo, arreglos, arreglos multidimensionales, excepciones en la plataforma Java Ejercicios de aplicación del paradigma orientado a objetos, de desarrollo de códigos en Java Prácticas de programación orientada a objetos aplicando diversas herramientas Participación en los foros de discusión sobre los ejercicios resueltos y el trabajo integrador del curso CRITERIOS Y PROCEDIMIENTOS DE EVALUACIÓN Y ACREDITACIÓN Evaluación parcial Entrega de actividades prescritas por el docente Evidencias de desempeño Modelos y objetos concretos Cuadros sinópticos Reportes de lectura Resolución de ejercicios Experiencias de aprendizaje colaborativo en línea Participación Instrumentos de evaluación Rúbricas 40% Evaluación final Entrega del trabajo integrador Evidencias de desempeño Solución de proyecto Instrumentos de evaluación Rúbricas 60%