FORMATO Nº 6 PROGRAMA DE ESTUDIOS Universidad Popular Autónoma del Estado de Puebla NOMBRE DE LA INSTITUCIÓN PROGRAMA ACADÉMICO ASIGNATURA NIVEL EDUCATIVO MODALIDAD Ingeniería de Software Paradigmas de Programación II Licenciatura ESCOLARIZADA ( X) CLAVE DE LA ASIGNATURA NO ESCOLARIZADA LTI006 () MIXTA ( ) SERIACIÓN CICLO: HORAS CONDUCIDAS 64 HORAS INDEPENDIENTES TOTAL DE HORAS POR CICLO 64 128 CRÉDITOS 8 PROPÓSITOS GENERALES DE LA ASIGNATURA 1. CONCEPTUALES (SABER) Reconoce los conceptos de Programación Orientada a Objetos como una herramienta de creación de Software, utilizando la descomposición orientada a objetos y sus conceptos fundamentales y con ello resolver problemas lógico-matemáticos por medio de una computadora. 2. PROCEDIMENTALES (SABER HACER) Programa modelos lógicos usando las directrices definidas en la fase de análisis y diseño orientado a objetos para ser construidos en programas de software que ofrecen soluciones a cualquier área de aplicación. 3. ACTITUDINALES Y VALORALES (SER/ESTAR) Aborda la solución de problemas desde la perspectiva de un análisis lógico Orientado a Objetos para así poder enfrentar los diferentes retos que su profesión le impone. COMPETENCIAS DE LA ASIGNATURA Reconoce su capacidad de abstraer los problemas de su entorno y los convierte en un programa de software empleando el Paradigma Orientado a Objetos. Genera programas de software aplicando una solución en las diferentes áreas de informática Se conoce y valora a sí mismo y aborda problemas y retos teniendo en cuenta los objetivos que persigue. Propone soluciones concretas de software a problemas a partir de su fundamentación lógica. El alumno: Entiende la Programación Orientada a objetos para la creación de programas. Reconoce la estructura fundamental del Modelo de objetos. Programa objetos de software basados en abstracciones y modelos orientados a objetos. Conoce las herramientas de desarrollo de software que facilitan la creación de HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: - 1 DE 7 Ingeniería de Software Paradigmas de Programación II programas orientados a objetos. Desarrolla programas de software aplicables a cualquier área de informática. TEMAS Y SUBTEMAS PROPÓSITOS DE LOS TEMAS Y SUBTEMAS 1. Fundamentos de Java 1.1. Paquetes 1.2. Recolector de Basura 1.3. Javadoc 1.4. Operadores 1.5. Estándar de Codificación 1.6. Archivos .jar Reconoce los Conceptos fundamentales del Lenguaje Java por medio de la exposición de los elementos propios de la infraestructura de Java para poder programar Objetos de Software de forma más eficiente. 2. Programación de Objetos 2.1. Programación Orientada a Objetos 2.2. Abstracción 2.3. Creación de una clase 2.3.1. Atributos 2.3.2. Operaciones 2.3.3. Constructores 2.4. Sobrecarga 2.5. Manejo de la información Construye Objetos Java individuales observando los conceptos fundamentales asociados de las clases y objetos para desarrollar Unidades Auto contenidas de datos y código que manipula ese código. 3. Interacciones de Objetos 3.1. Modularidad 3.2. Agregaciones 3.3. Dependencias 3.4. Static 3.5. Variables 3.6. Métodos 3.7. this Construye Relaciones entre objetos Java utilizando los conceptos de modularidad y Jerarquía de Agregación, para crear objetos que cooperen en la solución de un problema. 4. Extensión de Objetos 4.1. Herencia de Tipo 4.1.1. Herencia 4.1.2. Sobreimposición 4.1.3. super 4.1.4. Acceso protected 4.1.5. Casting 4.1.5.1. DownCast 4.1.5.2. Upcast 4.1.6. Clase Object 4.1.7. Clases Abstractas 4.1.8. final 4.1.8.1. Variables 4.1.8.2. Métodos 4.1.8.3. Clases 4.1.9. Herencia de Interfaz 4.2. Implements Construye relaciones entre objetos Java utilizando las relaciones de Jerarquía de Herencia e implementación, para crear objetos reusables que utilicen la infraestructura de java para proponer la solución de un problema a través de un programa. HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 2 DE 7 Ingeniería de Software Paradigmas de Programación II 5. Colecciones de Objetos 5.1. Collecciones 5.2. Arreglos 5.3. Vectores 5.4. Programación genérica Usa las colecciones de objetos para agrupar una serie de objetos bajo una misma entidad y así producir programas Java que hagan eficiente el uso de los recursos. 6. Objetos Gráficos 6.1. Java 1.0 6.2. Abstract Windowing Toolkit (awt) 6.3. Contexto Gráfico 6.4. Clase Graphics 6.5. Objetos graficos 6.5.1. Color 6.5.2. Font 6.6. Java 1.2 6.6.1. Graphics 2D Construye programas con capacidad gráfica utilizando la arquitectura de gráficos de Java para poder expresar información de forma visual. 7. Objetos de Interfaz 7.1. Conceptos Básicos 7.1.1. Componentes 7.1.2. Contenedores 7.2. Administradores de diseño 7.3. Modelo 1.0 7.3.1. Evento 7.4. Clases Internas 7.5. Modelo 1.2 7.5.1. Eventos 7.5.2. Listeners 7.6. Swing 7.7. Applets Construye interfaces de usuario efectivas utilizando las arquitecturas proporcionadas por Java (AWT y Swing) para programar aplicaciones que interactúen de forma eficiente con sus usuarios finales. 8. Objetos de Error 8.1. Modelos de Error 8.2. Excepciones 8.2.1. Lanzamiento de una excepción 8.2.2. Excepciones comprobadas 8.2.3. Relanzando la excepción 8.3. Vaciado de Pila 8.4. Programando excepciones Resuelve los problemas generados por su aplicación empleando el modelo de Excepción proporcionado por Java para producir programas robustos y estables que no fallen al ser distrbuidos. 9. Objetos Concurrentes 9.1. Procesos 9.2. Modelo Concurrente 9.3. Creación de Hilos 9.4. Implementación de hilos 9.5. Prioridades 9.6. Hilos Deamon 9.7. Sincronización de hilos Construye aplicaciones realizan tareas simultáneas utilizando la capacidad multitarea de Java para producir programas rápidos y que aprovechen al máximo los recursos de la computadora. HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 3 DE 7 Ingeniería de Software Paradigmas de Programación II 9.8. Grupo de Hilos 10. Objetos de Flujo 10.1. Streams (flujos) 10.2. Flujos de Caracteres 10.3. Flujos de Bytes 10.4. Fljos en Buffer 10.5. Flujos de Datos 10.6. Flujos estándar 10.7. Otros flujos Usa el almacenamiento físico de la computadora usando la arquitectura de flujos de Java para producir programas que preservan información de forma permanente. METODOLOGÍA CON LA QUE SE VA A DESARROLLAR LA ASIGNATURA ESTRATEGIAS DE ACTIVIDADES DE ESTRATEGIAS DE ENSEÑANZA APRENDIZAJE EVALUACIÓN. NORMAS Y PROCEDIMIENTOS - - - - - - La exposición progresiva del conocimiento, introduciendo conocimientos nuevos con cada tema expuesto. Elaboración de Mapas conceptuales guía con el orden del aprendizaje propuesto. Motivar el intercambio de ideas de las estrategias que usaron en la programación de soluciones. Motivar el estudio de problemas en su entorno y la factibilidad de obtener una solución programable. Generación de situaciones problemáticas (necesidades) que posibiliten, desarrollen y motiven al alumno a la búsqueda del conocimiento. Responsabilidades compartidas Uso de guías y rúbricas Uso de guías temáticas para los exámenes - Análisis de problemas, identificando posibles soluciones y expresándolas a través del desarrollo de programas. - Buscar e identificar problemas o tareas del entorno que puedan solucionarse a través de la computadora programándolas para ello. - Elaboración conceptuales. - La observación y corrección entre pares de los programas. Trabajo individual y en equipo en la creación de programas en lenguaje C Auto diagnóstico de conocimientos y habilidades. - de Mapas Observar un comportamiento decente, evitar lenguaje obsceno y respetar el reglamento académico vigente. Entregar tareas, algoritmos, programas y resultados de programas en tiempo y forma. Las evaluaciones tienen como finalidad evaluar el manejo de la información vista durante el curso Las participaciones incluyen los foros de discusión, los chats, participación en clases y aportaciones al grupo . Los trabajos consisten de desarrollo y presentación algoritmos y programas de computadora y serán evaluados mediante rúbricas. Evaluaciones 40% Participación 15% Portafolio de evidencias20% Proyecto final 25% -------Total 100% Mecanismos: Prácticas de laboratorio software de compiladores de lenguaje de programación HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 4 DE 7 Ingeniería de Software Paradigmas de Programación II - - seleccionado Evaluación continua Tareas en forma de programas para entregar. Resolución de casos prácticos, concretos y de interés. Actividades de cierre (Resúmenes, Redes semánticas, mapas conceptuales, etc.). Proyecto Final Exposición del Proyecto Final en un foro a nivel escuela. Normas El alumno deberá leer con precisión el planteamiento del problema solicitado, y, en este estricto Orden, plantear una solución, mediante un algoritmo/diagrama de flujo, codificar el problema completo, compilar y depurar y validar las respuestas contra los caso de prueba propuestos. Los Recursos en línea permiten la entrega individual y temporizada de las actividades, por lo que cada alumno llevará un registro individual de cada una de sus actividades. - RECURSOS DIDÁCTICOS - Recursos en Línea: o Blackboard o Pagina de recursos del Lenguaje Computadora o Compilador del lenguaje o Herramienta de modelado de soluciones Cañón (Proyector) PowerPoint como software de presentación Materiales impresos: libros, artículos, apuntes, etc. Material electrónico: Notas del Profesor, Diagramas de Apoyo Mapas Conceptuales y Mentales, Problemas Resueltos y casos Prácticos. Software para la creación del material. HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 5 DE 7 Ingeniería de Software Paradigmas de Programación II BIBLIOGRAFÍA (IMPRESA O ELECTRÓNICA) FORMATO A.PA. - - Básica Deitel, P.J., Deitel H.M. (2008). Como Programar en Java (7ma Edición). México: Pearson Educación Barker, J. (2005). Beginning Java Objects From Concepts to Code (2da Edición). USA: Apress Complementaria Budd, T. (2011). Introduction to Object-Oriented Programming, An (1ra Edición). USA: Addison Wesley Dale, N., Joyce, D. T., Weems, C. (2011). Object-Oriented Data Structures Using Java (3ra Edición). USA: Jones & Bartlett Learning Wu, C. T. (2008). Programación en Java (1ra Edición). México: McGraw Hill Interamericana Ammeraal, L., Zhang, K. (2007). Computer Graphics for Java Programmers (2da Edición). USA: Wiley Hortsmann, C.S., Cornell G (2006). Core Java 2. Volumen 1: Fundamentos (7ma Edición). España: Pearson Educación Pratdepadua, J. (2006). Programación en 3D con Java 3D (1ra Edición). España: Alfaomega Grupo Editor Barnes, D. J., Köling, M. (2005). Objects First With Java (2da Edición). USA: Pearson Educación Ceballos, F. J. (2005). Java 2 Interfaces Graficas y aplicaciones para Internet (1ra Edición). México: Alfaomega Grupo Editor Martin, R. C. (2004). UML para programadores en Java (1ra Edición). España: Pearson Educación Bell, D., Parr, M. (2002). Java para Estudiantes (3ra Edición). México: Pearson Educación Chan, P. (2002). The Java Developers Almanac 1.4 (1ra Edición). USA: Pearson Educación Eckel, B. (2002). Piensa en Java (2da Edición). España: Pearson Educación Arnold, K., Gosling, J. (2001). El Lenguaje de Programación Java (3ra Edición). España: Pearson Educación Arnow, D., Weiss, G. (2000). Introducción a la Programación Java (1ra Edición). España: Pearson Educación Weiss, M. A. (2000). Estructura de Datos en Java (1ra Edición). México: Pearson Educación Chan, P., Lee, R. (1998). The Java Class Libraries (2da Edición). USA: Addison Wesley / Pearson Educación PERFIL DEL DOCENTE REQUERIDO GRADO ACADÉMICO , CONOCIMIENTOS, HABILIDADES Y ACTITUDES Maestro ó Doctor en Matemáticas y/o tecnología de información y/o comunicación, Ingeniero en sistemas computacionales o Lic. En áreas afines. HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 6 DE 7 Ingeniería de Software Paradigmas de Programación II Con experiencia en diseño y programación de sistemas computacionales en especial del lenguaje de programación C. Con habilidades para el análisis, abstracción y pensamiento lógico, facilidad para el cálculo matemático, expresión verbal y escrita. Con una actitud favorable hacia la investigación y actualización, apertura a nuevos conocimientos y paradigmas, a las relaciones humanas y trabajo en equipo. EXPERIENCIA DOCENTE Experiencia docente mínima de 4 años en nivel superior. Competencias Pedagógicas conocimientos y habilidades didácticas para favorecer el desarrollo del aprendizaje significativas. Competencias comunicativas, saber informar y comunicar el aprendizaje así como utilizar eficientemente los medios de información. Competencias para la orientación Educativa y Profesional. Facilitador del aprendizaje, colaborador, entrenador, tutor, guía y participante en el proceso de aprendizaje. El profesor permite que el estudiante sea más responsable de su propio aprendizaje y le ofrezca diversas opciones. Manejo adecuado de los recursos didácticos y pedagógicos disponibles. EXPERIENCIA PROFESIONAL Experiencia profesional mínima de 2 años. Experiencia en diseño y programación de sistemas computacionales mínima de 3 años.