Curso en Software Mantenible

Diseño, pruebas y procesos de desarrollo

¿Cómo realizo la preinscripción?

Del 19 de septiembre al 7 de diciembre

¡Atención, empresas: bonificable por FUNDAE!

No necesitas titulación universitaria si tienes experiencia como programador

4

Asignaturas

una detrás de otra

6

Horas de clase

cada semana

12

Semanas

de clase

1500

Euros con posibilidad

de pago en dos plazos

CONTENIDO

¿Qué vas a aprender?

Diseño y calidad software

  • Patrones, Conocimiento y Complejidad
  • Software, Disciplinas y Evolución
  • Diseño, Diseño Modular y Diseño Orientado a Objetos

Patrones y arquitectura software

  • Patrones de diseño
  • Patrones creacionales, estructurales y de comportamiento
  • Arquitectura del software
  • Estilo arquitectónico MV*
  • Estilo arquitectónicos ágiles: Hexagonal, Onion, Clean

Pruebas software

  • Metodología de pruebas
  • Diseño de pruebas: caja negra vs caja blanca
  • Pruebas unitarias
  • Dobles en pruebas

Programación Extrema

  • Refactoring
  • Test Driven Development
  • Programación extrema (XP)
  • Scrum
  • Proceso Unificado de Desarrollo (PUD)

Metodología docente

¿Cómo serán las clases?

Completamente online

El tiempo es oro, y desplazarse a diario a recibir las clases presencialmente no es siempre posible. El curso se cursará completamente a distancia, desde casa o el trabajo. No es necesario personarse en la universidad para realizar ningún tipo de trámite, lo que permite que sea cursado desde cualquier punto de la geografía nacional o desde el extranjero. No obstante, para favorecer la comunicación y colaboración entre alumnos y profesores te pedimos que actives la cámara cuando asistas a clase, eso nos ha funcionado muy bien para tener a la gente atenta a clase y favorece mucho el aprovechamiento del curso. Además, para los que puedan desplazarse a Madrid, haremos una sesión de presentación presencial y una de despedida del curso.

Clases en directo como un aula real

Los vídeos pregrabados son muy útiles, pero la mayoría de las clases serán en directo, como un aula real, con la posibilidad de preguntar al profesor. Con la posibilidad de que el profesor adapte la clase a los ejercicios que vas haciendo tú mismo antes de clase. Podrá hablarte a ti, sobre tu problema concreto. Si no puedes asistir en directo, la clase quedará grabada para un visionado posterior. Habrá clases los Martes y Jueves de 17:30 a 20:30.

Contacto entre profesores y alumnos

Aunque las clases sean online, creemos que el contacto entre profesores y alumnos es muy importante. Por eso las clases son en directo y podrás preguntar las dudas que tengas cada vez que nos veamos. Eso también nos permitirá comentar alguna noticia o debate que haya aparecido recientemente en relación con el software mantenible. Además, intentaremos usar sistemas de videoconferencia que nos permitan vernos entre todos nosotros, que ver la cara de un alumno ese esencial para explicar los conceptos.

Amplio material a tu disposición

Existe mucho material de calidad disponible para aprender: libros, charlas, proyectos de ejemplo. Pero hemos hecho un esfuerzo por crear material específico que siga una continuidad. Además, nos aseguramos de que funciona con versiones relativamente recientes de librerías y herramientas. Todo el código está disponible con licencia de código abierto, así que puedes echar un vistazo si quieres a nuestros repositorios de GitHub.

Trabajo práctico

Sabemos que la teoría es importante, pero aterrizar y hacer funcionar las cosas es la mejor forma de aprender. En el curso hay multitud de ejemplos que podrás probar por tí mismo y ejercicios para poder practicar. Los profesores aplican en numerosas ocasiones los conceptos explicados de forma práctica en vivo, de forma que los alumnos pueden ver cómo se aplican esos conceptos y preguntar durante el proceso para afianzar los conocimientos.

Coordinación de profesorado

Creemos que tener una visión coherente de la materia es muy importante. Es precisamente esa falta de conexión lo que dificulta el aprendizaje autónomo. Por eso el equipo de profesores es reducido, para que el contenido esté lo más coordinado posible.

Flujo de trabajo constante y focalizado

Estar focalizado es la mejor forma de aprender. Cada semana nos dedicaremos a una materia concreta y trabajaremos en ella. Y cada semana finalizará con una evaluación práctica. Te propondremos una tarea cada semana, que revisaremos para darte feedback y que servirá para evaluar tu trabajo. Preferimos un poco de trabajo constante en vez de que se acumulen las tareas al final del curso.

Las asignaturas se apoyan en las anteriores

Los ejemplos sencillos siempre funcionan. Todo se complica cuando el software crece. Por este motivo, cada asignatura se apoyará en las asignaturas previas. De esa forma, el software será cada vez más grande y más complejo, de forma que podamos ver todo lo que vamos aprendiendo a la vez.

¿Por qué hemos creado este curso?

