Habiendo acabado las clases del Máster de Ingeniería Web y dado que ya sólo me resta realizar el Trabajo Fin de Máster creo que es un buen momento para hacer una reseña sobre cuáles son mis impresiones. Lo que me ha motivado a hacer este artículo ha sido la mala fama que parece haber cogido dicho Máster entre los estudiantes del Grado en Ingeniería Informática de la misma universidad y que se imparte en la misma escuela, además espero que sirva a todos aquellos que estén pensando en cursarlo. No me voy a meter en si esta mala fama es infundada o no, lo que quiero es dar la visión de alguien que ha hecho este máster y qué cosas creo que están bien, están mal o se pueden mejorar.

Con esta premisa, voy a ir reseñando una por una todas las asignaturas del máster. Además también voy a incluir ciertos elementos generales como las actividades externas, el equipamiento, o las diferentes gestiones. Esto lo haré en un orden cronológico que me valdrá además para hacer memoria.

Aspectos generales

Organización

La organización de las asignaturas del máster es secuencial; es decir, no se empieza una asignatura hasta que la anterior haya finalizado y las tareas hayan sido entregadas. Las asignaturas pueden tener tres duraciones: una semana, dos semanas o tres semanas. Las tareas se entregan el lunes antes de las 9 de la mañana, esto es así dado que el horario de clase es de 9 a 12 todos los días. La asistencia a clase es obligatoria teniendo que asistir a un 80% de las clases para optar a la evaluación ordinaria.

Equipamiento

Todos los estudiantes tienen un ordenador -este ordenador muchas veces se le notaba falto de recursos- y dos máquinas virtuales: una máquina Linux y una Windows. Yo a esta última máquina nunca pude acceder, así que en la práctica sólo tenia la Linux. Todas estas máquinas tienen IP pública para poder mandar enlaces a los profesores para la corrección de las prácticas.

Itinerarios

El máster tiene dos itinerarios: el profesional y el investigador. El profesional está dirigido a el trabajo en la empresa y profundizar en tecnologías nuevas que se usan en ella, además tiene una asignatura de prácticas en empresa. El investigador, por su parte, se centra en el método científico y en el trabajo investigador dentro de la informática, no tiene prácticas en empresa y habilita para hacer el doctorado en informática. En mi caso opté por el itinerario de investigación así que sólo os podré dar la visión de las asignaturas de esta rama.

Primer curso

Acto de inauguración primer curso (2014/2015)

Este, quizás, es el momento más amargo en la memoria colectiva de los estudiantes del máster -aunque pueda parecer paradójico dado que es justo el comienzo del máster, con todas las cosas buenas que ello conlleva- y es que hubo un giro inesperado tras la charla. Este fue el anuncio de que se suspendía el turno de las tardes, tanto el de primero como el de segundo. Evidentemente, esta decisión -dicho sea de paso, que no se avisó en ningún momento de esta decisión hasta el comienzo del máster- motivó una gran discusión con los representantes del máster y la Universidad de Oviedo. Podéis leer más sobre este tema en: https://0xnacho.wordpress.com/2014/09/14/la-mafia-de-la-universidad-de-oviedo-cei/

En términos generales fue un problema mal gestionado y con una solución bastante mala.

Administración de Sistemas Operativos

Primera asignatura. Instalación de los ordenadores para el máster, puesta a punto de máquinas virtuales e instalación de servicios básicos como Apache. Es una asignatura introductoria y sirve como base para las siguientes. Lo único que se puede echar de menos es la ausencia de apuntes, toda la información había que buscarla en internet, en contraposición con otras asignatura similares que veremos más adelante.

Lenguajes y estándares de la web

En esta asignatura se vieron estándares como HTML, CSS, JavaScript y jQuery. Con estos conocimientos se elaboraron: una página web personal y unos ejercicios con JavaScript y jQuery. Como parte final de la asignatura se vio Node.js -en años anteriores se veía PHP- y se hizo una página de gestión de tareas.

Programación orientada a objetos

Primera asignatura de tres semanas. En ella se vieron 4 lenguajes de programación + 1. Me explico: 4 lenguajes de programación eran impartidos por los profesores de la asignatura y uno era preparado por los estudiantes que preparaban una charla divulgativa en grupos. Los lenguajes impartidos por los profesores fueron: Ruby, PHP, Python y Scala. Por otro lado, los lenguajes preparados por los alumnos fueron: Hack, Go, Dart y Swift. La entrega final era la realización de una práctica en los 4 lenguajes impartidos.

