Archivo de la categoría: Procesadores de Lenguajes

Publicaciones relacionadas con los Procesadores de Lenguajes

Bienvenida motivación a PL

En clase de Procesadores de Lenguajes ha hecho su aparición, sigilosamente y casi casi sin avisar…, la motivación ¡Bienvenida seas!

Ayer les propuse a los alumnos un ejercicio, que se puso en un examen de años anteriores, aunque esto no se lo dije… Hoy al preguntar quien lo había intentado solucionar, todos los alumnos levantaron la mano, aunque sólo había dos propuestas de solución (la de Alberto y la de Luis)… No esperaba más, están aprendiendo y lo que pretendía es simplemente que sintieran curiosidad por ver la solución, y eso creo que se ha conseguido…

Una de las soluciones que se ha presentado, la de Alberto Crespo, no ha sido válida, los mismos alumnos lo han demostrado. Y en ese momento Pablo León ha propuesto una nueva solución. ¡Esto me ha gustado! Ya que significa que ayer Pablo le dio unas cuantas vueltas al problema y hoy se le ha encendido la bombilla. Su propuesta inicial tenía problemas pero sobre la marcha los ha ido arreglando. ¡Perfecto! Enhorabuena, buen trabajo.

La otra propuesta, la de Luis Cabanero, estaba también perfecta, ha realizado un excelente trabajo.

Espero que la motivación se quede con nosotros un tiempo… Y ahora una imagen de la inspiración de Pablo…

wp_20161115_001

¿Es útil PL?

Desde que en el año 1999 asumí la docencia de la materia de Procesadores de Lenguajes, me he empeñado, año tras año, en hacer ver a los alumnos la utilidad de la materia. Para ello me he alejado de la concepción tradicional de explicar esta materia, única y exclusivamente, enfocada en la construcción de Compiladores.

De este modo, aún teniendo como principal objetivo el de introducir y consolidar los principios de funcionamiento de los compiladores e intérpretes, he hecho mucho hincapié en mostrar la utilidad de los conocimientos de la materia para la solución de problemas que requieran una comunicación más o menos compleja y en el que el diseño y especificación de lenguajes específicos del dominio, como técnica de representación de la información estructurada, y de la construcción de sus procesadores asociados, deben ser considerados como una alternativa.

En el antiguo plan de estudio de la Ingeniería Informática la materia tenía carácter troncal (debían cursarla todos los alumnos), una carga de 9 créditos y era de duración anual, lo que nos permitía la realización de prácticas complejas y muy interesantes. En ellas los alumnos debían proponer problemas en el que fuera necesario el diseño de un lenguaje y el desarrollo e implementación de su procesador asociado, así como la realización de alguna acción en base a la entrada. Los alumnos tenían libertad a la hora de proponer el problema.

Dicha libertad a la hora de elegir el problema, así como en la tarea de definición del lenguaje, les permitía realizar trabajos que pudieran ser útiles para su investigación o para su trabajo, en el caso que estuvieran implicados en alguna de dichas actividades, o en general trabajar en algún tema que les resultara atractivo y que les motivara a la hora aprender. Como ejemplos, quiero destacar que las herramientas docentes Proletool y Selfa-Pro tienen sus orígenes en trabajos prácticos de la materia.

En la nueva titulación adaptada al EEES, el Grado en Ingeniería, y su plan de estudio, con cuatro intensificaciones, la materia Procesadores de Lenguajes pasó a ser una materia de la intensificación de Computación, con una carga de 6 créditos y una duración cuatrimestral. La reducción en carga docente y temporal de la materia ha traído consigo algunas modificaciones, las más importantes la reducción de temario y el replanteamiento de las prácticas, ya no podían ser tan complejas.

Para seguir motivando a los alumnos, haciendo útil para ellos los conocimientos de la materia, este curso académico se ha decidido que como trabajo individual los alumnos aprendan un nuevo lenguaje de programación desde la perspectiva del diseñador de su procesador. Es decir, los alumnos deben ser capaces de distinguir y conocer el vocabulario (léxico) del lenguaje, las construcciones (estructuras sintácticas) del lenguaje y su significado (su semántica). En el trabajo práctico en grupo, los alumnos deberán construir el procesador de alguna/s parte/s del lenguaje que se está aprendiendo.

