Syllabus

AED-1286 PROGRAMACIÓN ORIENTADA A OBJETOS

DRA. YAQUELINE PECH HUH

ypech@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
2 2 3 5 Ingeniería Aplicada

Prerrequisitos
Competencia Específica
• Aplica algoritmos y lenguajes de programación para diseñar e implementar soluciones a problemáticas del entorno.
• Conocer y comprender los conceptos básicos de lógica matemática, relaciones, grafos y árboles para aplicarlos a modelos que resuelvan problemas de computación.
Competencias Genéricas
• Solución de problemas • Capacidad de organizar y planificar

Competencias Atributos de Ingeniería
Comprende y aplica los conceptos del paradigma de programación orientada a objetos para modelar situaciones de la vida real.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Aplicar los conceptos de clases y objetos en el desarrollo de programas para solución de problemas de acuerdo al paradigma orientado a objetos.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Identifica y aplica relaciones de herencia en clases derivadas para reutilizar los miembros de una clase base en el desarrollo de aplicaciones.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Aplica el concepto de polimorfismo para la definición de clases abstractas e interfaces que permitan reutilización de código.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Comprende y aplica las condiciones apropiadas para evitar los errores que pueden interrumpir el flujo normal de ejecución de un programa a través del manejo de excepciones.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Comprende y aplica la clasificación de archivos y operaciones básicas sobre éstos para manipular su información.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería

Normatividad
ACTIVIDADES EN LINEA POR CONTINGENCIA DE SALUD
Para cubrir las actividades contempladas del segundo parcial el alumno deberá:
1. Realizar las actividades formativa y práctica descrita en el syllabus programada para el segundo parcial las fechas de entrega serán de acuerdo a los plazos establecidos.
2. Con le fin de reforzar las habilidades de programación se mandarán ejercicios de desarrollo orientado a objetos

Nota: Se seguirá utilizando para dar seguimiento las plataformas digitales establecidas por lo que deben asegurarse que los documentos de las actividades se encuentran en la carpeta respectiva y esta en modo compartido.
Con la finalidad de establecer un canal de comunicación para dudas sobre las actividades por realizar se les ha mandado a su correo institucional una invitación para unirse a un grupo de Microsoft teams.
Cualquier eventualidad que pudieran tener en el uso de los canales de comunicación pueden enviarle un mensaje al responsable de su grupo para que me notifique.

El alumno deberá:
1.- Cumplir con todos los trabajos marcados en clases y extraclases.
2.- No se aceptaran trabajos documentales, programas o tareas de forma extemporánea.
3.- Participar en el salón de clases cuando se le requiera.
4.- Tener el mínimo de asistencias requerido por la subdirección académica (80%).
5.- Tener un comportamiento de disciplina dentro del salón de clases.
6.- Estar a más tardar 15 min. después de la entrada del profesor, después de lo cual no se le dejará entrar.
7. Para tener derecho a primera reevaluación el alumno deberá entregar el 80% de las actividades en el curso normal aunque tengan observaciones.

Materiales
Compilador Java 8 o superior. Editor para java Pseudocódigos y libros de java

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.1 a la actividad 3.1.4
PARCIAL 2 De la actividad 4.1.1 a la actividad 6.1.4

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Introducción al paradigma de la programación Orientado a Objetos
          1.1. Comprende y aplica los conceptos del paradigma de programación orientada a objetos para modelar situaciones de la vida real.
                   1.1.1. Investigar en diversas fuentes los conceptos principales del paradigma orientado a objetos para elaborar un resumen.
                           Elementos asociados a la Programación Orientada a Objetos (1245184 bytes)
                           Manual de Prácticas de la asignatura (1044992 bytes)
                           Introducción al Paradigma Orientado a Objetos (114282 bytes)
                           Definiciones básicas de Programación Orientada a Objetos (166355 bytes)
                           Introducción a la Programación (459105 bytes)
                          
                   1.1.2. Identificar ejemplos de la vida real donde se manifiesten dichos conceptos y comentarlos en clase.
                           Paradigmas (1962096 bytes)
                          
                   1.1.3. Redactar una definición propia de los conceptos de forma simple y entendible.
                           Introducción al UML (6024583 bytes)
                           Aprendiendo UML (11494133 bytes)
                          
                   1.1.4. Construir diagramas de clases aplicados a distintos problemas utilizando un software adecuado e identificar las herramientas de representación utilizadas, elaborar un reporte.
                           Ejemplos de clase (2119783 bytes)
                          
