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á: |
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 |