Syllabus

CIB-2401 TOPICOS DE PROGRAMACIÓN MÓVIL

ING. CARLOS JIMENEZ LOPEZ

cjimenez@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
7 1 4 5 Ingeniería Aplicada

Prerrequisitos
Programación, bases de datos y redes, y se complementa con asignaturas de ingeniería de software y servidores

Competencias Atributos de Ingeniería

Normatividad
Normatividad
Esta normatividad tiene como propósito establecer lineamientos claros y actualizados para el desarrollo de las actividades académicas presenciales, promoviendo un entorno inclusivo, accesible, respetuoso y adaptado a las necesidades del contexto educativo contemporáneo.

Ingreso y Tolerancia de Horario
Los estudiantes deben ingresar al aula en el horario establecido. Se otorga una tolerancia de 10 minutos. En caso de situaciones imprevistas (transporte, salud, etc.), se podrá justificar el retraso o falta mediante documento probatorio. El aviso deberá realizarse por correo institucional o plataforma académica dentro de las primeras 24 horas.

Acceso a Laboratorios de Prácticas
Para ingresar a los laboratorios, se deberá presentar credencial vigente (física o digital). En su defecto, podrá verificarse la identidad mediante otro documento o validación del docente.

Preparación Previa a la Clase
Los estudiantes deberán revisar previamente el material disponible en Syllabus u otra plataforma oficial como Moodle. Este material debe ser accesible, con alternativas en caso de dificultades técnicas. Puede solicitarse asesoría previa para asegurar la comprensión del contenido.

Uso de Celulares y Dispositivos Electrónicos
El uso de celulares está permitido únicamente con fines académicos, de accesibilidad o salud. Deben mantenerse en modo silencio o vibración. Se promoverá el uso de herramientas pedagógicas digitales bajo la supervisión docente. En caso de mal uso recurrente, el docente podrá restringir su uso.

Consumo de Alimentos y Bebidas
No se permite el consumo dentro del aula, excepto en casos justificados médicamente o neurodivergencias. Podrán habilitarse zonas discretas de hidratación o consumo responsable cuando sea necesario.

Uso de Gorras y Prendas Especiales
Se permite el uso de gorras u otras prendas por razones culturales, religiosas, médicas, de identidad de género o neurodiversidad. Se recomienda evitar su uso cuando interfiera con actividades grupales o de evaluación visual.

Orden, Limpieza y Responsabilidad Digital
El estudiante es responsable de mantener limpio su espacio físico, nombrar correctamente sus archivos, respetar los espacios comunes y evitar conductas inapropiadas tanto en el aula como en plataformas institucionales.

Entrega de Evidencias en Formato Electrónico
Las tareas deberán entregarse en Moodle u otra plataforma autorizada, en el formato solicitado (PDF, DOCX, etc.). En caso de falla técnica justificada, se permitirá el uso de nubes seguras (OneDrive) para el envío temporal de la evidencia.

Respeto e Inclusión
Se espera respeto, empatía y trato digno entre todos los miembros de la comunidad. No se tolerarán expresiones discriminatorias, acoso o violencia, incluyendo entornos digitales. Se promoverá un ambiente seguro, equitativo e inclusivo.

Asistencia y Derecho a Evaluación
Se requiere mínimo un 80% de asistencia para tener derecho a exámenes departamentales. Se considerarán ausencias justificadas por motivos de salud, cuidados familiares o fuerza mayor.

Reevaluaciones y Mejora del Aprendizaje
Primera reevaluación: calificación máxima 9. Segunda reevaluación: máximo 8, cumpliendo rúbricas. Se podrán considerar portafolios reflexivos o evidencias de mejora significativa para casos excepcionales con aprobación docente.

Anexo: Normatividad Digital
- Participación activa en plataformas educativas. - Uso responsable y ético de herramientas digitales. - Prohibición de plagio y malas prácticas académicas. - Conducta adecuada en foros, mensajes y videollamadas. - Prevención del ciberacoso y respeto digital.

