{"id":287,"date":"2016-10-17T17:00:41","date_gmt":"2016-10-17T16:00:41","guid":{"rendered":"http:\/\/blog.uclm.es\/josejesuscastro\/?p=287"},"modified":"2016-10-17T17:00:41","modified_gmt":"2016-10-17T16:00:41","slug":"es-util-pl","status":"publish","type":"post","link":"https:\/\/blog.uclm.es\/josejesuscastro\/2016\/10\/17\/es-util-pl\/","title":{"rendered":"\u00bfEs \u00fatil PL?"},"content":{"rendered":"<div align=\"justify\">\nDesde que en el a\u00f1o 1999 asum\u00ed la docencia de la materia de Procesadores de Lenguajes, me he empe\u00f1ado, a\u00f1o tras a\u00f1o, en hacer ver a los alumnos la utilidad de la materia. Para ello me he alejado de la concepci\u00f3n tradicional de explicar esta materia, \u00fanica y exclusivamente, enfocada en la construcci\u00f3n de Compiladores.<\/p>\n<p>De este modo, a\u00fan teniendo como principal objetivo el de introducir y consolidar los principios de funcionamiento de los compiladores e int\u00e9rpretes, he hecho mucho hincapi\u00e9 en mostrar la utilidad de los conocimientos de la materia para la soluci\u00f3n de problemas que requieran una comunicaci\u00f3n m\u00e1s o menos compleja y en el que el dise\u00f1o y especificaci\u00f3n de lenguajes espec\u00edficos del dominio, como t\u00e9cnica de representaci\u00f3n de la informaci\u00f3n estructurada, y de la construcci\u00f3n de sus procesadores asociados, deben ser considerados como una alternativa.<\/p>\n<p>En el antiguo plan de estudio de la Ingenier\u00eda Inform\u00e1tica la materia ten\u00eda car\u00e1cter troncal (deb\u00edan cursarla todos los alumnos), una carga de 9 cr\u00e9ditos y era de duraci\u00f3n anual, lo que nos permit\u00eda la realizaci\u00f3n de pr\u00e1cticas complejas y muy interesantes. En ellas los alumnos deb\u00edan proponer problemas en el que fuera necesario el dise\u00f1o de un lenguaje y el desarrollo e implementaci\u00f3n de su procesador asociado, as\u00ed como la realizaci\u00f3n de alguna acci\u00f3n en base a la entrada. Los alumnos ten\u00edan libertad a la hora de proponer el problema.<\/p>\n<p>Dicha libertad a la hora de elegir el problema, as\u00ed como en la tarea de definici\u00f3n del lenguaje, les permit\u00eda realizar trabajos que pudieran ser \u00fatiles para su investigaci\u00f3n o para su trabajo, en el caso que estuvieran implicados en alguna de dichas actividades, o en general trabajar en alg\u00fan tema que les resultara atractivo y que les motivara a la hora aprender. Como ejemplos, quiero destacar que las herramientas docentes <a href=\"http:\/\/portal.esi.uclm.es\/proletool\/\" target=\"_blank\" rel=\"noopener\"><strong>Proletool<\/strong><\/a> y <a href=\"http:\/\/portal.esi.uclm.es\/selfa\/\" target=\"_blank\" rel=\"noopener\"><strong>Selfa-Pro<\/strong><\/a> tienen sus or\u00edgenes en trabajos pr\u00e1cticos de la materia.<\/p>\n<p>En la nueva titulaci\u00f3n adaptada al EEES, el Grado en Ingenier\u00eda, y su plan de estudio, con cuatro intensificaciones, la materia Procesadores de Lenguajes pas\u00f3 a ser una materia de la intensificaci\u00f3n de Computaci\u00f3n, con una carga de 6 cr\u00e9ditos y una duraci\u00f3n cuatrimestral. La reducci\u00f3n en carga docente y temporal de la materia ha tra\u00eddo consigo algunas modificaciones, las m\u00e1s importantes la reducci\u00f3n de temario y el replanteamiento de las pr\u00e1cticas, ya no pod\u00edan ser tan complejas.<\/p>\n<p>Para seguir motivando a los alumnos, haciendo \u00fatil para ellos los conocimientos de la materia, este curso acad\u00e9mico se ha decidido que como trabajo individual los alumnos aprendan un nuevo lenguaje de programaci\u00f3n desde la perspectiva del dise\u00f1ador de su procesador. Es decir, los alumnos deben ser capaces de distinguir y conocer el vocabulario (l\u00e9xico) del lenguaje, las construcciones (estructuras sint\u00e1cticas) del lenguaje y su significado (su sem\u00e1ntica). En el trabajo pr\u00e1ctico en grupo, los alumnos deber\u00e1n construir el procesador de alguna\/s parte\/s del lenguaje que se est\u00e1 aprendiendo.<\/p>\n<p>El lenguaje de programaci\u00f3n 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\u00f3n, aprendan cu\u00e1l es el trabajo que hace un procesador de lenguajes, y sepan ver su utilidad tanto para aprender nuevos lenguajes de programaci\u00f3n como para resolver otro tipo de problemas mediante el uso de lenguajes espec\u00edficos del dominio y su procesador. \u00a1Qu\u00e9 as\u00ed sea! Yo, este curso, voy a aprender un poco de Ruby, me motiva.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.uclm.es\/josejesuscastro\/wp-content\/uploads\/sites\/53\/2016\/10\/96f71_ruby-logo-r.png\" alt=\"96f71_ruby-logo-r\" width=\"413\" height=\"507\" class=\"aligncenter size-full wp-image-290\" srcset=\"https:\/\/blog.uclm.es\/josejesuscastro\/wp-content\/uploads\/sites\/53\/2016\/10\/96f71_ruby-logo-r.png 413w, https:\/\/blog.uclm.es\/josejesuscastro\/wp-content\/uploads\/sites\/53\/2016\/10\/96f71_ruby-logo-r-244x300.png 244w\" sizes=\"auto, (max-width: 413px) 100vw, 413px\" \/>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Desde que en el a\u00f1o 1999 asum\u00ed la docencia de la materia de Procesadores de Lenguajes, me he empe\u00f1ado, a\u00f1o tras a\u00f1o, en hacer ver a los alumnos la utilidad de la materia. Para ello me he alejado de la concepci\u00f3n tradicional de explicar esta materia, \u00fanica y exclusivamente, enfocada en la construcci\u00f3n de Compiladores. [&hellip;]<\/p>\n","protected":false},"author":85,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-287","post","type-post","status-publish","format-standard","hentry","category-pl"],"_links":{"self":[{"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/posts\/287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/comments?post=287"}],"version-history":[{"count":0,"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/posts\/287\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/media?parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/categories?post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uclm.es\/josejesuscastro\/wp-json\/wp\/v2\/tags?post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}