La asignatura fue muy interesante y enriquecedora en términos generales. Las cosas malas, aunque pocas, a mi modo de ver fueron las siguientes: Scala es un lenguaje extenso y con un paradigma bastante diferente a los otros tres, por lo tanto debería tener un peso en el tiempo que se le dedica mayor que el que realmente se le dio; Swift era un lenguaje recién salido del horno y que sólo se podía probar de una manera completa sobre Mac OS X, esto fue un handicap en la realización del mismo por tener que lidiar con toda la instalación de una máquina virtual con el sistema operativo. Evidentemente esto último no se tuvo en cuenta para la programación de la asignatura.

Diseño y programación de interfaces de usuario

En esta asignatura se impartieron conceptos sobre buen diseño de interfaces de usuario y framework front-end, más específicamente: Bootstrap y jQueryUI. La entrega final era la creación de una página del tipo comercio electrónico, en este caso sólo la parte front-end.

Fue una asignatura interesante y que complementaba correctamente otras asignaturas aunque los tiempos no estaban bien medidos. Sobre todo porque la entrega fue explicada con poco tiempo de antelación antes de la fecha límite de entrega.

Análisis y diseño orientado a objetos

Asignatura dedicada al proceso de un proyecto de software haciendo hincapié en las partes de análisis y diseño. Toda la asignatura estaba centrada en la creación de un documento de análisis y diseño sobre un problema propuesto y esto se llevaba a cabo por los miembros del grupo organizándose por medio de una metodología ágil como Scrum.

A pesar de los problemas que hubo en algunos grupos, en términos generales la asignatura fue muy instructiva. Aunque a más de uno se le quitaron las ganas de dedicarse a esta parte del desarrollo software.

Sistemas de persistencia de objetos

Olvidaos del nombre de esta asignatura porque los contenidos no tienen nada que ver. Esta asignatura cambio de contenidos porque en el grado se da una asignatura casi idéntica.

En esta asignatura se vio como usar Hadoop y específicamente el algoritmo Map-Reduce dentro del mismo. La entrega era un conjunto de ejercicios sobre Hadoop dentro de Amazon Web Services y Azure.

Me pareció muy acertado el cambio de contenido con el fin de dar cosas nuevas. Lo que fue un poco lamentable fue el tener que pagar por el uso de AWS, problemas de presupuesto e infraestructura del momento. Así que ya sabéis, preparad vuestras tarjetas de crédito y no seáis imprudentes con el uso que hacéis de ello. La factura media para la asignatura creo que fue de unos 3€.

Usabilidad, accesibilidad y adaptabilidad de sitios web

Buenas prácticas de usabilidad, accesibilidad y adaptabilidad. Cómo evaluar sitios web según una metodología específica, herramientas para esto y cómo hacer informes con todos estos datos. Los ejercicios eran dos informes de usabilidad y accesibilidad y corregir problemas de usabilidad y accesibilidad en la página web personal creada en la segunda asignatura.

A mí, personalmente, no me gusto la asignatura por la forma de dar los contenidos y por los ejercicios planteados. Se hacía un trabajo muy pesado y monótono además de no saber si realmente lo estabas haciendo bien.

Arquitecturas y diseño de sitios web

Se vieron diferentes patrones de diseño y arquitectónicos para hacer un sitio web. Estos se fueron introduciendo en diferentes ejemplos cada vez más elaborados, primero sobre un ejemplo sin framework y más adelante basándose en Spring. La entrega final fue la realización de una página web de venta de billetes de autobús con Spring.

Esta asignatura permitió familiarizarse con Spring y conocer un conjunto de patrones de diseño efectivos para futuros desarrollos. Personalmente, una de las mejores asignaturas.

Gestores de contenido web

En esta asignatura se vieron los diferentes tipos de gestores de contenidos del mercado y sus usos. La práctica final era la elaboración de un sitio web, partiendo de una idea primera, con un gestor de contenidos. La asignatura fue entretenida y no fue difícil.

Servicios web

Esta asignatura abordaba las diferentes maneras de construir servicios web así como las mejores prácticas en el diseño de los mismos. Específicamente se vieron las arquitecturas REST y SOAP así como diferentes técnicas de implementación en Java y .Net. La entrega final constaba de la realización de dos servicios web y dos clientes respecto de una idea principal. Esta tarea se realizaba en grupos de tres personas.

Administración de sistemas de persistencia de objetos

