Syllabus

SCD-1027 TOPICOS AVANZADOS DE PROGRAMACION

DR. JOSE MANUEL LIRA TURRIZA

jmlira@itescam.edu.mx

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

Prerrequisitos
PROGRAMACION.
  1. Diseñar objetos de programación que permitan resolver situaciones reales y de ingeniería
  2. Implementar objetos programados en la resolución de situaciones reales y de ingeniería
ESTRUCTURA DE DATOS.
  1. Búsqueda para la optimización del rendimiento de soluciones de problemas del mundo real.
  2. Comprender la complejidad de los algoritmos e identificar la eficiencia de los mismos.

Competencias Atributos de Ingeniería

Normatividad
  1. Cumplir con todos los trabajajos marcados en clases y extraclases.
  2. Participar en el salón de clases cuando se le requiera.
  3. Tener el mínimo de asistencias requerido por la subdirección académica (80%)

Materiales
J2SDK Compilador de java.
Problemario de la asignatura

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 2.1.6
PARCIAL 2 De la actividad 3.1.1 a la actividad 5.1.5

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Interfaz Gráfica de Usuario
          1.1. Desarrolla programas para interactuar con el usuario de una manera amigable, utilizando GUI (Interfaz Gráfica de Usuario) manipuladas a través de eventos.
                   1.1.1. Realizar investigación sobre las distintas plataformas de desarrollo visual, elaborar un cuadro comparativo de las distintas plataformas, comentarlo en equipos y llegar a una conclusión.
                           Eventos ( bytes)
                           Manual de Prácticas ( bytes)
                          
                   1.1.2. Realizar una investigación sobre los requerimientos que debe de cumplir una interfaz gráfica, elaborar un cuadro sinóptico de dichos requerimientos y presentarlos en clase
                           Desarrollo e identificación de eventos ( bytes)
                          
                   1.1.3. Realizar prácticas que permitan familiarizarse con el desarrollo de GUI y elaborar su correspondiente reporte.
                           Métodos de control de eventos ( bytes)
                          
                   1.1.4. Realizar una investigación sobre la programación orientada a eventos, elaborar un cuadro sinóptico y analizarlo en el grupo buscando llegar a conclusiones
                           MouseEvent ( bytes)
                          
                   1.1.5. Partiendo de casos de estudio plantear soluciones e identificar cuáles son los eventos que se involucran, discutiendo los resultados en grupo.
                           Patrones para eventos ( bytes)
                          
                   1.1.6. Realizar aplicaciones simples que involucren los eventos de Mouse, y elaborar su correspondiente reporte.
                           JavaBeans ( bytes)
                          
                   1.1.7. Realizar prácticas que permitan definir nuevos eventos, asociarlos con funciones y elaborar su correspondiente reporte.
                          
                   1.1.8. Seleccionar un proyecto integrador para trabajar en el transcurso del semestre.
                          
2. Componentes y bibliotecas
          2.1. Diseña e implementa componentes y bibliotecas para lograr la reutilización de código.
                   2.1.1. Realizar una investigación sobre los componentes visuales y no visuales, de las diferentes IDE’S, elaborando un cuadro comparativo, seleccionando una de ellas, justificando el por qué se eligió.
                           Componentes y Bibliotecas ( bytes)
                          
                   2.1.2. Realizar prácticas que permitan familiarizarse con el uso de los componentes y elaborar su correspondiente reporte.
                           Uso de Componentes y bibliotecas ( bytes)
                           Creación de Aplicaciones gráficas con MVC ( bytes)
                          
                   2.1.3. Realizar una investigación sobre la forma de crear nuevos componentes, elaborando un mapa de secuencias, discutirlo en plenaria.
                           Paquetes en Java ( bytes)
                          
                   2.1.4. Presentar los avances de los proyectos al grupo que incluyan GUI, eventos, componentes y librerías para enriquecerlos con las opiniones del docente y de los estudiantes.
                           Creación de Interfaz Gráfica de Usuario ( bytes)
                           Creación de Paquetes ( bytes)
                          
                   2.1.5. *Presentar problemas y analizarlos de forma grupal para proponer soluciones y seleccionar la mas factible
                           Computación Gráfica ( bytes)
                           Paquetes ( bytes)
                          
                   2.1.6. *Presentar los avances de los proyectos al grupo para enriquecerlos con las opiniones de maestro y de los estudiantes.
                           Creación de aplicaciones GUI ( bytes)
                           Bibliotecas Estáticas ( bytes)
                          
