• No se han encontrado resultados

Programa Oficio Digital Desarrollo de Aplicaciones Móviles

N/A
N/A
Protected

Academic year: 2021

Share "Programa Oficio Digital Desarrollo de Aplicaciones Móviles"

Copied!
12
0
0

Texto completo

(1)

Programa Oficio Digital Desarrollo de Aplicaciones Móviles

Fundamentación

El amplísimo desarrollo de las comunicaciones personales y, en particular, de la telefonía móvil, impone el desarrollo de conocimientos específicos que permitan la participación directa de los usuarios, individuales o colectivos, dentro de la gran nube comunicacional. Por lo tanto, la adquisición de las destrezas prácticas y los conocimientos teóricos acerca de las aplicaciones móviles, son un imperativo del momento que nos toca vivir, habitemos en el rincón más remoto de la República o en la ciudad más populosa. Como además, ninguna actividad humana ha quedado fuera de la percepción digital de la vida, personas e instituciones, Estados y empresas, comunidades y organizaciones, se ven compelidas a formar parte de la gran comunidad comunicacional.

Este cambio de paradigma en la comunicación humana trae aparejado el desarrollo de nuevas capacidades profesionales y, por lo tanto, de entrenamientos específicos que permitan avanzar en la creación de herramientas comunicacionales acordes a cada necesidad. Es bien sabido que cualquier mensaje humano consta de dos elementos básicos: el contenido y el código por el cual se transmite y se comparte el mensaje. La creación de contenidos es absolutamente privativa de cada persona o institución, siendo esperable que las diferentes regiones del país, cada pueblo, ciudad o provincia, genere sus propios contenidos para compartirlos con el resto de la república. El código en cambio, tiene forzosamente que ser compartido para que pueda ser transmitido. Así, los argentinos hablamos Castellano Rioplatense1 con todas las variedades zonales que la extensión geográfica alberga, lo que nos permite comunicarnos entre jujeños y fueguinos, por ejemplo, más allá de las diferencias tonales. En el universo de los dispositivos móviles ocurre lo mismo: existen códigos específicos para la elaboración de los contenidos que deben ser conocidos, manejados y respetados para lograr la inserción adecuada de aquellos contenidos dentro de los dispositivos.

1 Dentro de la gran gama de hablantes del castellano, se ha dividido la lengua en forma arbitraria en, por ejemplo, castellano rioplatense, del Caribe, ibérico o del pacífico. Esa clasificación es meramente con fines académicos.

(2)

Paralelamente, es apropiado pensar en la conversión veloz que está viviendo el campo del trabajo. Los antiguos oficios, aprendidos con el maestro en la tarea misma, los carpinteros y albañiles, las costureras y tejedoras, fueron dejando espacio a las profesiones adquiridas mediante la instrucción formal: escuela primaria, colegio secundario, terciario y universitario. En la actualidad, coexisten las dos modalidades pero también existen otras formas de capacitación, menos extensas en el tiempo que una carrera universitaria, pero aptas para la formación en los nuevos oficios. En este marco es dable pensar el Oficio Digital como una salida a corto plazo, con amplias posibilidades de inserción laboral. Por esta razón es que el presente curso ha sido diseñado sobre la estructura modular, para que cada segmento sea un nuevo peldaño en el desarrollo del Oficio Digital de aplicaciones móviles.

El presente curso está pensado para personas que no posean conocimientos previos sobre programación para dispositivos móviles o que poseyéndolos, no han podido ejercerlos convenientemente y, por lo tanto, han quedado inmovilizados en el conjunto de capacidades adquiridas. Además, está pensado para personas interesadas en el desarrollo comunicacional contemporáneo, específicamente el que se desarrolla a través de dispositivos móviles, desde su comunidad, su empleo o sus grupos de afinidades. Finalmente, el curso está pensado para lograr una formación teórico-práctica que aporte herramientas en la constitución de un futuro laboral para los aspirantes. Para todo ello, el programa del oficio pretende introducir al alumno en la programación informática, de manera de familiarizarlo en los lenguajes, las herramientas y las metodologías del desarrollo promedio de la actualidad, tomando el importante concepto de oficio aprendido de una persona con experiencia, trabajando con la misma, y resignificándolo en las nuevas habilidades necesarias para las nuevas realidades.