Materiales
Materiales básicos (estudiante y docente): Hardware Laptop con mínimo 8 GB de RAM, procesador i5 o equivalente, 256 GB SSD. Smartphone Android con modo desarrollador activado (recomendado). Acceso a internet de banda ancha. Software Android Studio (última versión). Flutter SDK y/o React Native. VS Code con extensiones para desarrollo móvil. Emuladores de Android (AVD) o dispositivo físico. Git y cuenta en GitHub. Postman (para pruebas de APIs). SQLite Browser o DB Inspector (para pruebas de base de datos). Herramientas para diseño de UI: Canva, Figma o similar (opcional). Recursos de apoyo Documentación oficial de Android Developer, Flutter y React Native. API públicas para prácticas (OpenWeather, JSONPlaceholder, etc.). Tutoriales y manuales propios elaborados por el docente.

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.0 a la actividad 2.1.2
PARCIAL 2 De la actividad 3.1.1 a la actividad 6.1.1

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Introducción a la Programación Móvil
          1.1. Comprender el contexto histórico, las plataformas y herramientas clave para el desarrollo de aplicaciones móviles, estableciendo las bases para crear proyectos funcionales.
                   1.1.0. Manual de Practicas 1P
                          
                   1.1.1. Elaboración de una línea de tiempo digital en Canva, Genially o similar, que muestre los principales hitos históricos en la evolución de las aplicaciones móviles: desde Java ME y BlackBerry hasta Android, iOS y frameworks multiplataforma como Flutter
                          
                   1.1.2. Instalación y configuración de un entorno de desarrollo móvil (Android Studio o Flutter en VS Code), identificación de emuladores o dispositivos de prueba, y creación de un primer proyecto Hello World que compile y ejecute.
                          
2. Controles Básicos en Aplicaciones Móviles
          2.1. Diseñar e implementar interfaces de usuario interactivas y responsivas utilizando controles y layouts básicos.
                   2.1.1. Diseño y desarrollo de una aplicación sencilla que incluya componentes básicos de la interfaz de usuario (botones, campos de texto, listas) y eventos asociados (onClick, onChange).
                          
                   2.1.2. Diseño y construcción de una aplicación con múltiples pantallas que utilice layouts responsivos (adaptables a diferentes dispositivos) y estilos visuales personalizados (temas, colores, tipografías).
                          
3. Consumo de Datos en Aplicaciones Móviles
          3.1. Integrar fuentes externas de datos en aplicaciones móviles mediante consumo de APIs REST y almacenamiento local.
                   3.1.1. Construcción de una aplicación móvil que realice una consulta a una API REST pública (ejemplo: OpenWeather, Pokémon API, News API), procese la respuesta en formato JSON y muestre los resultados en una interfaz de lista o tabla.
                          
                   3.1.2. Diseñar una aplicación móvil que reciba datos en formato JSON desde una API pública o archivo local, los procese (parseo) y los muestre en una lista dinámica con elementos interactivos (ejemplo: nombre + imagen + descripción).
                          
          3.2. • Utilizar técnicas de modelado para estructurar soluciones que manejen datos online y offline.
                   3.2.1. Construir una aplicación móvil que implemente un CRUD (Create, Read, Update, Delete) usando una base de datos local (SQLite o Room en Android, sqflite en Flutter). La app deberá funcionar offline y permitir la sincronización básica de datos con el al
                          
4. Uso de Frameworks para Desarrollo Móvil
          4.1. Explorar y utilizar frameworks multiplataforma para acelerar el desarrollo y crear aplicaciones escalables.
                   4.1.1. Configurar un entorno de desarrollo con Flutter o React Native, crear un proyecto inicial multiplataforma y desarrollar un componente reusable (ejemplo: tarjeta de usuario, menú de navegación, formulario simple).
                          
          4.2. Aplicar un lenguaje de programación para resolver problemas en dispositivos móviles bajo diferentes entornos.
                   4.2.1. Integrar en una aplicación móvil una librería externa para ampliar las funcionalidades (ejemplo: Google Maps, librería de gráficos, autenticación con Firebase). La app deberá mostrar la implementación de la librería y el manejo básico de sus funcione
                          
                   4.2.2. Realizar pruebas comparativas de desempeño entre una aplicación móvil nativa (Android Studio – Java/Kotlin) y una aplicación multiplataforma (Flutter/React Native).
                          