3. Programación concurrente (Multihilos)
          3.1. Crea subprogramas para resolver problemas concurrentes utilizando Multihilos.
                   3.1.1. Realizar una investigación sobre los conceptos fundamentales de la programación concurrente, elaborar preguntas guías y participar en la discusión grupal.
                           Hilos en Java ( bytes)
                          
                   3.1.2. Realizar prácticas que utilicen hilos para solucionar problemas que lo requieran y elaborar su reporte correspondiente.
                           Programas de flujo único y flujo múltiple ( bytes)
                          
                   3.1.3. Realizar una investigación sobre los problemas más comunes en las aplicaciones multihilos y la forma de resolverlos, utilizando organizadores gráficos para representar el conocimiento y discutirlo en equipos.
                           Sincronización de hilos ( bytes)
                          
                   3.1.4. Presentar los avances de los proyectos al grupo que incluyan GUI, eventos, componentes, librerías e hilos, para enriquecerlos con las opiniones del docente y de los estudiantes.
                           Creación de Componentes ( bytes)
                           Java Threads. Flujo de control en programas ( bytes)
                          
4. Acceso a datos
          4.1. Establece conexiones a diferentes orígenes de datos para su manipulación y visualización de información.
                   4.1.1. Investigar en fuentes diversas de información los diferentes proveedores para el acceso a datos desde una aplicación, elaborar un cuadro comparativo, comentándolo en plenaria, obteniendo una conclusión.
                           Acceso a datos con DAO ( bytes)
                          
                   4.1.2. Realizar prácticas que permitan la conexión, manipulación y visualización de los datos y elaborar su reporte correspondiente.
                           JDBC ( bytes)
                          
5. Programación de Dispositivos Móviles
          5.1. Desarrollar aplicaciones básicas para dispositivos móviles, considerando su entorno operativo.
                   5.1.1. Realizar una investigación sobre los diversos tipos de dispositivos móviles que existen en la actualidad y que tienen mayor impacto en el mercado, por lo tanto en la sociedad, elaborar cuadro comparativo, discutirlo en plenaria y elaborar un resumen.
                           Introducción ( bytes)
                          
                   5.1.2. Investigar sobre los diferentes entornos de desarrollo de aplicaciones móviles y analizar de manera grupal las ventajas y desventajas que cada uno de ellos presenta, elaborar un mapa mental.
                           Dispositivos Móviles ( bytes)
                           JAVA a tope: J2ME (JAVA 2 MicroEdition). Edición Electrónica. Sergio Galvez Rojas, Lucas Ortega Díaz. Universidad de Málaga.
                          
                   5.1.3. Tomando como base la investigación de entornos de desarrollo elegir de manera grupal dos entornos de desarrollo a utilizar en clase.
                           Android : aprende desde cero a crear aplicaciones. Lujan Castillo, José Dimas. Pag. 8-22
                          
                   5.1.4. Desarrollar aplicaciones en dispositivos móviles que tengan acceso, manipulación y visualización de datos, elaborar la documentación.
                           Android : aprende desde cero a crear aplicaciones. Lujan Castillo, José Dimas. Pag. 28-37
                          
                   5.1.5. Desarrollar e implementar aplicaciones móviles que utilicen algún tipo de conectividad (Wi-Fi, Bluetooth, etc.) y presentarla en plenaria.
                          

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