Para lograrlo, se sugiere que el alumno tenga conocimientos y manejo de PC y del Sistema Operativo Windows.

(3)

Propósitos Fundamentales

El curso se ha desarrollado teniendo en cuenta a un participante con conocimientos de PC y manejo del Sistema Operativo Windows, y pretende introducirlo, paulatinamente, en la programación y el desarrollo aplicados a dispositivos móviles, haciendo hincapié en la arquitectura Android, de manera de introducirlos en lenguajes, herramientas, entornos y metodologías de desarrollo.

También se busca que los lenguajes y las herramientas sean aprendidos y puedan ser aplicados a casos reales, para que cada estudiante entienda cuándo y por qué aplicarlas y pueda, por lo tanto, aprovecharlos mejor. La idea es que frente a cada nuevo paso del entrenamiento, se realicen aplicaciones prácticas para que los conocimientos se fijen con mayor precisión.

En el proceso de transferencia de conocimientos del curso se darán a conocer aplicaciones existentes, para que el alumno tenga referencia de de aplicaciones para dispositivos móviles reales con el uso de tecnologías utilizadas durante el curso. La idea es que en el proceso de familiarización y aprendizaje de lenguajes y herramientas, el alumno pueda ir reconociendo los recursos que está incorporando como elementos de uso cotidiano en la confección de diversas aplicaciones.

Objetivos

Aplicaciones Móviles es un módulo está diseñado para que los participantes lleguen a desarrollar capacidades diversas que les permitan insertarse laboralmente en el actual mercado de servicios y tecnologías informáticas. Por lo tanto, es factible hablar de objetivos diversos, a saber:

 Este curso capacita al alumno en el desarrollo de software, brindándole la posibilidad de manejar los conceptos básicos en la programación y metodologías que posibilitan la comprensión global de un problema y el planteo de la solución para su futuro desarrollo.

 Brindar al alumno los conocimientos necesarios para el desarrollo de programas de mediana complejidad utilizando las estructuras de control básicas y dinámicas.

(4)

 Capacitar al alumno en las técnicas clásicas de programación estructurada e introducirlos en programación orientada a objetos.

 Familiarizar al alumno en los conceptos y términos básicos y avanzados del área de programación para dispositivos móviles, su arquitectura y sus particularidades.

Para alcanzar dichos objetivos generales, el curso está pensado de forma tal que cada alumno pueda aprehender los recursos específicos necesarios. Esto es, incorporar los conocimientos y entrenamientos imprescindibles sobre:

 Las técnicas clásicas de programación estructurada para que cada alumno comprenda y maneje con fluidez el concepto de tipo de datos, estructuras de datos, estructuras de control, funciones y procedimientos.

 Incorpore los conocimientos necesarios para el desarrollo de programas simples utilizando las estructuras de control básicas.

 Introducir al alumno en los conceptos básicos de la programación orientada a objetos, tales como objeto, clase, instancia, herencia, etc.

 Familiarizar al alumno en las características y los elementos básicos de una aplicación para dispositivos móviles, arquitecturas utilizadas, interfaces, ambientes y lenguajes de desarrollo utilizados.

 Capacitar al alumno en el desarrollo de aplicaciones simples, modulares y eficientes como introducción al desarrollo de aplicaciones para dispositivos móviles.

 Alcanzar la familiarización con los conceptos y lenguajes básicos para el desarrollo de aplicaciones para dispositivos móviles, tales como el lenguaje HTML y CSS, JAVA y entornos asociados.

 Introducir al alumno en técnicas de deployment de aplicaciones para dispositivos móviles.