El lenguaje de programación elegido, libremente y de manera consensuada por todos los alumnos, ha sido Ruby, un lenguaje interpretado y orientado a objetos. Espero conseguir el objetivo: motivarles para que mientras aprenden un nuevo lenguaje de programación, aprendan cuál es el trabajo que hace un procesador de lenguajes, y sepan ver su utilidad tanto para aprender nuevos lenguajes de programación como para resolver otro tipo de problemas mediante el uso de lenguajes específicos del dominio y su procesador. ¡Qué así sea! Yo, este curso, voy a aprender un poco de Ruby, me motiva.

96f71_ruby-logo-r

Bienvenidos alumnos de PL

Creo que este año va a ser muy productivo en la asignatura de Procesadores de Lenguajes, para todos y espero que en todos los sentidos. Hoy en el primer día de clase, me he encontrado un grupo muy majo, de gente trabajadora y responsable, con ganas de aprender y atrevidos (ya han tomado la primera decisión: el 87,5% quiere trabajar de otra forma la materia, por lo que así será). Todas estas características son muy importantes cuando uno está formándose. Por mi parte, confío en ser capaz de formularles las preguntas adecuadas para que puedan aprender y de esta forma contribuir en su formación como Ingenieros Informáticos.

Solo una pega, hay 6 alumnos que no han asistido al primer día de clase. ¡Esto está muy mal! Este día suele ser la presentación del profesor, y se cuentan cosas como la forma en la que se va a evaluar y trabajar en la asignatura. Es un día importante para asistir, porque se da información muy útil. Espero que haya sido por una causa justificada.

Deseo que estas sonrisas que muestran en su primer día de clase la conserven hasta el último día. Como les he dicho en clase: la actitud es fundamental para trabajar a gusto y aprender. ¡Bienvenidos al Curso 2016/17!

wp_20160920_001

Preparando el JENUI

Dos días para que den comienzo las XXII Jornadas sobre la Enseñanza Universitaria de la Informática (JENUI 2016), promovidas por la Asociación de Enseñantes Universitarios de la Informática (AENUI) y organizadas por el Departamento de Informática de la Universidad de Almería. Muchas ganas de conocer experiencias de otros profesores universitarios de Informática y grupos de investigación e intercambiar ideas con ellos; debatir sobre el contenido de los programas y los métodos pedagógicos empleados; así como conocer temas y enfoques innovadores orientados a mejorar la docencia de la Informática en las universidades. Yo ya tengo mis presentaciones preparadas.

Finalmente presentaré dos trabajos: “Experiencias de uso y evaluación de una herramienta de apoyo a la enseñanza de Teoría de Autómatas y Lenguajes Formales” (Jueves 7 de Julio – 12:30 – Aula 1) y “Aprendiendo Comercio Electrónico en los Grados de Ingeniería Informática: una experiencia enriquecedora” (Viernes 8 de Julio – 10:00 – Aula 2).

De el segundo trabajo ya he hablado en este blog, por lo que me voy a centrar en el primer trabajo, en el que se presenta SELFA-Pro, una herramienta cuyo objetivo es completar los materiales que existen en la actualidad en la materia de Teoría de Autómatas y Lenguajes Formales, con el fin de ayudar a entender la relación existente entre los distintos objetos que se estudian autómatas y gramáticas.

SELFA-Pro resuelve ejercicios sobre autómatas finitos, expresiones regulares, gramáticas regulares, autómatas con pila y gramáticas libres de contexto. Además se pueden realizar simulaciones sobre los autómatas finitos y los autómatas con pila. La herramienta permite que los alumnos se entrenen en todos los contenidos de la materia, a excepción de las máquinas de Turing, mejorando la calidad tanto en el aprendizaje como en la enseñanza, ya que el profesor puede emplearla para explicar la mayoría de conceptos y algoritmos de la asignatura.

