CONVOCATORIA CERRADA
Programa cofinanciado por el Fondo Social Europeo y el Ayuntamiento de Santander
Acción enmarcada dentro del Programa de Estrategia de Emprendimiento y Empleo Joven Garantía Juvenil.
ObjetivoS
El curso nace con el objetivo de introducir al estudiante en las técnicas básicas de programación de modo que aprenda a programar aplicaciones de cierta entidad en el ámbito del desarrollo de aplicación de software.
Con esta formación, buscamos conseguir en el alumnado un nivel profesional suficiente para incorporarse al mercado laboral.
- Los alumnos adquirirán a lo largo de aproximadamente dos meses y medio, conocimientos y habilidades en las siguientes áreas:
- Desarrollo de software
- Utilización avanzada de clases
- Bases de Datos Relacionales
- Selección de arquitecturas y herramientas de programación
- Desarrollo Web en entorno servidor
- Mantenimiento del estado
- Diseño y realización de prueba
- Desarrollo de aplicaciones web utilizando código embebido
- Diseño de interfaces Web
- Modelos de programación en entornos cliente/servidor
Datos generales
Los destinatarios del programa son:
• Menores de 30 años, en situación de desempleo e inscritos al sistema de Garantía Juvenil.
• Personas con interés en ampliar sus conocimientos en diferentes lenguajes de programación.
• Personas con ganas de incorporarse a corto plazo al mundo laboral en el sector de las tecnologías de la información.
Es recomendable que los alumnos/as que asistan al curso, tengan un mínimo de conocimientos en programación, dado que el nivel de partida es medio – alto.
332 horas lectivas + 2 horas tutorías individuales de empleabilidad por alumno
Matrícula gratuita. Programa cofinanciado por el Fondo Social Europeo y el Ayuntamiento de Santander
Contenidos
Desarrollo de software
Introducción general a elementos básicos del mundo del desarrollo, tratando los conceptos generales del ciclo de Vida del Software:
- Concepto de programa informático.
- Código fuente, código objeto y código ejecutable; máquinas virtuales.
- Tipos de lenguajes de programación.
- Características de los lenguajes más difundidos.
- Fases del desarrollo de una aplicación: análisis, diseño, codificación, pruebas, documentación, explotación y mantenimiento, entre otras.
- Proceso de obtención de código ejecutable a partir del código fuente; herramientas implicadas.
Utilización avanzada de clases
Tomando como base lenguajes de programación orientados a objetos (java primordialmente, pero también C#) se aprenden los elementos fundamentales de programación:
- Composición de clases.
- Herencia.
- Superclases y subclases.
- Clases y métodos abstractos y finales.
- Sobreescritura de métodos.
- Constructores y herencia.
- Acceso a métodos de la superclase.
- Polimorfismo.
Bases de Datos Relacionales
Una de las operaciones básicas comunes a casi todas las aplicaciones es el tratamiento de datos, los cuales se persisten tradicionalmente mediante Sistemas Gestores de Bases de Datos. Aprendemos a operarlos:
- Modelo de datos.
- Terminología del modelo relacional. Relaciones, atributos, tuplas.
- Características de una relación.
- Tipos de datos.
- Juegos de caracteres. Criterios de comparación y ordenación.
- Claves primarias. Claves primarias simples y compuestas.
- Índices. Características. Valores no duplicados.
- El valor NULL. Operar con el valor NULL.
- Claves ajenas.
- Vistas.
- Usuarios. Roles. Privilegios. Objetos.
- Lenguaje de descripción de datos (DDL). Sentencias. Cláusulas.
- Lenguaje de control de datos (DCL). Sentencias. Cláusulas.
Selección de arquitecturas y herramientas de programación
Existen tantas arquitecturas como problemas se resuelven mediante aplicaciones. Obtener una solución adecuada depende de realizar una correcta selección de la arquitectura y las herramientas asociadas:
- Modelos de programación en entornos cliente / servidor.
- Mecanismos de ejecución de código en un navegador web.
- Capacidades y limitaciones de ejecución.
- Compatibilidad con navegadores web.
- Características de los lenguajes de script.
- Lenguajes de programación en entorno cliente.
- Tecnologías y lenguajes asociados.
- Herramientas de programación.
- Integración del código con las etiquetas HTML.
Desarrollo Web en entorno servidor
Por contra a la creencia popular, el desarrollo de interfaces de usuario se basa en descripción descriptivas mediante etiquetas, más que imperativas mediante código en lenguajes de programación más tradicionales:
- Lenguajes embebidos en HTML.
- Tecnologías asociadas: PHP, ASP, JSP, Servlets, entre otras.
- Contenedores de servlets.
- Obtención del lenguaje de marcas a mostrar en el cliente.
- Etiquetas para inserción de código.
- Bloques de código.
- Directivas.
- Tipos de datos. Conversiones entre tipos de datos.
- Variables.
- Ámbito de utilización de las variables
Mantenimiento del estado
Haciendo uso de los distintos mecanismos descritos en secciones anteriores, y adelantando algunos que serán introducción en secciones posteriores se empieza a dar una visión general de la gestión del estado en las aplicaciones: su implicación tanto en el análisis como en el diseño.
Diseño y realización de prueba
Que algo esté desarrollado, no significa necesariamente ni que funcione, pero tampoco que resuelva el problema que se deseaba atacar. Se aprenderá testing en un ámbito más amplio del control de calidad:
- Planificación de Pruebas.
- Tipos de pruebas: funcionales, estructurales, regresión, entre otros.
- Procedimientos y casos de prueba.
- Herramientas de depuración (puntos de ruptura, tipos de ejecución, examinadores de
- variables, entre otras).
- Validaciones.
- Pruebas de código: cubrimiento, valores límite, clases de equivalencia, entre otras.
- Normas de calidad.
- Pruebas unitarias; herramientas.
- Automatización de pruebas
- Documentación de pruebas.
Desarrollo de aplicaciones web utilizando código embebido
Para que el código embebido funcione, se necesitan dotar a los mismos de una serie de mecanismos para poder expresar la lógica de una aplicación, en esta sección se tratan los mismos:
- Sesiones.
- Cookies.
- Seguridad: usuarios, perfiles, roles.
- Autentificación de usuarios.
- Herramientas de programación.
- Pruebas y depuración.
Diseño de interfaces Web
Una vez dotada de lógica y presentación una aplicación, no es óbice para no dotar a la misma de características adicionales: agradable, adaptable, responsiva
- Generación de documentos y sitios web.
- Componentes de una interfaz web.
- Zonas de navegación, contenido, iteración.
- Aplicaciones para desarrollo web.
- Lenguajes de marcas.
- Mapa de navegación. Prototipos.
- Maquetación web. Elementos de ordenación.
- Tablas.
- Capas.
- Marcos.
- Plantilla de diseño.
- Estilos en línea basados en etiquetas y en clases.
- Crear y vincular hojas de estilo.
- Crear y vincular hojas de estilo en cascada externa.
Empleabilidad
El objetivo principal de este módulo de 20 horas, es conseguir ayudar a los alumnos en su incorporación al mundo laboral. Esto se conseguirá a través de varias sesiones prácticas donde, entre otras cosas, se les explicarán los puestos de trabajo más solicitados y los que se espera que sean los más demandados en un futuro. Además, se les asesorará sobre cómo realizar con éxito una entrevista de trabajo o cómo redactar correctamente un CV.
Modelos de programación en entornos cliente/servidor
Como ampliación de la selección de arquitecturas, se profundiza en el planteamiento de prácticas desarrolladas en roles tanto individuales como por equipos, poniendo en uso todos los elementos cubiertos a lo largo del curso. Se utilizarán los mismos para exponer igualmente patrones de soluciones habituales en el sector.
Metodología
El profesor, realizará una formación teórico–práctica en sala, donde impartirá a los alumnos el programa formativo detallado anteriormente Como parte de esta formación, los alumnos deberán realizar dos Trabajos de Fin de Curso, sin los cuales, no será evaluado como Apto.
Información e Inscripción
¡Solicita ya tu plaza!
Coordinadora: Susana Hurtado De la Vega | susana.hurtado@eoi | Tel: 91 394 56 20