Programación de Servicios y Procesos
¡Bienvenidos al módulo de Programación de Servicios y Procesos de 2º de DAM!
Este módulo te proporcionará los conocimientos necesarios para desarrollar aplicaciones que aprovechen las capacidades multitarea y de red de los sistemas modernos.
🧑🏼💻 Tecnologías a Utilizar
El lenguaje Kotlin
Como lenguaje de programación principal vamos a utilizar Kotlin. Por si no lo conoceis, sus principales características son las siguientes:
- Es un lenguaje de programación moderno, conciso y seguro que se ejecuta en la máquina virtual de Java (JVM) y también se puede compilar a JavaScript o nativo.
- Fue desarrollado por JetBrains y Google en 2011 y se ha convertido en el lenguaje de programación oficial para el desarrollo de aplicaciones Android.
- Kotlin es un lenguaje de programación de propósito general que se puede utilizar para desarrollar aplicaciones de escritorio, móviles y web.
Veremos más características y detalles sobre el lenguaje en las primeras clases introductorias para ir cogiendo práctica con el mismo.
En la sección previa al temario del módulo, se incluye un tema introductorio a Kotlin con los conceptos básicos que necesitaremos para el resto del curso.
Introducción a Kotlin
La elección de Kotlin como lenguaje de programación se debe a que ofrece una serie de ventajas sobre otros lenguajes, como su concisión, seguridad y facilidad de uso. Estas características lo convierten en una excelente opción para el desarrollo de aplicaciones modernas.
También os ayudará a ser más productivos y a escribir código de mayor calidad. Además, al ser el lenguaje utilizado para desarrollar aplicaciones Android, contar con conocimientos en Kotlin es una gran ventaja en el mercado laboral actual.
El IDE Android Studio
El IDE seleccionado para llevar a cabo el desarrollo de aplicaciones en Kotlin es Android Studio. Este entorno de desarrollo integrado (IDE) está diseñado específicamente para el desarrollo de aplicaciones Android y ofrece una serie de herramientas y características que facilitan el trabajo con Kotlin.
Aprovechando que también lo utilizareis en el módulo de Desarrollo de Aplicaciones Multiplataforma, os resultará familiar y os permitirá ser más productivos desde el principio.
Además, Android Studio ofrece una serie de herramientas y características que facilitan el trabajo con Kotlin, como la autocompletación de código, la refactorización y la depuración.
📚 Temario
El temario está dividido en dos grandes bloques:
1. Programación Multiproceso y Multihilo
Este primer bloque se centrará en establecer las bases de la programación concurrente y paralela, abordando la gestión de procesos y, especialmente, la programación con hilos de ejecución.
Tema 1: Fundamentos de la Programación Concurrente y Procesos
Conceptos fundamentales de procesos y programación concurrente.
Tema 2: Programación Multihilo
Creación y gestión de hilos en Java. Sincronización y resolución de problemas de concurrencia.
2. Programación de servicios en Red y Seguridad
El segundo bloque estará dedicado a la comunicación en red, a la creación de servicios y a la implementación de medidas de seguridad en las aplicaciones.
Tema 3: Programación de Comunicaciones en Red con Sockets
Desarrollo de aplicaciones de red con sockets TCP y UDP.
Tema 4: Generación de Servicios en Red y Seguridad
Creación de servicios web seguros e implementación de técnicas de seguridad.
🧑🏼🏫 Metodología
El módulo combina teoría y práctica, con numerosos ejemplos de código y ejercicios prácticos para consolidar los conocimientos.
La idea principal es ir solucionando ejercicios y explicando conceptos durante las sesiones lectivas y combinar esto con el trabajo constante del alumnado en proyectos entregables.
Resultados de aprendizaje
-
UF1: Programación Multiproceso
- RA1. Desarrolla aplicaciones compuestas por varios procesos, para lo que reconoce y aplica principios de programación paralela.
- RA2. Desarrolla aplicaciones compuestas por varios hilos de ejecución, con análisis y aplicación de librerías específicas del lenguaje de programación
-
UF2: Programación de servicios en red
- RA1. Programa mecanismos de comunicación en red empleando sockets, y analiza el escenario de ejecución.
- RA2. Desarrolla aplicaciones que ofrezcan servicios en red, para lo que utiliza librerías de clases y aplica criterios de eficiencia y disponibilidad.
- RA3. Protege las aplicaciones y los datos, para lo que define y aplica criterios de seguridad en el acceso, en el almacenamiento y en la transmisión de la información.
🎓 Evaluación
Por cada tema, se llevarán a cabo uno o dos proyectos entregables de forma individual o grupal.
También se va a evaluar el contenido teórico de cada unidad a través de un cuestionario en el Aula Virtual.
Tendréis más detalles sobre la evaluación en el Aula Virtual y en la programación didáctica del módulo.