Metodología y desarrollo del curso

Aplicaciones Móviles es un oficio diseñado en forma modular, a desarrollarse en tres bloques, siendo el primero el presente módulo de manejo de imagen digital, que está dando comienzo en Abril y se desarrollará hasta fines de Mayo. Los dos módulos restantes se dictarán entre Junio y Agosto, y Septiembre a Noviembre del presente año. Este diseño curricular requiere

(5)

del alumno un compromiso que será reflejado, al finalizar los tres módulos con la certificación correspondiente de la Universidad Nacional de La Matanza.

Se desarrollará con la metodología semi presencial, es decir, con asistencia de alumnos y docentes en el NAC, en determinadas clases (comienzo y finalización de cada curso), y con contactos vía internet en las restantes. Cada clase está diseñada en base a contenidos teóricos y contenidos prácticos, a desarrollarse a lo largo del primer trimestre del año. Además, se trabajará en forma permanente con ejercitación y producción de modelos y casos reales. Eso permitirá la evaluación en dos sentidos, a saber: la realizada por el docente que permitirá generar las calificaciones finales, y la autoevaluación que cada alumno irá realizando de sus propias producciones.

El curso está dividido en Unidades temáticas, de acuerdo a la complejidad de los contenidos y la viabilidad de la incorporación de los mismos por parte de los alumnos. En cada Unidad se estiman la cantidad de horas de dictado de clase, a lo que los alumnos deberán sumar un mínimo igual de horas para la resolución de los ejercicios, la práctica y el estudio teórico.

Recursos

Para poder realizar los trabajos propuestos en el Curso, los alumnos deberán contar con equipamiento (propio o del NAC) del tipo:

 Computadora Tipo PC con capacidad de correr al menos Windows XP SP3  Windows XP SP3 / 7 Professional / 8 funcionando correctamente.

 Eclipse + Android SDK  Android SDK stand-alone  JDK ultima Versión

Si el participante tiene a su alcance una notebook o pc propia en las que pueda instalar el software mencionado, le será de mucha utilidad para realizar las prácticas y lecturas previstas. Si no cuenta con dichos elementos, los mismos se encuentran disponibles en los Núcleos de Acceso al Conocimiento en los que se cursará el Oficio Digital para que todos puedan realizar las prácticas, asistir a las teleconferencias con las que se dictarán las clases a distancia y participar de los foros que serán comunicados con antelación.

(6)

El software mencionado será instalado en cada NAC por el Ministerio de Planificación Federal. Además, la mayor parte del software elegido para el presente curso no sólo es libre2, sino también líder en el mercado actual del procesamiento de imágenes. Esto es clave llegado el momento de la inserción laboral, ya que el mercado actual exige herramientas que permitan competir, que no sean obsoletas o poco adecuadas.

Tanto el material teórico como las prácticas a realizar serán de fácil acceso por parte de los alumnos ya que estarán ubicadas en la plataforma que comparten los NAC, a través de Argentina Conectada (Todos Aprendiendo). Pero además, los alumnos contarán siempre con la asistencia del Coordinador del NAC, para temas que involucren la utilización de los recursos que se encuentran disponibles los Núcleos.

Temporización: 64 horas cátedra cada Nivel.

 Introducción presencial al oficio: 12 hs.

 Modalidad virtual / a distancia: 30 hs, en 15 encuentros de 2 hs.  Evaluación y cierre presencial: 18 hs.

 4 clases a través de teleconferencia.

Cursada y promoción

Para promocionar convenientemente el curso, cada alumno deberá cumplir con la asistencia a clase, sea esta presencial o a distancia, en un mínimo del 75% de las clases programadas. Deberá además realizar y entregar todas las prácticas establecidas, participar de todos los foros pautados, realizar las lecturas teóricas y presentar, en tiempo y forma, el trabajo final del módulo. Ese trabajo final será la evidencia documental que permitirá certificar la participación en la capacitación y la posibilidad de cursar en el siguiente Módulo del Oficio.