Oracle Database en todo su esplendor. Desde la instalación de esta base de datos hasta su administración y su recuperación ante un fallo. La entrega consistía en la realización de un conjunto de ejercicios -como en la primera asignatura, sin apuntes- y una parte opcional de recuperación ante un “saboteo” de la misma.

Sistemas de seguridad en la web

En la asignatura se vieron diferentes tipos de ataques y como estos se podían llevar a cabo. La temática fue bastante completa. La entrega final consistió en la elaboración de un conjunto de ejercicios propuestos de un guion dado.

En estas asignaturas siempre tengo la misma impresión y es que siendo una temática tan interesante se podría sacar mucho más de este tipo de asignaturas. Lo mismo me paso en su momento con su asignatura homóloga en el grado.

Modelos de negocio y comercio electrónico en la web

Los diferentes tipos de comercios electrónicos, los gestores de contenidos para este cometido y algunas pasarelas de pago existentes. Además dos clases son impartidas por profesores del Departamento de Economía. La entrega principal, en grupos de tres, era la implementación de una tienda con dos pasarelas de pago: una con Liberbank y otra con Paypal. Las dos entregas individuales eran un análisis contable y una revisión sobre un sector del comercio electrónico.

Aspectos éticos y legales de la web

En esta asignatura se profundizó en las leyes que afectan a la informática como son: la LSSI, la LOPD y la LPI.

La parte mala de esta asignatura es que fue un subconjunto de la asignatura homóloga del grado.

Difusión de contenidos multimedia vía web

En esta asignatura se vio como montar un servicio web para difusión de vídeo y audio online. Como parte de la entrega final se pedía la elaboración de una página con dos plugins multimedia de Wordpress para mostrar vídeos de Plex, HTML5 y montar una radio online. Además de esto se pedía la realización de un vídeo. Todo esto en grupos de tres personas.

Aunque la asignatura sólo duró una semana, tengo un grato recuerdo de la asignatura y sobre todo de la realización del vídeo del cual os pondré aquí el link si mis compañeros me lo permiten.

Desarrollo de software para dispositivos móviles

Esta asignatura se basó sobre todo en Android y en Material Design como lenguaje de diseño visual. La entrega final consistía en la realización de una aplicación que usara varias funcionalidades de Android.

La parte negativa de la asignatura fue que respecto de las asignaturas del grado, sobre la misma temática, no se añadió nada nuevo exceptuando Material Design, que había sido lanzado junto con Android Lollipop unos meses antes. Esto junto con la manera de dar el temario no fue acertada.

Nuevos avances en Web Semántica (Especialidad Investigadora)

Esta asignatura es la primera de la especialidad de investigación, en ella además de las tecnologías de web semántica como son: RDF, OWL, SPARQL, etc…; también se vieron técnicas de recuperación de información y nuevos campos de investigación como la validación de RDF.

La dos entregas finales fueron: un paper de revisión sobre como identificar el género de los usuarios en Twitter y un paper sobre un trabajo de web semántica propio.

Segundo curso

Sistemas de información geográficos y servicios web

Comenzamos el segundo curso viendo el uso de Google Maps y diferentes tipos de representación cartográficos. La entrega final consistía en la elaboración de un servicio que hiciera uso de los mapas de Google y en el cual se superpusiera información propia y de terceros. Esta práctica era en grupos de tres.

Administración de servidores web

En este asignatura se vio como configurar y segurizar servidores web. Además de esto también se dieron nociones básicas de configuración de clusters. La entrega final era un conjunto de ejercicios a realizar de una guía dada por el profesor.

Lo mejor de esta asignatura fue que el contenido era de mucha utilidad para instalar futuros servidores propios y poder segurizarlos de una manera correcta.

Desarrollo e integración de aplicaciones internet

El objetivo de esta asignatura fue ver la utilidad de los sistemas ESB. Ver como estos servicios nos permiten juntar diferentes piezas de software y hacer que trabajen conjuntamente de una manera sencilla. El software utilizado fue Mulesoft. La entrega final era el desarrollo de un proceso de negocio dado.

La parte mala de esta asignatura fue que de primeras no sabíamos muy bien para que valía este software y la experiencia con la herramienta no fue del todo buena por los múltiples errores y por la sensación de que se acababa antes programándolo.

Dirección y gestión de proyectos web

