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 Acceso a Laboratorios de Prácticas Preparación Previa a la Clase Uso de Celulares y Dispositivos Electrónicos Consumo de Alimentos y Bebidas Uso de Gorras y Prendas Especiales Orden, Limpieza y Responsabilidad Digital Entrega de Evidencias en Formato Electrónico Respeto e Inclusión Asistencia y Derecho a Evaluación Reevaluaciones y Mejora del Aprendizaje Anexo: Normatividad 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 |