5. Uso de Sensores y Funcionalidades del Dispositivo
          5.1. Implementar funcionalidades avanzadas basadas en sensores y APIs nativas.
                   5.1.1. Construir una aplicación móvil que utilice el acelerómetro o giroscopio para detectar movimientos básicos del dispositivo (ejemplo: agitar para cambiar de color o mostrar mensaje) e implemente notificaciones push locales para alertar al usuario.
                          
          5.2. Aplicar un lenguaje para aprovechar al máximo los recursos del hardware (GPS, cámara, acelerómetro, notificaciones).
                   5.2.1. Construir una aplicación móvil que utilice el GPS para obtener la ubicación actual del usuario y la cámara del dispositivo para capturar fotografías. La app deberá mostrar en pantalla la ubicación (coordenadas o mapa) y permitir guardar/mostrar la fo
                          
6. Proyecto Integrador
          6.1. Aplicar de manera integral los conocimientos adquiridos para diseñar, desarrollar e implementar una aplicación móvil funcional.
                   6.1.1. Desarrollo y presentación final de una aplicación móvil que integre los aprendizajes de la asignatura: interfaz gráfica, consumo de API, almacenamiento local, uso de al menos un sensor y notificaciones.
                          

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

Cronogramas (20252026N)
Grupo Actividad Fecha Carrera
7 A 1.1.1 Elaboración de una línea de tiempo digital en Canva, Genially o similar, que muestre los principales hitos históricos en la evolución de las aplicaciones móviles: desde Java ME y BlackBerry hasta Android, iOS y frameworks multiplataforma como Flutter 2025-09-22 ISIC-2010-224
7 A 1.1.1 Elaboración de una línea de tiempo digital en Canva, Genially o similar, que muestre los principales hitos históricos en la evolución de las aplicaciones móviles: desde Java ME y BlackBerry hasta Android, iOS y frameworks multiplataforma como Flutter 2025-09-24 ISIC-2010-224
7 A 1.1.1 Elaboración de una línea de tiempo digital en Canva, Genially o similar, que muestre los principales hitos históricos en la evolución de las aplicaciones móviles: desde Java ME y BlackBerry hasta Android, iOS y frameworks multiplataforma como Flutter 2025-09-26 ISIC-2010-224
7 A 1.1.2 Instalación y configuración de un entorno de desarrollo móvil (Android Studio o Flutter en VS Code), identificación de emuladores o dispositivos de prueba, y creación de un primer proyecto Hello World que compile y ejecute. 2025-09-29 ISIC-2010-224
7 A 1.1.2 Instalación y configuración de un entorno de desarrollo móvil (Android Studio o Flutter en VS Code), identificación de emuladores o dispositivos de prueba, y creación de un primer proyecto Hello World que compile y ejecute. 2025-10-01 ISIC-2010-224
7 A 1.1.2 Instalación y configuración de un entorno de desarrollo móvil (Android Studio o Flutter en VS Code), identificación de emuladores o dispositivos de prueba, y creación de un primer proyecto Hello World que compile y ejecute. 2025-10-03 ISIC-2010-224
7 A 2.1.2 Diseño y construcción de una aplicación con múltiples pantallas que utilice layouts responsivos (adaptables a diferentes dispositivos) y estilos visuales personalizados (temas, colores, tipografías). 2025-10-13 ISIC-2010-224
7 A 2.1.2 Diseño y construcción de una aplicación con múltiples pantallas que utilice layouts responsivos (adaptables a diferentes dispositivos) y estilos visuales personalizados (temas, colores, tipografías). 2025-10-15 ISIC-2010-224
7 A 2.1.2 Diseño y construcción de una aplicación con múltiples pantallas que utilice layouts responsivos (adaptables a diferentes dispositivos) y estilos visuales personalizados (temas, colores, tipografías). 2025-10-17 ISIC-2010-224
7 A 3.1.1 Construcción de una aplicación móvil que realice una consulta a una API REST pública (ejemplo: OpenWeather, Pokémon API, News API), procese la respuesta en formato JSON y muestre los resultados en una interfaz de lista o tabla. 2025-10-20 ISIC-2010-224
7 A 3.1.1 Construcción de una aplicación móvil que realice una consulta a una API REST pública (ejemplo: OpenWeather, Pokémon API, News API), procese la respuesta en formato JSON y muestre los resultados en una interfaz de lista o tabla. 2025-10-22 ISIC-2010-224
7 A 3.1.1 Construcción de una aplicación móvil que realice una consulta a una API REST pública (ejemplo: OpenWeather, Pokémon API, News API), procese la respuesta en formato JSON y muestre los resultados en una interfaz de lista o tabla. 2025-10-24 ISIC-2010-224
7 A 3.1.2 Diseñar una aplicación móvil que reciba datos en formato JSON desde una API pública o archivo local, los procese (parseo) y los muestre en una lista dinámica con elementos interactivos (ejemplo: nombre + imagen + descripción). 2025-10-27 ISIC-2010-224
7 A 3.1.2 Diseñar una aplicación móvil que reciba datos en formato JSON desde una API pública o archivo local, los procese (parseo) y los muestre en una lista dinámica con elementos interactivos (ejemplo: nombre + imagen + descripción). 2025-10-29 ISIC-2010-224
7 A 3.2.1 Construir una aplicación móvil que implemente un CRUD (Create, Read, Update, Delete) usando una base de datos local (SQLite o Room en Android, sqflite en Flutter). La app deberá funcionar offline y permitir la sincronización básica de datos con el al 2025-10-31 ISIC-2010-224
7 A 3.2.1 Construir una aplicación móvil que implemente un CRUD (Create, Read, Update, Delete) usando una base de datos local (SQLite o Room en Android, sqflite en Flutter). La app deberá funcionar offline y permitir la sincronización básica de datos con el al 2025-11-03 ISIC-2010-224
7 A 3.2.1 Construir una aplicación móvil que implemente un CRUD (Create, Read, Update, Delete) usando una base de datos local (SQLite o Room en Android, sqflite en Flutter). La app deberá funcionar offline y permitir la sincronización básica de datos con el al 2025-11-05 ISIC-2010-224
7 A 3.2.1 Construir una aplicación móvil que implemente un CRUD (Create, Read, Update, Delete) usando una base de datos local (SQLite o Room en Android, sqflite en Flutter). La app deberá funcionar offline y permitir la sincronización básica de datos con el al 2025-11-07 ISIC-2010-224
7 A 4.1.1 Configurar un entorno de desarrollo con Flutter o React Native, crear un proyecto inicial multiplataforma y desarrollar un componente reusable (ejemplo: tarjeta de usuario, menú de navegación, formulario simple). 2025-11-10 ISIC-2010-224
7 A 4.1.1 Configurar un entorno de desarrollo con Flutter o React Native, crear un proyecto inicial multiplataforma y desarrollar un componente reusable (ejemplo: tarjeta de usuario, menú de navegación, formulario simple). 2025-11-12 ISIC-2010-224
7 A 4.1.1 Configurar un entorno de desarrollo con Flutter o React Native, crear un proyecto inicial multiplataforma y desarrollar un componente reusable (ejemplo: tarjeta de usuario, menú de navegación, formulario simple). 2025-11-14 ISIC-2010-224
7 A 4.2.1 Integrar en una aplicación móvil una librería externa para ampliar las funcionalidades (ejemplo: Google Maps, librería de gráficos, autenticación con Firebase). La app deberá mostrar la implementación de la librería y el manejo básico de sus funcione 2025-11-19 ISIC-2010-224
7 A 4.2.1 Integrar en una aplicación móvil una librería externa para ampliar las funcionalidades (ejemplo: Google Maps, librería de gráficos, autenticación con Firebase). La app deberá mostrar la implementación de la librería y el manejo básico de sus funcione 2025-11-21 ISIC-2010-224
7 A 4.2.1 Integrar en una aplicación móvil una librería externa para ampliar las funcionalidades (ejemplo: Google Maps, librería de gráficos, autenticación con Firebase). La app deberá mostrar la implementación de la librería y el manejo básico de sus funcione 2025-11-26 ISIC-2010-224
7 A 4.2.2 Realizar pruebas comparativas de desempeño entre una aplicación móvil nativa (Android Studio – Java/Kotlin) y una aplicación multiplataforma (Flutter/React Native). 2025-11-24 ISIC-2010-224
7 A 4.2.2 Realizar pruebas comparativas de desempeño entre una aplicación móvil nativa (Android Studio – Java/Kotlin) y una aplicación multiplataforma (Flutter/React Native). 2025-11-28 ISIC-2010-224

Temas para Segunda Reevaluación