Syllabus

SCD-1027 TOPICOS AVANZADOS DE PROGRAMACION

DR. JOSE LUIS LIRA TURRIZA

jlira@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
Desarrolla programas para interactuar con el usuario de una manera amigable, utilizando GUI (Interfaz Gráfica de Usuario) manipuladas a través de eventos.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Crea subprogramas para resolver problemas concurrentes utilizando Multihilos.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Desarrollar aplicaciones básicas para dispositivos móviles, considerando su entorno operativo.   Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas
Diseña e implementa componentes y bibliotecas para lograr la reutilización de código.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Establece conexiones a diferentes orígenes de datos para su manipulación y visualización de información.   Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas

Normatividad
  1. Cumplir con todos los trabajajos marcados en clases y extrclases.
  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%)

ACTIVIDADES EN LINEA POR CONTINGENCIA DE SALUD

  • El alumno deberá revisar las tareas en el moodle en el horario de clase asignado
  • Elaboración de la práctica descrita en P1U3A3 Problemas en aplicaciones multihilo descrita en el moodle

Materiales
J2SDK Compilador de java.
Problemario de la asignatura.
Cuenta de Moodle para carga de tareas

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares
Java : Manual de referencia /
Schildt, Herbert.
McGraw-Hill Interamericana,
7a. / 2009.
5
Si
Android : aprende desde cero a crear aplicaciones /
Luján Castillo, José Dimas
Alfaomega,
2015.
1
-
OrCAD PSpice para windows /
Goody, Roy W.
Pearson,
3a. / 2003.
3
-

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 (27022 bytes)
                           Manual de Prácticas (230677 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 (30724 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 (23726 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 (17361 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 (21475 bytes)
                          
                   1.1.6. Realizar aplicaciones simples que involucren los eventos de Mouse, y elaborar su correspondiente reporte.
                           JavaBeans (16920 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 (18492 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 (15112 bytes)
                           Creación de Aplicaciones gráficas con MVC (21247 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 (17294 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 (17380 bytes)
                           Creación de Paquetes (18637 bytes)
                          
                   2.1.5. *Presentar problemas y analizarlos de forma grupal para proponer soluciones y seleccionar la mas factible
                           Computación Gráfica (23487 bytes)
                           Paquetes (15654 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 (15661 bytes)
                           Bibliotecas Estáticas (23507 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 (16676 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 (24521 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 (30686 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 (18637 bytes)
                           Java Threads. Flujo de control en programas (226281 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 (457590 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 (204577 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 (111723 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 (73596 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 (20232024P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20232024P)
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. 2024-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 2024-01-31 ISIC-2010-224
4 A 1.1.3 Realizar prácticas que permitan familiarizarse con el desarrollo de GUI y elaborar su correspondiente reporte. 2024-02-01 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 2024-02-06 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. 2024-02-07 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. 2024-02-08 ISIC-2010-224
4 A 1.1.6 Realizar aplicaciones simples que involucren los eventos de Mouse, y elaborar su correspondiente reporte. 2024-02-14 ISIC-2010-224
4 A 1.1.7 Realizar prácticas que permitan definir nuevos eventos, asociarlos con funciones y elaborar su correspondiente reporte. 2024-02-15 ISIC-2010-224
4 A 1.1.7 Realizar prácticas que permitan definir nuevos eventos, asociarlos con funciones y elaborar su correspondiente reporte. 2024-02-20 ISIC-2010-224
4 A 1.1.8 Seleccionar un proyecto integrador para trabajar en el transcurso del semestre. 2024-02-21 ISIC-2010-224
4 A 1.1.8 Seleccionar un proyecto integrador para trabajar en el transcurso del semestre. 2024-02-22 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ó. 2024-02-27 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. 2024-02-28 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. 2024-02-29 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. 2024-03-05 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. 2024-03-06 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. 2024-03-07 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. 2024-03-12 ISIC-2010-224
4 A 2.1.5 *Presentar problemas y analizarlos de forma grupal para proponer soluciones y seleccionar la mas factible 2024-03-14 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. 2024-03-13 ISIC-2010-224

Temas para Segunda Reevaluación