2. Clases y Objetos
          2.1. Aplicar los conceptos de clases y objetos en el desarrollo de programas para solución de problemas de acuerdo al paradigma orientado a objetos.
                   2.1.1. Realiza actividades grupales para que el alumno identifique mediante la abstracción las características y comportamientos de su entorno.
                           Ejemplo de clases (33280 bytes)
                           Clases, Atributos y métodos (186125 bytes)
                           Planeación Didáctica Unidad 2 (38557 bytes)
                          
                   2.1.2. Diseñar diagramas de clases relacionados a objetos de su entorno considerando únicamente la identificación de atributos del objeto e implementar las clases en un lenguaje de programación orientado a objetos.
                           Declaración de clases (102912 bytes)
                           Clases y objetos (107008 bytes)
                          
                   2.1.3. Diseñar diagramas de clases protegiendo los datos con modificadores de acceso privado o protegido y agregar métodos públicos para obtener acceso seguro a los mismos.
                           Métodos (29184 bytes)
                           Paso de parámetros (61952 bytes)
                           Paso de parámetros (61952 bytes)
                          
                   2.1.4. Crear las clases que reúnan los miembros necesarios para resolver un problema y así implementar el encapsulamiento.
                           Encapsulación (20992 bytes)
                           Ejercicios de métodos (49917 bytes)
                          
                   2.1.5. Identificar el tiempo de vida de las variables al instanciar un objeto.
                           Constructores y destructores (120966 bytes)
                           Métodos constructores (434042 bytes)
                           http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/clases1/clases.htm#La vida de un objeto
                          
                   2.1.6. Identificar la estructura de un método y crear una aplicación que permita su uso en la resolución de problemas específicos.
                           http://profesores.fi-b.unam.mx/carlos/java/java_basico4_2.html
                          
                   2.1.7. Crear aplicaciones que contengan métodos sobrecargados y probar la utilidad de dichos métodos. Elaborar reporte de prácticas.
                           Sobrecarga de costructores (25088 bytes)
                           Sobrecarga de métodos (11710 bytes)
                          
3. Herencia
          3.1. Identifica y aplica relaciones de herencia en clases derivadas para reutilizar los miembros de una clase base en el desarrollo de aplicaciones.
                   3.1.1. Elaborar un cuadro sinóptico en donde se muestren las definiciones de herencia y su clasificación.
                           Clase base (139948 bytes)
                           Planeación Didáctica Unidad 3 (35157 bytes)
                           Herencia múltiple (383488 bytes)
                          
                   3.1.2. Identificar los atributos y comportamientos propios de una especie que comparten los animales pertenecientes a ella.
                           Redefinición de clases derivadas (58142 bytes)
                           Clase Base (139948 bytes)
                           Clase derivada (708407 bytes)
                          
                   3.1.3. Identificar los atributos y comportamientos propios de una categoría de objetos que compartan todos sus miembros.
                           Clase Derivada (708407 bytes)
                           Super (136521 bytes)
                          
                   3.1.4. Crear aplicaciones que manejen el concepto de herencia implementando redefinición de constructores y métodos. Elaborar un reporte de prácticas.
                           Ejemplos
                          