Programa Analítico

Los contenidos teóricos y prácticos a utilizar serán:

(7)

Módulo I

Unidad Nº 1 Introducción a la Arquitectura Android (6 hs)

 Introducción de las aplicaciones para dispositivos móviles, aparición y Evolución.  Arquitectura de una aplicación para dispositivos móviles.

 Arquitectura de plataforma java y Android. máquina virtual Dalvik.  Introducción al desarrollo de aplicaciones para dispositivos móviles.  Conceptos de conectividad móvil.

Unidad Nº 2 Introducción a las aplicaciones en Android (12 hs)

 Consideraciones generales de diseño de aplicaciones móviles. Principios de diseño.  Encantar al usuario. Simplificarle la vida al usuario. Orientar en la toma de decisiones.

Empoderar al usuario.

 Interfaz de usuario. Tipos de pantallas. Home, aplicaciones y recientes.  Barra de información del sistema. Status y navigation.

 Disposición usual de aplicaciones. Action bar. Navigation drawer. Content area.  Dispositivos y dimensiones. Dimensiones de pantalla. Densidad de pantalla.

Flexibilidad, optimización y generalidad.

 Temas. Feedback. Grillas. Tipografía y colores. Iconos launcher, action bar, contextuales, notificacion.

 Consideraciones de diseño. Consistencia de imagen y estilo de escritura.  Patrones. Gestures. Estructura de aplicaciones. Navegación. Action bar. Paneles

multiples. Swipe views. Pantalla completa. Selecciones. Confirmaciones. Notificaciones. Widgets. Configuración. Ayuda. Compatibilidad. Accesibilidad.  Consideraciones de distribución.

Unidad Nº 3 Introducción a la Programación (8 hs)

 Introducción a la programación.  Conceptos básicos en programación.  Fases de desarrollo de un programa.  Metodologías de programación.

(8)

 Comprensión global de un problema.

 Introducción a la Programación Orientada a Objetos.  Introducción a JAVA.

 Organización y Conceptos, comparativa con otros lenguajes, particularidades, sintaxis general.

Unidad Nº 4 Lenguajes de Programación: Variables, constantes, operadores y expresiones [AMPLIACION A ELEMENTOS DE ANDROID] (8 hs)

 Identificadores.  Tipos de datos.

 Constantes. Componentes Android: Labels.  Variables. Componentes Android: Textfields.  Operadores.

 Expresiones. Componentes Android: Botones.  Comentarios. Importancia de la documentación.

Unidad Nº 5 Lenguajes de Programación: Estructuras de control [AMPLIACION A ELEMENTOS DE ANDROID] (6 hs)

 Estructuras de control de selección. Componentes Android: Checkboxes, switch on/off.  Estructuras de Control: Iteración. Componentes Android: Radio buttons.

 Secuenciales. Condicionales. Cíclicas. Repetitivas.

Unidad Nº 6 Lenguajes de Programación: arrays y colecciones [AMPLIACION A ELEMENTOS DE ANDROID] (8 hs)

 Asignación, lectura y escritura de valores a un arreglo y a una lista.  Ordenamiento de arreglos y listas. Componentes Android: Spinners.  Operaciones con arreglos y listas. Componentes Android: Listas.

Unidad Nº 7 Programación Orientada Objetos (16 Horas)

 Clases, objetos, atributos, métodos.

(9)

 OOP en Java.

 Encapsulamiento, herencia, y polimorfismo. Interfaces.  Herencia e implementación. Excepciones.

 Colecciones.

 Introducción al lenguaje Java aplicado a arquitectura Android.

Módulo II