Queremos ayudarte en tu camino de aprendizaje

El mundo del desarrollo software evoluciona constantemente. No obstante, las bases siguen siendo esenciales para que el software sea mantenible, tenga calidad. Este curso tiene como objetivo presentar, de forma organizada, todos los aspectos que deben tenerse en cuenta para crear software de calidad, con un buen diseño software, con pruebas de software y con una buena metodoligía de desarrollo.

El curso en Software Mantenible ha nacido del contenido que se impartía en el antiguo Máster CloudApps. Este máster ofrecía una formación muy completa que cubría todos los aspectos del desarrollo y despliegue de servicios web y aplicaciones basadas en microservicios. No obstante, la carga de trabajo semanal y su duración impedía que muchos alumnos alumnos pudieran cursarlo compatibilizando trabajo y familia. Por este motivo hemos decidido dividir el máster en varios cursos completamente independientes, que cubren todo el contenido, pero con menos dedicación semanal. También se ha reducido el contenido en aquellas tecnologías que cambian más habitualmente y que suponen mucha carga extra de configuración y puesta a punto de herramientas y tecnologías.

CodeURJC es el laboratorio de software de la Universidad Rey Juan Carlos. Entre nuestros principales objetivos está el estudio, la experimentación y la aplicación de los avances en este área . En el laboratorio desarrollamos servicios de Internet de diferente naturaleza (aplicaciones web, sistemas de videoconferencia, servicios serverless, etc.), aplicamos nuestra experiencia en proyectos de investigación y desarrollo colaborando con diferentes organizaciones. También impartimos formación y ofrecemos servicios de consultoría a empresas en estas temáticas. Desarrollamos productos con licencia libre como OpenVidu.

Después de unos años hemos llegado a la conclusión de que la información disponible es muy dispersa y evoluciona a tal velocidad que es complicado para los equipos de desarrollo tener una visión global del área. Por este motivo, creemos que diferentes cursos de formación pueden ayudar a los desarrolladores a aprovechar al máximo estos avances. Hemos identificado dos perfiles potenciales a los que les podría interesar el máster. Por un lado, desarrolladores software que acaban de finalizar una carrera universitaria y quieren especializarse en este área de la mano de profesionales. Por otro, profesionales del sector que quieran actualizar sus conocimientos en desarrollo y despliegue de aplicaciones en la nube y aplicarlos a sus trabajo diario en su organización actual o como forma de crecer profesionalmente.

En CodeURJC llevamos décadas impartiendo formación en abierto y a diferentes tipos de empresas y equipos de desarrollo. Concretamente, la primera edición del máster del que sale este curso se impartió en el curso 2019/2020 y ha tenido 4 ediciones.

Profesores

Amplia experiencia a tu servicio.

CodeURJC es el laboratorio de software de la URJC. Está formado por profesores y estudiantes de informática de la Universidad Rey Juan Carlos apasionados por la programación y el software libre. Aunque han experimentado con múltiples tecnologías y lenguajes de programación, su plataforma de desarrollo preferida es Java, aunque actualmente están cada vez más interesados en el desarrollo web con JavaScript y node.js.

El principal objetivo de CodeURJC es la formación y el asesoramiento en el desarrollo software. Sus miembros han impartido numerosas asignaturas y cursos en diversos ámbitos de la informática: Programación Orientada a Objetos, Programación Funcional, Programación Concurrente, Programación a bajo nivel, Desarrollo Web, Herramientas de desarrollo, Sistemas Operativos, Procesadores de Lenguajes y Compiladores, Programación Extrema, Sistemas Operativos, Sistemas Distribuidos, Seguridad Informática, Redes, Computación en la nube, etc. Han impartido formación en titulaciones de grado, másteres oficiales y en cursos a empresas. Además, son sospechosos habituales en las comunidades de desarrollo como MadridJUG. No suelen faltar a su cita con los eventos como Codemotion, Commicconf, T3chFest, ExpoQA, VLCTesting, TarugoConf, etc.

En CodeURJC nos divertimos programando, pero no sólo hacemos prototipos de juguete, también participamos en el desarrollo de software usado por cientos de usuarios. EclipseGavab es una de nuestras criaturas más queridas, una distribución de eclipse con plugins para varios lenguajes de programación que desarrollamos hace bastantes años para facilitar la vida a los alumnos que empiezan a programar. Actualmente CodeURJC participa activamente en diversos proyectos software libre: Kurento y OpenVidu (videoconferencias y transmisión de vídeo en tiempo real por Internet). ElasTest (plataforma de testing).


Luis Fernández (Profesor principal del curso)

Doctor e Ingeniero Superior en Informática. Profesor Titular de Escuela Universitaria en la Universidad Politécnica de Madrid. Ha sido coordinador del Máster en Ingeniería Web de la UPM, en el es profesor en la actualidad. Imparte formación y servicios de consultoría a importantess empresas tecnológicas como Ericsson España. Ha participado como socio fundador en una startup spinoff de la UPM galardonada con diversos premios como el ActúaUPM y NeoTec.