4. Polimorfismo
          4.1. Aplica el concepto de polimorfismo para la definición de clases abstractas e interfaces que permitan reutilización de código.
                   4.1.1. Identificar clases base que no requieren ser instanciadas o que carezcan de sentido para ello por ser abstractas y discutirlas en clase.
                           Polimorfismo (69021 bytes)
                           Planeación Didáctica Unidad 4 (35322 bytes)
                           Clases abstractas (91529 bytes)
                          
                   4.1.2. Investigar en fuentes de información los conceptos y reglas para implementar clases abstractas en un programa y hacer un resumen.
                           http://www.mundojava.net/interfaces.html?Pg=java_inicial_4_5.html
                          
                   4.1.3. Crear una aplicación donde se maneje herencia de interfaces para especializar los comportamientos que las clases podrán implementar.
                           Interfaces (364622 bytes)
                           http://codejavu.blogspot.mx/2013/05/interfaces-en-java.html
                          
                   4.1.4. Crear una aplicación donde se declaren variables miembro de tipo clase abstracta o interfaz para que en tiempo de ejecución se inicialice con diferentes subtipos o implementaciones de las mismas y se demuestra así toda la flexibilidad del polimorfism
                          
5. Excepciones
          5.1. Comprende y aplica las condiciones apropiadas para evitar los errores que pueden interrumpir el flujo normal de ejecución de un programa a través del manejo de excepciones.
                   5.1.1. Investigar los tipos de excepciones predefinidas en fuentes de información diversas incluyendo el API
                           Planeación Didáctica Unidad 5 (33648 bytes)
                           Sintaxis (64216 bytes)
                          
                   5.1.2. Crear una aplicación que deliberadamente genere excepciones comunes para identificar: sus nombres, sus causas, su comportamiento y reporte de error.
                           Manejo de Excepciones (99328 bytes)
                          
                   5.1.3. Crear una aplicación que maneje una clase con varios métodos invocandose en cadenas, donde el último método genere una excepción para estudiar y comprender la propagación de las mismas.
                           Excepciones Definidas (62023 bytes)
                          
                   5.1.4. Crear una aplicación que utilicen la selectiva try para atrapar excepciones de diferentes tipos y prevenir la interrupción de ejecución de un programa.
                          
                   5.1.5. Analizar situaciones en las que un método no pueda devolver un valor de retorno como indicador de un error interno y tenga la necesidad de levantar una excepción por el usuario que le indique que su función no pudo ser realizada.
                          
                   5.1.6. Crear una aplicación que permita el lanzamiento de excepciones definidas por el lenguaje para situaciones en donde no es posible regresar un valor desde un método que indique una condición de error interna.
                          
                   5.1.7. Crear una aplicación que implemente un nuevo tipo de excepción definida por el usuario heredado de la clase base de las excepciones o alguna otra ya definida por el lenguaje que mas se aproxime al comportamiento deseado del usuario. Elaborar reporte.
                          
6. Flujos y Archivos
          6.1. Comprende y aplica la clasificación de archivos y operaciones básicas sobre éstos para manipular su información.
                   6.1.1. Investigar en fuentes de información los conceptos y metodologías para manipular archivos de texto y binarios en un lenguaje de programación orientado a objetos y hacer un resumen.
                           Planeación Didáctica Unidad 6 (34450 bytes)
                           Archivos binarios (99840 bytes)
                           Archivos de texto (119808 bytes)
                          
                   6.1.2. Crear una aplicación que maneje un archivo de texto y sus operaciones básicas.
                           Ejemplo de lectura (26112 bytes)
                           Archivos de texto lectura (19030 bytes)
                           Operaciones de Archivos (378878 bytes)
                           Lectura Escritura (67584 bytes)
                          
                   6.1.3. Crear una aplicación que maneje un archivo binario y sus operaciones básicas
                           Archivos binarios lectura (19415 bytes)
                           http://puntocomnoesunlenguaje.blogspot.mx/2013/05/ficheros-binarios-en-java.html
                          
                   6.1.4. Elaborar un reporte de prácticas.
                          