Unidad 1: Desarrollo de Aplicaciones Android de Calidad (8 horas)

 Metáforas para la construcción de software

 Relevamiento y definición de requerimientos. Bocetos de Aplicación.

 Consideraciones de Diseño. Gestión de Complejidad. Facilidad de Mantenimiento. Baja interconectividad interna. Extensibilidad. Reusabilidad. Consistencia

 Narrativa de Diseño

 Programación Defensiva. Software de Calidad

 Construcción Colaborativa. Programación de a Pares. Inspecciones Formales de Código  Calidad de Software mediante Testing Automático

 Depuración  Refactoring

 Estructura Interna para Aplicaciones Android  Gestión de Errores

Unidad 2: Componentes Elementales de Android (10 horas)

 Activity. Ciclo de vida  Fragments. Ciclo de vida  Process. Ciclo de vida

 Intent como mecanismo de inicio de activities. Activities con resultados  Intents explícitos e implícitos

 Intent Filters  Pending Intents  Tasks y Back Stack

(10)

Unidad 3: Componentes de Interfaz de Usuario (14 horas)

 Introducción  Layout

 Tipos de Layout. FrameLayout. LinearLayout. RelativeLayout. TableLayout. GridLayout  Controles de Ingreso de Datos: botones, texto, checkboxes, radio buttons, toggle

buttons, spinners y pickers  Botón (Button Control)

 Campo de Ingreso de Texto (Text Field Control)  Caja de Verificación (CheckBox Control)

 Botón de Opción (RadioButton Control)  Botón de Activación (ToggleButton Control)  Selector Desplegable (Spinner Control)  Selector de Hora o Fecha (Picker Control)  Event Listeners. Gestión de Foco

 Toast. Customización

 Consideraciones de Accesibilidad  Estilos y temas

 Best Practices

Unidad 4: Funciones de Multimedia: Imagen y Video (16 horas)

 Multimedia Framework  Visualización de Imágenes  Captura de Fotos

 Captura de Video  Reconocimiento Facial

Unidad 5: Funciones de Multimedia: Audio (16 horas)

 Reproducción de Audio  Captura de Audio  Reconocimiento de Voz

(11)

Módulo III

Unidad 1: Componentes Avanzados de Android (6 horas)

 Gestión de Notificaciones y Alertas.  Servicios. TEORIA

 Widgets.

Unidad 2: Conectividad (10 horas)

 Interconexión de dispositivos.  Conexiones HTTP.

 JSON.

 Conexiones a la Nube. Web Services.

Unidad 3: Localización (10 horas)

 String.xml. CON MULTIPLES IDIOMAS.  Seleccionar entre varios idiomas.

Unidad 4: Ubicación (10 horas)

 Google Play Services.  Mecanismos de ubicación.  Google Maps API.

Unidad 5: Content Providers Estándar (10 horas)

 Permisos

 Acceso a Contactos y al Calendar.

Unidad 6: Persistencia de Datos (10 horas)

 Settings

 Conceptos fundamentales de bases de datos. ACID. Transacciones. Sentencias SQL. Constraints.

(12)

Unidad 7: Seguridad, privacidad, distribución y monetización (8horas)

 Conceptos generales de seguridad y privacidad.  SSL y HTTPS.

 Estrategia de negocio. Venta de producto. In-app products. Adds.  Múltiples APKs.

Documentación Adicional (Lecturas)

Para poder realizar el curso satisfactoriamente, los participantes deberán realizar lecturas obligatorias y prácticos específicos. Para ello, el curso, a través del NAC, les proveerá de los manuales correspondientes, los trabajos prácticos y la orientación docente, de acuerdo al siguiente detalle:

 Trabajos Prácticos (al menos uno por unidad más uno de evaluación)  Manual de Referencia del Lenguaje JAVA

 Manual de Referencia de HTML  Introducción a CSS

 Introducción a la Arquitectura de Internet  Introducción a la Arquitectura Móvil16  Material adicional a modo de ejemplo

Referencias

Documento similar