Cronogramas (20252026P)
Grupo Actividad Fecha Carrera
4 A 1.1.1 Realizar investigación sobre las distintas plataformas de desarrollo visual, elaborar un cuadro comparativo de las distintas plataformas, comentarlo en equipos y llegar a una conclusión. 2026-01-26 ISIC-2010-224
4 A 1.1.1 Realizar investigación sobre las distintas plataformas de desarrollo visual, elaborar un cuadro comparativo de las distintas plataformas, comentarlo en equipos y llegar a una conclusión. 2026-01-28 ISIC-2010-224
4 A 1.1.2 Realizar una investigación sobre los requerimientos que debe de cumplir una interfaz gráfica, elaborar un cuadro sinóptico de dichos requerimientos y presentarlos en clase 2026-01-30 ISIC-2010-224
4 A 1.1.2 Realizar una investigación sobre los requerimientos que debe de cumplir una interfaz gráfica, elaborar un cuadro sinóptico de dichos requerimientos y presentarlos en clase 2026-02-04 ISIC-2010-224
4 A 1.1.3 Realizar prácticas que permitan familiarizarse con el desarrollo de GUI y elaborar su correspondiente reporte. 2026-02-06 ISIC-2010-224
4 A 1.1.4 Realizar una investigación sobre la programación orientada a eventos, elaborar un cuadro sinóptico y analizarlo en el grupo buscando llegar a conclusiones 2026-02-09 ISIC-2010-224
4 A 1.1.5 Partiendo de casos de estudio plantear soluciones e identificar cuáles son los eventos que se involucran, discutiendo los resultados en grupo. 2026-02-11 ISIC-2010-224
4 A 1.1.6 Realizar aplicaciones simples que involucren los eventos de Mouse, y elaborar su correspondiente reporte. 2026-02-13 ISIC-2010-224
4 A 1.1.7 Realizar prácticas que permitan definir nuevos eventos, asociarlos con funciones y elaborar su correspondiente reporte. 2026-02-20 ISIC-2010-224
4 A 1.1.8 Seleccionar un proyecto integrador para trabajar en el transcurso del semestre. 2026-02-23 ISIC-2010-224
4 A 2.1.1 Realizar una investigación sobre los componentes visuales y no visuales, de las diferentes IDE’S, elaborando un cuadro comparativo, seleccionando una de ellas, justificando el por qué se eligió. 2026-02-25 ISIC-2010-224
4 A 2.1.2 Realizar prácticas que permitan familiarizarse con el uso de los componentes y elaborar su correspondiente reporte. 2026-02-27 ISIC-2010-224
4 A 2.1.3 Realizar una investigación sobre la forma de crear nuevos componentes, elaborando un mapa de secuencias, discutirlo en plenaria. 2026-03-02 ISIC-2010-224
4 A 2.1.4 Presentar los avances de los proyectos al grupo que incluyan GUI, eventos, componentes y librerías para enriquecerlos con las opiniones del docente y de los estudiantes. 2026-03-04 ISIC-2010-224
4 A 2.1.5 *Presentar problemas y analizarlos de forma grupal para proponer soluciones y seleccionar la mas factible 2026-03-04 ISIC-2010-224
4 A 2.1.6 *Presentar los avances de los proyectos al grupo para enriquecerlos con las opiniones de maestro y de los estudiantes. 2026-03-06 ISIC-2010-224
4 A 3.1.1 Realizar una investigación sobre los conceptos fundamentales de la programación concurrente, elaborar preguntas guías y participar en la discusión grupal. 2026-04-13 ISIC-2010-224
4 A 3.1.2 Realizar prácticas que utilicen hilos para solucionar problemas que lo requieran y elaborar su reporte correspondiente. 2026-04-15 ISIC-2010-224
4 A 3.1.3 Realizar una investigación sobre los problemas más comunes en las aplicaciones multihilos y la forma de resolverlos, utilizando organizadores gráficos para representar el conocimiento y discutirlo en equipos. 2026-04-17 ISIC-2010-224
4 A 3.1.4 Presentar los avances de los proyectos al grupo que incluyan GUI, eventos, componentes, librerías e hilos, para enriquecerlos con las opiniones del docente y de los estudiantes. 2026-04-20 ISIC-2010-224
4 A 4.1.1 Investigar en fuentes diversas de información los diferentes proveedores para el acceso a datos desde una aplicación, elaborar un cuadro comparativo, comentándolo en plenaria, obteniendo una conclusión. 2026-04-22 ISIC-2010-224
4 A 4.1.2 Realizar prácticas que permitan la conexión, manipulación y visualización de los datos y elaborar su reporte correspondiente. 2026-04-24 ISIC-2010-224
4 A 5.1.1 Realizar una investigación sobre los diversos tipos de dispositivos móviles que existen en la actualidad y que tienen mayor impacto en el mercado, por lo tanto en la sociedad, elaborar cuadro comparativo, discutirlo en plenaria y elaborar un resumen. 2026-04-29 ISIC-2010-224
4 A 5.1.2 Investigar sobre los diferentes entornos de desarrollo de aplicaciones móviles y analizar de manera grupal las ventajas y desventajas que cada uno de ellos presenta, elaborar un mapa mental. 2026-05-08 ISIC-2010-224
4 A 5.1.3 Tomando como base la investigación de entornos de desarrollo elegir de manera grupal dos entornos de desarrollo a utilizar en clase. 2026-05-11 ISIC-2010-224

Temas para Segunda Reevaluación