Prácticas de Laboratorio (20232024P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera
2 A 1.1.1 Investigar en diversas fuentes los conceptos principales del paradigma orientado a objetos para elaborar un resumen. 2024-01-29 ISIC-2010-224
2 A 1.1.2 Identificar ejemplos de la vida real donde se manifiesten dichos conceptos y comentarlos en clase. 2024-02-01 ISIC-2010-224
2 A 1.1.3 Redactar una definición propia de los conceptos de forma simple y entendible. 2024-02-08 ISIC-2010-224
2 A 1.1.4 Construir diagramas de clases aplicados a distintos problemas utilizando un software adecuado e identificar las herramientas de representación utilizadas, elaborar un reporte. 2024-02-12 ISIC-2010-224
2 A 2.1.1 Realiza actividades grupales para que el alumno identifique mediante la abstracción las características y comportamientos de su entorno. 2024-02-15 ISIC-2010-224
2 A 2.1.2 Diseñar diagramas de clases relacionados a objetos de su entorno considerando únicamente la identificación de atributos del objeto e implementar las clases en un lenguaje de programación orientado a objetos. 2024-02-19 ISIC-2010-224
2 A 2.1.3 Diseñar diagramas de clases protegiendo los datos con modificadores de acceso privado o protegido y agregar métodos públicos para obtener acceso seguro a los mismos. 2024-02-22 ISIC-2010-224
2 A 2.1.4 Crear las clases que reúnan los miembros necesarios para resolver un problema y así implementar el encapsulamiento. 2024-02-22 ISIC-2010-224
2 A 2.1.5 Identificar el tiempo de vida de las variables al instanciar un objeto. 2024-02-26 ISIC-2010-224
2 A 2.1.6 Identificar la estructura de un método y crear una aplicación que permita su uso en la resolución de problemas específicos. 2024-02-29 ISIC-2010-224
2 A 2.1.7 Crear aplicaciones que contengan métodos sobrecargados y probar la utilidad de dichos métodos. Elaborar reporte de prácticas. 2024-02-29 ISIC-2010-224
2 A 3.1.1 Elaborar un cuadro sinóptico en donde se muestren las definiciones de herencia y su clasificación. 2024-03-04 ISIC-2010-224
2 A 3.1.2 Identificar los atributos y comportamientos propios de una especie que comparten los animales pertenecientes a ella. 2024-03-07 ISIC-2010-224
2 A 3.1.3 Identificar los atributos y comportamientos propios de una categoría de objetos que compartan todos sus miembros. 2024-03-11 ISIC-2010-224
2 A 3.1.4 Crear aplicaciones que manejen el concepto de herencia implementando redefinición de constructores y métodos. Elaborar un reporte de prácticas. 2024-03-14 ISIC-2010-224
2 A 4.1.1 Identificar clases base que no requieren ser instanciadas o que carezcan de sentido para ello por ser abstractas y discutirlas en clase. 2024-04-08 ISIC-2010-224
2 A 4.1.1 Identificar clases base que no requieren ser instanciadas o que carezcan de sentido para ello por ser abstractas y discutirlas en clase. 2024-04-11 ISIC-2010-224
2 A 4.1.2 Investigar en fuentes de información los conceptos y reglas para implementar clases abstractas en un programa y hacer un resumen. 2024-04-15 ISIC-2010-224
2 A 4.1.3 Crear una aplicación donde se maneje herencia de interfaces para especializar los comportamientos que las clases podrán implementar. 2024-04-18 ISIC-2010-224
2 A 4.1.3 Crear una aplicación donde se maneje herencia de interfaces para especializar los comportamientos que las clases podrán implementar. 2024-04-22 ISIC-2010-224
2 A 4.1.4 Crear una aplicación donde se declaren variables miembro de tipo clase abstracta o interfaz para que en tiempo de ejecución se inicialice con diferentes subtipos o implementaciones de las mismas y se demuestra así toda la flexibilidad del polimorfism 2024-04-25 ISIC-2010-224
2 A 5.1.1 Investigar los tipos de excepciones predefinidas en fuentes de información diversas incluyendo el API 2024-04-25 ISIC-2010-224
2 A 5.1.2 Crear una aplicación que deliberadamente genere excepciones comunes para identificar: sus nombres, sus causas, su comportamiento y reporte de error. 2024-04-29 ISIC-2010-224
2 A 5.1.3 Crear una aplicación que maneje una clase con varios métodos invocandose en cadenas, donde el último método genere una excepción para estudiar y comprender la propagación de las mismas. 2024-04-29 ISIC-2010-224
2 A 5.1.4 Crear una aplicación que utilicen la selectiva try para atrapar excepciones de diferentes tipos y prevenir la interrupción de ejecución de un programa. 2024-05-02 ISIC-2010-224
2 A 5.1.5 Analizar situaciones en las que un método no pueda devolver un valor de retorno como indicador de un error interno y tenga la necesidad de levantar una excepción por el usuario que le indique que su función no pudo ser realizada. 2024-05-02 ISIC-2010-224
2 A 5.1.6 Crear una aplicación que permita el lanzamiento de excepciones definidas por el lenguaje para situaciones en donde no es posible regresar un valor desde un método que indique una condición de error interna. 2024-05-02 ISIC-2010-224
2 A 5.1.7 Crear una aplicación que implemente un nuevo tipo de excepción definida por el usuario heredado de la clase base de las excepciones o alguna otra ya definida por el lenguaje que mas se aproxime al comportamiento deseado del usuario. Elaborar reporte. 2024-05-09 ISIC-2010-224
2 A 6.1.1 Investigar en fuentes de información los conceptos y metodologías para manipular archivos de texto y binarios en un lenguaje de programación orientado a objetos y hacer un resumen. 2024-05-09 ISIC-2010-224
2 A 6.1.2 Crear una aplicación que maneje un archivo de texto y sus operaciones básicas. 2024-05-13 ISIC-2010-224
2 A 6.1.3 Crear una aplicación que maneje un archivo binario y sus operaciones básicas 2024-05-16 ISIC-2010-224
2 A 6.1.4 Elaborar un reporte de prácticas. 2024-05-16 ISIC-2010-224
2 B 1.1.1 Investigar en diversas fuentes los conceptos principales del paradigma orientado a objetos para elaborar un resumen. 2024-01-29 ISIC-2010-224
2 B 1.1.2 Identificar ejemplos de la vida real donde se manifiesten dichos conceptos y comentarlos en clase. 2024-01-31 ISIC-2010-224
2 B 1.1.3 Redactar una definición propia de los conceptos de forma simple y entendible. 2024-02-07 ISIC-2010-224
2 B 1.1.4 Construir diagramas de clases aplicados a distintos problemas utilizando un software adecuado e identificar las herramientas de representación utilizadas, elaborar un reporte. 2024-02-12 ISIC-2010-224
2 B 2.1.1 Realiza actividades grupales para que el alumno identifique mediante la abstracción las características y comportamientos de su entorno. 2024-02-14 ISIC-2010-224
2 B 2.1.2 Diseñar diagramas de clases relacionados a objetos de su entorno considerando únicamente la identificación de atributos del objeto e implementar las clases en un lenguaje de programación orientado a objetos. 2024-02-19 ISIC-2010-224
2 B 2.1.3 Diseñar diagramas de clases protegiendo los datos con modificadores de acceso privado o protegido y agregar métodos públicos para obtener acceso seguro a los mismos. 2024-02-21 ISIC-2010-224
2 B 2.1.4 Crear las clases que reúnan los miembros necesarios para resolver un problema y así implementar el encapsulamiento. 2024-02-26 ISIC-2010-224
2 B 2.1.5 Identificar el tiempo de vida de las variables al instanciar un objeto. 2024-02-28 ISIC-2010-224
2 B 2.1.6 Identificar la estructura de un método y crear una aplicación que permita su uso en la resolución de problemas específicos. 2024-03-04 ISIC-2010-224
2 B 2.1.7 Crear aplicaciones que contengan métodos sobrecargados y probar la utilidad de dichos métodos. Elaborar reporte de prácticas. 2024-03-04 ISIC-2010-224
2 B 3.1.1 Elaborar un cuadro sinóptico en donde se muestren las definiciones de herencia y su clasificación. 2024-03-06 ISIC-2010-224
2 B 3.1.2 Identificar los atributos y comportamientos propios de una especie que comparten los animales pertenecientes a ella. 2024-03-06 ISIC-2010-224
2 B 3.1.3 Identificar los atributos y comportamientos propios de una categoría de objetos que compartan todos sus miembros. 2024-03-11 ISIC-2010-224
2 B 3.1.4 Crear aplicaciones que manejen el concepto de herencia implementando redefinición de constructores y métodos. Elaborar un reporte de prácticas. 2024-03-13 ISIC-2010-224
2 B 4.1.1 Identificar clases base que no requieren ser instanciadas o que carezcan de sentido para ello por ser abstractas y discutirlas en clase. 2024-04-08 ISIC-2010-224
2 B 4.1.2 Investigar en fuentes de información los conceptos y reglas para implementar clases abstractas en un programa y hacer un resumen. 2024-04-10 ISIC-2010-224
2 B 4.1.3 Crear una aplicación donde se maneje herencia de interfaces para especializar los comportamientos que las clases podrán implementar. 2024-04-15 ISIC-2010-224
2 B 4.1.4 Crear una aplicación donde se declaren variables miembro de tipo clase abstracta o interfaz para que en tiempo de ejecución se inicialice con diferentes subtipos o implementaciones de las mismas y se demuestra así toda la flexibilidad del polimorfism 2024-04-17 ISIC-2010-224
2 B 4.1.4 Crear una aplicación donde se declaren variables miembro de tipo clase abstracta o interfaz para que en tiempo de ejecución se inicialice con diferentes subtipos o implementaciones de las mismas y se demuestra así toda la flexibilidad del polimorfism 2024-04-22 ISIC-2010-224
2 B 5.1.1 Investigar los tipos de excepciones predefinidas en fuentes de información diversas incluyendo el API 2024-04-22 ISIC-2010-224
2 B 5.1.2 Crear una aplicación que deliberadamente genere excepciones comunes para identificar: sus nombres, sus causas, su comportamiento y reporte de error. 2024-04-24 ISIC-2010-224
2 B 5.1.3 Crear una aplicación que maneje una clase con varios métodos invocandose en cadenas, donde el último método genere una excepción para estudiar y comprender la propagación de las mismas. 2024-04-24 ISIC-2010-224
2 B 5.1.4 Crear una aplicación que utilicen la selectiva try para atrapar excepciones de diferentes tipos y prevenir la interrupción de ejecución de un programa. 2024-04-24 ISIC-2010-224
2 B 5.1.5 Analizar situaciones en las que un método no pueda devolver un valor de retorno como indicador de un error interno y tenga la necesidad de levantar una excepción por el usuario que le indique que su función no pudo ser realizada. 2024-04-24 ISIC-2010-224
2 B 5.1.6 Crear una aplicación que permita el lanzamiento de excepciones definidas por el lenguaje para situaciones en donde no es posible regresar un valor desde un método que indique una condición de error interna. 2024-04-24 ISIC-2010-224
2 B 5.1.7 Crear una aplicación que implemente un nuevo tipo de excepción definida por el usuario heredado de la clase base de las excepciones o alguna otra ya definida por el lenguaje que mas se aproxime al comportamiento deseado del usuario. Elaborar reporte. 2024-04-24 ISIC-2010-224
2 B 6.1.1 Investigar en fuentes de información los conceptos y metodologías para manipular archivos de texto y binarios en un lenguaje de programación orientado a objetos y hacer un resumen. 2024-04-29 ISIC-2010-224
2 B 6.1.2 Crear una aplicación que maneje un archivo de texto y sus operaciones básicas. 2024-05-08 ISIC-2010-224
2 B 6.1.3 Crear una aplicación que maneje un archivo binario y sus operaciones básicas 2024-05-08 ISIC-2010-224
2 B 6.1.4 Elaborar un reporte de prácticas. 2024-05-13 ISIC-2010-224

Temas para Segunda Reevaluación