Esta herramienta ya se ha presentado en las JENUI 2008, como novedad se introduce el uso de variables que permite a los alumnos experimentar con los distintos conceptos y aprender a relacionarlos.

SELFA-Pro es un ejemplo de aplicación diseñada y desarrollada empleando los conocimientos de la materia de Procesadores de Lenguajes en la resolución de problemas reales. Es decir, su diseño está basado en un procesador de lenguajes y la interacción con la misma se realiza a través de un lenguaje formal.

Un curso muy gratificante!

A punto de finalizar el curso 2015/16, es momento de analizar cómo ha transcurrido el curso actual y si se ha conseguido el objetivo que se perseguía, que es, proporcionar a los alumnos conocimiento, habilidades y destrezas en las materias de Comercio Electrónico y Procesadores de Lenguajes. Además, también era un objetivo prioritario trabajar, desde el ejemplo y la reciprocidad, algunos valores fundamentales para la persona, tales como la amistad, el respeto, el compañerismo, la solidaridad, la honestidad, la alegría, la responsabilidad, valores que estoy seguro les serán útiles a mis alumnos en su vida y, por supuesto, también en su futuro profesional.

Estoy especialmente contento con la experiencia llevada a cabo en la asignatura de Comercio Electrónico (COE), donde un cambio era necesario en vista de cómo se desarrolló el curso 2014/15. Este curso 2015/16 se presentaba como una nueva oportunidad para crear una experiencia de aprendizaje agradable para todos, y creo que la he aprovechado. Mi impresión con esta asignatura es que conectamos desde el primer día, aunque como ocurre en todas las relaciones personales, ha sido a lo largo del tiempo cuando éstas se han ido fortaleciendo. Creo que se logró crear un ambiente de trabajo relajado, positivo y, lo que es muy importante, productivo. Ambiente que nos ha permitido aprender mientras nos divertíamos. En la experiencia se ha empleado una metodología basada en problemas, en la que un problema real ha sido el instrumento vehicular para presentar los conocimientos de la materia, pero de esto hablaré otro día.

Creo que los alumnos de COE recordarán toda su vida más cómo se trabajó en clase de Comercio Electrónico, que los conocimientos concretos y específicos de la materia. Espero formar parte de los recuerdos de estos alumnos y alumnas para siempre y haberles aportado algo a su vida. Si alguno de ellos lee esta entrada del blog, pues ya saben donde tienen que ir a visitarme en un futuro… ¡Ah! Y desde aquí daros las gracias por hacer posible esta experiencia. También me gustaría dar las gracias a Eduardo León, CEO & Digital Strategist de Bukimedia por su participación en la experiencia, con toda seguridad puedo decir que su aportación ha sido fundamental para transmitir la visión del profesional del campo a los alumnos.

En la asignatura de Procesadores de Lenguajes, se intentó también poner en marcha una metodología basada en problemas, pero en este caso ha funcionado peor, probablemente porque era un problema de laboratorio (es decir elaborado por mi, no real, que no atrajo a los alumnos). Otro de los problemas que me he encontrado es la asistencia a clase, ya que había alumnos que compatibilizaban trabajo con estudios y que no asistían con regularidad a clase, lo cual también ha dificultado la puesta en práctica de la metodología. A nivel de conexión con y en el grupo, debo destacar que la conexión ha sido menor que la conseguida en el grupo de COE. No obstante creo que se ha cumplido el objetivo principal.

Para cerrar esta primera entrada del blog, tengo que decir que aunque el listón se ha quedado alto en Comercio Electrónico, comienzo a trabajar en la planificación del curso que viene para estar a la altura. Y en la asignatura de Procesadores de Lenguajes me pongo en movimiento con la búsqueda del problema real que atraiga a los alumnos. Soy un convencido de que con esta forma de trabajar, metodología basada en problemas, puedo obtener mejores resultados. ¡Ups! Aún no tengo el encargo de esta docencia por parte del Departamento, bueno espero que no haya sorpresas.

foto_coe