Agarraos que vienen curvas. Esta asignatura versó sobre como llevar a cabo un proyecto de informática: gestión de costes, gestión de riesgos, planificación, MS Project, ITIL, etc… Eran tres entregas principales de las cuales había que ir haciendo iteraciones siendo la última la que contaba para la nota. Además de estas habías algunas otras entregas complementarias.

Aunque esta asignatura no suele gustar y yo no soy una excepción, en el grado todavía aportaba. En esta ocasión la planificación era nefasta, los ejemplos -ejemplos que la mayoría de las veces no existían porque según el profesor eso era dar la solución a la tarea- eran malos, no había coordinación entre los profesores, las charlas no aportaban -no aportaban porque no se daba una visión previa sobre el tema- y cuando todos estos problemas eran planteados a los profesores nos encontrábamos con una negativa total y una intransigencia apabullante. Estos problemas terminaron llevando el tema a manos del director del máster. Esta asignatura, sin lugar a dudas, ha sido la asignatura más amarga del máster.

Lenguajes y plataformas de programación (Especialidad Investigadora)

Esta asignatura versó sobre diferentes técnicas usadas en lenguajes de programación. Junto a esto se dieron muchos contenidos sobre la elaboración de artículos científicos. La meta era la elaboración de un artículo basándose en un tema previamente asignado. Además de esto se dio un seminario sobre programación orientada a aspectos. La gran parte de la materia se dio en inglés.

El contenido fue interesante y sirve para aprender técnicas avanzadas que incluyen los lenguajes de programación. El uso del inglés para dar la materia creo que es algo acertado y que se debería extender a más asignaturas. Sin embargo, en la realización del artículo se tenía la sensación de estar dando bandazos. Quizás era la intención…

Diseño y construcción de MDA (Especialidad Investigadora)

En esta asignatura se vieron las bases del desarrollo de software dirigido por modelos: DSLs con Groovy, xText y Sirius. Las entregas finales eran las siguientes: un DSL simple con Groovy, lenguaje para creación de tiendas con xText, herramienta gráfica para la creación de tiendas con Sirius y un artículo científico sobre el lenguaje desarrollado.

La asignatura fue bastante interesante y además refresca algunos conceptos sobre compiladores ya que en la rama de investigación no se vuelve a ver esta materia. Lo malo es el poco tiempo de la asignatura y lo apretado de los contenidos y tareas.

Arquitectura y desarrollo de sistemas de e-learning (Especialidad Investigadora)

Esta asignatura abordó diferentes temáticas de e-learning como son: Analíticas de aprendizaje, Educational Data Mining, Mobile Learning y Plataformas de aprendizaje. La entrega consistía en dos partes: la realización de un artículo en alguna de las ramas previamente explicadas y la revisión del artículo de un compañero.

La asignatura, en mi opinión, fue muy interesante por ver todo lo que hay detrás del e-learning, todas las ramas activas que tiene y las diferentes técnicas utilizadas. En definitiva, creo que fue una asignatura bien planificada.

Arquitectura de la información en la web (Especialidad Investigadora)

En esta asignatura se vio como se ha de organizar la información dentro de la web y en los contenidos visuales en general, como se comportan los usuarios y algunas técnicas de medición. Las 4 entregas eran las siguientes: una aplicación basada en interacción natural, una solución para un accidente aéreo, una revisión sobre un buen diseño y un mal diseño y otra revisión de patrones de diseño diferentes sobre un mismo elemento en diferentes webs. Todas estas entregas iban acompañadas de su presentación y en algunos casos un poster resumiendo el tema. En este caso toda la asignatura era en inglés, incluyendo las presentaciones de los alumnos.

Destacar, como ya hice en la otra asignatura, el uso del inglés. Además en este caso también permite mejorar el nivel del inglés hablado de los alumnos. El contenido estaba bien pero en algún caso parecía que iba a ser complicado llegar a la entrega, dado que se entregaba el viernes y no el lunes.

Como se puede ver hay cosas buenas y malas y creo que es justo decir que mereció la pena cursar el máster. Creo que las cosas buenas y lo aprendido resaltan mucho más que los momentos malos. A fin de cuentas, nada es perfecto.

Hasta aquí la descripción de las asignaturas y mi opinión sobre ellas. Hay que tener en cuenta que alguno de los contenidos de las asignaturas puede haber cambiado. Espero que este post os pueda ayudar en algo si estáis en duda si cursar estos estudios o no. Si me acuerdo de algo más o creo que haya algo interesante que añadir editaré este post.

Un abrazo,
Herminio García