Micael Gallego (Profesor de apoyo)

Doctor e Ingeniero Superior en Informática (primer premio nacional al mejor expediente de su promoción). Profesor Titular de Universidad de la URJC. Cuenta con una amplia trayectoria de colaboraciones con empresas tanto como desarrollador software como en la gestión de equipos. Tiene una experiencia docente de más de 15 años impartiendo asignaturas relacionadas con la programación y el desarrollo web en la URJC. Ha participado como Tech Lead y CTO en diversas startups tecnológicas. Actualmente co-dirige CodeURJC, el laboratorio de desarrollo software de la URJC. Es el project lead de los proyectos Kurento y OpenVidu. Es el Coordinador de promoción y relaciones con la empresa de la Escuela Técnica Superior de Ingeniería Informática.

Preguntas frecuentes

Resuelve todas tus dudas.

¿Qué requisitos tengo que cumplir para hacer el curso?

Para matricularte en el curso tienes que estar en uno de estos dos perfiles:

  • Recién titulado o estudiante de último curso de grados relacionados con la informática o telecomunicaciones.
  • Desarrollador software con experiencia profesional

Es necesario que tengas unas nociones básicas de: manejo de línea de comandos linux, HTML, lenguajes de programación Java y JavaScript y sistemas de control de versiones git. Si no tienes conocimientos de alguno de estos elementos, todavía tienes tiempo hasta que comience el curso el 19 de septiembre para buscar información por Internet, algún tutorial, curso, libro gratuito, etc. Si tienes cualquier duda o problema, no dudes en preguntarnos.

¿Cuál es el precio del curso?

El curso tiene un precio de 1.500€. Son 12 semanas de clase, 6 horas a la semana. Es decir, 72 horas de clases en directo en las que puedes preguntar y resolver tus dudas (no son vídeos pregrabados).

¿Qué trámites debo seguir para poder matricularme en el curso?

Manda un correo a micael.gallego@urjc.es y te indicaremos los trámites que tienes que seguir.

¿Se puede fraccionar el pago del importe de la matrícula en varios plazos?

Si, se puede fraccionar el importe total en dos pagos. Una vez admitida tu preinscripción, tendrías que realizar la matrícula. Al realizar la matrícula puedes pagar los 1.500€ en un único pago o bien puedes pagar el 50% y a los tres meses (en enero) el 50% restante.

¿Se puede realizar matrícula condicionada mientras se termina el título que permite el acceso al curso?

Sí, si estás terminando un título de Grado, por ejemplo, y estás a falta de alguna asignatura, prácticas o TFG; podrás empezar el curso mientras finalizas el Grado.

¿Si no tengo titulación universitaria puedo hacer el curso?

Sí, puedes cursarlo siempre que tu experiencia profesional te capacite para ello. Tendremos que evaluar cada caso de forma individualizada. Al terminar el curso obtendrás un certificado de aprovechamiento de la Universidad Rey Juan Carlos en el que consten todos los detalles de los estudios realizados

¿Se puede compatibilizar el curso con un trabajo a tiempo completo o exige dedicación exclusiva?

Estudiar y trabajar a la vez siempre es un esfuerzo, pero este título se ha diseñado para facilitar esta tarea en todo lo posible.

¿Cuántas horas a la semana tendré que dedicar al curso?

Cada semana habrá 6 horas de clase por streaming. Las sesiones serán los Martes y Jueves de 17:30 a 20:30. Es recomendable que asistas a las sesiones en directo. Es la mejor forma de aprovechar el curso. No obstante, si algún no pudieras por algún motivo, siempre podrás echar un vistazo a las clases grabadas.

Para que los alumnos tengan un aprovechamiento óptimo será necesario que realicen un trabajo práctico cada semana. Se estima que tendrás que dedicar entre 4 y 6 horas a estas prácticas. Estas prácticas podrán realizarse de forma individual o por parejas. Al principio puede parecer mucho trabajo, pero es mucho mejor así, porque dedicas el mismo tiempo todas las semanas en vez de cargarte de trabajo en época de entrega de prácticas. No hay exámenes, aunque es posible que en algunas asignaturas tengas que defender tu trabajo (mediante videoconferencia).

¿Qué ocurre si no puedo realizar una práctica o me sale mal?

En caso de que un alumno no entregue la práctica en la fecha indicada o no la realice correctamente tendrá la posibilidad de realizar un trabajo al final del curso.

¿Es necesario desplazarse a la universidad para realizar alguna evaluación de forma presencial?

No, todas las evaluaciones se realizarán on-line. Es decir, si vives fuera de España, viajas mucho por trabajo o tienes horarios complicados, eso no debería ser un obstáculo para realizar el curso.

¿Cuál es el calendario del curso?

El curso comienza el 19 de septiembre de 2023 y finaliza el 7 de diciembre. Se respetarán los festivos nacionales.