12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>VIII</strong> <strong>Jornadas</strong> <strong>de</strong> Enseñanza <strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> InformáticaCáceres, <strong>de</strong>l 10 al 12 <strong>de</strong> julio <strong>de</strong> 2002


<strong>VIII</strong> <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> InformáticaJENUI 2002Departamento <strong>de</strong> InformáticaUniversidad <strong>de</strong> ExtremaduraCáceres, <strong>de</strong>l 10 al 12 <strong>de</strong> julio <strong>de</strong> 2002


ACTAS DE LAS <strong>VIII</strong> JORNADAS DE ENSEÑANZA UNIVERSITARIA DE LAINFORMÁTICA (JENUI 2002)ORGANIZADAS POR:Departamento <strong>de</strong> InformáticaUniversidad <strong>de</strong> ExtremaduraENTIDADES COLABORADORAS:Asociación <strong>de</strong> Enseñantes Universitarios <strong>de</strong> Informática (AENUI)Asociación <strong>de</strong> Ingenieros Informáticos <strong>de</strong> Extremadura (AIIEx)Ayuntamiento <strong>de</strong> CáceresDiputación <strong>de</strong> Cáceres. Institución Cultural EL BROCENSEEscue<strong>la</strong> Politécnica <strong>de</strong> Cáceres (Universidad <strong>de</strong> Extremadura)Junta <strong>de</strong> ExtremaduraLa CaixaMinisterio <strong>de</strong> Ciencia y Tecnología© Los autoresPrimera edición: julio <strong>de</strong> 2002


COMITÉ DE PROGRAMARosalía Ros PeñaPRESIDENTA(Universidad <strong>de</strong> Alcalá)Joaquín Ezpeleta MateoJesús García MolinaFaraón Llorens LargoCristóbal Pareja FloresEdmundo Tovar CaroMiguel Valero García(Universidad <strong>de</strong> Zaragoza)(Universidad <strong>de</strong> Murcia)(Universidad <strong>de</strong> Alicante)(Universidad Complutense <strong>de</strong> Madrid)(Universidad Politécnica <strong>de</strong> Madrid)(Universitat Politècnica <strong>de</strong> Catalunya)COMITÉ ORGANIZADORUNIVERSIDAD DE EXTREMADURAPi<strong>la</strong>r Bachiller BurgosPablo Carmona <strong>de</strong>l BarcoAndrés Caro LindoAntonio Castillo MartínezPedro J. Clemente MartínMª. Luisa Durán Martín-M.Pablo García RodríguezAlfonso Gazo CerveroAlberto Gómez ManchaJulia González RodríguezJosé Luis González SánchezJosé Luis Herrero AgustínAdolfo Lozano TelloMerce<strong>de</strong>s Macías GarcíaJuan Carlos Manzano PérezJoe Miró Julià (U. Illes Balears)Juan Manuel Murillo RodríguezAmparo Navasa MartínezMª. Antonia Nieto SantistebanMiguel Ángel Pérez ToledanoAntonio Polo MárquezJuan Carlos Preciado RodríguezFélix Rodríguez RodríguezMiryam Sa<strong>la</strong>s SánchezMarisol Sánchez AlonsoFernando Sánchez Figueroa


COLABORADORES EN EL PROCESO DE REVISIÓNJosé J. Aguilera (UJAEN)Pedro J. Álvarez (UNIZAR)Fernando Álvarez (UNIOVI)Joan Aranda (UPC)Sandra Baldassarri (UNIZAR)José R. Balsas (UJAEN)Pedro Blesa (UPV)José M. Burgos (UPM)Mateo Camps (UPCO)Juan C. Cano (UPV)Patricia Compañ (UA)Regino Criado (URJC)Antonio J. <strong>de</strong> Vicente (UAH)A<strong>de</strong><strong>la</strong>ida Delgado (UIB)Juan J. Escribano (UEM)José Fortes (ULPGC)Isabel Gallego (UPC)Javier Galve (UPM)José A. Gámez (UCLM)Mª. José García (UEM)Mª. José Gil (DEUSTO)Domingo Giménez (UM)Estrel<strong>la</strong> Gómez (UEM)Mª. Engracia Gómez (UPV)Antoni Grau (UPC)Ángel Grediaga (UA)Carlos Gregorio (UCM)Juan A. Guerrero (UCLM)Inés Jacob (DEUSTO)Mª. Carmen Juan (UPV)Pedro J. Lara (UEM)Lenin G. Lemus (UPV)Fernando Llopis (UA)Antonio Maña (UMA)Esperanza Marcos (URJC)Antonio Martí (UPV)Juan C. Martínez (UPV)Manuel Mejías (US)Joe Miró (UIB)Andrés Molina (UJAEN)Antonio Moreno (URV)Susana Muñoz (UPM)Raúl Murciano (UEM)Iñaki I. Ochoa (UNIZAR)Santiago Ortego (EUPMT)Ángel F. Perles (UPV)José Poveda (UV)Alberto Prieto (UGR)Jorge Ramió (UPM)Isabel Ramos (US)Miguel Rebollo (UPV)Jairo Rocha (UIB)Francisco Ruiz (UCLM)Jesús Salido (UCLM)Fermín Sánchez (UPC)Lour<strong>de</strong>s Tajes (UNIOVI)Maite Urretavizcaya (EHU)Alberto Ver<strong>de</strong>jo (UCM)Ferran Virgós (UPC)F. Javier Zarazaga (UNIZAR)


PRÓLOGOEl presente volumen contiene los trabajos presentados en <strong>la</strong>s <strong>VIII</strong> <strong>Jornadas</strong> <strong>de</strong>Enseñanza <strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática (JENUI 2002), celebradas en Cáceres losdías 10, 11 y 12 <strong>de</strong> julio <strong>de</strong> 2002.Esta octava edición ha afianzado <strong>la</strong> importancia <strong>de</strong> <strong>la</strong>s <strong>Jornadas</strong>, a <strong>la</strong>s que se hanpresentado más <strong>de</strong> 140 co<strong>la</strong>boraciones. Este aumento <strong>de</strong> ponencias enviadas, a<strong>de</strong>más<strong>de</strong> suponer un trabajo enorme para el cuerpo <strong>de</strong> revisores, ha contribuido alincremento <strong>de</strong> <strong>la</strong> calidad global y supone una garantía <strong>de</strong> continuidad <strong>de</strong> estas<strong>Jornadas</strong>.Finalmente se aceptaron 80 trabajos (lo que <strong>de</strong>termina un 57 % <strong>de</strong> índice <strong>de</strong>aceptación), <strong>de</strong>spués <strong>de</strong> una ardua <strong>la</strong>bor <strong>de</strong> selección <strong>de</strong>l Comité <strong>de</strong> Programa, dado elnúmero y calidad <strong>de</strong> <strong>la</strong>s contribuciones enviadas <strong>de</strong>s<strong>de</strong> 35 universida<strong>de</strong>s españo<strong>la</strong>s.Aunque no se han recibido trabajos <strong>de</strong> todas <strong>la</strong>s universida<strong>de</strong>s, sí <strong>de</strong>be <strong>de</strong>cirse que haycontribuciones <strong>de</strong> muchas comunida<strong>de</strong>s autónomas, acercándonos al objetivo <strong>de</strong>llegar a ser el foro <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> Informática universitaria en España.Estas <strong>Jornadas</strong> no hubieran sido posibles sin el trabajo voluntario y<strong>de</strong>sinteresado <strong>de</strong> muchas personas. Quisiéramos agra<strong>de</strong>cer a todos los miembros <strong>de</strong>lComité <strong>de</strong> Programa su asesoramiento en muchas <strong>de</strong>cisiones sobre <strong>la</strong> organización <strong>de</strong><strong>la</strong>s <strong>Jornadas</strong>. También queremos agra<strong>de</strong>cer su ayuda a <strong>la</strong>s entida<strong>de</strong>s co<strong>la</strong>boradoras,cuyo patrocinio ha resultado fundamental para alcanzar nuestro objetivo.Finalmente, <strong>de</strong>bemos expresar nuestra gratitud a todos los autores que enviaronsus artículos y a los participantes en estas <strong>Jornadas</strong>, que son los que garantizan eléxito <strong>de</strong> JENUI.Cáceres, julio <strong>de</strong> 2002El Comité Organizador <strong>de</strong> JENUI2002


CONTENIDOSPonenciasTema estratégico: Formación a distancia y entornos virtuales .........3Necesida<strong>de</strong>s específicas para <strong>la</strong> docencia <strong>de</strong> programación en un entorno virtual .....5Ma. Jesús Marco Galindo, Josep Prieto BlázquezUniversitat Oberta <strong>de</strong> CatalunyaP<strong>la</strong>taforma <strong>de</strong> enseñanza <strong>de</strong> lenguajes <strong>de</strong> programación a través <strong>de</strong> Internet:Proyecto IDEFIX ......................................................................................................13José E. Labra Gayo, José M. Morales Gil, Roberto Turrado C.Universidad <strong>de</strong> Oviedo, Fachhochschule of Ulm (Alemania)Colecciones, correctores y generadores automáticos <strong>de</strong> ejercicios <strong>de</strong>programación ............................................................................................................21Alessandra Gallinari, Carlos A. Lázaro Carrascosa, J. ÁngelVelázquez Iturbi<strong>de</strong>Universidad Rey Juan CarlosResolución <strong>de</strong> ejercicios <strong>de</strong> programación en <strong>la</strong> web ...............................................29Sergio Luján-Mora, Fernando LlopisUniversidad <strong>de</strong> AlicantePrototipo <strong>de</strong> entorno docente virtual adaptable por niveles ......................................37José-Carlos Sánchez AlonsoUniversidad <strong>de</strong> ExtremaduraSHAAD: sistema hipermedia adaptable, adaptativo y dinámico para <strong>la</strong>entrega <strong>de</strong> contenidos hipermedia.............................................................................45David Mérida, Ramón FabregatUniversitat <strong>de</strong> GironaGestión Automática <strong>de</strong> entrega <strong>de</strong> Prácticas vía web ...............................................53Juan Carlos Rodríguez <strong>de</strong>l PinoUniversidad <strong>de</strong> Las Palmas <strong>de</strong> Gran Canaria


xContenidosPrácticas internacionales integradas <strong>de</strong> e-business ...................................................59Francisco Araque Cuenca, Juan José Gaitán Pinto, V<strong>la</strong>sta H<strong>la</strong>vickovaUniversidad <strong>de</strong> Granada, Universidad Nacional <strong>de</strong>l Litoral (Argentina),Universidad <strong>de</strong> Económicas <strong>de</strong> Praga (Rep. Checa)Nuevas Tecnologías <strong>de</strong> <strong>la</strong> Programación en Internet................................................67Antonio Fernán<strong>de</strong>z, José Antonio Piedra, Miguel Ángel P<strong>la</strong>zaUniversidad <strong>de</strong> AlmeriaLa docencia virtual como herramienta <strong>de</strong> apoyo en una metodologíaorientada a Grupos <strong>de</strong> trabajo. Aplicación a <strong>la</strong> asignatura NuevasTecnologías <strong>de</strong> <strong>la</strong> Programación...............................................................................75Antonio Fernán<strong>de</strong>z, José Antonio Piedra, Miguel Ángel P<strong>la</strong>zaUniversidad <strong>de</strong> AlmeriaUtilización <strong>de</strong> Internet para <strong>la</strong> enseñanza <strong>de</strong> sistemas digitales................................83Miguel A. Vega Rodríguez, Juan M. Sánchez Pérez, Manuel Rubio<strong>de</strong>l So<strong>la</strong>r, Francisco Chávez <strong>de</strong> <strong>la</strong> O, Juan A. Gómez PulidoUniversidad <strong>de</strong> ExtremaduraTema estratégico: Fomento <strong>de</strong> habilida<strong>de</strong>s <strong>de</strong> trabajo en grupo....89Propuesta metodológica para <strong>la</strong> mejora <strong>de</strong> <strong>la</strong> calidad y <strong>la</strong> excelencia <strong>de</strong> <strong>la</strong>educación superior en informática mediante el fomento <strong>de</strong>l trabajo enequipo .......................................................................................................................91José María Gutiérrez, Javier Macías, José Ramón Hilera, JoséAntonio GutiérrezUniversidad <strong>de</strong> AlcaláUn mo<strong>de</strong>lo para aplicación sistemática <strong>de</strong> Aprendizaje Cooperativo.......................99Antoni Pérez-Poch, Ferran Virgós BelUniversidad Politécnica <strong>de</strong> CataluñaIntegración <strong>de</strong>l aprendizaje individual y <strong>de</strong>l co<strong>la</strong>borativo en un sistemahipermedia adaptativo.............................................................................................107Carlos Arteaga, Ramón FabregatUniversitat <strong>de</strong> Girona


ContenidosxiArquitectura <strong>de</strong> or<strong>de</strong>nadores.....................................................................115Un computador didáctico elemental (CODE-2)......................................................117A. Prieto, F.J. Pe<strong>la</strong>yo, F. Gómez-Mu<strong>la</strong>, J. Ortega, A. Cañas, A.Martínez, F.J. Fernán<strong>de</strong>zUniversidad <strong>de</strong> GranadaEnseñanza <strong>de</strong> <strong>la</strong> Unidad Aritmético-Lógica en <strong>la</strong> asignatura <strong>de</strong>Arquitectura <strong>de</strong> Computadores <strong>de</strong> I. T. Informática <strong>de</strong> Gestión .............................125Antonio J. <strong>de</strong> Vicente, Manuel Prieto, Abraham <strong>de</strong>l RíoUniversidad <strong>de</strong> AlcaláFacilitando el aprendizaje <strong>de</strong> <strong>la</strong> Arquitectura <strong>de</strong>l Juego <strong>de</strong> Instrucciones...............131José M. C<strong>la</strong>ver Iborra, María I. Castillo CatalánUniversitat Jaume IImpacto <strong>de</strong>l nuevo software <strong>de</strong> simu<strong>la</strong>ción en <strong>la</strong>s prácticas <strong>de</strong> estructuras <strong>de</strong>computadores .........................................................................................................139Juan Carlos Cano, Salvador Petit, Julio SahuquilloUniversidad Politécnica <strong>de</strong> ValenciaDesarrollo <strong>de</strong> una tarjeta <strong>de</strong> adquisición <strong>de</strong> datos para <strong>la</strong> docencia <strong>de</strong>Sistemas Periféricos................................................................................................147Germán Galeano Gil, Francisco Fernán<strong>de</strong>z <strong>de</strong> VegaUniversidad <strong>de</strong> ExtremaduraBases <strong>de</strong> datos...................................................................................................153Análisis <strong>de</strong>l tratamiento <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos en los currícu<strong>la</strong>internacionales: comparación con el currículum <strong>de</strong> Blesa et al. (1999)..................155Mario Piattini, Coral Calero, Francisco RuizUniversidad <strong>de</strong> Castil<strong>la</strong>-La ManchaUna Herramienta para el Aprendizaje <strong>de</strong>l Álgebra Re<strong>la</strong>cional...............................163Carmen Hernán<strong>de</strong>z, Yania Crespo, Pi<strong>la</strong>r Romay, Miguel AngelLagunaUniversidad <strong>de</strong> Val<strong>la</strong>dolidUtilización <strong>de</strong> versiones <strong>de</strong> tab<strong>la</strong>s en <strong>la</strong> docencia <strong>de</strong> SQL interactivo....................171Mª Belén Vaquerizo García, Angel Arroyo Puente, Jesús ManuelMau<strong>de</strong>s RaedoUniversidad <strong>de</strong> Burgos


xiiContenidosSQL Programado <strong>de</strong>s<strong>de</strong> Java: profundización en el diseño y acceso a bases<strong>de</strong> datos consolidando el conocimiento <strong>de</strong>l lenguaje ..............................................179Josep Maria Marco SimóUniversitat Oberta <strong>de</strong> CatalunyaCalidad y evaluación <strong>de</strong> <strong>la</strong> docencia .......................................................187Mejoras en <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> docencia <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> asignatura Fundamentos<strong>de</strong> Informática.........................................................................................................189Miguel A. Vega Rodríguez, Juan M. Sánchez Pérez, Juan A. GómezPulidoUniversidad <strong>de</strong> ExtremaduraEstudio <strong>de</strong> <strong>la</strong> influencia sobre el rendimiento académico <strong>de</strong> <strong>la</strong> nota <strong>de</strong>acceso y proce<strong>de</strong>ncia (COU/FP) en <strong>la</strong> E.U. <strong>de</strong> Informática....................................197Jorge Más, José M. Valiente, Luisa Zúnica, Rosa Alcover, José V.Benlloch, Pedro BlesaUniversidad Politécnica <strong>de</strong> ValenciaAnálisis <strong>de</strong> <strong>la</strong> integración <strong>de</strong>l uso <strong>de</strong> aplicaciones <strong>de</strong> apoyo a <strong>la</strong> docenciauniversitaria en Internet ..........................................................................................205Piedad Garrido Picazo, Fernando Naranjo Palomino, Sergio AlbiolPérez, Francisco J. Martínez DomínguezUniversidad <strong>de</strong> ZaragozaAlgunas consi<strong>de</strong>raciones sobre el léxico utilizado en <strong>la</strong> docencia <strong>de</strong> <strong>la</strong>Informática..............................................................................................................213Alberto Prieto, Antonio Cañas, Gregorio Fernán<strong>de</strong>zUniversidad <strong>de</strong> Granada, Universidad Politécnica <strong>de</strong> MadridEvaluación <strong>de</strong>l alumnado.............................................................................221Métodos Alternativos <strong>de</strong> evaluación basados en el sistema <strong>de</strong> honor.....................223Emilio Camahort, Francisco AbadUniversidad Politécncia <strong>de</strong> ValenciaSCRAE'Web: Sistema <strong>de</strong> Corrección y Revisión Automática <strong>de</strong> Exámenesa través <strong>de</strong> <strong>la</strong> WEB..................................................................................................231Nieves Pavón, José Ramón Cano, Francisco Márquez, Alfredo SáinzUniversidad <strong>de</strong> Huelva


ContenidosxiiiInformática en otras carreras....................................................................237Docencia sobre Internet en <strong>la</strong> Diplomatura <strong>de</strong> Estadística <strong>de</strong> <strong>la</strong> Universidad<strong>de</strong> Zaragoza.............................................................................................................239Ángel <strong>de</strong> Miguel Artal, Jorge Lloret GazoUniversidad <strong>de</strong> ZaragozaAplicando Técnicas <strong>de</strong> Mejora <strong>de</strong> <strong>la</strong> Enseñanza <strong>de</strong> <strong>la</strong> Inteligencia Artificialen <strong>la</strong> Licenciatura en Documentación.....................................................................247Carlos Carrascosa, Vicente Julián, Miguel A. SalidoUniversidad Politécnica <strong>de</strong> ValenciaPropuesta para <strong>la</strong> asignatura <strong>de</strong> Introducción a los computadores <strong>de</strong> <strong>la</strong>ETSII <strong>de</strong> <strong>la</strong> UPV.....................................................................................................255M. Carmen Juan Lizandra, José Antonio Gil GómezUniversidad Politécnica <strong>de</strong> ValenciaIngeniería <strong>de</strong>l Software.................................................................................263Ingeniería <strong>de</strong>l Software aplicada a un Laboratorio <strong>de</strong> Introducción a <strong>la</strong>Programación en Ada..............................................................................................265María José García, Pedro Lara, Luis Fernán<strong>de</strong>z, Alberto DíazUniversidad Europea CEES, Centro <strong>de</strong> Estudios Superiores Felipe II- UCMUna herramienta para <strong>la</strong> enseñanza <strong>de</strong> patrones en Ingeniería <strong>de</strong>l Software...........273Macario Polo, Juan Ángel Gómez, Mario Piattini, Francisco RuizUniversidad <strong>de</strong> Castil<strong>la</strong>-La ManchaIngeniería <strong>de</strong> Agentes Software..............................................................................281Òscar Coltell, Ricardo ChalmetaUniversitat Jaume IReparto <strong>de</strong> <strong>la</strong> carga <strong>de</strong> trabajo en <strong>la</strong> realización <strong>de</strong> prácticas en grupomediante una herramienta <strong>de</strong> estimación................................................................289Macario Polo, Mario Piattini, Francisco RuizUniversidad <strong>de</strong> Castil<strong>la</strong>-La ManchaUna Experiencia en Evaluación Continua Multicriterio Aplicada en unLaboratorio <strong>de</strong> Desarrollo <strong>de</strong> Software...................................................................295Patricio LetelierUniversidad Politécnica <strong>de</strong> Valencia


xivContenidosIntegración <strong>de</strong> teoría y práctica/gestión y <strong>de</strong>sarrollo en <strong>la</strong> docencia <strong>de</strong> <strong>la</strong>ingeniería <strong>de</strong>l software............................................................................................303Pablo GervásUniversidad Complutense <strong>de</strong> MadridInteligencia Artificial.....................................................................................311SMIT:Diseño e Implementación <strong>de</strong> un agente sintético <strong>de</strong> presentaciónpara <strong>la</strong>s Unida<strong>de</strong>s <strong>de</strong> Soporte a <strong>la</strong> Docencia <strong>de</strong>l PLAN-G......................................313Maria Agui<strong>la</strong>r, C<strong>la</strong>ra Inés Peña, Ramón FabregatUniversitat <strong>de</strong> GironaDocencia <strong>de</strong> prácticas <strong>de</strong> Tratamiento Digital <strong>de</strong> Imágenes y <strong>de</strong> VisiónArtificial en <strong>la</strong> Universidad <strong>de</strong> Almería..................................................................321Francisco Guindos Rojas, José Antonio Piedra Fernán<strong>de</strong>zUniversidad <strong>de</strong> AlmeríaMétodos pedagógicos innovadores...........................................................327Enseñar informática es como ..................................................................................329Daniel Gayo Avello, Hortensia Fernán<strong>de</strong>z CuervoUniversidad <strong>de</strong> OviedoCreatividad y resolución <strong>de</strong> problemas en <strong>la</strong>s carreras <strong>de</strong> informática ...................337Hermenegildo Gil Gómez, José O. Montesa Andrés, José AlborsGarrigósUniversidad Politécnica <strong>de</strong> ValenciaCómo conseguir que los alumnos hagan más ejercicios .........................................343Miguel Valero-GarcíaUniversitat Politècnica <strong>de</strong> CatalunyaCómo NO hacer unas prácticas <strong>de</strong> programación...................................................351Agustín Cernuda <strong>de</strong>l RíoUniversidad <strong>de</strong> OviedoLa autoevaluación como método <strong>de</strong> aprendizaje ....................................................359Daniel Gayo Avello, Hortensia Fernán<strong>de</strong>z Cuervo, Fernando TorreCervigónUniversidad <strong>de</strong> Oviedo


ContenidosxvNuevas Técnicas <strong>de</strong> Aprendizaje: Cybergymkhana................................................367Pedro José Lara Bercial, Juan José Escribano, David AtauriUniversidad Europea CEESAplicación <strong>de</strong> <strong>la</strong>s directivas EUROPA en <strong>la</strong> asignatura <strong>de</strong> Sistemas <strong>de</strong>Transmisión <strong>de</strong> Datos (Programas AME2 y 3).......................................................373José Luís Poza Luján, Alberto Bonastre Pina, José Salvador OliverGilUniversidad Politécnica <strong>de</strong> ValenciaUna herramienta <strong>de</strong> apoyo para <strong>la</strong> enseñanza <strong>de</strong> informática en estudiosempresariales ..........................................................................................................381Pedro L. Pérez Serrano, Luis Arévalo RosadoUniversidad <strong>de</strong> ExtremaduraRepresentación interna y aritmética <strong>de</strong> los números en computadores:Activida<strong>de</strong>s para el <strong>la</strong>boratorio ...............................................................................389Ester M. Garzón, Inmacu<strong>la</strong>da García, José-Jesús Fernán<strong>de</strong>zUniversidad <strong>de</strong> AlmeríaUn enfoque algorítmico para enseñar "Visión por Computador" en <strong>la</strong>stitu<strong>la</strong>ciones <strong>de</strong> Informática......................................................................................397A. B. Moreno, A. Sánchez, J. VélezUniversidad Rey Juan CarlosOrganización curricu<strong>la</strong>r y p<strong>la</strong>nes <strong>de</strong> estudio .......................................405Enfoque diacrónico para <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> programación imperativa ..................407L. Fernán<strong>de</strong>z Muñoz, R. Peña, F. Nava, Á. Velázquez Iturbi<strong>de</strong>Universidad Politécnica <strong>de</strong> Madrid, Universidad <strong>de</strong> Alcalá,Universidad Rey Juan Carlos¿Qué po<strong>de</strong>mos enseñar sobre TI y <strong>la</strong> Organización en P<strong>la</strong>nes <strong>de</strong> Estudio <strong>de</strong>Informática?............................................................................................................415Edmundo TovarUniversidad Politécnica <strong>de</strong> MadridPerfil profesional y académico <strong>de</strong> <strong>la</strong> informática en España ..................................423Gloria Martínez, Germán FabregatUniversitat Jaume I


xviContenidosProgramación, algoritmos y estructuras <strong>de</strong> datos .............................431Análisis <strong>de</strong> <strong>la</strong>s propuestas <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> programación orientada aobjetos en los primeros cursos ...............................................................................433L. Fernán<strong>de</strong>z Muñoz, R. Peña, F. Nava, Á. Velázquez Iturbi<strong>de</strong>Universidad Politécnica <strong>de</strong> Madrid, Universidad <strong>de</strong> Alcalá,Universidad Rey Juan CarlosUna propuesta para organizar <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> Orientación a Objetos................441Jesús García Molina, Marcos Menárguez Tortosa, Begoña MorosValleUniversidad <strong>de</strong> MurciaMetodología basada en <strong>de</strong>scomposición funcional y orientación a objetosen <strong>la</strong> introducción a <strong>la</strong> programación......................................................................449Merce<strong>de</strong>s Gómez AlbarránUniversidad Complutense <strong>de</strong> MadridProgramación en Internet: La enseñanza <strong>de</strong> una nueva filosofía <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> aplicaciones informáticas ..................................................................457Sergio Luján-Mora, Jaume Aragonés FerreroUniversidad <strong>de</strong> AlicanteUtilización <strong>de</strong> prácticas con gráficos 3D animados en <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>programación orientada a objetos ...........................................................................465Javier Macías, José María Gutiérrez, José Ramón Hilera, JoséAntonio GutiérrezUniversidad <strong>de</strong> AlcaláAprendizaje práctico <strong>de</strong> patrones <strong>de</strong> diseño en asignaturas <strong>de</strong> programación<strong>de</strong> nivel III...............................................................................................................471Raúl Marticorena Sánchez, Carlos López Nozal, César I. GarcíaOsorio, Carlos Pardo Agui<strong>la</strong>rUniversidad <strong>de</strong> BurgosRobótica e informática industrial.............................................................479Propuesta metodológica para <strong>la</strong> impartición <strong>de</strong> Informática Industrial en <strong>la</strong>titu<strong>la</strong>ción <strong>de</strong> Ingeniería en Automática y Electrónica en el marco <strong>de</strong>lproyecto EUROPA .................................................................................................481Juan Vte. Capel<strong>la</strong>, Rafael OrsUniversidad Politécnica <strong>de</strong> Valencia


ContenidosxviiRobótica para <strong>la</strong>s Ingenierías en Informática en <strong>la</strong> Universidad <strong>de</strong> Alicante..........487Miguel Ángel Cazor<strong>la</strong>, Otto Colomina, Juan Manuel SáezUniversidad <strong>de</strong> AlicanteLa enseñanza <strong>de</strong> Ingeniería <strong>de</strong> Sistemas y Electrónica mediante el<strong>la</strong>boratorio <strong>de</strong> robots autónomos.............................................................................493Jesús Salido Tercero, Jorge Sanz AlcoleaUniversidad <strong>de</strong> Castil<strong>la</strong>-La ManchaDesarrollo <strong>de</strong> prototipos hardware para una maqueta <strong>de</strong> tren con finesdocentes ..................................................................................................................501Vicente Lorente, Silvia Terrasa, Ana GarcíaUniversidad Politécnica <strong>de</strong> ValenciaiFOTON. Herramienta didáctica <strong>de</strong> bajo coste para el <strong>de</strong>sarrollo <strong>de</strong>sistemas basados en microcontro<strong>la</strong>dor....................................................................507Norberto Cañas <strong>de</strong> Paz, Gracián Triviño BarrosUniversidad Politécnica <strong>de</strong> MadridExperiencia docente en el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones empotradas conMarteOS..................................................................................................................515Silvia Terrasa, Patricia Balbastre, Alfons CrespoUniversidad Politécnica <strong>de</strong> ValenciaSistemas distribuidos y paralelos..............................................................521EDIPO: Un entorno para el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones en entornosdistribuidos .............................................................................................................523F. Almeida, D. González, L. M. Moreno, C. A. De PablosUniversidad <strong>de</strong> La LagunaSistemas operativos ........................................................................................531La asignatura Sistemas Operativos I en el 2mil2 ....................................................533José Antonio Gómez Hernán<strong>de</strong>zUniversidad <strong>de</strong> Granada


xviiiContenidosTelemática..........................................................................................................541Experiencias prácticas sobre el análisis en frecuencia <strong>de</strong> señales en <strong>la</strong>asignatura Sistemas <strong>de</strong> Transmisión <strong>de</strong> Datos ........................................................543José Oliver, Alberto Bonastre, José Luis PozaUniversidad Politécnica <strong>de</strong> ValenciaTecnologías Web: una asignatura sobre tecnologías <strong>de</strong> Internet en <strong>la</strong>sIngenierías Informáticas .........................................................................................551Otto Colomina, Ignacio Iborra, Miguel Ángel LozanoUniversidad <strong>de</strong> AlicanteTrabajos fin <strong>de</strong> carrera e investigación <strong>de</strong> alumnos .........................557El mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>sarrollo para un Proyecto Fin <strong>de</strong> Carrera en IngenieríaTécnica en Informática ...........................................................................................559Agustín Cernuda <strong>de</strong>l RíoUniversidad <strong>de</strong> OviedoExperiencia <strong>de</strong> realización <strong>de</strong> proyectos fin <strong>de</strong> carrera en el área <strong>de</strong> lossistemas multi-agente..............................................................................................567Antonio Moreno, Aï da VallsUniversidad Rovira i VirgiliAcerca <strong>de</strong> <strong>la</strong> investigación ......................................................................................575Javier OliverUniversidad <strong>de</strong> DeustoDemostracionesUn conjunto <strong>de</strong> herramientas didácticas sencil<strong>la</strong>s para un cursointroductorio sobre mo<strong>de</strong><strong>la</strong>do y evaluación <strong>de</strong> computadores ................................583Xavier Molero, Vicente SantonjaUniversitat Politècnica <strong>de</strong> ValènciaUna aplicación didáctica para el diseño y simu<strong>la</strong>ción <strong>de</strong> re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s.................587Vicente Santonja, Xavier Molero, Miguel CaballerUniversitat Politècnica <strong>de</strong> València


ContenidosxixECODE: Entorno integrado <strong>de</strong> <strong>de</strong>sarrollo para CODE-2........................................591Antonio Martínez, Alberto Prieto, Héctor Pomares, Pedro CastilloUniversidad <strong>de</strong> GranadaSimu<strong>la</strong>dor <strong>de</strong> dispositivos <strong>de</strong> entrada/salida programables.....................................595Manuel Prieto, Antonio J. <strong>de</strong> Vicente, José A. VargasUniversidad <strong>de</strong> AlcaláUna ayuda a <strong>la</strong> aplicación <strong>de</strong> técnicas heurísticas <strong>de</strong> optimización ........................599José Antonio Lozano Alonso, Francisco Javier Echarte AyerraUniversidad <strong>de</strong>l País VascoEntorno multimedia <strong>de</strong> apoyo a <strong>la</strong> docencia ...........................................................603José Poveda, Julian GutierrezUniversitat <strong>de</strong> ValènciaDepuración <strong>de</strong> Programas Haskell a partir <strong>de</strong> especificaciones PRE/POSTen Haskell ...............................................................................................................607J. M. Burgos , J. Galve, J. García, M. SutilUniversidad Politécnica <strong>de</strong> MadridSistema <strong>de</strong> servicios web <strong>de</strong> apoyo a <strong>la</strong> docencia y gestión <strong>de</strong> unaasignatura................................................................................................................611Antonio Cañas, Antonio F. Díaz, Alberto PrietoUniversidad <strong>de</strong> Granada


ÍNDICE DE AUTORESAbad, Francisco .....................................................................................................223Agui<strong>la</strong>r, Maria ........................................................................................................313Albiol Pérez, Sergio ...............................................................................................205Albors Garrigós, José .............................................................................................337Alcover, Rosa ........................................................................................................197Almeida, F. ............................................................................................................523Aragonés Ferrero, Jaume .......................................................................................457Araque Cuenca, Francisco .......................................................................................59Arévalo Rosado, Luis ............................................................................................381Arroyo Puente, Angel ............................................................................................171Arteaga, Carlos ......................................................................................................107Atauri, David .........................................................................................................367Balbastre, Patricia ..................................................................................................515Benlloch, José V. ...................................................................................................197Blesa, Pedro ...........................................................................................................197Bonastre Pina, Alberto ...................................................................................373, 543Burgos, J. M. ..........................................................................................................607Caballer, Miguel ....................................................................................................587Calero, Coral ..........................................................................................................155Camahort, Emilio....................................................................................................223Cano, José Ramón .................................................................................................231Cano, Juan Carlos ..................................................................................................139Cañas <strong>de</strong> Paz, Norberto ..........................................................................................507Cañas, A. ................................................................................................117, 213, 611Capel<strong>la</strong>, Juan Vte. ..................................................................................................481Carrascosa, Carlos .................................................................................................247Castillo Catalán, María I. .......................................................................................131Castillo, Pedro ........................................................................................................591Cazor<strong>la</strong>, Miguel Ángel ...........................................................................................487Cernuda <strong>de</strong>l Río, Agustín ...............................................................................351, 559C<strong>la</strong>ver Iborra, José M. ............................................................................................131Colomina, Otto ..............................................................................................487, 551Coltell, Òscar .........................................................................................................281Crespo, Alfons .......................................................................................................515Crespo, Yania ........................................................................................................163Chalmeta, Ricardo .................................................................................................281Chávez <strong>de</strong> <strong>la</strong> O, Francisco .......................................................................................83<strong>de</strong> Miguel Artal, Ángel ..........................................................................................239<strong>de</strong> Pablos, C. A. .....................................................................................................523<strong>de</strong> Vicente, Antonio J. ....................................................................................125, 595<strong>de</strong>l Río, Abraham ...................................................................................................125


xxiiAutoresDíaz, Alberto ..........................................................................................................265Díaz, Antonio F. ....................................................................................................611Echarte Ayerra, Francisco Javier ...........................................................................599Escribano, Juan José ..............................................................................................367Fabregat, Germán ...................................................................................................423Fabregat, Ramón ......................................................................................45, 107, 313Fernán<strong>de</strong>z Cuervo, Hortensia .........................................................................329, 359Fernán<strong>de</strong>z <strong>de</strong> Vega, Francisco ...............................................................................147Fernán<strong>de</strong>z Muñoz, L. .....................................................................................407, 433Fernán<strong>de</strong>z, Antonio ............................................................................................67, 75Fernán<strong>de</strong>z, F.J. .......................................................................................................117Fernán<strong>de</strong>z, Gregorio ..............................................................................................213Fernán<strong>de</strong>z, José-Jesús ............................................................................................389Fernán<strong>de</strong>z, Luis ......................................................................................................265Gaitán Pinto, Juan José ............................................................................................59Galeano Gil, Germán .............................................................................................147Galve, J. .................................................................................................................607Gallinari, Alessandra ...............................................................................................21García Molina, Jesús ..............................................................................................441García Osorio, César I. ..........................................................................................471García, Ana ............................................................................................................501García, Inmacu<strong>la</strong>da ................................................................................................389García, J. ................................................................................................................607García, María José .................................................................................................265Garrido Picazo, Piedad ..........................................................................................205Garzón, Ester M. ....................................................................................................389Gayo Avello, Daniel ......................................................................................329, 359Gervás, Pablo .........................................................................................................303Gil Gómez, Hermenegildo .....................................................................................337Gil Gómez, José Antonio .......................................................................................255Gómez Albarrán, Merce<strong>de</strong>s ...................................................................................449Gómez Hernán<strong>de</strong>z, José Antonio ...........................................................................533Gómez Pulido, Juan A. ....................................................................................83, 189Gómez, Juan Ángel ................................................................................................273Gómez-Mu<strong>la</strong>, F. .....................................................................................................117González, D. ..........................................................................................................523Guindos Rojas, Francisco ......................................................................................321Gutiérrez, José Antonio ...................................................................................91, 465Gutiérrez, José María .......................................................................................91, 465Gutierrez, Julian .....................................................................................................603Hernán<strong>de</strong>z, Carmen ...............................................................................................163Hilera, José Ramón ..........................................................................................91, 465H<strong>la</strong>vickova, V<strong>la</strong>sta ...................................................................................................59Iborra, Ignacio ........................................................................................................551Juan Lizandra, M. Carmen .....................................................................................255Julián, Vicente .......................................................................................................247Labra Gayo, José E. .................................................................................................13


AutoresxxiiiLaguna, Miguel Angel ...........................................................................................163Lara Bercial, Pedro José ................................................................................265, 367Lázaro Carrascosa, Carlos A. ...................................................................................21Letelier, Patricio ....................................................................................................295López Nozal, Carlos ..............................................................................................471Lorente, Vicente ....................................................................................................501Lozano Alonso, José Antonio ................................................................................599Lozano, Miguel Ángel ...........................................................................................551Luján-Mora, Sergio ..........................................................................................29, 457Llopis, Fernando ......................................................................................................29Lloret Gazo, Jorge ..................................................................................................239Macías, Javier ..................................................................................................91, 465Marco Galindo, Ma. Jesús .........................................................................................5Marco Simó, Josep Maria ......................................................................................179Márquez, Francisco ................................................................................................231Marticorena Sánchez, Raúl ....................................................................................471Martínez Domínguez, Francisco J. ........................................................................205Martínez, A. ...................................................................................................117, 591Martínez, Gloria .....................................................................................................423Más, Jorge ..............................................................................................................197Mau<strong>de</strong>s Raedo, Jesús Manuel ................................................................................171Menárguez Tortosa, Marcos ..................................................................................441Mérida, David ..........................................................................................................45Molero, Xavier ...............................................................................................583, 587Montesa Andrés, José O. .......................................................................................337Morales Gil, José M. ................................................................................................13Moreno, A. B. ........................................................................................................397Moreno, Antonio ....................................................................................................567Moreno, L. M. ........................................................................................................523Moros Valle, Begoña .............................................................................................441Naranjo Palomino, Fernando .................................................................................205Nava, F. ..........................................................................................................407, 433Oliver Gil, José Salvador ...............................................................................373, 543Oliver, Javier ..........................................................................................................575Ors, Rafael .............................................................................................................481Ortega, J. ................................................................................................................117Pardo Agui<strong>la</strong>r, Carlos ............................................................................................471Pavón, Nieves ........................................................................................................231Pe<strong>la</strong>yo, F.J. .............................................................................................................117Peña, C<strong>la</strong>ra Inés .....................................................................................................313Peña, R. ..........................................................................................................407, 433Pérez Serrano, Pedro L. .........................................................................................381Pérez-Poch, Antoni ..................................................................................................99Petit, Salvador.........................................................................................................139Piattini, Mario ........................................................................................155, 273, 289Piedra Fernán<strong>de</strong>z, José Antonio .................................................................67, 75, 321P<strong>la</strong>za, Miguel Ángel ..........................................................................................67, 75


xxivAutoresPolo, Macario .................................................................................................273, 289Pomares, Héctor .....................................................................................................591Poveda, José ...........................................................................................................603Poza Luján, José Luís ....................................................................................373, 543Prieto Blázquez, Josep ...............................................................................................5Prieto, Alberto ................................................................................117, 213, 591, 611Prieto, Manuel ................................................................................................125, 595Rodríguez <strong>de</strong>l Pino, Juan Carlos ..............................................................................53Romay, Pi<strong>la</strong>r ..........................................................................................................163Rubio <strong>de</strong>l So<strong>la</strong>r, Manuel ..........................................................................................83Ruiz, Francisco ......................................................................................155, 273, 289Sáez, Juan Manuel .................................................................................................487Sahuquillo, Julio ....................................................................................................139Sáinz, Alfredo ........................................................................................................231Salido Tercero, Jesús .............................................................................................493Salido, Miguel A. ...................................................................................................247Sánchez Alonso, José-Carlos ...................................................................................37Sánchez Pérez, Juan M. ...................................................................................83, 189Sánchez, A. ............................................................................................................397Santonja, Vicente ...........................................................................................583, 587Sanz Alcolea, Jorge ................................................................................................493Sutil, M. .................................................................................................................607Terrasa, Silvia ................................................................................................501, 515Torre Cervigón, Fernando ......................................................................................359Tovar, Edmundo ....................................................................................................415Triviño Barros, Gracián .........................................................................................507Turrado C., Roberto..................................................................................................13Valero-García, Miguel ...........................................................................................343Valiente, José M. ...................................................................................................197Valls, Aïda .............................................................................................................567Vaquerizo García, Mª Belén ..................................................................................171Vargas, José A. ......................................................................................................595Vega Rodríguez, Miguel A. .............................................................................83, 189Velázquez Iturbi<strong>de</strong>, Á. .............................................................................21, 407, 433Vélez, J. .................................................................................................................397Virgós Bel, Ferran ....................................................................................................99Zúnica, Luisa .........................................................................................................197


Ponencias


Tema estratégicoFormación a distancia yentornos virtuales


Necesida<strong>de</strong>s específicas para <strong>la</strong> docencia <strong>de</strong> programación en un entornovirtualMa. Jesús Marco GalindoJosep Prieto BlázquezEstudios <strong>de</strong> Informática y MultimediaUniversitat Oberta <strong>de</strong> Catalunyae-mail: {mmarcog,jprieto}@uoc.eduResumenEs comúnmente aceptado el hecho <strong>de</strong> que <strong>la</strong>enseñanza <strong>de</strong> programación <strong>de</strong>be ir siempreacompañada <strong>de</strong> <strong>la</strong> realización <strong>de</strong> activida<strong>de</strong>sprácticas por parte <strong>de</strong> los estudiantes con <strong>la</strong>finalidad <strong>de</strong> consolidar su aprendizaje en estamateria. La realización por parte <strong>de</strong>l estudiante <strong>de</strong>prácticas <strong>de</strong> programación a través <strong>de</strong> un entornono-presencial <strong>de</strong> enseñanza no es tarea fácil.En el presente artículo presentamos <strong>la</strong>experiencia <strong>de</strong> diseño y <strong>de</strong>sarrollo <strong>de</strong> un cursoinicial <strong>de</strong> programación en un entorno virtual,curso impartido <strong>de</strong>s<strong>de</strong> hace cuatro años en <strong>la</strong>asignatura <strong>de</strong> Fundamentos <strong>de</strong> programación I(FPI) en <strong>la</strong>s Ingenierías Técnicas <strong>de</strong> Informática(especialida<strong>de</strong>s Gestión y Sistemas) <strong>de</strong> <strong>la</strong>Universitat Oberta <strong>de</strong> Catalunya (UOC).A partir <strong>de</strong> esta experiencia, analizamosdiferentes herramientas que consi<strong>de</strong>ramosindispensables para impartir docencia virtual enprogramación. Herramientas que han permitidomejorar el proceso <strong>de</strong> realización <strong>de</strong> prácticasvirtuales <strong>de</strong> programación y que han contribuidopor tanto a <strong>la</strong> mejora <strong>de</strong> <strong>la</strong> satisfacción y <strong>de</strong>lrendimiento efectivo <strong>de</strong> los estudiantes. Concretamenteanalizamos <strong>la</strong> experiencia <strong>de</strong>l uso en estaasignatura <strong>de</strong>:• Los <strong>la</strong>boratorios virtuales <strong>de</strong> programación• Herramientas para <strong>la</strong> corrección automática<strong>de</strong> programas y para <strong>la</strong> simu<strong>la</strong>ción <strong>de</strong>algoritmos.1. IntroducciónEl aprendizaje <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong> programaciónen <strong>la</strong>s Ingenierías Informáticas se basa fundamentalmenteen <strong>la</strong> realización por parte <strong>de</strong> losestudiantes <strong>de</strong> múltiples ejercicios prácticos <strong>de</strong>programación <strong>de</strong> dificultad progresiva a través <strong>de</strong>los cuales el estudiante adquiere y consolida susconocimientos <strong>de</strong> programación en diferenteslenguajes.Concretamente en <strong>la</strong> asignatura <strong>de</strong>Fundamentos <strong>de</strong> Programación I para conseguirlos objetivos propuestos durante el semestre, secombina el estudio <strong>de</strong> <strong>la</strong> teoría algorítmica –diseño <strong>de</strong> algoritmos – con <strong>la</strong> práctica continua <strong>de</strong>programación en C – codificación <strong>de</strong> programas -.La pauta recomendada <strong>de</strong> estudio <strong>de</strong> estaasignatura consiste en el estudio <strong>de</strong> cinco módulosdidácticos según un calendario propuestoinicialmente y guiado por <strong>la</strong>s recomendaciones<strong>de</strong>l profesor. Este estudio se combina con <strong>la</strong>realización continua <strong>de</strong> ejercicios consistentesen el diseño <strong>de</strong>l algoritmo correspondiente y ensu posterior codificación en el lenguaje <strong>de</strong>programación C.La asimi<strong>la</strong>ción correcta <strong>de</strong> los conceptos<strong>de</strong>pen<strong>de</strong> crucialmente <strong>de</strong> <strong>la</strong> realización continua<strong>de</strong> los ejercicios propuestos.Hasta aquí nada difiere <strong>de</strong>l p<strong>la</strong>nteamientoclásicamente adoptado por <strong>la</strong> mayoría <strong>de</strong>asignaturas <strong>de</strong> introducción a <strong>la</strong> programación. Noobstante, el hecho <strong>de</strong> que <strong>la</strong> docencia <strong>de</strong> estaasignatura se lleve a cabo en un entorno nopresencial condiciona sustancialmente <strong>la</strong> maneraen que se <strong>de</strong>sarrol<strong>la</strong> el curso y es cuando aparece


<strong>la</strong> necesidad <strong>de</strong> incorporar herramientasespecíficas que permitan y faciliten el <strong>de</strong>sarrollovirtual <strong>de</strong> este p<strong>la</strong>nteamiento eminentementepráctico.semestre <strong>de</strong> <strong>la</strong>s Ingenierías Técnicas enInformática. Actualmente tiene 1300 estudiantesrepartidos en 15 au<strong>la</strong>s diferentes, cada unacoordinada por un profesor. El objetivo básico <strong>de</strong><strong>la</strong> asignatura es el aprendizaje <strong>de</strong> losFigura 1. Au<strong>la</strong> <strong>de</strong> Fundamentos <strong>de</strong> Programación I2. Entorno <strong>de</strong> <strong>la</strong> asignaturaLa UOC fue creada en 1995 para facilitar e<strong>la</strong>prendizaje a distancia <strong>de</strong> forma virtual <strong>de</strong>ntro <strong>de</strong><strong>la</strong> educación universitaria. El uso <strong>de</strong> <strong>la</strong> tecnología,permite romper <strong>la</strong> barrera espacio-temporal yofrecer un mo<strong>de</strong>lo <strong>de</strong> formación en Internet através <strong>de</strong> un campus virtual, gracias al cual, elestudiante pue<strong>de</strong> acce<strong>de</strong>r al aprendizaje <strong>de</strong>s<strong>de</strong>cualquier lugar y en cualquier momento. Elestudiante pasa pues, a ser el centro <strong>de</strong> un procesoformativo personalizado, asistido por un equipodocente y por unos recursos didácticos y servicios<strong>de</strong> apoyo específicos[1].La asignatura <strong>de</strong> Fundamentos <strong>de</strong> ProgramaciónI es una asignatura troncal <strong>de</strong> primerconocimientos fundamentales <strong>de</strong> programaciónestructurada, a través <strong>de</strong> <strong>la</strong> algorítmica y <strong>de</strong> <strong>la</strong>realización <strong>de</strong> prácticas en lenguaje C.El au<strong>la</strong> <strong>de</strong> teoría, que es dón<strong>de</strong> se <strong>de</strong>sarrol<strong>la</strong><strong>la</strong> asignatura sigue <strong>la</strong> estructura habitual <strong>de</strong> unau<strong>la</strong> <strong>de</strong>ntro <strong>de</strong>l campus virtual <strong>de</strong> <strong>la</strong> UOC, [2] quetal y como refleja <strong>la</strong> figura 1 consta básicamente<strong>de</strong>:• Elementos <strong>de</strong> comunicación: tablón <strong>de</strong>lprofesor y foro.• Elementos <strong>de</strong> acceso a <strong>la</strong> informaciónasociada: p<strong>la</strong>n docente, material complementario,biblioteca virtual, registro<strong>de</strong> calificaciones, …La especial importancia que adquiere en estaasignatura <strong>la</strong> realización <strong>de</strong> ejercicios prácticos


comporta que los recursos habituales en una au<strong>la</strong>virtual resulten insuficientes.Si a<strong>de</strong>más <strong>de</strong> esto, consi<strong>de</strong>ramos que el perfil<strong>de</strong> <strong>la</strong> mayoría <strong>de</strong> los estudiantes es peculiar – elestudiante medio tiene alre<strong>de</strong>dor <strong>de</strong> 30 añostrabaja y tiene hijos [3] -, <strong>la</strong> necesidad <strong>de</strong>incorporar nuevos recursos didácticos quefaciliten <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s prácticas y por tanto,permitan sacar el máximo partido <strong>de</strong>l tiempo <strong>de</strong>estudio <strong>de</strong>l que dispone el estudiante, se hace <strong>de</strong>ltodo evi<strong>de</strong>nte.corrección automática y <strong>de</strong> simu<strong>la</strong>ción <strong>de</strong>algoritmos que comentamos en los apartadossiguientes.2.1. El <strong>la</strong>boratorio virtualCon el objetivo <strong>de</strong> dar soporte a <strong>la</strong> realización <strong>de</strong>ejercicios prácticos <strong>de</strong> programación aparece el<strong>la</strong>boratorio <strong>de</strong> prácticas. Cada estudiante, pues,está asignado a<strong>de</strong>más <strong>de</strong> a una au<strong>la</strong> específica <strong>de</strong><strong>la</strong> asignatura, a un <strong>la</strong>boratorio virtual.Figura 2. Au<strong>la</strong> <strong>de</strong> <strong>la</strong>boratorioPor tanto, los tres elementos c<strong>la</strong>ve que<strong>de</strong>terminan <strong>la</strong> necesidad <strong>de</strong>l uso <strong>de</strong> nuevosrecursos y herramientas son:• El perfil específico <strong>de</strong> estudiante.• La importancia <strong>de</strong> <strong>la</strong> realización <strong>de</strong>prácticas.• El entorno virtual sobre el que se<strong>de</strong>sarrol<strong>la</strong> <strong>la</strong> docencia.Para dar respuesta a esta necesidad, surgenlos espacios específicos para <strong>la</strong> realización <strong>de</strong>prácticas virtuales y <strong>la</strong>s herramientas <strong>de</strong>El espacio <strong>de</strong> <strong>la</strong>boratorio tiene <strong>la</strong> mismaestructura y recursos que una au<strong>la</strong> virtual - tablero<strong>de</strong>l profesor, foro <strong>de</strong> discusión y acceso amateriales <strong>de</strong>l <strong>la</strong>boratorio específicos - comomuestra <strong>la</strong> figura 2. Este espacio está coordinadopor un profesor <strong>de</strong> <strong>la</strong>boratorio específico quienasume <strong>la</strong> tarea <strong>de</strong> dar soporte y guiar a losestudiantes en <strong>la</strong> puesta en práctica <strong>de</strong> losejercicios <strong>de</strong> programación que van realizando alo <strong>la</strong>rgo <strong>de</strong>l curso.


De este modo, se separa <strong>la</strong> parte teórica <strong>de</strong> <strong>la</strong>asignatura - aprendizaje <strong>de</strong> <strong>la</strong> algorítmica - que se<strong>de</strong>sarrol<strong>la</strong> en el au<strong>la</strong> habitual <strong>de</strong> teoría - <strong>de</strong> <strong>la</strong> partepráctica - realización <strong>de</strong> programas sencillos enlenguaje C- que se <strong>de</strong>sarrol<strong>la</strong> <strong>de</strong> manera parale<strong>la</strong>en el au<strong>la</strong> <strong>de</strong> <strong>la</strong>boratorio asociada a <strong>la</strong> asignatura.Esta separación, como veremos, presentavarias ventajas tanto docentes como <strong>de</strong> gestión.Por un <strong>la</strong>do, <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista puramenteacadémico, refuerza conceptualmente <strong>la</strong> importancia<strong>de</strong> <strong>la</strong> algorítmica en el aprendizaje <strong>de</strong> <strong>la</strong>programación ya que ayuda al estudiante adiferenciar c<strong>la</strong>ramente entre diseño y codificación.Esto último le permite compren<strong>de</strong>r que saberprogramar no es sinónimo <strong>de</strong> conocer un lenguaje<strong>de</strong> programación concreto, sino más bien <strong>de</strong>dominar <strong>la</strong>s herramientas y estructuras algorítmicas,en <strong>de</strong>finitiva, que para apren<strong>de</strong>r programaciónes indispensable apren<strong>de</strong>r a diseñar algoritmosque resuelvan problemas concretos. La posteriortraducción <strong>de</strong>l algoritmo diseñado a un lenguaje<strong>de</strong> programación para obtener el correspondienteprograma ejecutable, es básicamente un simplepaso <strong>de</strong> traducción <strong>de</strong>l lenguaje algorítmico allenguaje concreto <strong>de</strong> programación - en este casoC-.Por otro <strong>la</strong>do, también facilita al estudianteuna orientación y apoyo continuo en <strong>la</strong> insta<strong>la</strong>ción<strong>de</strong>l software -editor y compi<strong>la</strong>dor - y en losprocesos <strong>de</strong> codificación, compi<strong>la</strong>ción, <strong>de</strong>puracióny pruebas <strong>de</strong> los programas que va implementandodurante el semestre y que le permitenponer en práctica los conocimientos prácticos queva aprendiendo.El uso <strong>de</strong>l espacio <strong>de</strong> <strong>la</strong>boratorio virtualfomenta a<strong>de</strong>más <strong>la</strong> comunicación y co<strong>la</strong>boraciónentre los estudiantes. Éstos pue<strong>de</strong>n comentar,sugerir y preguntar todo lo que necesitenre<strong>la</strong>cionado con <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s prácticas conel resto <strong>de</strong> estudiantes <strong>de</strong> su au<strong>la</strong>. A<strong>de</strong>más elespacio permite el uso <strong>de</strong> herramientas <strong>de</strong> trabajocooperativo que posibilitan <strong>la</strong> realización <strong>de</strong>prácticas en grupo.Y finalmente, <strong>la</strong> existencia <strong>de</strong> estos dosespacios virtuales diferenciados -au<strong>la</strong> y<strong>la</strong>boratorio- facilita también <strong>la</strong> gestión <strong>de</strong> <strong>la</strong>docencia dado que permite disponer <strong>de</strong> dosperfiles docentes distintos: un profesor responsableexclusivamente <strong>de</strong> <strong>la</strong> docencia <strong>de</strong> <strong>la</strong>algorítmica y otro responsable <strong>de</strong> <strong>la</strong> programaciónen el lenguaje C, profesores por tanto conobjetivos docentes distintos y especializados cadauno en su ámbito <strong>de</strong>terminado aunque, evi<strong>de</strong>ntemente,fuertemente coordinados entre sí.La aparición <strong>de</strong> los <strong>la</strong>boratorios virtuales fuemuy bien acogida tanto por profesores como porestudiantes, razón por <strong>la</strong> cual se ha extendido suuso a otras asignaturas don<strong>de</strong> también es necesariorealizar prácticas <strong>de</strong> programación. Algunosejemplos son <strong>la</strong>s asignaturas <strong>de</strong> sistemas operativosque cuentan con un <strong>la</strong>boratorio <strong>de</strong> Linux, <strong>la</strong>s<strong>de</strong> re<strong>de</strong>s <strong>de</strong> or<strong>de</strong>nadores que cuentan con unLaboratorio <strong>de</strong> C avanzado o <strong>la</strong>s <strong>de</strong> bases <strong>de</strong> datosy fundamentos <strong>de</strong> programación orientada aobjetos que cuentan con <strong>la</strong>boratorio <strong>de</strong> Java. Entotal, este semestre hay activos 12 <strong>la</strong>boratoriosvirtuales que dan soporte a unos 2000 estudiantes<strong>de</strong> 22 diferentes asignaturas <strong>de</strong> <strong>la</strong>s IngenieríasInformáticas.Una vez presentado el funcionamiento <strong>de</strong>estos <strong>la</strong>boratorios, es importante resaltar que losprofesores <strong>de</strong> <strong>la</strong>boratorio a<strong>de</strong>más <strong>de</strong> encargarse<strong>de</strong>l soporte a <strong>la</strong> formación en programación en Cson los encargados <strong>de</strong> <strong>la</strong> evaluación <strong>de</strong> losejercicios <strong>de</strong> programación presentados por losestudiantes. Aunque esta función supone unvolumen <strong>de</strong> trabajo muy importante para elprofesor <strong>de</strong>bido al número <strong>de</strong> estudiantes quetiene a su cargo (alre<strong>de</strong>dor <strong>de</strong> 250 en cada<strong>la</strong>boratorio), es sumamente importante que elprofesor muestre a los estudiantes los resultados<strong>de</strong> sus ejercicios con <strong>la</strong> mayor brevedad posible.De este modo no se interrumpe su proceso <strong>de</strong>aprendizaje continuo.Para po<strong>de</strong>r realizar este proceso <strong>de</strong> maneramás eficiente, se incorpora al <strong>la</strong>boratorio <strong>de</strong>programación una herramienta <strong>de</strong> correcciónautomática <strong>de</strong> programas, herramienta que se haconvertido <strong>de</strong> uso indispensable en <strong>la</strong>s prácticas<strong>de</strong> programación y analizamos en el próximoapartado.2.2. El corrector automático <strong>de</strong> programasUn parte <strong>de</strong>l tiempo que se <strong>de</strong>stina a <strong>la</strong> corrección<strong>de</strong> los ejercicios <strong>de</strong> programación consiste en <strong>la</strong>comprobación <strong>de</strong>l correcto funcionamiento <strong>de</strong>estos programas, para lo cual hay que compi<strong>la</strong>r yejecutar cada uno <strong>de</strong> ellos sobre un <strong>de</strong>terminadoconjunto <strong>de</strong> juegos <strong>de</strong> pruebas. Es por tanto unproceso muy repetitivo y monótono que requiere


mucho tiempo <strong>de</strong> <strong>de</strong>dicación por parte <strong>de</strong>lprofesor.Consi<strong>de</strong>rando a<strong>de</strong>más, el gran número <strong>de</strong>estudiantes que realizan ejercicios prácticos <strong>de</strong>programación <strong>de</strong> evaluación continua a través <strong>de</strong>l<strong>la</strong>boratorio virtual, se hace evi<strong>de</strong>nte <strong>la</strong> necesidad<strong>de</strong> realizar esta tarea <strong>de</strong> corrección <strong>de</strong> maneramás eficiente.Es por ello que necesitamos herramientas paraque este proceso <strong>de</strong> comprobación <strong>de</strong>l correctofuncionamiento <strong>de</strong> los programas pueda serautomatizado. De manera, el profesor recibedirectamente el resultado <strong>de</strong> esta comprobaciónsobre el ejercicio que ha presentado cada alumno,y así pue<strong>de</strong> centrarse en aspectos que requieran untratamiento más individualizado y que realmenteaporten un valor añadido a <strong>la</strong> corrección <strong>de</strong>lejercicio como por ejemplo <strong>la</strong> corrección yevaluación <strong>de</strong> <strong>la</strong> calidad <strong>de</strong>l diseño <strong>de</strong>l programa.En el mercado existen diversas herramientas,algunas <strong>de</strong> el<strong>la</strong>s creadas por universida<strong>de</strong>s connecesida<strong>de</strong>s parecidas. Durante cuatro semestresse ha estado utilizando en <strong>la</strong> asignatura <strong>de</strong> FPI elCeilidh, <strong>de</strong>sarrol<strong>la</strong>do por el <strong>de</strong>partamento <strong>de</strong>Computer Science <strong>de</strong> <strong>la</strong> Univesidad <strong>de</strong>Nottingham (UK). Se tuvo que adaptar el sistemaCeilidh al campus virtual <strong>de</strong> <strong>la</strong> UOC ya queestaba pensado inicialmente para funcionar sobrep<strong>la</strong>taformas UNIX y conexión telnet al servidor.Se adaptó pues el sistema <strong>de</strong> tal manera que losestudiantes enviaban sus códigos fuente medianteuna adjunción en un mensaje a través <strong>de</strong>l sistema<strong>de</strong> mensajería <strong>de</strong>l campus virtual yautomáticamente recibía otro mensaje con <strong>la</strong>calificación <strong>de</strong> su ejercicio.Inicialmente, el sistema se puso a disposición<strong>de</strong> 719 estudiantes <strong>de</strong> <strong>la</strong> asignatura que tuvieron asu disposición diversos ejercicios <strong>de</strong> programaciónen lenguaje Pascal para practicar.En semestres posteriores, se ha ampliado suuso a otras asignaturas que realizan prácticas enlenguajes <strong>de</strong> programación distintos como Java yC hasta llegar a ser utilizado por más <strong>de</strong> 2000estudiantes por semestre, alcanzando puntas <strong>de</strong>300 correcciones diarias entre <strong>la</strong>s 15 asignaturasimplicadas.A finales <strong>de</strong>l curso 2000-2001, se <strong>de</strong>cidióprescindir <strong>de</strong> esta herramienta y empezar el<strong>de</strong>sarrollo <strong>de</strong> una herramienta <strong>de</strong> correcciónautomática propia. Esta <strong>de</strong>cisión fue <strong>de</strong>bidaprincipalmente a dificulta<strong>de</strong>s en el mantenimientoy <strong>la</strong> implementación <strong>de</strong> modificaciones y al bajorendimiento, que hacían insostenible su utilizacióna <strong>la</strong>rgo p<strong>la</strong>zo.Se inició entonces el proyecto SICAP -Sistema Interactivo <strong>de</strong> Corrección Automática <strong>de</strong>Programas - [4] cuyo objetivo principal es diseñare implementar un sistema informático que permita<strong>la</strong> corrección automática <strong>de</strong> los ejercicios <strong>de</strong>programación.En un sentido amplio, por corrección automática<strong>de</strong> programas se entien<strong>de</strong> <strong>de</strong>s<strong>de</strong> <strong>la</strong>comprobación <strong>de</strong> su correcta ejecución ante unconjunto <strong>de</strong> pruebas pre<strong>de</strong>terminado, hasta <strong>la</strong>validación <strong>de</strong> <strong>la</strong> complejidad, tipografía yestructura <strong>de</strong>l código fuente, así como también <strong>la</strong><strong>de</strong>tección <strong>de</strong> posibles copias entre <strong>la</strong>s solucionesaportadas por los diferentes estudiantes [5].Por ello el sistema, a<strong>de</strong>más <strong>de</strong> automatizar <strong>la</strong>funcionalidad básica <strong>de</strong> corrección <strong>de</strong> programas,preten<strong>de</strong> también incorporar mecanismos <strong>de</strong>inteligencia artificial. De esta manera se posibilitaría<strong>la</strong> personalización <strong>de</strong> <strong>la</strong> respuesta facilitadaal estudiante <strong>de</strong> tal modo que, en base al resultadoobtenido en cada ejercicio, se le puedan hacerrecomendaciones <strong>de</strong> estudio concretas yparticu<strong>la</strong>res. Por otro <strong>la</strong>do, ayudaría al profesor a<strong>de</strong>tectar posibles errores o ambigüeda<strong>de</strong>s en losenunciados <strong>de</strong> los ejercicios p<strong>la</strong>nteados o en losjuegos <strong>de</strong> prueba utilizados para su corrección, asícomo constatar posibles problemas en <strong>la</strong>metodología p<strong>la</strong>nteada para el estudio <strong>de</strong>contenidos concretos.Para conseguir estos dos últimos objetivosserá necesario que el sistema cump<strong>la</strong> dosrequerimientos básicos:• Permitir <strong>la</strong> simu<strong>la</strong>ción <strong>de</strong> algoritmos queayu<strong>de</strong>n a <strong>la</strong> comprensión <strong>de</strong> los mecanismos<strong>de</strong> diseño y <strong>de</strong> ejecución <strong>de</strong> los ejercicios <strong>de</strong>programación realizados como comentaremosen el próximo apartado.• Incluir el uso <strong>de</strong> herramientas estadísticas, <strong>de</strong>monitorización y <strong>de</strong> minería <strong>de</strong> datos quepermitan al profesor explotar convenientemente<strong>la</strong> información y obtener elconocimiento relevante en base a losresultados obtenidos por sus estudiantes.El sistema redundará por tanto, no únicamenteen un ahorro <strong>de</strong> tiempo para el profesor sino queofrecerá a<strong>de</strong>más al estudiante un seguimiento máspersonalizado, y por tanto <strong>de</strong> más calidad, <strong>de</strong> <strong>la</strong>evolución <strong>de</strong> su aprendizaje. El estudiante por otro


<strong>la</strong>do, podrá interactuar ininterrumpidamente conel sistema y con ello aumentará su autonomía <strong>de</strong>estudio y le permitirá seguir un ritmo individual yflexible <strong>de</strong> aprendizaje.El resultado <strong>de</strong>l proyecto permitirá disponer<strong>de</strong> un corrector automático diseñado específicamentepara <strong>la</strong>s necesida<strong>de</strong>s actuales y futuras <strong>de</strong><strong>la</strong>s asignaturas que requieran <strong>la</strong> realización <strong>de</strong>ejercicios <strong>de</strong> programación, p<strong>la</strong>nteado <strong>de</strong>s<strong>de</strong> elprincipio como un sistema multip<strong>la</strong>taforma,estable y adaptable.SICAPestandarización a grupo <strong>de</strong>l QTI (Question & TestInteroperability Specification) <strong>de</strong>l IMS GlobalLearning Consortium [6] y SCORM (SharableContent Object Reference Mo<strong>de</strong>l) [7].2.3. Simu<strong>la</strong>dor <strong>de</strong> algoritmosComo hemos visto, para facilitar el aprendizaje <strong>de</strong>los conceptos más abstractos <strong>de</strong> <strong>la</strong> algorítmica, esimportante disponer <strong>de</strong> herramientas <strong>de</strong>Base <strong>de</strong> DatosGenerar ÍtemGuardar ÍtemVisualizar ÍtemAutorÍtemsSeleccionar ÍtemsGuardar EjercicioEjerciciosGestión EjercicioLista EjerciciosConsultor /ProfesorVisualizar ResultadosCorreccionesFicherosSeleccionar EjercicioRespuestasEnviar EjercicioEstudianteLa figura 3 muestra el funcionamientobásico <strong>de</strong>l sistema.Un objetivo importante <strong>de</strong>l proyecto estambién <strong>la</strong> difusión y <strong>la</strong> re<strong>la</strong>ción con el resto <strong>de</strong>universida<strong>de</strong>s y centros <strong>de</strong> formación para unificarcriterios en los sistemas <strong>de</strong> corrección automática<strong>de</strong> programas, y realizar una propuesta <strong>de</strong>Figura 3. Funcionamiento <strong>de</strong>l sistemasimu<strong>la</strong>ción que ayu<strong>de</strong>n al estudiante a compren<strong>de</strong>rpor ejemplo <strong>la</strong>s estructuras básicas –secuencial, condicional e iterativa -. Con estepropósito se inició parale<strong>la</strong>mente al proyectoSICAP <strong>de</strong> corrección automática, el proyectoeADA – sistema electrónico para el aprendizaje <strong>de</strong>algorítmica -.


Figura 4. Librería virtualEl objetivo <strong>de</strong> este proyecto es proporcionaral estudiante una herramienta que posibilite elseguimiento <strong>de</strong>l <strong>de</strong>sarrollo que necesita unalgoritmo <strong>de</strong>s<strong>de</strong> su concepción hasta que está listopara ser traducido a un lenguaje <strong>de</strong> programación.Debe ayudarle a enten<strong>de</strong>r los principalesconceptos y estructuras algorítmicas así como a<strong>de</strong>sarrol<strong>la</strong>r habilida<strong>de</strong>s <strong>de</strong> diseño <strong>de</strong> algoritmos.Para ello, <strong>de</strong>be dar respuesta a <strong>la</strong>s siguientesfuncionalida<strong>de</strong>s:• Actuar como material <strong>de</strong> síntesis y <strong>de</strong>glosario <strong>de</strong> los conceptos más importantes<strong>de</strong> algorítmica.• Desempeñar el papel <strong>de</strong> pizarra virtualque permita mostrar el proceso a seguirpara diseñar algoritmos.• Actuar como <strong>de</strong>purador <strong>de</strong> algoritmos.• Permitir <strong>la</strong> interacción <strong>de</strong>l estudiantepara que éste pueda experimentar cómocambios en el diseño afectan alfuncionamiento <strong>de</strong>l programa.• Actuar como herramienta <strong>de</strong> aprendizaje<strong>de</strong> disponibilidad continua.• Incorporar el uso <strong>de</strong> recomendadoresque personalicen el aprendizaje yayu<strong>de</strong>n al estudiante a resolverdificulta<strong>de</strong>s concretas.La herramienta ha <strong>de</strong> permitir <strong>la</strong> adaptacióncontinua <strong>de</strong> los contenidos a <strong>la</strong>s necesida<strong>de</strong>sespecíficas <strong>de</strong> cada semestre y por lo tantomodificar y ampliar los contenidos <strong>de</strong> maneracómoda y ágil para los profesores.Actualmente, para dar respuesta a estanecesidad, se utiliza <strong>la</strong> biblioteca virtual <strong>de</strong> FPI –figura 4 - mientras en paralelo se empren<strong>de</strong> el<strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> primera fase <strong>de</strong>l proyecto eADA.Esta primera fase consiste en <strong>la</strong> implementación<strong>de</strong> un prototipo con funcionalida<strong>de</strong>s básicas <strong>de</strong>simu<strong>la</strong>ción <strong>de</strong> algoritmos y <strong>de</strong> interacción con elestudiante.


Fases posteriores <strong>de</strong>l proyecto contemp<strong>la</strong>rán<strong>la</strong> creación <strong>de</strong> herramientas <strong>de</strong> autor para agilizar<strong>la</strong> gestión <strong>de</strong> los contenidos con los que interactúael sistema. La evolución <strong>de</strong>l prototipo base <strong>de</strong>beráincorporar el uso <strong>de</strong> agentes inteligentes quepermitan una tutorización personalizada yadaptada a <strong>la</strong>s necesida<strong>de</strong>s concretas <strong>de</strong> cadaestudiante.ConclusionesLa docencia virtual <strong>de</strong> programación a lo <strong>la</strong>rgo <strong>de</strong>todos estos semestres ha puesto <strong>de</strong> manifiesto <strong>la</strong>sdificulta<strong>de</strong>s más importantes con <strong>la</strong>s que seencuentra el estudiante durante su aprendizaje <strong>de</strong>este tipo <strong>de</strong> contenidos en un entorno virtual.Estas dificulta<strong>de</strong>s pue<strong>de</strong>n sintetizarse en dos:• La dificultad en <strong>la</strong> compresión <strong>de</strong>contenidos abstractos que son <strong>de</strong> difíciltransmisión <strong>de</strong> manera escrita.• La dificultad para <strong>la</strong> realización <strong>de</strong>prácticas no presenciales.<strong>de</strong>bemos enfocar el estudio <strong>de</strong> futuros sistemaspara el soporte <strong>de</strong> <strong>la</strong> enseñanza virtual.Referencias[1] J. Ma. Duart, A. Sangrà. Aprenendizaje yvirtualidad.UOC. Barcelona, 1999.[2] Espasa Anna, Marco Ma. Jesús. Estudicomparatiu <strong>de</strong> dues assignatures en un entornvirtual d’aprenentatge. Comunicación <strong>de</strong>lTIEC. Barcelona, 2002.[3] http://www.uoc.edu/[4] Joseph Prieto Blázquez. Proyecto <strong>de</strong>Evaluación Automática SICAP. UOC, 2002.[5] J. Sohonen. Mo<strong>de</strong>l for a semi-AutomaticAssesment Tool in a Web-Based LewarningEnvironment. International Conference onComputers Education, ICCE 2001.[6] http://imsprojct.org/question/in<strong>de</strong>x.html[7] http://www.adlmet.org/Afortunadamente, un entorno virtual no únicamenteagudiza estas dificulta<strong>de</strong>s sino que a <strong>la</strong> vezposibilita, como hemos visto, el uso <strong>de</strong> sistemasque permiten paliar<strong>la</strong>s en gran medida:• Herramientas dinámicas y visuales <strong>de</strong>simu<strong>la</strong>ción.• Laboratorios virtuales <strong>de</strong> programacióny herramientas <strong>de</strong> correcciónautomática <strong>de</strong> programas.Estamos pues aprovechando <strong>la</strong> potencialidadque nos ofrecen <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong> informacióni comunicación para convertir, lo que se podríaconsi<strong>de</strong>rar como una <strong>de</strong>sventaja <strong>de</strong>l entornovirtual <strong>de</strong> aprendizaje, en una ventaja pues unentorno virtual permite incorporar más fácilmenteeste tipo <strong>de</strong> herramientas automáticas y <strong>de</strong>simu<strong>la</strong>ción que un entorno presencial.De todos modos, habrá que evaluar québeneficios reales aportan al estudiante el uso <strong>de</strong><strong>la</strong>s herramientas que actualmente están en<strong>de</strong>sarrollo, para po<strong>de</strong>r comprobar en qué medidaéstas permiten paliar <strong>la</strong>s dificulta<strong>de</strong>s <strong>de</strong> suaprendizaje no presencial. Un análisis <strong>de</strong> este tiponos permitiría a<strong>de</strong>más, <strong>de</strong>scubrir hacia dón<strong>de</strong>


P<strong>la</strong>taforma <strong>de</strong> enseñanza <strong>de</strong> lenguajes <strong>de</strong> programación a través<strong>de</strong> Internet: Proyecto IDEFIXJose E. Labra Gayo, José M. Morales Gil Roberto Turrado C.Dpto. <strong>de</strong> InformáticaUniversidad <strong>de</strong> Oviedo, Españae-mail: <strong>la</strong>bra@lsi.uniovi.es jmmoral@correo.uniovi.esFachhochschule of UlmAlemaniae-mail: rturrado@yahoo.comResumenEn este artículo se <strong>de</strong>scribe <strong>la</strong> arquitectura <strong>de</strong>lproyecto IDEFIX cuyo objetivo es <strong>de</strong>sarrol<strong>la</strong>r unap<strong>la</strong>taforma que facilite <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>programación en diferentes lenguajes mediante <strong>la</strong>utilización <strong>de</strong> Internet. El sistema permite <strong>la</strong>realización <strong>de</strong> prácticas <strong>de</strong> <strong>la</strong>boratorio mediante <strong>la</strong>creación <strong>de</strong> un entorno dinámico <strong>de</strong> <strong>de</strong>sarrollobasado en Internet. En este entorno, losestudiantes tienen acceso a través <strong>de</strong> Internet a losenunciados <strong>de</strong> los ejercicios <strong>de</strong> programaciónescritos en un formato XML, que facilita <strong>la</strong>presentación en sistemas heterogéneos y quepermite <strong>la</strong> posterior evaluación <strong>de</strong> formaautomática. El sistema facilitará <strong>la</strong> realizacióninteractiva <strong>de</strong> los ejercicios monitorizando losresultados parciales, fomentando el <strong>de</strong>sarrolloco<strong>la</strong>borativo y facilitando <strong>la</strong> automatización <strong>de</strong>lproceso <strong>de</strong> evaluación.1. Introducción.La Universidad <strong>de</strong> Oviedo, junto con otrasseis universida<strong>de</strong>s españo<strong>la</strong>s <strong>de</strong>l <strong>de</strong>nominado G7participa en <strong>la</strong> creación <strong>de</strong> un campus virtual quepermita <strong>la</strong> enseñanza compartida <strong>de</strong> asignaturas <strong>de</strong>libre elección a través <strong>de</strong> Internet. Dentro <strong>de</strong> dichocampus, el proyecto Au<strong>la</strong>Net [17], propio <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Oviedo, ha incorporado <strong>la</strong>asignatura “Programación lógica y funcional”<strong>de</strong>s<strong>de</strong> el curso 2001/2002. Dicha asignatura esimpartida por uno <strong>de</strong> los autores <strong>de</strong> este artículo yconsiste principalmente en <strong>la</strong> presentación <strong>de</strong> losparadigmas <strong>de</strong> programación lógico y funcionalcon sus correspondientes prácticas en loslenguajes Prolog y Haskell.Existen en el mercado diversas herramientasque facilitan <strong>la</strong> publicación <strong>de</strong> cursos generales enInternet. En particu<strong>la</strong>r, en el proyecto Au<strong>la</strong>Net seutiliza el sistema WebCT como herramientacomún básica <strong>de</strong> <strong>de</strong>sarrollo. Sin embargo, <strong>la</strong>enseñanza <strong>de</strong> lenguajes <strong>de</strong> programación tieneciertas particu<strong>la</strong>rida<strong>de</strong>s que suponen un mayorreto para su implementación en <strong>la</strong> red.El proyecto IDEFIX (Integrated DevelopmentEnvironment Frameworks based on Internet an<strong>de</strong>Xtensible technologies) [12] se centra en el<strong>de</strong>sarrollo <strong>de</strong> entornos integrados <strong>de</strong> <strong>de</strong>sarrollo através <strong>de</strong> Internet. El proyecto está formado porinvestigadores <strong>de</strong>l grupo Oviedo3 <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Oviedo y <strong>de</strong> <strong>la</strong> Fachochschule ofUlm, para <strong>la</strong> cual se está <strong>de</strong>sarrol<strong>la</strong>ndo un sistema<strong>de</strong> realización <strong>de</strong> prácticas <strong>de</strong> <strong>la</strong>boratorio a través<strong>de</strong> Internet <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> SistemasDistribuidos. En este artículo se <strong>de</strong>scribe <strong>la</strong>justificación y <strong>la</strong>s intenciones que persigue dichoproyecto.2. Antece<strong>de</strong>ntes.Dentro <strong>de</strong> <strong>la</strong>s principales funciones quecumplen los profesores a cargo <strong>de</strong> los cursos <strong>de</strong>lenguajes <strong>de</strong> programación, está <strong>la</strong> supervisión <strong>de</strong><strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong>boratorio, en don<strong>de</strong> <strong>de</strong>beencargarse <strong>de</strong> revisar y asesorar al alumno, sobrelos problemas que se le p<strong>la</strong>ntean al llevar a <strong>la</strong>práctica los conocimientos adquiridos en <strong>la</strong>s c<strong>la</strong>sesteóricas.La realización tradicional <strong>de</strong> prácticas <strong>de</strong><strong>la</strong>boratorio tiene una serie <strong>de</strong> inconvenientes,entre los que se pue<strong>de</strong>n <strong>de</strong>stacar [9].• En <strong>la</strong> mayoría <strong>de</strong> los casos, el profesor nocuenta con un tiempo suficiente para aten<strong>de</strong>ra <strong>la</strong> totalidad <strong>de</strong> los alumnos <strong>de</strong> maneraparticu<strong>la</strong>r y resolver cada una <strong>de</strong> sus dudas.• En muchos centros, no se cuentan coninsta<strong>la</strong>ciones suficientes para satisfacer <strong>la</strong>


<strong>de</strong>manda <strong>de</strong> equipos necesarios para llevar acabo <strong>la</strong>s prácticas.• El ejercicio <strong>de</strong> <strong>la</strong>s prácticas, se efectúatiempo <strong>de</strong>spués <strong>de</strong> haber obtenido elconocimiento teórico, lo que presupone unesfuerzo mayor para refrescar losconocimientos provocando el surgimiento <strong>de</strong>nuevas dudas.• La posibilidad <strong>de</strong> <strong>de</strong>tectar p<strong>la</strong>gios, se tornauna tarea muy complicada que rec<strong>la</strong>mamucho tiempo <strong>de</strong>l maestro.• Los maestros <strong>de</strong>dican mucho tiempo a tareasrutinarias, que les impi<strong>de</strong>n <strong>de</strong>sarrol<strong>la</strong>ractivida<strong>de</strong>s más creativas.La realización <strong>de</strong> estas prácticas <strong>de</strong> <strong>la</strong>boratorio através <strong>de</strong> Internet podría subsanar algunos <strong>de</strong> lospuntos anteriores.3. Ventajas e inconvenientes <strong>de</strong> <strong>la</strong> educacióna distancia.Mucho se hab<strong>la</strong> <strong>de</strong> los beneficios que <strong>la</strong>s nuevastecnologías están aportando en todos los campos,y si se consi<strong>de</strong>ra específicamente <strong>la</strong> educación, sepodría <strong>de</strong>cir que, si bien resultan innegables losgran<strong>de</strong>s logros y aportaciones que en este campose están dando, también seria justo mencionar quese han creado los siguientes mitos, que amenazancon afianzarse sin su correspondiente procesoreflexivo ni empírico [6].• La tecnología intensifica <strong>la</strong> enseñanza y e<strong>la</strong>prendizaje• Los or<strong>de</strong>nadores han cambiado <strong>la</strong> forma <strong>de</strong>trabajar• Los or<strong>de</strong>nadores han cambiado <strong>la</strong> forma <strong>de</strong>enseñar• La introducción <strong>de</strong> tecnología en el proceso<strong>de</strong> enseñanza es innovadora• Los alumnos apren<strong>de</strong>n más fácilmente conor<strong>de</strong>nadores• La tecnología solucionará los conceptoserróneos <strong>de</strong> los estudiantesLo anterior nos obliga a realizar un análisismás cuidadoso acerca <strong>de</strong> <strong>la</strong>s beneficios einconvenientes que representa el hacer uso <strong>de</strong>Internet para propósitos educativos, evitandohacerlo <strong>de</strong> forma indiscriminada y atendiendo asus repercusiones. Varios autores [2,4] dan cita alos aspectos favorables <strong>de</strong>l empleo <strong>de</strong> <strong>la</strong> red enforma a<strong>de</strong>cuada, <strong>de</strong>stacando los siguientes:• Evita los <strong>de</strong>sp<strong>la</strong>zamientos <strong>de</strong> los usuarios.• Flexibiliza los horarios educativos.• Promueve <strong>la</strong> formación <strong>de</strong> hábitos.• Individualiza el ritmo <strong>de</strong> aprendizaje.• Diversifica los métodos y <strong>la</strong>s tecnologíaseducativas.• Facilita <strong>la</strong> actualización <strong>de</strong> los contenidos.• Permite <strong>la</strong> simu<strong>la</strong>ción <strong>de</strong> activida<strong>de</strong>s.• Facilita el acceso y aumenta <strong>la</strong>s referenciasbibliográficas.• Promueve <strong>la</strong> participación activa y el trabajoco<strong>la</strong>borativo.• Facilita el trabajo administrativo <strong>de</strong>l maestro.• Retroalimenta al maestro y le permitereorientar el curso oportunamente.Obviamente, <strong>la</strong>s mismas fuentes citan lossiguientes inconvenientes:• Escasez <strong>de</strong> re<strong>la</strong>ciones humanas.• Resistencia al cambio <strong>de</strong> parte <strong>de</strong>lprofesorado.• Necesidad <strong>de</strong> capacitar a los maestros.• La legitimidad <strong>de</strong> los procesos <strong>de</strong> evaluaciónno está lo suficientemente garantizada.• El prestigio <strong>de</strong> los títulos obtenidos por estemedio, no gozan <strong>de</strong> mucho reconocimiento.• La libertad y flexibilidad pue<strong>de</strong>n resultarcontraproducentes para los alumnosinmaduros.• Incertidumbre sobre <strong>la</strong> eficacia <strong>de</strong> losresultados y sus efectos psicológicos.• Los problemas técnicos y los costes que traeconsigo el uso <strong>de</strong> Internet como p<strong>la</strong>taforma<strong>de</strong> trabajo.Lo anterior, invita a reflexionar sobre el usoindiscriminado <strong>de</strong> <strong>la</strong>s nuevas tecnologías, y aproce<strong>de</strong>r con caute<strong>la</strong> en su aplicación como unapanacea para <strong>la</strong> resolución <strong>de</strong> todos los problemas.4. Propósitos y características <strong>de</strong>l proyecto.Como bien sabemos, en el proceso <strong>de</strong> enseñanza<strong>de</strong> lenguajes <strong>de</strong> programación, se preten<strong>de</strong>entrenar al alumno, para que pueda <strong>de</strong>sarrol<strong>la</strong>r unconocimiento creativo, que le permita mo<strong>de</strong><strong>la</strong>rproblemas <strong>de</strong>l mundo real y tras<strong>la</strong>darlos aldominio <strong>de</strong>l or<strong>de</strong>nador, para obtener soluciones <strong>de</strong>


una manera más rápida y eficiente. Esto constituyesin lugar a dudas, el objetivo primordial que <strong>de</strong>becumplir nuestro proyecto, pero también se nospresenta <strong>la</strong> oportunidad <strong>de</strong> lograr otros beneficiosque no están enfrentados con el anterior, y que <strong>de</strong>alguna manera, pue<strong>de</strong>n contribuir al logro <strong>de</strong> estay <strong>de</strong> otras metas.Por lo anterior, se ha consi<strong>de</strong>rado, que elproyecto <strong>de</strong>be incorporar <strong>la</strong>s siguientescaracterísticas como cualida<strong>de</strong>s principales <strong>de</strong> sudiseño.4.1. Asegurar un mo<strong>de</strong>lo eficiente <strong>de</strong>enseñanza-aprendizaje.Se preten<strong>de</strong> llevar a <strong>la</strong> práctica el esquemarepresentado en <strong>la</strong> figura 1.TecnologíaAmenidad-SatisfacciónMotivación-AtenciónRendimientoFigura 1. percepción <strong>de</strong>l impacto <strong>de</strong> <strong>la</strong> tecnología en elproceso educativo.Para lo cual se consi<strong>de</strong>ra muy importante, basar <strong>la</strong>estrategia en un mo<strong>de</strong>lo que esté fundamentado enlos siguientes puntos:• Captar <strong>la</strong> atención <strong>de</strong>l alumno, mediante unainducción que lo motive a apren<strong>de</strong>r.• Proponer activida<strong>de</strong>s que varíen losestímulos y diversifiquen <strong>la</strong>s formas <strong>de</strong>trasmisión y adquisición <strong>de</strong>l conocimiento.• Emplear una comunicación efectiva, don<strong>de</strong>se incluye <strong>la</strong> sencillez en los términos, y eluso apropiado <strong>de</strong> tecnicismos.• El uso efectivo <strong>de</strong> apoyos visuales, con unpropósito <strong>de</strong>finido, y apareciendo en elmomento apropiado.• La organización lógica (que incluye losobjetivos, metodología y control <strong>de</strong>l tiempo),incluyendo el manejo <strong>de</strong> preguntas, tanto <strong>la</strong>senfocadas a evaluar el <strong>de</strong>sempeño, así como<strong>la</strong>s que <strong>de</strong>berán contestarse a los alumnos.• Situar al alumno, haciéndole saber siempre,qué actividad está realizando y <strong>la</strong>s diversasopciones con <strong>la</strong>s que cuenta.4.2. Facilitar <strong>la</strong> <strong>la</strong>bor administrativa <strong>de</strong>lprofesor.Existen numerosas herramientas para <strong>la</strong>administración y evaluación <strong>de</strong>l trabajo <strong>de</strong>lestudiante a distancia [3,11]. El sistemaproporcionará al profesor diversas utilida<strong>de</strong>senfocadas a llevar a cabo <strong>de</strong> una manera sencil<strong>la</strong> yorganizada, el control <strong>de</strong> los aspectos académicosy administrativos <strong>de</strong>l curso.Esto le permitirá, tanto a él como a <strong>la</strong>administración <strong>de</strong> <strong>la</strong> universidad, así como <strong>de</strong>manera restringida a los mismos alumnos, conocerinformación estadística diversa, sobre el<strong>de</strong>sempeño académico individual o colectivo <strong>de</strong>lcurso, a<strong>de</strong>más <strong>de</strong> facilitar los procesosadministrativos <strong>de</strong> inscripciones, listas, pagos etc.4.3. Crear un herramienta flexible ein<strong>de</strong>pendiente <strong>de</strong>l lenguaje <strong>de</strong> programación.La adaptabilidad <strong>de</strong>l sistema, para servir a <strong>la</strong>enseñanza <strong>de</strong> varios lenguajes <strong>de</strong> programaciónsin importar su paradigma es un reto importanteen una asignatura como “Programación lógica yfuncional” en <strong>la</strong> que, actualmente, se imparten doslenguajes <strong>de</strong> programación (Prolog y Haskell) <strong>de</strong>dos paradigmas diferentes. Esto implica un diseñoflexible, que permita cambiar <strong>la</strong> configuración <strong>de</strong><strong>la</strong>s herramientas utilizadas por el sistema como,por ejemplo, los bancos <strong>de</strong> ejercicios y pruebas, elmanejo <strong>de</strong> interpretes, y sus interfaces con <strong>la</strong>sdiversas herramientas que contro<strong>la</strong>rán <strong>la</strong>trasmisión <strong>de</strong> <strong>la</strong> información a través <strong>de</strong> Internet.


4.4. Desarrol<strong>la</strong>r interfaces adaptadas a <strong>la</strong>scaracterísticas individuales <strong>de</strong> cada alumno.Todos los seres humanos, aunque poseemoscualida<strong>de</strong>s más o menos homogéneas, contamoscon ciertas cualida<strong>de</strong>s o <strong>de</strong>strezas <strong>de</strong>sarrol<strong>la</strong>das enmayor o menor mediada, lo cual implica que <strong>la</strong>sinterfaces <strong>de</strong> usuario provistas en el entorno <strong>de</strong>lsistema, <strong>de</strong>ben acop<strong>la</strong>rse a dichas diferencias, <strong>de</strong>modo que cualquier persona sea capaz <strong>de</strong> utilizar<strong>la</strong> herramienta sin problemas. Atendiendo a loanterior, se <strong>de</strong>be procurar que tanto el diseño <strong>de</strong><strong>la</strong>s paginas web y el entorno iconográfico que enel<strong>la</strong>s se maneje, así como el ambiente grafico conque contará el alumno para <strong>de</strong>sarrol<strong>la</strong>r susprogramas <strong>de</strong> práctica o <strong>de</strong> examen, <strong>de</strong>benadaptarse a sus propias habilida<strong>de</strong>s o preferencias.Ante todo, será importante ofrecer un entornoamigable y sencillo, que permita a los usuariosrealizar <strong>la</strong>s activida<strong>de</strong>s que <strong>de</strong>seen sincontratiempos ni dificulta<strong>de</strong>s. El grupo Oviedo3ha <strong>de</strong>sarrol<strong>la</strong>do diversas herramientas quepermiten comprobar <strong>la</strong> usabilidad <strong>de</strong> sitios Web<strong>de</strong> forma remota [7]. La incorporación <strong>de</strong> dichasherramientas permitirá obtener datos sobre <strong>la</strong>interacción realizada por los usuarios y favorecerá<strong>la</strong> calidad <strong>de</strong>l sistema.4.5. Propiciar ambientes <strong>de</strong> trabajo en equipo.Aunque <strong>la</strong> educación a distancia, se percibe comouna herramienta para trabajar <strong>de</strong> manera ais<strong>la</strong>da,<strong>la</strong>s herramientas que nos proporciona parainteractuar con otros usuarios, como el correoelectrónico, chat, grupos <strong>de</strong> discusión, etc. ofrecen<strong>la</strong> posibilidad <strong>de</strong> realizar un sistemas <strong>de</strong> creaciónco<strong>la</strong>borativa <strong>de</strong> información [10].En el caso <strong>de</strong> lenguajes <strong>de</strong> programación, <strong>la</strong>speculiarida<strong>de</strong>s <strong>de</strong> los mensajes <strong>de</strong> error <strong>de</strong> cadasistema y <strong>la</strong>s múltiples posibilida<strong>de</strong>s que aparecenal realizar programas, hacen necesario el<strong>de</strong>sarrollo <strong>de</strong> sistemas co<strong>la</strong>borativos <strong>de</strong> asistenciaal programador. No es <strong>de</strong> extrañar, <strong>la</strong> proliferación<strong>de</strong> los <strong>de</strong>nominados sitios Wiki <strong>de</strong>dicados adiferentes lenguajes <strong>de</strong> programación, en los quelos propios usuarios pue<strong>de</strong>n añadir información <strong>de</strong>forma interactiva. En el proyecto se preten<strong>de</strong>incorporar un sistema simi<strong>la</strong>r <strong>de</strong> asistencia a losestudiantes en el que ellos mismos puedan añadirinformación <strong>de</strong> ayuda.4.6. Proporcionar ayuda en líneaLa oportunidad al prestar <strong>la</strong> ayuda, se transformaen un elemento fundamental para e<strong>la</strong>provechamiento <strong>de</strong>l tiempo y <strong>la</strong> asimi<strong>la</strong>ción <strong>de</strong>conocimiento. Se contará con un sistema <strong>de</strong> ayudaautomática, que podrá acce<strong>de</strong>rse para compararlos problemas que se presenten al alumno, contralos que aparecerán un banco histórico, quealmacenará los problemas o preguntas másfrecuentemente solicitadas, a<strong>de</strong>más <strong>de</strong> contar conuna bibliografía <strong>de</strong> consulta, para exten<strong>de</strong>r losconocimientos en algunos temas en los que se<strong>de</strong>see profundizar.También es posible contar con asesoriassíncronas, mediante vi<strong>de</strong>oconferencia o chat, quepue<strong>de</strong>n programarse en horarios preestablecidos yasesoría asíncrona por medio <strong>de</strong>l correoelectrónico.4.7. Implementación mediante servicios web.La implementación <strong>de</strong> una herramienta flexible,que pueda ser ejecutada <strong>de</strong>s<strong>de</strong> cualquieror<strong>de</strong>nador y a<strong>de</strong>más transportada a diferentesp<strong>la</strong>taformas, exige el uso <strong>de</strong> herramientasestándar, soportadas por los servicios queproporciona Internet. En <strong>la</strong> actualidad, el<strong>de</strong>sarrollo <strong>de</strong> aplicaciones sobre Internet tien<strong>de</strong> abasarse en los <strong>de</strong>nominados servicios Web, quepermiten <strong>de</strong>scentralizar el control <strong>de</strong> <strong>de</strong>terminadoscomponentes <strong>de</strong> <strong>la</strong>s aplicaciones facilitando unamayor versatilidad.4.8. Internacionalización <strong>de</strong> <strong>la</strong> informaciónHasta hace unos años, gran cantidad <strong>de</strong> softwarese producía pensando en satisfacer <strong>la</strong>s necesida<strong>de</strong>slocales o <strong>de</strong> un mercado reducido, y por lo tantoen un solo lenguaje. En <strong>la</strong> actualidad, el usopotencial por usuarios que manejan otrosidiomas, y que comparten sus intereses educativosen materias como los lenguajes <strong>de</strong> programación,representa un aspecto muy importante, que motivaa afrontar el reto <strong>de</strong> hacer los programas másútiles, confeccionándolos en <strong>la</strong> lengua y cultura <strong>de</strong>cada colectivo potencial <strong>de</strong> usuarios.4.9. Compatibilidad con los sistemas existentes


Como se ha mencionado, el sistema <strong>de</strong>sarrol<strong>la</strong>do<strong>de</strong>be ceñirse a su incorporación en un sistemaexistente. En <strong>la</strong> actualidad, se utiliza el sistemaWebCT, pero es necesario tener en cuenta <strong>la</strong>posible utilización <strong>de</strong> otros estándares <strong>de</strong>enseñanza a distancia. Existen numerosaspropuestas <strong>de</strong> estandarización <strong>de</strong> material <strong>de</strong>enseñanza a distancia [1, 13, 14] que <strong>de</strong>bentenerse en cuenta en <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> materialdocente.4.10. Evaluación automática <strong>de</strong>l trabajo <strong>de</strong><strong>la</strong>lumno.Sin duda alguna, <strong>la</strong> evaluación representa unpunto c<strong>la</strong>ve <strong>de</strong>l proceso <strong>de</strong> enseñanza-aprendizaje;para los maestros, este proceso <strong>de</strong> calificar untrabajo o bien un examen, en don<strong>de</strong> no existe unarespuesta concreta es una tarea ardua cuyacomplejidad aumenta en re<strong>la</strong>ción con el número<strong>de</strong> alumnos a los que se <strong>de</strong>sea evaluar.De forma particu<strong>la</strong>r, los profesores <strong>de</strong>lenguajes <strong>de</strong> programación, tienen un gran retotratando <strong>de</strong> asignar una nota cuyo valor reflejerealmente <strong>la</strong> cantidad y calidad <strong>de</strong> losconocimientos adquiridos por el alumno durante elcurso.Llevar a cabo lo anterior <strong>de</strong> maneraautomática, es quizás, <strong>la</strong> parte más difícil <strong>de</strong>implementar. Teniendo en cuenta que <strong>la</strong> mayoría<strong>de</strong> <strong>la</strong>s pruebas que se realizarán en este cursoserán <strong>de</strong>l tipo <strong>de</strong> construir un programa, eldominio <strong>de</strong> <strong>la</strong>s respuestas que pue<strong>de</strong> consi<strong>de</strong>rarsecorrectas resulta infinito. Una posibilidad teóricasería <strong>la</strong> utilización <strong>de</strong> sistemas <strong>de</strong> interpretaciónabstracta [15] que analicen ciertas componentes <strong>de</strong>los programas e<strong>la</strong>borados por los estudiantes, sinnecesidad <strong>de</strong> ejecutarlos. Sin embargo, este tipo<strong>de</strong> análisis requiere un estudio <strong>de</strong> <strong>la</strong> semánticadinámica <strong>de</strong> los lenguajes implicados y en <strong>la</strong>actualidad sólo podría aplicarse a subconjuntos <strong>de</strong>dichos lenguajes. Este estudio semántico ha sidorealizado <strong>de</strong> una forma modu<strong>la</strong>r en [16] y seconsi<strong>de</strong>ra una futura línea <strong>de</strong> investigación.De una forma más pragmática, <strong>la</strong> evaluación<strong>de</strong> ejercicios <strong>de</strong> programación <strong>de</strong> formaautomática se ha realizado en [18]. En el proyectoIDEFIX, se <strong>de</strong>sarrol<strong>la</strong>rá un sistema basado en <strong>la</strong>especificación, para cada ejercicio <strong>de</strong>programación, <strong>de</strong> un conjunto <strong>de</strong> pruebas quere<strong>la</strong>cionan los datos <strong>de</strong> entrada con <strong>la</strong> respuesta aobtener. Algunas <strong>de</strong> estas pruebas serán visibles alos estudiantes, para que puedan validar ellosmismos sus programas. Otras pruebas seránocultas, para evitar posibles trampas y permitiruna evaluación automática. De <strong>la</strong> misma forma, seincorporará un sistema <strong>de</strong> chequeo automático <strong>de</strong>posibles copias o p<strong>la</strong>gios.5. Arquitectura <strong>de</strong>l Sistema.La arquitectura <strong>de</strong>l sistema se presenta en <strong>la</strong> figura2. Se mantienen los nombres en inglés <strong>de</strong> losdiversos componentes para facilitar sureconocimiento en <strong>la</strong> implementación real. Losprincipales componentes son:• Problem Manager: Forma el núcleo <strong>de</strong>lsistema. Se comunica a través <strong>de</strong> Internet conlos usuarios (alumnos, profesores yadministradores) y gestiona <strong>la</strong> realización <strong>de</strong>los problemas <strong>de</strong> programación en losdiferentes intérpretes y máquinas. Para ello,se crean diferentes procesos para <strong>la</strong> ejecución<strong>de</strong> cada problema utilizando un protocolo <strong>de</strong>comunicación con dichos procesos.• X Wrapper: Encapsu<strong>la</strong> <strong>la</strong> funcionalidadmínima <strong>de</strong> un intérprete genérico. Dichafuncionalidad viene dada por primitivas <strong>de</strong>ltipo: load (carga un programa), execute(ejecuta un programa), add (aña<strong>de</strong> uncomponente a un programa), abort (aborta <strong>la</strong>ejecución <strong>de</strong> un programa), etc. Seimplementará un wrapper por cada uno <strong>de</strong> loslenguajes <strong>de</strong> programación que <strong>de</strong>seenincorporarse al sistema. En <strong>la</strong> actualidad secontemp<strong>la</strong> <strong>la</strong> incorporación <strong>de</strong> los lenguajesHaskell y Prolog.• Machine (EXE): El protocolo <strong>de</strong>comunicaciones con el problem managertambién admite <strong>la</strong> ejecución <strong>de</strong> programasejecutables distribuidos (componenteMachine) que forman uno <strong>de</strong> los requisitospara impartir <strong>la</strong> asignatura <strong>de</strong> SistemasDistribuidos.• Web based IDE: Se encarga <strong>de</strong>l interfaz <strong>de</strong>usuario y <strong>de</strong> <strong>la</strong> creación <strong>de</strong> un entorno <strong>de</strong><strong>de</strong>sarrollo amigable. El entorno se adaptará a<strong>la</strong>s necesida<strong>de</strong>s específicas <strong>de</strong> los usuarios.• Col<strong>la</strong>borative Programmer Assistant: Seencarga <strong>de</strong> <strong>la</strong> creación <strong>de</strong> un sistema <strong>de</strong>


UserControlSystemMachine(EXE)Webbased IDEInternetProblemManagerHaskellWrapperHaskellInterpreterPrologWrapperPrologInterpreterCol<strong>la</strong>borativeProgrammerAssistantCourseAdministrationSystemAssignmentManager. . .XWrapper. . .XInterpreterFigura 2. Arquitectura <strong>de</strong>l sistemaayuda a los programadores. Como se hamencionado, se potenciará el <strong>de</strong>sarrolloco<strong>la</strong>borativo por parte <strong>de</strong> los propiosusuarios.• Course Administration System: Estesistema realizará <strong>la</strong>s tareas administrativasre<strong>la</strong>cionadas con el curso. Estas tareas secomunican con el sistema <strong>de</strong> gestiónacadémico general <strong>de</strong> <strong>la</strong> universidad. Por otro<strong>la</strong>do, este sistema llevará a cabo <strong>la</strong>monitorización <strong>de</strong> <strong>la</strong>s diferentes peticionesrealizadas por los estudiantes, facilitando <strong>la</strong>posterior evaluación. El sistema tendrá encuenta, por ejemplo, el número <strong>de</strong> veces queun estudiante carga o ejecuta un programa, elnúmero <strong>de</strong> programas erróneos y el tipo <strong>de</strong>errores, <strong>la</strong> participación <strong>de</strong> los estudiantes enlos diversos foros, etc.• Assignment Manager: Subsistemaencargado <strong>de</strong> <strong>la</strong> gestión <strong>de</strong> <strong>la</strong>s prácticas yproblemas <strong>de</strong> programación. Aunque existendiversas herramientas para <strong>la</strong> publicación <strong>de</strong>ejercicios [8], en <strong>la</strong> actualidad se ha optadopor <strong>la</strong> creación <strong>de</strong> un sistema propio basadoen XML que permite <strong>la</strong> transformaciónautomática <strong>de</strong> los enunciados a HTML y aLaTeX, permitiendo a <strong>la</strong> vez unavisualización interactiva a través <strong>de</strong>l Web yuna impresión <strong>de</strong> calidad. El sistema admiteel envío y presentación <strong>de</strong> enunciados <strong>de</strong>programación <strong>de</strong> forma temporal así como <strong>la</strong>recepción y evaluación <strong>de</strong> respuestas.• User Control System: Sistema <strong>de</strong> control <strong>de</strong>usuarios. La principal novedad <strong>de</strong> estesistema es que no está empotrado en <strong>la</strong>aplicación, sino que se basa en <strong>la</strong> utilización<strong>de</strong> un servicio Web simi<strong>la</strong>r al servicioPassport <strong>de</strong> Microsoft. De esta forma, sefacilita <strong>la</strong> compatibilidad con <strong>la</strong> posterioradopción <strong>de</strong> sistemas integrales <strong>de</strong> seguridadpor parte <strong>de</strong> <strong>la</strong> Universidad.Debido a <strong>la</strong> heterogeneidad <strong>de</strong>l equipo IDEFIX enel proyecto se ha adoptado un sistema<strong>de</strong>scentralizado <strong>de</strong> control <strong>de</strong> versiones basado enSourceForge y se utiliza el idioma inglés para <strong>la</strong>especificación y codificación. Por otro <strong>la</strong>do, elsoftware y <strong>la</strong>s especificaciones <strong>de</strong>sarrol<strong>la</strong>dasmantienen una licencia <strong>de</strong> software libre.6. ConclusionesEn los últimos años, los sistemas <strong>de</strong> enseñanza através <strong>de</strong> Internet han surgido <strong>de</strong> formaespectacu<strong>la</strong>r. En el caso <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong>lenguajes <strong>de</strong> programación, aparecen unasnecesida<strong>de</strong>s específicas que suponen un reto paraeste tipo <strong>de</strong> sistemas.En este artículo se han justificado <strong>la</strong>sprincipales características que <strong>de</strong>be tener unsistema <strong>de</strong> realización <strong>de</strong> prácticas <strong>de</strong>programación a través <strong>de</strong> Internet y se hapresentado <strong>la</strong> arquitectura <strong>de</strong>l sistema que en estosmomentos se está <strong>de</strong>sarrol<strong>la</strong>ndo en el proyectoIDEFIX.Un objetivo principal <strong>de</strong> <strong>la</strong> arquitecturapresentada es su aplicación genérica, tanto amúltiples lenguajes y paradigmas <strong>de</strong>programación, como a diferentes asignaturas. Dehecho, este tipo <strong>de</strong> herramientas, también podríanser utilizadas por empresas <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>


software, ya que facilitan <strong>la</strong> creación <strong>de</strong> sistemasco<strong>la</strong>borativos y permiten evaluar el rendimiento<strong>de</strong> los programadores.Entre <strong>la</strong>s futuras líneas <strong>de</strong> investigación seconsi<strong>de</strong>rará: <strong>la</strong> utilización <strong>de</strong> técnicas semánticasque permitan evaluar <strong>de</strong> forma automática eltrabajo <strong>de</strong>sarrol<strong>la</strong>do sin necesidad <strong>de</strong> ejecutar losprogramas (con los consiguientes riesgos <strong>de</strong>seguridad), y apoyándose en herramientas <strong>de</strong>usabilidad, se realizarán investigaciones queconduzcan a <strong>la</strong> implementación <strong>de</strong> un entorno <strong>de</strong><strong>de</strong>sarrollo amigable.Finalmente, aunque en <strong>la</strong> actualidad elproyecto está todavía en una fase preliminar, seránecesario evaluar y comparar el rendimientoacadémico entre estudiantes presénciales yestudiantes a distancia con el fin <strong>de</strong> establecer <strong>la</strong>spautas a seguir para mejorar el sistema<strong>de</strong>sarrol<strong>la</strong>do.Referencias.[1] Advanced Distributed Learning. SharableContent Object Reference Mo<strong>de</strong>lhttp://www.adlnet.org[2] Arturo Azcorra Saloña, Carlos J. Bernardos,Óscar Gallego Gómez, e Ignacio SotoCampos, "Informe Sobre el Estado <strong>de</strong> <strong>la</strong>Teleeducación en España", Departamento <strong>de</strong>Tecnologías <strong>de</strong> <strong>la</strong>s Comunicaciones,Universidad Carlos III <strong>de</strong> Madrid, Enero 2001[3] K. M. Dawson-Howe, “Automatic Submissionof Programming Assignments”, SIGCSEBulletin 27(4) Dec. 95 pp. 51-53[4] Centro Informático y <strong>de</strong> Comunicaciones <strong>de</strong>lEdificio <strong>de</strong> Ingenierías, "La TecnologíaEducativa en el CICEI: una PerspectivaHistórica", septiembre <strong>de</strong> 2001.http://innova.cicei.com/historia/[5] T. Clear, A. Haataja, J. Meyer, J. Suhonen, S.A. Var<strong>de</strong>n, “Dimensions of Distance Learningfor Computer Education”, ITiCSE 2000Working Group Reports, SIGCSE Bulletin,Vol. 33 (2). Junio 2001[6] Hassan Fazel, Vicente Manzano, Fco. JavierPérez, "Variables Contextuales <strong>de</strong> <strong>la</strong>sAplicaciones Multimedia en <strong>la</strong> Universidad",Facultad <strong>de</strong> Sicología, Universidad <strong>de</strong>Sevil<strong>la</strong>, Revista Electrónica <strong>de</strong> MetodologíaAplicada, 2000[7] B. M. González R., Jose E. Labra G., Juan M.Cueva L. “Web navigability testing withremote agents”. Second ICSE Workshop onWeb Engineering. Lecture Notes inComputer Science, vol. 2016, pp. 311-323,Springer-Ver<strong>la</strong>g, 2001.[8] C. Gregorio Rodríguez, L. L<strong>la</strong>na Díaz, P.Pa<strong>la</strong>o Costanza, C. Pareja Flores, R. MartínezUnanue, J. A. Velázquez Iturbi<strong>de</strong>, “EXercita:Automatic Web Publishing of ProgrammingExercisesl”, 6 th Annual SIGCSE/SIGCUEConference on Innovation and Technology inComputer Science Education, SIGCSEBulletin, Vol. 33(3), pp. 161 - 164, Sep. 2001[9] Bruno Guardia Robles, "Asesores InteligentesPara Apoyar el Proceso <strong>de</strong> Enseñanza <strong>de</strong>Lenguajes <strong>de</strong> Programación", Tesis para <strong>la</strong>Maestría en Ciencias Computacionales <strong>de</strong>lI.T.E.S.M., diciembre 1997.[10] M. Guzdial, “Use of Col<strong>la</strong>borativeMultimedia in Computer Science C<strong>la</strong>sses”,6 th Annual SIGCSE/SIGCUE Conference onInnovation and Technology in ComputerScience Education, SIGCSE Bulletin, Vol.33(3), pp. 17 - 20, Sep. 2001[11] Dorota M. Huizinga, “I<strong>de</strong>ntifying topics forInstructional Improvement through On-linetracking of programming assignments”, 6 thAnnual SIGCSE/SIGCUE Conference onInnovation and Technology in ComputerScience Education, SIGCSE Bulletin, Vol.33(3), pp. 129 - 132, Sep. 2001[12] Página <strong>de</strong>l Proyecto IDEFIX.http://www.di.uniovi.es/aplt/i<strong>de</strong>fix[13] IEEE Learning Technology StandardsCommitteehttp://ltsc.ieee.org[14] IMS Global Learning Consortiumhttp://www.imsproject.org[15] N. D. Jones, F. Nielson, “AbstractInterpretation: a semantics-based tool forprogram analysis”. Handbook of Logic inComputer Science, vol. 4 SemanticMo<strong>de</strong>lling. Oxford University Press, 1995.[16] J. E. Labra, M. C. Luengo, J. M. Cueva, A.Cernuda, “A Language Prototyping Toolbased on Semantic Building Blocks”.Computer Ai<strong>de</strong>d Systems Theory,EUROCAST 2001, Lecture Notes inComputer Science, vol 2178, Springer-Ver<strong>la</strong>g


[17] R. Pérez Suárez, A. J. López Menén<strong>de</strong>z,"Au<strong>la</strong>net, una Experiencia <strong>de</strong> Au<strong>la</strong> Virtual",Departamento <strong>de</strong> Economía Aplicada,Universidad <strong>de</strong> Oviedo, septiembre 2000.[18] R. Saikkonen, L. Malmi, A. korhonen, “FullyAutomatic Assessment of ProgrammingExercises”, 6 th Annual SIGCSE/SIGCUEConference on Innovation and Technology inComputer Science Education, SIGCSEBulletin, Vol. 33(3), pp. 133 - 136, Sep. 2001


Colecciones, correctores y generadores automáticos<strong>de</strong> ejercicios <strong>de</strong> programaciónAlessandra Gallinari, Carlos A. Lázaro Carrascosa, J. Ángel Velázquez Iturbi<strong>de</strong>Escue<strong>la</strong> Superior <strong>de</strong> Ciencias Experimentales y TecnologíaUniversidad Rey Juan Carlos28933 Móstoles (Madrid)e-mail: {a.gallinari, c.a.<strong>la</strong>zaro, a.ve<strong>la</strong>zquez}@escet.urjc.es.ResumenEste artículo preten<strong>de</strong> analizar algunos <strong>de</strong> loslogros conseguidos en el ámbito <strong>de</strong> <strong>la</strong>scolecciones, correctores y generadoresautomáticos <strong>de</strong> ejercicios. Se presta particu<strong>la</strong>ratención a problemas <strong>de</strong> programación, pero seconsi<strong>de</strong>ran metodologías y temáticas comunes aotras disciplinas. Recientemente se han<strong>de</strong>sarrol<strong>la</strong>do múltiples herramientas pero falta unasistematización <strong>de</strong> <strong>la</strong>s mismas. El objetivo <strong>de</strong><strong>la</strong>rtículo es consolidar el conocimiento <strong>de</strong> estossistemas, lo que pue<strong>de</strong> ser <strong>la</strong> base para un uso másracional <strong>de</strong> ellos y para i<strong>de</strong>ntificar mejoras.Pa<strong>la</strong>bras C<strong>la</strong>ve: Formación a distancia, WWW,Internet, programación, herramientas educativas,colecciones <strong>de</strong> problemas, sistemas automáticos<strong>de</strong> generación y corrección <strong>de</strong> problemas.1. IntroducciónLa práctica es una parte fundamental <strong>de</strong> todoproceso educativo. Forma con <strong>la</strong> teoría un todoindisociable, ya que el preguntarse por el cómorec<strong>la</strong>ma saber respon<strong>de</strong>r previamente el qué [31].A<strong>de</strong>más, ambas se alimentan mutuamente, como<strong>de</strong>fien<strong>de</strong> McNiff cuando afirma que “<strong>la</strong> teoría y <strong>la</strong>práctica forman un ciclo, ésta pone en te<strong>la</strong> <strong>de</strong>juicio a aquél<strong>la</strong>, que revisa permanentemente suscontenidos para seguir siendo probados” [19].Esta práctica, en el contexto <strong>de</strong> <strong>la</strong>programación, se concreta en <strong>la</strong> resolución <strong>de</strong>ejercicios, que se utilizan tanto en <strong>la</strong> etapaformativa <strong>de</strong> los alumnos como en su evaluación.A lo <strong>la</strong>rgo <strong>de</strong>l proceso <strong>de</strong> aprendizaje, losejercicios se suelen presentar primero en forma <strong>de</strong>ejemplos, a fin <strong>de</strong> ilustrar el contenido teórico <strong>de</strong>un tema particu<strong>la</strong>r o estimu<strong>la</strong>r al alumno aanalizar y evaluar una solución propuesta a unproblema dado. En una segunda fase los ejerciciosse pue<strong>de</strong>n proponer como problemas abiertos, <strong>de</strong>tal modo que el alumno tiene que hacer un mayoresfuerzo creativo para proponer posiblessoluciones y escoger <strong>la</strong>s correctas. En esta últimafase el profesor pue<strong>de</strong> evaluar formalmente losresultados obtenidos por parte <strong>de</strong>l alumno.La confección, c<strong>la</strong>sificación, almacenamientoy corrección <strong>de</strong> estos ejercicios constituye unatarea importante en el quehacer <strong>de</strong> los profesores,y su automatización un reto para los profesionales<strong>de</strong>l mundo <strong>de</strong> <strong>la</strong> informática.Las ventajas que pue<strong>de</strong> proporcionar estaautomatización son conocidas:• Acceso a gran<strong>de</strong>s cantida<strong>de</strong>s <strong>de</strong> información.• Intercambio <strong>de</strong> material docente.• Reducción <strong>de</strong> errores humanos en <strong>la</strong>corrección y mayor uniformidad en <strong>la</strong>evaluación <strong>de</strong> problemas.• Detección <strong>de</strong> los p<strong>la</strong>gios.• Apoyo a <strong>la</strong> enseñanza individualizada <strong>de</strong> losalumnos. Una <strong>de</strong> <strong>la</strong>s consecuencias <strong>de</strong> estaventaja es <strong>la</strong> disminución <strong>de</strong> los problemasque <strong>de</strong>rivan <strong>de</strong> <strong>la</strong>s diferencias <strong>de</strong> nivel inicialque suelen presentar los estudiantes [9].• Aumento <strong>de</strong> motivación <strong>de</strong> los alumnos.• Apoyo a <strong>la</strong> autoevaluación <strong>de</strong>l alumno.• Mayor facilidad para po<strong>de</strong>r trabajar en grupos.• Posibilidad <strong>de</strong> crear para los alumnos uncurriculum académico más orientado a <strong>la</strong>preparación al trabajo en empresas [11,38].• Recopi<strong>la</strong>ción <strong>de</strong> estadísticas acerca losresultados obtenidos por los estudiantes, loque favorece el proceso <strong>de</strong> evaluación <strong>de</strong> losalumnos y <strong>de</strong>l sistema empleado.• Potencial ahorro <strong>de</strong> tiempo por el profesor,especialmente en <strong>la</strong> corrección <strong>de</strong> ejercicios


Estas características son particu<strong>la</strong>rmenteapropiadas para cursos ofrecidos enteramente adistancia. Por ejemplo, po<strong>de</strong>r examinarse adistancia parece ser una importante motivaciónpara los alumnos [28,46].En este artículo se presentan algunas <strong>de</strong> <strong>la</strong>sten<strong>de</strong>ncias observadas en el ámbito <strong>de</strong> <strong>la</strong>scolecciones, corrección y generación automática<strong>de</strong> ejercicios. Aunque algunos <strong>de</strong> los aspectostratados están muy re<strong>la</strong>cionados con <strong>la</strong>sherramientas <strong>de</strong> visualización, no se dará una<strong>de</strong>scripción <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> éstas. Existen numerosasreferencias bibliográficas <strong>de</strong>dicadas a este tema(por ej. [4,35]). Sí se tendrán especialmente encuenta, en cambio, <strong>la</strong>s herramientas <strong>de</strong>programación diseñadas para ser utilizadas en <strong>la</strong>Web, <strong>de</strong>bido a que <strong>la</strong> utilización <strong>de</strong> <strong>la</strong>s re<strong>de</strong>s <strong>de</strong>or<strong>de</strong>nadores refuerza <strong>la</strong>s ventajas antesmencionadas, dado el carácter <strong>de</strong> universalidad ein<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong>s p<strong>la</strong>taformas que éstas tienen.La estructura <strong>de</strong>l artículo es <strong>la</strong> siguiente: elsegundo apartado <strong>de</strong>fine algunos términosimportantes que familiarizarán al lector con elresto <strong>de</strong>l artículo. En el tercero se presentanherramientas <strong>de</strong> apoyo a ejercicios. El cuartoapartado trata sobre <strong>la</strong> evaluación <strong>de</strong> los sistemassometidos a este importante proceso. El quinto yúltimo contiene unas breves conclusiones.2. DefinicionesLas nuevas tecnologías están cambiando una <strong>de</strong><strong>la</strong>s características más propias <strong>de</strong>l ser humano: <strong>la</strong>comunicación. A esto no es ajena <strong>la</strong> educación: <strong>la</strong>enseñanza, para que se convierta en aprendizaje,<strong>de</strong>be tener una fluida comunicación entre eleducador y los participantes [19].A<strong>de</strong>más, estas nuevas tecnologías sonnecesarias para <strong>la</strong> educación a distancia,entendiendo como tal aquel<strong>la</strong> modalidad educativaque no está regida por el espacio, constituyéndosecomo fundamento <strong>de</strong> su estudio una serie <strong>de</strong>materiales especialmente diseñados para guiar e<strong>la</strong>utoaprendizaje. Las herramientas actualmenteempleadas en <strong>la</strong> educación a distancia se pue<strong>de</strong>ndividir en dos grupos: sincrónicas y diacrónicas[41]. Se diferencian en que <strong>la</strong>s primeras permitencompartir material en tiempo real y requieren quelos usuarios trabajen online simultáneamente,mientras que <strong>la</strong>s segundas se pue<strong>de</strong>n utilizar sinrestricciones temporales. Son tecnologíascomplementarias, no antagonistas.La educación a distancia no es nueva: <strong>la</strong>sprimeras experiencias datan <strong>de</strong> 1728, fecha en <strong>la</strong>que apareció un anuncio en <strong>la</strong> gaceta <strong>de</strong> Bostonofreciendo material <strong>de</strong> enseñanza y tutorías porcorrespon<strong>de</strong>ncia. Su uso se consolidó en el sigloXX con una mayor organización y el empleo <strong>de</strong>medios audiovisuales. No obstante, es <strong>la</strong>revolución tecnológica <strong>de</strong> los años noventa basadaen <strong>la</strong> explosión <strong>de</strong> Internet <strong>la</strong> que abre nuevoscauces a este mo<strong>de</strong>lo educativo, reforzando todas<strong>la</strong>s ventajas con <strong>la</strong>s que cuenta [1,31]:• Apertura: Internet proporciona un accesouniversal a <strong>la</strong> enseñanza.• Flexibilidad: permite al alumno escoger suspropios espacios, tiempos y ritmos <strong>de</strong>estudio.• Economía: pue<strong>de</strong> disminuir gastos asociadoscon <strong>de</strong>sp<strong>la</strong>zamientos, material bibliográfico,etc., si bien precisa <strong>de</strong> una inversión inicial y<strong>de</strong> costes <strong>de</strong> mantenimiento (or<strong>de</strong>nadores,impresoras, acceso a Internet).• Interactividad: aunque pueda parecersorpren<strong>de</strong>nte, en muchas ocasiones <strong>la</strong>re<strong>la</strong>ción profesor-alumno se ha vistofavorecida por <strong>la</strong> inclusión <strong>de</strong> elementostecnológicos <strong>de</strong> comunicación (correoelectrónico, foros <strong>de</strong> discusión) frente a <strong>la</strong>sc<strong>la</strong>ses puramente presenciales. A<strong>de</strong>más, e<strong>la</strong>cceso a Internet ofrece al alumno <strong>la</strong>posibilidad <strong>de</strong> obtener explicaciones <strong>de</strong>lmismo tema con estilos y enfoques distintos.• Seguridad: control automático sobre elposible p<strong>la</strong>gio.En cuanto a los ejercicios, núcleo <strong>de</strong> esteartículo, el diccionario <strong>de</strong> <strong>la</strong> Real Aca<strong>de</strong>mia <strong>de</strong> <strong>la</strong>Lengua Españo<strong>la</strong> los <strong>de</strong>fine como “trabajopráctico que en el aprendizaje <strong>de</strong> ciertasdisciplinas sirve <strong>de</strong> complemento y comprobación<strong>de</strong> <strong>la</strong> enseñanza teórica. “Utilizamos <strong>la</strong> pa<strong>la</strong>bra ejercicio para indicaruna actividad didáctica que pue<strong>de</strong> ser utilizada obien en <strong>la</strong> fase <strong>de</strong> aprendizaje <strong>de</strong>l alumno (paraprofundizar en los temas teóricos y apren<strong>de</strong>r aanalizar, resolver y evaluar <strong>la</strong>s posibles soluciones<strong>de</strong> problemas concretos), o bien en <strong>la</strong> fase <strong>de</strong>evaluación, por parte <strong>de</strong>l profesor, <strong>de</strong>lconocimiento adquirido por el alumno mediante


tests, exámenes o activida<strong>de</strong>s simi<strong>la</strong>res. Losejercicios pue<strong>de</strong>n ser ejemplos, prácticas,visualización <strong>de</strong> conceptos o algoritmos.Entre los distintos tipos <strong>de</strong> ejercicios, los quepermiten una corrección automática inmediata sonlos problemas <strong>de</strong> respuesta cerrada, don<strong>de</strong> <strong>la</strong>sposibles respuestas y, entre el<strong>la</strong>s, <strong>la</strong>s correctasestán pre<strong>de</strong>terminadas. Los problemas “tipo test”son aquellos en los que el alumno tiene queseleccionar <strong>la</strong> única respuesta correcta entre unconjunto <strong>de</strong> posibles alternativas. De tipo test sontambién los problemas <strong>de</strong>l tipo “verda<strong>de</strong>ro ofalso,” don<strong>de</strong> se trata <strong>de</strong> evaluar <strong>la</strong> veracidad <strong>de</strong>una proposición. Los problemas “<strong>de</strong> asociaciones”presentan dos conjuntos <strong>de</strong> objetos y <strong>la</strong> respuestacorrecta es una re<strong>la</strong>ción que asocia <strong>de</strong> formaa<strong>de</strong>cuada a cada objeto <strong>de</strong>l primer conjunto unobjeto <strong>de</strong>l segundo. Los ejercicios “<strong>de</strong> rellenarespacios en b<strong>la</strong>nco” son problemas cuyosenunciados contienen espacios en b<strong>la</strong>nco y eltexto completado por el alumno se compara conunas respuestas pre<strong>de</strong>finidas como correctas. Unavariación <strong>de</strong> este último tipo <strong>de</strong> problemasconsiste en restringir a una lista pre<strong>de</strong>terminada<strong>la</strong>s posibles pa<strong>la</strong>bras (u objetos) que pue<strong>de</strong>n serinsertadas en los espacios en b<strong>la</strong>nco.En el contexto <strong>de</strong> herramientas informáticas<strong>de</strong> apoyo a <strong>la</strong>s prácticas po<strong>de</strong>mos <strong>de</strong>stacar trestipos fundamentales:Las colecciones <strong>de</strong> problemas son almaceneselectrónicos <strong>de</strong> ejercicios que, como veremos,pue<strong>de</strong>n tener distintos niveles <strong>de</strong> complejidad encuanto al número <strong>de</strong> problemas disponibles y <strong>la</strong>sposibilida<strong>de</strong>s <strong>de</strong> c<strong>la</strong>sificación y <strong>de</strong> edición <strong>de</strong> losmismos.Las herramientas <strong>de</strong> generación automática<strong>de</strong> problemas utilizan varios métodos y niveles <strong>de</strong>complejidad para producir ejercicios quesatisfagan requisitos sobre el tema teóricoasociado, nivel <strong>de</strong> dificultad, posibilidad <strong>de</strong> incluirsugerencias o ayudas (penalizadas o no durante <strong>la</strong>fase <strong>de</strong> evaluación), método <strong>de</strong> evaluación,generación automática <strong>de</strong> una solución correcta ocomentarios para el alumno.Resulta natural, tras <strong>la</strong> generación automática<strong>de</strong> problemas, <strong>de</strong>sarrol<strong>la</strong>r herramientas <strong>de</strong>corrección automática <strong>de</strong> los mismos: <strong>la</strong> mayoría<strong>de</strong> los sistemas existentes proporcionanautomáticamente una solución correcta y unaevaluación <strong>de</strong>l trabajo entregado electrónicamentepor el alumno. Tienen también funciones <strong>de</strong>administración para el proceso <strong>de</strong> entrega <strong>de</strong>prácticas, generación <strong>de</strong> informes para alumnos yprofesores, almacenamiento <strong>de</strong> notas y,finalmente, utilizan técnicas <strong>de</strong> control sobreseguridad <strong>de</strong>l sistema y p<strong>la</strong>gio.3. Herramientas <strong>de</strong> apoyo a ejerciciosLas colecciones, los correctores y los generadoresautomáticos <strong>de</strong> ejercicios son tres tipos <strong>de</strong>herramientas que, aunque estrechamentere<strong>la</strong>cionadas, mantienen unas ciertain<strong>de</strong>pen<strong>de</strong>ncia, ya que existen motivacionesdiferentes para construir cualquiera <strong>de</strong> los tressistemas por separado: <strong>la</strong>s colecciones representanuna fuente <strong>de</strong> documentación útil por sí misma,in<strong>de</strong>pendientemente <strong>de</strong> su grado <strong>de</strong> estructuración;los correctores automáticos liberan a losprofesores <strong>de</strong> una carga tediosa, a<strong>de</strong>más <strong>de</strong>reducir el índice <strong>de</strong> fallos humanos y ofrecer a<strong>la</strong>lumno una respuesta rápida; los generadoresautomáticos constituyen una ayuda eficaz altrabajo <strong>de</strong>l profesor, que en muchas ocasiones<strong>de</strong>be emplear gran<strong>de</strong>s cantida<strong>de</strong>s <strong>de</strong> tiempo enencontrar combinaciones <strong>de</strong> variables que haganun problema resoluble en una cantidad <strong>de</strong> tiemporazonable y pre<strong>de</strong>terminada.Por otra parte, <strong>la</strong>s metodologías, estrategias,modos <strong>de</strong> implementación e incluso a vecesarquitecturas suelen ser diferentes en función <strong>de</strong>lsistema <strong>de</strong>sarrol<strong>la</strong>do.Estos motivos, junto con <strong>la</strong> c<strong>la</strong>ridad <strong>de</strong> <strong>la</strong>exposición, son los que nos han llevado a abordarlos tres aspectos <strong>de</strong> modo in<strong>de</strong>pendiente.Es preciso <strong>de</strong>stacar <strong>de</strong> nuevo, en cualquiercaso, que estos aspectos están muy re<strong>la</strong>cionados:es <strong>de</strong>seable contar con colecciones estructuradas<strong>de</strong> ejercicios generados y corregidosautomáticamente, lo que aúna todas <strong>la</strong>s ventajas<strong>de</strong> los tres aspectos por separado. A<strong>de</strong>más,conviene subrayar que <strong>la</strong>s colecciones <strong>de</strong>ejercicios surgen <strong>de</strong> forma co<strong>la</strong>teral al <strong>de</strong>sarrol<strong>la</strong>rsistemas <strong>de</strong> corrección <strong>de</strong> ejercicios, y <strong>de</strong> formainherente al <strong>de</strong>sarrol<strong>la</strong>r sistemas <strong>de</strong> generaciónautomática.Éstas son <strong>la</strong>s razones por <strong>la</strong>s cuales es difícilhab<strong>la</strong>r <strong>de</strong> una evolución histórica biencaracterizada <strong>de</strong> estas herramientas. Intentaremos<strong>de</strong>linear ten<strong>de</strong>ncias, experiencias pasadas yperspectivas futuras pero hay que tener en cuenta


que actualmente se utilizan herramientas <strong>de</strong>distintos mo<strong>de</strong>los y niveles <strong>de</strong> complejidad.3.1. Colecciones <strong>de</strong> ejerciciosLas colecciones <strong>de</strong> ejercicios constituyen un<strong>de</strong>pósito útil <strong>de</strong> problemas a<strong>de</strong>cuados para elconocimiento <strong>de</strong> una materia. Suelen contenerdistintos tipos <strong>de</strong> ejercicios, entre los cuales<strong>de</strong>stacamos los ejercicios <strong>de</strong> respuesta cerrada,que en algunas ocasiones realizan una <strong>la</strong>bor <strong>de</strong>reconocimiento <strong>de</strong> los conceptos, aunque en otrasevalúan conocimientos avanzados (por ejemplo,posibles salidas <strong>de</strong> una función, lo que obliga atrazar<strong>la</strong>, etc.) [10,24,25,40,43]; <strong>la</strong> realización <strong>de</strong>programas parciales o completos [2, 3, 4, 28, 42]y los problemas específicos <strong>de</strong> un área <strong>de</strong>conocimiento <strong>de</strong>terminada, por ejemploproblemas <strong>de</strong> grafos [7, 8].Estos ejercicios han sido e<strong>la</strong>boradostradicionalmente <strong>de</strong> forma minuciosa y manualpor los profesores <strong>de</strong> <strong>la</strong>s materias científicas, conel doble objetivo <strong>de</strong> evaluar a sus alumnos y <strong>de</strong>facilitar su autoevaluación [45].Internet proporciona, actualmente, distintostipos <strong>de</strong> colecciones <strong>de</strong> ejercicios. En algunoscasos estas colecciones proce<strong>de</strong>n directamente <strong>de</strong><strong>la</strong>s e<strong>la</strong>boraciones manuales <strong>de</strong> los profesores, sinapenas utilizar los recursos que ofrece <strong>la</strong> red(hipervínculos, inserción <strong>de</strong> imágenes, etc.). Es elcaso también <strong>de</strong> colecciones <strong>de</strong> problemas apropósito <strong>de</strong> concursos <strong>de</strong> programación (una lista<strong>de</strong>tal<strong>la</strong>da <strong>de</strong> varios concursos <strong>de</strong> programación sepue<strong>de</strong> encontrar, por ejemplo, en <strong>la</strong> página:www.links2go.net/topic/Programming_Contests).En general, estas colecciones se caracterizanpor ser no estructuradas, es <strong>de</strong>cir, los sistemas noofrecen mecanismos <strong>de</strong> gestión <strong>de</strong> los ejercicios.Frente a el<strong>la</strong>s, existen numerosos sistemas que síincluyen estos mecanismos, permitiendo <strong>la</strong>soperaciones típicas <strong>de</strong> alta, baja, modificación yrecuperación <strong>de</strong> los ejercicios. A<strong>de</strong>más,habitualmente cuentan con exhaustivasc<strong>la</strong>sificaciones <strong>de</strong> los problemas atendiendo a sudificultad, su materia u otros criterios, quepermiten una fácil adaptación a <strong>la</strong>s necesida<strong>de</strong>s<strong>de</strong>l usuario, sea alumno o profesor.La necesidad <strong>de</strong> introducir temas <strong>de</strong>programación orientada a objetos en <strong>la</strong>sasignaturas básicas <strong>de</strong> programación justifica <strong>la</strong>cada vez más frecuente presencia <strong>de</strong> ejercicios <strong>de</strong>Java y C++ en <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s coleccionesdisponibles. Por otra parte, el uso <strong>de</strong> <strong>la</strong> Webimpone <strong>la</strong> utilización frecuente <strong>de</strong> Java en <strong>la</strong>implementación <strong>de</strong> <strong>la</strong>s herramientas diseñadas conel fin <strong>de</strong> crear exposiciones interactivas <strong>de</strong> estostemas (ver, por ejemplo, [6,34,41]).Pue<strong>de</strong>n resultar <strong>de</strong> gran utilidad varias listasestructuradas <strong>de</strong> en<strong>la</strong>ces a material didácticodisponibles en <strong>la</strong> Red como, por ejemplo,Computer Science Education Links <strong>de</strong>l SIGCSE(Special Interest Group on Computer ScienceEducation <strong>de</strong> <strong>la</strong> Association for ComputingMachinery, ACM) [30] y Computer ScienceEducation Resources [5]. A<strong>de</strong>más, ComputerScience Teaching Center (CSTS) y ComputingLaboratory Repository [13,23] son importanteslibrerías digitales aprobadas por <strong>la</strong> ACM yfinanciadas por <strong>la</strong> National Science Fundation.Debemos <strong>de</strong>stacar que algunas <strong>de</strong> <strong>la</strong>scolecciones existentes se basan en e<strong>la</strong>lmacenamiento <strong>de</strong> los ejercicios a modo <strong>de</strong>ficheros, lo que inci<strong>de</strong> en <strong>la</strong> velocidad <strong>de</strong>recuperación <strong>de</strong> los problemas [20]; otros, encambio, utilizan sistemas gestores <strong>de</strong> bases <strong>de</strong>datos como SYBASE, dotando a los sistemas <strong>de</strong>mayor integridad y seguridad [8,10,40].3.2. Generación automática <strong>de</strong> ejerciciosLas herramientas <strong>de</strong> generación <strong>de</strong> problemastienen, a<strong>de</strong>más <strong>de</strong> su valor educativo, importantesimplicaciones prácticas. Aunque no se puedasiempre afirmar que se han conseguido losobjetivos prefijados, el uso <strong>de</strong> estas herramientasimplica un ahorro <strong>de</strong> tiempo en el trabajo <strong>de</strong>lprofesor, una mayor facilidad <strong>de</strong> compartirrecursos y un mayor control sobre el p<strong>la</strong>gio[7,8,25]. Es <strong>de</strong>stacable que, entre <strong>la</strong>s ventajas quesuele proporcionar un curso a distancia, el ahorro<strong>de</strong> tiempo para el profesor no se presenta siempre;existen experiencias que afirman lo contrario: uncurso a distancia pue<strong>de</strong> consumir más tiempo queuno presencial, <strong>de</strong>bido fundamentalmente a<strong>la</strong>umento <strong>de</strong> consultas por parte <strong>de</strong> los alumnos y a<strong>la</strong>s tareas administrativas que conlleva [9].Existen diferentes enfoques a <strong>la</strong> hora <strong>de</strong> tratarel problema <strong>de</strong> <strong>la</strong> generación automática <strong>de</strong>ejercicios:En algunos casos [17] se presenta unproblema mo<strong>de</strong>lo para un <strong>de</strong>terminado tema y esel propio alumno quien genera distintas


ejemp<strong>la</strong>res <strong>de</strong> ese mismo problema introduciendodatos diferentes cada vez. De esta forma e<strong>la</strong>lumno pue<strong>de</strong> experimentar y hacer prediccionessobre los distintos resultados que se obtendrán[25].Un nivel <strong>de</strong> e<strong>la</strong>boración automática <strong>de</strong> nuevosejercicios un poco más complejo consiste en <strong>la</strong>utilización <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s que contienen una serie <strong>de</strong>variables que se aleatorizan, proporcionandodistintos tipos <strong>de</strong> problemas [7,8,10,17,24,25,43].Es también interesante po<strong>de</strong>r utilizar sistemasque permiten e<strong>la</strong>borar exámenes o pequeñascolecciones <strong>de</strong> problemas a partir <strong>de</strong> una base <strong>de</strong>datos <strong>de</strong> ejercicios [10,36,40]. La extracciónpue<strong>de</strong> ser aleatoria o <strong>de</strong>terminada, consi<strong>de</strong>randoincluso grados <strong>de</strong> dificultad para los ejercicios y,por en<strong>de</strong>, para <strong>la</strong>s colecciones resultantes [27].Estas últimas herramientas, si bien no generanejercicios estrictamente hab<strong>la</strong>ndo, sí se comportancomo editores <strong>de</strong> los mismos, permitiendo crearproblemas con un formato <strong>de</strong>terminado.Para prevenir y evitar situaciones <strong>de</strong> p<strong>la</strong>giodurante los exámenes (especialmente si sonexámenes a distancia) [2,7,28], algunasherramientas están diseñadas <strong>de</strong> tal forma que e<strong>la</strong>lumno no pue<strong>de</strong> extraer soluciones <strong>de</strong>l sistema(parciales o completas), sólo pue<strong>de</strong> entregarelectrónicamente una versión <strong>de</strong> su trabajo y nopue<strong>de</strong> recibir ninguna ayuda que no estéautorizada por el profesor.3.3. Corrección automática <strong>de</strong> ejerciciosLa corrección c<strong>la</strong>ra y coherente <strong>de</strong> los ejercicioses fundamental en el proceso educativo:proporciona información tanto al alumno sobresus errores como al profesor sobre el nivel <strong>de</strong>aprendizaje <strong>de</strong> sus estudiantes. Un proceso <strong>de</strong>evaluación objetivo y uniforme contribuye afortalecer el nivel <strong>de</strong> confianza <strong>de</strong>l alumno (y <strong>de</strong>lprofesor) en el sistema [7,16,21,37,46].El tipo <strong>de</strong> corrección proporcionada para cadaproblema <strong>de</strong>pen<strong>de</strong> <strong>de</strong> los objetivos <strong>de</strong> <strong>la</strong> sesión <strong>de</strong>práctica: si <strong>la</strong> práctica se está <strong>de</strong>sarrol<strong>la</strong>ndo paraque el alumno vea nuevos ejemplos y aprendanuevas técnicas, el corrector podrá proporcionartodo tipo <strong>de</strong> información, ayuda y ejercicioscomplementarios [ver, por ejemplo, 18], mientrasque estas posibilida<strong>de</strong>s se eliminarán <strong>de</strong>l sistemadurante sesiones <strong>de</strong> exámenes.Des<strong>de</strong> un punto <strong>de</strong> vista técnico, <strong>la</strong> corrección<strong>de</strong> ejercicios <strong>de</strong>pen<strong>de</strong> drásticamente <strong>de</strong>l tipo <strong>de</strong> losmismos. En el caso <strong>de</strong> ejercicios <strong>de</strong> respuestacerrada, esta corrección es automática y casiinmediata: se trata <strong>de</strong> comparar <strong>la</strong> respuesta dadacon <strong>la</strong> respuesta correcta almacenada [10, 40].Si nos enfrentamos a problemas en los queexigimos al alumno que escriba código fuente [2,3,22,42], intervienen más elementos: analizadoresléxicos y sintácticos, comparadores <strong>de</strong> estructuras,generadores <strong>de</strong> errores, distintas métricas, etc.A<strong>de</strong>más, <strong>la</strong> corrección <strong>de</strong> ejercicios estáalgunas veces muy re<strong>la</strong>cionada con <strong>la</strong>visualización [4 y sus referencias, 24,25,43],especialmente en problemas <strong>de</strong> grafos [7].Un corrector automático i<strong>de</strong>al tendría quepo<strong>de</strong>r reproducir (y perfeccionar) el trabajo <strong>de</strong> uncorrector humano. Parece ser una opinióncompartida por varios <strong>de</strong> los creadores <strong>de</strong> sistemas<strong>de</strong> corrección que todavía queda mucho por haceren este sentido. Una seria dificultad es que <strong>la</strong>mayoría <strong>de</strong> <strong>la</strong>s herramientas no son capaces <strong>de</strong>distinguir lo parcialmente válido y asignar unanota positiva a un trabajo que no seacompletamente correcto. Aunque <strong>la</strong> realización <strong>de</strong>un sistema con estas características representa unproblema no computable, cualquier herramientaque se acerque lo más posible al mo<strong>de</strong>lo i<strong>de</strong>al esuna importante contribución.Algunos correctores más <strong>de</strong>sarrol<strong>la</strong>dos [7,8,26] intentan mirar no so<strong>la</strong>mente <strong>la</strong> solución final,sino también los pasos empleados por el alumnopara llegar a esa solución. Un error cometido enuno <strong>de</strong> los primeros pasos pue<strong>de</strong> modificarcríticamente el nivel <strong>de</strong> dificultad <strong>de</strong>l problema,imposibilitando una evaluación automáticaequilibrada. Existen sistemas, por ejemplo [7,22],que ofrecen “pistas” para resolver el ejercicio que,en el caso <strong>de</strong> ser utilizadas, disminuyen <strong>la</strong>calificación final; otros son capaces <strong>de</strong>“actualizar” el ejercicio y su método <strong>de</strong>evaluación <strong>de</strong>spués <strong>de</strong> cada error cometido por e<strong>la</strong>lumno, <strong>de</strong> tal forma que el error tenga un pesomás a<strong>de</strong>cuado.Finalmente merece <strong>la</strong> pena <strong>de</strong>stacar algunossistemas que permiten o requieren <strong>la</strong> participación<strong>de</strong>l profesor en el proceso <strong>de</strong> evaluación. Si bienno se pue<strong>de</strong>n consi<strong>de</strong>rar correctores automáticosstrictu sensi, facilitan <strong>la</strong> tarea <strong>de</strong> corrección,proporcionando editores ad hoc, diseñados paraalmacenar anotaciones y comentarios [7,25,29].


Entre estos hay sistemas que utilizan bases <strong>de</strong>datos para almacenar los trabajos entregados porlos alumnos, <strong>la</strong>s calificaciones <strong>de</strong> los alumnos ylos comentarios que el profesor consi<strong>de</strong>reoportunos [11,15] y sofisticados asistentes para <strong>la</strong>creación <strong>de</strong> páginas Web <strong>de</strong> asignaturas [33],algunos <strong>de</strong> los cuales son comerciales.3.4. Algunas herramientas integradasAlgunas herramientas integran, <strong>de</strong> algún modo,los aspectos arriba analizados. Destacamos entreel<strong>la</strong>s <strong>la</strong>s siguientes:• Autogenerador y asistente <strong>de</strong> ejerciciosinteractivos vía Web [10]: sistema quegestiona una colección <strong>de</strong> ejercicios cerrados,utilizando una base <strong>de</strong> datos centralizada.Permite <strong>la</strong> generación <strong>de</strong> nuevos ejercicios, y<strong>la</strong> recopi<strong>la</strong>ción <strong>de</strong> estadísticas en base a losresultados. Utiliza para su implementaciónCGIs y el lenguaje JavaScript.• PILOT [7]: “An Interactive Tool for Learningand Grading”. Herramienta in<strong>de</strong>pendiente <strong>de</strong><strong>la</strong> p<strong>la</strong>taforma, basada en <strong>la</strong> arquitecturaCliente/Servidor y en applets <strong>de</strong> Java, quegenera ejercicios basándose en un problema‘tipo’ y en ejemplos diferentes <strong>de</strong>l mismo.Permite, a<strong>de</strong>más, <strong>la</strong> corrección parcial <strong>de</strong> losmismos y está muy vincu<strong>la</strong>do a <strong>la</strong>visualización.• Java ‘Problets’ [24,25,26]: sistemas basadosen applets <strong>de</strong> Java. Son generadores ycorrectores <strong>de</strong> ejercicios basados en unap<strong>la</strong>ntil<strong>la</strong> y una serie <strong>de</strong> variables que, a<strong>la</strong>leatorizar<strong>la</strong>s, proporcionan gran cantidad <strong>de</strong>problemas parecidos.• WebToTeach [2,3], “Tester and Visualizer forTeaching Data Structures” [4]: herramientasque merecen ser <strong>de</strong>stacadas por su capacidad<strong>de</strong> admitir, a través <strong>de</strong>l Web, problemasbasados en que el alumno escriba códigofuente.• Course Master [12] (antiguamente Ceilidh):creado por el Learning Technology ResearchGroup en el <strong>de</strong>partamento <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong>Computación en <strong>la</strong> Nottingham University(Reino Unido), es un sistema <strong>de</strong> evaluaciónautomática, administración <strong>de</strong> notas,soluciones y material <strong>de</strong> asignaturas. Permiteque el profesor pueda observar el trabajo <strong>de</strong>sus alumnos y generar informes sobre casos<strong>de</strong> p<strong>la</strong>gio. Está basado en un sistema Cliente/Servidor y está escrito en Java.4. EvaluaciónLa evaluación es una parte fundamental <strong>de</strong>l diseño<strong>de</strong> un sistema informático que tiene como misiónprincipal recoger información sobre el mismo y asu vez optimizarlo, mediante métodos einstrumentos objetivos [19].Cómo medir <strong>de</strong> forma apropiada unaherramienta educativa es un problema todavíaabierto y se han sugerido varias soluciones[23,32]. Una primera evaluación <strong>de</strong> un sistemasuele estar basada en cuestionarios dirigidos a losalumnos [39, y prácticamente todas <strong>la</strong>s referenciasque <strong>de</strong>scriben algún tipo <strong>de</strong> herramientaseducativas]. El CSTC ofrece <strong>la</strong> posibilidad <strong>de</strong>someter material didáctico a una evaluación quese realiza por medio <strong>de</strong> formu<strong>la</strong>rios y <strong>de</strong> formaelectrónica. La metodología empleada en <strong>la</strong>e<strong>la</strong>boración <strong>de</strong> estos formu<strong>la</strong>rios es el resultado <strong>de</strong>un estudio empírico explicado en <strong>de</strong>talle en [13] yes consecuencia <strong>de</strong> <strong>la</strong> evolución histórica <strong>de</strong> losmétodos <strong>de</strong> evaluación.Para <strong>la</strong> mayoría <strong>de</strong> los sistemas analizados noexiste todavía ningún tipo <strong>de</strong> evaluación, o ésta esmuy informal y poco rigurosa. Hay algunos casos,en cambio, en los que <strong>la</strong> evaluación es muy tenidaen cuenta. Destaca un estudio que <strong>de</strong>fien<strong>de</strong> <strong>la</strong>conveniencia <strong>de</strong> realizar cursos online [44],porque reduce el p<strong>la</strong>gio, aumenta <strong>la</strong> motivación <strong>de</strong>los alumnos y reduce el problema <strong>de</strong> contar conalumnos con un nivel previo muy diferente. Comocontrapartida cabe <strong>de</strong>stacar el elevado grado <strong>de</strong>responsabilidad que <strong>de</strong>be tener un alumno al estarmenos contro<strong>la</strong>do por parte <strong>de</strong>l profesor. Estasconclusiones han sido posibles gracias a unaextensa evaluación basada en completoscuestionarios dirigidos a los alumnos. Es <strong>de</strong><strong>de</strong>stacar, asimismo, <strong>la</strong> aplicación Lecturelets [14]que permite realizar conferencias multimedia através <strong>de</strong> <strong>la</strong> Web y que recoge <strong>la</strong> evaluación através <strong>de</strong> ficheros log, don<strong>de</strong> quedan registradoslos pasos que da el usuario al utilizar <strong>la</strong>herramienta, información luego utilizada para <strong>la</strong>mejora <strong>de</strong>l sistema. En [25,26,43] se evalúa el uso<strong>de</strong> applets <strong>de</strong> Java para explicar varios conceptos<strong>de</strong> programación en el lenguaje C++ en cursos <strong>de</strong>


programación <strong>de</strong>l Ramapo College en New Jersey(EEUU). Los resultados son positivos en todos loscasos y en algunos <strong>de</strong> ellos reflejan una mejora <strong>de</strong>l100% en <strong>la</strong> media <strong>de</strong> <strong>la</strong>s notas <strong>de</strong> alumnos queutilizan estas herramientas. El NationalEngineering Educational Delivery System [32]realiza una evaluación <strong>de</strong> <strong>la</strong>s herramientaseducativas no comerciales para <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>ingeniería a través <strong>de</strong> un premio anual, utilizandolos siguientes criterios <strong>de</strong> diseño educativo: diseño<strong>de</strong> software y contenidos re<strong>la</strong>cionados con <strong>la</strong>ingeniería.5. ConclusionesEn este apartado <strong>de</strong> conclusiones queremosañadir a <strong>la</strong> anterior exposición <strong>de</strong> aspectosprácticos algunos aspectos educativos másgenerales.Las herramientas analizadas son necesarias en<strong>la</strong> educación a distancia y presentan c<strong>la</strong>rasventajas pero nos parece importante incluiralgunas reflexiones críticas.En re<strong>la</strong>ción al proceso fundamental <strong>de</strong>evaluación <strong>de</strong>l trabajo <strong>de</strong>l alumno, compartimos <strong>la</strong>opinión expuesta en [1,16,21,46] <strong>de</strong> que esimprescindible establecer criterios c<strong>la</strong>ros,objetivos y consistentes. Más concretamente, en elcontexto <strong>de</strong> <strong>la</strong> corrección <strong>de</strong> programas, J.W.Howatt [21] i<strong>de</strong>ntifica y valora, en or<strong>de</strong>n<strong>de</strong>creciente, <strong>la</strong>s siguientes características: diseño,ejecución y adherencia a <strong>la</strong>s especificaciones,estilo <strong>de</strong>l código, comentarios incluidos,creatividad.P.A. <strong>de</strong> Marneffe [16] utiliza los conceptos <strong>de</strong>algoritmo correcto y algoritmo eficiente paraevaluar <strong>la</strong> calidad <strong>de</strong> un programa: el alumno tieneque <strong>de</strong>mostrar rigurosamente <strong>la</strong> vali<strong>de</strong>z <strong>de</strong> unalgoritmo y pre<strong>de</strong>cir su complejidad antes <strong>de</strong>implementarlo, in<strong>de</strong>pendientemente <strong>de</strong>l lenguaje<strong>de</strong> programación empleado. El autor concluyeque ejercicios re<strong>la</strong>tivos a algunos temasfundamentales en programación no son factibles<strong>de</strong> corrección y evaluación automática.En [46] encontramos una afirmación simi<strong>la</strong>r<strong>de</strong> que los métodos <strong>de</strong> corrección automática noson a<strong>de</strong>cuados para evaluar <strong>la</strong>s habilida<strong>de</strong>sanalíticas <strong>de</strong> los alumnos.Por tanto no es c<strong>la</strong>ro el nivel en el que losmétodos <strong>de</strong> formación a distancia <strong>de</strong>ben serincluidos en el diseño curricu<strong>la</strong>r <strong>de</strong> los estudios <strong>de</strong>informática. En cualquier caso, y cuando seaposible, <strong>la</strong>s nuevas herramientas se pue<strong>de</strong>nutilizar, por ejemplo, para incluir un nivel básico<strong>de</strong> ayuda o, más en general, un curso que sirvacomo complemento y sea paralelo a <strong>la</strong>s c<strong>la</strong>sestradicionales.Agra<strong>de</strong>cimientosA los profesores Roberto Muñoz y CristóbalPareja por sus sugerencias, así como al apoyo ytrabajo <strong>de</strong> este último. El trabajo se ha financiadocon el proyecto TIC2000-1413 <strong>de</strong> <strong>la</strong> CICYT.Referencias[1] Aggarwal, A. K. (ed.), Web-Based learningand teaching technologies: opportunities andchallenges. I<strong>de</strong>a Group Publishing, 2000.Cap. IX.[2] Arnow, D., Barshay, O., On-line programmingexaminations using WebToTeach. ITiCSE’99,21-24.[3] Arnow, D., Barshay, O., WebToTeach: aninteractive focused programming exercisesystem. FIE’99, sesión 12a9, 39-44.[4] Baker, R.S. et al., Testers and visualizers forteaching data structures. SIGCSE’99,261-265[5] Barnett, L., Computer Science EducationResources, 2002, gum.richmond.edu/~lbarnett/Informatics /CS_Ed.html[6] Bergin, J. et al., Resources for next generationintroductory CS courses: report of theITiCSE’99 working group on resources for thenext generation CS1 course, SIGCSE Bulletin,vol. 31, nº. 4, diciembre 1999, 101-105.[7] Bridgeman, S. et al., PILOT: an interactivetool for learning and grading. SIGCSE´00,139-143.[8] Bridgeman, S. et al., SAIL: A system forgenerating, archiving and retrievingspecialized assignments using LATEX.SIGCSE´00, 300-303.[9] Carrasquel, J., Teaching CS1 on-line: thegood, the bad, the ugly. SIGCSE’99, 212-216.[10] Coll-Madrenas, C. et al., Autogenerador yasistente <strong>de</strong> ejercicios interactivos vía Web.CONIED'99.


[11] Computing Curricu<strong>la</strong>, Computer ScienceVolume, www.acm.org/sigcse/cc2001[12] CourseMaster, 2000, www.cs.nott.ac.uk[13] CSTS, 2002, www.cstc.org[14] Culwin, F., LectureLets – Web based Javaenabled lectures. ITiCSE’00, 5-8.[15] Dawson-Howe, K., Automatic submissionand administration of programmingassignments. SIGCSE Bulletin, vol. 28, nº.2, junio 1996, 40-42.[16] <strong>de</strong> Marneffe, P.A., The problem ofexamination questions in Algorithmics,ITiCSE’98, 74-76.[17] Elenbogen, B.S., Maxim, B.R., McDonald,C., Yet, more Web exercises for learningC++. SIGCSE´00, 290-294.[18] ELM-ART ,www.psychologie.unitrier.<strong>de</strong>:8000/projects/ELM/elmart.html[19] González Soto, A. P., Medina Rivil<strong>la</strong>, A., <strong>de</strong><strong>la</strong> Torre, S., Didáctica general: mo<strong>de</strong>los yestrategias para <strong>la</strong> intervención social. Ed.Universitas, 1995.[20] Gregorio Rodríguez, C. et al., Exercitaautomatic publishing of programmingexercises. ITiCSE´01, 161-164.[21] Howatt, J.W., On criteria for gradingstu<strong>de</strong>nt programs. SIGCSE Bulletin, vol.26, nº.3, septiembre 1994.[22] Jackson, D., Usher, M., Grading stu<strong>de</strong>ntprograms using ASSYST. SIGCSE’97, 355.orion.ramapo.edu/~amruth/problets[23] Knox, D et al., The peer review process ofteaching materials. ITiCSE´99 WorkingGroup Reports, vol. 31, nº. 4, 77-90.[24] Kumar, A., Dynamically generatingproblems on static scope. ITiCSE’00, 9-12.[25] Kumar, A.N., Learning the interactionbetween pointers and scope in C++.ITiCSE´01, 45-48.[26] Kumar, A. N., On changing from written toon-line tests in computer science I: anAssessment. ITiCSE´99, 25-28.[27] Mas, R., Lacosta, I., Aplicaciones <strong>de</strong>Internet a <strong>la</strong> enseñanza: un sistema <strong>de</strong>autoevaluación. JENUI, 2001.[28] Mason, D.V., Woit, D.M., Integratingtechnology into computer scienceexaminations. SIGCSE’98, 140-144.[29] Mason, D.V. & Woit, D.M., Providingmark-up and feedback to stu<strong>de</strong>nts withonline marking. SIGCSE’99, 3-6.[30] McCauley, R., 2001, CEL:www.cs.cofs.edu/~mccauley/edlinks/[31] Medina Rubio, R., García Aretio, L., RuizCorbel<strong>la</strong>, M., Teoría <strong>de</strong> <strong>la</strong> Educación.Educación Social. UNED, 2001.[32] NEEDS, 2001, www.needs.org[33] Nørmark,K., W-based tools for advancecourse management. ITiCSE’00, 65-68.[34] Northeastern Software Projectwww.ccs.neu.edu/teaching/in<strong>de</strong>x.html[35] Pareja Flores, C., Velázquez Iturbi<strong>de</strong>, J. Á.,Program Execution and Visualization on theWeb, En Web-Based Education: Learningfrom Experience, Anil K. Aggarwal (ed.),I<strong>de</strong>a Group Publishing, en imprenta.[36] Polo Usao<strong>la</strong>, M., Ruiz González, F.,easyTest: una herramienta para <strong>la</strong>generación y corrección automáticas <strong>de</strong>exámenes tipo test. JENUI, 2001.[37] Preston, J.A., Shackelford, R., Improvingon-line assessment: an investigation ofexisting marking methodologies. ITiCSE´99,29-32.[38] Rickman, J. et al., Enhancing the computernetworking curriculum. ITiCSE´01,157-160.[39] Rosbottom, John., Computer managed, openquestion, open book assessment. ITiCSE’97,100-102.[40] Sánchez, P.J., Martínez, L.,Muñoz, M.D. Unsistema <strong>de</strong> generación y evaluación <strong>de</strong>exámenes basado en java.CONIED'99, p.17.[41] Shirmohammadi, S. et al., Web-Basedmultimedia tools for sharing educationalresources, ACM J. of Educ. Resources inComputing, vol.1, no.4, Primavera 2001.[42] Schorsch, T., CAP: an automated selfassessmenttool to check Pascal programsfor syntax, logic and style errors.SIGCSE’95, 168-172.[43] Singhal, N., Kumar, A.N., Facilitatingproblem-solving on nested selectionstatements using C/C++. FIE’2000, sesiónT4C-1, 2000, 1-6.[44] Tetterton, J. C, et al., 2000, eGra<strong>de</strong>s,www4.ncsu.edu:8030/~jctetter/Abstract.pdf[45] Webber, A. B., The Pascal trainer.SIGCSE’96, 261-265.[46] Woit, D.M., Mason D. V., Lessons fromon-line programming examinations.ITiCSE’98, 257-259.


Resolución <strong>de</strong> ejercicios <strong>de</strong> programación en <strong>la</strong> webSergio Luján-Mora, Fernando LlopisDepartamento <strong>de</strong> Lenguajes y Sistemas InformáticosUniversidad <strong>de</strong> AlicanteE-03080 Alicantee-mail: {slujan,llopis}@dlsi.ua.esResumenEn el presente artículo se presenta una aplicaciónweb que permite a los alumnos resolver ejerciciosp<strong>la</strong>nteados en <strong>la</strong> asignatura Fundamentos <strong>de</strong> <strong>la</strong>Programación <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> Informática<strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alicante. Esta aplicación seha p<strong>la</strong>nteado a modo <strong>de</strong> “competición” o juego,con el fin <strong>de</strong> motivar al alumno a que realice unagran cantidad <strong>de</strong> ejercicios sobre <strong>la</strong> asignatura.Las dos principales ventajas que se logran a <strong>la</strong>hora <strong>de</strong> emplear esta aplicación son: por un <strong>la</strong>do,cada alumno pue<strong>de</strong> verificar cuando <strong>de</strong>see y <strong>de</strong>s<strong>de</strong>don<strong>de</strong> <strong>de</strong>see los conocimiento adquiridos sobre <strong>la</strong>asignatura y, por otro <strong>la</strong>do, los profesores obtieneninformación que les permite conocer el grado <strong>de</strong>aprendizaje <strong>de</strong> sus alumnos y los aspectos quemejor o peor han asimi<strong>la</strong>do.1. MotivaciónEn <strong>la</strong> enseñanza <strong>de</strong> programación en el primercurso <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> Informática confluyenuna serie <strong>de</strong> circunstancias que <strong>la</strong> diferencian <strong>de</strong>otras asignaturas. En primer lugar, para <strong>la</strong> mayoría<strong>de</strong> los alumnos es <strong>la</strong> primera vez que se enfrentana una asignatura <strong>de</strong> este tipo, aunque es cierto queactualmente el conocimiento sobre informática engeneral, y el uso <strong>de</strong> or<strong>de</strong>nadores en particu<strong>la</strong>r, esmucho mayor que hace 4 o 5 años. En segundolugar, el esfuerzo que <strong>de</strong>ben realizar los alumnospara su aprendizaje <strong>de</strong>be ser mucho más <strong>de</strong>ductivoque memorístico. En último lugar, también cabecitar <strong>la</strong> importancia que suele tener esta asignatura<strong>de</strong>ntro <strong>de</strong> los p<strong>la</strong>nes <strong>de</strong> estudio a nivel <strong>de</strong>incompatibilida<strong>de</strong>s o recomendaciones sobre otrasasignaturas. Todo esto influye en que el alumno sesienta muchas veces “presionado” a aprobar <strong>la</strong>asignatura, lo que conduce a que el alumno intenteaprobar <strong>la</strong> asignatura mediante <strong>la</strong> memorizaciónen vez <strong>de</strong>l aprendizaje correcto <strong>de</strong> losconocimientos que recibe.La solución que recomendamos a los alumnospara que el aprendizaje <strong>de</strong> <strong>la</strong> asignatura sea lomenos costoso y a su vez lo más provechosoposible es <strong>la</strong> realización <strong>de</strong>l mayor número posible<strong>de</strong> ejercicios prácticos. Con el objetivo <strong>de</strong>facilitar esta tarea a los alumnos, se han propuestoa lo <strong>la</strong>rgo <strong>de</strong> los seis últimos años numerososejercicios, que han sido recopi<strong>la</strong>dos junto conejercicios <strong>de</strong> exámenes en un libro [4], don<strong>de</strong>aparecen <strong>la</strong> mayoría <strong>de</strong> los ejercicios con sucorrespondiente solución.Parece c<strong>la</strong>ro que el disponer <strong>de</strong> ejercicios conenunciado y solución facilita el aprendizaje <strong>de</strong> <strong>la</strong>asignatura, pero en ocasiones pue<strong>de</strong> producir elefecto contrario si el alumno sólo se limita a leerel enunciado y <strong>la</strong> solución, sin llegar a pasar por elproceso <strong>de</strong>ductivo que teóricamente tiene querealizar para obtener <strong>la</strong> solución.Por otro <strong>la</strong>do, <strong>la</strong> resolución por parte <strong>de</strong> losalumnos <strong>de</strong> los ejercicios propuestos en c<strong>la</strong>se <strong>de</strong>teoría, formando grupos y realizando pequeñascompeticiones entre ellos se ha comprobado quemotiva a los alumnos y sí que logra que intentenresolver los ejercicios. No obstante, <strong>la</strong>masificación <strong>de</strong> <strong>la</strong>s au<strong>la</strong>s y <strong>la</strong> cantidad <strong>de</strong> tiemponecesaria para llevar a cabo estos ejercicios,impi<strong>de</strong> que se <strong>de</strong>diquen muchas c<strong>la</strong>ses a estemétodo <strong>de</strong> estudio. Estos problemas no <strong>de</strong>benimpedir que este tipo <strong>de</strong> c<strong>la</strong>ses se siganimpartiendo <strong>de</strong> dicha forma, pero sí que limitaconsi<strong>de</strong>rablemente su número.2. PropuestaPor todos los motivos anteriores, hemos<strong>de</strong>sarrol<strong>la</strong>do una aplicación web, a <strong>la</strong> que hemos<strong>de</strong>nominado Aprendizaje en <strong>la</strong> Web AutoMotivado(AWAM) [1], que nos permite poner a


disposición <strong>de</strong> los alumnos una gran cantidad <strong>de</strong>ejercicios que pue<strong>de</strong>n resolver cuando ellosquieran (<strong>la</strong> aplicación está disponible <strong>la</strong>s 24 horas<strong>de</strong>l día) y <strong>de</strong>s<strong>de</strong> don<strong>de</strong> ellos quieran (se pue<strong>de</strong>acce<strong>de</strong>r a <strong>la</strong> aplicación <strong>de</strong>s<strong>de</strong> cualquier or<strong>de</strong>nadorcon acceso a Internet). Con el fin <strong>de</strong> motivar a<strong>la</strong>lumno, hemos dotado a <strong>la</strong> aplicación <strong>de</strong> unaapariencia <strong>de</strong> “competición” o juego que lesanime a superarse. El funcionamiento <strong>de</strong> <strong>la</strong>aplicación es sencillo: se p<strong>la</strong>ntea al alumno unaserie <strong>de</strong> ejercicios que tienen que resolver en untiempo <strong>de</strong>terminado y el juego finaliza cuando e<strong>la</strong>lumno comete un número <strong>de</strong>terminado <strong>de</strong> erroreso contesta todos los ejercicios. Según el número<strong>de</strong> ejercicios contestados correctamente, e<strong>la</strong>lumno obtiene una puntuación, que se traduce enuna posición con respecto a los resultados <strong>de</strong> suscompañeros.Los ejercicios p<strong>la</strong>nteados son <strong>de</strong> tipo test,agrupados por los diferentes temas que conformanel programa <strong>de</strong> <strong>la</strong> asignatura. Estos ejerciciosinci<strong>de</strong>n en los errores más comunes que cometenlos alumnos a <strong>la</strong> hora <strong>de</strong> programar. Cadaejercicio tiene asignada una dificultad; si elprofesor lo <strong>de</strong>sea, se pue<strong>de</strong> emplear este valorpara presentar al alumno los ejercicios <strong>de</strong> menor amayor dificultad. A<strong>de</strong>más, también existe <strong>la</strong>opción <strong>de</strong> que esta dificultad se actualice en base a<strong>la</strong>s contestaciones <strong>de</strong> los alumnos (cuantas másveces sea mal contestada una pregunta, másaumentará su dificultad). Por último, tambiénexiste <strong>la</strong> posibilidad <strong>de</strong> mostrar al alumno uncomentario que explique <strong>la</strong> respuesta correcta <strong>de</strong>una pregunta cuando falle.El resto <strong>de</strong>l artículo se ha dividido <strong>de</strong> <strong>la</strong>siguiente forma: en <strong>la</strong> sección 3 se comentanalgunos trabajos previos re<strong>la</strong>cionados con nuestrapropuesta; en <strong>la</strong> sección 4 se <strong>de</strong>scriben <strong>la</strong>scaracterísticas principales <strong>de</strong> <strong>la</strong> aplicaciónAWAM; en <strong>la</strong> sección 5 se <strong>de</strong>tal<strong>la</strong> <strong>la</strong> arquitectura<strong>de</strong> <strong>la</strong> aplicación; en <strong>la</strong> sección 6 se presentan <strong>la</strong>sprimeras impresiones que hemos obtenido; porúltimo, en <strong>la</strong> sección 7 comentamos los trabajosfuturos que preten<strong>de</strong>mos realizar.3. Trabajos re<strong>la</strong>cionadosEn los últimos tres años, el uso <strong>de</strong> Internet comoherramienta docente en <strong>la</strong> universidad haaumentado espectacu<strong>la</strong>rmente. Prueba <strong>de</strong> ello son<strong>la</strong>s numerosas ponencias presentadas en JENUI enlos últimos años que emplean Internet, y enespecial <strong>la</strong> Web, como una herramienta <strong>de</strong> apoyoa <strong>la</strong> docencia. Simplemente como un ejemplo,incluimos <strong>la</strong>s siguiente referencias <strong>de</strong>l año 2001:[2], [3], [5], [6] y [7].De <strong>la</strong>s anteriores referencias nos interesa<strong>de</strong>stacar dos por su semejanza con nuestrapropuesta. Por un <strong>la</strong>do, en [2] se presenta unsistema <strong>de</strong> apoyo a <strong>la</strong> enseñanza presencial basadoen Internet. El sistema permite publicar materialesdocentes y, a<strong>de</strong>más, los alumnos pue<strong>de</strong>n verificarlos conocimientos adquiridos en cada tema,mediante <strong>la</strong> realización <strong>de</strong> exámenes <strong>de</strong> tipo testgenerados por el sistema. Sin embargo, el sistemapresenta varias carencias como son: no existe uncontrol <strong>de</strong>l tiempo que se pue<strong>de</strong> emplear encontestar una pregunta, no se pue<strong>de</strong> indicar <strong>la</strong>dificultad <strong>de</strong> una pregunta, todas <strong>la</strong>s preguntastienen que tener cuatro respuestas, etc.Por otro <strong>la</strong>do, en [6] se presenta otro sistemabasado en <strong>la</strong> web, que también posee ciertassimilitu<strong>de</strong>s con nuestra propuesta. En este sistema,el alumno pue<strong>de</strong> acce<strong>de</strong>r a través <strong>de</strong> Internet alistas <strong>de</strong> problemas generadas <strong>de</strong> forma aleatoria apartir <strong>de</strong> una base <strong>de</strong> datos. Sin embargo, estapropuesta carece <strong>de</strong> <strong>la</strong> interactividad e inmediatez<strong>de</strong> nuestro sistema (no dispone <strong>de</strong> un módulo parapreguntas-respuestas <strong>de</strong> tipo test con correcciónautomática), y tampoco presenta el aspecto <strong>de</strong>juego que creemos motiva <strong>la</strong> participación <strong>de</strong><strong>la</strong>lumno.4. Descripción <strong>de</strong> <strong>la</strong> aplicaciónLa aplicación AWAM se divi<strong>de</strong> en dos módulos:el módulo <strong>de</strong>l alumno y el módulo <strong>de</strong>l profesor.Para acce<strong>de</strong>r a cualquiera <strong>de</strong> los módulos, elusuario (ya sea el alumno o el profesor) tiene quedisponer <strong>de</strong> un nombre <strong>de</strong> usuario y una c<strong>la</strong>ve.Los alumnos a<strong>de</strong>más poseen <strong>la</strong> posibilidad <strong>de</strong><strong>de</strong>finirse un alias que será el que utilicen en <strong>la</strong>realización <strong>de</strong> los ejercicios. De este modo,pue<strong>de</strong>n realizar los ejercicios <strong>de</strong> forma anónima,sin tener que preocuparse porque el profesor vayaa tener en cuenta sus posibles fallos.Toda <strong>la</strong> información que emplea <strong>la</strong> aplicación(usuarios, profesores, asignaturas, temas,preguntas y respuestas, etc.) resi<strong>de</strong> en una base <strong>de</strong>datos. La Figura 1 representa un mo<strong>de</strong>lo en UML<strong>de</strong> <strong>la</strong> base <strong>de</strong> datos que emplea nuestro sistema.Cada c<strong>la</strong>se <strong>de</strong> UML se convierte en una tab<strong>la</strong> en el


Figura 1. Base <strong>de</strong> datos <strong>de</strong>l sistema mo<strong>de</strong><strong>la</strong>da mediante UMLmo<strong>de</strong>lo re<strong>la</strong>cional. Las asociaciones que poseenun nombre (PreguntasTemas, Preguntas-Juegos y Matricu<strong>la</strong>dos) y <strong>la</strong>s c<strong>la</strong>ses asociación(Docentes y Puntuaciones) se convierten entab<strong>la</strong>s que permiten representar <strong>la</strong>s re<strong>la</strong>cionesmuchos a muchos en el mo<strong>de</strong>lo re<strong>la</strong>cional. Porúltimo, se han marcado con y <strong>la</strong>s c<strong>la</strong>ves primarias y <strong>la</strong>s c<strong>la</strong>ves ajenasrespectivamente.Como se pue<strong>de</strong> apreciar en <strong>la</strong> Figura 1, unaasignatura se compone <strong>de</strong> muchos temas, un tema<strong>de</strong> muchos juegos, un juego <strong>de</strong> muchas preguntas,y una pregunta <strong>de</strong> muchas respuestas (todas <strong>la</strong>spreguntas no tienen por que tener el mismonúmero <strong>de</strong> respuestas). Como una pregunta pue<strong>de</strong>pertenecer a varios temas a <strong>la</strong> vez, se pue<strong>de</strong>n creartemas <strong>de</strong> repaso que incluyan preguntas <strong>de</strong> otrostemas.Por último, se ha intentado que <strong>la</strong> aplicaciónsea lo más flexible posible. Por eso existe <strong>la</strong> tab<strong>la</strong>Parámetros que almacena distintos valores queconfiguran el funcionamiento <strong>de</strong> <strong>la</strong> aplicación.Estos parámetros se pue<strong>de</strong>n configurar a través <strong>de</strong>lmenú <strong>de</strong> configuración <strong>de</strong> parámetros <strong>de</strong>l sistema(MCPS) que existe en el módulo <strong>de</strong>l profesor.4.1. Módulo <strong>de</strong>l alumnoA través <strong>de</strong> este módulo los alumnos pue<strong>de</strong>ncontestar <strong>la</strong>s preguntas p<strong>la</strong>nteadas por el profesor.Para comenzar a “jugar”, el alumno <strong>de</strong>be elegirprimero <strong>la</strong> asignatura, <strong>de</strong>spués el tema y porúltimo el juego en el que quiere jugar. Acontinuación, <strong>la</strong> aplicación muestra una a una <strong>la</strong>spreguntas que contiene el juego. El or<strong>de</strong>n en quese muestran <strong>la</strong>s preguntas <strong>de</strong>pen<strong>de</strong> <strong>de</strong> cómo lohaya configurado el profesor en el momento <strong>de</strong>crear el juego (<strong>de</strong> forma aleatoria, <strong>de</strong> menor amayor dificultad o según un or<strong>de</strong>n creado por elprofesor).En <strong>la</strong> Figura 2 po<strong>de</strong>mos ver <strong>la</strong> página que semuestra al alumno para que conteste una pregunta.En el<strong>la</strong> po<strong>de</strong>mos observar <strong>la</strong> siguienteinformación:• Enunciado <strong>de</strong> <strong>la</strong> pregunta.


Figura 2. Página con una pregunta y cuatro respuestasFigura 3. Página con el resultado <strong>de</strong> <strong>la</strong> contestación <strong>de</strong> un alumno• Posibles respuestas junto con el botón quepermite al alumno seleccionar cada una.• Cronómetro: tiempo restante para contestar <strong>la</strong>pregunta. Si se cumple el tiempo y el alumnono ha contestado, se consi<strong>de</strong>ra un fallo.• Puntos: puntos que ha logrado el alumno hastael momento en el juego actual.• Posición: indica <strong>la</strong> posición <strong>de</strong>l alumno conrespecto a <strong>la</strong>s puntuaciones <strong>de</strong>l resto <strong>de</strong> suscompañeros.• Posibilida<strong>de</strong>s <strong>de</strong> error: número máximo <strong>de</strong>fallos permitidos. El profesor pue<strong>de</strong> fijar estevalor a través <strong>de</strong>l MCPS.Si el alumno acierta <strong>la</strong> pregunta, sigue eljuego; en caso <strong>de</strong> que falle aparece un mensajeexplicando <strong>la</strong> contestación correcta. Por ejemplo,en <strong>la</strong> Figura 3 vemos como el alumno hacontestado incorrectamente a <strong>la</strong> pregunta <strong>de</strong> <strong>la</strong>


Figura 4. Tab<strong>la</strong> <strong>de</strong> puntuaciones globalesFigura 2. Si ya ha cometido todos los errorespermitidos por el profesor, el juego finaliza.Por otro <strong>la</strong>do, el alumno pue<strong>de</strong> consultar <strong>la</strong>stab<strong>la</strong>s <strong>de</strong> c<strong>la</strong>sificación, ya sea <strong>la</strong> <strong>de</strong> puntuacionesglobales (Figura 4) o <strong>la</strong> <strong>de</strong> puntuaciones portemas. A<strong>de</strong>más, también pue<strong>de</strong> consultar en queposición aparece <strong>de</strong>ntro <strong>de</strong> cada tab<strong>la</strong>.4.2. Módulo <strong>de</strong>l profesorEl profesor o profesores, ya que el sistemacontemp<strong>la</strong> <strong>la</strong> existencia <strong>de</strong> distintas asignaturas,cada una <strong>de</strong> el<strong>la</strong>s con sus profesorescorrespondientes, dispone en su módulo <strong>de</strong> todas<strong>la</strong>s opciones necesarias para mantener <strong>la</strong> base <strong>de</strong>datos <strong>de</strong>l sistema. El profesor pue<strong>de</strong> añadir(borrar, consultar, ...) nuevos temas, nuevosjuegos, nuevas preguntas, etc. Como pue<strong>de</strong>nexistir distintos profesores, no todos tienen accesoa todas <strong>la</strong>s opciones. Así, por ejemplo, existenprofesores administradores que pue<strong>de</strong>n crearasignaturas, crear otros profesores, etc.; profesoresque pue<strong>de</strong>n crear temas, juegos o preguntas en <strong>la</strong>sasignaturas a <strong>la</strong>s que pertenecen, y profesores quesólo pue<strong>de</strong>n introducir preguntas en <strong>la</strong>sasignaturas a <strong>la</strong>s que pertenecen.En <strong>la</strong> Figura 5 se pue<strong>de</strong> ver <strong>la</strong> página principal<strong>de</strong>l módulo <strong>de</strong>l profesor. Se pue<strong>de</strong> observar que seencuentra dividida en dos secciones (marcos): enel marco superior se muestran una serie <strong>de</strong> listas<strong>de</strong>splegables con acceso a <strong>la</strong>s opciones másusuales; en el marco inferior se muestran distintoscontenidos según el profesor va eligiendoopciones (<strong>la</strong> primera vez se muestra el menúcompleto <strong>de</strong>l módulo <strong>de</strong>l profesor).Todo el acceso a <strong>la</strong> base <strong>de</strong> datos se realizamediante formu<strong>la</strong>rios HTML. Por ejemplo, en <strong>la</strong>Figura 6 se muestra el formu<strong>la</strong>rio que permiteañadir una pregunta nueva. Para cada una <strong>de</strong> <strong>la</strong>spreguntas se introduce <strong>la</strong> siguiente información:• Juego al que pertenece <strong>la</strong> pregunta. Cuando seaña<strong>de</strong> una pregunta nueva sólo se pue<strong>de</strong>elegir un juego, pero una vez añadida sepue<strong>de</strong> asociar a otros juegos.• Número <strong>de</strong> pregunta. Si el profesor lo <strong>de</strong>sea,este número se emplea para mostrar <strong>la</strong>spreguntas or<strong>de</strong>nas según este valor.• Enunciado <strong>de</strong> <strong>la</strong> pregunta. En el enunciado <strong>de</strong><strong>la</strong> pregunta el profesor pue<strong>de</strong> introduciretiquetas HTML.• Dificultad inicial <strong>de</strong> <strong>la</strong> pregunta. Si el profesorlo <strong>de</strong>sea, este valor se emplea para mostrar<strong>la</strong>s preguntas or<strong>de</strong>nadas según <strong>la</strong> dificultad.A<strong>de</strong>más, el profesor también pue<strong>de</strong> indicarque este valor se actualice automáticamente amedida que los alumnos respon<strong>de</strong>n a <strong>la</strong>pregunta <strong>de</strong> forma correcta o incorrecta.• Explicación. Permite incluir un brevecomentario que explica al alumno, en caso <strong>de</strong>


que no haya respondido correctamente, elmotivo <strong>de</strong> su fallo. A través <strong>de</strong> esta opción sepue<strong>de</strong> establecer una conexión con loscontenidos teóricos necesarios para contestarcorrectamente <strong>la</strong> pregunta.• Tiempo máximo para contestar <strong>la</strong> pregunta. Sino se introduce ningún valor, se emplea eltiempo máximo por <strong>de</strong>fecto fijado en elMCPS.• Posibles respuestas. El número <strong>de</strong> respuestases configurable a través <strong>de</strong>l MCPS.• Respuesta correcta.Una opción muy interesante <strong>de</strong> AWAM es elmenú <strong>de</strong> resultados. A través <strong>de</strong> él, se pue<strong>de</strong>nobtener distintos parámetros estadísticos comopregunta mejor o peor contestada, porcentaje <strong>de</strong>acierto medio por pregunta, juego o tema, etc.Por ejemplo, en <strong>la</strong> Figura 7 se pue<strong>de</strong> ver <strong>la</strong>página que muestra al profesor los porcentajes <strong>de</strong>contestación por preguntas <strong>de</strong>ntro <strong>de</strong> un juego <strong>de</strong>un tema. Otras opciones disponibles son: or<strong>de</strong>nar<strong>la</strong>s preguntas por porcentaje <strong>de</strong> fallo (acierto),Figura 5. Menú principal <strong>de</strong>l módulo <strong>de</strong>l profesorFigura 6. Formu<strong>la</strong>rio para añadir una pregunta nueva


Figura 7. Resultados estadísticosobtener <strong>la</strong>s preguntas cuyo nivel <strong>de</strong> dificultad másha cambiado, or<strong>de</strong>nar los temas por porcentaje <strong>de</strong>fallo (acierto), etc.El profesor también dispone <strong>de</strong>l menú <strong>de</strong>configuración <strong>de</strong> parámetros <strong>de</strong>l sistema (MCPS)que permite fijar una serie <strong>de</strong> parámetros que<strong>de</strong>finen el funcionamiento por <strong>de</strong>fecto <strong>de</strong>l sistema:• Tiempo máximo para contestar <strong>la</strong>s preguntas.• Número <strong>de</strong> preguntas en un juego.• Número <strong>de</strong> respuestas por pregunta.• Posibilida<strong>de</strong>s <strong>de</strong> error.• Activar actualización <strong>de</strong> <strong>la</strong> dificultad <strong>de</strong> <strong>la</strong>spreguntas.• Si se muestra o no <strong>la</strong> respuesta (y <strong>la</strong>explicación si existe) cuando un alumno fal<strong>la</strong>una pregunta.• Modo <strong>de</strong> juego por <strong>de</strong>fecto: preguntasseleccionadas <strong>de</strong> forma aleatoria, preguntasor<strong>de</strong>nadas según <strong>la</strong> dificultad inicial, según <strong>la</strong>dificultad actual o según el número asignadopor el profesor.Todos estos valores son por <strong>de</strong>fecto, lo quesignifica que se pue<strong>de</strong>n variar cuando se <strong>de</strong>see.Por ejemplo, se pue<strong>de</strong> fijar un tiempo máximopara contestar <strong>la</strong>s preguntas <strong>de</strong> 30 segundos, peropara algunas preguntas el profesor pue<strong>de</strong> <strong>de</strong>cidirusar otro cantidad.5. Arquitectura <strong>de</strong> <strong>la</strong> aplicaciónLa aplicación AWAM se pue<strong>de</strong> dividir en tresniveles: lógica <strong>de</strong> presentación, lógica <strong>de</strong> negocio(aplicación) y lógica <strong>de</strong> datos.La lógica <strong>de</strong> presentación, encargada <strong>de</strong>interactuar con el usuario, se ha programadomediante los lenguajes HTML y JavaScript. Estaparte <strong>de</strong> <strong>la</strong> aplicación se ejecuta en el cliente(navegador web) y se ha intentado hacer lo máscompatible posible. Hemos comprobado sucorrecto funcionamiento en los navegadores másconocidos: Microsoft Internet Explorer, NetscapeCommunicator y Opera.La lógica <strong>de</strong> negocio, encargada <strong>de</strong>seleccionar <strong>la</strong>s preguntas, verificar <strong>la</strong>s respuestas<strong>de</strong> un usuario, etc., se ha programado mediantePHP en un servidor web Apache bajo el sistemaoperativo Linux.Por último, para <strong>la</strong> lógica <strong>de</strong> datos, encargada<strong>de</strong> gestionar los datos, se ha empleado un servidor<strong>de</strong> bases <strong>de</strong> datos MySQL bajo el sistemaoperativo Linux.Actualmente, tanto el servidor web como elservidor <strong>de</strong> bases <strong>de</strong> datos resi<strong>de</strong>n en <strong>la</strong> mismamáquina, pero nada impi<strong>de</strong> que residan enmáquinas diferentes.6. ConclusionesLas primeras pruebas realizadas parecen indicarque <strong>la</strong> aplicación incentiva <strong>la</strong> realización <strong>de</strong>ejercicios y el aprendizaje <strong>de</strong> <strong>la</strong> asignatura. No


obstante, hay que conseguir que el alumno trabajecon <strong>la</strong> aplicación y que realice los ejercicios <strong>de</strong>forma conjunta a como va recibiendo losconocimientos en c<strong>la</strong>se <strong>de</strong> teoría.Actualmente, el alumno resuelve <strong>de</strong> formaanónima los ejercicios, aunque estamosp<strong>la</strong>nteando <strong>la</strong> posibilidad <strong>de</strong> contemp<strong>la</strong>r en <strong>la</strong> nota<strong>de</strong> <strong>la</strong> asignatura <strong>la</strong> resolución <strong>de</strong> los ejercicios.No obstante, a pesar <strong>de</strong> que esto incentivaría a queel alumno entrara en <strong>la</strong> aplicación a resolverejercicios, podría ocurrir que los alumnostuvieran como único objetivo respon<strong>de</strong>rcorrectamente y no apren<strong>de</strong>r.También consi<strong>de</strong>ramos que <strong>la</strong> aplicaciónpue<strong>de</strong> suponer una ayuda inestimable en elproceso <strong>de</strong> aprendizaje/enseñanza. Por un <strong>la</strong>do,permite que los alumnos puedan darse cuenta <strong>de</strong>los temas en los que mayores fallos cometen, parapo<strong>de</strong>r remediarlo antes <strong>de</strong> los exámenes. Por otro<strong>la</strong>do, los profesores pue<strong>de</strong>n hacer mayor hincapiéen los temas en los que los alumnos cometen máserrores. En cualquier caso, pensamos que estaherramienta no sustituye a <strong>la</strong>s c<strong>la</strong>ses presencialesteóricas y/o prácticas ni a los libros <strong>de</strong> texto, sinoque simplemente los complementa. El objetivoque nos hemos marcado con el <strong>de</strong>sarrollo <strong>de</strong> estesistema es lograr que el proceso <strong>de</strong> resolución <strong>de</strong>ejercicios sea lo más ameno posible.7. Trabajos futurosAl final <strong>de</strong> curso <strong>de</strong>seamos confirmar si losresultados estadísticos obtenidos por el sistema(temas y preguntas con mayor porcentaje <strong>de</strong> error,etc.) se correspon<strong>de</strong>n con los resultados obtenidosen los exámenes, lo cual permitirá valorar elcarácter “predictivo” <strong>de</strong> <strong>la</strong> aplicación.Otro aspecto en el que vamos a trabajar es enampliar el tipo <strong>de</strong> preguntas para que no seanúnicamente <strong>de</strong> tipo test sino que incluyan <strong>la</strong>posibilidad <strong>de</strong> que el alumno escriba pequeñosprogramas y <strong>la</strong> aplicación sea capaz <strong>de</strong> validar sucorrección.Otras mejoras que pensamos llevar a cabotienen como objetivo aumentar <strong>la</strong>s prestaciones<strong>de</strong>l sistema y su facilidad <strong>de</strong> uso. Por ejemplo,pensamos incorporar un método adicional <strong>de</strong>puntuación en el que se tenga en cuenta el tiempoque ha necesitado un alumno para contestar unapregunta (cuanto menos tiempo, más puntuación)y un sistema adicional que permita importar <strong>la</strong>spreguntas y respuestas <strong>de</strong>s<strong>de</strong> un fichero enformato texto p<strong>la</strong>no.Aunque esta aplicación ha sido pensadainicialmente para <strong>la</strong> asignatura Fundamentos <strong>de</strong> <strong>la</strong>Programación, como <strong>la</strong> hemos <strong>de</strong>sarrol<strong>la</strong>do con <strong>la</strong>capacidad <strong>de</strong> incluir distintas asignaturas yprofesores simultáneamente, en el futuropensamos también aplicar<strong>la</strong> a otras asignaturas.Referencias[1] Aprendizaje en <strong>la</strong> Web AutoMotivado(AWAM). Disponible en Internet (URL):http://gplsi.dlsi.ua.es/awam/.Usuario y c<strong>la</strong>ve <strong>de</strong> prueba para acce<strong>de</strong>r comoalumno: jenui/jenui.[2] Barchino, Roberto; Gutiérrez, J.M.; García,Elena; Hilera, J. Ramón. EDVI: Un sistema <strong>de</strong>apoyo a <strong>la</strong> enseñanza presencial basado enInternet. Actas <strong>de</strong> JENUI 2001, páginas 451-453.[3] Gayo, Daniel; López, Benjamín; Labra, JoséE. Desarrollo <strong>de</strong>l portal web <strong>de</strong> <strong>la</strong> E.U. <strong>de</strong>Ingeniería Técnica en Informática <strong>de</strong> Oviedo.Actas <strong>de</strong> JENUI 2001, páginas 39-44.[4] Llopis, Fernando.; Pérez, Ernesto; Ortuño,Fernando. Introducción a <strong>la</strong> programación.Algoritmos y C/C++. Publicaciones <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Alicante, 2000.[5] Martel, Ernestina A.; Ojeda, Carmen N.;Hernán<strong>de</strong>z, Pablo; Macías, Elsa M.; Monagas,Vidina. Sistema <strong>de</strong> Gestión <strong>de</strong> Asignaturas enEntorno Web. Actas <strong>de</strong> JENUI 2001, páginas33-38.[6] Más, Ramón; Lacosta, Ignacio. Aplicaciones<strong>de</strong> Internet a <strong>la</strong> Enseñanza: Un Sistema <strong>de</strong>Autoevaluación. Actas <strong>de</strong> JENUI 2001,páginas 500-503.[7] Merelo, Juan Julián; Castillo, Pedro Ángel;Prieto, Alberto. Integración <strong>de</strong> una asignaturaen Internet: el caso <strong>de</strong> Diseño y Evaluación <strong>de</strong>Configuraciones. Actas <strong>de</strong> JENUI 2001,páginas 51-56.


Prototipo <strong>de</strong> entorno docente virtual adaptable por nivelesJosé-Carlos Sánchez AlonsoDpto. <strong>de</strong> InformáticaUniversidad <strong>de</strong> Extremadura10071 Cácerese-mail: jcsanchez@unex.esResumenEn este trabajo se presenta un sistema en<strong>de</strong>sarrollo para <strong>la</strong> generación <strong>de</strong> cursos, controldocente y evaluación automática <strong>de</strong> alumnos através <strong>de</strong> Internet. Este sistema consta <strong>de</strong> unconjunto <strong>de</strong> herramientas software que, residiendoen un servidor, permite generar contenidosdocentes con un formato estandarizado para suadaptación a distintas materias curricu<strong>la</strong>res, sinnecesidad <strong>de</strong> gran<strong>de</strong>s conocimientos <strong>de</strong>Informática. Parte <strong>de</strong> estas herramientas softwarepue<strong>de</strong>n ser utilizadas en cualquier computadorapara preparar los contenidos <strong>de</strong> los cursos. El resto<strong>de</strong> <strong>la</strong>s herramientas adaptan el curso para su usoen Internet, combinando diversas técnicas(HTML, JavaScript, CGIs,…) junto con software<strong>de</strong>sarrol<strong>la</strong>do por casas comerciales.El sistema queda, pues, constituido por tresmódulos. El primer módulo es <strong>la</strong> página Web<strong>de</strong>s<strong>de</strong> don<strong>de</strong> los usuarios pue<strong>de</strong>n matricu<strong>la</strong>rse enlos distintos cursos que se ofrecen, acce<strong>de</strong>r a loscontenidos <strong>de</strong> los mismos e informarse <strong>de</strong> <strong>la</strong>súltimas noveda<strong>de</strong>s. El segundo módulo sirve paraque el docente pueda <strong>de</strong>sarrol<strong>la</strong>r los contenidos <strong>de</strong>los cursos y evaluarlos <strong>de</strong>spués <strong>de</strong>l proceso <strong>de</strong>aprendizaje por parte <strong>de</strong> los alumnos. El tercer yúltimo módulo es un sistema público <strong>de</strong> preguntasy respuestas, don<strong>de</strong> los alumnos pue<strong>de</strong>n realizarconsultas. El sistema se encuentra actualmente enfase <strong>de</strong> <strong>de</strong>sarrollo.1. IntroducciónLa enseñanza a distancia a través <strong>de</strong> Internet es untema <strong>de</strong> máximo interés actual en nuestrasociedad. No está en sus inicios, sino en una fase<strong>de</strong> c<strong>la</strong>ra expansión. El aprovechamiento <strong>de</strong> <strong>la</strong>snuevas tecnologías para su aplicación en <strong>la</strong>enseñanza <strong>de</strong>terminará, en un futuro no muylejano, <strong>la</strong> diferencia entre <strong>la</strong>s socieda<strong>de</strong>s bieninformadas y educadas, con <strong>la</strong>s que se vayanquedando rezagadas.En España disponemos <strong>de</strong> un ejemplo c<strong>la</strong>ro, <strong>la</strong>UOC (Universitat Oberta <strong>de</strong> Catalunya) [15], unaauténtica universidad pública (con sus títuloshomologados, su profesorado, sus materias, susevaluaciones, etc.), y gestionada a través <strong>de</strong>Internet, eliminando au<strong>la</strong>s y mobiliario,optimizando recursos y reduciendo al mínimo loscostes <strong>de</strong> <strong>la</strong>s universida<strong>de</strong>s mo<strong>de</strong>rnas.Otros ejemplos los po<strong>de</strong>mos encontrar enmultitud <strong>de</strong> programas <strong>de</strong> enseñanza "on-line",abarcando campos tan dispares como <strong>la</strong> educacióna distancia en ámbitos rurales, <strong>la</strong>s prácticas teleasistidasen Institutos, etc.Es, por tanto, un momento oportuno paraimplicarse en estas tareas, <strong>de</strong>dicando esfuerzos en<strong>la</strong> e<strong>la</strong>boración <strong>de</strong> propuestas y prototipos <strong>de</strong>enseñanza a través <strong>de</strong> Internet. El grado <strong>de</strong>innovación y originalidad <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong> <strong>la</strong>capacidad <strong>de</strong> integrar propuestas en un marcoamplio <strong>de</strong> aplicación, <strong>de</strong> forma que los contenidosdocentes a generar y gestionar "on-line" puedanser utilizados por todos los estamentos docentes(Universida<strong>de</strong>s, Institutos, Colegios, Aca<strong>de</strong>mias,Instituciones, etc.) en sus tareas <strong>de</strong> docencia,formación continua, etc.Con <strong>la</strong> propuesta que aquí se presenta, sepreten<strong>de</strong> cubrir <strong>la</strong> falta <strong>de</strong> explotación, que a mijuicio, existe <strong>de</strong> <strong>la</strong>s herramientas softwarecomerciales o no, que trabajan en este sentido, ysu a<strong>de</strong>cuación al ámbito docente real. Convencido<strong>de</strong> que un gran número <strong>de</strong> organismos(Universida<strong>de</strong>s, Institutos, Colegios, Aca<strong>de</strong>mias yotras instituciones con cuerpos docentes) están


muy interesados en comprobar cómo se aplicanestas experiencias.2. CaracterísticasA continuación enumeramos <strong>la</strong>s característicasmás relevantes <strong>de</strong>l sistema:• Para realizar <strong>la</strong>s pruebas iniciales <strong>de</strong>l sistema,éste pue<strong>de</strong> residir y administrarse en un PC,configurado como servidor (WindowsNT/2000) [1] o Linux [16] sobre Internet,como se ve en <strong>la</strong> Figura 1.• Permite generar contenidos docentes (porejemplo, cursos), que se almacenan en subase <strong>de</strong> contenidos con una estructura<strong>de</strong>terminada. Estos contenidos pue<strong>de</strong>ngenerarse en cualquier PC, y serposteriormente administrados por el servidor.• Los contenidos pue<strong>de</strong>n ser cursos,cuestionarios, seminarios, ..., cualquier tipo<strong>de</strong> contenido docente <strong>de</strong>l que intereseconocer cómo lo utilizan y aprovechan losusuarios (evaluación automática).• Los contenidos docentes <strong>de</strong>ben ser accesibles<strong>de</strong>s<strong>de</strong> cualquier computador conectado aInternet, <strong>de</strong>s<strong>de</strong> el que se pue<strong>de</strong> seleccionar un<strong>de</strong>terminado contenido docente e interactuarcon él.• Los resultados <strong>de</strong> esta interactividad (porejemplo, respuestas a <strong>la</strong>s preguntas, tiempo<strong>de</strong> ejecución, porcentajes <strong>de</strong> éxito,evaluaciones, etc) son gestionados por elservidor• El servidor monitoriza y almacena, endiversos formatos, los resultados <strong>de</strong>l proceso<strong>de</strong> aprendizaje <strong>de</strong>l curso, seminario, … Losdocentes, so<strong>la</strong>mente <strong>de</strong>s<strong>de</strong> este servidor,pue<strong>de</strong>n conocer parámetros re<strong>la</strong>tivos a<strong>la</strong>prendizaje <strong>de</strong> los cursos seleccionados.• Los cursos generados podrán ser tambiénalmacenados en CD para su utilización sinsoporte <strong>de</strong> Internet.3. ObjetivosEl objetivo principal <strong>de</strong> un Entorno DocenteVirtual, como el que se <strong>de</strong>scribe en el presentedocumento, es imp<strong>la</strong>ntar un sistema <strong>de</strong> bajo costey sencillo que permita llevar a cabo unseguimiento <strong>de</strong> los progresos <strong>de</strong> los alumnos.Durante el transcurso <strong>de</strong> una sesión <strong>de</strong> teleenseñanza,este sistema pue<strong>de</strong> obtenerinformación re<strong>la</strong>tiva a <strong>la</strong> fecha y <strong>la</strong> hora a <strong>la</strong> quese comenzó y terminó un curso, datos <strong>de</strong>l usuario,preguntas contestadas/no contestadas, índice <strong>de</strong>aciertos, contenidos más veces consultados, etc.De esa información, el sistema e<strong>la</strong>bora estadísticastales como: número <strong>de</strong> alumnos evaluados,porcentajes <strong>de</strong> éxito, tiempos medios <strong>de</strong> respuesta,generación <strong>de</strong> notas y puntuaciones <strong>de</strong> <strong>la</strong>s pruebasy exámenes, etc.De todo esto se <strong>de</strong>duce que este tipo <strong>de</strong>Entornos Docentes Virtuales son idóneos para suaplicación en:• La evaluación <strong>de</strong> <strong>la</strong> docencia y calidaddocente <strong>de</strong> los centros educativos, aplicablestanto a alumnos, como a profesores.• El recic<strong>la</strong>miento docente <strong>de</strong>l profesoradomediante seminarios que pue<strong>de</strong>n cursarcómodamente y en cualquier horario.• La realización y evaluación <strong>de</strong> prácticas adistancia.• Promoción <strong>de</strong> cursos.• Dar a conocer publicaciones, artículos y todoaquello que se consi<strong>de</strong>re <strong>de</strong> interés generalpara el alumnado, profesorado, etc.A<strong>de</strong>más <strong>de</strong>l objetivo principal, <strong>de</strong>scritoanteriormente, se preten<strong>de</strong>n conseguir objetivostales como <strong>la</strong> exportabilidad al sistema educativo<strong>de</strong> enseñanzas primarias, medias y universitarias,haciendo útil <strong>la</strong>s nuevas tecnologías en <strong>la</strong>enseñanza; <strong>la</strong> reducción <strong>de</strong> costes sobre <strong>la</strong>educación tradicional; <strong>la</strong> capacidad <strong>de</strong> adquisición<strong>de</strong> <strong>la</strong>s herramientas comerciales; <strong>la</strong> obtención <strong>de</strong>presentaciones consistentes que integren todas <strong>la</strong>scaracterísticas multimedia a <strong>la</strong> enseñanza, unidas a<strong>la</strong> facilidad <strong>de</strong> manejo. Y por último, cabe<strong>de</strong>stacar <strong>la</strong> reducción en el tiempo <strong>de</strong> aprendizajey en mejor rendimiento <strong>de</strong>l estudiante (se ha<strong>de</strong>mostrado que <strong>la</strong>s aplicaciones interactivasmejoran el aprovechamiento en un 25% sobre e<strong>la</strong>prendizaje convencional).4. DesarrolloLos inicios <strong>de</strong> este proyecto se enmarcan <strong>de</strong>ntro<strong>de</strong>l I PRI+DT (I P<strong>la</strong>n Regional <strong>de</strong> I+D


Se r vidorWWWServidorFTPServidorcorreoListas <strong>de</strong>distrib.d e correoINTERNETSERVIDORTablón <strong>de</strong>A nuncios yNews(Ceilidh)UsuariosAutoeva -l uaciónAUTHORWAREA TTAIN 5y generac ión<strong>de</strong> cursosCursosA lmacenadose n CDTecnológico) <strong>de</strong> <strong>la</strong> Junta <strong>de</strong> Extremadura y elFondo Social Europeo, en el año 2000, con elproyecto «Sistema piloto para <strong>la</strong> docencia a través<strong>de</strong> Internet», don<strong>de</strong> se <strong>de</strong>sarrolló el sistema enpruebas EDONET (Entorno para <strong>la</strong> Docenciasobre InterNET). En <strong>la</strong> figura 1 se aprecia elesquema <strong>de</strong> funcionamiento <strong>de</strong> EDONET.Este sistema se implementó sobre un PC conWindows NT Server 4.0 , disponiendo así <strong>de</strong> unservidor utilizado como soporte al sistema docentea través <strong>de</strong> Internet. El servidor ofrece servicios <strong>de</strong>administración y publicación <strong>de</strong> páginas web(WWW), <strong>de</strong> transferencia <strong>de</strong> archivos (FTP),correo electrónico (POP3 y WebMail) y listas <strong>de</strong>distribución <strong>de</strong> correo compatible conMajordomo. También posee diversos dispositivosmultimedia: webcam, capturadora <strong>de</strong> ví<strong>de</strong>o, ...para <strong>la</strong> realización y composición <strong>de</strong> ví<strong>de</strong>osexplicativos y sesiones prácticas que puedancontener los cursos. Así mismo, se dispone <strong>de</strong>software comercial para el diseño <strong>de</strong> páginas web,sistemas <strong>de</strong> preguntas y respuestas, exámeneselectrónicos y e<strong>la</strong>boración <strong>de</strong> contenidos docentes.Todos estos elementos se integran en un únicosistema, que funciona como un todo, <strong>de</strong> formatransparente al usuario, constituyendo un sistemaque aúna todos los requisitos esperados. Laintegración y el <strong>de</strong>sarrollo <strong>de</strong>l sistema, así como<strong>la</strong>s ampliaciones y mejoras <strong>de</strong>l proyecto que seestán llevando a cabo a día <strong>de</strong> hoy, se centran,Figura 1. Esquema <strong>de</strong>l sistema EDONETsobretodo, en <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> una serie <strong>de</strong>rutinas y una jerarquía <strong>de</strong> librerías y objetos quecontengan mo<strong>de</strong>los y esqueletos <strong>de</strong> fáci<strong>la</strong>plicación para <strong>la</strong> construcción <strong>de</strong> contenidosdocentes, minimizando el tiempo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>cursos, seminarios, pruebas, ...4.1. Punto <strong>de</strong> acceso al sistemaLa gran te<strong>la</strong>raña mundial (WWW) se haconvertido en el medio más difundido <strong>de</strong> acceso a<strong>la</strong> información a través <strong>de</strong> Internet, <strong>de</strong>bido sobretodo a su capacidad para mostrar contenidos enmultitud <strong>de</strong> formatos, su interactividad y su fáci<strong>la</strong>cceso por parte <strong>de</strong> todos los usuarios <strong>de</strong> <strong>la</strong> Red,tanto <strong>de</strong>s<strong>de</strong> re<strong>de</strong>s privadas, como <strong>de</strong>s<strong>de</strong> el hogar.Por este motivo, es uno <strong>de</strong> los medios másidóneos para <strong>la</strong> promoción y difusión <strong>de</strong> <strong>la</strong>educación a distancia. Los usuarios pue<strong>de</strong>n <strong>de</strong>cidiren qué momento <strong>de</strong>sean estudiar y qué contenidosson los que más les interesan, todo ello <strong>de</strong> unaforma muy sencil<strong>la</strong>.Debido a estas características, se hace patente<strong>la</strong> necesidad <strong>de</strong> imp<strong>la</strong>ntación <strong>de</strong> sistemas docentesaccesibles a través <strong>de</strong>l web.Mediante <strong>la</strong> utilización <strong>de</strong> técnicas <strong>de</strong> diseñoweb: lenguaje HTML [2][5][6], Java [2],JavaScript [7][8] y CGIs [2][3][4], se confecciona<strong>la</strong> página web principal que permite el acceso alsistema, y <strong>de</strong>s<strong>de</strong> don<strong>de</strong> los usuarios pue<strong>de</strong>n:


• Matricu<strong>la</strong>rse en los cursos que le interesen.• Acce<strong>de</strong>r al contenido docente <strong>de</strong> los cursos,tanto si son «on-line», como «off-line».• Ser evaluados y supervisados en tiempo real.• Permanecer informados <strong>de</strong> <strong>la</strong>s últimasnoveda<strong>de</strong>s.• Participar <strong>de</strong> forma activa en foros <strong>de</strong> <strong>de</strong>bate eintercambiar información con el resto <strong>de</strong><strong>la</strong>lumnado y profesorado.• Descargar material didáctico <strong>de</strong>l servidor.En <strong>la</strong> figura 2 se observa un ejemplo <strong>de</strong> edición <strong>de</strong>un curso en el que pue<strong>de</strong> apreciarse una secuencia<strong>de</strong> ví<strong>de</strong>o.4.2. Generación <strong>de</strong> contenidos docentesLa generación <strong>de</strong> los contenidos <strong>de</strong> los cursos serealiza con una herramienta <strong>de</strong> software <strong>de</strong> autorcomercial, con licencia especial para educación.Mediante Macromedia Authorware 5 Attain [14]se preparan, generan y gestionan cursos ocualquier tipo <strong>de</strong> contenido docente. Debido a <strong>la</strong>scaracterísticas <strong>de</strong> esta herramienta, se permite <strong>la</strong>integración <strong>de</strong> textos, imágenes, ví<strong>de</strong>os, sonidos,animaciones, … configurados como cursos, porparte <strong>de</strong> personas poco expertas en informática,para su posterior portabilidad y a<strong>de</strong>cuación en elsistema. Esta herramienta permite tanto <strong>la</strong> edición<strong>de</strong> cursos para su imp<strong>la</strong>ntación en un servidorWWW, visible <strong>de</strong>s<strong>de</strong> cualquier navegador, comosu preparación para <strong>la</strong> distribución en formatoCD.Para ello, se están <strong>de</strong>sarrol<strong>la</strong>ndo una serie <strong>de</strong>estructuras genéricas y librerías con una serie <strong>de</strong>elementos en Authorware [12][13][14] comunes atodos los cursos, que sirvan como esqueleto en eldiseño <strong>de</strong> los contenidos docentes, <strong>de</strong> modo quesu integración en el sistema se haga <strong>de</strong> una formasencil<strong>la</strong>, eficaz y rápida, con un coste <strong>de</strong><strong>de</strong>sarrollo mínimo. De este modo, todos los cursosFigura 2. Ejemplo <strong>de</strong> curso interactivo a través <strong>de</strong> <strong>la</strong> red


Figura 3. Estructura y uso <strong>de</strong> librerías diseñadas mediante Authorware Attain 5siguen unos mismos estándares, bastante flexibles,que permiten, entre otras cosas:• Desarrollo <strong>de</strong> una interfaz común a todos loscursos.• Botones <strong>de</strong> navegación, búsqueda, avance <strong>de</strong>página, …• En<strong>la</strong>ces a otros cursos, bibliografía, páginasWeb, …• Navegación hipertextual inteligente, ya sea <strong>de</strong>forma local al propio curso o bien a otrocurso existente en el sistema.• Marcos para imágenes estáticas, imágenes enmovimiento, ví<strong>de</strong>os, …• Generación <strong>de</strong> índices.• Control <strong>de</strong> acceso a los cursos (nombre <strong>de</strong>usuario y contraseña).• Inclusión <strong>de</strong> diversos formatos sonoros.• Frames para rótulos, avisos, alertas, notas, …• Otras c<strong>la</strong>ses <strong>de</strong> elementos informativos.En <strong>la</strong> figura 3 se pue<strong>de</strong> observar un ejemplo<strong>de</strong> <strong>la</strong>s estructuras implementadas con Authorwarepara el diseño <strong>de</strong> cursos. En concreto es el<strong>de</strong>sglose <strong>de</strong> esta jerarquía <strong>de</strong> estructuras y libreríasque se están actualmente diseñando, y que hansido utilizadas en el ejemplo <strong>de</strong> <strong>la</strong> figura 3 para<strong>de</strong>mostrar lo sencillo que resulta montar unaprueba autoevaluable como <strong>la</strong> que se muestra en<strong>la</strong> figura 4.Los componentes realizados con Authorwaresiguen un diseño top-down, es <strong>de</strong>cir, cadacomponente <strong>de</strong> nivel N, se <strong>de</strong>sglosa al hacer dobleclic sobre él, en una serie <strong>de</strong> componentes <strong>de</strong> nivelN+1. Cada uno <strong>de</strong> esos componentes <strong>de</strong> nivelN+1, se <strong>de</strong>scomponen a su vez en máscomponentes <strong>de</strong> nivel N+2, y así sucesivamente,aumentando progresivamente el nivel <strong>de</strong> <strong>de</strong>talle.


Figura 4. Ejemplo <strong>de</strong> realización <strong>de</strong> pruebas y <strong>de</strong> evaluación automáticaEn <strong>la</strong> figura 3 po<strong>de</strong>mos observar cómo el nivel1 correspon<strong>de</strong> a un único componente querepresenta <strong>la</strong> totalidad <strong>de</strong>l curso. Haciendo dobleclic sobre este elemento, se <strong>de</strong>spliega el nivel 2,compuesto por <strong>la</strong>s distintas secciones <strong>de</strong>l curso.Dentro <strong>de</strong> estas secciones, se encuentra test, cuyocontenido <strong>de</strong> nivel 3 muestra sus característicasinternas. En el nivel 4 aparecen <strong>la</strong>s preguntas quecomponen el test. Y así po<strong>de</strong>mos continuar hastael nivel <strong>de</strong> <strong>de</strong>talle que queramos.Las librerías y estructuras <strong>de</strong> cursos que seestán diseñando, compren<strong>de</strong>n multitud <strong>de</strong> nivelesy subniveles. De este modo, un usuario pocoexperto, pue<strong>de</strong> utilizar componentes <strong>de</strong> alto nivelpara generar sus contenidos docentes con muypoco esfuerzo y dificultad. Si por el contrario, elusuario ya tiene cierta experiencia, pue<strong>de</strong> ahondarun poco más en el <strong>de</strong>sarrollo <strong>de</strong> los contenidos yrealizar un curso a su medida, configurandomultitud <strong>de</strong> parámetros.Sin embargo un sistema <strong>de</strong> tele-enseñanza noestaría completo si no se dispusiese <strong>de</strong> un sistemaque permitiera <strong>la</strong> evaluación <strong>de</strong> los alumnoscuando realizan un curso por <strong>la</strong> red. Mediante estaherramienta se posibilita un sistema <strong>de</strong> evaluación“on-line”, capaz <strong>de</strong> llevar a cabo unacomunicación automática entre el alumno y elcurso, permitiendo <strong>la</strong> tutorización y corrección enlos momentos oportunos.El control y <strong>la</strong> evaluación se realizan entiempo real, gestionando <strong>la</strong> información re<strong>la</strong>tiva alestado <strong>de</strong> utilización <strong>de</strong>l sistema en un momento<strong>de</strong>terminado, o bien, durante un periodo <strong>de</strong> tiempoconcreto. De este modo se pue<strong>de</strong>n conocer ciertos<strong>de</strong>talles <strong>de</strong> interés, tales como: el número <strong>de</strong>alumnos que han accedido a un <strong>de</strong>terminado cursoen un instante o periodo <strong>de</strong> tiempo concreto, eltiempo que invirtió cada alumno en completar unseminario docente, número <strong>de</strong> respuestasacertadas/fal<strong>la</strong>das, número <strong>de</strong> intentos, tiempoinvertido en resolver <strong>la</strong>s cuestiones propuestas,etc.En <strong>la</strong> figura 4 pue<strong>de</strong> verse un sencillo ejemplo<strong>de</strong> supervisión por parte <strong>de</strong>l sistema. Toda <strong>la</strong>información <strong>de</strong> control generada comoconsecuencia <strong>de</strong> <strong>la</strong> interactividad <strong>de</strong>l usuario conel sistema, pue<strong>de</strong> registrarse <strong>de</strong> forma totalmentetransparente para él o no, según convenga. Enocasiones, pue<strong>de</strong> resultar interesante que e<strong>la</strong>lumno conozca el índice <strong>de</strong> aciertos o el grado <strong>de</strong>avance en un <strong>de</strong>terminado curso. Esto secontemp<strong>la</strong> en <strong>la</strong>s estructuras que se estándiseñando. Sin embargo, en otras ocasiones pue<strong>de</strong>interesar que toda esa información se almaceneinternamente, sin que el usuario tengaconocimiento <strong>de</strong> ello. Esta información pue<strong>de</strong>resultar <strong>de</strong> gran interés para los educadores, <strong>de</strong>hecho, constituirán los únicos elementos <strong>de</strong> juicio<strong>de</strong> que dispongan para po<strong>de</strong>r evaluar elrendimiento o aprovechamiento <strong>de</strong>l curso porparte <strong>de</strong>l alumno, y esto habrá sido generado porel propio sistema <strong>de</strong> forma automática. Se asegura<strong>la</strong> confi<strong>de</strong>ncialidad <strong>de</strong> los datos obtenidos,mediante los métodos telemáticos oportunos,enviándose dichos resultados al sistema central.


4.3. Intercambio y participaciónAl igual que suce<strong>de</strong> en un sistema educativotradicional, se hace patente <strong>la</strong> posibilidad <strong>de</strong>po<strong>de</strong>rse poner en contacto con los educadores, obien con otros alumnos que siguen el mismocurso, para intercambiar impresiones, participar enforos <strong>de</strong> <strong>de</strong>bate o simplemente resolver una duda.Internet ofrece numerosas posibilida<strong>de</strong>s para quedos o más personas puedan entab<strong>la</strong>r unaconversación o entrar en contacto, sin embargo notodas son <strong>la</strong>s más idóneas para sistemas basadosen <strong>la</strong> tele-enseñanza. Correo electrónico,vi<strong>de</strong>oconferencias, chats, etc., son formasconocidas <strong>de</strong> establecer conversaciones, pero nose ajustan a<strong>de</strong>cuadamente a los objetivos que sepreten<strong>de</strong>n.Un sistema a<strong>de</strong>cuado para resolver este tipo<strong>de</strong> problemas <strong>de</strong> comunicación e intercambio <strong>de</strong>información entre alumnos y educadores es untablón electrónico. La filosofía <strong>de</strong>l tablónelectrónico es simi<strong>la</strong>r a <strong>la</strong> <strong>de</strong> <strong>la</strong>s news en Internet.Se dispone <strong>de</strong> un lugar en el sistema don<strong>de</strong> seenvían correos electrónicos, <strong>de</strong> modo que esoscorreos electrónicos se hacen públicos, y pue<strong>de</strong>nser leídos por cualquier integrante <strong>de</strong> un curso.A<strong>de</strong>más, permanecen un tiempo in<strong>de</strong>finido en elsistema (al menos hasta que el curso se dé porfinalizado). De esta manera, un alumno quep<strong>la</strong>ntee una duda o problema al tablón electrónico,podrá obtener respuesta, y éstas (pregunta yrespuesta) podrán ser consultadas no sólo por e<strong>la</strong>lumno que <strong>la</strong>s formuló, sino por todos aquellosalumnos matricu<strong>la</strong>dos en el mismo curso. Estoagiliza enormemente <strong>la</strong> <strong>la</strong>bor <strong>de</strong> tutorización queejercen los educadores.Para <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> un sistema <strong>de</strong> tablónelectrónico, se ha optado por <strong>la</strong> utilización <strong>de</strong>Ceilidh [10][11], una herramienta <strong>de</strong> libredistribución a través <strong>de</strong> Internet. Ceilidh permiterealizar réplicas y contrarréplicas, y enca<strong>de</strong>narmensajes con otros concernientes al mismo tema<strong>de</strong> una forma visual. Para enviar un mensaje altablón <strong>de</strong> anuncios, se proce<strong>de</strong> <strong>de</strong> <strong>la</strong> mismamanera a como se haría para enviar un correoelectrónico a otra persona, sólo que aquí <strong>la</strong>dirección <strong>de</strong>l <strong>de</strong>stinatario correspon<strong>de</strong> a unadirección específica para el tablón electrónico. Sinembargo, el usuario no tiene por qué preocuparse<strong>de</strong> esto, puesto que pue<strong>de</strong> hacerlo <strong>de</strong>s<strong>de</strong> el propiotablón. Los mensajes contenidos en el tablónelectrónico se visualizan a través <strong>de</strong>l navegador,como si <strong>de</strong> una página web se tratase. Losmensajes aparecen enca<strong>de</strong>nados por temas: unmensaje, su correspondiente contestación anidadaa dicho mensaje, e incluso una contestaciónanidada a <strong>la</strong> contestación anterior. No hay límite.Cuando un usuario quiere enviar una réplica ocontrarréplica al tablón, simplemente <strong>de</strong>beseleccionar el mensaje correspondiente <strong>de</strong> <strong>la</strong> lista<strong>de</strong>spleg<strong>la</strong>ble y contestarlo.5. ConclusionesEn este trabajo se presenta el estado <strong>de</strong>l arte <strong>de</strong> unsistema que se podrá utilizar para <strong>la</strong> generación <strong>de</strong>material docente, el control y <strong>la</strong> evaluación <strong>de</strong> suaprendizaje. El sistema, que aún se encuentra enfase <strong>de</strong> <strong>de</strong>sarrollo, permitirá <strong>la</strong> realización <strong>de</strong>experimentos <strong>de</strong> tele-enseñanza a través <strong>de</strong>Internet en breve.Se busca una forma sencil<strong>la</strong> <strong>de</strong> implementarun sistema <strong>de</strong> bajo coste, que pueda ser utilizadopor personas no expertas en informática (aunquesí con ciertos conocimientos) sin <strong>de</strong>jar <strong>de</strong> <strong>la</strong>dotodas <strong>la</strong>s posibilida<strong>de</strong>s que pue<strong>de</strong>n ofrecer otrossistemas simi<strong>la</strong>res existentes más complejos.Con todo, también tiene sus limitaciones:Pue<strong>de</strong> parecer excesiva <strong>la</strong> centralización <strong>de</strong> todoslos servicios (servidor <strong>de</strong> páginas web, <strong>de</strong> FTP, <strong>de</strong>correo, …) en una única máquina, en lugar <strong>de</strong>mantenerlos distribuidos en varios equipos.Tampoco se hace mención <strong>de</strong> los mecanismos <strong>de</strong>seguridad <strong>de</strong> red (firewall, proxy, ...), aunque sí seemplea cierto software <strong>de</strong> libre distribución para<strong>la</strong> protección <strong>de</strong>l servidor [17].Recientemente también han aparecido en elmercado nuevas herramientas <strong>de</strong> autor a precioscompetitivos, por lo que sería convenientecomenzar un estudio comparativo.Referencias[1] J.M.Álvarez, P.Díaz, G.Galeano, N.Pavón,J.C.Sánchez. Windows 2000 Professional. AnayaMultimedia, 2000. ISBN: 84-415-1015-6.[2] Stanek, William Robert; Ketzler, Mark;DeRose, Steven J. HTML, Java, CGI, VRML,SGML Web Publishing Unleashed. Sams, 1996.ISBN: 1575210517


[3] Stein, Lincoln. Official Gui<strong>de</strong> toProgramming With Cgi.Pm. John Wiley & Sons,1998. ISBN: 0471247448[4] Weinman, William E. The CGI Book. NewRi<strong>de</strong>rs Publishing, 1996. ISBN: 1562055712[5] Heslop, Brent D. Html Publishing on theInternet : Covers Html 4 and Dynamic Html :Everything You Need to Create Professional-Looking Web Page. Ventana CommunicationsGroup Inc., 1998. ISBN: 1566046254[6] G.Galeano, P.Díaz, J.C.Sánchez. HTML 4.Anaya Multimedia, 2000. ISBN: 84-415-1024-5.[7] Wooldridge, Andrew; Morgan, Mike; Darnell,Rick; Honeycutt, Jerry; Reynolds, Mark C. UsingJavascript (Special Edition Using...). Que, 1997.ISBN: 0789711389[8] McComb, Gordon. Javascript Sourcebook :Creative Interactive Javascript Programs for theWorld Wi<strong>de</strong> Web. John Wiley & Sons, 1996.ISBN: 0471161853[9]Cranford Teague, Jasón. How to ProgramHTML Frames : Interface Design and Javascript.Ziff Davis Pr., 1997. ISBN: 1562764950[10]Hughes, Richard J.; Shewmake, Jake;Okelberry, Christopher R. CEILIDH:Col<strong>la</strong>borative Writing on the Web (Utah StateUniversity). At<strong>la</strong>nta, GA (U.S.A.). TheAssociation for Computing Machines’s 1998Symposium on Applied Computing, Feb 28, 1998.[11]Ceilidh Web Site: http://www.lilikoi.com/[12]Roberts, Nick. The Official Gui<strong>de</strong> toAuthorware 4 : The Comprehensive Referencefrom the Multimedia Labs of Macromedia.Peachpit Press, 1997. ISBN: 0201688999[13]Kellog, Orson; Ziajka, Judy. Authorware 4Authorized. Peachpit Press, 1997. ISBN:0201696339[14]Kellog, Orson; Ziajka, Judy.Authorware 5Attain Authorized. Peachpit Press, 1998. ISBN: 0-201-35411-X[15]Universitat Oberta <strong>de</strong> Catalunya:http://www.uoc.es[16] Gazo Cervero, A.; González Sánchez, J.L.Manual Avanzado <strong>de</strong> Red Hat Linux 7. AnayaMultimedia, 2001. ISBN: 84-415-1133-0[17] ZoneA<strong>la</strong>rm, <strong>de</strong> ZoneLabs.http://www.zone<strong>la</strong>bs.com


SHAAD: sistema hipermedia adaptable, adaptativo y dinámicopara <strong>la</strong> entrega <strong>de</strong> contenidos hipermediaDavid Mérida, Ramón FabregatInstitut d’Informàtica i Aplicacions (IIiA)Universitat <strong>de</strong> Girona (UdG)david.merida@udg.es, ramon.fabregat@udg.esResumenPara implementar una eficiente adaptación <strong>de</strong>contenidos en <strong>la</strong> red se pue<strong>de</strong>n analizar diversasvariables que involucran a los tipos <strong>de</strong> usuarios,los dispositivos <strong>de</strong> acceso <strong>de</strong>l cliente, los tipos <strong>de</strong>acceso, el estado <strong>de</strong> <strong>la</strong> red y el estado <strong>de</strong> carga <strong>de</strong>lservidor. La creciente utilización <strong>de</strong> objetoshipermedia para <strong>la</strong> creación <strong>de</strong> contenidos y <strong>la</strong> noconsi<strong>de</strong>ración <strong>de</strong> estas variables, ha ocasionado enmuchas situaciones el problema <strong>de</strong> <strong>la</strong> entrega <strong>de</strong>contenidos ina<strong>de</strong>cuados. En este paper se proponeun mo<strong>de</strong>lo para <strong>la</strong> entrega <strong>de</strong> contenidoshipermedia que consi<strong>de</strong>re estas variables. Estemo<strong>de</strong>lo, e<strong>la</strong>borado a partir <strong>de</strong> un análisis <strong>de</strong>diversas investigaciones, consi<strong>de</strong>ra los diferentespuntos <strong>de</strong> vista observados y tiene como objetivofinal <strong>de</strong>finir un Sistema Hipermedia Adaptable,Adaptativo y Dinámico (SHAAD) como punto <strong>de</strong>partida para <strong>la</strong> consi<strong>de</strong>ración <strong>de</strong>l problema <strong>de</strong>adaptación <strong>de</strong> contenidos a través <strong>de</strong> un sistematotalmente modu<strong>la</strong>r.1. IntroducciónActualmente, <strong>la</strong> gran heterogeneidad en términos<strong>de</strong> tipos y capacida<strong>de</strong>s <strong>de</strong> los dispositivos <strong>de</strong>acceso, ancho <strong>de</strong> banda <strong>de</strong> <strong>la</strong> red y necesida<strong>de</strong>spreferencias<strong>de</strong> los usuarios no son tenidas encuenta por un servidor cuando sirve contenidosweb ricos en imágenes, audio y vi<strong>de</strong>o. Porejemplo, el servidor entregará el documentosolicitado aunque el terminal (WebTV, PersonalDigital Assistants (PDAs) o teléfonos móviles)utilizado no pueda acce<strong>de</strong>r a estos contenidos<strong>de</strong>bido a <strong>la</strong>s limitaciones <strong>de</strong>l monitor, <strong>de</strong> <strong>la</strong>scapacida<strong>de</strong>s <strong>de</strong> almacenamiento, <strong>de</strong>procesamiento o <strong>de</strong> acceso a <strong>la</strong> red.Para solucionar este problema se <strong>de</strong>ben<strong>de</strong>sarrol<strong>la</strong>r alternativas que permitan un accesouniversal a cualquier tipo <strong>de</strong> material, <strong>de</strong>s<strong>de</strong>cualquier tipo <strong>de</strong> dispositivo y que tengan encuenta <strong>la</strong>s preferencias <strong>de</strong>l usuario y el estado <strong>de</strong>carga <strong>de</strong> <strong>la</strong> red y <strong>de</strong>l servidor.El concepto <strong>de</strong> Adaptación ha sido muyestudiado en el campo <strong>de</strong> los sistemas hipermediay se ha mostrado que <strong>de</strong>ntro <strong>de</strong> estos ambientespue<strong>de</strong> proporcionar mejores entornos <strong>de</strong>utilización y rendimiento. Muchos son los grupos<strong>de</strong>dicados a <strong>la</strong> tarea <strong>de</strong> solucionar <strong>la</strong> problemática<strong>de</strong> <strong>la</strong> adaptación <strong>de</strong> contenidos y diferentestambién <strong>la</strong>s consi<strong>de</strong>raciones hechas al respecto a<strong>la</strong> hora <strong>de</strong> implementar dicha adaptación:• UMA (Universal Multimedia Acces) [1] tieneen cuenta <strong>la</strong>s nuevas c<strong>la</strong>ses <strong>de</strong> dispositivosinteligentes y portables. La finalidad <strong>de</strong>lproyecto es permitir a los dispositivos <strong>de</strong>acceso con limitaciones en <strong>la</strong>s capacida<strong>de</strong>s<strong>de</strong> comunicación, procesamiento yvisualización acce<strong>de</strong>r a cualquier contenidomultimedia.• MONADS [3][7][10] está dirigido asolucionar <strong>la</strong> <strong>de</strong>manda <strong>de</strong> los servicios <strong>de</strong>datos “anytime-anywhere-anyhow” a través<strong>de</strong> <strong>la</strong>s nuevas tecnologías <strong>de</strong> dispositivosmóviles. La adaptabilidad <strong>de</strong> los servicios <strong>de</strong>datos a los cambios <strong>de</strong> entorno <strong>de</strong> losusuarios nómadas es el tema principal <strong>de</strong> esteproyecto. Se entien<strong>de</strong> por nómadas a losusuarios que cambian permanentemente <strong>de</strong>lugar y posiblemente <strong>de</strong> dispositivo y <strong>de</strong> tipo<strong>de</strong> acceso. En este proyecto los agentesinteligentes juegan un papel muy importanteen <strong>la</strong> implementación <strong>de</strong> <strong>la</strong> adaptabilidad.


• Grupos <strong>de</strong> investigación <strong>de</strong> Hewlet-Packard[13][14] y <strong>de</strong> Microsoft Research China [7]trabajan en Adaptive Delivery Systems ytienen en cuenta el tipo <strong>de</strong> dispositivo <strong>de</strong>acceso, el estado <strong>de</strong> <strong>la</strong> red y <strong>la</strong>s preferencias<strong>de</strong>l usuario.• Paul <strong>de</strong> Bra [6] a partir <strong>de</strong> un AdaptiveHipermedia System (AHS) y teniendo encuenta <strong>la</strong>s preferencias <strong>de</strong>l usuario (mo<strong>de</strong>lo<strong>de</strong>l usuario) se p<strong>la</strong>ntea el cambio <strong>de</strong> loscontenidos o <strong>de</strong> <strong>la</strong> presentación <strong>de</strong> los nodosalterando <strong>la</strong> estructura <strong>de</strong> los en<strong>la</strong>ces.En los trabajos anteriores se han consi<strong>de</strong>radodiversas variables que influyen en <strong>la</strong> adaptación<strong>de</strong> contenidos. Todas el<strong>la</strong>s serán adoptadas en estetrabajo:1. Las características y preferencias <strong>de</strong>l usuario[2][6][8]. Bajo este concepto se incluye todolo referente a preferencias y conocimientos<strong>de</strong>l usuario. Siendo preferencias lo re<strong>la</strong>tivo a<strong>la</strong> manera <strong>de</strong> recibir el material hipermedia(p. ej. explicita o resumida), a <strong>la</strong>scaracterísticas <strong>de</strong> aprendizaje (p. ej. si es unusuario textual o visual), a <strong>la</strong>s característicaspersonales (p. ej. si es un usuarioextrovertido o introvertido), etc. Yconocimiento es todo lo re<strong>la</strong>tivo aconocimiento previo o evolutivo.2. El dispositivo <strong>de</strong> acceso <strong>de</strong>l cliente [1][3][7][10][13][14]. Parale<strong>la</strong>mente a <strong>la</strong> crecienteexplosión <strong>de</strong> Internet ha <strong>de</strong>venido un amplio<strong>de</strong>sarrollo tecnológico <strong>de</strong> los dispositivos <strong>de</strong>acceso a <strong>la</strong> red (<strong>de</strong>s<strong>de</strong> los tradicionalesor<strong>de</strong>nadores <strong>de</strong> escritorio hasta <strong>la</strong> nuevageneración <strong>de</strong> dispositivos móviles y PDAs).Estos dispositivos presentan gran<strong>de</strong>sdiferencias tales como su capacidad <strong>de</strong>almacenamiento, po<strong>de</strong>r <strong>de</strong> procesamiento,resolución <strong>de</strong> pantal<strong>la</strong>s, etc. Nosencontramos ante una nueva problemática: eltener que entregar los ricos contenidosmultimedia disponibles a una amplia gama<strong>de</strong> dispositivos/clientes que en muchos <strong>de</strong> loscasos no tendrán capacida<strong>de</strong>s para tratarlosa<strong>de</strong>cuadamente.3. Tipo <strong>de</strong> acceso a <strong>la</strong> red [13][14]. Anchos <strong>de</strong>banda que van <strong>de</strong>s<strong>de</strong> los 9.6K o 28.8K <strong>de</strong> <strong>la</strong>sconexiones para telefonía celu<strong>la</strong>r o mó<strong>de</strong>ms;pasando por los comprendidos entre los128K u los 1.5M <strong>de</strong> <strong>la</strong>s conexiones ISDL,DSL y cable-mó<strong>de</strong>ms y los <strong>de</strong> 10M y 100M<strong>de</strong> <strong>la</strong>s re<strong>de</strong>s <strong>de</strong> área local o Ethernet, generanun nueva característica que hay queconsi<strong>de</strong>rar: <strong>la</strong> velocidad <strong>de</strong> acceso a <strong>la</strong> red.4. Estado <strong>de</strong> <strong>la</strong> red [4][5][6]. A <strong>la</strong> diversidad <strong>de</strong>tipos <strong>de</strong> conexión se suma el estado <strong>de</strong>congestión que <strong>la</strong> conexión utilizada pue<strong>de</strong>presentar en un momento dado. La carga quepresenta <strong>la</strong> conexión en todo momento no esuniforme. Es <strong>de</strong>cir, no po<strong>de</strong>mos inferir apartir <strong>de</strong>l hecho <strong>de</strong> disponer <strong>de</strong> un buenancho <strong>de</strong> banda, el tener en formapermanente un buen estado <strong>de</strong> <strong>la</strong> conexión.5. Estado <strong>de</strong> carga <strong>de</strong>l servidor [11][12]. Porparte <strong>de</strong> los usuarios es más que conocida <strong>la</strong>experiencia <strong>de</strong> situaciones <strong>de</strong> accesos fallidoso rechazados por parte <strong>de</strong>l servidor ante <strong>la</strong>consulta <strong>de</strong> algún material multimedia. Estasituación muchas veces es ocasionada por unexceso <strong>de</strong> carga en dichos servidores comoconsecuencia <strong>de</strong> una inusitada cantidad <strong>de</strong>peticiones. Para solucionar dicha sobrecargapue<strong>de</strong> ser preferible entregar contenidos conrecursos <strong>de</strong> menor calidad antes que tenerque rechazar o generar una fal<strong>la</strong> en <strong>la</strong>sconexiones que se están realizando.La sección 2 p<strong>la</strong>ntea una revisión sobreadaptabilidad versus adaptatividad a fin <strong>de</strong> llegara un acuerdo sobre <strong>la</strong> terminología a utilizar. En <strong>la</strong>sección 3 <strong>de</strong>finimos nuestro SHAAD. En <strong>la</strong>sección 4 se p<strong>la</strong>ntean diversas variantes <strong>de</strong>lmo<strong>de</strong>lo para <strong>la</strong>s diferentes variables <strong>de</strong> adaptacióny finalmente se presenta un mo<strong>de</strong>lo único paranuestro sistema.2. Adaptabilidad versus adaptatividadEl término <strong>de</strong> adaptatividad ha sido utilizado pordistintos autores en diferentes ámbitos.Dependiendo <strong>de</strong>l entorno consi<strong>de</strong>rado varían losobjetivos perseguidos por tal adaptación. Por estarazón se hace necesario en primer lugar llegar aun acuerdo respecto a que enten<strong>de</strong>mos poradaptación <strong>de</strong> contenidos hipermedia en unentorno <strong>de</strong> variables cambiantes como <strong>la</strong>smencionadas en el apartado anterior.


Ab<strong>de</strong>lzaher [12] consi<strong>de</strong>ra <strong>la</strong> adaptación <strong>de</strong>contenidos web como un mecanismo para mejorarel rendimiento <strong>de</strong>l servidor sobrecargadoWei-Ying Ma [13] hace consi<strong>de</strong>raciones sobre<strong>la</strong> entrega <strong>de</strong> contenidos adaptados en ambientesheterogéneos a fin <strong>de</strong> mejorar <strong>la</strong> accesibilidad <strong>de</strong>los contenidos.Brusilovsky [8] <strong>de</strong>fine un Sistema HipermediaAdaptativo como aquel que construye para cadausuario un mo<strong>de</strong>lo <strong>de</strong> objetivos, preferencias yconocimientos. Utiliza este mo<strong>de</strong>lo a través <strong>de</strong> <strong>la</strong>interacción para adaptarse a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>lusuario.Oppermann [9] tiene en cuenta <strong>la</strong>scaracterísticas <strong>de</strong>l usuario y distingue entre:• Sistemas Adaptables: permiten al usuariocambiar ciertos parámetros <strong>de</strong>l sistema yadaptar <strong>de</strong> esta manera su comportamiento.• Sistemas Adaptativos: Se adaptan al usuarioautomáticamente basándose en <strong>la</strong>ssuposiciones que el sistema realiza <strong>de</strong> <strong>la</strong>snecesida<strong>de</strong>s <strong>de</strong>l usuario.Por otro <strong>la</strong>do, De Bra [6] teniendo en cuenta <strong>la</strong>spreferencias <strong>de</strong>l usuario como variable que <strong>de</strong>ci<strong>de</strong><strong>la</strong> adaptación, c<strong>la</strong>sifica los entornos hipermedias ositios Web construidos con <strong>la</strong> capacidad <strong>de</strong>realizar algún tipo <strong>de</strong> personalización:• Hipermedias adaptables: sistemas en los queel usuario pue<strong>de</strong> proveer algún perfil (p.ej. através <strong>de</strong> cuestionarios) para que el sistemapueda proveer una versión <strong>de</strong> <strong>la</strong> aplicaciónhipermedia teniendo en cuenta ese perfil.• Hipermedias adaptativos: sistemas quemonitorean el comportamiento <strong>de</strong> losusuarios y adaptan <strong>la</strong> presentación teniéndoloen cuenta. En estos casos <strong>la</strong> evolución, tantoen preferencias como en conocimientos,podría ser captada o <strong>de</strong>ducida por el sistemaa partir <strong>de</strong> los accesos realizados a <strong>la</strong>spáginas. Por otra parte, muchas vecespodrían necesitar cuestionarios o test a fin <strong>de</strong>obtener información más fiable respecto a <strong>la</strong>spreferencias <strong>de</strong>l usuario. La mayor parte <strong>de</strong><strong>la</strong> adaptación es realizada, sin embargo, enbase a <strong>la</strong>s acciones <strong>de</strong> navegación <strong>de</strong>l usuarioy también consi<strong>de</strong>rando el comportamiento<strong>de</strong> otros usuarios.• Hipermedias dinámicos: El comportamiento<strong>de</strong> los usuarios es monitoreado como en lossistemas hipermedia adaptativos pero <strong>la</strong>adaptación en lugar <strong>de</strong> ser cambiadaseleccionando presentaciones pre<strong>de</strong>finidas esgenerada a partir <strong>de</strong> unida<strong>de</strong>s atómicas <strong>de</strong>información. Es <strong>de</strong>cir, es reconstruidadinámicamente a partir <strong>de</strong> los objetosindividuales que componen <strong>la</strong> páginatomando los que son mas a<strong>de</strong>cuados en basea <strong>la</strong>s características <strong>de</strong>l usuario.3. Definición <strong>de</strong>l SHAADA partir <strong>de</strong> lo comentado en el apartado anteriorse <strong>de</strong>fine un Sistema Hipermedia Adaptable,Adaptativo y Dinámico (SHAAD) como aquelsistema que atendiendo al estado <strong>de</strong> <strong>la</strong>s variablesmencionadas y a <strong>la</strong> variedad multimedia quepresentan los contenidos web, intenta a<strong>de</strong>cuardinámica o estáticamente <strong>la</strong> informacióndisponible y entregar<strong>la</strong> <strong>de</strong> <strong>la</strong> manera máseficiente posible.El mo<strong>de</strong>lo está formado por 4 módulos:1. Mecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> variables.Tienen como finalidad realizar <strong>la</strong> <strong>de</strong>finición<strong>de</strong> <strong>la</strong>s variables ya mencionadasanteriormente: características y preferencias<strong>de</strong>l usuario, dispositivo <strong>de</strong> acceso <strong>de</strong>l cliente,tipo <strong>de</strong> acceso a <strong>la</strong> red, estado <strong>de</strong> <strong>la</strong> red yestado <strong>de</strong> carga <strong>de</strong>l servidor.2. Módulo <strong>de</strong> contenidos. Tiene como funciónentregar los contenidos peticionados, ya sea através <strong>de</strong> una generación dinámica a partir <strong>de</strong>los elementos atómicos que constituyen <strong>la</strong>página web (generación on-line) o <strong>la</strong>selección entre diferentes versiones estáticas<strong>de</strong> esos contenidos previamente generados,(generación off-line).3. Motor <strong>de</strong> <strong>de</strong>cisión. Es el núcleo <strong>de</strong>l sistema yel lugar en el que se evalúan <strong>la</strong>s variables <strong>de</strong><strong>de</strong>cisión y los contenidos disponibles, a partir<strong>de</strong> los que se infiere cuales son losmecanismos para entregar el material en <strong>la</strong>forma más a<strong>de</strong>cuada al usuario final.4. Mecanismos <strong>de</strong> adaptación. Teniendodisponible el nuevo sitio web generado por elmódulo <strong>de</strong> contenidos, implementan los


mecanismos <strong>de</strong> adaptación <strong>de</strong>cididos por elMotor <strong>de</strong> <strong>de</strong>cisión.4. Descripción <strong>de</strong> <strong>la</strong>s variablesA fin <strong>de</strong> realizar una <strong>de</strong>scripción <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> losaspectos a consi<strong>de</strong>rar en cada variable, éstas seanalizan por separado y se <strong>de</strong>fine el mo<strong>de</strong>loutilizado en cada caso.4.1 Características y preferencias <strong>de</strong>l usuarioDe forma muy general, los conceptos que nospermiten <strong>de</strong>scribir a nuestro usuario son: objetivosvs. tareas, conocimiento previo o background,experiencia, preferencias en el modo <strong>de</strong> recibir <strong>la</strong>información, intereses, rasgos <strong>de</strong>l usuario, etc.Estos conceptos tienen en cuenta diferentestipos <strong>de</strong> características [8]: <strong>la</strong>s re<strong>la</strong>tivas alconocimiento (previo o evolutivo), <strong>la</strong>s queconsi<strong>de</strong>ran <strong>la</strong>s preferencias sobre <strong>la</strong> forma <strong>de</strong>recibir <strong>la</strong> información (gráfica o textual,<strong>de</strong>sarrol<strong>la</strong>da o resumida), <strong>la</strong>s que tienen en cuenta<strong>la</strong> personalidad <strong>de</strong>l usuario (introvertido oextrovertido, verbal o textual, ...), etc.Los módulos particu<strong>la</strong>res <strong>de</strong> este mo<strong>de</strong>lo son(figura 1):• Mecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong>scaracterísticas y preferencias <strong>de</strong>l usuario:1. Cuestionarios <strong>de</strong> respuesta directa por parte<strong>de</strong>l usuario a fin <strong>de</strong> obtener <strong>la</strong>scaracterísticas y preferencias <strong>de</strong>l mismo.2. Monitoreo <strong>de</strong>l comportamiento <strong>de</strong>l usuariopara <strong>de</strong>ducir <strong>la</strong>s características <strong>de</strong>l mismoa partir <strong>de</strong> su interacción. Analizando <strong>la</strong>manera en que se acce<strong>de</strong> o navega a través<strong>de</strong>l material disponible en el sitio Web elsistema intenta inferir los rasgos que<strong>de</strong>finen al usuario.• Mecanismos <strong>de</strong> Adaptación [6]:1. Adaptación <strong>de</strong> en<strong>la</strong>ces. El sistema intentaguiar al usuario hacia los aspectos másimportantes <strong>de</strong> <strong>la</strong> información disponible,apartándolo <strong>de</strong> los menos importantes.Este objetivo se consigue manipu<strong>la</strong>ndo <strong>la</strong>estructura <strong>de</strong> los en<strong>la</strong>ces o <strong>la</strong> presentación<strong>de</strong> los mismos.2. Adaptación <strong>de</strong> contenidos. El SistemaHipermedia Adaptativo proporcionainformación adicional o alternativa a fin<strong>de</strong> asegurar al usuario el perfectoentendimiento <strong>de</strong>l material expuesto.La terminología encontrada en otros autores pue<strong>de</strong>diferir <strong>de</strong> <strong>la</strong> expuesta, pero los mecanismosimplicados no difieren sustancialmente conrespecto a los aquí presentados.4.2 Acceso a <strong>la</strong> red: Dispositivo <strong>de</strong>l cliente yTipo <strong>de</strong> Acceso / Estado <strong>de</strong> <strong>la</strong> RedAunque estos tres conceptos son diferentes losconsi<strong>de</strong>ramos juntos pues están íntimamentere<strong>la</strong>cionadas en lo que a tecnología se refiere. Deestas variables <strong>de</strong>pen<strong>de</strong>rá, en última instancia, <strong>la</strong>calidad <strong>de</strong>l formato <strong>de</strong>l contenido que se entregaal usuario.La gama <strong>de</strong> tipos <strong>de</strong> dispositivos <strong>de</strong> acceso a<strong>la</strong> red existentes es muy amplia. Podremos resaltardiferencias tales como <strong>la</strong> potencia <strong>de</strong>procesamiento <strong>de</strong> información, <strong>la</strong> disponibilidad<strong>de</strong> reproductores <strong>de</strong> sonido, <strong>la</strong> interfaz <strong>de</strong> acceso a<strong>la</strong> red y fundamentalmente el tipo <strong>de</strong> medio queutiliza para vi<strong>de</strong>o. Esta última característica juegaSistema Hipermedia DinámicoSistema Hipermedia AdaptativoSistema Hipermedia AdaptableMecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong>sCARACTERÍSTICAS Y PREFERENCIAS DELUSUARIOCUESTIONARIOSMONITOREO DEL COMPORTAMIENTOMOTORDEDECISIÓNMecanismos <strong>de</strong> adaptaciónCONTENT ADAPTATIONLINK ADAPTATIONNuevoContenidoAdaptadoMódulo <strong>de</strong> ContenidosFigura 1 – Mo<strong>de</strong>lo para Adaptación <strong>de</strong> Contenidos según <strong>la</strong>s características y preferencias <strong>de</strong>l usuario


un importante rol a <strong>la</strong> hora <strong>de</strong> pensar en unaadaptación <strong>de</strong> los contenidos.A<strong>de</strong>más, estos dispositivos tienen unaestrecha re<strong>la</strong>ción con el tipo <strong>de</strong> conexión quedisponen y tienen una diferencia muy importanteen lo que a velocidad <strong>de</strong> acceso se refiere.A estas consi<strong>de</strong>raciones <strong>de</strong>bemos agregara<strong>de</strong>más: el estado <strong>de</strong> <strong>la</strong> red en un momento dado.De <strong>la</strong> experiencia como usuarios, sabemos que<strong>de</strong> <strong>la</strong> re<strong>la</strong>ción excelente dispositivo <strong>de</strong> acceso /excelente tipo <strong>de</strong> conexión no tenemosnecesariamente como resultado una excelentedisponibilidad <strong>de</strong> contenidos. Más aún, bajociertas condiciones muchas veces hemosexperimentado <strong>la</strong> frustración <strong>de</strong> no po<strong>de</strong>r acce<strong>de</strong>ral sitio web solicitado. Esto pue<strong>de</strong> ser originadopor el estado <strong>de</strong> <strong>la</strong> red.Para este mo<strong>de</strong>lo es necesario <strong>de</strong>scribirparticu<strong>la</strong>rmente dos módulos (figura 2):• Mecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong>scaracterísticas <strong>de</strong>l dispositivo <strong>de</strong>l cliente y eltipo <strong>de</strong> acceso y estado <strong>de</strong> <strong>la</strong> red. Estemódulo cumple una función parecida almódulo <strong>de</strong> Mecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong><strong>la</strong>s características <strong>de</strong>l usuario <strong>de</strong> <strong>la</strong> figura 1.Los métodos disponibles y que estamosconsi<strong>de</strong>rando para <strong>la</strong> <strong>de</strong>terminación <strong>de</strong>l tipo<strong>de</strong> dispositivo, conexión y estado <strong>de</strong> <strong>la</strong> redson [13]:1. Protocolo http. En el protocolo utilizadopara <strong>la</strong> entrega <strong>de</strong> documentos, <strong>la</strong> cabecera<strong>de</strong> <strong>la</strong>s peticiones http contieneninformación relevante y útil acerca <strong>de</strong>lcliente (p.ej. <strong>la</strong> información re<strong>la</strong>tiva altamaño <strong>de</strong> <strong>la</strong> pantal<strong>la</strong> que se estáutilizando en el cliente) o para asociarindirectamente a partir <strong>de</strong>l tipo <strong>de</strong>navegador utilizado el tipo <strong>de</strong> dispositivocon que se está accediendo. Por otra parte<strong>la</strong> World Wi<strong>de</strong> Web Consortium (W3C)está <strong>de</strong>sarrol<strong>la</strong>ndo un estándar para<strong>de</strong>scubrir <strong>la</strong>s capacida<strong>de</strong>s <strong>de</strong>l cliente y <strong>la</strong>spreferencias <strong>de</strong>l usuario [13].2. Sugerencias <strong>de</strong> usuario. En este caso, comoen el mo<strong>de</strong>lo para <strong>la</strong>s características <strong>de</strong>lusuario, se pue<strong>de</strong>n implementarcuestionarios o p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong>personalización para permitir <strong>la</strong> <strong>de</strong>finición<strong>de</strong> <strong>la</strong>s características <strong>de</strong>l dispositivo <strong>de</strong>acceso por parte <strong>de</strong>l usuario.3. A<strong>de</strong>más es necesario generar herramientasespecíficas para <strong>la</strong> <strong>de</strong>terminación <strong>de</strong>lestado <strong>de</strong> <strong>la</strong> red. La tecnología <strong>de</strong> agentesinteligentes es una <strong>de</strong> <strong>la</strong>s herramientas másinteresantes e importantes que se pue<strong>de</strong>nutilizar.• Mecanismos <strong>de</strong> Adaptación [12][13]:1. Algoritmos <strong>de</strong> Compresión <strong>de</strong> datos:presentan resúmenes <strong>de</strong>l texto a mostrar,previsualizaciones <strong>de</strong> pequeñas imágenes<strong>de</strong>l material disponible en <strong>la</strong> página, etc.2. Algoritmos <strong>de</strong> Transformación <strong>de</strong> datos:modifican el formato <strong>de</strong>l materialmultimedia presentado p.ej. bajando <strong>la</strong>resolución <strong>de</strong> <strong>la</strong>s imágenes o modificando<strong>la</strong> presentación <strong>de</strong> un archivo <strong>de</strong> ví<strong>de</strong>ocomo una sucesión <strong>de</strong> cuadros <strong>de</strong>imágenes.Sistema Hipermedia DinámicoSistema Hipermedia AdaptativoSistema Hipermedia AdaptableMecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong>s CARACTERÍSTICASDEL DISPOSITIVO DEL CLIENTE Y EL TIPO DEACCESO / ESTADO DE LA REDSUGERENCIAS DEL USUARIOMecanismos <strong>de</strong> adaptaciónAlgoritmos <strong>de</strong> Compresión <strong>de</strong> DatosPROTOCOLO HTTPAGENTES INTELIGENTESMOTORDEDECISIÓNAlgoritmos <strong>de</strong> Transformación <strong>de</strong> DatosAlgoritmos <strong>de</strong> C<strong>la</strong>sificación <strong>de</strong> DatosNuevoContenidoAdaptadoMódulo <strong>de</strong> ContenidosFigura 2 – Mo<strong>de</strong>lo para Adaptación <strong>de</strong> Contenidos según el acceso a <strong>la</strong> red


3. Algoritmos <strong>de</strong> C<strong>la</strong>sificación <strong>de</strong> datos:c<strong>la</strong>sifican los objetos que se muestran enuna página otorgándoles niveles <strong>de</strong>importancia a fin <strong>de</strong> <strong>de</strong>cidir si dichosobjetos serán mostrados o no.4.3 Estado <strong>de</strong> carga <strong>de</strong>l servidorEl problema <strong>de</strong> sobrecarga <strong>de</strong>l servidor [11][12]también ha sido una <strong>de</strong> <strong>la</strong>s consi<strong>de</strong>racionestomadas en el mo<strong>de</strong>lo propuesto para nuestroSHAAD, ya que <strong>de</strong>l servidor y <strong>de</strong> su estado<strong>de</strong>pen<strong>de</strong>rá principalmente <strong>la</strong> capacidad <strong>de</strong> aten<strong>de</strong>ren un dado momento <strong>la</strong> cantidad <strong>de</strong> peticionesentrantes por parte <strong>de</strong> los usuarios.En principio, estos servidores estándimensionados <strong>de</strong> tal forma que pue<strong>de</strong>n servir <strong>la</strong>totalidad <strong>de</strong> <strong>la</strong>s peticiones. Sin embargo, en <strong>la</strong>práctica se dan frecuentes casos en los que comousuario nos vemos ante <strong>la</strong> imposibilidad <strong>de</strong>realizar una conexión <strong>de</strong>bido justamente a <strong>la</strong>sobrecarga que el servidor presenta en esemomento y a <strong>la</strong> imposibilidad que tiene paraaten<strong>de</strong>r todas <strong>la</strong>s peticiones. Como se pue<strong>de</strong>producir esta sobrecarga es necesario encontrarsoluciones para tales situaciones.El procesamiento <strong>de</strong> los contenidoshipermedia sobre el servidor pue<strong>de</strong>n sertransformaciones on-line u off-line. Un procesoon-line o dinámico es aquel que se realiza a partir<strong>de</strong> consi<strong>de</strong>rar el estado <strong>de</strong> carga <strong>de</strong>l servidor,permite generar dinámicamente el contenido <strong>de</strong><strong>la</strong>s páginas web a partir <strong>de</strong> los elementos atómicosque <strong>la</strong> conforman. En el proceso off-line o estáticose dispone <strong>de</strong> diferentes versiones <strong>de</strong>l contenidohipermedia, en diferentes formatos y calida<strong>de</strong>s, afin <strong>de</strong> po<strong>de</strong>r seleccionar alguna <strong>de</strong> esas versionescuando <strong>la</strong>s condiciones <strong>de</strong> carga lo <strong>de</strong>man<strong>de</strong>n. Apartir <strong>de</strong> aquí y teniendo en cuenta el estado <strong>de</strong> <strong>la</strong>svariables mencionadas en los puntos 4.1 y 4.2 seacomoda el contenido hipermedia resultante através <strong>de</strong> los otros mecanismos <strong>de</strong> adaptación.El Módulo <strong>de</strong> Contenidos interaccionadirectamente con el Motor <strong>de</strong> Decisión, al cualentrega <strong>la</strong> versión <strong>de</strong> contenido que surja <strong>de</strong>consi<strong>de</strong>rar el estado <strong>de</strong> carga <strong>de</strong>l servidor. Estemotor <strong>de</strong> <strong>de</strong>cisión, con el contenido hipermediaseleccionado y el estado <strong>de</strong> <strong>la</strong>s otras variables<strong>de</strong>finidas, implementa los mecanismos <strong>de</strong>adaptación <strong>de</strong> ese nivel que <strong>de</strong>termineconvenientes.En este caso es necesario <strong>de</strong>scribir dosmódulos (figura 3):• Mecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l estado <strong>de</strong>carga <strong>de</strong>l servidor. Las herramientasevaluadas para realizar <strong>la</strong> mencionada<strong>de</strong>finición van <strong>de</strong>s<strong>de</strong> <strong>la</strong>s herramientas propias<strong>de</strong>l servidor web utilizado hasta <strong>la</strong> utilización<strong>de</strong> tecnología <strong>de</strong> agentes inteligentesimplementados en Java.• Módulo <strong>de</strong> Contenidos. Se encarga <strong>de</strong> generardinámicamente o <strong>de</strong> seleccionar a través <strong>de</strong>versiones estáticas el contenido a<strong>de</strong>cuado.Tiene los siguientes bloques:1. Generación dinámica a partir <strong>de</strong> elementosSistema Hipermedia DinámicoSistema Hipermedia AdaptativoSistema Hipermedia AdaptableMechanisms for the <strong>de</strong>finition of THE STATE OF LOADON THE SERVERHERRAMIENTAS DEL SERVIDOR WEBAGENTES INTELIGENTESMOTORDEDECISIÓNNuevoContenidoAdaptadoMódulo <strong>de</strong> ContenidosGENERACIÓN DINÁMICA A PARTIR DE ELEMENTOS ATÓMICOS – ON-LINEVERSIONES ESTÁTICAS – OFF-LINEContenidoHipermediaAnalizador <strong>de</strong>Contenidos?NuevoDocumentoHipermediaContenidoContenidoHipermediaHipermediaVERSIÓN 1 VERSIÓN 2 ...Figura 3 – Mo<strong>de</strong>lo para Adaptación <strong>de</strong> Contenidos según el estado <strong>de</strong> carga <strong>de</strong>l servidor.


atómicos. Genera dinámicamente <strong>la</strong> nuevapágina a partir <strong>de</strong> los elementos quecomponen <strong>la</strong> página original. ElAnalizador <strong>de</strong> Contenidos, que seesquematiza en <strong>la</strong> figura 4, es unaherramienta <strong>de</strong>sarrol<strong>la</strong>da en XML y Java.Este analizador tiene como objetivoconvertir un documento a partir <strong>de</strong> unformato tradicional HTML a formatoXML y separar <strong>de</strong> esta forma, a través <strong>de</strong><strong>la</strong>s ventajas que nos proporciona el XML,los objetos que conforman el documentooriginal. Una vez obtenida esta estructura,a través <strong>de</strong> condicionantes y <strong>de</strong> <strong>la</strong>intervención <strong>de</strong>l motor <strong>de</strong> <strong>de</strong>cisión,selecciona los objetos convenientes paraconformar el nuevo documento HTML.2. Versiones estáticas hipermedia. En estebloque se encuentran disponibles versiones<strong>de</strong> <strong>la</strong>s páginas web en diferentes calida<strong>de</strong>s<strong>de</strong> formato y contenido. Estas versionesestáticas están disponibles para <strong>la</strong>ssituaciones en <strong>la</strong>s que el Motor <strong>de</strong>Decisión <strong>de</strong>termine utilizar alguna <strong>de</strong> estasversiones en el caso <strong>de</strong> que el estado <strong>de</strong>carga <strong>de</strong>l servidor así lo <strong>de</strong>man<strong>de</strong>.5. Arquitectura <strong>de</strong>l SHAADA través <strong>de</strong> los mo<strong>de</strong>los propuestos en el apartado4 hemos intentado inducir por medio <strong>de</strong> bloqueshomogéneos <strong>la</strong> obtención <strong>de</strong> un mo<strong>de</strong>lo único. Deesta forma, <strong>la</strong> figura 4 representa <strong>la</strong> propuesta <strong>de</strong>lSHAAD teniendo en cuenta todas <strong>la</strong>s variables <strong>de</strong>adaptación consi<strong>de</strong>radas.Los diferentes módulos esquematizados hansido objeto <strong>de</strong>l correspondiente análisis a lo <strong>la</strong>rgo<strong>de</strong>l presente paper. Por otro <strong>la</strong>do, establecimoscomo primera instancia <strong>de</strong> nuestrasinvestigaciones, el hecho <strong>de</strong> consi<strong>de</strong>rar unageneración dinámica <strong>de</strong> contenidos (on-line)teniendo fundamentalmente en cuenta el estado <strong>de</strong>carga <strong>de</strong>l servidor. A priori, esto parece ser <strong>la</strong>mejor forma <strong>de</strong> implementar nuestros objetivos,pero no po<strong>de</strong>mos per<strong>de</strong>r <strong>de</strong> vista que esta soluciónno pue<strong>de</strong> ser exclusiva y al final los procesos <strong>de</strong>nuestro motor <strong>de</strong> <strong>de</strong>cisión tendrán que incluirsoluciones mixtas en <strong>la</strong>s que se consi<strong>de</strong>ren <strong>la</strong>combinación <strong>de</strong> los estados <strong>de</strong> <strong>la</strong>s variables <strong>de</strong>adaptación <strong>de</strong>finidas.6.ConclusionesHemos presentado en este paper el mo<strong>de</strong>loSHAAD (Sistema Hipermedia Adaptable,Adaptativo y Dinámico) para <strong>la</strong> adaptacióndinámica <strong>de</strong> contenidos. Este mo<strong>de</strong>lo intentacubrir <strong>de</strong>s<strong>de</strong> diferentes puntos <strong>de</strong> vista <strong>la</strong> ampliagama <strong>de</strong> trabajos re<strong>la</strong>cionados con <strong>la</strong> adaptación<strong>de</strong> contenidos hipermedia. Así, a través <strong>de</strong><strong>la</strong>nálisis <strong>de</strong> diversas técnicas para <strong>la</strong> <strong>de</strong>finición <strong>de</strong>diversas variables (características <strong>de</strong>l usuario,características <strong>de</strong>l dispositivo <strong>de</strong> acceso <strong>de</strong>lcliente, tipo <strong>de</strong> acceso, estado <strong>de</strong> <strong>la</strong> red y carga <strong>de</strong><strong>la</strong> red) hemos tratado <strong>de</strong> englobar los distintospuntos <strong>de</strong> vista y <strong>de</strong>finir a través <strong>de</strong> un mo<strong>de</strong>loúnico nuestro punto <strong>de</strong> partida para <strong>la</strong> a<strong>de</strong>cuaciónSistema Hipermedia DinámicoSistema Hipermedia AdaptativoSistema Hipermedia AdaptableMecanismos para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong>sVARIABLES DE ADAPTACIÓNUSUARIO RED SERVIDORSUCUSWHTTPMCAIAIMOTORDEDECISIÓNMecanismos <strong>de</strong> adaptaciónCA LAALGORITMOSNuevoContenidoAdaptadoMódulo <strong>de</strong> ContenidosGENERACIÓN DINÁMICA A PARTIR DE ELEMENTOSATÓMICOS – ON-LINEVERSIONES HIPERMEDIAESTÁTICAS – OFF-LINEFigura 4 – Mo<strong>de</strong>lo final para un SHAAD


<strong>de</strong> contenidosAlgunas <strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong> <strong>de</strong>finiciónconsi<strong>de</strong>radas se encuentran en una etapa <strong>de</strong>implementación. Este es el caso <strong>de</strong> nuestroanalizador <strong>de</strong> contenidos implementado en XMLy Java a través <strong>de</strong>l cual se podrá realizar unaselección inteligente <strong>de</strong> los objetos que conformanuna página; o <strong>de</strong> <strong>la</strong>s herramientas investigadaspara un testeo eficiente <strong>de</strong> <strong>la</strong>s condiciones <strong>de</strong> <strong>la</strong>red que se están evaluando a través <strong>de</strong>l mismoprotocolo http o <strong>de</strong> agentes inteligentesimplementados en Java.Nuestro mo<strong>de</strong>lo estrictamente modu<strong>la</strong>r nospermitirá trabajar sobre el amplio espectro <strong>de</strong>aspectos analizados y p<strong>la</strong>ntear <strong>de</strong> esta formasoluciones parciales a un problema queglobalmente pue<strong>de</strong> resultar excesivamentecomplejo <strong>de</strong>bido a <strong>la</strong>s muchas variables que hayque analizar.Agra<strong>de</strong>cimientosEste trabajo ha sido parcialmente financiado por<strong>la</strong> CICYT TEL-99-0976 y por el proyecto Galecia(UE-SOCRATES - MINERVA).Referencias[1] Andrew Perkis, Yousri Ab<strong>de</strong>ljaoued,Chari<strong>la</strong>os Christopoulos, Touradj Ebrahimi,Joe Chicharo, “Universal Multimedia Accessfrom Wired and Wireless systems”, Subm.toBirkhauser Boston transactions on Circuits,Systems and Signal Processing; Special issueon Multimedia Communications, Vol. 20. ,No. 3, 2001, pp. 387-402[2] Daniel Billsus, “Improving User Mo<strong>de</strong>lAcquisition from Labeled Text Documents”,Proceedings of the 2 nd Workshop on AdaptiveSystems and User Mo<strong>de</strong>lling on the WWW.[3] Kimmo Raatikainen, Lassi Hippeläinen,Heimo Laamanen, Matti Turunen, “Monads –Adaptation Agents for Nomadic Users”,World Telecom '99[4] Mauro Marinilli, Alessandro Micarelli andFilippo Sciarrone, “A Case-Based Approachto Adaptive Information Filtering for theWWW”, 7 th International Conference on UserMo<strong>de</strong>ling, Banff, Canada, 1999.[5] Narendra Shaha, Ashish Desai & ManishParashar, “Multimedia Content Adaptationfor QoS Management over HeterogeneousNetworks”, International Conference onInternet Computing (IC 2001), Nevada, USA,June 2001.[6] Paul De Bra, “Design Issues in Adaptive Web-Site Development”, Proceedings of the 2 ndWorkshop on Adaptive Systems and UserMo<strong>de</strong>lling on the WWW[7] Pauli Misikangas, Mikko Mäkelä, KimmoRaatikainen, “Predicting QoS for NomadicApplications Using Intelligent Agents”,Impact’99 Workshop.[8] Peter Brusilovsky, “Adaptive Hipermedia”,User Mo<strong>de</strong>lling and User-Adapted Interaction11: 87-110, 2001, Kluwer Aca<strong>de</strong>micPublishers, Nether<strong>la</strong>nds[9] Reinhard Oppermann, Rossen Rashev,Kinshuk, “Adaptability and Adaptativity inLearning Systems”, Knowledge Transfer(Volume II) (Ed. A. Behrooz), 1997, pAce,London, UK, pp173-179 (ISBN –900427-015-X)[10] Stefano Campa<strong>de</strong>llo, Heikki Helin, OskariKoskimies, Pauli Misikangas, Mikko Mäkelä,Kimmo Raatikainen, “Using Mobile andIntelligent Agents to Support NomadicUsers”, 6 th International Conference onIntelligence in Networks (ICIN2000), 2000,Bor<strong>de</strong>aux, France.[11] Tarek F. Ab<strong>de</strong>lzaher, Nina Bhatti, “Webserver qos management by adaptive content<strong>de</strong>livery”, Int. Workshop on Quality ofService, June 1999.[12] Tarek F. Ab<strong>de</strong>lzaher, Nina Bhatti, ”WebContent Adaptation to Improve ServerOverload Behavior”, The 8 th InternationalWorld Wi<strong>de</strong> Web Conference, Toronto,Ontario, Canada, 1999.[13] Wei-Ying Ma, Ilja Bedner, Grace Chang,Al<strong>la</strong>n Kuchinsky, and HongJiang Zhang, “Aframework for adaptive content <strong>de</strong>livery inheterogeneous network environments”,MMCN2000, San José, California, 2000.[14] Yudong Yang, Jinlin Chen, and HongjiangZhang, “Adaptive Delivery of HTMLContents”, 9 th International World Wi<strong>de</strong> WebConference – The Web: The NextGeneration, Amsterdam, 2000.


Gestión Automática <strong>de</strong> entrega <strong>de</strong> Prácticas vía webJuan Carlos Rodríguez <strong>de</strong>l PinoDept. <strong>de</strong> Informática y SistemasUniversidad <strong>de</strong> Las Palmas <strong>de</strong> Gran Canaria35017 Las Palmas <strong>de</strong> Gran Canariajcrodriguez@dis.ulpgc.esResumenEste artículo presenta un programa l<strong>la</strong>mado GAP,Gestión Automática <strong>de</strong> entrega <strong>de</strong> Prácticas vía web,el cual es capaz <strong>de</strong> almacenar <strong>la</strong>s prácticas <strong>de</strong> losalumnos y que a <strong>la</strong> vez permite a los profesores e<strong>la</strong>cceso a éstas para su revisión y evaluación. GAPinteractúa tanto con los alumnos como con losprofesores. Para tener total acceso a <strong>la</strong>scaracterísticas <strong>de</strong>l programa es suficiente condisponer <strong>de</strong> un acceso a internet y un navegadorweb. También es posible usar el programa GAP para<strong>de</strong>tectar p<strong>la</strong>gios en un gran conjunto <strong>de</strong> ficherosfuente.1. IntroducciónDes<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l alumno, el programaGAP es un sistema encargado <strong>de</strong> recibir y almacenarsus prácticas, a<strong>de</strong>más <strong>de</strong> informarle <strong>de</strong> <strong>la</strong> valoraciónpersonal realizada por parte <strong>de</strong>l profesor <strong>de</strong> sutrabajo. Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l profesor elsistema se encarga <strong>de</strong> mostrárse<strong>la</strong>s y almacenar suevaluación.Entre otras características el programa mantieneun registro por alumno <strong>de</strong> asistencia a sesiones <strong>de</strong>prácticas, calcu<strong>la</strong> <strong>la</strong> nota final para cada alumno ydispone <strong>de</strong> un sistema anticopia <strong>de</strong> prácticas.Este artículo tiene como contexto y ámbito <strong>la</strong>experiencia <strong>de</strong>l uso <strong>de</strong>l programa GAP como apoyoen <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong> Metodología <strong>de</strong><strong>la</strong> Programación I y II, Estructuras <strong>de</strong> Datos I y II yLenguajes <strong>de</strong> Programación en <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong>Ingeniería Informática e Ingenierías Técnicas enInformática <strong>de</strong> Gestión y Sistemas en <strong>la</strong> Universidad<strong>de</strong> Las Palmas <strong>de</strong> Gran Canaria.1.1 La era preGAPNo están muy lejos los tiempos en que <strong>la</strong>documentación <strong>de</strong> <strong>la</strong>s prácticas a realizar por parte<strong>de</strong> los alumnos se distribuía en papel. Como sistema<strong>de</strong> revisión <strong>de</strong> prácticas, al final <strong>de</strong>l curso, seexaminaban y calificaban los trabajos, <strong>de</strong>biendo elprofesor recibirlos en papel o en disquete. La llegada<strong>de</strong>l World Wi<strong>de</strong> Web como medio i<strong>de</strong>al y universalpara <strong>la</strong> transmisión <strong>de</strong> todo tipo <strong>de</strong> información, hizoque se produjera una mejora en el suministro <strong>de</strong>información sobre <strong>la</strong>s prácticas, pasando <strong>de</strong>l papel a<strong>la</strong>s páginas Web.1.2 Los problemasEl primer paso en <strong>la</strong>s mejoras con <strong>la</strong> llegada <strong>de</strong>internet fue po<strong>de</strong>r recibir <strong>la</strong>s prácticas vía correoelectrónico. En el primer cuatrimestre <strong>de</strong>l curso1999/2000 se cambia el medio <strong>de</strong> recepción <strong>de</strong>prácticas: se pone a disposición <strong>de</strong> los alumnos unacuenta <strong>de</strong> correo electrónico a <strong>la</strong> que <strong>de</strong>bían enviarsus trabajos. Este sistema, aunque en principioparecía mejorar <strong>la</strong> situación ya que no se requerían<strong>la</strong>s prácticas en papel, tenía otros inconvenientes:Los alumnos enviaban sus trabajos <strong>de</strong>s<strong>de</strong> cuentas <strong>de</strong>correo que no eran <strong>la</strong>s suyas, lo que dificultaba sui<strong>de</strong>ntificación; no enviaban en el mensaje <strong>la</strong>información <strong>de</strong> referencia sobre <strong>la</strong> prácticaentregada; consultaban frecuentemente sobre si supráctica se había recibido correctamente..., y a estose unían, a<strong>de</strong>más, todos los problemas propios <strong>de</strong>este medio inseguro <strong>de</strong> comunicación.1.2 La búsqueda <strong>de</strong> <strong>la</strong> soluciónEstos problemas p<strong>la</strong>ntearon <strong>la</strong> necesidad <strong>de</strong> buscarun sistema mejor para <strong>la</strong> recepción <strong>de</strong> prácticas. Losrequisitos a cumplir eran que fuese gratuito, sencilloy flexible. Aunque se han venido usando soluciones


más o menos adaptadas al problema, en generalorientadas a entornos UNIX[7] y al uso <strong>de</strong> correoelectrónico[2, 8], comportaban poca flexibilidad <strong>de</strong>uso y una interfaz poco amigable. También sedisponía <strong>de</strong> herramientas <strong>de</strong> docencia vía web, comoWebct [10], y experiencia sobre el<strong>la</strong> [4], que aunquemuy interesantes, no encajaban en <strong>la</strong> soluciónbuscada. Por ello se p<strong>la</strong>nteó <strong>de</strong>sarrol<strong>la</strong>r unprograma accesible vía Web que se encargase <strong>de</strong>automatizar <strong>la</strong> gestión <strong>de</strong>l almacenamiento <strong>de</strong>prácticas.Tras un par <strong>de</strong> meses <strong>de</strong> trabajo, se sacó a <strong>la</strong> luz<strong>la</strong> primera versión, que aunque no tenía toda <strong>la</strong>funcionalidad que se <strong>de</strong>scribe en este trabajo, yarealizaba suficientemente <strong>la</strong> tarea principal para <strong>la</strong>que fue concebido. El programa se ejecuta en unamáquina con S.O. Linux en co<strong>la</strong>boración con elservidor web Apache. Está escrito en C++ yactualmente tiene más <strong>de</strong> 10.000 líneas <strong>de</strong> código.todo lo anterior, más <strong>la</strong>s operaciones necesarias para<strong>la</strong> gestión <strong>de</strong>l sistema, como pue<strong>de</strong>n ser: <strong>de</strong>finirprácticas, criterios <strong>de</strong> calificación global, crearcuentas, etc.2.2 PrácticasUn administrador pue<strong>de</strong> crear, modificar o borrar<strong>de</strong>finiciones <strong>de</strong> prácticas. Una <strong>de</strong>finición <strong>de</strong> unapráctica establece un título, una página Webopcional don<strong>de</strong> se <strong>de</strong>scribe, unas fechas <strong>de</strong> entrega2. CaracterísticasEl núcleo <strong>de</strong>l programa es un almacén <strong>de</strong> prácticas<strong>de</strong> alumnos. Alre<strong>de</strong>dor <strong>de</strong> este elemento se hanañadido características que han tomado granrelevancia como son: gestión <strong>de</strong> usuarios, calificación<strong>de</strong> <strong>la</strong>s prácticas por los profesores, el sistema<strong>de</strong> comparación <strong>de</strong> prácticas para <strong>de</strong>tectar su p<strong>la</strong>gioo el control <strong>de</strong> asistencia a sesiones <strong>de</strong> prácticas.2.1 UsuariosEl programa dispone <strong>de</strong> un esquema <strong>de</strong> autentificación,mediante nombre <strong>de</strong> cuenta <strong>de</strong> usuario yc<strong>la</strong>ve, integrado con el servidor Web. Las cuentas <strong>de</strong>usuario son <strong>de</strong> distinto tipo, lo que <strong>de</strong>fine elcomportamiento <strong>de</strong>l programa hacia ese usuario. Lostipos <strong>de</strong> usuarios son: “invitado”, “alumno”,“profesor”, “profesor corrector” y “profesoradministrador”. Los usuarios “invitados” representanpersonas con <strong>de</strong>recho a navegar por <strong>la</strong>s páginasrestringidas en el servidor. El tipo <strong>de</strong> usuario“alumno” pue<strong>de</strong> entregar prácticas, ver aquel<strong>la</strong>sentregadas previamente y su calificación. Los“profesores” pue<strong>de</strong>n acce<strong>de</strong>r a <strong>la</strong> información <strong>de</strong> losalumnos almacenada en el sistema, ver sus datospersonales y sus prácticas. Los “profesorescorrectores”, a<strong>de</strong>más, pue<strong>de</strong>n calificar <strong>la</strong>s prácticas.Los “profesores administradores” pue<strong>de</strong>n realizarFigura 1y los ficheros a entregar. Las fechas establecen elperíodo <strong>de</strong> entrega <strong>de</strong> prácticas que se pue<strong>de</strong> dividiren dos, opcionalmente. Las prácticas entregadas enel segundo período tendrían una penalizaciónautomática en su valoración, por retraso en <strong>la</strong>entrega. La configuración <strong>de</strong> los ficheros a entregarpermite establecer qué ficheros y qué restricciones<strong>de</strong>ben cumplir todos o cada uno <strong>de</strong> ellos. Lasrestricciones establecen el número mínimo <strong>de</strong> líneas,el número máximo y el número máximo <strong>de</strong>caracteres. Si <strong>la</strong> entrega <strong>de</strong> <strong>la</strong> práctica por parte <strong>de</strong><strong>la</strong>lumno no satisface los requisitos establecidos, elsistema rechaza <strong>la</strong> entrega. Otra característicaañadida en <strong>la</strong>s últimas versiones <strong>de</strong>l programa es <strong>la</strong>posibilidad <strong>de</strong> que <strong>la</strong> práctica a realizar por cadaalumno sea seleccionada aleatoriamente <strong>de</strong> entre ungrupo prefijado. Estos tipos <strong>de</strong> prácticas tienenmúltiples ventajas como se muestra en otrostrabajos [1].


2.3 Revisión y visualizaciónLa recepción, almacenamiento y visualización <strong>de</strong>prácticas es el punto fuerte <strong>de</strong>l sistema. Para entregaruna práctica el alumno acce<strong>de</strong> a <strong>la</strong> opción <strong>de</strong>l GAPcorrespondiente que muestra a éste un formu<strong>la</strong>rio arellenar. En este formu<strong>la</strong>rio el alumno pue<strong>de</strong>introducir los ficheros solicitados a<strong>de</strong>más <strong>de</strong> uncomentario adicional para el profesor corrector. Verfigura 1.Una vez entregada <strong>la</strong> práctica, los alumnospue<strong>de</strong>n comprobar <strong>la</strong> información almacenada en elsistema y verificar cómo éste se <strong>la</strong> presentará alprofesor corrector, pudiendo alterar<strong>la</strong> si no le parececorrecta y aun no ha sido evaluada. Si <strong>la</strong> práctica hasido calificada por un profesor el sistema mostrará a<strong>la</strong>lumno los datos <strong>de</strong> <strong>la</strong> revisión: fecha y hora <strong>de</strong>revisión, el profesor que <strong>la</strong> ha hecho, loscomentarios <strong>de</strong> éste sobre <strong>la</strong> práctica y suvaloración. El sistema muestra <strong>la</strong>s prácticas en forma<strong>de</strong> página Web que contiene el comentario <strong>de</strong><strong>la</strong>lumno, una lista <strong>de</strong> ficheros entregados con en<strong>la</strong>cespara po<strong>de</strong>r <strong>de</strong>scargarlos, si se <strong>de</strong>sea, y el contenido<strong>de</strong> los ficheros. Los tipos <strong>de</strong> ficheros que pue<strong>de</strong>mostrar directamente son códigos fuente <strong>de</strong>programas, ficheros texto y gráficos. Los ficheroscon código fuente en Java, C, C++, Ada 95, Schemey Prolog se presentan con resalte sintáctico,mostrando en distinto color <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve, loscomentarios, <strong>la</strong>s ristras literales, etc (ver figura 2) Siel usuario al que se muestra <strong>la</strong> práctica es unFigura 2profesor corrector o administrador el sistema leofrecerá <strong>la</strong> posibilidad <strong>de</strong> evaluar<strong>la</strong>.Los profesores pue<strong>de</strong>n solicitar al sistema unlistado <strong>de</strong> los alumnos junto con <strong>la</strong> información <strong>de</strong>si han entregado o no cada práctica y su valoración.Des<strong>de</strong> esta página es posible ver y revisar cualquierpráctica <strong>de</strong> cualquier alumno.2.4 Control <strong>de</strong> p<strong>la</strong>gioAl poco tiempo <strong>de</strong> poner el programa en marcha ycomenzar a recibir entregas <strong>de</strong> prácticas, se<strong>de</strong>scubrió que los alumnos con el nuevo sistematenían más facilidad para copiarse. Para comprobaresta posibilidad se escribió código que verificase sivarios alumnos habían entregado el mismo fichero.La sorpresa surgió al comprobar que el número <strong>de</strong>coinci<strong>de</strong>ncias era mayor <strong>de</strong> <strong>la</strong>s esperadas, lo quemotivó <strong>la</strong> adición <strong>de</strong> código que <strong>de</strong>tectase el p<strong>la</strong>gio<strong>de</strong> trabajos.Los primeros sistemas <strong>de</strong> medida <strong>de</strong> similitu<strong>de</strong>ntre ficheros con código fuente se basaban enmétricas puramente textuales que eran fácilmentevulnerables. Partiendo <strong>de</strong> un fichero original, unalumno pue<strong>de</strong>, sin mucha dificultad, quitar, añadir omodificar comentarios, modificar ristras literales,cambiar nombres <strong>de</strong> variables, procedimientos ofunciones, alterar el formato <strong>de</strong> línea añadiendo oeliminando espacios, o retornos <strong>de</strong> carro. Tambiénpue<strong>de</strong> reor<strong>de</strong>nar <strong>la</strong> ubicación <strong>de</strong> funciones oprocedimientos o incluso grupos <strong>de</strong> instrucciones.Por ello se han <strong>de</strong>sarrol<strong>la</strong>do sistemas que han tenidoen cuenta estos aspectos. Los más avanzados comoYAP [11], Sim [3] y otros [6], usan distintasmétricas que se basan en filtrar el código original,mediante un análisis sintáctico, para <strong>de</strong>spuéscompararlo usando generalmente una adaptación <strong>de</strong>técnicas conocidas en el ámbito textual. El filtrado<strong>de</strong>l código tiene el fin <strong>de</strong> limitar al máximo el efectoen <strong>la</strong> comparación <strong>de</strong> <strong>la</strong>s posibles alteraciones que sepuedan haber introducido. El sistema <strong>de</strong> <strong>de</strong>tección<strong>de</strong> copias empleado en GAP usa básicamente estemétodo. Para cada lenguaje <strong>de</strong> programación setiene un pequeño analizador sintáctico que permiteeliminar <strong>la</strong>s partes <strong>de</strong>l código que pue<strong>de</strong>n seralterables fácilmente. Esta “firma” <strong>de</strong>l programa es<strong>la</strong> que se compara con <strong>la</strong>s obtenidas <strong>de</strong> los otrosficheros. GAP emplea como métrica una variante <strong>de</strong>DIT [9]. DIT es una distancia entre ristras que esinvariante a <strong>la</strong> posición don<strong>de</strong> aparecen los


caracteres. Esto permite que GAP no se vea afectadopor <strong>la</strong> reor<strong>de</strong>nación <strong>de</strong>l código, como ocurre en otrossistemas mencionados.Actualmente el programa está preparado paracomparar ficheros con código fuente en Java, C,C++, Ada 95, Scheme y Prolog. El programa ofrecea los profesores dos posibilida<strong>de</strong>s <strong>de</strong> comprobar <strong>la</strong>ssimilitu<strong>de</strong>s entre los ficheros. Por un <strong>la</strong>do permitegenerar un informe sobre <strong>la</strong> similitud <strong>de</strong> los ficheros<strong>de</strong> una práctica comparándolos todos con todos. Porotro <strong>la</strong>do posibilita comparar todos los ficherosentregados por un alumno concreto, con losentregados por el resto <strong>de</strong> sus compañeros. Estasegunda alternativa muestra si un alumno se copiapor sistema, o si tiene muchas similitu<strong>de</strong>s siemprecon el mismo compañero. El informe <strong>de</strong>l sistema dauna re<strong>la</strong>ción <strong>de</strong> ficheros cuya comparativa muestraun grado <strong>de</strong> similitud por encima <strong>de</strong> un umbralsolicitado. El sistema no es infalible y se pue<strong>de</strong>n darcasos <strong>de</strong> falsas similitu<strong>de</strong>s, aunque <strong>la</strong> experiencia,incluso con gran número <strong>de</strong> prácticas, <strong>de</strong>muestra queestos falsos p<strong>la</strong>gios son infrecuentes. En cualquiercaso, es responsabilidad <strong>de</strong>l profesor valorar elposible p<strong>la</strong>gio encontrado ya que el sistema sólo daíndices <strong>de</strong> similitud entre ficheros.El empleo <strong>de</strong> este sistema ha dado resultadossorpren<strong>de</strong>ntes y todos los profesores que lo hanempleado están muy satisfechos con él. En algunasasignaturas <strong>de</strong> primer curso y cuando los alumnos nosabían que se disponía <strong>de</strong> este elemento, los niveles<strong>de</strong> copias confirmadas alcanzaban el 15% <strong>de</strong> <strong>la</strong>sprácticas entregadas. Seguramente aún escapanalgunos p<strong>la</strong>gios puesto que el sistema no pue<strong>de</strong><strong>de</strong>tectar frau<strong>de</strong>s en el que el alumno que se copiaconoce suficientemente el lenguaje y entien<strong>de</strong> <strong>la</strong>práctica para transformar<strong>la</strong> por encima <strong>de</strong>l umbralestablecido, o porque otro alumno le ha hecho <strong>la</strong>práctica. El primer caso no p<strong>la</strong>ntea problemas gravesya que el alumno <strong>de</strong>muestra tener suficientesconocimientos para superar <strong>la</strong> práctica. El segundose pue<strong>de</strong> neutralizar realizando exámenes prácticos.2.5 Asistencia y accesosGAP mantiene un registro personal <strong>de</strong> los accesos <strong>de</strong>cada alumno a <strong>la</strong>s distintas partes <strong>de</strong>l programa y <strong>de</strong><strong>la</strong>s páginas Web que se <strong>de</strong>see contro<strong>la</strong>r. El profesorpue<strong>de</strong> ver este registro <strong>de</strong> cada alumno que incluye<strong>de</strong>s<strong>de</strong> qué máquina, a qué hora y qué día realizó e<strong>la</strong>cceso.Figura 3Antes <strong>de</strong> usar el programa GAP, uno <strong>de</strong> losmedios empleados para que los alumnos no <strong>de</strong>jasen<strong>la</strong> realización <strong>de</strong> los ejercicios para el último día eravalorar <strong>la</strong> asistencia a <strong>la</strong>s sesiones <strong>de</strong> prácticas. Elprofesor en cada sesión <strong>de</strong> prácticas tenía que pasarlista para llevar una contabilidad <strong>de</strong> asistencias. Conel GAP el control <strong>de</strong> asistencia se realiza <strong>de</strong> <strong>la</strong>siguiente manera: el profesor establece cuándo pasarlista e informa a los alumnos <strong>de</strong> que seleccionen <strong>la</strong>opción <strong>de</strong> contabilizar asistencia a <strong>la</strong> sesión. Estainformación permite saber en todo momento a quésesiones ha asistido cada alumno y qué alumnosasistieron a cada sesión. Ver figura 3.3. Experiencia y resultadosDes<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> los profesores losresultados han sido excelentes, todos coinci<strong>de</strong>n enque una vez que han usado el GAP no se p<strong>la</strong>nteanvolver a los antiguos métodos <strong>de</strong> entrega. El GAP hahecho <strong>de</strong>saparecer muchos <strong>de</strong> los problemas quetenían los otros sistemas, siendo lo suficientementeflexible para no limitar el tipo <strong>de</strong> prácticas quepue<strong>de</strong>n entregar los alumnos. Otro aspecto que hacambiado es <strong>la</strong> forma en que se ven los p<strong>la</strong>zos <strong>de</strong>entrega <strong>de</strong> prácticas. Muchos profesores sugierenque el p<strong>la</strong>zo <strong>de</strong>be reducirse en lo posible, con el fin<strong>de</strong> que los alumnos trabajen regu<strong>la</strong>rmente y lleven<strong>la</strong>s asignaturas al día. Las reuniones <strong>de</strong> coordinaciónse centran ahora en los criterios <strong>de</strong> corrección o encómo p<strong>la</strong>ntear <strong>la</strong>s prácticas <strong>de</strong> forma que suevaluación sea lo más simple y justa posible.Para los alumnos el cambio ha supuesto unosp<strong>la</strong>zos <strong>de</strong> entrega <strong>de</strong> prácticas más estrictos, pero


como mejora disponen <strong>de</strong> una más rápida y mejorrealimentación. Reciben antes <strong>la</strong> calificación <strong>de</strong> susprácticas, acompañadas <strong>de</strong> <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> suserrores.Un cambio que ha afectado a ambos colectivoses <strong>la</strong> mejora <strong>de</strong> acceso a <strong>la</strong>s prácticas. Los profesorespue<strong>de</strong>n revisar prácticas <strong>de</strong>s<strong>de</strong> su <strong>de</strong>spacho, sucasa o <strong>de</strong>s<strong>de</strong> el extranjero. Los alumnos pue<strong>de</strong>nrealizar y entregar sus prácticas, ver suscalificaciones <strong>de</strong>s<strong>de</strong>, el <strong>la</strong>boratorio, sus casas o<strong>de</strong>s<strong>de</strong> cualquier lugar con acceso a internet.4. Perspectivas <strong>de</strong> futuroCon respecto a <strong>la</strong> gestión <strong>de</strong> prácticas se pue<strong>de</strong>trabajar hacia una automatización <strong>de</strong> su evaluación[5, 8]. También existen perspectivas más factibles yaque partiendo <strong>de</strong>l esquema <strong>de</strong> autentificacióndisponible, se pue<strong>de</strong>n añadir capacida<strong>de</strong>s re<strong>la</strong>cionadascon el resto <strong>de</strong> los elementos <strong>de</strong> <strong>la</strong> docenciacomo pue<strong>de</strong>n ser: <strong>la</strong> gestión <strong>de</strong> eventos y noticias,suministro <strong>de</strong> documentación y software, generacióny realización <strong>de</strong> encuestas y test, etc. Aunquemuchas <strong>de</strong> estas características están resueltasmediante páginas Web, su integración en el GAPmejoraría su manejo.Referencias[1] Bridgeman, S. SAIL:A System for Generating,Archiving, and Retrieving SpecializedAssignments Using LATEX. The Proceedings ofthe Thirty-first SIGCSE Technical Symposiumon Computer Science Education SIGCSE 2000.pp.300-304.[2] Dawson-Howe, K. Automatic Submission andAdministration of Programming Assigments.SIGCSE Bulletin, Vol. 28 No. 2 June 1996. pp.40-42.[3] Gitcheli, D.; Tran N. Sim: A Utility ForDetecting Simi<strong>la</strong>rity in Computer Programs.The Proceedings of the Thirtieth SIGCSE.SIGCSE’99. New Orleans, Lousiana.[4] Goldberg, Murray W. WebCT and first year:stu<strong>de</strong>nt reaction to and use of web-base resourcein first year Computer Science. SIGCSEBulletin. Vol. 29, No. 3, (September 1997), pp.127-129.[5] Jackson, D. A Semi-Automated Approach toOnline Assessment. Proceedings of the 5 thAnnual SIGCSE/SIGCUE Conference onInnovation and Technology in ComputerScience Education. July 2000. Helsinki, Fin<strong>la</strong>nd[6] Leach R. Using Metrics to Evaluate Stu<strong>de</strong>ntPrograms. SIGCSE Bulletin. Vol. 27 No. 2, June1995. pp. 41-43,48[7] Macpherson, P. A.. A Technique for Stu<strong>de</strong>ntProgram Submission on UNIX System. SIGCSEBulletin. Vol. 29, No. 4, (December 1997), pp.54-56.[8] Reek K.A. A software Infraestructure to SupportIntroductory Computer Science Curse. SIGCSEBulletin. Vol. 28 No. 1 March 1996. pp. 125-129. pp. 130-134.[9] Santana, O.; Díaz, M. Esquemas y Estructurapara <strong>la</strong> Búsqueda <strong>de</strong> <strong>la</strong>s Pa<strong>la</strong>bras Más Simi<strong>la</strong>resa una dada. Actas <strong>de</strong> <strong>la</strong> XIII ConferenciaLatinoamericana <strong>de</strong> Infromática. Bogotá,Colombia. Noviembre, 1987. Vol. II. pp. 1169-1189.[10] WebCT. home page http://www.webct.com.[11] Wise M.J. YAP3: Improved Detection ofSimi<strong>la</strong>rities in Computer Program and OtherTexts. SIGCSE Bulletin. Vol. 28 No. 1 March1996.


Prácticas internacionales integradas <strong>de</strong> e-businessFrancisco Araque Cuenca Juan José Gaitán Pinto V<strong>la</strong>sta H<strong>la</strong>vickovaFacultad <strong>de</strong> C.C. E.E. y E.E.Universidad <strong>de</strong> GranadaEspañafaraque@ugr.esFacultad <strong>de</strong> C.C. E.E.Universidad Nacional <strong>de</strong>l LitoralArgentinajjgaitan@fce.unl.edu.arFac. Re<strong>la</strong>ciones InternacionalesUniv. <strong>de</strong> Económicas <strong>de</strong> PragaRepública Checah<strong>la</strong>vicko@vse.czResumenEn este trabajo presentamos <strong>la</strong> experiencia docente,<strong>la</strong> tecnología utilizada y los métodos <strong>de</strong> trabajoempleados en asignaturas <strong>de</strong> informática impartidasen Faculta<strong>de</strong>s <strong>de</strong> C.C. E.E. y E.E.1. IntroducciónA raíz <strong>de</strong>l intercambio <strong>de</strong> experiencias realizadoen ocasión <strong>de</strong> <strong>la</strong>s estancias <strong>de</strong> los autores enambas universida<strong>de</strong>s, en cumplimiento <strong>de</strong> sendasBecas <strong>de</strong> <strong>la</strong> AECI, se fue gestando un proyecto <strong>de</strong>co<strong>la</strong>boración en el área docente <strong>de</strong> tecnologías <strong>de</strong><strong>la</strong> información <strong>de</strong> asignaturas impartidas en titu<strong>la</strong>ciones<strong>de</strong> Faculta<strong>de</strong>s <strong>de</strong> C.C. E.E. y E.E. talescomo: Licenciado en Administración y Dirección<strong>de</strong> Empresas, Diplomado en Empresariales, Diplomadoen Administración y Gestión Pública,etc. De este modo se <strong>de</strong>linearon algunas propuestasconducentes al aprovechamiento <strong>de</strong> Internet ysus servicios básicos como vehículo para <strong>la</strong> realización<strong>de</strong> experiencias pedagógicas.Las asignaturas re<strong>la</strong>cionadas con Introduccióna <strong>la</strong> Informática e impartidas en Faculta<strong>de</strong>s <strong>de</strong>C.C. E.E. y E.E suelen tener un contenido simi<strong>la</strong>ren <strong>la</strong> mayoría <strong>de</strong> los casos. Básicamente se pue<strong>de</strong>dividir en:La parte teórica: Introducción (Conceptos,Sistemas <strong>de</strong> Información), Fundamentos tecnológicos(software, hardware, bases <strong>de</strong> datos, re<strong>de</strong>s),Tecnologías avanzadas (DSS, EIS, EIP, DW, E-Business, etc).Y <strong>la</strong> parte práctica: Conceptos básicos (Windows,Correo electrónico), Paquetes Integrados(Procesador <strong>de</strong> textos, Hoja <strong>de</strong> cálculo, Bases <strong>de</strong>Datos) y Comunicaciones (Navegación, Diseño <strong>de</strong>Páginas Web).A<strong>de</strong>más se imparte en el primer o segundocurso y, en <strong>la</strong> mayoría <strong>de</strong> los casos son obligatorias.Parece c<strong>la</strong>ro que bajo este <strong>de</strong>nominador común,y <strong>de</strong>spués <strong>de</strong> ponerse <strong>de</strong> acuerdo en variascuestiones organizativas, no <strong>de</strong>bería <strong>de</strong> haberproblema en <strong>la</strong> realización <strong>de</strong> prácticas <strong>de</strong> maneraconjunta entre grupos <strong>de</strong> alumnos <strong>de</strong> diferentesUniversida<strong>de</strong>s.Con esta i<strong>de</strong>a, y también con el objetivo <strong>de</strong>fomentar <strong>la</strong> creatividad, el trabajo en equipo y <strong>la</strong>sre<strong>la</strong>ciones internacionales, fue como surgió <strong>la</strong> i<strong>de</strong>a<strong>de</strong> montar unas prácticas conjuntas entre dosUniversida<strong>de</strong>s <strong>de</strong> diferentes países. Por una parte<strong>la</strong> Universidad <strong>de</strong> Granada (UGR, España) y porotra parte <strong>la</strong> Universidad Nacional <strong>de</strong>l Litoral(UNL, Argentina). Está previsto que a mediop<strong>la</strong>zo, y con <strong>la</strong> i<strong>de</strong>a <strong>de</strong> fomentar el uso <strong>de</strong>l inglés,se adhiera a <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s prácticas <strong>la</strong> Universidad<strong>de</strong> Económicas <strong>de</strong> Praga (RepúblicaCheca) y <strong>la</strong> Facultad <strong>de</strong> C.C. E.E. <strong>de</strong> <strong>la</strong> Universidad<strong>de</strong> Trieste (Italia).En este trabajo preten<strong>de</strong>mos presentar <strong>la</strong> exp e-riencia adquirida en el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s prácticasconjuntas entre <strong>la</strong> UGR y <strong>la</strong> UNL.A continuación se expone el programa <strong>de</strong> <strong>la</strong>sasignaturas involucradas en <strong>la</strong> experiencia docente.En <strong>la</strong> sección tercera se comentan <strong>la</strong>s distintasfases que se han realizado o que están en fase <strong>de</strong><strong>de</strong>sarrollo, en <strong>la</strong> cuarta se comentan algunos <strong>de</strong> losbeneficios encontrados y acabaremos con unasconclusiones.2. Las asignaturasLa asignatura <strong>de</strong> Introducción a <strong>la</strong> Informática seimparte en el primer curso <strong>de</strong> <strong>la</strong> Diplomatura enCiencias Empresariales <strong>de</strong> <strong>la</strong> UGR [12]. Es obligatoriacon 4 créditos teóricos y 2 prácticos. Elprograma es el siguiente:Teoría:1. Introducción: Conceptos básicos.


2. El PC y <strong>la</strong> automatización <strong>de</strong> oficinas.3. Descripción funcional <strong>de</strong>l hardware.4. Tipos y estructuras <strong>de</strong> datos.5. Software <strong>de</strong> una computadora.6. Re<strong>de</strong>s y comunicaciones.7. La información como recurso.8. Los SI en <strong>la</strong> empresa: DSS, EIS, SIE.9. Uso <strong>de</strong> los MIS para adquirir ventaja competitiva.Prácticas:1. Sistemas Operativos.2. Procesador <strong>de</strong> texto.3. Hoja <strong>de</strong> Cálculo.4. Bases <strong>de</strong> Datos.5. Internet (e-mail y Navegación)Dentro <strong>de</strong> <strong>la</strong> teoría y <strong>la</strong>s prácticas, <strong>la</strong>s partesmás importantes, en cuanto a conceptos y tiempo<strong>de</strong>dicado, son <strong>la</strong>s <strong>de</strong> bases <strong>de</strong> datos y re<strong>de</strong>s.La asignatura Informática se imparte en el segundocurso <strong>de</strong> <strong>la</strong> Licenciatura en Administración<strong>de</strong> Empresas <strong>de</strong> <strong>la</strong> UNL [10]. Es obligatoria y elsistema <strong>de</strong> créditos no es aplicable en esa Universidad.El programa es el siguiente:Teoría:1. Sistemas <strong>de</strong> Información.2. Interpretación <strong>de</strong> ofertas <strong>de</strong> equipamiento.3. Adquisición <strong>de</strong>l software.4. P<strong>la</strong>nil<strong>la</strong> <strong>de</strong> Cálculo.5. Bases <strong>de</strong> Datos.6. Re<strong>de</strong>s locales y globales en <strong>la</strong> empresa.7. Internet aplicado a <strong>la</strong> empresa.8. Seguridad informática.9. Nuevas tecnologías aplicadas a los negocios.Prácticas:1. Hoja <strong>de</strong> Cálculo.2. Bases <strong>de</strong> Datos.3. Internet (e-mail y Navegación)También en esta asignatura se pone un especialénfasis en <strong>la</strong>s bases <strong>de</strong> datos y re<strong>de</strong>s.La primera experiencia <strong>la</strong> realizamos hace doscursos con algunos grupos <strong>de</strong> alumnos <strong>de</strong> <strong>la</strong> asignatura<strong>de</strong> <strong>la</strong> UGR y los participantes <strong>de</strong> un seminario<strong>de</strong> Ecommerce que se realizaba el <strong>la</strong> UNL.De esta forma coincidíamos en fechas y se realizabancuando <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> <strong>la</strong>UGR estaban un poco avanzadas. Las dos asignaturascuyo programa se <strong>de</strong>talló anteriormente nocoinci<strong>de</strong>n en fechas, sin embargo, en función <strong>de</strong>los resultados obtenidos, <strong>la</strong>s autorida<strong>de</strong>s hanconsi<strong>de</strong>rado <strong>la</strong> posibilidad <strong>de</strong> analizar <strong>la</strong> modificación<strong>de</strong>l dictado <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> <strong>la</strong> UNL,para lo cual en el año 2002 se impartirán algunasgrupos <strong>de</strong> prueba a partir <strong>de</strong>l mes <strong>de</strong> marzo.3. Prácticas integradasA continuación exponemos <strong>la</strong>s diferentes fases <strong>de</strong>lproyecto. Un trabajo que lleva ya varios años <strong>de</strong>intercambio permanente <strong>de</strong> trabajo, experiencias,etc a través <strong>de</strong> correo electrónico. Las dos primerasetapas ya están concluidas y <strong>la</strong> tercera seencuentra en fase <strong>de</strong> <strong>de</strong>sarrollo.3.1 Primera aproximaciónEn una primera fase ya realizada y superada, <strong>la</strong>sprácticas integradas implicaban un intercambio <strong>de</strong>mensajes entre los participantes junto con el manejo<strong>de</strong> <strong>la</strong> base <strong>de</strong> datos asociada [5], [7].Se analizaba <strong>la</strong> operatoria comercial <strong>de</strong> cuatroempresas –ficticias- <strong>de</strong> un <strong>de</strong>terminado ámbitocomercial que se <strong>de</strong>dican a <strong>la</strong> fabricación y comercialización<strong>de</strong> distintos productos finales eintermedios (como por ejemplo lámparas, faros,venti<strong>la</strong>dores, <strong>de</strong>coración, etc.) y los materiales yrepuestos necesarios (cables, enchufes, etc.)Cada una <strong>de</strong> estas empresas fabricaba el productofinal empleando para ello materiales <strong>de</strong>e<strong>la</strong>boración propia, y materiales que adquiere auna o más <strong>de</strong> <strong>la</strong>s otras empresas. Otros <strong>de</strong> lossupuestos en que se basa el caso, es que ninguna<strong>de</strong> <strong>la</strong>s empresas mantiene stock <strong>de</strong> productose<strong>la</strong>borados, es <strong>de</strong>cir que ante el pedido <strong>de</strong> compra<strong>de</strong>l consumidor final, <strong>de</strong>berá proce<strong>de</strong>r a e<strong>la</strong>borarel producto final. Puesto que en el mismo intervienenmateriales <strong>de</strong> e<strong>la</strong>boración propia y otros noe<strong>la</strong>borados por <strong>la</strong> empresa, <strong>la</strong> misma <strong>de</strong>berá adquirirlosa alguna o varias <strong>de</strong> <strong>la</strong>s otras empresas.Cada empresa dispone <strong>de</strong> 4 áreas funcionales:Producción (P), Compras (C), Finanzas (F) yVentas (V).Finalmente, un or<strong>de</strong>nador es utilizado por elDocente, quien actúa como cliente externo, <strong>de</strong>mandandomerca<strong>de</strong>rías a cada una <strong>de</strong> <strong>la</strong>s empresas,<strong>de</strong>senca<strong>de</strong>nando así el proceso <strong>de</strong> operacionescomerciales entre el<strong>la</strong>s. De esta manera, utilizandolos recursos que ofrece <strong>la</strong> conectividad en red, serealizan <strong>la</strong>s operaciones utilizando el correo electrónicoy el acceso remoto a <strong>la</strong> información. En


este caso el procedimiento sería el que a continuaciónse comenta.Ante una nueva compra <strong>de</strong>l cliente minorista,el <strong>de</strong>partamento <strong>de</strong> ventas envía una or<strong>de</strong>n <strong>de</strong>fabricación al <strong>de</strong>partamento <strong>de</strong> producción. Esteúltimo envía un pedido <strong>de</strong> compra <strong>de</strong> productos al<strong>de</strong>partamento <strong>de</strong> compras. El <strong>de</strong>partamento <strong>de</strong>compras, antes hacer efectiva <strong>la</strong> compra, envíauna petición <strong>de</strong> presupuesto a <strong>la</strong>s distintas empresasque e<strong>la</strong>boran lo productos. El proveedor remitiráel presupuesto al <strong>de</strong>partamento <strong>de</strong> comprassolicitante.Compras recibe los presupuestos remitidospor <strong>la</strong>s distintas empresas a <strong>la</strong>s cuales lo solicitó yproce<strong>de</strong> a realizar un análisis comparativo <strong>de</strong> lospresupuestos. En base a los mejores precios,confecciona <strong>la</strong>s ór<strong>de</strong>nes <strong>de</strong> compra y <strong>la</strong>s envía alos respectivos proveedores. Se asume que cadaproveedor e<strong>la</strong>bora productos <strong>de</strong> <strong>la</strong> misma calidady que <strong>la</strong> forma <strong>de</strong> pago y financiación es simi<strong>la</strong>ren cada uno <strong>de</strong> ellos, y que por lo tanto el únicofactor <strong>de</strong>cisivo <strong>de</strong> <strong>la</strong> compra es el precio. El proveedorrecibe <strong>la</strong> or<strong>de</strong>n <strong>de</strong> compra <strong>de</strong> su cliente alpor mayor y proce<strong>de</strong> a enviar <strong>la</strong>s merca<strong>de</strong>ría.Comunica vía correo electrónico a <strong>la</strong> empresacompradora que <strong>la</strong>s merca<strong>de</strong>rías van en camino, alos efectos <strong>de</strong> que el <strong>de</strong>partamento <strong>de</strong> finanzasponga a disposición los fondos necesarios paraefectuar el pago.Cuando compras recibe <strong>de</strong> los proveedores elmensaje mediante el cual éstos le indican que <strong>la</strong>smerca<strong>de</strong>rías están en camino, Compras envía unmensaje a Producción indicando que el trámite <strong>de</strong>compra está concluido, y por otro <strong>la</strong>do informa aFinanzas que ha procedido a efectuar una compra,enviando a este <strong>de</strong>partamento una copia a efectos<strong>de</strong> que Finanzas p<strong>la</strong>nifique sus pagos. Cuando losproductos están e<strong>la</strong>borados, Producción comunica<strong>la</strong> disponibilidad a Ventas, quien proce<strong>de</strong> a enviar<strong>la</strong>al cliente, informando a Finanzas <strong>de</strong> <strong>la</strong>realización <strong>de</strong> <strong>la</strong> venta. Finalmente se realiza <strong>la</strong>facturación <strong>de</strong> <strong>la</strong> merca<strong>de</strong>ría y oportunamente seacredita el pago <strong>de</strong> <strong>la</strong> misma por parte <strong>de</strong>l cliente.Los recursos técnicos utilizados fueron losdisponibles en cualquier au<strong>la</strong> <strong>de</strong> informática:clientes <strong>de</strong> correo electrónico y software <strong>de</strong> bases<strong>de</strong> datos (Microsoft Access). A<strong>de</strong>más, se disponía<strong>de</strong> una página web básica para incorporar informaciónre<strong>la</strong>tiva a <strong>la</strong> organización <strong>de</strong> <strong>la</strong>s prácticas,foro <strong>de</strong> consulta, etc.En esta primera fase, ya concluida, los alumnosdiseñaban <strong>la</strong> base <strong>de</strong> datos (con ayuda <strong>de</strong> unaguía <strong>de</strong>tal<strong>la</strong>da) y <strong>la</strong> utilizaban en <strong>la</strong> gestión administrativa<strong>de</strong> su “empresa virtual”. Cada vez quefuera necesario, los alumnos actualizaban <strong>la</strong> base<strong>de</strong> datos utilizando directamente Microsoft Access.Algunos grupos más avanzados y <strong>de</strong> maneravoluntaria, diseñaban y utilizaban un formu<strong>la</strong>riopara <strong>la</strong> modificación <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos.El valor <strong>de</strong> esta experiencia radica en <strong>la</strong> integración<strong>de</strong> los conocimientos en una prácticaconcreta muy cercana al ejercicio profesional. Lapropuesta fue bien acogida por los alumnos, quienes<strong>de</strong>mostraban su entusiasmo y asumían conresponsabilidad los roles que se le asignaban<strong>de</strong>ntro <strong>de</strong> <strong>la</strong> organización <strong>de</strong> <strong>la</strong> cual formabanparte.Anticipando lo que sería <strong>la</strong> integración entreambas universida<strong>de</strong>s, en esta primera fase se<strong>de</strong>cidió que <strong>la</strong>s empresas, <strong>la</strong>s bases <strong>de</strong> datos y <strong>la</strong>scuentas <strong>de</strong> correo serían <strong>la</strong>s mismas en todas losgrupos <strong>de</strong> práctica, <strong>de</strong> manera que los alumnosiniciaban cada c<strong>la</strong>se con operaciones pendientes<strong>de</strong> finalización y solicitu<strong>de</strong>s aún no atendidas. Deeste modo <strong>la</strong> integración se realizaba entre todoslos alumnos <strong>de</strong>l curso.Quizá, el saldo <strong>de</strong> esta experiencia fue <strong>la</strong> certeza<strong>de</strong> que era necesario profundizar y mejorartodo lo logrado, y <strong>la</strong> sospecha <strong>de</strong> que esta <strong>de</strong>cisiónpodría llevarnos a resultados enriquecedores y, a<strong>la</strong> realización <strong>de</strong> más trabajo “extra”.3.2 Segunda aproximaciónDespués <strong>de</strong> <strong>la</strong> experiencia adquirida en <strong>la</strong> primerafase, y con <strong>la</strong> i<strong>de</strong>a <strong>de</strong> integrar también el ComercioElectrónico[1], nos propusimos construir unaaproximación a esta nueva realidad que implicabael ejercicio comercial <strong>de</strong> muchas empresas. Lai<strong>de</strong>a era permitir que los alumnos interactúenacadémicamente en un entorno <strong>de</strong> negocios virtualesa través <strong>de</strong> internet.En este caso, se trataba <strong>de</strong> trabajar con <strong>la</strong>s entida<strong>de</strong>sque intervienen en el Comercio Electrónico:el que compra (cliente), el que ven<strong>de</strong> (tienda),el(los) bancos encargados <strong>de</strong> realizar <strong>la</strong>s transaccionesy <strong>la</strong> pasare<strong>la</strong> <strong>de</strong> pago. Para <strong>la</strong>s dos primerasentida<strong>de</strong>s <strong>la</strong> operación <strong>de</strong> compra se realiza <strong>de</strong>forma transparente: un cliente se conecta a unatienda, compra unos productos y los paga automáticamentesin ser consciente <strong>de</strong> que existe una


pasare<strong>la</strong> <strong>de</strong> pago virtual que está realizando <strong>la</strong>transacción. La pasare<strong>la</strong> <strong>de</strong> pago se encarga <strong>de</strong>realizar <strong>la</strong>s <strong>la</strong>bores propias <strong>de</strong> un notario quepermite realizar operaciones <strong>de</strong> transferencia <strong>de</strong>capital entre <strong>la</strong>s entida<strong>de</strong>s participantes.Se dispone también <strong>de</strong> una herramienta para <strong>la</strong>creación <strong>de</strong> tiendas virtuales <strong>de</strong> una forma sencil<strong>la</strong>,para aquel<strong>la</strong>s personas autorizadas previamentepor el docente. De este modo, se anima a empresasa participar <strong>de</strong> una manera fácil y gratuita<strong>de</strong> <strong>la</strong>s ventajas <strong>de</strong>l comercio on-line. Una arquitectura<strong>de</strong>scriptiva <strong>la</strong> po<strong>de</strong>mos ver en <strong>la</strong> figura 1.Compraron-lineGenerador <strong>de</strong> TiendasVirtualesPasare<strong>la</strong> <strong>de</strong>pago virtualBancoVirtual on -lineFigura 1. Arquitectura <strong>de</strong> <strong>la</strong> 2ª aproximación.El funcionamiento sería el siguiente: un empresario(grupo <strong>de</strong> alumnos) <strong>de</strong>ci<strong>de</strong> crear unatienda virtual. Ese empresario posee unos datosbancarios y <strong>de</strong> sociedad. Se conecta vía Web conel generador <strong>de</strong> tiendas virtuales. Este generadorrecoger los datos <strong>de</strong>l nuevo usuario así como losdatos <strong>de</strong> los productos <strong>de</strong> dicha tienda. En <strong>la</strong>figura 2 po<strong>de</strong>mos ver <strong>la</strong> captura <strong>de</strong> pantal<strong>la</strong> <strong>de</strong> <strong>la</strong>parte <strong>de</strong> introducción <strong>de</strong> productos <strong>de</strong>l catálogo <strong>de</strong>una tienda.Figura 2. Introducción <strong>de</strong> productosPosteriormente, <strong>la</strong> tienda se conecta con <strong>la</strong> pasare<strong>la</strong><strong>de</strong> pago indicándole los datos financieros ybancarios <strong>de</strong>l usuario. Si los datos son correctos <strong>la</strong>pasare<strong>la</strong> otorga un certificado cifrado único con elque firma sus ór<strong>de</strong>nes <strong>de</strong> compra.Una vez recibido el certificado por el generador<strong>de</strong> tiendas virtuales éste lo guardará <strong>de</strong> formasegura quedando <strong>la</strong> información <strong>de</strong>licada (como elnº <strong>de</strong> cuenta) en <strong>la</strong> pasare<strong>la</strong> <strong>de</strong> pago. Con esteúltimo paso quedaría creada <strong>la</strong> nueva tienda virtualen <strong>la</strong> red y lista para funcionar.La experiencia continúa cuando un cliente <strong>de</strong>ci<strong>de</strong>comprar en esta tienda. Se conecta a <strong>la</strong> tienda,realiza su compra y sólo si lo <strong>de</strong>sea aportaríasus datos personales. Una vez realizada <strong>la</strong> compra<strong>la</strong> tienda envía el resultado <strong>de</strong> <strong>la</strong> compra a <strong>la</strong>pasare<strong>la</strong> <strong>de</strong> pago. Ésta muestra <strong>de</strong> nuevo el <strong>de</strong>talle<strong>de</strong> compra para que pueda ser verificada por elcliente que ahora sí introduce sus datos <strong>de</strong> tarjeta<strong>de</strong> crédito i<strong>de</strong>ntificándose mediante contraseña.Una vez realizado este paso <strong>la</strong> pasare<strong>la</strong> realizaráuna transferencia bancaria entre <strong>la</strong>s cuentas <strong>de</strong>lcliente y <strong>de</strong> <strong>la</strong> empresa <strong>de</strong> forma confi<strong>de</strong>ncial para<strong>la</strong>s entida<strong>de</strong>s bancarias involucradas.Finalmente, <strong>la</strong> pasare<strong>la</strong>, como notario <strong>de</strong> <strong>la</strong>operación, enviará (vía e-mail) un justificante <strong>de</strong>compra firmado por el<strong>la</strong> a cada una <strong>de</strong> <strong>la</strong>s entida<strong>de</strong>sinvolucradas en <strong>la</strong> operación <strong>de</strong> compra: <strong>la</strong>empresa que ven<strong>de</strong> y el cliente. Con esto se evitaráfrau<strong>de</strong>s posteriores <strong>de</strong> ambos ya que legalmente<strong>la</strong> pa<strong>la</strong>bra <strong>de</strong> <strong>la</strong> pasare<strong>la</strong> es <strong>la</strong> que vale.Como era previsible, para completar el entornonecesario, se dispone <strong>de</strong> un banco virtual ficticioen <strong>la</strong> que cada cliente podrá realizar operacionesbancarias sobre sus cuentas corrientes y tarjetas<strong>de</strong> crédito necesarias para <strong>la</strong> compra <strong>de</strong> productosa través <strong>de</strong> Internet. La i<strong>de</strong>a fundamental es<strong>la</strong> construcción <strong>de</strong> una entidad bancaria ficticiaque simule <strong>la</strong>s operaciones más comunes realizadasen una entidad bancaria real.Esta aplicación, a pesar <strong>de</strong> ser una simu<strong>la</strong>ción,contro<strong>la</strong> <strong>la</strong> seguridad protegiendo <strong>la</strong> confi<strong>de</strong>ncilidady contenidos <strong>de</strong> <strong>la</strong> información <strong>de</strong> los clientespertenecientes a <strong>la</strong> entidad. Esto se realiza utilizandoprotocolos <strong>de</strong> seguridad estándar que permitenestablecer una comunicación entre <strong>la</strong>s dospartes involucradas en <strong>la</strong> operación: el banco y elcliente. La aplicación consta <strong>de</strong> una serie <strong>de</strong> opciones<strong>de</strong> configuración que permiten al cliente <strong>de</strong><strong>la</strong> entidad financiera personalizar fácilmente elinterfaz, haciendo más agradable su interaccióncon <strong>la</strong> aplicación. Se pue<strong>de</strong>n realizar también todac<strong>la</strong>se <strong>de</strong> operaciones bancarias usuales tales como,ingresos, transferencias, petición <strong>de</strong> préstamos(bajo autorización <strong>de</strong>l docente), etc. En <strong>la</strong> figura 3po<strong>de</strong>mos apreciar una parte <strong>de</strong>l interfaz vía web


<strong>de</strong>l banco virtual una vez que se ha i<strong>de</strong>ntificado elusuario.Figura 3. banco VirtualLa pasare<strong>la</strong> <strong>de</strong> pago actúa como medio neutralen <strong>la</strong>s transacciones entre <strong>la</strong>s tiendas dadas <strong>de</strong> altaen <strong>la</strong> pasare<strong>la</strong> y <strong>la</strong>s entida<strong>de</strong>s bancarias asociadasa esta alternativa <strong>de</strong> compra. La ventaja principal<strong>de</strong> esta pasare<strong>la</strong> <strong>de</strong> pago es el cumplimento <strong>de</strong> loscuatro criterios <strong>de</strong> seguridad: confi<strong>de</strong>ncialidad,integridad, autentificación y no repudio.Los recursos técnicos utilizados han sido lossiguientes[4]:• Banco virtual on-line: Windows NT Server,IIS y Active Server Pages (ASP).• Generador <strong>de</strong> tiendas: Linux, Apache yMiniVend.• Pasare<strong>la</strong> <strong>de</strong> pago virtual: Windows NT Server,IIS, Active Server Pages(ASP) y SSL.El <strong>de</strong>sarrollo se hizo a medida <strong>de</strong>l problema aresolver pero, para <strong>la</strong> gestión <strong>de</strong> <strong>la</strong>s tiendas, seutilizó el software MiniVend[11]. Este producto esun completo sistema que implementa una tiendavirtual <strong>de</strong> venta por catálogo, también conocidocomo “carrito” o “cesta <strong>de</strong> <strong>la</strong> compra”, <strong>de</strong> formarápida. Es un sistema <strong>de</strong> acceso y recuperación <strong>de</strong>datos enfocado al Comercio Electrónico. Muypotente, con una base <strong>de</strong> datos funcional y <strong>de</strong> fácilmanejo para el cliente. Altamente complejo, pue<strong>de</strong>manejar fácilmente catálogos <strong>de</strong> más <strong>de</strong> unmillón <strong>de</strong> artículos con excelentes resultados. Elproblema <strong>de</strong> este software es que carece <strong>de</strong> interfazy todo hay que realizarlo a través <strong>de</strong> ficherostexto, cambiando configuraciones complejas paraun usuario no experto. Por este motivo se <strong>de</strong>sarrollóel generador <strong>de</strong> tiendas virtuales antes comentado.Cada grupo <strong>de</strong> prácticas comenzaba <strong>la</strong>s prácticascon un saldo mínimos en el banco virtual(500.000 pts/ 3005 €). Los pasos a seguir, una vezorganizados los grupos <strong>de</strong> prácticas (3 o 4 personas)eran:• Pensar algún tipo <strong>de</strong> empresa.• Delinear un p<strong>la</strong>n estratégico básico.• Dar <strong>de</strong> alta <strong>la</strong> tienda utilizando el generador<strong>de</strong> tiendas virtuales.• Crear una cuenta en el banco con los datosasignados al grupo.• Realizar una mailing informando <strong>de</strong> <strong>la</strong> creación<strong>de</strong> <strong>la</strong> empresa al resto <strong>de</strong> alumnos (<strong>de</strong>ambas Universida<strong>de</strong>s).• Realizar transacciones comerciales (comprasy ventas) con otros grupos <strong>de</strong> alumnos. Sesupone que los alumnos compran según <strong>la</strong>snecesida<strong>de</strong>s <strong>de</strong> su empresa (porque necesitanalgún producto para su propio negocio) ocomo consumidores atraídos por los productosque otra empresa ven<strong>de</strong>.• Pagar <strong>la</strong>s compras utilizando sus cuentascorrientes y tarjetas <strong>de</strong> crédito ficticias, creadasen el mismo banco que se ofrece en elentorno virtual <strong>de</strong> esta práctica.• Realizar informes comerciales <strong>de</strong> su ingresosy ventas.• Acabar el periodo <strong>de</strong> prácticas con saldopositivo en su cuenta <strong>de</strong> resultados (cuentabancaria).Como pue<strong>de</strong> observarse, se trata <strong>de</strong> una notableevolución <strong>de</strong> aquel<strong>la</strong> primera fase, pero a<strong>de</strong>másse pue<strong>de</strong> apreciar aquí el enorme potencialque se nos presentaba, ya que a los objetivospropios <strong>de</strong> cada asignatura, podríamos incorporaralgunos nuevos, p<strong>la</strong>nteando un escenario ambiciosopero al mismo tiempo estimu<strong>la</strong>nte:• Diseñar y poner en funcionamiento un Sistema<strong>de</strong> Simu<strong>la</strong>ción <strong>de</strong> Comercio Electrónicopara Empresas Virtuales con el objeto <strong>de</strong> serutilizado con fines académicos, por alumnos<strong>de</strong> instituciones educativas <strong>de</strong> distintas partes<strong>de</strong>l mundo.• Facilitar <strong>la</strong> enseñanza <strong>de</strong>l funcionamiento yuso <strong>de</strong> los métodos <strong>de</strong> comercio electrónico,tanto <strong>de</strong>s<strong>de</strong> <strong>la</strong> posición <strong>de</strong>l consumidor final,como <strong>de</strong>s<strong>de</strong> <strong>la</strong> propia actividad empresarial.


• Estimu<strong>la</strong>r <strong>la</strong> creación <strong>de</strong> empresas virtualesque ofrezcan al mercado internacional losproductos manufacturados en <strong>la</strong> industria local<strong>de</strong> cada institución educativa, favoreciendoasí el conocimiento <strong>de</strong> <strong>la</strong> actividad económicaregional.Ante ésta nueva realidad, entendiendo que <strong>la</strong>sdificulta<strong>de</strong>s tecnológicas y operativas no pue<strong>de</strong>nhacernos per<strong>de</strong>r <strong>la</strong> voluntad <strong>de</strong> alcanzar –aunquesea parcialmente- los objetivos mencionados,<strong>de</strong>cidimos avanzar progresivamente en el diseño<strong>de</strong> una nueva etapa, esta vez más vincu<strong>la</strong>da aún a<strong>la</strong>s nuevas tecnologías que el e-business [1], [6]propone para el funcionamiento <strong>de</strong> <strong>la</strong>s empresas<strong>de</strong> <strong>la</strong> nueva economía, y para el ejercicio profesional<strong>de</strong> los futuros graduados.3.3 Tercera aproximaciónVistas <strong>la</strong>s carencias <strong>de</strong> <strong>la</strong>s dos experiencias anteriores,lo siguiente que nos p<strong>la</strong>nteamos es intentarsubsanar<strong>la</strong>s en <strong>la</strong> medida <strong>de</strong> los posible. Por unaparte, es necesario <strong>de</strong>scargar al usuario <strong>de</strong> <strong>la</strong>operativa innecesaria y tediosa, y por otra, esconveniente que pueda utilizar una base <strong>de</strong> datosdiseñada por los alumnos y hacerlo <strong>de</strong> una maneratransparente y fácil para el usuario. A<strong>de</strong>más habráque actualizar <strong>la</strong> p<strong>la</strong>taforma <strong>de</strong> prácticas contecnologías actuales así como aplicar los nuevosconceptos surgidos.Para hacer realidad esta nueva fase, será interesanteincorporar al nuevo escenario algunas <strong>de</strong><strong>la</strong>s últimas tecnologías <strong>de</strong> internet y los negocios,aquel<strong>la</strong>s que marcan un hito contun<strong>de</strong>nte entre <strong>la</strong>nueva y <strong>la</strong> vieja economía y que habrán <strong>de</strong> impactarseveramente en el <strong>de</strong>sempeño profesional <strong>de</strong>los futuros profesionales. Es casi una obligaciónque esta tercera etapa se nutra <strong>de</strong> todo lo nuevo,contribuyendo así a vencer <strong>la</strong> inercia natural con<strong>la</strong> que estas innovaciones se integran a <strong>la</strong> enseñanza.Lo que nos p<strong>la</strong>nteamos como trabajo en <strong>de</strong>sarrolloy futuro es <strong>la</strong> utilización <strong>de</strong> un Portal en elque se integren varias cuestiones:• Punto <strong>de</strong> encuentro entre docentes para intercambio<strong>de</strong> experiencias, aportación <strong>de</strong> conocimientos,etc. Para este punto nos proponemosutilizar tecnologías basadas en el manejo<strong>de</strong>l conocimiento (Knowledge Management,KM) [3] y no quedarnos sólo en un foro <strong>de</strong>intercambio <strong>de</strong> mensajes.• Punto <strong>de</strong> encuentro para alumnos. Foros <strong>de</strong>consulta, intercambio <strong>de</strong> apuntes, dudas, etc.• Incorporar al Portal, sistema <strong>de</strong> Juegos <strong>de</strong>Empresa, don<strong>de</strong> <strong>la</strong>s distintas empresas virtualescompitan por el logro <strong>de</strong> ciertos objetivoscomerciales y empresariales, en un entornoglobalizado [ 9].• Punto <strong>de</strong> encuentro para <strong>la</strong> realización <strong>de</strong> <strong>la</strong>sprácticas. Este punto, por ser el <strong>de</strong> más interésserá comentado con más <strong>de</strong>talle a continuación.Respecto a <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s prácticas integradasse ha pensado <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> un e-hub[6], [8]. Un e-hub se <strong>de</strong>fine como un intermediarioneutral basado en Internet y especializadoen industrias verticales o en procesos <strong>de</strong> negocioespecíficos. Utiliza mecanismos basados en elmercado para mediar en cualquier transacción quese realice entre <strong>la</strong>s empresas. Los e-hub creanvalor añadido reuniendo a compradores y ven<strong>de</strong>dores,creando liqui<strong>de</strong>z y reduciendo costos. Lai<strong>de</strong>a <strong>de</strong> un e-hub es que una empresa, conectándosea un solo lugar, pueda acce<strong>de</strong>r a muchos ven<strong>de</strong>doresy suministradores.Para enten<strong>de</strong>r los e-hub centrados en B2B esnecesario enten<strong>de</strong>r qué y cómo compra una empresa.A gran<strong>de</strong>s rasgos, los qué compra una empresase pue<strong>de</strong> dividir en dos gran<strong>de</strong>s bloques: compraspara <strong>la</strong> fabricación y compras para el funcionamiento.Las primeras van directamente a <strong>la</strong>ca<strong>de</strong>na <strong>de</strong> producción <strong>de</strong> <strong>la</strong> empresa, son productosespecíficos para cada empresa y suministradospor empresas especializadas. Los segundos sonnecesarios para el trabajo diario <strong>de</strong> <strong>la</strong> empresa y se<strong>de</strong>nominan MRO (Maintance, Repair and Operating).En este último caso se incluyen billetes <strong>de</strong>avión, faxes, or<strong>de</strong>nadores, fotocopiadoras, etc.Cómo compran <strong>la</strong>s empresas se pue<strong>de</strong> dividiren: aprovisionamiento sistemático y aprovisionamientoen el acto o en tiempo-real. En el primercaso los compradores negocian unos pre-contratoscon ven<strong>de</strong>dores especializados en base a unascondiciones. Suelen ser una re<strong>la</strong>ción dura<strong>de</strong>ra encuanto al tiempo entre los participantes. En elsegundo caso los compradores no saben a quienestán comprando, lo hacen a ven<strong>de</strong>dores “anónimos”.Este tipo <strong>de</strong> re<strong>la</strong>ción es orientada a <strong>la</strong> tran-


sacción y en muy pocas ocasiones <strong>la</strong> re<strong>la</strong>ciónentre el comprador y el ven<strong>de</strong>dor es dura<strong>de</strong>ra. Unc<strong>la</strong>sificación <strong>la</strong> po<strong>de</strong>mos ver en <strong>la</strong> tab<strong>la</strong> 1:CómoSistemáticoEn el actoMRO hubsAribaMROBizBuyerYieldEmployaseNTECapacityWebCatalog HubsChem<strong>de</strong>xSciQuestElectricalWebExchangesE-SteelPaperExchangeChemConnectQué à Funcionamiento FabricaciónTab<strong>la</strong> 1. C<strong>la</strong>sificación <strong>de</strong> los E-HubNosotros nos hemos centrado en los e-hubl<strong>la</strong>mados Exchanges. En este caso, y siguiendo lospasos <strong>de</strong> <strong>la</strong> primera fase, <strong>la</strong>s empresas compranproductos necesarios para su ca<strong>de</strong>na <strong>de</strong> producción.Los compran a ven<strong>de</strong>dores anónimos (tambiénson los alumnos) y <strong>la</strong> re<strong>la</strong>ción entre el compradory el ven<strong>de</strong>dor no suele ir más lejos <strong>de</strong> <strong>la</strong>propia transacción. El e-hub se encargaría <strong>de</strong>:• Administración <strong>de</strong> contratos entre participantes:administración <strong>de</strong> <strong>la</strong>s condiciones, etc.• Administración <strong>de</strong> pedidos: realización,confirmación, historia, etc <strong>de</strong> pedidos, personalizaciónen base al cliente.• Información técnica: facilita <strong>la</strong> administración<strong>de</strong> <strong>la</strong>s operaciones en los terminales, enrutalos mensajes XML/EDI [2], proporcionaestadísticas <strong>de</strong>tal<strong>la</strong>das <strong>de</strong> todas <strong>la</strong>s operacionesy conexiones (útil para el CRM).• Atención al cliente: seguimiento, modificación<strong>de</strong> pedidos y <strong>de</strong> facturas, personalización<strong>de</strong>l interface, acceso a <strong>la</strong> informaciónnecesaria, etc.• Integración <strong>de</strong> los sistemas empresariales <strong>la</strong>empresa: integración <strong>de</strong> los ERP existentes.Con <strong>la</strong> i<strong>de</strong>a <strong>de</strong>, por una parte integrar <strong>la</strong>s prácticas<strong>de</strong> bases <strong>de</strong> datos y <strong>la</strong>s <strong>de</strong> e-business (realizadascon el e-hub), y por otra subsanar <strong>la</strong>s carencias<strong>de</strong> <strong>la</strong> segunda fase, está previsto que losalumnos diseñen una base <strong>de</strong> datos para <strong>la</strong> parte<strong>de</strong> productos ofertados, etc y que ésta se integre(en base a consultas SQL [5] realizadas por losalumnos, grabadas en un fichero p<strong>la</strong>no <strong>de</strong> texto yposteriormente integradas <strong>de</strong> forma transparentepara el usuario) en el e-hub. Habría otra parte,común a todas <strong>la</strong>s empresas creadas, que incluiría<strong>la</strong> operatoria habitual (pedidos, contabilidad básica,stock, etc) y que ya estaría incluida en el e-hub. Con esto se consigue que el alumno tengaque <strong>de</strong>dicar parte <strong>de</strong> su esfuerzo al diseño <strong>de</strong> unabase <strong>de</strong> datos y a <strong>la</strong> utilización <strong>de</strong>, en nuestro casoMicrosoft Access. La bases <strong>de</strong> datos haría el papel<strong>de</strong>l sistema existente en <strong>la</strong> empresa y que tienesque ser integrada en el e-hub.En <strong>la</strong> figura 4 po<strong>de</strong>mos ver <strong>la</strong> arquitectura básica<strong>de</strong> un e-hub integrada con el banco virtual<strong>de</strong>sarrol<strong>la</strong>do en <strong>la</strong> segunda fase.Cliente 1Cliente 2. . . .Cliente NE-HUBBanco VirtualEmpresa1Empresa2Figura 4. Arquitectura general <strong>de</strong> un e-hub. . . .EmpresaNEn este caso los pasos a seguir por el grupo <strong>de</strong>alumnos sería (sujeta a modificaciones ya que estáen proceso <strong>de</strong> <strong>de</strong>sarrollo):• Comienzo con un saldo mínimos en el banco.• Pensar algún tipo <strong>de</strong> empresa. Esto estaríacondicionado por el tipo <strong>de</strong> e-hub que seofertara y por <strong>la</strong>s empresas preexistentes endicho e-hub.• Diseñar y realizar en access (con ayuda <strong>de</strong> unguión) una base <strong>de</strong> datos que se ajuste a <strong>la</strong>empresa en cuestión.• Delinear un p<strong>la</strong>n estratégico básico.• Dar <strong>de</strong> alta <strong>la</strong> empresa en el e-hub.• Realizar una mailing informando <strong>de</strong> <strong>la</strong> creación<strong>de</strong> <strong>la</strong> empresa al resto <strong>de</strong> alumnos (<strong>de</strong>ambas Universida<strong>de</strong>s).• Realizar transacciones comerciales (comprasy ventas) con otros grupos <strong>de</strong> alumnos.• Seguimiento <strong>de</strong> <strong>la</strong>s transacciones y estadísticasgeneradas por el e-hub para extraer conclusionescomerciales.• Realizar informes comerciales <strong>de</strong> ingresos ygastos consultando sus cuentas bancarias.


• Acabar el periodo <strong>de</strong> prácticas con saldopositivo en su cuenta bancaria).Esta tercera fase, así como <strong>la</strong> segunda lo fue,está siendo <strong>de</strong>sarrol<strong>la</strong>da por alumnos <strong>de</strong> proyectos<strong>de</strong> 5 <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Granada.4. BeneficiosA continuación se comentan algunos <strong>de</strong> los beneficiosencontrados en base a <strong>la</strong> experiencia <strong>de</strong>sarrol<strong>la</strong>da:• La comunicación internacional con estudiantes<strong>de</strong> otras universida<strong>de</strong>s, favorecerá <strong>la</strong>adopción <strong>de</strong> una actitud positiva hacia <strong>la</strong> tecnologíay <strong>la</strong>s asignaturas, a <strong>la</strong> vez que daráorigen a re<strong>de</strong>s <strong>de</strong> comunicación informal <strong>de</strong>información académica.• La comprensión <strong>de</strong>l rol protagónico <strong>de</strong> <strong>la</strong>snuevas tecnologías en el ejercicio profesional,estimu<strong>la</strong>rá su incorporación activa a <strong>la</strong>sdistintas asignaturas, potenciando el proceso<strong>de</strong> enseñanza-aprendizaje.• Ofrecer al ambiente académico un recursopotenciador <strong>de</strong> <strong>la</strong> capacidad creativa <strong>de</strong> losdocentes, posibilitando <strong>la</strong> participación activaen un sistema abierto, dando así oportunidad<strong>de</strong> que el mismo sea utilizado para fines académicosdiversos, con objetivos y perspectivas<strong>de</strong> logros distintos y adaptados a cadarealidad particu<strong>la</strong>r.• Favorecer <strong>la</strong> transferencia <strong>de</strong> conocimientossignificativos acerca <strong>de</strong> <strong>la</strong> importancia que elimpacto <strong>de</strong> <strong>la</strong>s nuevas tecnologías <strong>de</strong> <strong>la</strong> informacióntendrán sobre <strong>la</strong> actividad <strong>de</strong> <strong>la</strong>sempresas en escenarios futuros.• Compren<strong>de</strong>r <strong>la</strong>s oportunida<strong>de</strong>s comercialesque se generan a partir <strong>de</strong> <strong>la</strong> globalización <strong>de</strong>los mercados, preparando a los futuros graduadospara trabajar en empresas y organizacionesque atiendan <strong>la</strong>s <strong>de</strong>mandas locales,nacionales e internacionales.• Integrar los distintos contenidos programáticos<strong>de</strong> <strong>la</strong>s asignaturas informáticas <strong>de</strong> <strong>la</strong>s distintascarreras <strong>de</strong> Ciencias Económicas yEmpresariales en una práctica concreta, favoreciendolos procesos cognitivos y motivacionales<strong>de</strong> los alumnos.5. ConclusionesEn el presente trabajo hemos intentado dar nuestravisión y nuestra experiencia en <strong>la</strong> realización <strong>de</strong>prácticas re<strong>la</strong>cionadas con asignaturas impartidasen Faculta<strong>de</strong>s <strong>de</strong> C.C. E.E. y E.E. El objetivo noera citar una serie <strong>de</strong> recursos tecnológicos para <strong>la</strong>realización <strong>de</strong> <strong>la</strong>s prácticas sino más bien contarcomo nosotros p<strong>la</strong>nteamos <strong>la</strong> incorporación <strong>de</strong> <strong>la</strong>snuevas tecnologías a <strong>la</strong>s asignaturas ya comentadas.Ni que <strong>de</strong>cir tiene que todo lo expuesto antessirve también, y <strong>de</strong> una manera bastante práctica,para explicar conceptos teóricos.Queda mucho trabajo por realizar y, por supuestopor mejorar y es nuestra intención <strong>de</strong>sarrol<strong>la</strong>rloa lo <strong>la</strong>rgo <strong>de</strong> los próximos años.Referencias[1] Ana Rosa <strong>de</strong>l Águi<strong>la</strong>, Antonio Padil<strong>la</strong>. E-business y Comercio Electrónico: un enfoqueestratégico. Rama, 2001.[2] F. Araque, M.V. Hurtado, M.M. Abad. Unnuevo marco para el Intercambio Electrónico<strong>de</strong> Datos: XML/EDI, en el I Encuentro Internacional<strong>de</strong> Finanzas y SI. Noviembre <strong>de</strong>2000, Cádiz.[3] Joseph Firestone. Enterprise KnowledgePortals: What They Are and What They Do.Journal Of Knowledge And Innovation, October,2000[4] Manuel García, Javier Martínez. Simu<strong>la</strong>ción<strong>de</strong>l Comercio Electrónico a través <strong>de</strong> Empresasy Bancos Virtuales. Proyecto Final <strong>de</strong>Carrera. 1998, Universidad <strong>de</strong> Granada.[5] María Teresa Martín, Luis Alfonso Ureña.Ejercicios <strong>de</strong> bases <strong>de</strong> datos re<strong>la</strong>cionales.Universidad <strong>de</strong> Jaén, 2001.[6] Mark M. Davydov. Corporate Portals and E-business integration. McGraw-Hill, 2001.[7] Silberschatz Korth. Fundamentos <strong>de</strong> Bases<strong>de</strong> Datos. Mc-GrawHill, 1993.[8] Steven Kap<strong>la</strong>n, Mohanbir Sawhney. E-Hubs:The new B2B marketp<strong>la</strong>ces. Harvard BusinessReview, may-June 2000.[9] Thompson Stappenbeck. The Business StrategyGame. McGraw-Hill, 1998.[10] www.fce.unl.edu.ar[11] www.minivend.com[12] www.ugr.es/~fcee


Nuevas Tecnologías <strong>de</strong> <strong>la</strong> Programación en InternetAntonio Fernán<strong>de</strong>z, José Antonio Piedra, Miguel Ángel P<strong>la</strong>zaDepartamento <strong>de</strong> Lenguajes y ComputaciónUniversidad <strong>de</strong> Almería{afm, jpiedra, map<strong>la</strong>za} @ ual.esResumenLa asignatura Nuevas Tecnologías <strong>de</strong> <strong>la</strong>Programación (NTP) establece un p<strong>la</strong>nteamientonovedoso a <strong>la</strong> hora <strong>de</strong> presentar contenidos queapenas aparecen en los p<strong>la</strong>nes <strong>de</strong> estudios ycuando lo hacen se encuentran dispersos porvarias asignaturas. Esta asignatura preten<strong>de</strong>ofrecer al alumno una visión completa <strong>de</strong> <strong>la</strong>stecnologías utilizadas en el <strong>de</strong>sarrollo <strong>de</strong>aplicaciones web. Partiendo <strong>de</strong>l diseño <strong>de</strong> páginasestáticas (HTML) y <strong>de</strong> <strong>la</strong>s tecnologías orientadas a<strong>la</strong> presentación (CSS, JavaScript), repasatecnologías <strong>de</strong> cliente (applets Java), para mostrarluego tecnologías <strong>de</strong> programación paraservidores (Servlets, JSP y EJB), completando elrecorrido con una visión general <strong>de</strong>l acceso a base<strong>de</strong> datos a través <strong>de</strong> Internet (con JDBC). Estoscontenidos se imparten a través <strong>de</strong> <strong>la</strong> utilización<strong>de</strong> metodología <strong>de</strong> trabajo en grupo y el apoyo <strong>de</strong>herramientas <strong>de</strong> teleformación o docencia virtualque se <strong>de</strong>scriben con <strong>de</strong>talle en otros artículospresentados en JENUI [3], [4] y [5].1. Introducción.La situación actual <strong>de</strong> <strong>la</strong> programación vive unosmomentos excitantes. La popu<strong>la</strong>ridad <strong>de</strong> Internetha obligado a que los programadores dominen <strong>la</strong>stecnologías más punteras y que tengan capacidadpara crear aplicaciones ejecutables sobre Internet.Un <strong>de</strong>sarrol<strong>la</strong>dor <strong>de</strong> aplicaciones web necesitaconocer una lista enorme <strong>de</strong> tecnologías cuyoflujo <strong>de</strong> información en Internet nos bombar<strong>de</strong>acon una montaña <strong>de</strong> datos. Por este motivo, no espoco el esfuerzo que <strong>de</strong>be hacerse por parte <strong>de</strong> losprogramadores para compren<strong>de</strong>r los conceptosre<strong>la</strong>cionados con Internet y el <strong>de</strong>sarrollo <strong>de</strong>aplicaciones web.Hace sólo unos pocos años, los programadoresse podían especializar en áreas más o menosestrechas sin preocuparse <strong>de</strong> otras disciplinas. Enlos entornos <strong>de</strong> programación actuales, losdiseñadores no sólo tienen que estar al tanto <strong>de</strong> <strong>la</strong>snuevas tecnologías, sino que tienen que tener, almenos, un conocimiento intermedio <strong>de</strong> <strong>la</strong>smismas.Des<strong>de</strong> el punto <strong>de</strong> vista profesional, losprogramadores necesitan tener una amplia visión<strong>de</strong> lo que ofrece y hasta don<strong>de</strong> pue<strong>de</strong> llegar <strong>la</strong>stecnologías y herramientas ofrecidas en elmercado en cuanto a requerimientos técnicosprofesionales. Un <strong>de</strong>sarrol<strong>la</strong>dor <strong>de</strong> aplicacionesweb, necesita conocer una lista enorme <strong>de</strong>tecnologías: lenguajes <strong>de</strong> programación <strong>de</strong>páginas web, tecnologías <strong>de</strong> programación en el<strong>la</strong>do cliente, en el <strong>la</strong>do servidor, tecnologías <strong>de</strong>acceso a base <strong>de</strong> datos a través <strong>de</strong> Internet y otrastecnologías más complejas: Servlets, componentesEJB, COM, DCOM, CORBA, ODBC, JDBC,etc...No cabe duda que <strong>la</strong> formación <strong>de</strong> un<strong>de</strong>sarrol<strong>la</strong>dor en todas estás tecnologías es muydifícil. La asignatura NTP p<strong>la</strong>ntea centrarse en <strong>la</strong>stecnologías propias <strong>de</strong> alguno <strong>de</strong> los gran<strong>de</strong>sfabricantes evitando así una formación extensiva atodas el<strong>la</strong>s.El Computing Curricu<strong>la</strong> 2001 [1] recogealgunas recomendaciones sobre cuales <strong>de</strong>ben ser<strong>la</strong>s características <strong>de</strong> un graduado en el área <strong>de</strong>Ciencias <strong>de</strong> <strong>la</strong> Computación.


Figura 1. Re<strong>la</strong>ción <strong>de</strong> <strong>la</strong> asignatura NTP con otras <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> ITIG.Entre estas características <strong>de</strong>stacan: Elmo<strong>de</strong><strong>la</strong>do (utilización <strong>de</strong> los conocimientos y <strong>la</strong>comprensión para el diseño y mo<strong>de</strong><strong>la</strong>do <strong>de</strong>sistemas basados en computadores) y los métodosy herramientas (aplicar <strong>de</strong> manera apropiadateorías, prácticas, y herramientas para <strong>la</strong>especificación, diseño, implementación yevaluación <strong>de</strong> sistemas <strong>de</strong> información).En este sentido, <strong>la</strong> asignatura NTP intenta serun resumen <strong>de</strong> dichas características para lostitu<strong>la</strong>dos Ingenieros Técnicos en Informática <strong>de</strong>Gestión (en a<strong>de</strong><strong>la</strong>nte, ITIG) fomentando en e<strong>la</strong>lumnado <strong>la</strong> capacidad <strong>de</strong> trabajo en grupo y eluso <strong>de</strong> <strong>la</strong>s tecnologías y herramientas <strong>de</strong>programación actuales.2. La asignatura NTP en el p<strong>la</strong>n <strong>de</strong>estudios <strong>de</strong> ITIG.La asignatura Nuevas Tecnologías <strong>de</strong> <strong>la</strong>Programación, es una optativa <strong>de</strong>l tercer curso <strong>de</strong><strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniero Técnico en Informática<strong>de</strong> Gestión (ITIG) que se imparte en <strong>la</strong> Escue<strong>la</strong>Politécnica Superior <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Almeríadurante el segundo cuatrimestre, tiene asignadosun total <strong>de</strong> 3 créditos teóricos + 3 créditosprácticos.Según el p<strong>la</strong>n <strong>de</strong> estudios actual (BOE <strong>de</strong> 11<strong>de</strong> Julio, nº 165/2000), los <strong>de</strong>scriptores <strong>de</strong> <strong>la</strong>asignatura NTP son:


Nuevas Tecnologías <strong>de</strong> <strong>la</strong> Programación.Programación en Internet. Diseño <strong>de</strong>componentes. Aplicaciones basadas encomponentes remotos.NTP es una asignatura <strong>de</strong> carácteroptativo y se sitúa en el último cuatrimestre <strong>de</strong> <strong>la</strong>titu<strong>la</strong>ción <strong>de</strong> Ingeniero Técnico. Por tanto <strong>la</strong>sinteracciones que tiene con otras asignaturas sonbastante complejas. Por un <strong>la</strong>do recibe influencias<strong>de</strong> otras asignaturas impartidas con anterioridad(Programación Orientada a Objetos). Por otro, vaa influir <strong>de</strong>cisivamente en otras asignaturas(Sistemas <strong>de</strong> Información distribuida). En algunasocasiones hay una re<strong>la</strong>ción bi<strong>la</strong>teral (por ejemplocon Entornos <strong>de</strong> Usuario).En <strong>la</strong> figura 1, aparece representadas <strong>de</strong>manera gráfica todas estas interacciones. Cabe<strong>de</strong>stacar que los contenidos <strong>de</strong> esta asignatura sonesenciales para otras asignaturas (como Sistemas<strong>de</strong> Información Distribuida) que se impartesimultáneamente pero que supone unacontinuación natural <strong>de</strong> los conceptos introducidosen NTP. Por último también <strong>de</strong>bemos seña<strong>la</strong>r quecada día son más los alumnos que recurren a <strong>la</strong>stecnologías que han conocido a lo <strong>la</strong>rgo <strong>de</strong> NTPpara <strong>de</strong>sarrol<strong>la</strong>r su Proyecto Fin <strong>de</strong> Carrera.3. Particu<strong>la</strong>rida<strong>de</strong>s <strong>de</strong> <strong>la</strong> asignatura.Destacamos en este apartado <strong>la</strong>s particu<strong>la</strong>rida<strong>de</strong>sque presenta <strong>la</strong> asignatura en re<strong>la</strong>ción al p<strong>la</strong>n <strong>de</strong>estudios <strong>de</strong> ITIG:• Se requieren conocimientos básicos <strong>de</strong> POO(Programación orientada a objetos).Son varias <strong>la</strong>s estrategias a <strong>la</strong> hora <strong>de</strong> e<strong>la</strong>borar<strong>la</strong> docencia <strong>de</strong> <strong>la</strong> programación en los cursosintroductorios <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> IngenieroTécnico en Informática (paradigma tradicionalimperativo, paradigma orientado a objetos,programación funcional). El profesorado <strong>de</strong>l Área<strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong> Computación <strong>de</strong> <strong>la</strong> Universidad<strong>de</strong> Almería aboga por <strong>la</strong> utilización <strong>de</strong>l paradigmaorientado a objetos para <strong>la</strong> formación <strong>de</strong><strong>la</strong>lumnado <strong>de</strong>s<strong>de</strong> <strong>la</strong>s asignaturas básicas <strong>de</strong>programación.• Ha resultado difícil i<strong>de</strong>ntificar los contenidos<strong>de</strong> NTP con asignaturas presentes enrecomendaciones internacionales.NTP es una asignatura basada en contenidosmuy novedosos y por tanto abierta a ciertaexperimentabilidad. Este pue<strong>de</strong> ser uno <strong>de</strong> losmotivos por lo cual no aparece expresadaexplícitamente como una asignatura en el CC2001[1] sino que sus contenidos se encuentranrepartidos entre otras asignaturas.4. Objetivos.NTP a través <strong>de</strong> su contenido y metodologíadocente presenta tres objetivos generales:• Formar e informar al alumno <strong>de</strong> <strong>la</strong>situación actual <strong>de</strong> <strong>la</strong> programación através <strong>de</strong> <strong>la</strong>s nuevas tecnologías que hanaparecido en esta área.• Fomentar entre el alumnado <strong>la</strong>metodología <strong>de</strong> trabajo en grupomediante el uso <strong>de</strong> <strong>la</strong> docencia virtualcomo herramienta <strong>de</strong> apoyo.• Incrementar <strong>la</strong> capacidad <strong>de</strong>autoaprendizaje <strong>de</strong>l alumno en <strong>la</strong>selección <strong>de</strong> tecnologías <strong>de</strong> <strong>la</strong>programación en Internet.El primer punto se <strong>de</strong>sglosa en una serie <strong>de</strong>objetivos particu<strong>la</strong>res re<strong>la</strong>cionados con cada uno<strong>de</strong> los temas <strong>de</strong> teoría y prácticas <strong>de</strong> <strong>la</strong> asignatura:• Conocer los principales conceptosimplicados en <strong>la</strong> programación <strong>de</strong>Internet y cómo han evolucionado losservicios y tecnologías hasta llegar a <strong>la</strong>situación actual.• Saber elegir para cada problema un grupo<strong>de</strong> tecnologías que <strong>de</strong> manera conjuntaaporten <strong>la</strong> solución más eficiente.• Proponer el diseño <strong>de</strong> un sitio websencillo pero <strong>de</strong>s<strong>de</strong> todas sus vertientes:diseño <strong>de</strong>l sistema <strong>de</strong> información,diseño <strong>de</strong> contenidos, diseño gráfico,elección <strong>de</strong>l sistema operativo, servidorweb, gestor <strong>de</strong> base <strong>de</strong> datos, tecnologías<strong>de</strong> programación en cliente y en servidor.


• Compren<strong>de</strong>r que algunas <strong>de</strong> <strong>la</strong>stecnologías que se conocen en estaasignatura están al bor<strong>de</strong> <strong>de</strong> <strong>la</strong>obsolescencia, mientras que otras seencuentran muy afianzadas y tienen unfuturo prometedor y por último hay otrasque acaban <strong>de</strong> nacer y su futuro esbastante incierto.• Enmarcar todos los términos ytecnologías conocidas en un diccionario<strong>de</strong> vocablos que todos los alumnos <strong>de</strong>benconocer, compren<strong>de</strong>r y utilizar con sumapropiedad.5. Programa <strong>de</strong> teoría.El programa <strong>de</strong> teoría <strong>de</strong> <strong>la</strong> asignatura respon<strong>de</strong> alos objetivos p<strong>la</strong>nteados anteriormente. Con NTP,se ofrece una visión global <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> unaaplicación web. En <strong>la</strong> figura 2 aparece un esquema<strong>de</strong> un sistema que incluye <strong>la</strong> mayor parte <strong>de</strong>tecnologías <strong>de</strong> programación que se van a incluircomo contenidos <strong>de</strong> <strong>la</strong> asignatura.Tema 1 Visión general <strong>de</strong> <strong>la</strong> programación 2 horasen InternetTema 2 Servidores <strong>de</strong> aplicaciones web. 1 horasTema 3 Tecnologías <strong>de</strong> diseño <strong>de</strong> páginas 2 horasweb.Tema 4 Tecnologías <strong>de</strong> programación web 2 horasen el <strong>la</strong>do cliente.Tema 5 Tecnologías <strong>de</strong> programación en el 9 horas<strong>la</strong>do servidorTema 6 Tecnologías <strong>de</strong> acceso a <strong>la</strong> 8 horasinformación a través <strong>de</strong> Internet:ASP vs JSPTema 7 Tecnologías <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> 4 horascomponentes: JavaBeans, ActiveX,COM y DCOMTema 8 Otras tecnologías <strong>de</strong> programación 2 horasweb: XMLTab<strong>la</strong> 1. Descripción <strong>de</strong> <strong>la</strong> asignatura NTP.A lo <strong>la</strong>rgo <strong>de</strong> los temas <strong>de</strong> teoría se <strong>de</strong>scribentodos los aspectos y tecnologías utilizadas parauna aplicación web en sus diferentes niveles.Se comienza con una visión general <strong>de</strong>lmundo y <strong>de</strong> <strong>la</strong> programación en Internet. En elsegundo capítulo se presenta los contenidos ycaracterísticas básicas <strong>de</strong> los servidores web.Figura 2. Esquema <strong>de</strong> NTP.


Se termina el temario <strong>de</strong> <strong>la</strong> asignatura con <strong>la</strong><strong>de</strong>scripción <strong>de</strong> componentes y aplicacionesbasadas en componentes remotos.Debido al carácter innovador <strong>de</strong> <strong>la</strong> asignatura,hay muy poca bibliografía en castel<strong>la</strong>no. A<strong>de</strong>más<strong>la</strong> bibliografía anglosajona aborda los contenidosmás <strong>de</strong>s<strong>de</strong> el aspecto profesional que docente (locual no es un problema en absoluto). Por estemotivo, el alumno se ve en <strong>la</strong> necesidad <strong>de</strong> buscary consultar información presente en Internet que<strong>de</strong>scriba dichas tecnologías e incluso acudir a lostutoriales <strong>de</strong> algunas <strong>de</strong> estas ofrecidos porfabricantes o sitios web especializados.El contenido <strong>de</strong> <strong>la</strong> asignatura se ve apoyadocon <strong>la</strong> realización <strong>de</strong> dos seminariosintroductorios a tecnologías <strong>de</strong> programaciónactuales durante los cuales se preten<strong>de</strong> dar aconocer a los alumnos algunas tecnologías que sinestar muy re<strong>la</strong>cionadas con <strong>la</strong>s p<strong>la</strong>nteadas en <strong>la</strong>asignatura si que son unas magnificascomplementarias <strong>de</strong> <strong>la</strong>s mismas. Con ello sepreten<strong>de</strong> promover el trabajo <strong>de</strong> investigación,autoformación y exposición <strong>de</strong> los conocimientosadquiridos por los alumnos que preparan elseminario. Los seminarios impartidos son:• F<strong>la</strong>sh, tecnología para <strong>la</strong> animación <strong>de</strong>páginas web.• WAP/WML, tecnologías para programaraplicaciones accesibles a través <strong>de</strong> teléfonosmóviles.También sería aconsejable invitar aprofesionales <strong>de</strong> empresas li<strong>de</strong>r en el sector paraque <strong>de</strong>scriban <strong>la</strong>s ventajas e inconvenientes a <strong>la</strong>hora <strong>de</strong> llevar a <strong>la</strong> práctica este tipo <strong>de</strong>tecnologías.6. Las prácticas: un aspectofundamental.Las prácticas <strong>de</strong> <strong>la</strong> asignatura NTP son <strong>de</strong> carácterfundamental para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> asignatura yaque a través <strong>de</strong> estas el alumno trabajará con <strong>la</strong>stecnologías <strong>de</strong>scritas durante <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría.Po<strong>de</strong>mos resumir los objetivos <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong>NTP:• Conseguir que el alumno conozca a nivelinstrumental <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong>s que se leha informado en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría. No sepreten<strong>de</strong> que adquiera una profundaformación en cada tecnología sino queconozca como se insta<strong>la</strong> y se utiliza a nivelinstrumental para que a partir <strong>de</strong> esemomento él pueda profundizar por propiainiciativa en cada una <strong>de</strong> <strong>la</strong>s tecnologías.• El alumno va a montar su propio sitio web yva a ir sumando características técnicasnovedosas a lo <strong>la</strong>rgo <strong>de</strong>l curso, partiendo <strong>de</strong>una página HTML hasta llegar a <strong>la</strong>publicación <strong>de</strong> <strong>la</strong> información <strong>de</strong> una base <strong>de</strong>datos en Internet.• Se preten<strong>de</strong> que el alumno aplique a su sitiotodos aquellos criterios corporativos quecualquier empresa aplicaría a sus páginasweb (homogeneidad y criterios <strong>de</strong> diseñográfico en base a una imagen corporativa,organización a<strong>de</strong>cuada <strong>de</strong> <strong>la</strong> información <strong>de</strong>cara al usuario <strong>de</strong> <strong>la</strong> página, etc.).• De manera general va a conocer, <strong>de</strong>bido a <strong>la</strong>svisitas que <strong>de</strong>be realizar para confeccionar eldiccionario <strong>de</strong> términos, muchos sitios web<strong>de</strong> interés para cualquier <strong>de</strong>sarrol<strong>la</strong>dor <strong>de</strong>aplicaciones web. Esta forma <strong>de</strong> trabajar va aservirle para cuando en su <strong>de</strong>sarrolloprofesional tenga que conocer por sí mismocualquier nueva tecnología emergente ytenga que bucear en Internet para obtenerinformación referente a <strong>la</strong> misma.• Todo el trabajo anterior se realiza en grupo,con <strong>la</strong>s consiguiente ventajas que aporta <strong>la</strong>interacción con otros compañeros, ya que enun futuro también trabajará en grupo <strong>de</strong>ntro<strong>de</strong> su puesto <strong>de</strong> trabajo.De cara a cubrir el temario y objetivos <strong>de</strong> <strong>la</strong>asignatura se han preparado <strong>la</strong>s prácticas que semuestran en <strong>la</strong> Tab<strong>la</strong> 2.El sitio web <strong>de</strong>sarrol<strong>la</strong>do durante <strong>la</strong>s prácticasserá expuesto en una presentación final bajo loscánones <strong>de</strong> cualquier grupo <strong>de</strong> <strong>de</strong>sarrollo queexpone al cliente el trabajo realizado, utilizandouna presentación multimedia <strong>de</strong> nivel profesionaly cuidando los elementos <strong>de</strong> marketing que vayandirigidos a convencer al cliente sobre <strong>la</strong>s virtu<strong>de</strong>s<strong>de</strong> <strong>la</strong> solución <strong>de</strong>sarrol<strong>la</strong>da.


P. 1. Diseño <strong>de</strong> una página Web enHTML.P. 2. Inclusión en <strong>la</strong> página web <strong>de</strong> undiccionario <strong>de</strong> términos <strong>de</strong> NTP.P. 3. Insta<strong>la</strong>ción <strong>de</strong> un servidor webutilizando Apache Tomcat.P. 4. Utilización <strong>de</strong> elementos Javascripty hojas <strong>de</strong> estilo a <strong>la</strong> página web.P.5. Introducción a una herramienta <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> aplicaciones web:Forte for java.P.6. Inclusión <strong>de</strong> applets en una páginaweb.P.7. Diseño <strong>de</strong> una aplicación <strong>de</strong> accesoa base <strong>de</strong> datos a través <strong>de</strong> webutilizando tecnología JSP.P.8. Diseño e Implementación <strong>de</strong>componentes JavaBean.2 horas2 horas2 horas2 horas4 horas2 horas6 horas6 horascorreo electrónico, foros, char<strong>la</strong>s, etc. Esta forma<strong>de</strong> comunicación va a permitir que el alumnopueda obtener información, formu<strong>la</strong>r preguntas oconsultas sin tener que <strong>de</strong>sp<strong>la</strong>zarse o esperar a <strong>la</strong>hora <strong>de</strong> tutoría, evitándose <strong>la</strong>s molestias queocasionan <strong>la</strong>s co<strong>la</strong>s a <strong>la</strong> puerta <strong>de</strong>l <strong>de</strong>spacho. Porotro <strong>la</strong>do, <strong>la</strong> utilización <strong>de</strong> nuevas tecnologíasacerca al alumno a <strong>la</strong>s posibilida<strong>de</strong>s técnicas <strong>de</strong>sus futuros puestos <strong>de</strong> trabajo y le preparaa<strong>de</strong>cuadamente para que domine estos nuevosmedios.La metodología docente basada en trabajo engrupo apoyada por <strong>la</strong> herramienta <strong>de</strong> docenciavirtual en NTP queda <strong>de</strong>scrita en otro articulopresentado a esta misma edición <strong>de</strong> JENUI [4].Tab<strong>la</strong> 2. Descripción <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong> NTP.7. Metodología docente.En <strong>la</strong> asignatura NTP se utiliza unametodología docente orienta a grupos [3, 5] quepromueve el trabajo continuado y optimiza e<strong>la</strong>provechamiento <strong>de</strong> <strong>la</strong>s tutorías. A<strong>de</strong>más, serealiza el apoyo docente con <strong>la</strong> publicación <strong>de</strong> <strong>la</strong>asignatura en el CAMPUS VIRTUAL <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Almería y <strong>la</strong> utilización <strong>de</strong> <strong>la</strong>herramienta <strong>de</strong> docencia virtual WebCT.Esta metodología se centra en el trabajo engrupo por lo que <strong>la</strong>s innovaciones <strong>de</strong> mayorimportancia aplicadas en dicho método vanencaminadas al aprovechamiento <strong>de</strong> esta forma <strong>de</strong>trabajo, como son <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> cuestionesque cubran los objetivos <strong>de</strong> cada tema (realizarpreguntas <strong>de</strong> examen), <strong>la</strong> realización <strong>de</strong> diferentestipos <strong>de</strong> prácticas (que incluyen “concursos <strong>de</strong><strong>de</strong>finición <strong>de</strong> términos” y <strong>de</strong>fensas <strong>de</strong> proyectos),y un mayor seguimiento <strong>de</strong> <strong>la</strong> evolución <strong>de</strong><strong>la</strong>lumno mediante un nuevo p<strong>la</strong>nteamiento <strong>de</strong> <strong>la</strong>stutorías, don<strong>de</strong> a<strong>de</strong>más <strong>de</strong> utilizar nuevastecnologías (como apoyo mediante enseñanzavirtual a través <strong>de</strong> Internet) se realizan entrevistasperiódicas con los grupos.El potencial <strong>de</strong> comunicaciones que ofrecenre<strong>de</strong>s como Internet <strong>de</strong>be aprovecharse parafacilitar <strong>la</strong> comunicación entre el profesor y e<strong>la</strong>lumno. En nuestro caso, cada alumno dispone <strong>de</strong>una cuenta <strong>de</strong> usuario <strong>de</strong> <strong>la</strong> herramienta WebCTque les posibilita acce<strong>de</strong>r a todos sus servicios:8. Sistema <strong>de</strong> evaluación.La evaluación se basará en una serie <strong>de</strong> notas quese van tomando a lo <strong>la</strong>rgo <strong>de</strong>l curso intentandorealizar una evaluación continua <strong>de</strong> cada uno <strong>de</strong>los grupos y si fuera posible también individual.La calificación continua se fundamenta en <strong>la</strong>snotas <strong>de</strong> los siguientes elementos:• Ejercicios resueltos <strong>de</strong> manera individual oen grupo en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> problemas y en <strong>la</strong>ssesiones <strong>de</strong> prácticas.• Calificación <strong>de</strong> <strong>la</strong>s listas <strong>de</strong> preguntas <strong>de</strong>examen presentadas para cada tema.• Corrección <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s sesiones <strong>de</strong>prácticas por separado.• Participación en <strong>la</strong> preparación <strong>de</strong> alguno <strong>de</strong>los seminarios.Para aprobar <strong>la</strong> asignatura es imprescindiblesuperar cada una <strong>de</strong> <strong>la</strong>s siguientes partes:• Re<strong>la</strong>ción <strong>de</strong> prácticas a entregar endiferentes momentos <strong>de</strong>l curso y en especial<strong>la</strong> práctica final (que <strong>de</strong>be ser un compendio<strong>de</strong> todo lo aprendido en el resto <strong>de</strong> sesiones)y que será presentada en c<strong>la</strong>se bajo criterios<strong>de</strong> presentación comercial <strong>de</strong> una aplicación.• Prueba final sobre los contenidos <strong>de</strong> <strong>la</strong>asignatura que estará compuesta porcuestiones <strong>de</strong> tipo test.


Para aprobar <strong>la</strong> asignatura <strong>de</strong>be superarsetanto el examen final cómo <strong>la</strong>s prácticas. En caso<strong>de</strong> suspen<strong>de</strong>r alguna <strong>de</strong> <strong>la</strong>s dos partes, seexaminará en <strong>la</strong> siguiente convocatoria sólo <strong>de</strong> <strong>la</strong>parte suspensa.La nota final <strong>de</strong> curso se obtendrá a partir <strong>de</strong><strong>la</strong> media <strong>de</strong> <strong>la</strong> nota <strong>de</strong>l examen y <strong>la</strong> <strong>de</strong> prácticas,corregida al alza por <strong>la</strong>s anotaciones recogidasdurante el curso y por <strong>la</strong> propia nota <strong>de</strong> prácticas.9. ConclusionesDes<strong>de</strong> 1998, año en el que comenzó aimpartirse NTP, los resultados obtenidos enre<strong>la</strong>ción con el contenido <strong>de</strong> <strong>la</strong> asignatura y <strong>la</strong>metodología utilizada orientada a grupos <strong>de</strong>trabajo han sido muy satisfactorios. El gran interéspor parte <strong>de</strong> los alumnos queda p<strong>la</strong>smado en losresultados <strong>de</strong> los trabajos realizados por losgrupos, que rebasan con creces a <strong>la</strong>s expectativas<strong>de</strong>l profesor y los requisitos <strong>de</strong>l proyecto.A<strong>de</strong>más se muestra una gran satisfacción conel sistema <strong>de</strong> evaluación. El alumno llega alconvencimiento <strong>de</strong> que son ellos mismos los quese evalúan y el sistema p<strong>la</strong>nteado anteriormentehace que <strong>la</strong> nota obtenida sea un fiel reflejo <strong>de</strong> <strong>la</strong>formación y capacitación obtenida en <strong>la</strong>asignatura.Figura 3. Algunos ejemplos <strong>de</strong>l trabajo realizado porlos grupos en NTP.


Evolución <strong>de</strong> <strong>la</strong>s calificaciones <strong>de</strong> NTP1008060402001998 1999 2000 2001M. H.SobresalienteNotableAprobadoSuspensoNo PresentadoTOTALFigura 4. Evolución <strong>de</strong> <strong>la</strong>s calificaciones <strong>de</strong> NTP.Por otra parte, <strong>la</strong> utilización <strong>de</strong> unaherramienta <strong>de</strong> docencia virtual como apoyo a <strong>la</strong>docencia <strong>de</strong> <strong>la</strong> asignatura fomenta al alumno en <strong>la</strong>participación <strong>de</strong>l propio <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>asignatura ya que a través <strong>de</strong> esta herramientapue<strong>de</strong>n interactuar y comunicarse mediante losforos <strong>de</strong> discusión, listas <strong>de</strong> distribución para losgrupos, chats con distintas habitaciones <strong>de</strong>dialogo, realización <strong>de</strong> test a través <strong>de</strong> Internet,calendarios y agendas <strong>de</strong> activida<strong>de</strong>s, etc...Referencias[1] Computing Curricu<strong>la</strong> 2001 (CC-2001).Computer Science Volume. IEEEComputer Society and Association forComputing Machinery, Diciembre.,2001.http://www.computer.org/education/cc2001/[2] Denning P.J. Educating. A NewEngineer. Communications of the ACM.pp 83-97. Diciembre. 1992.[3] Fernán<strong>de</strong>z A., Padil<strong>la</strong> N. y Peralta M.Metodología docente orientada a grupos<strong>de</strong> trabajo. III <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> Informática (Jenui’97)1997, pp 471-478[4] Fernán<strong>de</strong>z A., Piedra J.A., P<strong>la</strong>za M. A.La docencia virtual como herramienta<strong>de</strong> apoyo en una metodología orientadaa grupos <strong>de</strong> trabajo. Aplicación a <strong>la</strong>asignatura Nuevas Tecnologías <strong>de</strong> <strong>la</strong>Programación. Propuesta <strong>de</strong> ponenciapara <strong>la</strong>s <strong>VIII</strong> <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> Informática(Jenui’2002).[5] Padil<strong>la</strong> N., Peralta M., Fernán<strong>de</strong>z A.Metodología docente en introducción a<strong>la</strong> programación. Primeros resultados.IV Jorn. <strong>de</strong> Enseñanza <strong>Universitaria</strong> <strong>de</strong>Informática (Jenui’98) 1998, pp 443-449.


La docencia virtual como herramienta <strong>de</strong> apoyo en unametodología orientada a grupos <strong>de</strong> trabajo. Aplicación a <strong>la</strong>asignatura Nuevas Tecnologías <strong>de</strong> <strong>la</strong> ProgramaciónAntonio Fernán<strong>de</strong>z, José Antonio Piedra, Miguel Ángel P<strong>la</strong>zaDepartamento <strong>de</strong> Lenguajes y ComputaciónUniversidad <strong>de</strong> Almería{afm, jpiedra, map<strong>la</strong>za} @ ual.esResumenNuestra metodología <strong>de</strong> trabajo en grupo ha sidomuy satisfactoria para otras asignaturas(Introducción a <strong>la</strong> Programación) tal y como seexpuso en <strong>la</strong>s publicaciones presentadas en <strong>la</strong>s<strong>Jornadas</strong> <strong>de</strong> Enseñanza <strong>Universitaria</strong> enInformática JENUI [2] y [4]. Por ello se preten<strong>de</strong>ir más allá en esa metodología mediante <strong>la</strong>incorporación <strong>de</strong> elementos <strong>de</strong> docencia virtua<strong>la</strong>daptados al trabajo en grupo y a sucomunicación.Por un <strong>la</strong>do, se p<strong>la</strong>ntea una metodologíadocente mediante elementos clásicos peroadaptados y potenciados por otros elementosinnovadores (listas <strong>de</strong> preguntas <strong>de</strong> examen,concurso <strong>de</strong> <strong>de</strong>finición <strong>de</strong> términos, presentación<strong>de</strong> proyectos, etc.), todo ello <strong>de</strong>s<strong>de</strong> <strong>la</strong> perspectiva<strong>de</strong>l trabajo en grupo.Por otro, se preten<strong>de</strong> <strong>la</strong> máxima interacciónentre el profesor y los miembros <strong>de</strong> un grupo, ya<strong>de</strong>más <strong>la</strong> interacción entre los diferentes gruposentre sí (a través <strong>de</strong> <strong>la</strong> docencia y <strong>la</strong>s tutorías).Esta comunicación se realiza mediante <strong>la</strong>utilización <strong>de</strong> <strong>la</strong> herramienta <strong>de</strong> docencia virtualWebCT [5].1. Introducción.“Nuestra misión en <strong>la</strong> Universidad <strong>de</strong>be ser <strong>la</strong> <strong>de</strong>preparar a los estudiantes para afrontar <strong>la</strong> vida ypara que sepan <strong>de</strong>senvolverse en el mundo<strong>la</strong>boral, dominado por <strong>la</strong>s leyes <strong>de</strong> mercado einundado por <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong> información”.Esta cita <strong>de</strong> Denning [1] <strong>de</strong>be ser, a nuestroenten<strong>de</strong>r, el objetivo principal a conseguir portodo docente universitario. Debemos enseñar anuestros alumnos a ser unos buenos Ingenieros, arealizar su trabajo <strong>de</strong> forma rigurosa ydisciplinada, y a que sean capaces <strong>de</strong>autoapren<strong>de</strong>r.La educación universitaria se encuentra encontinua evolución. Para po<strong>de</strong>r formar aluniversitario según el mo<strong>de</strong>lo <strong>de</strong> Denning,anteriormente comentado, necesitamos realizaruna serie <strong>de</strong> innovaciones que cambien los modosutilizados actualmente. Las transformaciones quese <strong>de</strong>ben abordar engloban principalmenteámbitos como el currículum <strong>de</strong>l estudiante, <strong>la</strong>actitud <strong>de</strong>l mismo ante el nuevo mo<strong>de</strong>lo educativoy <strong>la</strong> metodología <strong>de</strong>l docente. En este articulo noscentraremos en intentar innovar en estos dosúltimos aspectos.La metodología docente que proponemos sebasa en elementos metodológicos clásicos(lecciones magistrales, tutorías, etc.) peroadaptadas y potenciadas por otros elementosinnovadores (listas <strong>de</strong> preguntas <strong>de</strong> examen,concurso <strong>de</strong> <strong>de</strong>finición <strong>de</strong> términos, presentación<strong>de</strong> proyectos, etc.), todo ello <strong>de</strong>s<strong>de</strong> <strong>la</strong> perspectiva<strong>de</strong>l trabajo en grupo. El resultado <strong>de</strong> <strong>la</strong>metodología <strong>de</strong> trabajo en grupo ha sido muysatisfactoria en otras asignaturas (Introducción a<strong>la</strong> Programación) y fue motivo <strong>de</strong> sendaspublicaciones presentadas en <strong>la</strong>s <strong>Jornadas</strong> <strong>de</strong>Enseñanza <strong>Universitaria</strong> en Informática JENUI [2]y [4]. Por ello no vamos a entrar a <strong>de</strong>scribir con<strong>de</strong>talle <strong>la</strong>s características <strong>de</strong> esta metodología sinoque vamos a avanzar algo más <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong>vista instrumental y se van a presentar elementos


<strong>de</strong> docencia virtual adaptados al trabajo en grupoy a su comunicación.El objetivo último <strong>de</strong> esta metodologíaaplicada a <strong>la</strong> asignatura <strong>de</strong> Nuevas Tecnologías <strong>de</strong><strong>la</strong> Programación es reproducir el ambiente <strong>la</strong>boral<strong>de</strong> los futuros profesionales mediante <strong>la</strong> adopción<strong>de</strong> los roles <strong>de</strong> un <strong>de</strong>sarrol<strong>la</strong>dor que se encuentranante el diseño <strong>de</strong> una aplicación para Internet.Un profesional en estas circunstancias se veráobligado a: co<strong>la</strong>borar con un grupo <strong>de</strong> trabajo, aveces bastante heterogéneo <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vistaprofesional (pue<strong>de</strong> incluir diseñadores gráficos), yformarse en <strong>la</strong>s últimas tecnologías aplicables adicha solución. En ese momento necesitará <strong>de</strong>habilida<strong>de</strong>s <strong>de</strong> autoformación, así como recurrir atutoriales y docencia virtual a través <strong>de</strong> Internetcomo medio más inmediato y económico pararecibir esta formación en nuevas tecnologías.2. Breve <strong>de</strong>scripción <strong>de</strong> <strong>la</strong> asignatura.Asignatura:Estudios:Centro:Ciclo: 1ºCurso: 3ºNUEVAS TECNOLOGÍAS DELA PROGRAMACIÓNINGENIERÍA TÉCNICA ENINFORMÁTICA DE GESTIÓNESCUELASUPERIORCuatrimestre: 2ºCarácter: OPTATIVACréditos teóricos: 3POLITÉCNICACréditos prácticos: 3CIENCIAS DE LAÁrea:COMPUTACIÓNNuevas Tecnologías <strong>de</strong> <strong>la</strong>Programación.Descriptores BOE:Programación en Internet.Diseño <strong>de</strong> componentes.Aplicaciones basadas encomponentes remotos.Nº alumnos: 76Tab<strong>la</strong> 1. Descripción <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> NTP.Para conocer con <strong>de</strong>talle esta asignatura y sucontenido recomendamos <strong>la</strong> lectura <strong>de</strong> <strong>la</strong> ponencia“Nuevas Tecnologías <strong>de</strong> <strong>la</strong> Programación enInternet” presentada en <strong>la</strong>s jornadas <strong>de</strong> este año[3].3. La enseñanza virtual como parte <strong>de</strong> <strong>la</strong>metodología docente y <strong>de</strong> evaluación.Las Universida<strong>de</strong>s se están viendo abocadas aconvivir con dos modos <strong>de</strong> enseñanza: por un<strong>la</strong>do, <strong>la</strong> enseñanza presencial y por otro <strong>la</strong>enseñanza virtual o teleformación.La Teleformación es, según FUNDESCO, "unsistema <strong>de</strong> impartición <strong>de</strong> formación a distancia,apoyado en <strong>la</strong>s TIC (tecnologías, re<strong>de</strong>s <strong>de</strong>telecomunicación, vi<strong>de</strong>oconferencias, TV digital,materiales multimedia), que combina distintoselementos pedagógicos: instrucción clásica(presencial o autoestudio), <strong>la</strong>s prácticas, loscontactos en tiempo real (presenciales,vi<strong>de</strong>oconferencias o chats) y los contactosdiferidos (tutores, foros <strong>de</strong> <strong>de</strong>bate, correoelectrónico)".Este tipo <strong>de</strong> formación se está incorporandopau<strong>la</strong>tinamente en <strong>la</strong> enseñanza reg<strong>la</strong>da <strong>de</strong> <strong>la</strong>sUniversida<strong>de</strong>s. Los formadores pue<strong>de</strong>n estableceruna metodología <strong>de</strong> <strong>la</strong> enseñanza-aprendizajebasada en un enfoque constructivista <strong>de</strong> <strong>la</strong>formación a través <strong>de</strong> <strong>la</strong> interacción yco<strong>la</strong>boración entre alumnos-alumnos y alumnostutor.Los materiales docentes que se pue<strong>de</strong>nutilizar serán cualquier recurso que en formatoelectrónico pueda ser enviado a través <strong>de</strong> <strong>la</strong> red yse pue<strong>de</strong>n usar una gran variedad <strong>de</strong> herramientas<strong>de</strong> comunicación tanto síncronas (como chat, voz-IP, vi<strong>de</strong>oconferencias, etc.), como asíncronas(foros <strong>de</strong> <strong>de</strong>bate, correo electrónico, etc.).En los últimos años se ha estado trabajando en<strong>la</strong> Universidad <strong>de</strong> Almería en un productoespecífico que facilita enormemente <strong>la</strong> <strong>la</strong>bor <strong>de</strong>lformador para cumplir con gran parte <strong>de</strong> su <strong>la</strong>bor.Esta aplicación es WebCT [5], que ha sido<strong>de</strong>sarrol<strong>la</strong>do por el Departamento <strong>de</strong> CienciaInformática <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> BritishColumbia, Canadá. Es una herramienta quefacilita <strong>la</strong> creación <strong>de</strong> ambientes educativosbasados en <strong>la</strong> Web tanto para cursos 'on-line'como para publicar simplemente materiales quecomplementen a cursos ya existentes (enseñanzareg<strong>la</strong>da). Los usuarios necesitan conocer sólo eluso <strong>de</strong> algún navegador estándar para el acceso ypara <strong>la</strong>s tareas <strong>de</strong> diseño <strong>de</strong>l curso, si es el


instructor. WebCT proporciona una interfaz paradiseñar el aspecto <strong>de</strong>l curso (colores, diseño <strong>de</strong> <strong>la</strong>página), una serie <strong>de</strong> herramientas educativas parafacilitar el aprendizaje, <strong>la</strong> comunicación y <strong>la</strong>co<strong>la</strong>boración, y una serie <strong>de</strong> herramientasadministrativas para ayudar al instructor en <strong>la</strong>distribución <strong>de</strong>l curso.WebCT se caracteriza principalmente porposeer:• Posibilida<strong>de</strong>s multimedia;• Herramientas <strong>de</strong> auto-evaluación <strong>de</strong> losestudiantes y <strong>de</strong> evaluación on-line.• Mantenimiento y distribución <strong>de</strong> notas.• Un sistema <strong>de</strong> conferencias, que permite<strong>la</strong> presencia <strong>de</strong> un mo<strong>de</strong>rador.• Sistema <strong>de</strong> correo-electrónico y <strong>de</strong>char<strong>la</strong> en tiempo real.• Archivo <strong>de</strong> imágenes que se pue<strong>de</strong>nbuscar.• Áreas <strong>de</strong> presentación <strong>de</strong> estudiantes ycreación <strong>de</strong> páginas <strong>de</strong> presentación.• Herramientas <strong>de</strong> diseño y gestión <strong>de</strong>lcurso.• Control <strong>de</strong> seguridad y acceso.• Posibilida<strong>de</strong>s <strong>de</strong> grabación y ejecución<strong>de</strong>l curso.A continuación vamos a ver cómo hemosinstrumentalizado <strong>la</strong> metodología docenteorientada a grupos <strong>de</strong> trabajo a través <strong>de</strong> WebCT.4. Trabajo en grupo.El objetivo principal <strong>de</strong> esta metodología esque el alumno llegue a dominar lo aprendido, y elcamino más corto es mediante el aprendizajeactivo (apren<strong>de</strong>r a hacer, haciendo) y cooperativo(aprendizaje con otros). Por ello creemos quenuestro mo<strong>de</strong>lo <strong>de</strong>be caracterizarse por:• Promover el conocimiento porcomprensión.• Crear <strong>la</strong> necesidad <strong>de</strong> seguir aprendiendo.• Animar al alumno a que asuma <strong>la</strong>responsabilidad <strong>de</strong> apren<strong>de</strong>rconvirtiéndose en el protagonista <strong>de</strong><strong>la</strong>prendizaje.• Crear un ambiente <strong>de</strong> trabajo personal y<strong>de</strong> co<strong>la</strong>boración entre alumnos.En función <strong>de</strong> lo expuesto, se realiza <strong>la</strong>división <strong>de</strong>l alumnado en grupos <strong>de</strong> trabajo con elobjetivo <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r el hábito <strong>de</strong> discusión <strong>de</strong>los problemas, <strong>la</strong> co<strong>la</strong>boración entre compañerosque tienen un objetivo en común y el flujo <strong>de</strong>conocimiento entre los mismos.Los grupos van a funcionar tanto para realizar<strong>la</strong>bores <strong>de</strong> teoría como <strong>de</strong> prácticas, constituyendo<strong>de</strong> esta forma una unidad <strong>de</strong> trabajo permanentepara todos los aspectos <strong>de</strong> <strong>la</strong> asignatura y a lo<strong>la</strong>rgo <strong>de</strong> todo el cuatrimestre. Aunque prevalecen<strong>la</strong>s activida<strong>de</strong>s en grupo, no se van a excluir otrasque son puramente individuales.Como se pue<strong>de</strong> apreciar en <strong>la</strong> siguiente figura,<strong>la</strong> interacción entre los agentes que intervienen enel proceso <strong>de</strong> enseñanza no se restringe a <strong>la</strong>sre<strong>la</strong>ciones entre los miembros <strong>de</strong>l grupo, sino quea<strong>de</strong>más existe una interacción entre los diferentesgrupos y a<strong>de</strong>más con el profesor (principalmente através <strong>de</strong> <strong>la</strong> docencia y <strong>la</strong>s tutorías). Estefenómeno <strong>de</strong> comunicación es el que vamos ainstrumentalizar con <strong>la</strong> utilización <strong>de</strong> unaherramienta <strong>de</strong> docencia virtual (WebCT).Para facilitar <strong>la</strong> comunicación se haproporcionado a cada alumno una dirección <strong>de</strong>correo electrónico y una c<strong>la</strong>ve <strong>de</strong> acceso aWebCT.A partir <strong>de</strong> este momento toda <strong>la</strong>comunicación se realiza a través <strong>de</strong> los elementospropios <strong>de</strong> esta herramienta: correo electrónico,chat, pizarra, foros y calendario. A<strong>de</strong>más sedispone <strong>de</strong> otros elementos <strong>de</strong> gestión yorganización <strong>de</strong> <strong>la</strong> información propia <strong>de</strong> <strong>la</strong>asignatura: contenidos <strong>de</strong> teoría y práctica,autoevaluación, listado <strong>de</strong> términos y listado <strong>de</strong>bibliografía. A<strong>de</strong>más, iremos <strong>de</strong>sarrol<strong>la</strong>ndo otroselementos complementarios, como por ejemplo elconcurso <strong>de</strong> términos y una herramienta paraFAQs (preguntas más frecuentes.


Figura 1. Interacciones en el mo<strong>de</strong>lo <strong>de</strong> enseñanza basado en grupos <strong>de</strong> trabajo.Figura 2. Interacción mediante elementos <strong>de</strong> docencia virtual.Para facilitar <strong>la</strong> comunicación entre losmiembros <strong>de</strong> un mismo grupo <strong>de</strong> trabajo vamos a<strong>de</strong>finir una serie <strong>de</strong> elementos propios <strong>de</strong>l grupoa<strong>de</strong>más <strong>de</strong> los elementos públicos <strong>de</strong>finidos paratodos los alumnos <strong>de</strong> <strong>la</strong> asignatura:• Listas <strong>de</strong> distribución <strong>de</strong> correo cerradaspara cada uno <strong>de</strong> los grupos.• Un foro para <strong>de</strong>bate y opinión cerradopara cada grupo.• A<strong>de</strong>más van a diseñar una página webpropia don<strong>de</strong> van a publicar sus practicasasí como aportaciones como grupo alconocimiento <strong>de</strong> <strong>la</strong> asignatura (porejemplo en<strong>la</strong>ces <strong>de</strong> interés).


5. C<strong>la</strong>ses <strong>de</strong> teoría y <strong>de</strong> prácticas.Vamos a ver cuales son los elementos didácticosinnovadores que complementan <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>teoría y prácticas. Este conjunto <strong>de</strong> elementoscambia <strong>de</strong> manera consi<strong>de</strong>rable el punto <strong>de</strong> vista<strong>de</strong> los alumnos. Hasta este momento se establecíacomo condición necesaria para un apropiadoseguimiento y aprendizaje <strong>de</strong> <strong>la</strong> asignatura <strong>la</strong>asistencia <strong>de</strong>l alumno tanto en <strong>la</strong>s c<strong>la</strong>sespresenciales <strong>de</strong> teoría como <strong>de</strong> prácticas ytutorías. A partir <strong>de</strong> <strong>la</strong> incorporación <strong>de</strong> estoselementos <strong>de</strong> docencia virtual, aunque es muyaconsejable el aprovechamiento al máximo <strong>de</strong> <strong>la</strong>shoras presenciales, se abren muchas posibilida<strong>de</strong>spara que un alumno con dificultad para asistir ac<strong>la</strong>se pueda realizar un seguimiento apropiado <strong>de</strong><strong>la</strong> asignatura gracias a toda <strong>la</strong> información yherramientas proporcionadas a través <strong>de</strong> Internet.En primer lugar hay que <strong>de</strong>stacar que tanto losíndices <strong>de</strong> contenidos <strong>de</strong> teoría como <strong>de</strong> practicase encuentran disponibles en WebCT. Estosíndices son sensibles a su selección <strong>de</strong> manera que<strong>de</strong>spliegan información <strong>de</strong>tal<strong>la</strong>da sobre loscontenidos, en<strong>la</strong>ces web <strong>de</strong> interés, <strong>de</strong>scripcionesbibliográficas, archivos con código fuente ycódigo ejecutable, etc.La organización y temporización <strong>de</strong> <strong>la</strong>asignatura se encuentra perfectamente <strong>de</strong>scrita através <strong>de</strong>l calendario que proporciona WebCT,don<strong>de</strong> a<strong>de</strong>más po<strong>de</strong>mos indicar fechas <strong>de</strong> entrega<strong>de</strong> prácticas, reuniones o eventos puntuales. Portanto, este calendario va a mantener una agendacon todas <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> <strong>la</strong> asignatura y esto vaa ser muy útil sobre todo a aquellos alumnos quetienen problemas <strong>de</strong> asistencia presencial a <strong>la</strong>sc<strong>la</strong>ses.Al finalizar cada tema <strong>de</strong> teoría, los grupos <strong>de</strong>trabajo confeccionarán una serie <strong>de</strong> preguntas,junto con sus respuestas, cubriendo cada uno <strong>de</strong>los objetivos propuestos inicialmente, es lo quehemos <strong>de</strong>nominado listado <strong>de</strong> pregunta <strong>de</strong>examen. El perfil <strong>de</strong> <strong>la</strong>s preguntas <strong>de</strong>be orientarsea <strong>la</strong> comprensión <strong>de</strong> <strong>la</strong> materia evitándose <strong>la</strong>spuramente memorísticas. Las diversas listas <strong>de</strong>cuestiones serán intercambiadas entre losmiembros <strong>de</strong>l mismo grupo para que puedanautoevaluarse con <strong>la</strong>s preguntas <strong>de</strong> loscompañeros. Después serán recopi<strong>la</strong>das por eldocente y, tras un proceso <strong>de</strong> revisión, seremitirán al resto <strong>de</strong> los grupos. El objetivo <strong>de</strong>este trabajo es que el alumno repase <strong>de</strong> formacontinuada <strong>la</strong> asignatura y que comprenda cadauno <strong>de</strong> los objetivos propuestos.Una vez que el profesor haya comprobado que<strong>la</strong>s preguntas son apropiadas, se incluirán <strong>de</strong>ntro<strong>de</strong>l catálogo <strong>de</strong> preguntas <strong>de</strong> evaluación <strong>de</strong>WebCT. Un par <strong>de</strong> semanas <strong>de</strong>spués <strong>de</strong>Figura 3. Foro sobre Nuevas Tecnologías <strong>de</strong> <strong>la</strong> Programación en WebCT.


acabar un tema cada alumno pasara unaautoevaluación basada en preguntas <strong>de</strong> tipo testextraídas <strong>de</strong>l catalogo confeccionado por suscompañeros <strong>de</strong> c<strong>la</strong>se. Esta prueba no tiene tantointerés <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong> evaluacióncomo <strong>de</strong> comprobar <strong>la</strong> asimi<strong>la</strong>ción <strong>de</strong> contenidos.Al final <strong>de</strong>l curso y siguiendo esta mismadinámica se realizará un examen final cuyoobjetivo es establecer una nota <strong>de</strong> teoría comoparte <strong>de</strong> <strong>la</strong> calificación final.En cuanto a <strong>la</strong>s prácticas, cada grupo tendráque resolver unos cuantos ejercicios en grupo,siguiendo el proceso <strong>de</strong> discusión ya mencionado,y cada miembro <strong>de</strong> grupo resolveráindividualmente algunos más. Las últimasprácticas <strong>de</strong> <strong>la</strong> asignatura serán pequeñosproyectos <strong>de</strong> poca complejidad. Esto permitirá a<strong>la</strong>lumno <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong>s fases <strong>de</strong> análisis y diseñoantes <strong>de</strong> implementar el programa y adjuntar unadocumentación al <strong>de</strong>sarrollo, a pesar <strong>de</strong> que éstesea muy simple.Una vez evaluadas <strong>la</strong>s prácticas por elprofesor se irán publicando en <strong>la</strong> página webpropia <strong>de</strong> cada grupo.6. Tutorías.El tercer gran pi<strong>la</strong>r <strong>de</strong> <strong>la</strong> metodología docenteque se p<strong>la</strong>ntea es <strong>la</strong> tutoría u horas <strong>de</strong> atención a<strong>la</strong>lumnado. En realidad gran parte <strong>de</strong> este tiempo(3 horas semanales) se ha reconvertido enespacios <strong>de</strong>dicados a entrevistas con los grupos <strong>de</strong>trabajo, cambiando así el concepto tradicional <strong>de</strong>tutoría. Cada grupo dispondrá <strong>de</strong> una sesión <strong>de</strong> 30minutos aproximadamente cada dos semanas, a <strong>la</strong>cual van a asistir todos los integrantes <strong>de</strong>l grupo.Ésta se <strong>de</strong>dicará a:• Resolución <strong>de</strong> dudas que una vezdiscutidas por el grupo no hayan sidoc<strong>la</strong>rificadas satisfactoriamente.• Presentación <strong>de</strong>l trabajo pendiente (comopue<strong>de</strong> ser entrega <strong>de</strong> prácticas, <strong>de</strong> listas<strong>de</strong> cuestiones sobre los objetivos <strong>de</strong> cadatema, etc.).• Char<strong>la</strong> sobre <strong>la</strong> evolución <strong>de</strong> <strong>la</strong>asignatura o sobre cualquier problemapersonal que afecte al trabajo en grupo.A<strong>de</strong>más <strong>de</strong> estas entrevistas se disponen <strong>de</strong>horas <strong>de</strong> tutorías individualizadas don<strong>de</strong> cadaalumno pue<strong>de</strong> hacer consultas propias, bien <strong>de</strong>manera presencial en el <strong>de</strong>spacho o a través <strong>de</strong> losmecanismos <strong>de</strong> comunicación no presénciales quevamos a <strong>de</strong>scribir a continuación:• Correo electrónico, el alumno se dirigeal profesor para hacerle una consultaprivada y asíncrona. El profesor va apublicar el horario que va a <strong>de</strong>dicar pararespon<strong>de</strong>r estos correos, al menos un par<strong>de</strong> veces a <strong>la</strong> semana.• Foros <strong>de</strong> <strong>de</strong>bate, (Figura 3) el profesorparticipará en estos foros al igual que enel caso <strong>de</strong>l correo electrónico al menos unpar <strong>de</strong> veces semanales. El foroproporciona un método público yasíncrono <strong>de</strong> comunicación que facilita (afalta <strong>de</strong> un sistema FAQ) un catálogo <strong>de</strong>preguntas y respuestas a consultar porotros alumnos con idénticas dudas. Ennuestro caso se han <strong>de</strong>finido lossiguientes foros: Foro <strong>de</strong> Teoría, Foro <strong>de</strong>Practicas, Foro <strong>de</strong> Nuevas Tecnologías <strong>de</strong><strong>la</strong> Programación <strong>de</strong> manera general(recoge comentarios o tecnologías que nose encuentran enmarcadas <strong>de</strong> maneraestricta en los contenidos propios <strong>de</strong> <strong>la</strong>asignatura), Foro Libre que permite unacomunicación sin ningún tipo <strong>de</strong> reg<strong>la</strong>s nicondiciones (se pue<strong>de</strong>n tratar temas <strong>de</strong>ocio, sociedad, universidad, etc.). A estosforos se suman aquellos <strong>de</strong>finidos paracada uno <strong>de</strong> los grupos que son privadospara los miembros <strong>de</strong>l propio grupo ydon<strong>de</strong> ni siquiera el profesor tiene acceso.• Chat, esta forma <strong>de</strong> comunicaciónproporciona un medio público y síncrono<strong>de</strong> comunicación no presencial. Estoconlleva <strong>la</strong> sustitución <strong>de</strong> dos horas <strong>de</strong>tutorías presénciales en <strong>de</strong>spacho por <strong>la</strong>disponibilidad durante <strong>la</strong>s mismas <strong>de</strong>lprofesor a través <strong>de</strong> chat. Se han abiertodiferentes canales chat: Chat paraTutorías (abierto sólo dos horas a <strong>la</strong>semana), Chat para contenidos yorganización <strong>de</strong> <strong>la</strong> asignatura y ChatLibre.• Pizarra, consiste en una ventana conherramientas <strong>de</strong> texto y dibujo quepermite al profesor expresarse con más<strong>de</strong>talle gráfico que en los foros y chats.Aunque es un medio <strong>de</strong> comunicaciónsíncrono, también se pue<strong>de</strong>n grabar <strong>la</strong>s


contestaciones más importantes parapresentar<strong>la</strong>s más a<strong>de</strong><strong>la</strong>nte cuando algúnalumno vuelva a preguntar por <strong>la</strong> mismacuestión. Dentro <strong>de</strong> <strong>la</strong> asignatura seorganiza durante el mismo tiempo<strong>de</strong>dicado al chat, <strong>de</strong> manera que sealternará entre uno u otro sistema<strong>de</strong>pendiendo <strong>de</strong> si <strong>la</strong> conversación chatnecesita <strong>de</strong> una explicación gráfica que sepue<strong>de</strong> proporcionar con <strong>la</strong> pizarra.7. Sistema <strong>de</strong> evaluación.Como ya hemos comentado anteriormente elsistema <strong>de</strong> evaluación va a ser continuo a lo <strong>la</strong>rgo<strong>de</strong> todo el curso. La evaluación final <strong>de</strong> <strong>la</strong>asignatura es el resultado <strong>de</strong> un compendio <strong>de</strong>calificaciones o evaluaciones parciales:• Entrega <strong>de</strong> practicas, es fundamental elseguimiento <strong>de</strong> <strong>la</strong> asignatura día a día yaunque no sea obligatoria <strong>la</strong> presencia sique es conveniente que se realicenentregas periódicas <strong>de</strong> prácticas yejercicios que comprueben el a<strong>de</strong>cuadoritmo <strong>de</strong> trabajo y seguimiento <strong>de</strong> <strong>la</strong>asignatura por parte <strong>de</strong> los alumnos.• Defensa en grupo y/o individual <strong>de</strong>alguna <strong>de</strong> <strong>la</strong>s prácticas más importanterealizadas.• Evaluación <strong>de</strong> <strong>la</strong>s preguntas <strong>de</strong> examenpresentadas para cada tema.• Realización <strong>de</strong> seminarios.• Examen final <strong>de</strong> tipo test.La <strong>de</strong>fensa en grupo consiste en un simu<strong>la</strong>cro<strong>de</strong> presentación comercial. Los alumnos <strong>de</strong>l grupoasumen el rol <strong>de</strong> un grupo <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>dores quepresentan <strong>de</strong> manera convincente una aplicación asus clientes. Para ello los alumnos utilizan todosaquellos recursos que estimen necesarios(presentación PowerPoint, cañón multimedia,memorando técnicos, etc.). El profesor elige “insitu” a un portavoz, <strong>de</strong> esta manera se asegura quetodos los miembros <strong>de</strong> grupo se han preparado <strong>la</strong>presentación. Y será este el que <strong>de</strong>spliegue <strong>la</strong>presentación ante el resto <strong>de</strong> compañeros <strong>de</strong> c<strong>la</strong>seque se dispondrán a preguntar sobre cualquier<strong>de</strong>talle técnico o funcional propio <strong>de</strong> <strong>la</strong> aplicaciónen vías <strong>de</strong> establecer a eficiencia y calidad <strong>de</strong> <strong>la</strong>solución. Al finalizar <strong>la</strong> presentación serán losalumnos <strong>de</strong> c<strong>la</strong>se los que otorguen <strong>la</strong> notamediante su satisfacción con lo expuesto. Esta esuna forma <strong>de</strong> <strong>de</strong>smitificar el hecho <strong>de</strong> que <strong>la</strong>s notas<strong>la</strong>s pone el profesor.El examen final se realizará a través <strong>de</strong>WebCT. Agilizándose <strong>de</strong> manera significativa elproceso <strong>de</strong> evaluación pues los resultados seobtienen <strong>de</strong> manera inmediata y a<strong>de</strong>más seproporciona al alumno en tiempo real el catálogo<strong>de</strong> soluciones correctas, con lo cual el proceso <strong>de</strong>evaluación tiene un marcado carácter formativo.8. Resultados <strong>de</strong> <strong>la</strong> metodología.Los primeros resultados se han obtenido a partir<strong>de</strong> <strong>la</strong> interpretación <strong>de</strong> <strong>la</strong>s encuestas <strong>de</strong> calidad <strong>de</strong>enseñanza que realiza <strong>la</strong> Unidad <strong>de</strong> Evaluación <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Almería anualmente, y aunque serealizaron antes <strong>de</strong> que se introdujeran los elementos<strong>de</strong> docencia virtual, pue<strong>de</strong> ser muy significativa<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong> metodología <strong>de</strong> trabajoen grupo:• La metodología propuesta en estearticulo suscita un mayor interés por <strong>la</strong>asignatura, el alumno consigue una buenacompresión y asimi<strong>la</strong>ción <strong>de</strong> losconceptos y una consi<strong>de</strong>rable satisfaccióncon lo aprendido.• A<strong>de</strong>más se muestra una gran satisfaccióncon el sistema <strong>de</strong> evaluación.• La actitud y actuación <strong>de</strong> los grupos esmuy positiva lo cual genera un buenambiente <strong>de</strong> trabajo en c<strong>la</strong>se.• Los alumnos muestran gran interés porparticipar en <strong>la</strong> toma <strong>de</strong> <strong>de</strong>cisiones quetienen que ver con <strong>la</strong> marcha <strong>de</strong> <strong>la</strong>asignatura y con el proceso <strong>de</strong> enseñanza.• La valoración <strong>de</strong>l profesor se pue<strong>de</strong>consi<strong>de</strong>rar buena; contrastándo<strong>la</strong> con <strong>la</strong><strong>de</strong>l año anterior se <strong>de</strong>duce que estametodología favorece el grado <strong>de</strong>satisfacción <strong>de</strong>l alumno con re<strong>la</strong>ción a unmismo profesor. El hecho <strong>de</strong> que e<strong>la</strong>lumno participe en el proceso <strong>de</strong>calificación final favorece <strong>la</strong> “imagen”<strong>de</strong>l profesor que se <strong>de</strong>spren<strong>de</strong> <strong>de</strong> <strong>la</strong>“culpa” <strong>de</strong> ser quién aprueba o suspen<strong>de</strong>.


9. Conclusiones.Si analizamos el experimento metodológicoque se esta llevando a cabo se pue<strong>de</strong> concluir queesta metodología encuentra algunos problemas:• Logísticos, como el hecho <strong>de</strong> que para eltrabajo en grupo los alumnos necesitaríansa<strong>la</strong>s a<strong>de</strong>cuadas equipadas con mediosbibliográficos y <strong>de</strong> comunicación.• El experimento ha sido posible gracias aque el número <strong>de</strong> alumnos matricu<strong>la</strong>dosno ha sido muy elevado, ya que si estenúmero fuera superior habría querep<strong>la</strong>ntear algunas <strong>de</strong> <strong>la</strong>s actuaciones quehemos <strong>de</strong>scrito.• Otro problema es que el alumno no estáhabituado a esta forma <strong>de</strong> trabajar, con locual pasa un cierto tiempo hasta que llegaa confiar en el<strong>la</strong>, aunque <strong>de</strong>muestramucho más entusiasmo que con lossistemas tradicionales.Los resultados obtenidos indican algunasventajas:• El alumno adquiere una formación másrica pues a<strong>de</strong>más <strong>de</strong> llegar a dominar <strong>la</strong>scuestiones re<strong>la</strong>cionadas con loscontenidos propios <strong>de</strong> <strong>la</strong> asignatura,dispone <strong>de</strong> mayor capacidad <strong>de</strong>autoaprendizaje, <strong>de</strong> co<strong>la</strong>boración y <strong>de</strong>comunicación <strong>de</strong> todo lo aprendido.• El hecho <strong>de</strong> que el alumno sea capaz <strong>de</strong>apren<strong>de</strong>r nuevas habilida<strong>de</strong>s por sí sólo esfundamental <strong>de</strong>bido a que se va a<strong>de</strong>senvolver en un ambiente tecnológicoen continua transformación.Por último, sólo nos quedaría <strong>de</strong>sear que estemétodo se extendiera a un buen número <strong>de</strong>asignaturas, lo cual permitiría su total aceptación.La propuesta es factible <strong>de</strong>bido a que es aplicablea asignaturas <strong>de</strong> características simi<strong>la</strong>res (sobretodo optativas) <strong>de</strong> <strong>la</strong>s que abundan en los nuevosp<strong>la</strong>nes <strong>de</strong> estudios.Referencias Bibliográficas.[1] Peter J. Denning. Educating. A NewEngineer. Communications of theACM. pp 83-97. December. 1992.[2] Antonio Fernán<strong>de</strong>z, Nicolás Padil<strong>la</strong> yMerce<strong>de</strong>s Peralta. Metodologíadocente orientada a grupos <strong>de</strong>trabajo. III <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> Informática(JENUI´97) 1997, pp 471-478.Madrid. 1997.[3] Antonio Fernán<strong>de</strong>z, José AntonioPiedra y Miguel Ángel P<strong>la</strong>za. NuevasTecnologías <strong>de</strong> <strong>la</strong> Programación enInternet. Propuesta para <strong>la</strong>s <strong>Jornadas</strong><strong>de</strong> Enseñanza <strong>Universitaria</strong> <strong>de</strong>Informática (JENUI´02). Cáceres.2002.[4] Nicolás Padil<strong>la</strong>, Merce<strong>de</strong>s Peralta yAntonio Fernán<strong>de</strong>z. NuevaMetodología docente en Introduccióna <strong>la</strong> Programación. IV <strong>Jornadas</strong> <strong>de</strong>Enseñanza <strong>Universitaria</strong> <strong>de</strong>Informática (JENUI’98), pp 443-449.Andorra. 1998.[5] Tutorial WebCT. Dirección:http://www.WebCT.com.En<strong>la</strong>ces <strong>de</strong>interés.En<strong>la</strong>ces <strong>de</strong> interés.• http://www.ciberau<strong>la</strong>.es/Instituto Ca<strong>la</strong>sanz <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong>Educación. Entre sus objetivos están <strong>la</strong>investigación educativa, <strong>la</strong> formación <strong>de</strong>lprofesorado y dar servicios integrales acentros educativos• http://www.ciberau<strong>la</strong>.es/qua<strong>de</strong>rns/Qua<strong>de</strong>rnsDigital.net es una revista <strong>de</strong>nuevas Tecnologías en <strong>la</strong> Educación.Incluye Base <strong>de</strong> datos <strong>de</strong> recursoseducativos formada por alre<strong>de</strong>dor <strong>de</strong>2.200 URLs• http://www.educared.net/Página Web que ofrece infraestructuras yservicios sobre educación, a<strong>de</strong>más <strong>de</strong>experimentar con metodologías queincorporen nuevos usos <strong>de</strong> <strong>la</strong> red para <strong>la</strong>sinnovaciones pedagógicas


Utilización <strong>de</strong> Internet para <strong>la</strong> enseñanza <strong>de</strong> sistemas digitalesMiguel A. Vega Rodríguez, Juan M. Sánchez Pérez, Manuel Rubio <strong>de</strong>l So<strong>la</strong>r,Francisco Chávez <strong>de</strong> <strong>la</strong> O, Juan A. Gómez PulidoDepartamento <strong>de</strong> Informática. Universidad <strong>de</strong> ExtremaduraEscue<strong>la</strong> Politécnica. Campus Universitario, s/n. 10071 Cáceres. SpainE-mail: mavega@unex.es. Fax: +34-927-257202ResumenLas nuevas tecnologías <strong>de</strong> <strong>la</strong> información y <strong>la</strong>comunicación han creado gran<strong>de</strong>s expectativas eneducación, pues permiten superar <strong>la</strong>s limitaciones<strong>de</strong> tiempo y lugar, abaratando incluso los costes.A<strong>de</strong>más, no <strong>de</strong>be olvidarse que los mediosinformáticos ofrecen una serie <strong>de</strong> característicasque favorecen el aprendizaje significativo a través<strong>de</strong> activida<strong>de</strong>s <strong>de</strong> tipo interactivo. Por eso, nosparece importante su aplicación a <strong>la</strong> enseñanza <strong>de</strong><strong>la</strong> Informática, y en particu<strong>la</strong>r <strong>de</strong> los sistemasdigitales. En esta ponencia se presenta un sistemamultimedia, basado en Internet, que se está<strong>de</strong>sarrol<strong>la</strong>ndo con el fin <strong>de</strong> aplicarlo a <strong>la</strong> docencia<strong>de</strong> sistemas digitales en <strong>la</strong> asignaturaFundamentos <strong>de</strong> Informática. La ponenciapresenta una <strong>de</strong>scripción general <strong>de</strong> dicho sistema,así como <strong>de</strong> <strong>la</strong>s herramientas y métodos utilizadospara su construcción.1. IntroducciónInternet se está convirtiendo en un importanterecurso docente gracias a que permite superar <strong>la</strong>slimitaciones <strong>de</strong> lugar y tiempo, abaratando costes.Tampoco <strong>de</strong>be olvidarse el efecto que <strong>la</strong>interactividad tiene en el proceso <strong>de</strong> aprendizaje.Creemos, por tanto, muy importante <strong>de</strong>dicaresfuerzos en <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> propuestas yprototipos <strong>de</strong> enseñanza para impartir docencia através <strong>de</strong> Internet. En esta línea, <strong>de</strong>s<strong>de</strong> 1998nuestro grupo <strong>de</strong> investigación ha trabajado endiversos proyectos como EDONET ([4], proyecto<strong>de</strong> investigación IPR98A029) o TEDA ([7],proyecto <strong>de</strong> investigación IPR00A003). Gracias aEDONET (Entorno para <strong>la</strong> DOcencia sobreinterNET) se ha creado un entorno generalistapara <strong>la</strong> enseñanza a través <strong>de</strong> Internet, entorno queha sido aprovechado en proyectos posteriorescomo TEDA (Tele-Enseñanza paraDiscapacitados Auditivos). El proyecto TEDA hapermitido el <strong>de</strong>sarrollo <strong>de</strong> una p<strong>la</strong>taformaaudiovisual basada en Internet para ayuda a <strong>la</strong>enseñanza <strong>de</strong> <strong>la</strong> lengua. Aunque principalmente seestá utilizando para <strong>la</strong> tele-enseñanza <strong>de</strong> <strong>la</strong> lenguaa discapacitados auditivos, son muchos losposibles campos <strong>de</strong> aplicación. Por ejemplo, sepue<strong>de</strong> utilizar sin cambio alguno para <strong>la</strong>enseñanza <strong>de</strong>l Español a extranjeros o eneducación infantil, con unos beneficios simi<strong>la</strong>res alos que se están consiguiendo para el caso <strong>de</strong>discapacitados hipoacúsicos.En <strong>la</strong> actualidad, nos encontramos inmersosen el proyecto SD2I (Sistema para <strong>la</strong> Docencia <strong>de</strong>Sistemas Digitales a través <strong>de</strong> Internet). Esteproyecto surge <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> nuestrainvestigación a <strong>la</strong> docencia que impartimos. Comoocurre con el proyecto TEDA, SD2I también seapoya en EDONET. El objetivo global es el<strong>de</strong>sarrollo <strong>de</strong> un sistema para <strong>la</strong> enseñanza,control docente y evaluación <strong>de</strong>l aprendizaje através <strong>de</strong> Internet <strong>de</strong> parte <strong>de</strong> <strong>la</strong> materia <strong>de</strong> <strong>la</strong>asignatura Fundamentos <strong>de</strong> Informática. Enparticu<strong>la</strong>r, este sistema se centra en el temarioimpartido durante el primer cuatrimestre y<strong>de</strong>dicado a los sistemas digitales.La asignatura Fundamentos <strong>de</strong> Informática esuna asignatura obligatoria anual, <strong>de</strong> 15 créditos,<strong>de</strong>l primer curso <strong>de</strong> <strong>la</strong> Ingeniería Técnica <strong>de</strong>Telecomunicaciones: Sonido e Imagen (ITTSI),impartida en <strong>la</strong> Escue<strong>la</strong> Politécnica <strong>de</strong> Cáceres <strong>de</strong><strong>la</strong> Universidad <strong>de</strong> Extremadura (UEX), y con untotal <strong>de</strong> 119 alumnos en el curso académicoactual. El objetivo fundamental <strong>de</strong> <strong>la</strong> asignatura esdar una visión general y práctica <strong>de</strong> <strong>la</strong> Informáticaen sus dos vertientes: hardware y software. Poreste motivo, y al ser anual, se ha divido en dos


gran<strong>de</strong>s módulos, impartiéndose cada uno en uncuatrimestre:• Módulo I: Introducción. Representación <strong>de</strong> <strong>la</strong>Información. Sistemas Digitales.• Módulo II: Programación. Estructuras <strong>de</strong>Datos. Sistemas <strong>de</strong> Comunicación.El sistema SD2I se centra en el primermódulo, y en particu<strong>la</strong>r en los temas siguientes:• Tema 3. Especificación e implementación <strong>de</strong>sistemas combinacionales.• Tema 4. Módulos combinacionales básicos.• Tema 5. Especificación e implementación <strong>de</strong>sistemas secuenciales.El lector pue<strong>de</strong> consultar <strong>la</strong> referencia [6] paraobtener más información sobre el programa <strong>de</strong> <strong>la</strong>asignatura, y los temas específicos <strong>de</strong>dicados a <strong>la</strong>enseñanza <strong>de</strong> sistemas digitales.El resto <strong>de</strong> <strong>la</strong> ponencia se organiza comosigue. En <strong>la</strong> sección 2 se da una visión general <strong>de</strong><strong>la</strong> p<strong>la</strong>taforma que se está construyendo para <strong>la</strong>enseñanza <strong>de</strong> los sistemas digitales, indicando suscaracterísticas fundamentales. La sección 3 <strong>de</strong>tal<strong>la</strong>brevemente <strong>la</strong>s herramientas y métodos que sesiguen para <strong>la</strong> generación <strong>de</strong> los contenidosdocentes, ejercicios y control <strong>de</strong>l alumnado.Mientras en <strong>la</strong> sección 4 se indica el trabajo futuroque se tiene previsto realizar para completar elsistema. Finalmente, en <strong>la</strong> sección 5, se presentan<strong>la</strong>s conclusiones.software multimedia,...). En <strong>la</strong> actualidad, <strong>la</strong>p<strong>la</strong>taforma combina técnicas propias en lenguajeHTML [3], Java [1] y CGI [9], junto con softwarecomercial (Macromedia Authorware [2]).A<strong>de</strong>más, se encuentra estructurada en tres gran<strong>de</strong>ssecciones: teoría, ejercicios y control. En lossiguientes subapartados se <strong>de</strong>scribirán todas el<strong>la</strong>s.2.1. Sección <strong>de</strong> teoríaEn <strong>la</strong> sección <strong>de</strong> teoría se dan todos los conceptosteóricos que el alumno <strong>de</strong>be apren<strong>de</strong>r sobresistemas digitales. Esta sección se estructura endiversos temas, don<strong>de</strong> cada tema a su vez sesubdivi<strong>de</strong> en varias lecciones. Las lecciones sonaccesibles <strong>de</strong>s<strong>de</strong> cualquier computador conectadoa Internet, <strong>de</strong>s<strong>de</strong> el que se pue<strong>de</strong> seleccionarfácilmente <strong>la</strong> materia a estudiar (tema-lección),interactuando con el<strong>la</strong>. De esta forma los alumnospue<strong>de</strong>n acce<strong>de</strong>r al sistema tanto <strong>de</strong>s<strong>de</strong> su centrouniversitario como <strong>de</strong>s<strong>de</strong> su propio domicilio, conlo que se potencia el trabajo en casa y e<strong>la</strong>utoaprendizaje, redundando en una mejora <strong>de</strong> <strong>la</strong>calidad <strong>de</strong> <strong>la</strong> enseñanza.2. Descripción general <strong>de</strong> SD2IEl proyecto SD2I se está <strong>de</strong>sarrol<strong>la</strong>ndo durante elcurso académico actual, con <strong>la</strong> intención <strong>de</strong>tenerlo totalmente preparado para utilizarlo en elsiguiente curso académico. El proyecto se iniciótras <strong>la</strong> obtención <strong>de</strong> una ayuda para Proyectos <strong>de</strong>Innovación Docente, concedida por elVicerrectorado <strong>de</strong> Innovación Educativa y CalidadDocente, y el Instituto <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong>Educación (ambos <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Extremadura). Nuestro objetivo es facilitar y dotara los alumnos <strong>de</strong> una p<strong>la</strong>taforma <strong>de</strong> enseñanza,adaptada a sus necesida<strong>de</strong>s y característicasindividuales, que les permita apren<strong>de</strong>r <strong>de</strong> maneraprogresiva los conceptos más importantes sobresistemas digitales, aprovechando <strong>la</strong>s posibilida<strong>de</strong>sque ofrecen <strong>la</strong>s nuevas tecnologías (Internet,Figura 1. Una <strong>de</strong> <strong>la</strong>s páginas web <strong>de</strong> <strong>la</strong> sección <strong>de</strong> teoríaEn conclusión, el alumno pue<strong>de</strong> seleccionar eltema y lección concreta para comenzar con elestudio <strong>de</strong> los conceptos asociados, o continuar eltrabajo <strong>de</strong> días anteriores. Como reg<strong>la</strong> general,cada lección está formada por varias páginas webque contienen los conceptos correspondientes, quese muestran mediante textos, imágenes, tab<strong>la</strong>s,animaciones, etc. El alumno tiene libertad en todomomento para avanzar o retroce<strong>de</strong>r <strong>de</strong>ntro <strong>de</strong> unalección, así como para salir <strong>de</strong> <strong>la</strong> misma o inclusoentrar en otra distinta. Es <strong>de</strong>cir, junto a <strong>la</strong> facilidad


<strong>de</strong> uso <strong>de</strong>l sistema también <strong>de</strong>stacamos el hecho<strong>de</strong> que el alumno pue<strong>de</strong> autocontro<strong>la</strong>r su ritmo <strong>de</strong>trabajo. En <strong>la</strong> figura 1 se presenta una <strong>de</strong> <strong>la</strong>spáginas web asociadas con <strong>la</strong> sección <strong>de</strong> teoría, eneste caso <strong>de</strong>ntro <strong>de</strong>l tema 2 y <strong>la</strong> lección “2.2.Suficiencia <strong>de</strong>l Operador NOR”.2.2. Sección <strong>de</strong> ejerciciosEn <strong>la</strong> sección <strong>de</strong> ejercicios el alumno pue<strong>de</strong>respon<strong>de</strong>r a colecciones <strong>de</strong> preguntas <strong>de</strong>autoevaluación (<strong>de</strong> 5 a 20 preguntas porcolección), siendo en todo momento tutorizado ycorregido por el sistema. Las preguntas <strong>de</strong>autoevaluación están re<strong>la</strong>cionadas con el tema ylección en <strong>la</strong> que se encuentra en cada instante e<strong>la</strong>lumno. Los ejercicios <strong>de</strong> autoevaluación pue<strong>de</strong>nser <strong>de</strong> muchos tipos. Como ejemplo, acontinuación enumeramos algunos <strong>de</strong> ellos:• Se realiza una pregunta tipo test en <strong>la</strong> que elestudiante <strong>de</strong>be marcar <strong>la</strong> opción correcta.• Se muestra una expresión algebraica y e<strong>la</strong>lumno <strong>de</strong>be seleccionar <strong>la</strong> equivalente entrevarias opciones.• Se muestra el esquema <strong>de</strong> varios circuitos y elestudiante <strong>de</strong>be seleccionar el correcto segúnel enunciado.• En ambos <strong>la</strong>dos <strong>de</strong> pantal<strong>la</strong> aparecenimágenes que el alumno <strong>de</strong>be emparejar (p.e.<strong>la</strong> representación europea <strong>de</strong> <strong>la</strong>s puertaslógicas con <strong>la</strong> representaciónnorteamericana). El emparejamiento serealiza haciendo clic sobre <strong>la</strong>s imágenes yarrastrándo<strong>la</strong>s hacia su supuesta pareja.• En un <strong>la</strong>do <strong>de</strong> pantal<strong>la</strong> aparecen expresionesalgebraicas (u otro tipo <strong>de</strong> texto) y en el otrolos circuitos correspondientes. El estudiante<strong>de</strong>be emparejarlos, al igual que en el casoanterior.• Se muestran en pantal<strong>la</strong> mapas <strong>de</strong> Karnaughque el alumno <strong>de</strong>be resolver, bien paraindicar su solución o bien para indicar cuál<strong>de</strong> todos ellos es <strong>la</strong> respuesta correcta.• Se muestra un circuito por pantal<strong>la</strong> que elestudiante <strong>de</strong>be analizar <strong>de</strong> varias formassegún el caso: indicando el valor <strong>de</strong> <strong>la</strong> señal<strong>de</strong> salida, <strong>de</strong> <strong>la</strong>s señales intermedias en variospuntos <strong>de</strong> circuito, etc.• Se realiza cierta pregunta apoyada con <strong>la</strong>imagen <strong>de</strong> un circuito, su tab<strong>la</strong> <strong>de</strong> verdad,etc. y el alumno <strong>de</strong>be teclear <strong>la</strong> respuestacorrecta: expresión algebraica asociada, tipo<strong>de</strong> circuito, …• Etc.Entre <strong>la</strong>s funcionalida<strong>de</strong>s ofrecidas en <strong>la</strong>sección <strong>de</strong> ejercicios <strong>de</strong>stacan: el po<strong>de</strong>r avanzarlibremente <strong>de</strong> un ejercicio a otro, o salir incluso <strong>de</strong><strong>la</strong> colección <strong>de</strong> ejercicios, el po<strong>de</strong>r hacer clicsobre un botón para obtener directamente <strong>la</strong>solución <strong>de</strong>l ejercicio, o sobre otro que permiteobtener ayuda (“pistas”) para solucionarlo. Losresultados <strong>de</strong> esta interactividad (tiempo <strong>de</strong>aprendizaje, respuestas a <strong>la</strong>s cuestiones,evaluaciones, pidió ayuda o no, necesitó consultar<strong>la</strong> solución, etc.) son gestionados y almacenadospor <strong>la</strong> sección <strong>de</strong> control <strong>de</strong> SD2I. Asíconoceremos el rendimiento <strong>de</strong> los estudiantes y<strong>la</strong> calidad <strong>de</strong> <strong>la</strong>s lecciones <strong>de</strong>sarrol<strong>la</strong>das (controldocente y evaluación <strong>de</strong> los alumnos, generación<strong>de</strong> estadísticas, etc.). La figura 2 presenta, comoejemplo, uno <strong>de</strong> los múltiples ejercicios <strong>de</strong>autoevaluación <strong>de</strong>l sistema.Figura 2. Ejemplo <strong>de</strong> ejercicio <strong>de</strong> autoevaluación2.3. Sección <strong>de</strong> controlLa sección control se apoya en el hecho <strong>de</strong> que,según hemos explicado, <strong>la</strong> información generadacomo consecuencia <strong>de</strong> <strong>la</strong> interactividad <strong>de</strong>lusuario con el sistema se registra internamente. Es<strong>de</strong>cir, el servidor monitoriza y almacena, en unformato dado y <strong>de</strong>ntro <strong>de</strong> una base <strong>de</strong> datos, losresultados <strong>de</strong>l proceso <strong>de</strong> aprendizaje. De maneraque esta información pue<strong>de</strong> ser utilizada por loseducadores como elemento <strong>de</strong> juicio para po<strong>de</strong>revaluar el rendimiento <strong>de</strong>l alumno. Esta secciónsólo es accesible por los profesores, que entran en


<strong>la</strong> misma <strong>de</strong> forma local o remota, mediante c<strong>la</strong>ve<strong>de</strong> acceso. Los alumnos sólo pue<strong>de</strong>n conoceralgunas parce<strong>la</strong>s <strong>de</strong> <strong>la</strong> información <strong>de</strong>l resultado<strong>de</strong> su interacción (calificación <strong>de</strong> <strong>la</strong> prueba,porcentajes <strong>de</strong> éxito, etc.), que obtienen a través<strong>de</strong> <strong>la</strong> sección <strong>de</strong> ejercicios. Dentro <strong>de</strong> esta secciónlo primero que se le muestra al profesor es unapágina con el listado <strong>de</strong> alumnos, <strong>de</strong> los cuales elprofesor seleccionará el alumno a evaluar.Posteriormente, en otra pantal<strong>la</strong> se mostrarán <strong>la</strong>sdistintas sesiones <strong>de</strong> trabajo realizadas por esealumno, según fecha-hora y tema, y <strong>de</strong> nuevo elprofesor <strong>de</strong>berá indicar <strong>la</strong> sesión <strong>de</strong>seada. De estaforma obtendrá los datos asociados al alumno ysesión indicados. La figura 3 muestra una pantal<strong>la</strong>con el seguimiento <strong>de</strong> <strong>la</strong> evolución <strong>de</strong> un alumnotras realizar una colección <strong>de</strong> 10 ejercicios <strong>de</strong>ltema 2. En esta figura po<strong>de</strong>mos observar que seregistran datos como: alumno que realizó el test,fecha y hora <strong>de</strong> realización, el tipo <strong>de</strong> ejerciciosrealizados, el tiempo que se ha tardado enrespon<strong>de</strong>r a cada pregunta, el número <strong>de</strong> intentoso fallos, si pidió solución, etc.dispositivos multimedia. Así mismo, se dispone<strong>de</strong> software comercial (Macromedia Authorware[2]), para el diseño <strong>de</strong> páginas web, sistemas <strong>de</strong>preguntas y respuestas, y e<strong>la</strong>boración <strong>de</strong>contenidos docentes. En particu<strong>la</strong>r, se estánconstruyendo un conjunto <strong>de</strong> estructuras genéricasy bibliotecas con una serie <strong>de</strong> elementosAuthorware que posteriormente se utilizan para el<strong>de</strong>sarrollo <strong>de</strong> los contenidos docentes, ejercicios<strong>de</strong> autoevaluación y el sistema <strong>de</strong> control <strong>de</strong><strong>la</strong>lumnado. En <strong>la</strong> figura 4 se muestra un ejemplo<strong>de</strong> <strong>la</strong>s estructuras generadas con Authorware en eldiseño <strong>de</strong>l sistema SD2I.Figura 4. Estructuras y bibliotecas generadas medianteAuthorwareFigura 3. Página web con información sobre losresultados obtenidos tras <strong>la</strong> realización <strong>de</strong> una prueba3. Herramientas y métodosPara el <strong>de</strong>sarrollo <strong>de</strong> SD2I se dispone <strong>de</strong> unservidor que sirve <strong>de</strong> soporte al sistema docente através <strong>de</strong> Internet. El servidor, bajo Windows NTServer 4.0, ofrece servicios <strong>de</strong> administración ypublicación <strong>de</strong> páginas web (WWW), <strong>de</strong>transferencia <strong>de</strong> ficheros (FTP), Gopher, correoelectrónico, listas <strong>de</strong> distribución <strong>de</strong> correocompatible con Majordomo, así como diversosRespecto a los contenidos docentes, indicarque éstos se almacenan con una estructura yformato estándar, <strong>de</strong> manera que es posiblegenerarlos en PCs no conectados en red y ajenosal servidor, para posteriormente ser administradospor el servidor.Por su parte, toda <strong>la</strong> información obtenida <strong>de</strong><strong>la</strong> realización <strong>de</strong> los ejercicios <strong>de</strong> autoevaluaciónpor parte <strong>de</strong>l alumnado es almacenadainternamente, sin que el usuario tengaconocimiento <strong>de</strong> ello. Esta información generadaautomáticamente por el sistema se almacena enuna base <strong>de</strong> datos que contiene <strong>la</strong>s tab<strong>la</strong>snecesarias para <strong>la</strong> gestión <strong>de</strong> toda <strong>la</strong> información:información <strong>de</strong> alumnos, información <strong>de</strong>profesores (para el acceso restringido al sistema),información <strong>de</strong> ejercicios, información <strong>de</strong>interacción con el sistema, etc. La conexióninterna entre nuestro sistema y <strong>la</strong> base <strong>de</strong> datos serealiza a través <strong>de</strong> ODBC (Open DataBaseConnectivity), por lo que es fácil cambiar el


sistema <strong>de</strong> gestión <strong>de</strong> base <strong>de</strong> datos. Esta conexiónnos permite, entre otras cosas, modificar los datos<strong>de</strong> <strong>la</strong>s diferentes tab<strong>la</strong>s u obtenerlos paramostrarlos en pantal<strong>la</strong> cuando un profesor <strong>de</strong>seeconsultarlos. Las confi<strong>de</strong>ncialidad <strong>de</strong> los datosgenerados está asegurada por dos motivos. Por un<strong>la</strong>do, al residir éstos en el servidor, no cabe <strong>la</strong>posibilidad <strong>de</strong> “retocarlos” <strong>de</strong>s<strong>de</strong> fuera. Por otro<strong>la</strong>do, el acceso a los mismos se encuentrarestringido mediante c<strong>la</strong>ve. C<strong>la</strong>ve que sólo poseeel profesor correspondiente, y que se gestionamediante dos niveles <strong>de</strong> autentificación. En primerlugar, existe un nivel <strong>de</strong> autentificación bajoApache [5], para permitir el acceso al sitio webdon<strong>de</strong> se encuentra el sistema SD2I. En segundolugar, SD2I restringe el acceso a <strong>la</strong> base <strong>de</strong> datosmediante c<strong>la</strong>ve gestionada a través <strong>de</strong> ODBC. Lafigura 3 presentaba un ejemplo <strong>de</strong> supervisión porparte <strong>de</strong>l sistema.Respecto al sistema <strong>de</strong> c<strong>la</strong>ves incluido, nosólo cada profesor posee su propia c<strong>la</strong>ve, sino quecada alumno también posee <strong>la</strong> suya. De estaforma, cada alumno <strong>de</strong>be introducir su c<strong>la</strong>ve antes<strong>de</strong> entrar en el sistema, y así el sistema loi<strong>de</strong>ntifica <strong>de</strong> forma unívoca evitando: que unalumno sup<strong>la</strong>nte a otro y <strong>de</strong>svirtúe sus resultadosacadémicos en <strong>la</strong> interacción <strong>de</strong>l sistema, que unalumno conozca datos <strong>de</strong> interés sobre otrodistinto, etc. Como ya hemos comentado, <strong>la</strong>sc<strong>la</strong>ves <strong>de</strong> los profesores poseen mayoresprivilegios, puesto que permiten acce<strong>de</strong>r a toda <strong>la</strong>información <strong>de</strong>l sistema (también a <strong>la</strong> <strong>de</strong>supervisión <strong>de</strong> alumnado), siendo éstos los quedan <strong>de</strong> alta o baja a los alumnos.4. Trabajo futuroAunque ya se pue<strong>de</strong>n observar los primerosresultados <strong>de</strong>l sistema SD2I (visitar <strong>la</strong> dirección[8]), lo cierto es que aún no se ha finalizado suconstrucción. De hecho, se ha pensado en <strong>la</strong>incorporación <strong>de</strong> nuevas capacida<strong>de</strong>s <strong>de</strong>simu<strong>la</strong>ción, animación e interacción complejas,que reduzcan aún más el tiempo <strong>de</strong> aprendizaje, yaumenten más si cabe <strong>la</strong> motivación <strong>de</strong> losalumnos. También se preten<strong>de</strong>n añadir otrassecciones para permitir que los alumnos puedan<strong>de</strong>scargar material didáctico, ver <strong>la</strong> bibliografíamás a<strong>de</strong>cuada, informarse <strong>de</strong> <strong>la</strong>s últimasnoveda<strong>de</strong>s, consultar sus dudas (tutoríasvirtuales), encontrar respuestas a <strong>la</strong>s preguntasmás habituales (FAQs), etc.Una vez se concluya <strong>la</strong> fase <strong>de</strong> construcción,parte <strong>de</strong>l equipo <strong>de</strong> trabajo se <strong>de</strong>dicará a evaluar elsistema en profundidad, contemp<strong>la</strong>ndo todas <strong>la</strong>sposibilida<strong>de</strong>s y casos que se puedan presentar. Ellistado <strong>de</strong> posibles errores se irá pasando,conforme se vayan <strong>de</strong>tectando, al resto <strong>de</strong>componentes <strong>de</strong>l equipo, que se <strong>de</strong>dicarán a <strong>la</strong><strong>de</strong>puración <strong>de</strong> errores en paralelo.Más aún, el sistema será evaluado por parte <strong>de</strong>los alumnos. Es <strong>de</strong>cir, una vez concluido, sepedirá a los alumnos matricu<strong>la</strong>dos en <strong>la</strong> asignaturaFundamentos <strong>de</strong> Informática que evalúen elsistema <strong>de</strong>sarrol<strong>la</strong>do. De esta forma, se <strong>de</strong>tectaránlos <strong>de</strong>fectos y virtu<strong>de</strong>s <strong>de</strong>l sistema SD2I frente almo<strong>de</strong>lo <strong>de</strong> enseñanza tradicional. Esta evaluaciónse llevará a cabo mediante <strong>la</strong> utilización <strong>de</strong>lsistema <strong>de</strong> manera masiva por parte <strong>de</strong> losalumnos, y <strong>la</strong> realización <strong>de</strong> encuestas a losmismos. Los errores y <strong>de</strong>ficiencias que se <strong>de</strong>tectenpor parte <strong>de</strong> los alumnos, serán <strong>de</strong>purados,buscando que el sistema esté totalmente preparadopara el curso académico siguiente. Finalmente, serealizará <strong>la</strong> documentación <strong>de</strong>l sistema para <strong>de</strong>esta forma permitir su fácil mantenimiento y uso(tanto por profesores como por alumnos).También es importante resaltar queAuthorware permite tanto <strong>la</strong> edición <strong>de</strong> contenidospara su imp<strong>la</strong>ntación en un servidor WWW yvisible <strong>de</strong>s<strong>de</strong> un navegador, como su preparaciónpara <strong>la</strong> distribución en formato CD. Por estemotivo, se prevé que <strong>la</strong> utilización final <strong>de</strong>lsistema se hará mediante ambas alternativas: uso através <strong>de</strong> Internet y distribución <strong>de</strong>l sistema ensoporte CD.5. ConclusionesComo parte <strong>de</strong> nuestros esfuerzos en <strong>la</strong> mejora <strong>de</strong><strong>la</strong> enseñanza, <strong>de</strong>bemos aplicar todos los recursosque nos proporcionan los avances técnicos, como<strong>la</strong>s tecnologías multimedia e Internet, para<strong>de</strong>sarrol<strong>la</strong>r <strong>de</strong> <strong>la</strong> mejor manera posible <strong>la</strong>capacidad y conocimientos <strong>de</strong> nuestros alumnos.En este sentido, estas tecnologías también <strong>de</strong>benaplicarse en <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> Informática, y enparticu<strong>la</strong>r <strong>de</strong> los sistemas digitales.En este trabajo hemos presentado el sistemaSD2I, que se está <strong>de</strong>sarrol<strong>la</strong>ndo para <strong>la</strong> enseñanza,


control docente y evaluación <strong>de</strong>l aprendizaje através <strong>de</strong> Internet <strong>de</strong> <strong>la</strong> materia “SistemasDigitales”, impartida en <strong>la</strong> asignaturaFundamentos <strong>de</strong> Informática <strong>de</strong> primero <strong>de</strong> <strong>la</strong>ITTSI <strong>de</strong> <strong>la</strong> UEX. El sistema comenzó a<strong>de</strong>sarrol<strong>la</strong>rse a principios <strong>de</strong>l curso académicoactual (2001/2002), y se prevé su finalizaciónantes <strong>de</strong> que acabe el mismo.Una vez el sistema SD2I se encuentretotalmente <strong>de</strong>sarrol<strong>la</strong>do podrá ser utilizado no sólo<strong>de</strong>ntro <strong>de</strong> esta asignatura, sino también <strong>de</strong>ntro <strong>de</strong>otras muchas (Sistemas Digitales, ElectrónicaDigital, Sistemas Electrónicos Digitales, etc.),<strong>de</strong>dicadas a <strong>la</strong> temática <strong>de</strong> los sistemas digitales, yque se imparten en los primeros cursos <strong>de</strong> muchas<strong>de</strong> <strong>la</strong>s Ingenierías en <strong>la</strong> mayoría <strong>de</strong> Universida<strong>de</strong>s.Referencias[1] Campione, M.; Alrath, K.W. The JavaTutorial. Object Oriented Programming forthe INTERNET. Addison-Wesley, 1998.[2] Kellog, O.; Ziajka, J. Authorware 5 AttainAuthorized. Peachpit Press, 1998.[3] Ray, D.S.; Ray, E.J. Mastering HTML 4.0.Sybex, 1997.[4] Sánchez, J.C.; Sánchez, J.M.; Gómez, J.A.EDONET: Sistema Piloto para <strong>la</strong> Docencia através <strong>de</strong> Internet. <strong>VIII</strong> Congreso <strong>de</strong>Innovación Educativa en Enseñanzas Técnicas/ I International Congress in Quality and inTechnical Education Innovation, Donostia-San Sebastián, vol. 2, pp. 25-33, Septiembre2000.[5] The Apache Software Foundation.http://www.apache.org, 2002.[6] Vega, M.A. http://atc.unex.es/mavega/FI.htm,2002.[7] Vega, M.A.; Sánchez, J.M.; Gómez, J.A.;Chávez, F.; Fernán<strong>de</strong>z, F. Tele-Enseñanza:Investigación y Proyectos. III <strong>Jornadas</strong>Multimedia Educativo: Nuevos AprendizajesVirtuales, Barcelona, Junio 2001.[8] Vega, M.A.; Sánchez, J.M.; Rubio, M.;Chávez, F.http://edonet.unex.es/Digitales/Digitales.htm,2002.[9] Weinman, W.E. The CGI Book. New Ri<strong>de</strong>rsPublishing, 1996.


Tema estratégicoFomento <strong>de</strong> habilida<strong>de</strong>s<strong>de</strong> trabajo en grupo


Propuesta metodológica para <strong>la</strong> mejora <strong>de</strong> <strong>la</strong> calidady <strong>la</strong> excelencia <strong>de</strong> <strong>la</strong> educación superior en informática medianteel fomento <strong>de</strong>l trabajo en equipoJosé María Gutiérrez, Javier Macías, José Ramón Hilera, José Antonio GutiérrezDept. Ciencias <strong>de</strong> <strong>la</strong> ComputaciónUniversidad <strong>de</strong> Alcalá28871 Alcalá <strong>de</strong> Henares MADRIDe-mail: {josem.gutierrez, javier.macias, jose.hilera, jantonio.gutierrez}@uah.esResumenSe presentan <strong>la</strong>s i<strong>de</strong>as exploradas y aplicadas y losresultados obtenidos durante el curso 2001/02 con<strong>la</strong> intención <strong>de</strong> fomentar el trabajo en equipo entrelos estudiantes <strong>de</strong> primero <strong>de</strong> Ingeniería en Informática<strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alcalá (UA). Elcampo <strong>de</strong> trabajo elegido ha sido el <strong>de</strong> <strong>la</strong>s asignaturas<strong>de</strong> Laboratorio <strong>de</strong> Programación, dado sucarácter eminentemente práctico que permite eltrabajo en equipo como forma natural <strong>de</strong> <strong>de</strong>sarrollo.1. MotivaciónTradicionalmente se han observado <strong>de</strong>ficienciasen el rendimiento, comportamiento y actitud <strong>de</strong>los alumnos <strong>de</strong> Ingeniería en general, y <strong>de</strong> Informáticaen particu<strong>la</strong>r, en cuanto al trabajo en equipo.Es posible c<strong>la</strong>sificar los problemas observadosen dos grupos: por un <strong>la</strong>do tendríamos problemaspuramente logísticos y, por otro, problemas <strong>de</strong>actitud. En concreto, se han <strong>de</strong>tectado los siguientesproblemas causantes <strong>de</strong> <strong>la</strong>s <strong>de</strong>ficiencias en eltrabajo en equipo <strong>de</strong>l alumnado:• Problemas <strong>de</strong> distanciamiento físico <strong>de</strong>l lugar<strong>de</strong> resi<strong>de</strong>ncia durante el curso <strong>de</strong> los estudiantesy el centro. En nuestro caso, losalumnos proce<strong>de</strong>n <strong>de</strong> distintos lugares <strong>de</strong> resi<strong>de</strong>ncia,alejados entre sí, y estos alumnos se<strong>de</strong>sp<strong>la</strong>zan diariamente a <strong>la</strong> Universidad realizandotrayectos que superan <strong>la</strong> hora <strong>de</strong> duraciónen algunos casos. Esto es <strong>de</strong>bido a que<strong>la</strong> Universidad se encuentra en <strong>la</strong> Comunidad<strong>de</strong> Madrid, don<strong>de</strong> es re<strong>la</strong>tivamente frecuenteque <strong>la</strong>s personas se <strong>de</strong>sp<strong>la</strong>cen a sus centros<strong>de</strong> trabajo o estudio a través <strong>de</strong> <strong>la</strong>rgas distancias.A<strong>de</strong>más, <strong>la</strong> situación geográfica, periféricarespecto a <strong>la</strong> Comunidad <strong>de</strong> Madrid, ycasi en <strong>la</strong> <strong>de</strong> Castil<strong>la</strong>-La Mancha, <strong>la</strong> convierteen <strong>la</strong> Universidad para los alumnos <strong>de</strong> Guada<strong>la</strong>jara.Esto hace que alumnos que compartenc<strong>la</strong>se puedan vivir a 100 Km <strong>de</strong> distancia.• Problemas <strong>de</strong> falta <strong>de</strong> espacio <strong>de</strong>stinado altrabajo en equipo <strong>de</strong> los alumnos. En el EdificioPolitécnico <strong>de</strong> <strong>la</strong> UA, los lugares <strong>de</strong>stinadosal trabajo <strong>de</strong> los alumnos son <strong>la</strong> biblioteca[2], los <strong>la</strong>boratorios [3] y los corredores[4]. En <strong>la</strong> biblioteca no se pue<strong>de</strong> realizar trabajoen común, ya que <strong>la</strong>s normas necesarias<strong>de</strong> silencio no lo permiten, estando <strong>de</strong>stinadamás bien al estudio personal y <strong>la</strong> consulta <strong>de</strong>bibliografía. Los <strong>la</strong>boratorios están ocupadospermanentemente por c<strong>la</strong>ses y no tienenhorario <strong>de</strong> apertura libre para que los alumnos<strong>de</strong>sarrollen su trabajo. Por último tenemoslos corredores que, en el Edificio Politécnico,ocupan gran cantidad <strong>de</strong> espacio yestán concebidos como una zona <strong>de</strong> encuentropara los alumnos, con bancos y mesasgran<strong>de</strong>s y móviles, pero sin ningún materia<strong>la</strong>dicional <strong>de</strong> tipo técnico. Este es el único lugar<strong>de</strong>l edificio en el que se pue<strong>de</strong> realizartrabajo en equipo pero, por motivos obvios,no es el más recomendable y su uso no estámuy extendido, aunque en ocasiones se pue-


<strong>de</strong>n encontrar, en <strong>la</strong>s zonas más tranqui<strong>la</strong>s,grupos <strong>de</strong> alumnos con or<strong>de</strong>nadores portátilespropios realizando trabajos.• Otra circunstancia que dificulta el trabajo enequipo es que <strong>la</strong>s prácticas que se p<strong>la</strong>ntean enlos <strong>la</strong>boratorios son suficientemente cortas,en el primer curso, para po<strong>de</strong>r ser realizadaspor un solo alumno. De hecho, es común quelos alumnos formen equipos estables para los<strong>la</strong>boratorios <strong>de</strong> todas <strong>la</strong>s asignaturas y se repartanel conjunto <strong>de</strong> <strong>la</strong>s prácticas para realizar<strong>la</strong>s<strong>de</strong> forma individual. Con esto se consigueque los alumnos realicen trabajo en co<strong>la</strong>boraciónpero, por otro <strong>la</strong>do, este tipo <strong>de</strong>reparto es in<strong>de</strong>seable en <strong>la</strong> enseñanza puestoque es equivalente a que cursen sólo <strong>la</strong> mitad<strong>de</strong> <strong>la</strong>s asignaturas cada uno. Esto no es lo quese preten<strong>de</strong>, dado que <strong>la</strong> unidad <strong>de</strong> <strong>de</strong>sarrollo<strong>de</strong> trabajo en común <strong>de</strong>be ser <strong>la</strong> asignatura yno el conjunto <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong>l curso.• Por otro <strong>la</strong>do, tenemos el hecho <strong>de</strong> que <strong>la</strong>sprácticas no se diseñan pensando en <strong>la</strong> realizaciónen equipo, <strong>de</strong> forma que resultara evi<strong>de</strong>nte<strong>la</strong> posibilidad <strong>de</strong> repartir el trabajo. Tansólo se crean prácticas <strong>de</strong> tamaño medio paraque parezca necesario realizar<strong>la</strong>s por más <strong>de</strong>una persona y se <strong>de</strong>ja en manos <strong>de</strong>l alumno <strong>la</strong><strong>de</strong>cisión <strong>de</strong>l reparto o co<strong>la</strong>boración. Esto escontraproducente, especialmente en los primeroscursos en los que los alumnos no estánacostumbrados a tomar ningún tipo <strong>de</strong> <strong>de</strong>cisióny al final el método <strong>de</strong> trabajo que aplicanes sentarse los dos a <strong>la</strong> vez y que uno trabajey el otro observe.• Por último, tenemos <strong>la</strong> actitud que presentanlos alumnos <strong>de</strong>s<strong>de</strong> hace años en re<strong>la</strong>ción asus compañeros. Esta re<strong>la</strong>ción se basa en unacompetición continua en lugar <strong>de</strong> una co<strong>la</strong>boración[1], lo que es totalmente contrario altrabajo en equipo.Ante estas dificulta<strong>de</strong>s, <strong>de</strong>bemos <strong>de</strong>dicar unaatención especial al trabajo en equipo, ya que esuno <strong>de</strong> los objetivos generales que se persigue enestas titu<strong>la</strong>ciones. Un Ingeniero en Informática<strong>de</strong>be trabajar en equipo, y es misión <strong>de</strong> <strong>la</strong> Universidadprepararlo para ello. Esto redundará en unaumento <strong>de</strong> <strong>la</strong> calidad y <strong>la</strong> excelencia <strong>de</strong> <strong>la</strong> educación<strong>de</strong>l alumno, que es uno <strong>de</strong> los objetivosperseguidos por <strong>la</strong> LOU [6].2. ObjetivosDada esta situación, se p<strong>la</strong>ntea el objetivo <strong>de</strong>fomentar el trabajo en equipo entre los alumnos.Este objetivo general, particu<strong>la</strong>rizado al contextoen el que nos encontramos, se concreta en lossiguientes objetivos más <strong>de</strong>tal<strong>la</strong>dos:• Iniciar <strong>de</strong>s<strong>de</strong> el primer cuatrimestre <strong>de</strong>l primercurso <strong>la</strong> transmisión a los alumnos <strong>de</strong> <strong>la</strong>s técnicas<strong>de</strong>l trabajo en equipo. Se usará para ello<strong>la</strong> asignatura <strong>de</strong> Laboratorio <strong>de</strong> Fundamentos<strong>de</strong> <strong>la</strong> Programación [7] por ser <strong>la</strong> que estámás directamente re<strong>la</strong>cionada con el trabajoque en su futuro profesional <strong>de</strong>sarrol<strong>la</strong>rá enequipo.• Conseguir que el alumno experimente <strong>la</strong>necesidad y <strong>de</strong>scubra <strong>la</strong> utilidad <strong>de</strong>l trabajoen equipo. Esto incluye <strong>la</strong> toma <strong>de</strong> conciencia<strong>de</strong> que en el trabajo en equipo es posibleobtener un resultado mayor que <strong>la</strong> propiasuma <strong>de</strong> <strong>la</strong>s partes implicadas (sinergia). Paralograrlo, será imprescindible que el alumnoaprenda, utilice y perfeccione <strong>la</strong>s técnicasbásicas <strong>de</strong>l trabajo en equipo [5].• Fomentar explícitamente el trabajo en equipodurante <strong>la</strong>s horas <strong>de</strong> c<strong>la</strong>se <strong>de</strong> <strong>la</strong>boratorio medianteejercicios especialmente diseñados paraello.• Facilitar el acceso <strong>de</strong> los alumnos a nuevastecnologías basadas en Internet que permitan<strong>la</strong> co<strong>la</strong>boración y el trabajo en equipo a distancia.IniciativasEjerciciosHerramientasConjunto para todoel grupo <strong>de</strong> alumnos.Por equipos.Control <strong>de</strong> versionesE-learningPara trabajoen equipoFigura 1. Diagrama <strong>de</strong> iniciativasPara calidad<strong>de</strong>l producto


3. Líneas <strong>de</strong> TrabajoCon los objetivos p<strong>la</strong>nteados, se han estudiado doslíneas <strong>de</strong> trabajo. Por un <strong>la</strong>do se han <strong>de</strong>sarrol<strong>la</strong>doejercicios para <strong>de</strong>scubrir en el alumno <strong>la</strong> necesidady <strong>la</strong> utilidad <strong>de</strong>l trabajo en equipo y, por otro,se ha trabajado en posibles herramientas <strong>de</strong> co<strong>la</strong>boracióna través <strong>de</strong> Internet como pue<strong>de</strong>n ser losservicios <strong>de</strong> directorio avanzados o los sistemas <strong>de</strong>control <strong>de</strong> versiones distribuidos (Figura 1). Tambiénse ha consi<strong>de</strong>rado <strong>la</strong> posibilidad <strong>de</strong> utilizarherramientas <strong>de</strong> e-learning como tecnología <strong>de</strong>soporte que permitiera atacar el problema <strong>de</strong> <strong>la</strong>falta <strong>de</strong> espacio físico <strong>de</strong>dicado específicamentepara el trabajo <strong>de</strong> co<strong>la</strong>boración, mediante <strong>la</strong> creación<strong>de</strong> un espacio <strong>de</strong> trabajo virtual.De estas dos líneas <strong>de</strong> trabajo, en el momentoactual, se ha empezado a trabajar en <strong>la</strong> primera(ejercicios), y se han p<strong>la</strong>nteado dos posibilida<strong>de</strong>s:a) Desarrol<strong>la</strong>r un ejercicio común para <strong>la</strong> globalidad<strong>de</strong>l grupo <strong>de</strong> <strong>la</strong>boratorio en el cual cadaalumno o equipo tenga una misión concreta(Figura 2).Desarrollo conjunto <strong>de</strong> un sistema softwareMódulo softwarePersonal <strong>de</strong> <strong>de</strong>sarrolloFigura 2. Esquema <strong>de</strong> un <strong>de</strong>sarrollo en equipob) Crear una serie <strong>de</strong> ejercicios sencillos, distribuiblesen varias sesiones, que requieran <strong>la</strong>co<strong>la</strong>boración (Figura 3).t 1t 2t it n. . . . . .Evolución en el tiempo <strong>de</strong> un módulo softwareMódulo softwarePersonal <strong>de</strong> mantenimientoFigura 3. Esquema <strong>de</strong>l mantenimiento <strong>de</strong> un móduloLa primera <strong>de</strong> <strong>la</strong>s opciones p<strong>la</strong>ntea una serieimportante <strong>de</strong> inconvenientes en el contexto en elque nos encontramos. Uno <strong>de</strong> ellos es <strong>la</strong> dificultad<strong>de</strong> implicar a los alumnos en un proyecto <strong>de</strong> estaenvergadura en un <strong>la</strong>boratorio <strong>de</strong> primer curso<strong>de</strong>bido a que acusan una importante falta <strong>de</strong> iniciativa,a<strong>de</strong>más <strong>de</strong> no estar asentada aún <strong>la</strong> re<strong>la</strong>ción<strong>de</strong> compañerismo, que con el tiempo se<strong>de</strong>berá <strong>de</strong>sarrol<strong>la</strong>r entre ellos, dado el poco tiempoque han trabajado aún juntos. Esta falta <strong>de</strong> re<strong>la</strong>ciónhace difícil que tomen responsabilida<strong>de</strong>scompartidas en un trabajo conjunto <strong>de</strong> esta magnitud.Otro obstáculo se <strong>de</strong>be a que completar el<strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> aplicación precisará <strong>de</strong> <strong>la</strong> participacióny el compromiso <strong>de</strong> todos los alumnos,cuestión que no es fácil <strong>de</strong> lograr teniendo encuenta que aquellos alumnos que no tengan suficienteinterés en <strong>la</strong> asignatura o que por algunarazón tengan que abandonar<strong>la</strong>, no aportarán suparte <strong>de</strong>l trabajo, por lo que no se podría completarel sistema en su totalidad. Nótese que el hecho<strong>de</strong> no terminar el sistema sería una causa importante<strong>de</strong> insatisfacción entre los alumnos <strong>de</strong>l grupo<strong>de</strong> <strong>la</strong>boratorio que sí hayan trabajado y entregadosu parte. Estos inconvenientes, junto con el hecho<strong>de</strong> que el alumno en primero aún no posee, engeneral, suficientes conocimientos en programación,hacen casi inviable un proyecto <strong>de</strong> granenvergadura <strong>de</strong> <strong>de</strong>sarrollo conjunto.Debido a todo lo dicho, nos hemos <strong>de</strong>cididopor <strong>la</strong> segunda opción (ejercicios <strong>de</strong> co<strong>la</strong>boración)y <strong>la</strong> hemos <strong>de</strong>sarrol<strong>la</strong>do <strong>de</strong> <strong>la</strong> forma que se explicaen el siguiente apartado.t


4. Ejercicios <strong>de</strong> co<strong>la</strong>boraciónTal y como se ha dicho, el objetivo <strong>de</strong> esta actividadconsisten en lograr que los alumnos <strong>de</strong>scubran<strong>la</strong> necesidad y ventajas <strong>de</strong>l trabajo en equipo. Paraello, se utilizarán ejercicios en los cuales se enfrentena un problema en el que <strong>de</strong>ben trabajarjuntos como requisito solicitado en el propioenunciado <strong>de</strong> los mismos. Conseguir que surja enlos alumnos <strong>la</strong> necesidad <strong>de</strong> trabajar juntos, cuandono están acostumbrados a ello, pue<strong>de</strong> ser muydifícil, por lo que es necesario que el enunciadoles obligue expresamente a utilizar el trabajo enequipo.Para conseguir el objetivo marcado, se p<strong>la</strong>nteanuna serie <strong>de</strong> metas, un or<strong>de</strong>n temporal para suconsecución y un conjunto <strong>de</strong> ejercicios comomedio para alcanzar<strong>la</strong>s, tal y como se <strong>de</strong>sarrol<strong>la</strong> acontinuación:• Primera meta: mostrar a los alumnos losbeneficios <strong>de</strong> rendimiento que se obtienen alutilizar el trabajo en equipo. Se p<strong>la</strong>nteará unejercicio en el que se estipu<strong>la</strong>rá una serie <strong>de</strong>apartados <strong>de</strong> realización común y otros <strong>de</strong>realización separada. El tiempo <strong>de</strong> <strong>de</strong>sarrolloestará limitado <strong>de</strong> forma que no sea posibleterminar el ejercicio por separado; <strong>la</strong> co<strong>la</strong>boraciónserá imprescindible. El ejercicio consistiráen un programa en Pascal, se <strong>de</strong>berárealizar en equipo, y será <strong>de</strong> sencil<strong>la</strong> realización,aportando el enunciado <strong>de</strong>l mismo eldiseño don<strong>de</strong> quedará patente los subprogramasa realizar y los datos a manipu<strong>la</strong>r, y encauzandototalmente <strong>la</strong>s acciones <strong>de</strong> losalumnos. El programa <strong>de</strong>be ser sencillo paraque los alumnos no tengan ningún problemaen su <strong>de</strong>sarrollo y así lo perciban en primerainstancia, pero también que les permita darsecuenta <strong>de</strong> que no les será posible realizarlopor separado. Sin el trabajo <strong>de</strong> todos, el ejerciciono se podrá completar a tiempo. Eltiempo para este ejercicio <strong>de</strong>be ser <strong>de</strong> 2 horas,el equivalente a una sesión completa <strong>de</strong><strong>la</strong>boratorio.• Segunda meta: hacer patente a los alumnos <strong>la</strong>necesidad <strong>de</strong> realizar un <strong>de</strong>sarrollo <strong>de</strong> calidadcuando se trabaja en equipo, <strong>de</strong> forma que elcliente <strong>de</strong> nuestro producto (que en este casoserá un compañero <strong>de</strong>l equipo, esto es, uncliente interno) pueda continuar el <strong>de</strong>sarrollo<strong>de</strong> dicho producto <strong>de</strong> una forma satisfactoria.Se establece un ejercicio <strong>de</strong> dos partes queobliguen a co<strong>la</strong>borar a los alumnos. Esto seconseguirá haciendo que <strong>la</strong> segunda parteprecise <strong>de</strong> los resultados <strong>de</strong> <strong>la</strong> primera parasu realización. Los alumnos realizarán esteejercicio agrupados según los mismos equiposque hayan formado para <strong>la</strong> realización <strong>de</strong><strong>la</strong> práctica <strong>de</strong> evaluación <strong>de</strong> <strong>la</strong> asignatura, paraque tengan una cierta confianza entreellos. Los alumnos podrán producir, comoresultado <strong>de</strong> su trabajo, tanto el código propiamentedicho como <strong>la</strong> documentación internay externa que <strong>de</strong>seen. El enunciado <strong>de</strong><strong>la</strong> segunda parte será <strong>de</strong>sconocido hasta quese dé por terminada <strong>la</strong> primera, <strong>de</strong> maneraque los alumnos trabajen tal y como lo hagannormalmente. Todos los alumnos recibirán elenunciado <strong>de</strong> <strong>la</strong> primera parte y tendrán untiempo para realizarlo en torno a los 30 minutos,tiempo que se concretará en el enunciadoy que <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong>l grado <strong>de</strong> dificultad<strong>de</strong>l mismo. Terminado el primer ejercicio,los alumnos intercambiarán sus puestos <strong>de</strong>trabajo <strong>de</strong> forma que, en el nuevo puesto, sólodispongan <strong>de</strong>l código <strong>de</strong>l compañero y <strong>la</strong>documentación que éste le haya <strong>de</strong>jado. Para<strong>la</strong> realización <strong>de</strong>l segundo ejercicio se estableceráun tiempo superior al primero sin llegaral doble. Este tiempo será <strong>de</strong> unos 50 minutos.Todo el <strong>de</strong>sarrollo <strong>de</strong>l ejercicio <strong>de</strong>bepo<strong>de</strong>r completarse durante una sesión <strong>de</strong> <strong>la</strong>boratorio<strong>de</strong> dos horas. El tamaño <strong>de</strong> los dosejercicios será simi<strong>la</strong>r, pero el tiempo para surealización distinto, <strong>de</strong>bido a que en el segundoejercicio los alumnos <strong>de</strong>ben analizarprimero lo que su compañero ha escrito.• Tercera meta: asentar los conocimientos adquiridossobre el trabajo en equipo. Para ellose repetirá el primer ejercicio, habiendo permitidoa los alumnos pensar estrategias con<strong>la</strong>s que afrontar un ejercicio <strong>de</strong> estas características.Para facilitar esto, el profesor <strong>de</strong>berealizar comentarios <strong>de</strong> técnicas e i<strong>de</strong>as queorienten a los alumnos pero <strong>de</strong>jando a su iniciativa<strong>la</strong> forma <strong>de</strong> afrontar el problema basándoseen <strong>la</strong> experiencia <strong>de</strong> los ejerciciosanteriores.Es conveniente realizar los ejercicios en tressesiones <strong>de</strong> <strong>la</strong>boratorio cercanas a <strong>la</strong> finalización


<strong>de</strong>l cuatrimestre, para no entorpecer el <strong>de</strong>sarrollohabitual <strong>de</strong> contenidos <strong>de</strong> <strong>la</strong> asignatura y parapermitir que los alumnos tengan un nivel <strong>de</strong> conocimientoaceptable. También existe <strong>la</strong> posibilidad<strong>de</strong> utilizar un horario fuera <strong>de</strong>l horario <strong>de</strong> <strong>la</strong>boratorio,e incluso realizar los ejercicios como actividadno obligatoria, pero esta última posibilidadparece poco recomendable según <strong>la</strong> actitud quemuestran últimamente los alumnos.4.1. Ejercicios realizados.En el presente año lectivo sólo se ha efectuado elsegundo <strong>de</strong> los ejercicios p<strong>la</strong>nteados (el correspondientea <strong>la</strong> segunda meta), ya que su preparacióny realización es más sencil<strong>la</strong>. Su <strong>de</strong>sarrollotuvo lugar en <strong>la</strong> asignatura <strong>de</strong> Laboratorio Fundamentos<strong>de</strong> Programación <strong>de</strong> primero <strong>de</strong> IngenieríaTécnica <strong>de</strong> Informática.Tal y como se dijo, este ejercicio tiene dospartes, que <strong>de</strong>nominaremos primer (Figura 4) ysegundo ejercicio (Figura 5). En cada uno <strong>de</strong> ellosse encuentran varias secciones separadas, <strong>de</strong>dicadasa <strong>la</strong>s normas <strong>de</strong>l ejercicio, los datos <strong>de</strong> i<strong>de</strong>ntificación<strong>de</strong>l alumno y el enunciado <strong>de</strong>l ejerciciopropiamente dicho.Figura 5. Segundo ejercicioEn <strong>la</strong>s normas <strong>de</strong> los ejercicios se especificantodas <strong>la</strong>s instrucciones y recomendaciones para surealización, tales como el tiempo <strong>de</strong>l que disponenpara su e<strong>la</strong>boración. El primer ejercicio tiene <strong>la</strong>apariencia <strong>de</strong> un ejercicio simple y breve, y es enel segundo don<strong>de</strong> se especifica <strong>la</strong> necesidad <strong>de</strong>utilizar los resultados <strong>de</strong>l primero.En <strong>la</strong>s normas también se hace hincapié en <strong>la</strong>necesidad <strong>de</strong> seguir <strong>la</strong>s recomendaciones <strong>de</strong> programaciónestablecidas en c<strong>la</strong>se, entre <strong>la</strong>s cualesse encuentran todas <strong>la</strong>s referidas a <strong>la</strong> necesidad <strong>de</strong>calidad en <strong>la</strong> documentación que acompaña a losficheros fuente <strong>de</strong> toda implementación.4.2. La organización y el grupoFigura 4. Primer ejercicioEl grupo <strong>de</strong> <strong>la</strong>boratorio típico sobre el que se va atrabajar está formado por un número <strong>de</strong> alumnos<strong>de</strong> 20 a 25 como norma. Debido a <strong>la</strong>s fechas sobreel calendario lectivo en <strong>la</strong>s que se p<strong>la</strong>nea el ejercicio,ya están formados los equipos <strong>de</strong> realización<strong>de</strong> prácticas, con dos alumnos por equipo, lo queda un total <strong>de</strong> 12 equipos. De estos equipos, pordiversos motivos, hemos encontrado que <strong>de</strong> mediaasisten unos 8 a <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s pruebas.


Suponiendo un grupo <strong>de</strong> <strong>la</strong>boratorio compuesto<strong>de</strong> 8 equipos <strong>de</strong> dos alumnos y <strong>la</strong> disposicióntípica <strong>de</strong> los <strong>la</strong>boratorios en <strong>la</strong> Escue<strong>la</strong> Politécnica<strong>de</strong> <strong>la</strong> UA, los distribuimos como se muestra en <strong>la</strong>Figura 6. Dado que hay dos fi<strong>la</strong>s con or<strong>de</strong>nadores,los componentes <strong>de</strong> cada equipo se situarán <strong>de</strong>forma que que<strong>de</strong>n en <strong>la</strong> misma columna, es <strong>de</strong>cir,uno <strong>de</strong>trás <strong>de</strong> otro. Una vez colocados según estadisposición, resulta muy sencillo el intercambio <strong>de</strong>ejercicios entre ellos, ya que basta con que intercambien<strong>la</strong>s posiciones en <strong>la</strong>s que se encuentransentados.1 2 3 4 5 6 7 81 2 3 4 5 6 7 8Figura 6. Disposición <strong>de</strong> los equipos en el <strong>la</strong>boratorio4.2. El tiempo para los ejerciciosEl tiempo para cada uno <strong>de</strong> estos ejercicios va aser función <strong>de</strong>l tiempo total disponible, que ennuestro caso es <strong>de</strong> 2 horas.En primer lugar <strong>de</strong>bemos tener en cuenta los 5minutos necesarios para organizar a los alumnossegún <strong>la</strong> disposición mostrada en <strong>la</strong> figura 3, quees necesaria para facilitar los pasos posteriores.También tenemos que añadir 5 minutos máspara cada vez que tengamos que recoger los resultados<strong>de</strong> los alumnos en los discos (a efectos <strong>de</strong>realizar su análisis posteriormente), lo cual nos daun total <strong>de</strong> otros 10 minutos.A<strong>de</strong>más habrá que contar con 10 minutosadicionales para realizar el cambio <strong>de</strong> puestossegún está establecido y para que los alumnosreaccionen ante <strong>la</strong> novedosa situación p<strong>la</strong>nteada.Estos tiempos suman un total <strong>de</strong> 25 minutos, yaunque puedan parecer a primera vista excesivospara un grupo tan pequeño, no lo son, puesto quesiempre surgen todo tipo <strong>de</strong> pequeños problemascon un disco que fal<strong>la</strong>, un alumno que no acaba <strong>de</strong>compren<strong>de</strong>r <strong>la</strong>s normas, etc.El tiempo neto que nos resta es <strong>de</strong> 1 hora y 35minutos para realizar el resto <strong>de</strong> <strong>la</strong>s tareas. Comoya p<strong>la</strong>nteamos antes, es necesario más tiempo parael segundo enunciado. En concreto, se p<strong>la</strong>nteótiempos <strong>de</strong> 30 y 50 minutos. Si sumamos ambostiempos, vemos que el resultado, 1 hora y 20minutos, nos <strong>de</strong>ja aún 15 minutos <strong>de</strong> colchón paraenfrentarnos a posibles problemas adicionales.4.3. Los enunciadosLos enunciados (figuras 7 y 8) que se han utilizadop<strong>la</strong>ntean ejercicios sencillos utilizando el lenguajePascal, que es el lenguaje usado en los<strong>la</strong>boratorios <strong>de</strong> programación en el primer año <strong>de</strong>estudios <strong>de</strong> Informática en <strong>la</strong> UA.1. Realizar un programa en Pascal que contenga:a. 1 función l<strong>la</strong>mada lee1cad que pi<strong>de</strong> al usuarioca<strong>de</strong>nas hasta que este introduce una sin caracteresnuméricos y esta ca<strong>de</strong>na es <strong>de</strong>vuelta comoresultado <strong>de</strong> <strong>la</strong> función.b. 1 Procedimiento l<strong>la</strong>mado ania<strong>de</strong>Long que recibe1 vector <strong>de</strong> 10 ca<strong>de</strong>nas y <strong>la</strong>s modifica añadiendoa cada una <strong>de</strong> el<strong>la</strong>s en <strong>la</strong> izquierda sulongitud.Ej. “ho<strong>la</strong>” -> “4ho<strong>la</strong>”El programa principal usará lee1cad para llenar unvector <strong>de</strong> 10 ca<strong>de</strong>nas que luego pasa a ania<strong>de</strong>LongLong.Figura 7. Enunciado <strong>de</strong>l primer ejercicio2. Modificar el programa realizado por un compañero para:c. Usar 15 ca<strong>de</strong>nas.d. Leer ca<strong>de</strong>nas que tengan como mínimo un carácternumérico.e. Añadir un procedimiento esccad que presentaen pantal<strong>la</strong> <strong>la</strong>s ca<strong>de</strong>nas.f. Modificar el procedimiento ania<strong>de</strong>Long paraque inserte un espacio entre el número y <strong>la</strong> ca<strong>de</strong>naoriginal y añada al final <strong>la</strong> longitud tambiénseparada por espacio.Ejemplo: “ho<strong>la</strong>” -> “4 ho<strong>la</strong> 4”Figura 8. Enunciado <strong>de</strong>l segundo ejercicio


Como se pue<strong>de</strong> apreciar en los enunciados, losejercicios a resolver son muy simples, no pudiendoser <strong>de</strong> otra forma <strong>de</strong>bido al tiempo limitadoexistente para <strong>la</strong> realización <strong>de</strong> <strong>la</strong> actividad.4.4. Ten<strong>de</strong>ncias observadasComo se esperaba, los alumnos se encontraron enel segundo ejercicio con una ardua tarea, <strong>de</strong>bidofundamentalmente a que:• En ningún caso el primer ejercicio tenía comentarios,ni tan siquiera uno, lo cual es significativopuesto que éste es un asunto quecasi <strong>de</strong>s<strong>de</strong> el primer día recibe una atenciónmuy especial en <strong>la</strong>s asignaturas <strong>de</strong> programaciónen su conjunto.• Tampoco había ni una so<strong>la</strong> línea <strong>de</strong> documentaciónen papel, ni siquiera unos garabatoscon <strong>la</strong>s intenciones <strong>de</strong> implementación.En cambio sí había aspectos positivos comoque:• Se pudo observar un correcto sangrado <strong>de</strong>lcódigo y unos programas bien estructurados,<strong>de</strong>bido en parte a lo <strong>de</strong>tal<strong>la</strong>do <strong>de</strong>l enunciadoen cuanto a <strong>la</strong> <strong>de</strong>scomposición en subprogramas.• Se utilizaron líneas <strong>de</strong> separación entre partesdiferentes <strong>de</strong>l programa que aportaban c<strong>la</strong>ridadal código.• Se usaron nombres significativos para losi<strong>de</strong>ntificadores <strong>de</strong> los diversos elementos <strong>de</strong>lprograma, <strong>de</strong>stacando un caso extremo conun i<strong>de</strong>ntificador <strong>de</strong> más <strong>de</strong> veinte letras.• Las <strong>de</strong>finiciones <strong>de</strong> los tipos <strong>de</strong> datos se realizaroncorrectamente.• No se utilizaron variables globales, tal y comose había indicado durante <strong>la</strong>s c<strong>la</strong>ses.5. ConclusiónAunque los resultados obtenidos no son suficientespara realizar valoraciones estadísticas, apoyan<strong>la</strong> necesidad <strong>de</strong> utilizar prácticas que enseñen yfomenten el trabajo en equipo entre los alumnos.Esto supone un cambio en <strong>la</strong> orientación <strong>de</strong> <strong>la</strong>sprácticas tradicionalmente propuestas, que <strong>de</strong>be iracompañado <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> los métodos ytécnicas básicas <strong>de</strong>l trabajo en equipo.Es <strong>de</strong>stacable que los alumnos <strong>de</strong>mostrarongran interés ante esta iniciativa una vez realizadoel ejercicio y se interesaron por <strong>la</strong> forma <strong>de</strong> mejorarsus resultados en pruebas simi<strong>la</strong>res. Esto nosp<strong>la</strong>ntea <strong>la</strong> necesidad <strong>de</strong> preparar un conjunto <strong>de</strong>recomendaciones <strong>de</strong> acciones correctivas que sesuministraría al alumno una vez finalizada <strong>la</strong>prueba. En estas recomendaciones se enumeraríanlos problemas que se habrá encontrado en <strong>la</strong> pruebay <strong>la</strong>s posibles acciones para mejorar sus resultados.Dichas recomendaciones, que son ignoradasfrecuentemente por el alumno cuando se exponen<strong>de</strong> una forma teórica, serán atendidas y aprendidascuando el alumno se ha enfrentado a experienciascomo <strong>la</strong>s aquí presentadas, ya que ha podidocomprobar por sí mismo <strong>la</strong> necesidad real <strong>de</strong> suutilización.A<strong>de</strong>más, hemos hal<strong>la</strong>do un beneficio adicionalno previsto <strong>de</strong> estas activida<strong>de</strong>s, y es que permitea los alumnos enfrentarse a un ejercicio simi<strong>la</strong>r(aunque más sencillo) y en unas condicionesparecidas a <strong>la</strong>s que se encontrará en el examenreal <strong>de</strong> <strong>la</strong> asignatura. Esto hace que el alumnopueda autoevaluar sus conocimientos y tomar, silo creyera necesario, <strong>la</strong>s medidas que estimeconvenientes para po<strong>de</strong>r afrontar con garantías <strong>de</strong>éxito el examen real.6. Futuras líneas <strong>de</strong> trabajoDado lo positivo <strong>de</strong> los resultados obtenidos, setiene previsto preparar los ejercicios <strong>de</strong> co<strong>la</strong>boraciónrestantes, <strong>de</strong> forma que se puedan alcanzartodas <strong>la</strong>s metas aquí presentadas.Se <strong>de</strong>sea también exten<strong>de</strong>r estos ejercicios <strong>de</strong>co<strong>la</strong>boración a todos los grupos <strong>de</strong> primero en losdos cuatrimestres y realizar valoraciones estadísticas,para lo cuál se necesitará apoyo <strong>de</strong> variosprofesores <strong>de</strong> otras asignaturas. Con estas valoraciones,se podría profundizar más en el estudio yp<strong>la</strong>near acciones <strong>de</strong> mayor alcance.Si los resultados fueran satisfactorios, serealizarían también, mediante trabajo en equipo,sistemas software completos. Éstos serían realizadospor alumnos <strong>de</strong> segundo o tercer curso, unavez que dichos alumnos hayan adquirido y perfeccionado<strong>la</strong>s <strong>de</strong>strezas y conocimientos necesariospara este tipo <strong>de</strong> trabajo.


Referencias[1] Kris Bosworth. Developing Col<strong>la</strong>borativeSkills in College Stu<strong>de</strong>nts. New Directions forTeaching and Learning, no. 59, Jossey-Bass,1994.[2] Fotografía <strong>de</strong> <strong>la</strong> Biblioteca <strong>de</strong> <strong>la</strong> Escue<strong>la</strong> Politécnica<strong>de</strong> <strong>la</strong> UA: http://www2.uah.es/escue<strong>la</strong>politecnica/Album /foto29.htm.[3] Fotografía <strong>de</strong> un <strong>la</strong>boratorio <strong>de</strong> <strong>la</strong> Escue<strong>la</strong>Politécnica <strong>de</strong> <strong>la</strong> UA: http://www2.uah.es/escue<strong>la</strong>politecnica/Album/foto26.htm.[4] Fotografía <strong>de</strong> un corredor <strong>de</strong> <strong>la</strong> Escue<strong>la</strong> Politécnica<strong>de</strong> <strong>la</strong> UA: http://www2.uah.es/escue<strong>la</strong>politecnica/Album /foto12.htm.[5] Jon Katzenbach y Doug<strong>la</strong>s Smith. The wisdomof teams. Harvard Busines School Press. Boston,1993.[6] LOU. BOE núm. 309, <strong>de</strong> 26 <strong>de</strong> diciembre <strong>de</strong>2001, págs. 49400-49425.[7] Tab<strong>la</strong> <strong>de</strong> asignaturas <strong>de</strong> Ingeniería TécnicaInformática <strong>de</strong> <strong>la</strong> UA:http://www2.uah.es/escue<strong>la</strong>politecnica/Titu<strong>la</strong>ciones/pdf/Tab<strong>la</strong>InfGestion.pdf


Un mo<strong>de</strong>lo para aplicación Sistemática <strong>de</strong>Aprendizaje CooperativoAntoni Pérez-Poch, Ferran Virgós BelDept. Lenguajes y Sistemas InformáticosUniversidad Politécnica <strong>de</strong> CataluñaEUETIBC. Urgell 187 ; 08036 BarcelonaE-mail: Antoni.Perez-Poch@upc.es ; Ferran.Virgos@upc.esResumenLa evolución <strong>de</strong>l mundo <strong>de</strong> <strong>la</strong> educación no seorienta sólo a los nuevos medios. El “e-learning”es un elemento importante pero no el único. Elpaso <strong>de</strong> <strong>la</strong> enseñanza al aprendizaje <strong>de</strong>becimentarse, sobre todo, en innovaciónmetodológica. Uno <strong>de</strong> los conceptos másrelevantes al respecto es, sin duda, el “aprendizajecooperativo”.Pero no basta con <strong>de</strong>cirlo, ¡hay que saberaplicarlo!, ... y no es fácil. En el presente trabajose parte <strong>de</strong> los fundamentos teóricos <strong>de</strong>l conceptopara proponer un mo<strong>de</strong>lo que cree luz en <strong>la</strong>aplicación sistemática <strong>de</strong> <strong>la</strong> metodología <strong>de</strong>lAprendizaje Cooperativo (AC).Se <strong>de</strong>scribe <strong>la</strong> aplicación <strong>de</strong> este mismomo<strong>de</strong>lo durante el cuatrimestre <strong>de</strong> Primavera 2001en dos asignaturas, re<strong>la</strong>cionadas con <strong>la</strong>s TIC,impartidas en <strong>la</strong> EUETIB: Re<strong>de</strong>s <strong>de</strong> Or<strong>de</strong>nadores(Optativa, Ingeniería Técnica en ElectrónicaIndustrial) y Fundamentos <strong>de</strong> Informática(Troncal, Ingeniería Técnica Mecánica),adaptando en cada caso <strong>la</strong> variante <strong>de</strong> aplicación a<strong>la</strong>s particu<strong>la</strong>rida<strong>de</strong>s <strong>de</strong> <strong>la</strong> asignaturaEn términos generales se valorapositivamente su efecto motivador en los alumnosy se ha estudiado <strong>la</strong> influencia que ha tenido en <strong>la</strong>mejora <strong>de</strong> <strong>la</strong>s calificaciones, así como en losresultados <strong>de</strong> <strong>la</strong> encuesta <strong>de</strong> calidad <strong>de</strong> <strong>la</strong> docenciaque se pasa regu<strong>la</strong>rmente a los alumnos <strong>de</strong> <strong>la</strong>Escue<strong>la</strong>.La realimentación obtenida permite <strong>la</strong>validación <strong>de</strong> algunas propuestas concretas ymejoras introducidas en el mo<strong>de</strong>lo. Entre el<strong>la</strong>s, <strong>la</strong>re<strong>la</strong>tiva a <strong>la</strong> implicación <strong>de</strong> un asesor externo entodos los equipos y el nombramiento <strong>de</strong> unportavoz en cada uno <strong>de</strong> ellos, encargado <strong>de</strong> <strong>la</strong>interacción con él, fijando, a<strong>de</strong>más, unas reg<strong>la</strong>smínimas para valorar <strong>la</strong> utilización <strong>de</strong> esterecurso.1. IntroducciónEl mundo <strong>de</strong> <strong>la</strong> educación está <strong>de</strong> moda. Larápida evolución <strong>de</strong>l ciclo <strong>de</strong> vida <strong>de</strong>l aprendizajeque nos lleva al concepto <strong>de</strong> “life-long learning”no es extraña a esta situación. Pero es más queeso: <strong>la</strong>s empresas y los países se dan cuenta que sucompetitividad y, por tanto, su futuro, <strong>de</strong>pen<strong>de</strong> engran medida <strong>de</strong> su capital humano. A<strong>de</strong>más, <strong>la</strong>elevada competitividad <strong>de</strong> todos los mercados y,en particu<strong>la</strong>r, <strong>la</strong> propia maduración yglobalización <strong>de</strong> <strong>la</strong> enseñanza, que va llegando,aunque sea lentamente, nos impulsa a buscarnuevos caminos.La evolución <strong>de</strong>l mundo <strong>de</strong> <strong>la</strong> educación miraa <strong>la</strong> virtualización y <strong>la</strong> semi- presencialidad. El “elearning”es un elemento relevante, pero no es <strong>de</strong>fácil imp<strong>la</strong>ntación generalizada en un p<strong>la</strong>zo corto.Muchas universida<strong>de</strong>s intentan incorporarlo sincontar con medios suficientes y sin entrar aconsi<strong>de</strong>rar seriamente <strong>la</strong> necesidad <strong>de</strong> formación eincentivación <strong>de</strong>l profesorado. Lo más probablepara éstas es el más estrepitoso fracaso.Otro importante aspecto a consi<strong>de</strong>rar es que,en <strong>la</strong> actualidad, una <strong>de</strong>manda frecuente <strong>de</strong> <strong>la</strong>s


empresas es que sus directivos y empleadostécnicos sean capaces <strong>de</strong> <strong>de</strong>senvolverse con éxitoen equipos multidisciplinares e inclusomulticulturales. La Universidad <strong>de</strong>be respon<strong>de</strong>r aesta <strong>de</strong>manda con <strong>la</strong> enseñanza <strong>de</strong> habilida<strong>de</strong>ssociales y cooperativas para sus alumnos y no sólocon <strong>la</strong> mera transmisión <strong>de</strong> conocimientostécnicos.En <strong>de</strong>finitiva, el Aprendizaje Cooperativo semuestra como un extraordinario compañerometodológico para <strong>la</strong> mejora <strong>de</strong>l procesoeducativo. Pero no basta con <strong>de</strong>cirlo, hay queaplicarlo. La cuestión es ¿cómo?, o ¿por dón<strong>de</strong>empezar?.En consecuencia, nuestro objetivo en eltrabajo se centraba en partir <strong>de</strong> los fundamentosteóricos <strong>de</strong>l concepto para proponer un mo<strong>de</strong>loque creara luz (práctica) en <strong>la</strong> aplicaciónsistemática <strong>de</strong> <strong>la</strong> metodología <strong>de</strong>l AprendizajeCooperativo (AC) en el au<strong>la</strong> (sea física , virtual omixta).Subsidiáriamente, por motivos interesados,<strong>de</strong>seábamos aplicarlo y validarlo en <strong>la</strong> enseñanzauniversitaria <strong>de</strong> <strong>la</strong> informática.2. Fundamentación teóricaEl Aprendizaje Cooperativo (AC) es unatécnica metodológica que pone el centro <strong>de</strong>ltrabajo que comporta un aprendizaje en el propioalumno [1]. Hasta ahora ha sido utilizadaprincipalmente en niveles pre-universitarios,aunque cada vez se están recogiendo másexperiencias en el nivel universitario [2]. En <strong>la</strong>Universitat Politécnica <strong>de</strong> Catalunya existe unGrupo <strong>de</strong> Interés en AC , con una importantepresencia en <strong>la</strong> Escue<strong>la</strong> <strong>de</strong> Ingeniería TécnicaIndustrial <strong>de</strong> Barcelona, EUETIB [3].(I) Grupos formales e informalesEn AC se distinguen tres tipologías <strong>de</strong> grupo:grupos informales, que duran el tiempo <strong>de</strong> unac<strong>la</strong>se, grupos formales, que existen por un p<strong>la</strong>zo<strong>de</strong> tiempo superior al <strong>de</strong> una hora lectiva y quetienen como objetivo realizar alguna tarea<strong>de</strong>terminada, y finalmente grupos <strong>de</strong> base, con losque los alumnos avanzan progresivamente en susestudios.En nuestros trabajos hab<strong>la</strong>remos <strong>de</strong> gruposformales cuya composición pue<strong>de</strong> o no ser<strong>de</strong>cidida por el propio profesor <strong>de</strong> <strong>la</strong> asignatura,siendo ésta una <strong>de</strong>cisión que <strong>de</strong>be <strong>de</strong>terminarseantes <strong>de</strong>l inicio <strong>de</strong> <strong>la</strong> actividad.(II) Condiciones para el verda<strong>de</strong>ro ACHay que resaltar que con una simple propuesta<strong>de</strong> trabajo en grupo no se produce un verda<strong>de</strong>roAC. Por el contrario <strong>de</strong>ben existir ciertoselementos imprescindibles para que el aprendizajeentre iguales exista: a) inter<strong>de</strong>pen<strong>de</strong>nciapositiva, b) interacción directa cara a cara, c)responsabilidad personal d) habilida<strong>de</strong>s grupales,y e) proceso <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l grupo.a) Inter<strong>de</strong>pen<strong>de</strong>ncia positivaEmpecemos <strong>de</strong>scribiendo <strong>la</strong> inter<strong>de</strong>pen<strong>de</strong>nciapositiva. Esta se da cuando cada individuo <strong>de</strong>lgrupo es consciente <strong>de</strong> que el éxito <strong>de</strong> cada uno<strong>de</strong>pen<strong>de</strong> ineludiblemente <strong>de</strong>l éxito <strong>de</strong> los <strong>de</strong>más.Se trata <strong>de</strong> que todos asuman que no hay ningunaposibilidad <strong>de</strong> alcanzar el éxito si no se implicantodos los componentes <strong>de</strong>l grupo. Si se hun<strong>de</strong> uno,se hundiran todos. Para ello <strong>la</strong>s tareas <strong>de</strong>berándiseñarse <strong>de</strong> forma que todos comprendan que siuno no cumple con su parte, todos recibirán <strong>la</strong>sconsecuencias negativas. La búsqueda <strong>de</strong>l éxitopor parte <strong>de</strong> todos los componentes <strong>de</strong>l grupo esfundamental.b) Interacción directaLa interacción (cara a cara, o no), es otroelemento esencial en AC. La interacción constantey <strong>la</strong> compartición <strong>de</strong> i<strong>de</strong>as y recursos es unaherramienta fundamental para el éxito. Para ellohay que crear <strong>la</strong>s condiciones físicas parafavorecerlo. De todos es conocido, por ejemplo,que <strong>la</strong>s mesas <strong>de</strong> reuniones circu<strong>la</strong>res favorecen <strong>la</strong>interacción entre los interlocutores.c) Responsabilidad personal


La responsabilidad individual, <strong>la</strong> implicación<strong>de</strong> cada miembro <strong>de</strong>l grupo mediante su actitud ysu tarea , <strong>de</strong>be llevar a <strong>la</strong> responsabilidad <strong>de</strong>grupo, es <strong>de</strong>cir a que éste consiga todos susobjetivos. Con que sólo un miembro <strong>de</strong>l grupo noasuma su propia implicación hará fracasar elobjetivo global.d) Habilida<strong>de</strong>s grupalesEl cuarto elemento, el <strong>de</strong>sarrollo <strong>de</strong>habilida<strong>de</strong>s sociales y cooperativas es uno <strong>de</strong> losobjetivos <strong>de</strong>l AC a <strong>la</strong> vez que un elementoindispensable para su éxito. Cada vez losproyectos técnicos se llevan a cabo por equiposmulticulturales y multidisciplinares, con lo queeste tipo <strong>de</strong> habilida<strong>de</strong>s son fundamentales para elfuturo éxito profesional <strong>de</strong>l alumno <strong>de</strong> enseñanzastécnicas.e) Proceso <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l grupoFinalmente, un elemento esencial para que losalumnos puedan evaluar su progreso es <strong>la</strong>reflexión sobre su trabajo en grupo. Los alumnosque forman parte <strong>de</strong>l grupo han <strong>de</strong> saber quéacciones y tareas son útiles para po<strong>de</strong>r alcanzarsus objetivos y cuáles no, con el objeto <strong>de</strong><strong>de</strong>terminar qué acciones <strong>de</strong>ben mantenerse ycuáles hay que potenciar. Este tipo <strong>de</strong> <strong>de</strong>cisioneses común a <strong>la</strong> gestión <strong>de</strong> cualquier tipo <strong>de</strong>proyecto, pero aquí el énfasis se hace en e<strong>la</strong>utocontrol por parte <strong>de</strong>l propio grupo <strong>de</strong> trabajo.Así, se pue<strong>de</strong>n incluir en el proceso <strong>de</strong><strong>la</strong>prendizaje cooperativo algunas técnicas <strong>de</strong>control <strong>de</strong> calidad: cuestionarios <strong>de</strong>autoevaluación, establecimiento <strong>de</strong> fechas límitecon entregas parciales, cuestionarios <strong>de</strong> valoración<strong>de</strong>l trabajo realizado, reuniones <strong>de</strong> autoevaluaciónperiódicas, etcétera [4].(III) Rol <strong>de</strong>l profesor como motivadorEl rol <strong>de</strong> profesor pasa <strong>de</strong> mero transmisor <strong>de</strong>conocimientos en una c<strong>la</strong>se magistral, y por tanto,protagonista absoluto <strong>de</strong> <strong>la</strong> c<strong>la</strong>se, a coordinador.El papel <strong>de</strong>l profesor pasa a un segundo p<strong>la</strong>no y esel alumno, o mejor dicho el grupo <strong>de</strong> alumnos elque asume el papel activo en el proceso <strong>de</strong>enseñanza-aprendizaje. El profesor dirige <strong>la</strong>sactivida<strong>de</strong>s, asigna los recursos necesarios paraconseguir los objetivos <strong>de</strong>l proceso, observa el<strong>de</strong>sarrollo <strong>de</strong> cada grupo y efectúa <strong>la</strong>scorrecciones necesarias para asegurar <strong>la</strong> eficacia<strong>de</strong>l proceso.Sin embargo, el profesor <strong>de</strong>be evitar <strong>la</strong>tentación <strong>de</strong> contro<strong>la</strong>r <strong>de</strong> forma exhaustiva algrupo. Por el contrario, ha <strong>de</strong> efectuar su tarea <strong>de</strong>coordinación en un discreto segundo p<strong>la</strong>no.3. Mo<strong>de</strong>lo <strong>de</strong> aplicaciónA partir <strong>de</strong> los principios teóricos <strong>de</strong> <strong>la</strong>metodología <strong>de</strong>l Aprendizaje Cooperativo sepropone el mo<strong>de</strong>lo <strong>de</strong> aplicación práctica recogidoen <strong>la</strong> figura. En el<strong>la</strong>, pue<strong>de</strong> observarse- Debe <strong>de</strong>cidirse con qué criterios serealizarán los grupos. El mo<strong>de</strong>lo pue<strong>de</strong> contenerun repositorio <strong>de</strong> estos criterios. En nuestro caso,para asegurar que no se formaran grupos cerrados,optamos por una agrupación aleatoria que luegopodría ser corregida en caso <strong>de</strong> aparecer algúnproblema, pero ésto <strong>de</strong>bería ser excepcional.- Los diferentes contenidos <strong>de</strong>l trabajo se<strong>de</strong>berán establecer teniendo en cuento <strong>la</strong> materia yel nivel <strong>de</strong> <strong>la</strong> asignatura. También aquí, el mo<strong>de</strong>locontendría un repositorio <strong>de</strong> criterios que pue<strong>de</strong>nincluir <strong>la</strong> conveniencia <strong>de</strong> favorecer <strong>la</strong> existencia<strong>de</strong> un eje <strong>de</strong> actividad común.- También <strong>de</strong>be cuidarse <strong>la</strong> c<strong>la</strong>rificación <strong>de</strong> <strong>la</strong>normativa <strong>de</strong> “<strong>de</strong>sarrollo” que podría basarse,asimismo, en un repositorio.- Para el inicio <strong>de</strong>l proyecto se <strong>de</strong>dica unasesión, normalmente <strong>de</strong> prácticas para explicarqué es lo que se preten<strong>de</strong> y dar <strong>la</strong>s directricesbásicas. Es <strong>de</strong> un <strong>la</strong>do “tutorial” y <strong>de</strong> otra, impulso<strong>de</strong> motivación.- Se crean los grupos y éstos empiezan atrabajar p<strong>la</strong>nteando los primeros objetivos yhaciendo una búsqueda inicial <strong>de</strong> información.Esta parte es i<strong>de</strong>al hacer<strong>la</strong> en biblioteca y/o conconexión a Internet y/o bases <strong>de</strong> datos.


1. 2. 3.Criterios <strong>de</strong>composición <strong>de</strong>grupos <strong>de</strong> trabajoCriterios <strong>de</strong>generación <strong>de</strong> temassegún nivel/materiaCriterios <strong>de</strong>“variantes” <strong>de</strong><strong>de</strong>sarrollo4.Inicioexplicaciónmétodo ymotivación5.Start ProcessCREACIÓN <strong>de</strong> GRUPOSP<strong>la</strong>nificacióny reg<strong>la</strong>sPROFESORCONSULTOREXTERNOPortavoz6.DESARROLLO <strong>de</strong>lPROYECTO ACReunionesperiódicasSeguimiento“on-line”LOG <strong>de</strong>lseguimiento8.Co-evaluaciónalumnos7.Presentación PUBLICA/ Trabajo final/ DebateEntregasperiódicas9.FEEDBACK, evaluación actividadFigura 1: Mo<strong>de</strong>lo <strong>de</strong> aplicación <strong>de</strong> AC- Se establecen <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong>l juego, con <strong>la</strong>snormas para <strong>la</strong> interacción <strong>de</strong>l grupo, vía portavozcon el asesor externo, y se establecen algunasfechas importantes para realizar entregas parcialesy <strong>la</strong> presentación final.- Se <strong>de</strong>sarrol<strong>la</strong> el trabajo durante elcuatrimestre en forma semipresencial,<strong>de</strong>dicándose alguna(s) sesión(es) más <strong>de</strong> prácticasa trabajar el proyecto. Durante esta fase elprofesor <strong>de</strong>be coordinar el funcionamiento <strong>de</strong>cada uno <strong>de</strong> los grupos mediante reunionesperiódicas y/o <strong>de</strong> seguimiento “on-line”.- En <strong>la</strong> presentación final <strong>de</strong>l trabajo sepue<strong>de</strong>n establecer normas para asegurar que todoslos miembros <strong>de</strong>l grupo han trabajado en surealización. Por ejemplo se pue<strong>de</strong> anunciarpreviamente que se harán preguntasaleatoriamente a uno <strong>de</strong> los miembros <strong>de</strong>l grupo yque <strong>la</strong> nota será <strong>la</strong> misma para todos ellos. Esto secomplementa con <strong>la</strong> autoevaluación <strong>de</strong> losmiembros <strong>de</strong>l grupo y <strong>la</strong> coevaluación <strong>de</strong>lprofesor con el asesor externo y los propioscompañeros <strong>de</strong> otros grupos.- Se pue<strong>de</strong> p<strong>la</strong>ntear una coevaluación en <strong>la</strong>presentación, es <strong>de</strong>cir, que los alumnos se evalúenentre ellos mismos , o <strong>de</strong>cidir que sea el profesorel que puntúe el proyecto. También pue<strong>de</strong> serinteresante entab<strong>la</strong>r un <strong>de</strong>bate al final <strong>de</strong> cadapresentación pública.- Es esencial, finalmente, incorporar algúnmétodo efectivo <strong>de</strong> realimentación <strong>de</strong>lfuncionamiento <strong>de</strong> <strong>la</strong> actividad. Una encuestabreve y específica (<strong>de</strong> orientación creativa, no<strong>de</strong>scriptiva) realizada <strong>de</strong> forma anónima permiteconocer en qué medida <strong>la</strong> actividad ha sidoprovechosa para los alumnos y cuáles pue<strong>de</strong>n serlos puntos <strong>de</strong> mejora <strong>de</strong>l método.


En los siguientes apartados po<strong>de</strong>mos ver losresultados <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> este mo<strong>de</strong>lo prácticoen <strong>la</strong> EUETIB en dos cuatrimestres alternos ysobre dos asignaturas <strong>de</strong>l área informática pero <strong>de</strong>nivel y características bien diferenciadas.4. Descripción <strong>de</strong> nuestra experiencia <strong>de</strong>aplicación <strong>de</strong>l mo<strong>de</strong>loUna aplicación <strong>de</strong> este mo<strong>de</strong>lo se realizó parados asignaturas <strong>de</strong>l área <strong>de</strong> tecnologías y sistemas<strong>de</strong> información, en <strong>la</strong> EUETIB: Re<strong>de</strong>s <strong>de</strong>or<strong>de</strong>nadores y Fundamentos <strong>de</strong> Informática.AC como método <strong>de</strong> enseñanza <strong>de</strong> informáticaEn efecto, <strong>la</strong> Universidad <strong>de</strong>be ser capaz <strong>de</strong>favorecer <strong>la</strong>s actitu<strong>de</strong>s positivas ante el trabajo enequipo y <strong>la</strong>s habilida<strong>de</strong>s sociales requeridas paraello. Aunque no está establecido en qué materias<strong>de</strong>ben favorecerse estas habilida<strong>de</strong>s. En principiocualquier asignatura es válida y <strong>la</strong> informática enforma singu<strong>la</strong>r.El diseño algorítmico es un tipo <strong>de</strong> problemaabierto, que no tiene una única solución válida.Este tipo <strong>de</strong> problema es frecuentemente el másimportante en cualquier texto <strong>de</strong> informáticabásica, y en particu<strong>la</strong>r uno <strong>de</strong> los objetivos básicos<strong>de</strong> <strong>la</strong> asignatura troncal Fundamentos <strong>de</strong>Informática en el p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> EUETIBpara todas sus especialida<strong>de</strong>s (Electrónicaindustrial, electricidad, mecánica y químicaindustrial). Se pi<strong>de</strong> a<strong>de</strong>más que el diseño quehaga el alumno sea eficiente y elegante a<strong>de</strong>más <strong>de</strong>efectivo y sintácticamente correcto. Parece pues,un tipo <strong>de</strong> problema no convergente apropiadopara <strong>la</strong> discusión y el trabajo en equipo.En el campo <strong>de</strong> <strong>la</strong> Telemática y Re<strong>de</strong>s <strong>de</strong>Or<strong>de</strong>nadores, hay una gran diversidad <strong>de</strong>tecnologías y protocolos <strong>de</strong> conectividad queevolucionan <strong>de</strong> forma muy rápida. Su trabajo en<strong>de</strong>talle es prácticamente imposible para unaasignatura <strong>de</strong> iniciación, optativa <strong>de</strong> sólo 3créditos. Se preten<strong>de</strong> con <strong>la</strong> actividad queprofundicen en una <strong>de</strong> el<strong>la</strong>s <strong>de</strong> cara a su aplicaciónpráctica a <strong>la</strong> implementación a un escenario real.Se hace hincapié en <strong>la</strong> viabilidad <strong>de</strong> <strong>la</strong> aplicación<strong>de</strong> esta tecnología, y se discutirá posteriormenteen c<strong>la</strong>se si <strong>la</strong>s opiniones <strong>de</strong>l grupo son asumidaspor el resto <strong>de</strong> <strong>la</strong> c<strong>la</strong>se. Creemos que para unatitu<strong>la</strong>ción <strong>de</strong> ingeniería técnica esto es <strong>de</strong> mayorimportancia que incidir en <strong>la</strong> p<strong>la</strong>nificación teórica<strong>de</strong> <strong>la</strong> red.Aún cuando por limitaciones <strong>de</strong> tiempo ynúmero <strong>de</strong> alumnos no se puedan realizar este tipo<strong>de</strong> experiencias <strong>de</strong>l modo que sería i<strong>de</strong>almente<strong>de</strong>seable, es interesante promover este tipo <strong>de</strong>activida<strong>de</strong>s por el valor añadido que suponensobre <strong>la</strong> utilización exclusiva <strong>de</strong> métodos <strong>de</strong>enseñanza puramente tradicionales [5].Re<strong>de</strong>s <strong>de</strong> Or<strong>de</strong>nadores es una asignaturaoptativa <strong>de</strong> tres créditos <strong>de</strong> quinto cuatrimestre<strong>de</strong>ntro <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniería Técnica enElectrónica Industrial. El número <strong>de</strong> alumnosmatricu<strong>la</strong>dos está entre 30 y 40, formándose dosgrupos para <strong>la</strong>s sesiones prácticas.Sus objetivos generales son proporcionar unosconceptos básicos en cuanto a <strong>la</strong>s re<strong>de</strong>s <strong>de</strong>or<strong>de</strong>nadores, sus protocolos, elementos físicos <strong>de</strong>interconexión y conectividad <strong>de</strong> área local y <strong>de</strong>banda ancha. Se hace énfasis en su aplicación a <strong>la</strong>mejora <strong>de</strong> <strong>la</strong> productividad <strong>de</strong> <strong>la</strong>s empresas.Entre <strong>la</strong>s sesiones prácticas hay una parte <strong>de</strong>hardware (montaje y configuración <strong>de</strong> re<strong>de</strong>s <strong>de</strong>área local), una parte <strong>de</strong> simu<strong>la</strong>ción, una visitaguiada al punto neutro <strong>de</strong> acceso a Internet <strong>de</strong>Catalunya, CESCA-CATNIX [6] y el estudio <strong>de</strong>un sistema operativo <strong>de</strong> red.En cuanto a <strong>la</strong> asignatura <strong>de</strong> Fundamentos <strong>de</strong>Informática su contexto es totalmente distinto apesar <strong>de</strong> ser impartida en <strong>la</strong> misma escue<strong>la</strong>. Setrata <strong>de</strong> una asignatura <strong>de</strong> carácter troncal <strong>de</strong>primer cuatrimestre <strong>de</strong>ntro <strong>de</strong> fase selectiva. Tieneun número <strong>de</strong> alumnos alre<strong>de</strong>dor <strong>de</strong> 140 en elcuatrimestre <strong>de</strong> otoño y unos 50 en el cuatrimestre<strong>de</strong> primavera. En éste último se repite elcuatrimestre <strong>de</strong> fase selectiva habiendo no más <strong>de</strong>un 10 % <strong>de</strong> alumnos <strong>de</strong> nueva incorporación. Susobjetivos son ofrecer unos conocimientos básicos<strong>de</strong> informática, estructura <strong>de</strong> or<strong>de</strong>nadores,metodología <strong>de</strong> <strong>la</strong> programación y sistemasoperativos. Es una asignatura <strong>de</strong> 6 créditos con 2horas teóricas y 2 <strong>de</strong> prácticas a <strong>la</strong> semana. Laparte central <strong>de</strong>l curso <strong>la</strong> constituye <strong>la</strong>programación estructurada y el diseño


algorítmico. Las prácticas <strong>de</strong> programación conlenguaje Pascal son una parte esencial <strong>de</strong> <strong>la</strong>asignatura y favorecen el aprendizaje progresivo<strong>de</strong>l alumno con propuestas <strong>de</strong> realización <strong>de</strong>algoritmos <strong>de</strong> dificultad creciente.5. Metodología <strong>de</strong> trabajoEn <strong>la</strong> asignatura Re<strong>de</strong>s <strong>de</strong> Or<strong>de</strong>nadoresse propone una evaluación continua a lo <strong>la</strong>rgo <strong>de</strong>lcuatrimestre formada por un examen parcial (40%<strong>de</strong> <strong>la</strong> nota), <strong>la</strong> evaluación <strong>de</strong> los informes <strong>de</strong>prácticas (30%) y un trabajo <strong>de</strong> intensificación(30%) que constituye nuestra experiencia <strong>de</strong>aprendizaje cooperativo. A los alumnos quesuperan satisfactoriamente esta evaluación quedaneximidos <strong>de</strong> <strong>la</strong> obligatoriedad <strong>de</strong>l examen final ypue<strong>de</strong>n presentarse para mejorar su calificación.El trabajo <strong>de</strong> intensificación consiste enuna investigación sobre una <strong>de</strong>terminadatecnología <strong>de</strong> conectividad ( cable, inalámbrica,DSL, GPRS, UTMS, etc. ) y aplicar<strong>la</strong> a unescenario real propuesto por el profesor y común atodos los grupos.Inicialmente los alumnos quedarondivididos en grupos <strong>de</strong> tres alumnos y a cadagrupo se le asignó una o unas tecnologías que<strong>de</strong>bían estudiar. La primera sesión <strong>de</strong> trabajo serealizó en <strong>la</strong> biblioteca <strong>de</strong> <strong>la</strong> Euetib don<strong>de</strong> losgrupos se <strong>de</strong>dicaron a buscar información tanto en<strong>la</strong> bibliografía como por Internet con el apoyo <strong>de</strong>lprofesor. Al final <strong>de</strong> ésta, cada grupo <strong>de</strong>bíaentregar un informe en Word con <strong>la</strong> <strong>de</strong>scripción<strong>de</strong>l trabajo realizado, los objetivos <strong>de</strong> su trabajo y<strong>la</strong> repartición <strong>de</strong> tareas en el grupo.Se entregó a cada grupo un documentocon <strong>la</strong>s próximas tareas a realizar. La siguienteactividad que <strong>de</strong>bían realizar eran los dosprimeros puntos <strong>de</strong>l trabajo: introducción,objetivos y bibliografía recogida. En esta sesión se<strong>de</strong>jó un tiempo para trabajo autónoma y se entregóel escenario real que <strong>de</strong>bían resolver. Esteescenario es una mediana empresa con unasnecesida<strong>de</strong>s concretas <strong>de</strong> conectividad. Cadagrupo <strong>de</strong>bía estudiar si su tecnología era aplicabley en caso afirmativo, presentar un presupuestoconcreto.En <strong>la</strong>s últimas sesiones <strong>de</strong> c<strong>la</strong>se <strong>de</strong>lcuatrimestre se hizo <strong>la</strong> presentación pública <strong>de</strong>ltrabajo por parte <strong>de</strong> cada uno <strong>de</strong> los grupos. Eltrabajo se evaluó mediante <strong>la</strong> entrega <strong>de</strong> unamemoria y <strong>de</strong> <strong>la</strong> presentación en c<strong>la</strong>se, con mayorpeso para <strong>la</strong> presentación. Una <strong>de</strong> <strong>la</strong>stransparencias <strong>de</strong>bía ser un mapa conceptual <strong>de</strong> supresentación.Al principio <strong>de</strong> <strong>la</strong> actividad serecogieron <strong>la</strong>s direcciones <strong>de</strong> correo electrónico<strong>de</strong> todos los alumnos <strong>de</strong> cada grupo para que loutilizaran a lo <strong>la</strong>rgo <strong>de</strong>l trabajo. A<strong>de</strong>más , secontactó con dos expertos externos a <strong>la</strong> UPC queaccedieron a dar soporte via e-mail a los gruposque lo requiriesen. En concreto, estos expertosfueron Josep Lluís Gual<strong>la</strong>r, técnico <strong>de</strong> comercioelectrónico <strong>de</strong> IBM, North Carolina y XavierLarrosa, vicepresi<strong>de</strong>nte <strong>de</strong> <strong>la</strong> Unió <strong>de</strong>Radioaficionats <strong>de</strong> Catalunya.En cuanto a <strong>la</strong> asignatura <strong>de</strong>Fundamentos <strong>de</strong> Informática, hay que constatarque <strong>la</strong> mayoría <strong>de</strong> alumnos son repetidores en faseselectiva y el principal problema con que nosencontramos es su falta <strong>de</strong> motivación. A<strong>de</strong>más, <strong>la</strong>asignatura <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> especialidad <strong>de</strong> Mecánicaes terminal.La mayor dificultad que acostumbran atener los alumnos es aplicar sus conocimientos <strong>de</strong>programación al diseño algorítmico. En c<strong>la</strong>se <strong>la</strong>limitación <strong>de</strong> tiempo hace que el número <strong>de</strong>ejercicios resueltos no sea muy elevado.Se propuso <strong>la</strong> realización en grupos <strong>de</strong>tres <strong>de</strong> un problema <strong>de</strong> diseño algorítmico <strong>de</strong> nivelparecido al exigido en el examen final. Esteejercicio se empezó a resolver en c<strong>la</strong>se<strong>de</strong>dicándose una media hora a p<strong>la</strong>ntear elproblema con ayuda <strong>de</strong>l profesor. Al cabo <strong>de</strong> unasemana <strong>de</strong>bían entregar el problema terminado enpseudocódigo. El profesor lo comentó con cadagrupo, y en <strong>la</strong> última c<strong>la</strong>se <strong>de</strong>l cuatrimestre cadagrupo presentó el problema en c<strong>la</strong>se comoejercicio <strong>de</strong> síntesis <strong>de</strong>l curso.En esta primera experiencia, <strong>la</strong> entregafinal <strong>de</strong>l problema se <strong>de</strong>jó como ejercicio optativoy se valoró <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> evaluación continua <strong>de</strong> <strong>la</strong>asignatura (25%). Se coordinó con los profesores


<strong>de</strong> prácticas para que pudieran trabajar el ejercicioen <strong>la</strong>s c<strong>la</strong>ses prácticas <strong>de</strong>sarrollándolo también enPascal.En los trabajos propuestos en el siguientecurso académico 2001-02 se realizaron algunasmodificaciones, como hacer obligatorio el trabajo<strong>de</strong> Fundamentos <strong>de</strong> Informática, nombrar unportavoz para cada grupo y exten<strong>de</strong>r <strong>la</strong> interaccióncon un profesional externo a todos los grupos.Se anunció a los alumnos que <strong>la</strong> calificaciónse realizaría en parte con preguntas sobre eltrabajo a un miembro <strong>de</strong>l grupo que sería asignadoaleatoriamente. Sin embargo, <strong>la</strong> nota sería <strong>la</strong>misma para todos los componentes <strong>de</strong>l grupo.Esto les obliga por mutuo acuerdo a intentar quenadie <strong>de</strong>l grupo se que<strong>de</strong> fuera <strong>de</strong>l papel activoque <strong>de</strong>be <strong>de</strong>sempeñar <strong>de</strong>ntro <strong>de</strong>l propio grupo.Se pue<strong>de</strong> incluir a criterio <strong>de</strong>l profesor unaautoevaluación y/o co-evaluación <strong>de</strong>l trabajo quetenga un peso significativo en <strong>la</strong> calificación final<strong>de</strong>l trabajo cooperativo.Asimismo como continuación <strong>de</strong> <strong>la</strong>experiencia se recogen en este curso también losresultados <strong>de</strong> <strong>la</strong> experiencia activa <strong>de</strong> aprendizaje.6. ResultadosEn ambas experiencias se ha valorado <strong>la</strong>efectividad <strong>de</strong> estos trabajos con una encuestaanónima, específica para ello y <strong>la</strong> evaluación <strong>de</strong><strong>la</strong>s notas finales.En <strong>la</strong> asignatura <strong>de</strong> Re<strong>de</strong>s <strong>de</strong>Or<strong>de</strong>nadores respondieron <strong>la</strong> encuesta el 92% <strong>de</strong>los alumnos que realizaron el trabajo cooperativo.La encuesta estaba formada por 11 items quevaloran diversos aspectos <strong>de</strong>l trabajo siendo <strong>la</strong>media <strong>de</strong> respuestas <strong>de</strong> 3.6 sobre 5 (5 máximavaloración, 1 mínima).Los aspectos mejor valorados fueron elhecho <strong>de</strong> hacer el trabajo en grupo y noindividualmente (4.0) y especialmente <strong>la</strong>experiencia <strong>de</strong> interactuar via e-mail con unexperto externo a <strong>la</strong> Universidad (4,7) así como <strong>la</strong>utilidad <strong>de</strong> esta ayuda (4,4). Los aspectos peorvalorados fueron <strong>la</strong> utilidad <strong>de</strong> <strong>la</strong> primera entregaparcial <strong>de</strong>l trabajo y el uso <strong>de</strong> <strong>la</strong> biblioteca, aún asícon un 2,8 sobre 5.El 100% <strong>de</strong> los alumnos que siguieron <strong>la</strong>evaluación continuada han aprobado <strong>la</strong> asignatura,siendo significativo que <strong>la</strong> realización <strong>de</strong>l trabajoayudó a subir <strong>la</strong> nota <strong>de</strong>l examen parcial. Encontraposición, sólo 1 <strong>de</strong> los 4 que no realizaron<strong>la</strong> evaluación contínua en <strong>la</strong> que se incluye eltrabajo cooperativo aprobaron el examen final ypor tanto <strong>la</strong> asignatura. El porcentaje <strong>de</strong>aprobados en este cuatrimestre fue superior alporcentaje <strong>de</strong>l pasado año en el que se realizótambién un trabajo pero sin <strong>la</strong> metodologíacooperativa.También se preguntó por correoelectrónico a los dos técnicos que participaron en<strong>la</strong> experiencia su opinión. Ambos manifestaronestar muy satisfechos con <strong>la</strong> experiencia, y semuestran dispuestos a continuar<strong>la</strong> y si es posible aampliar<strong>la</strong> por ejemplo, con el uso <strong>de</strong>vi<strong>de</strong>oconferencia.En cuanto a <strong>la</strong> experiencia en <strong>la</strong>asignatura <strong>de</strong> Fundamentos <strong>de</strong> Informática elnúmero <strong>de</strong> alumnos que realizaron el trabajo hastael final fue reducido (8 personas sobre un total <strong>de</strong>20 que realizaron <strong>la</strong> primera sesión) Nosproponemos para próximos cuatrimestres p<strong>la</strong>nteareste ejercicio como obligatorio en <strong>la</strong>s c<strong>la</strong>sesteóricas dado que los resultados han sido positivospara <strong>la</strong> mayoría <strong>de</strong> los que lo han realizado.La encuesta <strong>de</strong> evaluación <strong>de</strong> estetrabajo se p<strong>la</strong>nteó también a partir <strong>de</strong> una serie <strong>de</strong>ítems, diferentes para los que realizaron elejercicio <strong>de</strong> síntesis hasta el final <strong>de</strong> los que no lorealizaron.Entre los que sí lo realizaron recibimos7 encuestas (88%) obteniendo una valoraciónmedia <strong>de</strong> <strong>la</strong> actividad <strong>de</strong> 3.65 sobre 5. Losaspectos mejor valorados fueron <strong>la</strong> coordinacióncon <strong>la</strong>s prácticas (4.3), el que el trabajo serealizara cooperativamente (4,1) y el hecho <strong>de</strong> queel hecho <strong>de</strong> presentarlo en c<strong>la</strong>se obligaba apreparárselo mejor (4.0).Significativamente, tres alumnosmanifestaron que <strong>de</strong> no haber sido por esta


actividad no habrían hecho ningún ejercicio <strong>de</strong>este tipo hasta el mismo día <strong>de</strong>l examen final.A los que no realizaron el ejercicio hastael final se les preguntó por qué razón. De losresultados <strong>de</strong> <strong>la</strong>s encuestas contestadas (8) se<strong>de</strong>duce que no es <strong>la</strong> falta <strong>de</strong> motivación <strong>la</strong> razónprincipal para no acabar y presentar el ejerciciofinal sino <strong>la</strong> falta <strong>de</strong> tiempo dado que no era unaactividad obligatoria.En cuanto a los resultados finales, el75% <strong>de</strong> los alumnos que a<strong>de</strong>más <strong>de</strong> realizar <strong>la</strong>evaluación contínua <strong>de</strong> <strong>la</strong> asignatura realizaroneste ejercicio superaron <strong>la</strong> asignatura, porcentajeque se reduce al 53% para el total <strong>de</strong> alumnos <strong>de</strong><strong>la</strong> asignatura.En <strong>la</strong> exposición final <strong>de</strong> estaexperiencia se anotarán los resultados recogidos alfinal <strong>de</strong>l cuatrimestre <strong>de</strong> primavera 2001-02.7. ConclusionesSe ha realizado una experiencia <strong>de</strong>aprendizaje cooperativo en el área informática <strong>de</strong><strong>la</strong> EUETIB en el cuatrimestre <strong>de</strong> Primavera <strong>de</strong>lcurso 2000/01 con resultados positivos. Estaexperiencia tiene continuación en siguientescuatrimestres y se realiza también en diversasasignaturas <strong>de</strong> otras áreas <strong>de</strong> conocimiento <strong>de</strong>EUETIB como Automática y ExperimentaciónQuímica.La experiencia se ha realizado en unaasignatura optativa <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> IngenieríaTécnica en Electrónica Industrial y en una troncal<strong>de</strong> Ingeniería Técnica en Mecánica valorándo<strong>la</strong>con una encuesta específica y el análisis <strong>de</strong>resultados <strong>de</strong> <strong>la</strong>s asignaturas.En <strong>la</strong> asignatura optativa <strong>de</strong> Re<strong>de</strong>s <strong>de</strong>Or<strong>de</strong>nadores nos p<strong>la</strong>nteamos a <strong>la</strong> vista <strong>de</strong> losresultados, ampliar <strong>la</strong> experiencia en próximoscuatrimestres. Para ello, proponemos dar unmayor peso en <strong>la</strong> nota final a este trabajo ycontactar con otras personas <strong>de</strong>l mundoempresarial y <strong>de</strong> Radioaficionados para ofrecersoporte interactivo a los grupos <strong>de</strong> trabajo.Creemos que el hecho <strong>de</strong> especificar por escrito almáximo lo que se pi<strong>de</strong> <strong>de</strong> cada grupo, y los p<strong>la</strong>zos<strong>de</strong> entrega ha ayudado a que <strong>la</strong> experiencia llegaraa buen puerto. Posiblemente, <strong>la</strong> primera entregaparcial <strong>de</strong>bería formar parte <strong>de</strong>l trabajo <strong>de</strong>finitivopara centrar más inicialmente los objetivos <strong>de</strong>ltrabajo.También es importante que el profesoresté disponible <strong>de</strong> forma continua a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong>realización <strong>de</strong>l trabajo y que se enseñe a hacermapas conceptuales como mo<strong>de</strong>lo <strong>de</strong> esquema <strong>de</strong>ltrabajo, ya que muchos alumnos no conocían enqué consistía un mapa <strong>de</strong> este tipo.En <strong>la</strong> asignatura troncal <strong>de</strong> Fundamentos<strong>de</strong> Informática, se da el hecho <strong>de</strong> que hay unamayor masificación <strong>de</strong> alumnado en elcuatrimestre <strong>de</strong> otoño por lo que <strong>la</strong> aplicación <strong>de</strong><strong>la</strong> metodología cooperativa pue<strong>de</strong> ser másproblemática. En el cuatrimestre <strong>de</strong> primaveraparece ser una actividad que pue<strong>de</strong> ser motivadoraen especial para suplir <strong>la</strong>s carencias <strong>de</strong> falta <strong>de</strong>práctica <strong>de</strong> los alumnos en el diseño algorítmico.Nos p<strong>la</strong>nteamos también darle un mayor peso en<strong>la</strong> nota <strong>de</strong> evaluación continua <strong>de</strong> <strong>la</strong> asignatura asícomo presentar<strong>la</strong> como obligatoria. Especialmenteinteresente es el que esta actividad esté coordinadacon <strong>la</strong>s c<strong>la</strong>ses prácticas.El feed-back al final <strong>de</strong>l cuatrimestre indicalos puntos fuertes <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> actividad yfavorece <strong>la</strong> mejora <strong>de</strong> <strong>la</strong> actividad en cuatrimestressucesivos.Referencias[1] Rué i Domigo, Joan (1991) ‘El trabajocooperativo: La organización <strong>de</strong> <strong>la</strong> enseñanzay el aprendizaje. Barcanova Educación.[2] <strong>Jornadas</strong> <strong>de</strong> Aprendizaje Cooperativo. JAC-01Instituto <strong>de</strong> Ciencias <strong>de</strong> Educación,Universitat Politècnica <strong>de</strong> Catalunya. Julio2001.[3] http://www-ice.upc.es apartado GIAC[4] Johnson, David W. Johnson, Roger T. Smith,Karl A. (1991): “Active Learning:Cooperation in the College C<strong>la</strong>ssroom”.Interaction Book Company.[5] L.Vil<strong>la</strong>rdón, Univ. Deusto. ‘Una experiencia<strong>de</strong> aprendizaje cooperativo en <strong>la</strong> Universidad.Organización y reflexión’. JAC-01. ICE Univ.Politécnica <strong>de</strong> Catalunya. Julio 2001.[6] http://www.catnix.es ; http://www.cesca.es


Integración <strong>de</strong>l aprendizaje individual y <strong>de</strong>l co<strong>la</strong>borativo en unsistema hipermedia adaptativoCarlos Arteaga, Ramón FabregatInstitut d’Informàtica i Aplicacions (IIiA)Universitat <strong>de</strong> Girona (UdG)e-mail: carteaga@eia.udg.es, ramon.fabregat@udg.esResumenEn este artículo se <strong>de</strong>fine un Sistema Hipermedia<strong>de</strong> Aprendizaje Co<strong>la</strong>borativo Adaptativo(SHACA) en el que se re<strong>la</strong>ciona el AprendizajeIndividual y el Aprendizaje Co<strong>la</strong>borativo a través<strong>de</strong> un Mo<strong>de</strong>lo Adaptativo. El Mo<strong>de</strong>lo Adaptativopermite al Ambiente <strong>de</strong> Aprendizaje adaptar sucomportamiento al estudiante tanto cuandointeractúa sólo, como cuando está involucrado entareas co<strong>la</strong>borativas. La arquitectura <strong>de</strong>l sistemapropuesto se basa en <strong>la</strong> arquitectura <strong>de</strong>finida paralos Sistemas Hipermedia Adaptativos (SHA)agregándole el Mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> Co<strong>la</strong>boración en elque se <strong>de</strong>finen <strong>la</strong>s reg<strong>la</strong>s para el comportamientoadaptativo durante el Aprendizaje Co<strong>la</strong>borativo.La información y <strong>la</strong>s reg<strong>la</strong>s contenidas en estosmo<strong>de</strong>los son <strong>la</strong> base para establecer elcomportamiento adaptativo <strong>de</strong>l ambiente <strong>de</strong>aprendizaje integrado.1. IntroducciónEn el mundo actual, <strong>la</strong> tecnología empieza a jugarun papel importante en los procesos <strong>de</strong>aprendizaje. Esto nos obliga a reflexionar sobrelos elementos involucrados en su uso y a buscarnuevas formas <strong>de</strong> enseñar y <strong>de</strong> apren<strong>de</strong>reficientemente.La tecnología informática y <strong>de</strong>comunicaciones pue<strong>de</strong> cambiar radicalmente <strong>la</strong>forma <strong>de</strong> re<strong>la</strong>cionarnos y conseguir información,pero en los sistemas educativos esto no essuficiente. Tenemos que ser capaces no sólo <strong>de</strong>transmitir información sino también <strong>de</strong> lograr <strong>la</strong>asimi<strong>la</strong>ción efectiva <strong>de</strong> conocimiento. Por esto<strong>de</strong>bemos contar con mecanismos <strong>de</strong> medición yevaluación <strong>de</strong> los resultados y ser capaces <strong>de</strong>soportar <strong>la</strong> <strong>de</strong>manda creciente sin per<strong>de</strong>r calidad.Hay varios trabajos <strong>de</strong> investigaciónre<strong>la</strong>cionados con el impacto <strong>de</strong> <strong>la</strong> tecnología y losnuevos problemas que pue<strong>de</strong>n surgir <strong>de</strong> su uso enlos procesos <strong>de</strong> aprendizaje [25]. Pero paraenten<strong>de</strong>r el impacto y los problemas asociados esimportante distinguir entre "el efecto <strong>de</strong>" <strong>la</strong>tecnología y "el efecto con" <strong>la</strong> tecnología. Deacuerdo a <strong>la</strong> perspectiva que se tome para analizarel problema, los resultados pue<strong>de</strong>n cambiar. Seentien<strong>de</strong> por "efectos <strong>de</strong> <strong>la</strong> tecnología" a: qué seha aprendido y que pue<strong>de</strong> transferirse <strong>de</strong> aquél<strong>la</strong>ssituaciones en <strong>la</strong>s que se trabaja con <strong>la</strong>computadora” y por "efectos con <strong>la</strong> tecnología" a:qué pue<strong>de</strong> lograr uno en sinergia con unacomputadora [18].En [2] se analiza una serie <strong>de</strong> f<strong>la</strong>quezasasociadas al uso <strong>de</strong>l Internet en los cursos adistancia, y a porque muchas <strong>de</strong> <strong>la</strong>s expectativasse ven frustradas. Algunas <strong>de</strong> estas f<strong>la</strong>quezas noestán directamente re<strong>la</strong>cionadas con <strong>la</strong> tecnologíasino con el diseño <strong>de</strong>l material instruccional<strong>de</strong>bido al <strong>de</strong>sarrollo <strong>de</strong> estrategias <strong>de</strong> aprendizajeina<strong>de</strong>cuadas más que a los problemas <strong>de</strong> Internetpor sí mismo.En [25] se comenta que hay que ser escépticosa cualquier predicción en el campo <strong>de</strong> <strong>la</strong>stecnologías <strong>de</strong> <strong>la</strong> información y se resalta <strong>la</strong>necesidad <strong>de</strong> ser cautos a <strong>la</strong> hora <strong>de</strong> aplicar <strong>la</strong>tecnología. Sin embargo también consi<strong>de</strong>ra queestas nuevas herramientas facilitarán <strong>la</strong>adquisición <strong>de</strong> <strong>la</strong>s habilida<strong>de</strong>s <strong>de</strong> aprendizaje, <strong>la</strong>e<strong>la</strong>boración <strong>de</strong> estrategias propias <strong>de</strong> aprendizaje,el reconocimiento <strong>de</strong> los estilos <strong>de</strong> aprendizajetípicos, <strong>la</strong> selección <strong>de</strong>l recurso <strong>de</strong> aprendizajeapropiado, así como el refuerzo <strong>de</strong>l valor <strong>de</strong> <strong>la</strong>shabilida<strong>de</strong>s <strong>de</strong> reflexión. Se pue<strong>de</strong> prever que losrecursos digitales serán más interactivos,adaptables y amistosos, promoviendo <strong>la</strong>creatividad <strong>de</strong>l estudiante y <strong>la</strong> integración <strong>de</strong> <strong>la</strong>experiencia.La propuesta que exhibimos p<strong>la</strong>ntea el uso <strong>de</strong><strong>la</strong> tecnología para integrar el aprendizaje


individual y el aprendizaje co<strong>la</strong>borativo a través<strong>de</strong> un mo<strong>de</strong>lo adaptativo.Actualmente se han <strong>de</strong>sarrol<strong>la</strong>do muchosambientes <strong>de</strong> aprendizaje basados en tecnologías<strong>de</strong> <strong>la</strong> información y <strong>de</strong> comunicaciones. Unoshacen más énfasis en el aprendizaje individual[25] y [8], otros en el aprendizaje co<strong>la</strong>borativo[13] y existen algunos que integran ambosaspectos [23], [21] y [11].La co<strong>la</strong>boración adaptativa es un campo <strong>de</strong>investigación reciente [6] y su tecnología se<strong>de</strong>sarrolló junto con los sistemas educativosconectados a una red <strong>de</strong> computadoras. La meta<strong>de</strong>l apoyo a <strong>la</strong> co<strong>la</strong>boración adaptativa esconformar grupos <strong>de</strong> co<strong>la</strong>boración, sin <strong>la</strong>intervención directa <strong>de</strong>l estudiante, basados en elMo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> Co<strong>la</strong>boración y el Mo<strong>de</strong>lo <strong>de</strong>lEstudiante.Teniendo en cuenta <strong>la</strong> importancia <strong>de</strong> estudiarel tema <strong>de</strong>l aprendizaje en un marco co<strong>la</strong>borativoy <strong>la</strong> importancia <strong>de</strong>l aprendizaje individual comoun elemento indivisible <strong>de</strong> <strong>la</strong> generación yasimi<strong>la</strong>ción <strong>de</strong> conocimiento, nos p<strong>la</strong>nteamos <strong>la</strong>ssiguientes preguntas que son base para <strong>la</strong><strong>de</strong>finición <strong>de</strong> <strong>la</strong> propuesta <strong>de</strong> este trabajo:• ¿Mejorarán el proceso <strong>de</strong> aprendizaje LosSistemas Hipermedia Adaptativos queincorporen características Co<strong>la</strong>borativasAdaptativas?• ¿Qué impacto tiene en el aprendizajeco<strong>la</strong>borativo <strong>la</strong> utilización <strong>de</strong> técnicasadaptativas?• ¿Cuál es <strong>la</strong> mejor técnica para proveer <strong>de</strong>adaptación a un ambiente co<strong>la</strong>borativo?• ¿Cómo cambian <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> co<strong>la</strong>boración ycuál es su impacto en el AprendizajeIndividual?• ¿El efecto es distinto <strong>de</strong> acuerdo a <strong>la</strong>pob<strong>la</strong>ción objetivo?Para po<strong>de</strong>r dar respuesta a todas el<strong>la</strong>sproponemos un mo<strong>de</strong>lo para el <strong>de</strong>sarrollo <strong>de</strong>ambientes integrados <strong>de</strong> Aprendizaje Individual yAprendizaje Co<strong>la</strong>borativo con soporte para elcomportamiento adaptativo.La arquitectura <strong>de</strong>l sistema propuesto, se basaen <strong>la</strong> arquitectura <strong>de</strong>finida para los SistemasHipermedia Adaptativos (SHA) [3] y [26], quetiene como componentes el Mo<strong>de</strong>lo <strong>de</strong>l Estudiante(ME), el Mo<strong>de</strong>lo <strong>de</strong>l Dominio (MD) y el Mo<strong>de</strong>lo<strong>de</strong>l Profesor (MP) o mo<strong>de</strong>lo pedagógico. Estaarquitectura es extendida agregándole un nuevomo<strong>de</strong>lo el Mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> Co<strong>la</strong>boración (MC) en elque se <strong>de</strong>finen <strong>la</strong>s reg<strong>la</strong>s para el comportamientoadaptativo durante el Aprendizaje Co<strong>la</strong>borativo.La adaptatividad en el aprendizajeco<strong>la</strong>borativo afecta principalmente a <strong>la</strong>conformación <strong>de</strong> los grupos y al rol que losestudiantes pue<strong>de</strong>n jugar en cada uno <strong>de</strong> losgrupos.La diferencia entre nuestra propuesta y lostrabajos que integran el aprendizaje individual y elco<strong>la</strong>borativo esta en <strong>la</strong> forma <strong>de</strong> efectuar <strong>la</strong>integración y lograr el comportamientoadaptativo. Por ejemplo, los trabajos mencionadosno utilizan un Sistema Hipermedia Adaptativo(SHA) para presentar el material instruccional y nilos avances <strong>de</strong>l estudiante en un entorno <strong>de</strong>aprendizaje (co<strong>la</strong>borativo o individual) afectandirectamente <strong>la</strong> adaptatividad <strong>de</strong>l otro ambiente.En los apartados siguientes <strong>de</strong>scribiremosbrevemente los conceptos <strong>de</strong> <strong>la</strong> adaptatividad y <strong>la</strong>naturaleza <strong>de</strong> los mo<strong>de</strong>los <strong>de</strong> aprendizaje que sonbase para el SHACA. Posteriormente sepresentará el mo<strong>de</strong>lo para el Sistema Hipermedia<strong>de</strong> Aprendizaje Co<strong>la</strong>borativo Adaptativo(SHACA). Finalmente se enumeran <strong>la</strong>sconclusiones y se mencionan algunos trabajosfuturos.2. Sistemas Hipermedia AdaptativosBrusilovsky [3] <strong>de</strong>fine un Sistema HipermediaAdaptativo como aquel que construye para cadausuario un mo<strong>de</strong>lo <strong>de</strong> objetivos, preferencias yconocimientos. Utiliza este mo<strong>de</strong>lo a través <strong>de</strong> <strong>la</strong>interacción para adaptarse a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>lusuario.Oppermann [22] tiene en cuenta <strong>la</strong>scaracterísticas <strong>de</strong>l usuario y distingue entre:• Sistemas Adaptables: permiten al usuariocambiar ciertos parámetros <strong>de</strong>l sistema yadaptar <strong>de</strong> esta manera su comportamiento.• Sistemas Adaptativos: Se adaptan al usuarioautomáticamente basándose en <strong>la</strong>ssuposiciones que el sistema realiza <strong>de</strong> <strong>la</strong>snecesida<strong>de</strong>s <strong>de</strong>l usuario.Según <strong>la</strong> formalización realizada en [3] y [26]los Sistemas Hipermedia Adaptativos utilizan tres


componentes básicos para lograr <strong>la</strong> adaptatividad:el Mo<strong>de</strong>lo <strong>de</strong>l Usuario, el Mo<strong>de</strong>lo <strong>de</strong>l Dominio <strong>de</strong><strong>la</strong> aplicación y el Mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> adaptación (en elcaso educativo es el Mo<strong>de</strong>lo <strong>de</strong>l Profesor oMo<strong>de</strong>lo Pedagógico). Esta división proporcionac<strong>la</strong>ridad al <strong>de</strong>sarrollo <strong>de</strong> aplicaciones adaptativasy permite asignar responsabilida<strong>de</strong>s específicas acada mo<strong>de</strong>lo.• El Mo<strong>de</strong>lo <strong>de</strong>l Estudiante <strong>de</strong>scribe <strong>la</strong>información <strong>de</strong>l usuario que un SHA seguarda en un registro permanente. Estainformación incluye una representación <strong>de</strong>lestado <strong>de</strong>l conocimiento adquirido por elestudiante y un registro <strong>de</strong> los nodos que havisitado.• El Mo<strong>de</strong>lo <strong>de</strong>l Dominio <strong>de</strong>scribe cómo seen<strong>la</strong>za y estructura <strong>la</strong> información.• El Mo<strong>de</strong>lo <strong>de</strong>l Profesor está compuesto porreg<strong>la</strong>s pedagógicas que <strong>de</strong>finen cómo secombinan el Mo<strong>de</strong>lo <strong>de</strong>l Dominio y elMo<strong>de</strong>lo <strong>de</strong>l Estudiante para proveer <strong>de</strong>adaptación al sistema.Añadiendo a estos tres componentesmencionados se pue<strong>de</strong> efectuar dos tipo <strong>de</strong>adaptación: Presentación y NavegaciónAdaptativa [4], [5], [20] y [16]. Diferentesinvestigaciones [7], [15] y [24] han <strong>de</strong>mostradoque esta adaptación pue<strong>de</strong> tener un efectopositivo en el proceso <strong>de</strong> aprendizaje. Sinembargo en [24] se comenta que algunas técnicasadaptativas <strong>de</strong>scritas en [4] pue<strong>de</strong>n causarconfusión y problemas en el proceso <strong>de</strong>aprendizaje.La Presentación Adaptativa tiene que ver con<strong>la</strong> forma en <strong>la</strong> que una página <strong>de</strong> información espresentada y se realiza mediante <strong>la</strong> adaptación ogeneración dinámica <strong>de</strong> <strong>la</strong>s páginas <strong>de</strong>información. La Navegación Adaptativa tiene quever con <strong>la</strong> manera <strong>de</strong> navegar en el hiper-espacio<strong>de</strong> información <strong>de</strong>finido y se realiza mediante <strong>la</strong>adaptación <strong>de</strong> los en<strong>la</strong>ces a <strong>la</strong> página siguientepara guiar al estudiante <strong>de</strong> forma particu<strong>la</strong>r.En ambos casos existen técnicas y métodosque permiten el <strong>de</strong>sarrollo <strong>de</strong> sistemas concaracterísticas adaptativas. Las técnicas <strong>de</strong>finencomo realizar <strong>la</strong> adaptación al nivel <strong>de</strong>implementación. Los métodos <strong>de</strong>scriben a nivelconceptual cómo <strong>de</strong>be realizarse <strong>la</strong> adaptación yse consi<strong>de</strong>ran cuatro aspectos: ¿Qué adaptar?(tecnologías para <strong>la</strong> adaptación), ¿Por qué?(objetivos <strong>de</strong> <strong>la</strong> adaptación), ¿Dón<strong>de</strong>? (áreas <strong>de</strong>aplicación) y ¿A qué? (características <strong>de</strong>l usuario).Los métodos empleados por <strong>la</strong> PresentaciónAdaptativa son <strong>la</strong> explicación adicional, <strong>la</strong>explicación basada en pre-requisitos, <strong>la</strong>explicación comparativa, variantes <strong>de</strong> explicacióny or<strong>de</strong>namiento según <strong>la</strong> importancia.Los méto<strong>de</strong>s empleados por <strong>la</strong> NavegaciónAdaptativa son <strong>la</strong> guía directa, el or<strong>de</strong>namientoadaptativo <strong>de</strong> en<strong>la</strong>ces, el ocultamiento adaptativo<strong>de</strong> en<strong>la</strong>ces, <strong>la</strong> anotación adaptativa y los mapasadaptativos.Es muy importante resaltar que <strong>la</strong>adaptatividad representa un cambio cualicuantitativoen los sistemas <strong>de</strong> aprendizaje. Elestudio <strong>de</strong> su aplicación se ha orientado a lograreficiencia y eficacia en los procesos <strong>de</strong>aprendizaje.3. Mo<strong>de</strong>los <strong>de</strong> AprendizajeEn este apartado revisaremos brevemente elAprendizaje Individual, y el AprendizajeCo<strong>la</strong>borativo [2], [12] y [25].El Aprendizaje Individual está orientado asatisfacer necesida<strong>de</strong>s <strong>de</strong>l estudiante que pue<strong>de</strong>nvariar en el tiempo, <strong>la</strong> forma, el contenido y elvolumen. Esto <strong>de</strong>termina <strong>la</strong> necesidad <strong>de</strong> que losambientes <strong>de</strong>sarrol<strong>la</strong>dos para apoyar elAprendizaje Individual sean flexibles, amigables ytengan incorporado los conceptos <strong>de</strong> adaptación.La valoración que un estudiante particu<strong>la</strong>r tendrá<strong>de</strong> un sistema está <strong>de</strong>terminado por <strong>la</strong> habilidad<strong>de</strong>l sistema para facilitarle su aprendizaje [25].En <strong>la</strong>s teorías <strong>de</strong> aprendizaje queda c<strong>la</strong>ro que<strong>la</strong> interacción es un factor catalizador <strong>de</strong>l proceso<strong>de</strong> aprendizaje [17]. Pero <strong>la</strong> creación <strong>de</strong>conocimiento y <strong>la</strong> asimi<strong>la</strong>ción <strong>de</strong>l mismo essiempre un proceso individual [12] y [19]. Por lotanto es importante que los sistemas <strong>de</strong> educacióna distancia proporcionen un soporte a<strong>de</strong>cuado paraeste tipo <strong>de</strong> aprendizaje.La necesidad <strong>de</strong> adaptación en un sistemahipermedia <strong>de</strong> soporte al aprendizaje individualsurge porDebido a <strong>la</strong> confusión ocasionada en elestudiante (principalmente en aquel que es novicioen un tema) por el gran volumen <strong>de</strong> informaciónque pue<strong>de</strong> ser presentado es necesario que lossistemas hipermedia <strong>de</strong> soporte al aprendizaje


individual incorporen los tipos <strong>de</strong> adaptaciónpresentados en el apartado anterior.El Aprendizaje Co<strong>la</strong>borativo está orientado a<strong>la</strong> generación <strong>de</strong> conocimiento y lo po<strong>de</strong>mos<strong>de</strong>finir como: “Co construcción <strong>de</strong> conocimiento,y mutuo compromiso <strong>de</strong> los participantes”. Entérminos genéricos, se <strong>de</strong>fine co<strong>la</strong>boración, como:cualquier actividad que un par o más <strong>de</strong>individuos efectúa juntos [18].El Aprendizaje Co<strong>la</strong>borativo intenta eliminarlos problemas <strong>de</strong> ais<strong>la</strong>miento y <strong>de</strong> soledad quetienen los estudiantes al interactuar con ambientes<strong>de</strong> aprendizaje individual sin <strong>la</strong> presencia <strong>de</strong>ldocente y/o grupos <strong>de</strong> estudio. La co<strong>la</strong>boración esun catalizador <strong>de</strong> conocimientos y muchos <strong>de</strong> losavances están orientados a <strong>la</strong> socialización <strong>de</strong>lproceso <strong>de</strong> aprendizaje [1], [9] y [10].Varias <strong>de</strong> <strong>la</strong>s metodologías y herramientas queusan <strong>la</strong> tecnología (hardware y software) paraapoyar el Aprendizaje Co<strong>la</strong>borativo han surgidobajo el nombre <strong>de</strong> “Aprendizaje Co<strong>la</strong>borativoSoportado por Computador” (CSCL-ComputerSupported Co<strong>la</strong>borative Learnig) [13]. Pero eneste campo no sólo se ha investigado <strong>la</strong> tecnologíasino también los aspectos sociales, psicológicos,organizacionales y los efectos en el aprendizaje.Por los resultados <strong>de</strong> <strong>la</strong>s investigacionesrealizadas se pue<strong>de</strong> <strong>de</strong>ducir que el sólo hecho <strong>de</strong>utilizar tecnología no soluciona los problemasasociados al proceso <strong>de</strong> aprendizaje. Es necesarioincluir otros elementos: objetivos pedagógicos,seguimiento, análisis y medición <strong>de</strong> resultados[13].Hay que tener c<strong>la</strong>ros los objetivos que sepersiguen con el aprendizaje co<strong>la</strong>borativo puespue<strong>de</strong>n generar diferencias importantes en elmomento <strong>de</strong> implementar soluciones y buscarresultados. Cuestiones como ¿Qué esco<strong>la</strong>boración? y ¿Qué estudiamos cuandoaplicamos co<strong>la</strong>boración apoyada en <strong>la</strong> tecnología?son elementos a consi<strong>de</strong>rar al momento <strong>de</strong> aplicar<strong>la</strong> co<strong>la</strong>boración [18].Según [14] el proceso <strong>de</strong> aprendizaje don<strong>de</strong>intervienen grupos <strong>de</strong> estudiantes tiene dossecuencias: Secuencias <strong>de</strong> Transferencia <strong>de</strong>Conocimiento y Secuencias <strong>de</strong> Co<strong>la</strong>boración. En<strong>la</strong> primera es don<strong>de</strong> el instructor transfiereconocimiento a los estudiantes y en <strong>la</strong> segunda esdon<strong>de</strong> se sintetiza y aplica el conocimientorecibido.4. Sistema Hipermedia <strong>de</strong> AprendizajeCo<strong>la</strong>borativo Adaptativo (SHACA)El SHACA es un sistema que integra e<strong>la</strong>prendizaje individual con el aprendizajeco<strong>la</strong>borativo, y en el que ambos aprendizajes sonadaptativos. Una característica importante es quelos mo<strong>de</strong>los utilizados para <strong>la</strong> adaptación en elsistema <strong>de</strong> aprendizaje individual son los mismosque se utilizarán para conseguir <strong>la</strong> adaptacióndurante el aprendizaje co<strong>la</strong>borativo. Otro aspectorelevante es que cualquier cambio en el mo<strong>de</strong>lo<strong>de</strong>l estudiante afecta el comportamientoadaptativo tanto <strong>de</strong>l ambiente <strong>de</strong> aprendizajeindividual como el <strong>de</strong>l ambiente <strong>de</strong> aprendizajeco<strong>la</strong>borativo.Como ya se ha comentado en <strong>la</strong> introducción,<strong>la</strong> arquitectura propuesta extien<strong>de</strong> <strong>la</strong> arquitectura<strong>de</strong> los Sistemas Hipermedia Adaptativos ([3] y[26]) incorporando el Mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> Co<strong>la</strong>boraciónen el que se <strong>de</strong>finen <strong>la</strong>s reg<strong>la</strong>s para el proceso <strong>de</strong>selección y formación <strong>de</strong> los grupos <strong>de</strong>co<strong>la</strong>boración.La arquitectura <strong>de</strong>l SHACA está formada porlos siguientes módulos (figura 1):• Diseño y Creación <strong>de</strong> MaterialInstruccional. Herramienta <strong>de</strong> autor quepermite al docente crear el materialinstruccional. Incluye soporte para crear elmaterial basado en los estilos <strong>de</strong> aprendizaje<strong>de</strong>finidos en [14].• Interfaz <strong>de</strong> usuario. Módulo que permite <strong>la</strong>interacción entre el estudiante y el Ambiente<strong>de</strong> aprendizaje integrado.• Aprendizaje Individual. Módulo para <strong>la</strong>presentación, estudio y exploración <strong>de</strong>lmaterial instruccional. Este mecanismo es unSistema Hipermedia Adaptativo, queincorpora Presentación Adaptativa yNavegación Adaptativa.• Diagnóstico. Sirve para <strong>de</strong>terminar el estadoinicial <strong>de</strong>l conocimiento <strong>de</strong>l estudiante sobreel dominio <strong>de</strong> <strong>la</strong> aplicación. , y preferencias<strong>de</strong>l estudiante y el o los estilos <strong>de</strong> aprendizaje<strong>de</strong> su preferencia. La información obtenida esutilizada para aplicar <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> adaptación<strong>de</strong>l ambiente <strong>de</strong> aprendizaje individual yco<strong>la</strong>borativo.


• Aprendizaje Co<strong>la</strong>borativo. Estecomponente incorpora el concepto <strong>de</strong>Co<strong>la</strong>boradores Potenciales y el <strong>de</strong> Espacio <strong>de</strong>Co<strong>la</strong>boración. Los Co<strong>la</strong>boradores Potencialesson todos los estudiantes que participan en elproceso <strong>de</strong> aprendizaje y el Espacio <strong>de</strong>Co<strong>la</strong>boración son subconjuntos <strong>de</strong> losCo<strong>la</strong>boradores Potenciales formados <strong>de</strong>acuerdo a <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>adaptación que se <strong>de</strong>finan. Incluyeherramientas <strong>de</strong> comunicación, intercambio<strong>de</strong> i<strong>de</strong>as y otros. (E-mail, Chat, Pizarraselectrónicas, Noticias, Foros, y otros).• Motor Adaptativo (Engine). Ejecuta <strong>la</strong>sreg<strong>la</strong>s <strong>de</strong> adaptación para todo el ambiente <strong>de</strong>aprendizaje utiliza los cuatro mo<strong>de</strong>loconsi<strong>de</strong>rados: Mo<strong>de</strong>lo <strong>de</strong>l Dominio, Mo<strong>de</strong>lo<strong>de</strong>l Estudiante, Mo<strong>de</strong>lo <strong>de</strong>l Profesor y elMo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> Co<strong>la</strong>boración. Es una extensiónal mecanismo <strong>de</strong> adaptación empleado en losSistemas Hipermedia Adaptativos. A través<strong>de</strong> este mecanismo cualquier cambio en elMo<strong>de</strong>lo <strong>de</strong>l Estudiante se refleja tanto en e<strong>la</strong>mbiente <strong>de</strong> aprendizaje individual como enel ambiente <strong>de</strong> aprendizaje co<strong>la</strong>borativo.• Evaluación, Monitoreo y Seguimiento.Recolecta información <strong>de</strong>l Ambiente <strong>de</strong>Aprendizaje Individual como <strong>de</strong>lCo<strong>la</strong>borativo, procesa <strong>la</strong> informaciónrecolectada y emite indicadores <strong>de</strong> <strong>la</strong>actividad <strong>de</strong>l estudiante en el sistema. Losresultados obtenidos ayudan a afinar elproceso <strong>de</strong> aprendizajeUn proceso típico <strong>de</strong> utilización <strong>de</strong>l sistemaSHACA sería el siguiente:• Diseño y creación <strong>de</strong>l material instruccional.• Definición <strong>de</strong>l Mo<strong>de</strong>lo <strong>de</strong>l Profesor, <strong>de</strong>lMo<strong>de</strong>lo <strong>de</strong>l Dominio y <strong>de</strong>l Mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong>Co<strong>la</strong>boración.• Publicación <strong>de</strong>l material a través <strong>de</strong><strong>la</strong>mbiente <strong>de</strong> aprendizaje individual (quefundamentalmente es un Sistema HipermediaAdaptativo).• Diagnóstico para el estado inicial <strong>de</strong>lestudiante y su estilo <strong>de</strong> aprendizaje.• El estudiante inicia su aprendizaje tantoindividual como co<strong>la</strong>borativamente. Esteproceso es integrado sin línea divisoria entreellos.El avance <strong>de</strong>l estudiante en el estudio <strong>de</strong>lmaterial instruccional afecta <strong>la</strong> actividad en elAmbiente <strong>de</strong> Aprendizaje Co<strong>la</strong>borativo, y a su vezel avance en el Aprendizaje Co<strong>la</strong>borativo afecta a<strong>la</strong>mbiente <strong>de</strong> aprendizaje individual. Por ejemplolos roles que juega el estudiante pue<strong>de</strong>n cambiar,así como <strong>la</strong> presentación y navegación en e<strong>la</strong>mbiente <strong>de</strong> aprendizaje individual.La <strong>de</strong>finición <strong>de</strong>l Mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> Co<strong>la</strong>boración,no es trivial y <strong>de</strong> hecho es uno <strong>de</strong> los componentesmás complejos y críticos para el éxito <strong>de</strong> estapropuesta. Las reg<strong>la</strong>s sobre <strong>la</strong>s cuales los Espacios<strong>de</strong> Co<strong>la</strong>boración se forman <strong>de</strong>ben tener en cuentalos problemas que se asocian a <strong>la</strong> interacción enlos grupos y al estilo <strong>de</strong> aprendizaje propio <strong>de</strong>cada estudiante [14]. Deben permitir que losparticipantes realmente se encuentren enambientes don<strong>de</strong> se construya conocimientoco<strong>la</strong>borativamente y no meramente en unambiente para <strong>la</strong> difusión superficial <strong>de</strong>conocimiento o intercambio <strong>de</strong> opinionespersonales [18]. Este es el reto principal que tiene<strong>la</strong> implementación <strong>de</strong> esta propuesta.El Mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> Co<strong>la</strong>boración incluye <strong>la</strong>sreg<strong>la</strong>s para <strong>la</strong> conformación <strong>de</strong> los Espacios <strong>de</strong>Co<strong>la</strong>boración y está orientado a resolvercuestiones como:• ¿Qué condiciones <strong>de</strong>be cumplir unestudiante para pertenecer a un grupoparticu<strong>la</strong>r?• ¿Las características <strong>de</strong> cada grupo seránpreviamente <strong>de</strong>finidas o serán dinámicas?• ¿Los grupos permitirán el uso <strong>de</strong> roles <strong>de</strong>los estudiantes?• ¿El cumplimiento <strong>de</strong> los objetivos <strong>de</strong>lgrupo cambia el estado <strong>de</strong>l Mo<strong>de</strong>lo <strong>de</strong>lEstudiante?• ¿Cuáles son <strong>la</strong>s condiciones para que unestudiante salga <strong>de</strong> un grupo e ingrese enotro?


5. ConclusionesEn este trabajo se presenta una arquitectura básicapara <strong>de</strong>sarrol<strong>la</strong>r sistemas <strong>de</strong> aprendizaje queintegren el Aprendizaje Individual y elAprendizaje Co<strong>la</strong>borativo. Esta integración sehace <strong>de</strong> manera dinámica y <strong>de</strong> forma transparenteal estudiante. Se <strong>de</strong>finen los conceptos para lograrcomportamiento adaptativo en <strong>la</strong> conformación ymanejo <strong>de</strong> grupos <strong>de</strong> aprendizaje co<strong>la</strong>borativo.Creemos que no sólo se <strong>de</strong>ben <strong>de</strong>sarrol<strong>la</strong>rnuevas aplicaciones para soportar el proceso <strong>de</strong>aprendizaje, sino también se <strong>de</strong>be investigar elimpacto que el<strong>la</strong>s tienen en el mismo. Hay muchoque investigar sobre <strong>la</strong> naturaleza <strong>de</strong> los sistemasadaptativos y el impacto <strong>de</strong> ellos en losestudiantes.Consi<strong>de</strong>ramos que el SHACA (como unambiente <strong>de</strong> aprendizaje integrado y adaptativo)pue<strong>de</strong> ser un instrumento muy útil para el<strong>de</strong>sarrollo <strong>de</strong> cursos a distancia.Las cualida<strong>de</strong>s adaptativas que incorpora seconvierten en un componente c<strong>la</strong>ve para unaentrega eficiente <strong>de</strong> material instruccional y paraun <strong>de</strong>sarrollo más dinámico <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>aprendizaje tanto individual como co<strong>la</strong>borativo.Finalmente el combinar ambientes <strong>de</strong>aprendizaje individual con ambientes <strong>de</strong>aprendizaje co<strong>la</strong>borativo y dotar a ambos <strong>de</strong>características adaptativas pue<strong>de</strong> incrementar <strong>la</strong>eficiencia y eficacia durante el proceso <strong>de</strong>aprendizaje. Esta afirmación <strong>de</strong>berá confirmarsecon el <strong>de</strong>sarrollo <strong>de</strong> experimentos que <strong>de</strong>n másluces sobre su vali<strong>de</strong>z.Como continuación <strong>de</strong> este trabajo se crearáun ambiente para un dominio específico y sepondrá a prueba para analizar su funcionamiento.Es necesario estudiar <strong>la</strong>s pob<strong>la</strong>ciones objetivo y apartir <strong>de</strong> ello <strong>de</strong>finir nuevas estrategias y/ocambios en <strong>la</strong> filosofía <strong>de</strong>l enseñar y apren<strong>de</strong>r.Los paradigmas para <strong>la</strong> creación <strong>de</strong> material <strong>de</strong>estudio, <strong>la</strong> forma <strong>de</strong> monitorear el avance y elcontacto con el estudiante son aspectos quetambién <strong>de</strong>ben ser consi<strong>de</strong>rados.Aprendizaje IndividualEstudianteMotor para <strong>la</strong> AdaptaciónEstudianteReg<strong>la</strong>s <strong>de</strong> AdaptaciónInterfáz <strong>de</strong>UsuarioMo<strong>de</strong>lo <strong>de</strong>lEstudianteMo<strong>de</strong>lo <strong>de</strong> <strong>la</strong>Co<strong>la</strong>boraciónMo<strong>de</strong>lo <strong>de</strong>lProfesorMo<strong>de</strong>lo <strong>de</strong>lDominioCreación y Diseño <strong>de</strong>lMaterial InstruccionalEstudianteDiagnósticoProfesorEstudianteEspacio <strong>de</strong>Co<strong>la</strong>boraciónEspacio <strong>de</strong>Co<strong>la</strong>boraciónEspacio <strong>de</strong>Co<strong>la</strong>boraciónCo<strong>la</strong>boradores PotencialesAprendizaje Co<strong>la</strong>borativoEspacio <strong>de</strong>Co<strong>la</strong>boraciónProfesorEvaluación, Monitoreo y SeguimientoFigura 1: Arquitectura <strong>de</strong>l SHACA


Referencias[1] L. Anido, M. Caeiro, M. L<strong>la</strong>mas, M.J.Fernán<strong>de</strong>z.: “Creating col<strong>la</strong>borativeenvironments for web-based trainingscenarios”. SIIE2000, 2do SimposioInternacional <strong>de</strong> Informática Educativa. 15-17 <strong>de</strong> Noviembre <strong>de</strong> 2000 Puertol<strong>la</strong>no(Ciudad Real)[2] A. Bork: “What is nee<strong>de</strong>d for effectivelearning on the Internet”. EducationalTechnology & Society 4(3)2001 SIN 1436-4522.[3] P. De Bra, G.J. Houben, H. Wu: “AHAM: ADexter-based Reference Mo<strong>de</strong>l for AdaptiveHypermedia”.Proceedings of the ACMConference on Hypertext and Hypermedia,pp. 147-156, Darmstadt, Germany, 1999.(Editors K. Tochtermann, J. Westbomke,U.K. Wiil, J. Leggett)[4] P. Brusilovsky: Methods and techniques ofadaptive hypermedia. User Mo<strong>de</strong>ling andUser Adapted Interaction. v 6, n 2-3, pp 87-129. (Special issue on adaptive hypertextand hypermedia). 1996[5] P. Brusilovsky: “Adaptive NavigationSupport: A Component for InformationExploration Interfaces”. Proceedings, CHI98, April 18-23, 1998, Los Angeles, CAUSA[6] P. Brusilovsky: “Adaptive EducationalSystems on the World-Wi<strong>de</strong>-Web: A Reviewof Avai<strong>la</strong>ble Technologies”. In: Proceedingsof Workshop "WWW-Based Tutoring" at4th International Conference on IntelligentTutoring Systems (ITS'98). 1998. SanAntonio, Texas.[7] P. Brusilovsky, J. Eklundb J., E. Schwarzc:“Web-based education for all: a tool for<strong>de</strong>velopment adaptive courseware”.Seventh International World-Wi<strong>de</strong> WebConference, April 14-18, 1998, Brisbane,Australia[8] P. Brusilovsky: “Adaptive hypermedia”.User Mo<strong>de</strong>ling and User AdaptedInteraction, Ten Year. Anniversary Issue,(Alfred Kobsa, ed.) 11 (1/2), 87-110. 2001[9] A. J. Cañas, K. M. Ford, J. W. Coffey, T.Reichherzer, N. Suri, R. Carff, D. Shamma,G. Hill, M. Breedy.: “Herramientas paraConstruir y Compartir Mo<strong>de</strong>los <strong>de</strong>Conocimiento Basados en MapasConceptuales”. Revista <strong>de</strong> InformáticaEducativa, Vol. 13, No. 2 (2000), pp. 145-158.[10] A. J. Cañas, K. M. Ford, P. H. Hayes, T.Reichherzer, N. Suri, J. W. Coffey, R. Carff,G. Hill,: “Co<strong>la</strong>boracion en <strong>la</strong> Construccion<strong>de</strong> Conocimiento Mediante MapasConceptuales” Invited Plenary Talk, <strong>VIII</strong>Congreso Internacional sobre Tecnología yEducación a Distancia, San José, CostaRica, (Nov. 1997). Avai<strong>la</strong>ble in theProceedings of the Conference, pp. XXV-XLII.[11] M. Constantino-Gonzalez, D. Suthers: ACoached Col<strong>la</strong>borative LearningEnvironment for Entity-Re<strong>la</strong>tionshipMo<strong>de</strong>ling In Intelligent Tutoring Systems,Proceedings of the 5th InternationalConference (ITS 2000).[12] J. Ewing, D. Miller: “A framework forevaluating computer supportedcol<strong>la</strong>borative learning”. EducationalTechnology & Society 5(1) 2002. ISSN1436-4522[13] S. Gerry (Editor 2002) “Proceedings ofCSCL 2002, Boul<strong>de</strong>r, Colorado, USA”.January 7 - 11, 2002, distributed byLawrence Erlbaum Associates, Inc.Hillsdale, New Jersey, USA © 2002[14] C. R. Haller, V. J. Gal<strong>la</strong>gher, L. T. Weldon,R. M. Fel<strong>de</strong>r,: “Dynamics of peer educationin cooperative learning workgroups.” J.Engr. Education, 89(3), 285-293 (2000).[15] K. Hook: “Evaluating the Utility andUsability of an Adaptive HypermediaSystem”. in Journal of Knowledge-BasedSystems, vol. 10, no. 5, 1998.[16] A. Jameson:”User-Adaptive Systems: AnIntegrative Overview”.UM99, the SeventhInternational Conference on User Mo<strong>de</strong>ling,Banff, June 1999; and at IJCAI99, theSixteenth International Joint Conference onArtificial Intelligence, August 1999.


[17] G. Kearsley: “Explorations in learning &instruction: the theory into practicedatabase”. Copyright 1994-2001 GregKearsley (gkearsley@sprynet.com).http://home.sprynet.com/~gkearsley.[18] L. Lipponen: “Exploring foundations forcomputer-supported col<strong>la</strong>borativelearning”. Proceedings of CSCL 2002,Boul<strong>de</strong>r, Colorado, USA. January 7 - 11,2002 Edited by Gerry Stahl, distributed byLawrence Erlbaum Associates, Inc.[19] J. A. Macías y P. Castells. “Diseñointeractivo <strong>de</strong> cursos adaptativos”.SIIE2000, 2do Simposio Internacional <strong>de</strong>Informática Educativa. 15-17 <strong>de</strong> Noviembre<strong>de</strong> 2000 Puertol<strong>la</strong>no (Ciudad Real)[20] J.A. Macías; P. Castells: "Un sistema <strong>de</strong>presentación dinámica hipermedia pararepresentaciones personalizadas <strong>de</strong>lconocimiento". II Congreso Internacional <strong>de</strong>Interacción Persona-Or<strong>de</strong>nador (Interacción2001). Sa<strong>la</strong>manca (España), 2001.[21] C. J. M, Olguín, A. L. N. Delgado, I. L. M.Ricarte: “An Agent infrastructure to setcol<strong>la</strong>borative environments”. EducationalTechnology & Society 3(3) 2000. ISSN1436-4522[22] R. Oppermann, R. Rashev, Kinshuk:“Adaptability and Adaptivity in LearningSystems”. Knowledge Transfer (volume II)(Ed. A. Behrooz), pAce, London, pp173-179. 1997. (ISBN 1-900427-015-X).[23] A. Rachida, M. Amine Benkiran, M. Ato.:“A Framework for Adaptative andCooperative Learning for the Internet;SMART Learning”. INET 2000Proceedings. Japan. 18-21 July 2000[24] P. Da Silva, R. Van Durm, E. Duval, H.Olivié.: “A Simple Mo<strong>de</strong>l for AdaptiveCourseware Navigation”.Conferentie Informatiewetenschap 1997.Thema: "Let your Browser do the Walking"Technische Universiteit Eindhoven. 27november 1997[25] K. Sinitsa. “Learning Individually: a Life-Long Perspective Introduction to the SpecialIssue”. Educational Technology & Society3(1)2000. SIN 1436-4522[26] H. Wu (Position Paper): “A ReferenceArchitecture for Adaptive HypermediaSystems”. Third Workshop on AdaptiveHypertext and Hypermedia. Hypertext'01 .Århus, Denmark, August 14-18, 2001


Arquitectura <strong>de</strong> or<strong>de</strong>nadores


Un computador didáctico elemental (CODE-2)A.Prieto F.J. Pe<strong>la</strong>yo F.Gómez Mu<strong>la</strong> J.OrtegaA.Cañas A.Martínez F.J.Fernán<strong>de</strong>zDepartamento <strong>de</strong> Arquitectura y Tecnología <strong>de</strong> ComputadoresE.T.S.I. InformáticaUniversidad <strong>de</strong> GranadaE-18071 Granada. e-mail: aprieto@ugr.esResumenSe <strong>de</strong>scribe en los niveles <strong>de</strong> lenguaje máquina,micromáquina y usuario un computador didácticoelemental (CODE-2) que reúne <strong>la</strong>s características<strong>de</strong>seables para <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong>introducción a los computadores. Este computadorha sido diseñado completamente, con unida<strong>de</strong>s <strong>de</strong>control cableada y microprogramada. También sedispone <strong>de</strong> un entorno completo <strong>de</strong> simu<strong>la</strong>ciónque incluye emu<strong>la</strong>dor, ensamb<strong>la</strong>dor, <strong>de</strong>sensamb<strong>la</strong>dory visualización <strong>de</strong>l comportamientodinámico <strong>de</strong> todos los elementos internos <strong>de</strong>lcomputador.1. IntroducciónLa arquitectura <strong>de</strong> computadores es una disciplinatípica <strong>de</strong> ingeniería y para preparar materialdidáctico para el<strong>la</strong> se <strong>de</strong>be realizar un <strong>la</strong>boriosotrabajo <strong>de</strong> generalización <strong>de</strong> <strong>la</strong>s diversas técnicasutilizadas en computadores concretos, y nolimitarse a recopi<strong>la</strong>r información <strong>de</strong>tal<strong>la</strong>da sobreellos. Este material <strong>de</strong>be presentar al alumnoabstracciones <strong>de</strong> equipos reales, <strong>de</strong> forma que lecapaciten no sólo a enten<strong>de</strong>r los computadoresactuales sino también los futuros, cuando éstosvean <strong>la</strong> luz. Este concepto es especialmenterelevante en un ámbito tan cambiante y enexpansión como el <strong>de</strong> los computadores. Esta i<strong>de</strong>aes <strong>de</strong> gran importancia en los cursos <strong>de</strong> iniciación,don<strong>de</strong> hay que lograr que el estudiante fije suatención en <strong>la</strong>s cuestiones esenciales, y no sepierda en los <strong>de</strong>talles, <strong>la</strong> mayoría <strong>de</strong> ellos fugaces,<strong>de</strong> <strong>la</strong>s máquinas reales.Dentro <strong>de</strong> este contexto <strong>la</strong> mayoría <strong>de</strong> libros<strong>de</strong> texto que tratan <strong>de</strong> <strong>la</strong> estructura o arquitectura<strong>de</strong> computadores suelen presentar máquinasficticias que muestran cruda y c<strong>la</strong>ramente losconceptos más básicos y generales; sin perjuicio<strong>de</strong> que el conocimiento <strong>de</strong> éstos posteriormente sereafirme y particu<strong>la</strong>rice consi<strong>de</strong>rando casos <strong>de</strong>máquinas concretas y reales. Chu [1] fue uno <strong>de</strong>los primeros autores que <strong>de</strong>scribió con <strong>de</strong>talle <strong>la</strong>estructura y diseño <strong>de</strong> un computador didáctico;con posterioridad Gorsline [2] presenta el “G-1”,Karam y Bryant [3] el “CUSP” (Carlenton’sUtterly Simple Processor), Mano [4,5] el “BasicComputer” y posteriormente [6] otros dosprototipos (uno RISC y el otro CISC), Foster [7]el “Blue” (nombre coinci<strong>de</strong>nte con el color <strong>de</strong> suchasis), Knuth [8] el “MIX”, Lee [9] el “SDC”(Simple Didactic Computer), Tanenbaum [10] el“Mac-1” (Macroarchitecture-1), Hennessy yPatterson [11] una máquina RISC genérica, el“DLX” (DeLuXe), Carpinelli [12] el Re<strong>la</strong>tivelySimple Microprocessor y Patt [13] el “LC-2”(Little Computer-2).Otros autores utilizan para apoyar susexplicaciones subconjuntos o mo<strong>de</strong>los simplificados<strong>de</strong> máquinas reales. Así, Tannebaum [14]presenta el “IJVM” (Integer Java Virtual Machine),que contiene el subconjunto <strong>de</strong> instruccionespara manejar enteros <strong>de</strong> <strong>la</strong> JVM, Murdocca [15] el“ARC” (A RISC Computer) que es un subconjunto<strong>de</strong>l SPARC, y Patterson y Hennesy [16] utilizancomo mo<strong>de</strong>lo didáctico una versión simplificada<strong>de</strong>l MIPS R2000/R3000.


Los autores españoles <strong>de</strong> textos <strong>de</strong> introducción a<strong>la</strong> estructura <strong>de</strong> computadores también suelenconsi<strong>de</strong>rar máquinas i<strong>de</strong>ales. Este es el caso <strong>de</strong>lprocesador <strong>de</strong>scrito por <strong>de</strong> Miguel [17], el “ODE”(Or<strong>de</strong>nador Didáctico Elemental) <strong>de</strong> Prieto,Lloris, Pe<strong>la</strong>yo y Gómez-Mu<strong>la</strong> [18-21], <strong>la</strong> “MS”(Máquina Sencil<strong>la</strong>) <strong>de</strong> Ayguadé, Navarro yValero-García [22], y <strong>la</strong> Máquina Rudimentaria <strong>de</strong>Hermida, <strong>de</strong>l Corral, Pastor y Sánchez [23,24],también <strong>de</strong>scrita por Ruz [25]. GregorioFernán<strong>de</strong>z, con una gran sentido pedagógico,presenta su curso <strong>de</strong> arquitectura y sistemasoperativos [26] partiendo <strong>de</strong> una máquina muysencil<strong>la</strong> “Simplez(+i4)”, que va ampliando enmáquinas virtuales sucesivas conforme vaintroduciendo conceptos más complejos:“Algorítmez”, “Regístrez”, “Monoalgorítmez” y“Multialgorítmez”.Ante esta pléya<strong>de</strong> <strong>de</strong> máquinas didácticas,Fermín Sánchez presentó en <strong>la</strong> edición anterior <strong>de</strong>estas jornadas [27] un interesante trabajo en el que<strong>de</strong>finió <strong>la</strong>s características <strong>de</strong>seables en unprocesador pedagógico para <strong>la</strong> enseñanza básica<strong>de</strong> arquitectura <strong>de</strong> computadores. En él, aparte <strong>de</strong><strong>de</strong>scribir <strong>la</strong>s características indicadas, secomparaban tres <strong>de</strong> los procesadores citadosanteriormente: el MS, el DLX y <strong>la</strong> MáquinaRudimentaria. Estas tres máquinas se acercabanen mayor o menor grado al mo<strong>de</strong>lo preconizadoen [27], pero ninguna <strong>de</strong> el<strong>la</strong>s lo seguíaplenamente.En el presente trabajo presentamos unComputador Didáctico Elemental (CODE-2) queconsi<strong>de</strong>ramos satisface plenamente <strong>la</strong>s especificacionesy prestaciones propuestas en [27]. Deeste computador en <strong>la</strong> actualidad se dispone <strong>de</strong>lsiguiente material:• Definición <strong>de</strong> <strong>la</strong> estructura accesible por elprogramador y <strong>de</strong>l lenguaje máquina.• Definición <strong>de</strong> un lenguaje ensamb<strong>la</strong>dor• Implementación <strong>de</strong> un emu<strong>la</strong>dor para unentorno MS-Windows• Implementación <strong>de</strong> un ensamb<strong>la</strong>dor cruzado,para un entorno MS-Windows.• Implementación <strong>de</strong> herramientas integradas paratrabajar con CODE-2 (contiene a<strong>de</strong>más <strong>de</strong>lensamb<strong>la</strong>dor y emu<strong>la</strong>dor, <strong>de</strong>purador, <strong>de</strong>sensamb<strong>la</strong>dor,visualización <strong>de</strong>l funcionamientodinámico <strong>de</strong> cada una <strong>de</strong> los elementos <strong>de</strong>lprocesador, etc.)• Diseño completo <strong>de</strong> CODE-2 con unidad <strong>de</strong>control cableda.• Diseño completo <strong>de</strong> CODE-2 con unidad <strong>de</strong>control microprogramada.• Diseño <strong>de</strong> CODE en VHDL• Construcción <strong>de</strong> un entrenador CODE-2 concircuitos lógicos programables (FPGA).El resto <strong>de</strong>l trabajo se estructura <strong>de</strong> <strong>la</strong> siguienteforma: <strong>la</strong> Sección 2 presenta <strong>la</strong>s característicasgenerales <strong>de</strong> CODE-2 cotejándo<strong>la</strong>s con <strong>la</strong>s indicadasen [27] para un procesador pedagógico i<strong>de</strong>al; <strong>la</strong>Sección 3 presenta someramente el repertorio <strong>de</strong>instrucciones máquina. El computador CODE-2,para ser utilizado por los alumnos como entrenador,se ha montado en un bastidor y su panel frontalcontiene visualizadores <strong>de</strong> los principales elementosinternos, en <strong>la</strong> forma que se <strong>de</strong>scribe en <strong>la</strong> Sección4. La Sección 5 consi<strong>de</strong>ra <strong>la</strong>s pautas seguidas para eldiseño <strong>de</strong> <strong>la</strong> máquina; por último, <strong>la</strong> Sección 6presenta <strong>la</strong>s conclusiones.2. Características <strong>de</strong> CODE-2Obviamente un procesador didáctico i<strong>de</strong>ado paraintroducir <strong>la</strong> estructura y el funcionamiento <strong>de</strong> uncomputador <strong>de</strong>be tener los elementos indispensablespara que el alumno adquiera los conocimientos quese preten<strong>de</strong>n. En un curso básico estosconocimientos se centran en conceptos tales como:memoria principal, puertos <strong>de</strong> entrada/salida (E/S),unidad <strong>de</strong> procesamiento <strong>de</strong> datos, unidad <strong>de</strong>control, buses, etc., así como los re<strong>la</strong>cionados con <strong>la</strong>estructura <strong>de</strong> dichos elementos a nivel <strong>de</strong>micromáquina (RTL): contador <strong>de</strong> programa (PC),puntero <strong>de</strong> pi<strong>la</strong> (SP), banco <strong>de</strong> registros (RF), unidadaritmético-lógica, biestables indicadores <strong>de</strong> <strong>la</strong> ALU,etc. También <strong>de</strong>ben introducirse los conceptosbásicos inherentes al funcionamiento dinámico <strong>de</strong>lprocesador: fases y estados en <strong>la</strong> ejecución <strong>de</strong> unainstrucción, activación <strong>de</strong> los biestables indicadores,circu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> información por los buses,sincronización, etc.En <strong>la</strong> Figura 1 se muestra un esquema <strong>de</strong> loselementos <strong>de</strong> CODE-2 a los que se tiene acceso<strong>de</strong>s<strong>de</strong> el lenguaje máquina; es <strong>de</strong>cir, esta figurapresenta los elementos visibles al programador.Las principales características <strong>de</strong> CODE-2 son:1. Su arquitectura es sencil<strong>la</strong> y ortogonal. Enefecto, dispone <strong>de</strong> tan sólo 16 instrucciones


ProcesadorMemoriaEntradasSalidasRFrFrErDr1r0. . .SPdrc.ALUZSCVPCM64 Kp=128 KBIPvv = 0,...255OPvFigura 1. Elementos <strong>de</strong> CODE-2 accesibles al programadormáquina, coinci<strong>de</strong> el tamaño <strong>de</strong> los datos y <strong>la</strong>sinstrucciones (16 bits) con lo que se evitanproblemas <strong>de</strong> alineamiento y se facilita eldiseño <strong>de</strong>l procesador, <strong>la</strong> memoria es <strong>de</strong> 128Kbytes haciéndose su direccionamiento porpa<strong>la</strong>bras y no por bytes. La unidad <strong>de</strong>procesamiento <strong>de</strong> datos dispone <strong>de</strong> un banco<strong>de</strong> 16 registros (RF) <strong>de</strong> 16 bits. El formato <strong>de</strong><strong>la</strong>s instrucciones es completamente ortogonal(Figura 2), estando ubicado el código <strong>de</strong>operación (codop) siempre en los cuatroprimeros bits. En <strong>la</strong> Figura 2, rx, rs y rarepresentan registros <strong>de</strong> RF, cnd <strong>la</strong> condición<strong>de</strong> salto, y v, un valor inmediato <strong>de</strong> 8 bits.2. También sigue <strong>la</strong> ten<strong>de</strong>ncia RISC, en cuantoes una arquitectura <strong>de</strong> carga-almacenamiento.En efecto, todas <strong>la</strong>s operaciones <strong>de</strong> <strong>la</strong> ALU sehacen entre registros <strong>de</strong> RF, cuyos contenidospue<strong>de</strong>n cargarse o memorizarse con dosF0Formatos <strong>de</strong> instruccionescodopF1 codop rx -F2 codop cnd -F3 codop rx vF4 codop rx rs ra(4 bits) (4 bits) (4 bits) (4 bits)Figura 2: Formatos <strong>de</strong> <strong>la</strong>s instrucciones <strong>de</strong>CODE-2instrucciones específicas, una <strong>de</strong> carga <strong>de</strong>s<strong>de</strong>memoria (LD) y otra <strong>de</strong> almacenamiento enmemoria (ST), respectivamente. Hay cuatroespacios <strong>de</strong> direcciones (Figura 1): direcciones<strong>de</strong> registros (16), direcciones <strong>de</strong>memoria (64 Kp), direcciones <strong>de</strong> puertos <strong>de</strong>entrada (256), y direcciones <strong>de</strong> puertos <strong>de</strong>salida (256). El registro rE <strong>de</strong>l banco <strong>de</strong>registros (Figura 1) actúa como puntero <strong>de</strong>pi<strong>la</strong> (SP), y, al igual que el contador <strong>de</strong>programa (PC), es <strong>de</strong> 16 bits. El registro rD seutiliza para almacenar direcciones (direccionamientoindirecto).3. La ALU realiza operaciones muy sencil<strong>la</strong>s:suma y resta <strong>de</strong> enteros en complemento a 2,operación lógica NAND, y <strong>de</strong>sp<strong>la</strong>zamientos a<strong>de</strong>recha e izquierda. Se dispone <strong>de</strong> cuatrobiestables indicadores: cero (Z), signo (S),acarreo (C), y <strong>de</strong>sbordamiento (V).Especial cuidado se ha tenido en <strong>la</strong> p<strong>la</strong>nificación<strong>de</strong> los direccionamientos a memoria, queintervienen sólo en <strong>la</strong>s instrucciones <strong>de</strong> carga (LD)y <strong>de</strong> almacenamiento (ST). En efecto, losdireccionamientos se realizan sumando elcontenido <strong>de</strong>l registro rD y el campo v <strong>de</strong> <strong>la</strong>instrucción; siendo, por tanto, <strong>la</strong> direcciónefectiva d=rD+v. De esta forma se pue<strong>de</strong> tener,como casos particu<strong>la</strong>res: direccionamiento directo(si rD=H’0000), direccionamiento indirecto através <strong>de</strong> registro (si v=H’00), direccionamientoin<strong>de</strong>xado (si rD hace <strong>la</strong>s funciones <strong>de</strong> índice) ydireccionamiento re<strong>la</strong>tivo a base (si rD hace <strong>la</strong>sfunciones <strong>de</strong> base y v <strong>la</strong>s <strong>de</strong> <strong>de</strong>sp<strong>la</strong>zamiento).


En consecuencia consi<strong>de</strong>ramos que CODE-2reúne todos los requisitos establecidos en [27]para un procesador pedagógico.3. Repertorio <strong>de</strong> instrucciones máquina <strong>de</strong>CODE-2El repertorio <strong>de</strong> instrucciones máquina <strong>de</strong> CODE-2 se muestra en <strong>la</strong> Tab<strong>la</strong> 1. Los nemotécnicos quese utilizan son los propuestos en el estándar IEEE694 [28]. Aparte <strong>de</strong> <strong>la</strong>s instrucciones <strong>de</strong> carga yalmacenamiento (comentadas en <strong>la</strong> secciónanterior) hay dos instrucciones <strong>de</strong> carga inmediata<strong>de</strong> registros, que utilizan el formato F3 (Figura 2):una <strong>de</strong> el<strong>la</strong>s (LLI) carga <strong>la</strong> parte baja <strong>de</strong>l registroespecificado en <strong>la</strong> instrucción y otra (LHI) <strong>la</strong> partealta <strong>de</strong>l registro. También se han incluidoinstrucciones específicas <strong>de</strong> entrada y salida, locual no impi<strong>de</strong> que el profesor explique <strong>la</strong>posibilidad <strong>de</strong> realizar entradas y salidasutilizando direcciones <strong>de</strong>l mapa <strong>de</strong> memoria. Lasinstrucciones <strong>de</strong> salto y <strong>de</strong> l<strong>la</strong>mada a subrutinautilizan el formato F2, <strong>de</strong> forma que el segundocampo <strong>de</strong> 4 bits especifica si <strong>la</strong> bifurcación esincondicional (cnd=0000) o, en caso contrario <strong>la</strong>condición <strong>de</strong> salto (especificada con otros valores<strong>de</strong> cnd). La dirección <strong>de</strong> salto hay que almacenar<strong>la</strong>previamente en el registro rD <strong>de</strong>l banco <strong>de</strong>registros.Debido a <strong>la</strong> ortogonalidad <strong>de</strong> CODE-2, quedivi<strong>de</strong> todas <strong>la</strong>s instrucciones en campos <strong>de</strong> 4 bits(1 cifra hexa<strong>de</strong>cimal) es inmediato pasar <strong>de</strong>nemónicos a código hexa<strong>de</strong>cimal; en efecto, <strong>la</strong>primera cifra hexa<strong>de</strong>cimal i<strong>de</strong>ntifica el codop, <strong>la</strong>segunda uno <strong>de</strong> los 16 registros <strong>de</strong> RF (0, 1,...,E,F) o <strong>la</strong> condición <strong>de</strong> salto, y los otros doscampos dos registros o un valor inmediato (v), enhexa<strong>de</strong>cimalCuando se realiza un programa en lenguajemáquina para CODE-2, se recomienda al alumnocargar en los registros r0 y r1 los valores 0 y 1,respectivamente, con dos instrucciones LLI. Unavez almacenados estos valores, resulta inmediatollevar el contenido <strong>de</strong> un registro a otro (con <strong>la</strong>instrucción <strong>de</strong> suma, sumando el contenido <strong>de</strong> r0al registro origen, y llevando el resultado alregistro <strong>de</strong>stino), o incrementar o <strong>de</strong>crementar elcontenido <strong>de</strong> un registro (sumándole o restándoleel contenido <strong>de</strong> r1, respectivamente).A<strong>de</strong>más <strong>de</strong>l lenguaje máquina, se ha <strong>de</strong>finidoun lenguaje ensamb<strong>la</strong>dor, siguiendo el estándarIEEE694 [28] tanto para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> losnemónicos (que coinci<strong>de</strong>n con los <strong>de</strong> <strong>la</strong> cuartacolumna <strong>de</strong> <strong>la</strong> Tab<strong>la</strong> 1) como <strong>de</strong> <strong>la</strong>s directivas quese han implementado (ORG, EQU, DW, DR eINCLUDE).4. Montaje <strong>de</strong> CODE-2Tab<strong>la</strong> 1. Repertorio <strong>de</strong> instrucciones <strong>de</strong> CODE-2El CODE-2, para ser utilizado por los alumnoscomo entrenador, se encuentra montado en unpequeño bastidor cuyo panel frontal se muestra en<strong>la</strong> Figura 2, y que contiene los siguienteselementos:Codopbinario HexNombreNemónicoPárametrosFor.Explicación00000001001000110100010101100111100010011010101111001101111011110123456789ABCDEFCargarAlmacenarCarga inme.bajaCarga inme. altaEntradaSalidaSumaRestaNANDDesp<strong>la</strong>za izquierdaDesp<strong>la</strong>za <strong>de</strong>rechaDesp<strong>la</strong>za arit. dch.SaltoSubrutinaRetornoPararLDSTLLILHIINOUTADDSSUBSNANDSHLSHRSHRAB-CALL-RETHALTrx,[v][v],rxrx,vrx,vrx,IPvOPv,rxrx,rs,rarx,rs,rarx,rs,rarxrxrxcndcnd--F3F3F3F3F3F3F4F4F4F1F1F1F2F2F0F0rx←M(rD+v)M(rD+v)←rxrx(15:8)←H’00; rx(7:0)←vrx(15:8)←vrx←IPvOPv←rxrx←rs+rarx←rs-rarx←(rs·ra)’C←rx(15), rx(i)←rx(i-1), i=15,…,1; rx(0)←0C←rx(0), rx(i)←rx(i+1), i=0,…,14; rx(15)←0C←rx(0), rx(i)←rx(i+1), i=0,…,14Si cnd se cumple, PC←rDSi cnd se cumple, rE←rE-1, M(rE)←PC, PC←rDPC← M(rE); rE←rE+1Parar


• Interruptores ON/OFF, para funcionar enModo Paso a Paso, <strong>de</strong>l que se pue<strong>de</strong> salir conel pulsador CONTINUAR.• Tec<strong>la</strong>do hexa<strong>de</strong>cimal, para introducción <strong>de</strong>programas y datos.• Puertos <strong>de</strong> salida 1 (OP1) y 2 (OP2). Lainformación se visualiza en hexa<strong>de</strong>cimal.• Tec<strong>la</strong>s <strong>de</strong> ór<strong>de</strong>nes: Dirección, Registros,Cargar, Ejecutar, y Continuar.• Pilotos indicando el valor <strong>de</strong> los biestablesindicadores <strong>de</strong> <strong>la</strong> ALU (Z, S, C y V) yvisualizadores <strong>de</strong> los contenidos <strong>de</strong> losregistros IR y PC.Una vez activado el interruptor ON/OFF, bajoel control <strong>de</strong> <strong>la</strong>s tec<strong>la</strong>s <strong>de</strong> ór<strong>de</strong>nes, pue<strong>de</strong>nrealizarse <strong>la</strong>s siguientes tareas:• Seleccionar una posición <strong>de</strong> memoriapreviamente tecleada. Con lo que en OP1aparece <strong>la</strong> dirección y en OP2 su contenido.• Cargar un valor en una posición <strong>de</strong> memoria.• Seleccionar los registros.• Cargar un valor en un registro.• Ejecutar un programa.Para gestionar el funcionamiento <strong>de</strong> <strong>la</strong>s tec<strong>la</strong>s<strong>de</strong> ór<strong>de</strong>nes, <strong>la</strong> memoria <strong>de</strong> CODE-2 contiene unpequeño monitor, que se ubica en <strong>la</strong> zona ROM <strong>de</strong><strong>la</strong> memoria principal.Figura 3. Panel <strong>de</strong> control <strong>de</strong> CODE-25. Estructura y diseño <strong>de</strong> CODE-2La Figura 4 muestra <strong>la</strong> estructura <strong>de</strong>l procesador<strong>de</strong> CODE-2, cuyo funcionamiento se <strong>de</strong>terminapor medio <strong>de</strong> 29 señales <strong>de</strong> control. Se handiseñado dos unida<strong>de</strong>s <strong>de</strong> control, una cableada yotra microprogramada.El diseño <strong>de</strong> <strong>la</strong> unidad <strong>de</strong> control cableada serealiza partiendo <strong>de</strong> un diagrama <strong>de</strong> flujo <strong>de</strong>lrepertorio <strong>de</strong> instrucciones. Por otra parterealizamos una tab<strong>la</strong> con una lista <strong>de</strong> todas <strong>la</strong>smicrooperaciones (40) que hay que generar, y quese muestra parcialmente en <strong>la</strong> Tab<strong>la</strong> 2. A partir <strong>de</strong><strong>la</strong>s columnas segunda y tercera <strong>de</strong> <strong>la</strong> tab<strong>la</strong> resultainmediato obtener <strong>la</strong>s funciones <strong>de</strong> conmutacióncorrespondientes a cada señal <strong>de</strong> control. Porejemplo, para implementar <strong>la</strong> señal <strong>de</strong> control b sesuman todos los términos que aparecen en <strong>la</strong>columna tercera correspondientes a <strong>la</strong>s fi<strong>la</strong>s don<strong>de</strong>aparezca b=1 en <strong>la</strong> segunda columna. A título <strong>de</strong>ejemplo, algunas <strong>de</strong> <strong>la</strong>s 29 funciones <strong>de</strong>conmutación obtenidas se muestran en <strong>la</strong> Tab<strong>la</strong> 3.La unidad <strong>de</strong> control se implementa según elmo<strong>de</strong>lo que se incluye en <strong>la</strong> parte <strong>de</strong>recha <strong>de</strong> <strong>la</strong>Figura 4. Un reloj actúa sobre un contador <strong>de</strong> 4bits (“estado”, en <strong>la</strong> figura) que va generando losdistintos ciclos <strong>de</strong> cada instrucción.


u v xCamino <strong>de</strong> datosUnidad <strong>de</strong> controlIR(11:0)bhC2yb0b1b2b3vBus interno 1Sel2Sel3Bus interno 2klRAWb0mnpqRFC1Sel4a1dcRTBA BBALUB1a2b1tSel1DResFFF800ir1Sel5 gD000PCSel6f iIRARb2 b3rljir2(15:8)esp_stckestadoe3:e0Lógicacombinacional<strong>de</strong> controlespesp_clirir_st ir_clc<strong>la</strong>1a2...yIO/M’R/W’Sub-bus <strong>de</strong> direccionesSub-bus <strong>de</strong> datosSub-bus <strong>de</strong> controlFigura 4. Esquema completo <strong>de</strong>l procesador <strong>de</strong> CODE-2En el ciclo en que finaliza una instrucción se hacecl=1, con lo que el contador pasa a generar otrasecuencia <strong>de</strong> ciclos: c0, c1, c2, ... La Figura 5muestra un esquema <strong>de</strong> <strong>la</strong> lógica combinacional<strong>de</strong> control, que contiene un <strong>de</strong>codificador <strong>de</strong>instrucciones, un <strong>de</strong>codificador <strong>de</strong> estado y unselector <strong>de</strong> condición, que, en <strong>la</strong>s instrucciones <strong>de</strong>bifurcación, proporciona a su salida (FFc) unvalor que es 1 si efectivamente hay que generar elsalto. Con ayuda <strong>de</strong> este esquema, y <strong>la</strong> Tab<strong>la</strong> 2 esinmediato sintetizar <strong>la</strong>s distintas señales <strong>de</strong>control. En <strong>la</strong> Figura 5, a título <strong>de</strong> ejemplo, semuestran los esquemas <strong>de</strong> <strong>la</strong>s señales k, c, R/W’ ey.Más fácil <strong>de</strong> diseñar y <strong>de</strong>scribir resulta <strong>la</strong>unidad <strong>de</strong> control microprogramada, que sigue unesquema completamente clásico, y cuyos <strong>de</strong>tallespue<strong>de</strong>n verse en [29].7. ConclusionesUn computador es un sistema <strong>de</strong> gran complejidady cuya estructura y funcionamiento requiere elconocimiento <strong>de</strong> un gran número <strong>de</strong> conceptos.Debido a ello <strong>la</strong> mayoría <strong>de</strong> profesores <strong>de</strong> estamateria optan por utilizar máquinas ficticiasdon<strong>de</strong> explicar con c<strong>la</strong>ridad los conceptos másgenerales y básicos que se aplican a cualquiermáquina real. El problema fundamental a <strong>la</strong> hora<strong>de</strong> seleccionar una máquina i<strong>de</strong>al estriba en buscarun compromiso a<strong>de</strong>cuado entre cualida<strong>de</strong>sdidácticas (presentar sólo cuestiones esenciales) ycomplejidad (entrar en excesivos <strong>de</strong>talles).En el presente trabajo proponemos unComputador Didáctico Elemental (CODE-2), queconsi<strong>de</strong>ramos (Sección 2) reúne todas <strong>la</strong>scaracterísticas <strong>de</strong>seables en un procesadorpedagógico para <strong>la</strong> enseñanza básica <strong>de</strong> <strong>la</strong>arquitectura <strong>de</strong> computadores [27]. Detallesadicionales sobre CODE-2 se encuentran en [29],y en <strong>la</strong> dirección webhttp://atc.ugr.es/intro_info_mcgraw.htmlse incluye un entorno didáctico completo(emu<strong>la</strong>dor, ensamb<strong>la</strong>dor, <strong>de</strong>sensamb<strong>la</strong>dor, etc.),así como su diseño VHDL. En <strong>la</strong> actualidad se


esta procediendo al montaje <strong>de</strong> varios prototiposusando circuitos lógicos programables (FPGA).CODE-2 se presenta en cursos <strong>de</strong> IngenieríaInformática y <strong>de</strong> Ingeniería Electrónica <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Granada, según distintos niveles<strong>de</strong> complejidad y abordándose su diseño enprofundidad <strong>de</strong> forma completa y utilizandodiversas metodologías <strong>de</strong> implementación.Concretamente, en <strong>la</strong> primera <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>cionescitadas, se consi<strong>de</strong>ra a CODE-2 en <strong>la</strong>s siguientesasignaturas:• “Introducción a los computadores” (1.1,primer curso, primer cuatrimestre): Programaciónen lenguajes máquina y ensamb<strong>la</strong>dor,y utilización <strong>de</strong> CODE-2.• “Estructura <strong>de</strong> computadores” (2.1): diseñoIR (15:12)[1]ZSCVTab<strong>la</strong> 2. Lista parcial <strong>de</strong> <strong>la</strong>s microoperaciones a implementarMicrooperacionesSeñales a generarSituación en que <strong>de</strong>be generarse<strong>la</strong> microoperaciónAR←H’00##IR(7:0) b=h=1,k=0,l=1,m=n=p=q=0,f=1 c5·I4+c5·I5AR←00’H##IR(7:0) +RT b=h=1,k=m=0, n=p=1, q=0,f=1 c6·I0+c6·I1AR←alu←PC b=1,h=k=j=m=n=p=q=0, f=1 c1·ir’AR←RF a1=1,b=h=0, k=0,I=0,f=1 c6·ID·FFc+c5·IEDR← alu ←PC b=1,h=0, m=n=p=q=0, c=0, d=1 c7·ID·FFc+c7·IE....... ....... .......RF←RT+1 m=p=q=0, n=1, a2=1 c6·IERT←PC b=1,h=0,e=1 c2·ir’RT←RF a1=1,b=h=0,e=1 c5·(I0+I1+I6+I7+I8+IE)+c6·I3WA←E’H y=1 c5·ID·FFc+c6·IEWA←rx y=0c5·(I2+I3+I9+IA+IB)+c6(I6+I7+I8)+c7·(I3+I4)+ c8·I0Decodificador <strong>de</strong>instruccionesIR (11:8)Selector <strong>de</strong>condiciónespirFFcI0I3I4IDIEc7 c6 c5ir’IDce3 e2 e1 e0c2Lógica combinacional <strong>de</strong> controlDecodificador <strong>de</strong>estadoFigura 5. Esquema simplificado <strong>de</strong> <strong>la</strong> lógicacombinacional <strong>de</strong> <strong>la</strong> unidad <strong>de</strong> control...k........cyR/W’completo <strong>de</strong> CODE-2 al nivel <strong>de</strong> micromáquina.Hay que hacer notar que en uncuatrimestre previo (1.2) el alumno ha cursado<strong>la</strong> asignatura “Tecnología <strong>de</strong> ComputadoresI”, don<strong>de</strong> ha estudiado todos los elementosque intervienen en el diseño, que son lossiguientes: <strong>de</strong>codificador binario, selector <strong>de</strong>datos, adaptador triestado, ALU, registro,biestable asíncrono, banco <strong>de</strong> registros, reloj ycontador binario <strong>de</strong> 4 bits.• “Diseño <strong>de</strong> circuitos microelectrónicos”(3.2): diseño VHDL <strong>de</strong> CODE-2• “Síntesis automática <strong>de</strong> arquitecturas VLSI”(4.2): implementación <strong>de</strong> CODE-2 utilizandocircuitos lógicos programables.En consecuencia, consi<strong>de</strong>ramos a CODE-2como una potente herramienta didáctica,utilizable como caso práctico para presentarconceptos <strong>de</strong> distinto nivel <strong>de</strong> complejidad.Referencias[1] Y.Chu. Digital Computer Design Fundamentals.McGraw-Hill, 1962.[2] G.W.Gorsline. Computer Organization:Hardware/Software. Prentice Hall, 1986.[3] G.M.Karam, J.C.Bryant. Principles ofComputer Systems. Prentice Hall, 1992.[4] M.M. Mano. Computer SystemArchitecture. Prentice Hall, 1976.[5] M.M.Mano. Arquitectura <strong>de</strong>computadores. 3ª Ed. Prentice Hall, 1994.[6] M.M.Mano, C.Kime. Logic and computer<strong>de</strong>sign fundamentals. Prentice Hall, 1997.


Tab<strong>la</strong> 3. Algunas <strong>de</strong> <strong>la</strong>s 29 funciones <strong>de</strong> conmutación que sintetizan <strong>la</strong>s señales <strong>de</strong> control <strong>de</strong> CODEb= c1·ir’c2·ir’+ c3·ir’+ c5·(I2+I4+I5) + c6(I0+I1)+ c7·(I3+IDc+IE)c= c2·ir’+c6·(I4+IE) + c7·I0cl= c5·(I2+I9+IA+IB+IC+IF)+c6·(I6+I7+I8)+c7·(I3+I4+I5+IE)+c8·(I0+I1)+c9·IDd= c2·ir’+ c6·(I5+I4+IE) + c7·(I0+IDc+IE+c7·IE)ir_cl= c9·IDc·irk= c7·I3l= c5·(I2+I3+I4 +I5)x= c5·(I0+I1+IC·FFc)+ c6·(I6+I7+I8)+c9·IDc·ir’y= c5·IDc+c6·IEIO/M’= c6·I4+ c7·I5R/W’= c[7] C.C.Foster, Computer Architecture, 2 nd Ed.Van Nostrand, 1976.[8] D.Knuth. The art of computer programming,Volume I, 3 rd Ed. Addison Wesley, 1997.[9] G.Lee. From Hardware to Software. AnIntroduction to Computers. McMil<strong>la</strong>n, 1982.[10] A.S.Tanenbaum. Structured ComputerOrganization. 3 rd Ed., Prentice Hall, 1990.[11] J.L.Hennessy, D.Patterson. Computer Architecture:A Quantitative Approach, 2 nd Ed.McGraw-Hill, 1996.[12] J.D.Carpinelli. Computer Systems. Organization& Architecture, Addison Wesley,2001.[13] Y.N.Patt, S.J.Patel. Introduction to computingsystems, McGraw-Hill, 2001.[14] A.S. Tanenbaum, Organización <strong>de</strong> computadoras.Un enfoque estructurado, 4ª Ed.Pearson Educación, 2000.[15] M.J. Murdocca, V.P. Heuring. Principles ofComputer Architecture, Prentice Hall, 2000.[16] D.A. Patterson, J.L.Hennessy. Estructura ydiseño <strong>de</strong> computadores, (3 volúmenes)Editorial Reverté, 2000.[17] P.M.Miguel, Fundamentos <strong>de</strong> los computadores.Paraninfo, 1999.[18] A.Prieto, A.Lloris, J.A.Romera. Realización<strong>de</strong> un or<strong>de</strong>nador didáctico elemental, VCongreso <strong>de</strong> Informática y Automática.A.E.I.A; pp. 611-615. Madrid. 1982.[19] F.J.Pe<strong>la</strong>yo, A.Prieto, A.Lloris,F.Gómez-Mu<strong>la</strong>. Emu<strong>la</strong>dor y ensamb<strong>la</strong>dor<strong>de</strong> un or<strong>de</strong>nador didáctico elemental, Rev.<strong>de</strong> Informática y Automática. Vol. 17, Nº161, pp. 7-17. 1984.[20] A.Prieto, A.Lloris, J.C.Torres. Introducción a<strong>la</strong> Informática. 1ª Ed. McGraw-Hill, 1989.[21] A.Prieto, F.J.Pe<strong>la</strong>yo, A.Lloris, F.Gómez-Mu<strong>la</strong>. Description and use of a simpledidactic computer, EC Newsletter(Education in Computing Computers inEducation). Vol.2; N1 1, Jan-Apr 19-90,pp.17-29. 1990.[22] E.Ayguadé, J.J.Navarro, M.Valero-García.La màquina senzil<strong>la</strong>. Introducció al’estructura básica d’un computador. ColleccióAu<strong>la</strong>. CPET, 1992.[23] R.Hermida, A.M. <strong>de</strong>l Corral, E.Pastor,F.Sánchez, Fundamentos <strong>de</strong> computadores,Síntesis, 1998.[24] E.Pastor, F.Sánchez. La MáquinaRudimentaria: un procesador pedagógico.III <strong>Jornadas</strong> <strong>de</strong> Enseñanza <strong>Universitaria</strong>sobre Informática (JENUI’97), págs. 394-402, Junio 1997.[25] J.Ruz. De <strong>la</strong> tecnología a <strong>la</strong> arquitectura <strong>de</strong>computadores, Síntesis, 1997.[26] G.Fernán<strong>de</strong>z. Conceptos básicos <strong>de</strong>arquitectura y sistemas operativos. Sistemasy Servicios <strong>de</strong> Comunicación, 1998.[27] F.Sánchez. Características <strong>de</strong>seables en unprocesador pedagógico para <strong>la</strong> enseñanzabásica <strong>de</strong> <strong>la</strong> Arquitectura <strong>de</strong> Computadores.Actas <strong>de</strong> <strong>la</strong>s VII <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática, pp. 68-73,Palma <strong>de</strong> Mallorca, 16-18 Julio 2001.[28] IEEE Standard for Microprocessor AssemblyLanguage. IEEE Std. 694-1985. The Instituteof Electrical and Electronics Engineers, Inc.New York., June 30, 1985.[29] A.Prieto, A.Lloris, J.C.Torres. Introducción a<strong>la</strong> Informática. 3ª Ed. McGraw-Hill, 2002.


Enseñanza <strong>de</strong> <strong>la</strong> Unidad Aritmético-Lógica en <strong>la</strong> asignatura <strong>de</strong>Arquitectura <strong>de</strong> Computadores <strong>de</strong> I. T. Informática <strong>de</strong> GestiónAntonio J. <strong>de</strong> Vicente, Manuel PrietoDepartamento. <strong>de</strong> automáticaUniversidad <strong>de</strong> Alcalá28871 Alcalá <strong>de</strong> Henarese-mail: avicente@aut.uah.esAbraham <strong>de</strong>l RíoResumenPresentamos en este artículo una aplicación para<strong>la</strong> enseñanza a distancia <strong>de</strong>l tema <strong>de</strong> Arquitectura<strong>de</strong> Computadores: <strong>la</strong> unidad Aritmético-Lógica.La asignatura pertenece al segundo curso <strong>de</strong> <strong>la</strong>titu<strong>la</strong>ción <strong>de</strong> I. T. Informática <strong>de</strong> Gestión. Laherramienta ha sido <strong>de</strong>sarrol<strong>la</strong>da en F<strong>la</strong>sh y se haenfatizado el empleo <strong>de</strong> <strong>la</strong>s animaciones para quelos alumnos puedan compren<strong>de</strong>r mejor elfuncionamiento <strong>de</strong> los diferentes componentes <strong>de</strong><strong>la</strong> ALU.1. IntroducciónCada vez va cobrando una mayor relevancia <strong>la</strong>necesidad <strong>de</strong> formación continua y un fenómenoque conlleva: <strong>la</strong> educación a distancia. En <strong>la</strong>Escue<strong>la</strong> Politécnica <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alcaláhemos visto como cada año un gran número <strong>de</strong>alumnos simultanea su formación con su actividad<strong>la</strong>boral; y somos conscientes <strong>de</strong> que, por talmotivo, no pue<strong>de</strong>n acce<strong>de</strong>r a <strong>la</strong>s c<strong>la</strong>ses conregu<strong>la</strong>ridad. A<strong>de</strong>más, gracias al abaratamientoprogresivo <strong>de</strong> <strong>la</strong>s Nuevas Tecnologías <strong>de</strong> <strong>la</strong>Información y <strong>la</strong>s Comunicaciones, <strong>la</strong> mayor parte<strong>de</strong> los alumnos tienen acceso a Internet, ya sea<strong>de</strong>s<strong>de</strong> sus puestos <strong>la</strong>borales, ya sea <strong>de</strong>s<strong>de</strong> susdomicilios. Por ello, hemos <strong>de</strong>sarrol<strong>la</strong>do unaaplicación accesible <strong>de</strong>s<strong>de</strong> Internet que explique<strong>de</strong> <strong>la</strong> forma más gráfica posible <strong>la</strong> estructura ycomportamiento <strong>de</strong> <strong>la</strong> Unidad Aritmético-Lógica.La estructura <strong>de</strong> <strong>la</strong> ponencia es <strong>la</strong> siguiente:• El punto 2 explica <strong>la</strong> motivación que condujoal <strong>de</strong>sarrollo <strong>de</strong>l presente trabajo• El punto 3 muestra el <strong>de</strong>sarrollo que se haseguido, así como <strong>la</strong>s diferentesconsi<strong>de</strong>raciones <strong>de</strong> diseño que se barajaron.• El punto 4 presenta los temas tratados en <strong>la</strong>aplicación: teoría, animaciones, ejercicios• El punto 5 muestra <strong>la</strong> metodología didácticaseguida en <strong>la</strong> aplicación.• El punto 6 presenta <strong>la</strong> interfaz <strong>de</strong> usuario <strong>de</strong> <strong>la</strong>aplicación.• Finalmente, el punto 7 recoge <strong>la</strong>s conclusiones<strong>de</strong>l trabajo2. MotivaciónEs cada vez mayor el impacto que tienen <strong>la</strong>sNuevas Tecnologías <strong>de</strong> <strong>la</strong> Información y <strong>la</strong>Comunicaciones en todos los ámbitos <strong>de</strong> <strong>la</strong> vidasocial. Ya no resulta extraño que existanparticu<strong>la</strong>res que, al igual que puedan contratar losservicios <strong>de</strong> una televisión digital, adquieran conuna compañía telefónica una tarifa p<strong>la</strong>na paraacce<strong>de</strong>r a Internet. Debido a esto, Internet se haconvertido en un proveedor <strong>de</strong> información al quelos propios estudiantes pue<strong>de</strong>n acce<strong>de</strong>r en busca<strong>de</strong> los datos que precisen para su estudio.Una gran mayoría <strong>de</strong> los estudiantes, <strong>de</strong> <strong>la</strong>Escue<strong>la</strong> Politécnica <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alcalásimultanean su formación académica con suactividad <strong>la</strong>boral, no pudiendo asistir <strong>de</strong> unamanera regu<strong>la</strong>r a <strong>la</strong>s c<strong>la</strong>ses. Aunque <strong>la</strong>Universidad Nacional <strong>de</strong> Educación a Distancia(UNED) nació con <strong>la</strong> i<strong>de</strong>a <strong>de</strong> formar a talesestudiantes, <strong>de</strong>sgraciadamente, no se impartentodas <strong>la</strong>s titu<strong>la</strong>ciones que los alumnos pue<strong>de</strong>n<strong>de</strong>sear.


Una primera manera <strong>de</strong> ayudar a losestudiantes que no pue<strong>de</strong>n asistir a <strong>la</strong>s c<strong>la</strong>ses escon <strong>la</strong> creación <strong>de</strong> una página web <strong>de</strong> <strong>la</strong> asignaturaque contenga, al menos, <strong>la</strong>s normas, temario ymétodo <strong>de</strong> evaluación, e ir activando los en<strong>la</strong>ces adichas informaciones según se imparten en c<strong>la</strong>se,<strong>de</strong> manera que el alumno virtual pueda conocer elritmo con el que se imprimen <strong>la</strong>s c<strong>la</strong>ses. Noobstante, quedaría reducida a una <strong>de</strong>scarga <strong>de</strong>apuntes, y <strong>la</strong> normativa <strong>de</strong> <strong>la</strong> asignatura, que noestá nada mal y que requiere un gran esfuerzo porparte <strong>de</strong>l profesor para tener<strong>la</strong> actualizada y útilpara los alumnos, pero so<strong>la</strong>mente consistiría en unmero repositorio <strong>de</strong> información.Es conocido, que una presentación visual,conjuntamente con una exposición oral hace quese recuer<strong>de</strong> cerca <strong>de</strong>l 65% <strong>de</strong> <strong>la</strong> información a lostres días. Por ello, estamos <strong>de</strong>sarrol<strong>la</strong>ndoanimaciones que puedan facilitar <strong>la</strong> comprensión<strong>de</strong> <strong>de</strong>terminados temas por parte <strong>de</strong> los alumnos.Si se cuenta con un proyector en el au<strong>la</strong> podríanser mostradas a los estudiantes como parte <strong>de</strong> <strong>la</strong>lección magistral, pero, ¿qué ocurre con losalumnos a distancia? Podrían <strong>de</strong>scargarse <strong>la</strong>animación, pero entonces, ¿cómo po<strong>de</strong>r recibir suretroalimentación? La solución fue crear unamisma aplicación que sirviese como animación ycomo herramienta <strong>de</strong> educación a distancia. Lasdiferentes alternativas que tratamos se tratarán enel siguiente apartado.3. DesarrolloEste apartado recoge <strong>la</strong>s diferentes alternativas <strong>de</strong>diseño que consi<strong>de</strong>ramos a <strong>la</strong> hora <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r<strong>la</strong> aplicación, <strong>la</strong> cual, <strong>de</strong>bía satisfacer los objetivossiguientes:• Para el alumno: una herramienta sencil<strong>la</strong> <strong>de</strong>usar y que mediante animaciones y ejercicioscomplete los conocimientos adquiridos en <strong>la</strong>sc<strong>la</strong>ses presenciales o en el estudio <strong>de</strong> <strong>la</strong>bibliografía propuesta.• Para el profesor: una aplicación que permitarealizar el estudio <strong>de</strong> resultados sobre unapob<strong>la</strong>ción re<strong>la</strong>tivamente numerosa (208alumnos matricu<strong>la</strong>dos en el curso 2001-2002)i<strong>de</strong>ntificando <strong>de</strong> forma c<strong>la</strong>ra los puntos en losque los alumnos han tenido más problemas yel tipo <strong>de</strong> errores cometidos.En una primera aproximación pensamosrealizar diferentes tipos <strong>de</strong> interfaces según elmayor o menor ancho <strong>de</strong> banda que pudiesentener los alumnos al acce<strong>de</strong>r a <strong>la</strong> aplicación víaInternet. Pero nos encontramos con el problema<strong>de</strong> que <strong>la</strong>s animaciones so<strong>la</strong>mente estaban<strong>de</strong>sarrol<strong>la</strong>das con tecnología F<strong>la</strong>sh y por lo tanto,una página en modo texto no tenía sentido con loque el primero <strong>de</strong> los dos objetivos no sealcanzaba.La segunda i<strong>de</strong>a que contemp<strong>la</strong>mos fue <strong>la</strong> <strong>de</strong>que los alumnos que <strong>de</strong>seasen trabajar con <strong>la</strong>aplicación pudiesen <strong>de</strong>scargarse <strong>la</strong> misma ytrabajar con el<strong>la</strong> <strong>de</strong> manera local. El inconvenienteen este caso, es que si bien el requisito para losalumnos se cumplía, no ocurría así con elsegundo, también fundamental para que elprofesor reciba información <strong>de</strong> en qué puntostienen más dificulta<strong>de</strong>s o comenten más errorespara po<strong>de</strong>r reforzarlos en <strong>la</strong>s c<strong>la</strong>ses presenciales.Finalmente, se adoptó <strong>la</strong> i<strong>de</strong>a <strong>de</strong> generar unaúnica aplicación a <strong>la</strong> que los alumnos pudiesenacce<strong>de</strong>r <strong>de</strong>s<strong>de</strong> Internet, con <strong>la</strong>s animacionesrealizadas en F<strong>la</strong>sh y que fuese archivando yanalizando el número y tipo <strong>de</strong> los errores parallevar una estadística que sirviese al profesor.La aplicación se ha diseñado entonces <strong>de</strong>manera que interactúe con una base <strong>de</strong> datos en <strong>la</strong>que se vayan almacenando los datos <strong>de</strong> losalumnos: número <strong>de</strong> intentos, ejercicios resueltoscon éxito y ejercicios con errores. Estainformación servirá tanto al alumno que le llegaráen forma <strong>de</strong> calificación, como al profesor que leservirá <strong>de</strong> guía para tener constancia <strong>de</strong> los puntosen los que los estudiantes tienen más problemas.Al tratarse <strong>de</strong> una aplicación que funcionaráen un entorno web necesitamos herramientas quenos <strong>de</strong>n servicio web. Llegados a este puntoexisten en el mercado una gran cantidad <strong>de</strong>servidores web, cada uno con sus ventajas einconvenientes. Nuestra elección es <strong>la</strong> siguiente:Servidor web utilizado Apache Web Server, elApache es uno <strong>de</strong> los servidores web másutilizados en el mundo, <strong>de</strong>bido a su gran rapi<strong>de</strong>z


para servir HTML a los clientes, a<strong>de</strong>más es unaherramienta totalmente gratuita y <strong>de</strong> código libre.Por último también necesitaremos paracompletar el entorno <strong>de</strong> programación un servidor<strong>de</strong> bases <strong>de</strong> datos, dón<strong>de</strong> se almacenarán los datos<strong>de</strong> <strong>la</strong> aplicación. Existen una gran cantidad <strong>de</strong>productos <strong>de</strong> este tipo en el mercado, peroprincipalmente los más utilizados son lossiguientes:• SQL Server: tiene una alta velocidad <strong>de</strong>consultas, un entorno intuitivo. La pega esque so<strong>la</strong>mente sirve para p<strong>la</strong>ntaformasMicrosoft y no es gratuito.• Oracle: Multip<strong>la</strong>taforma y permite <strong>la</strong>optimización <strong>de</strong> bases <strong>de</strong> datos, perotampoco es gratuito.• MYSQL: es gratuito y multip<strong>la</strong>taforma peroes difícil <strong>de</strong> configurar y presenta un entornopoco intutitivoDado el carácter <strong>de</strong>l proyecto, <strong>la</strong>sherramientas utilizadas <strong>de</strong>ben ser <strong>de</strong> libredistribución. Por lo tanto <strong>la</strong> elección <strong>de</strong>l gestor <strong>de</strong>base <strong>de</strong> datos se simplifica bastante, ya que elúnico <strong>de</strong> libre distribución (para cualquierp<strong>la</strong>taforma) es MYSQL.4. Temas tratadosLa asignatura <strong>de</strong> Arquitectura <strong>de</strong> Computadores seencuentra ubicada en el primer cuatrimestre <strong>de</strong>lsegundo curso <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> I. T. Informática<strong>de</strong> Gestión. Los alumnos, llegan a el<strong>la</strong> conconocimientos previos tanto <strong>de</strong> Electrónica como<strong>de</strong> Estructura <strong>de</strong> Computadores.La aplicación muestra el tema 1 <strong>de</strong> <strong>la</strong>asignatura: "La Unidad Aritmético-Lógica" [1] [2][3] [4] [5]Cada apartado <strong>de</strong>l tema es tratado <strong>de</strong> maneradiferente <strong>de</strong>bido a <strong>la</strong> importancia que creemospue<strong>de</strong> tener en <strong>la</strong> asignatura.Así, se hace mucho hincapié en <strong>la</strong> operación<strong>de</strong> suma, ya que ésta está siendo empleadacontinuamente, no sólo como incrementos enprogramas, sino para po<strong>de</strong>r actualizar el contador<strong>de</strong> programa para apuntar a <strong>la</strong> dirección <strong>de</strong> <strong>la</strong>instrucción siguiente, el acce<strong>de</strong>r a una posición <strong>de</strong>memoria casi siempre lleva asociado undireccionamiento re<strong>la</strong>tivo lo que implica unaoperación <strong>de</strong> suma, etc. Por ello, a partir <strong>de</strong> unsumador elemental con propagación <strong>de</strong> acarreo seles mostrará <strong>la</strong>s posibles mejoras que pue<strong>de</strong>nincorporarse y sobre todo los diferentes tipos <strong>de</strong>sumadores: con anticipación, con selección o salto<strong>de</strong> acarreo.El resto <strong>de</strong> <strong>la</strong>s operaciones aritméticas,multiplicación y división se tratan más <strong>de</strong> unamanera algorítmica, aunque sí se les presenta, enel caso <strong>de</strong> <strong>la</strong> multiplicación, un posible circuitopara <strong>la</strong> implementación <strong>de</strong>l algoritmo <strong>de</strong> suma<strong>de</strong>sp<strong>la</strong>zamiento.Todas <strong>la</strong>s operaciones anteriores se realizan encoma fija, reservándose <strong>la</strong> coma flotanteúnicamente para <strong>la</strong> suma en <strong>la</strong> que se tratarátambién el tema <strong>de</strong> los dígitos <strong>de</strong> guarda y <strong>de</strong> <strong>la</strong>sdiferentes técnicas <strong>de</strong> redon<strong>de</strong>o: truncación, forzarel bit menos significativo a uno o redon<strong>de</strong>o al máspróximo.Como <strong>la</strong> Unidad Aritmético-Lógica requiereque los alumnos comprendan los diferentessistemas <strong>de</strong> representación que existen, <strong>la</strong>aplicación realiza un repaso obligatorio <strong>de</strong> losmismos al comienzo.5. Método didáctico empleadoDe todos es sabido que el empleo <strong>de</strong>l or<strong>de</strong>nadorno constituye un sustituto eficaz <strong>de</strong>l profesor, sinoque es una herramienta para ayudar a <strong>la</strong> docenciay el aprendizaje.Según expone Romero [6] con respecto a loshipertextos “<strong>la</strong> fragmentación <strong>de</strong> los contenidos ysu consiguiente interconexión, a<strong>de</strong>más <strong>de</strong> unainclusión masiva <strong>de</strong> elementos gráficos, son loselementos básicos que proporcionan ventaja frentea los libros clásicos”.Aunque, tal y como expone Rafael Tormo [7]“los contenidos <strong>de</strong> cualquier disciplina pue<strong>de</strong>n ser<strong>de</strong>sarrol<strong>la</strong>dos en formato hipertextualconsiguiendo más facilidad <strong>de</strong> integración a través<strong>de</strong> <strong>la</strong>s imágenes con el texto”, los contenidos <strong>de</strong>nuestra aplicación no son estrictamente


hipertextuales, aunque sí existen en<strong>la</strong>ces que e<strong>la</strong>lumno pue<strong>de</strong> elegir.En nuestra aplicación, los temas se hansecuenciado según un or<strong>de</strong>n lógico <strong>de</strong> impartición.Por tal motivo, tanto el contenido teórico como elpráctico guían el aprendizaje <strong>de</strong>l alumno.Para evitar <strong>la</strong> <strong>de</strong>sorientación <strong>de</strong>l estudiante,los botones <strong>de</strong> navegación guían al alumno tantoen <strong>la</strong> manera <strong>de</strong> apren<strong>de</strong>r, como en <strong>la</strong> forma enque se le presentan lo contenidos. Nopermitiéndole pasar a un tema posterior si no seconoce el actual.La forma <strong>de</strong> navegación proporciona losconocimientos progresivamente. Comienza <strong>la</strong>aplicación con <strong>la</strong> presentación <strong>de</strong> <strong>la</strong> ALU yposteriormente se presentan los diferentesoperadores y operandos que suelen estar presentesen <strong>la</strong>s ALUs.El estudiante podrá ir avanzando en loscontenidos según vaya adquiriendo yconsolidando los conocimientos recibidos. A talefecto existen una serie <strong>de</strong> ejercicios que e<strong>la</strong>lumno <strong>de</strong>berá resolver con éxito para po<strong>de</strong>ravanzar al siguiente tema. De esta forma evitamosque se navegue <strong>de</strong> forma errática por <strong>la</strong>aplicación. Es más, el estudiante <strong>de</strong>berá haberresuelto satisfactoriamente, al menos, un ejercicio<strong>de</strong> cada tema para po<strong>de</strong>r pasar al siguiente. Eso noquiere <strong>de</strong>cir que no pueda realizar más ejercicios<strong>de</strong>l tema actual, sino que no se le obligará a repetirconstantemente los ejercicios <strong>de</strong> un tema<strong>de</strong>terminado.Las numerosas animaciones <strong>de</strong> este temapue<strong>de</strong>n ser evitadas también, una vez que e<strong>la</strong>lumno ya <strong>la</strong>s ha visto por primera vez. Dándole<strong>la</strong> opción en todo momento <strong>de</strong> “Ver animación” o“Saltar animación”Hemos <strong>de</strong>sarrol<strong>la</strong>do, básicamente, dos tipos<strong>de</strong> animaciones, <strong>la</strong>s que por su sencillez <strong>de</strong>comprensión pue<strong>de</strong>n presentar todos los <strong>de</strong>tallesnuméricos a los alumnos, y <strong>la</strong>s que <strong>de</strong>bido a sucomplejidad conceptual únicamente se lespresenta cómo fluye <strong>la</strong> información a través <strong>de</strong> loselementos <strong>de</strong>l diagrama, siendo trabajo posterior<strong>de</strong> los estudiantes el realizar ejercicios sobre eltema para consolidar su aprendizaje.Finalmente, se quiere indicar que <strong>la</strong> resolución<strong>de</strong> los ejercicios, aciertos y fallos cometidos sonanalizados y tratados por <strong>la</strong> aplicación en dossentidos diferentes: a) <strong>de</strong> cara al alumno, b) <strong>de</strong>cara al profesor.Para el alumno los fallos cometidos leorientarán sobre los temas en los que <strong>de</strong>be hacermás hincapié mediante el empleo <strong>de</strong> mensajes <strong>de</strong>texto. En particu<strong>la</strong>r se tiene en cuenta si el alumnocontesta al azar los ejercicios.Para el profesor, <strong>la</strong> tasa <strong>de</strong> aciertos y <strong>de</strong> fallosle indicarán qué conceptos <strong>de</strong>l tema son mejor opeor comprendidos por los alumnos y en dón<strong>de</strong><strong>de</strong>be reforzar sus explicaciones en <strong>la</strong>s c<strong>la</strong>ses.6. Interfaz <strong>de</strong> usuarioSe ha prestado especial interés en diseñar unainterfaz <strong>de</strong> usuario sencil<strong>la</strong> que permita unanavegación ágil por el contenido <strong>de</strong> <strong>la</strong> aplicación.Aunque se trata <strong>de</strong> una asignatura <strong>de</strong> segundocurso <strong>de</strong> I.T. Informática <strong>de</strong> Gestión, <strong>la</strong> interfaz seha <strong>de</strong>sarrol<strong>la</strong>do pensando en usuarios con pococonocimiento <strong>de</strong> informática o conocimientos anivel <strong>de</strong> usuario.Hemos distinguido <strong>la</strong> navegación entrepantal<strong>la</strong>s y <strong>la</strong> navegación <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> pantal<strong>la</strong>, y<strong>de</strong> acuerdo con esta división se han <strong>de</strong>sarrol<strong>la</strong>dolos diferentes elementos <strong>de</strong> <strong>la</strong> interfaz.La figura 1 muestra <strong>la</strong> barra <strong>de</strong> navegaciónentre pantal<strong>la</strong>s. Básicamente consiste en dosflechas avanzar o retroce<strong>de</strong>r entre una pantal<strong>la</strong> y<strong>la</strong> siguiente (o <strong>la</strong> anterior) También presenta unbotón para ir al comienzo <strong>de</strong>l tema, lo que evitaque <strong>la</strong> navegación sea errática y tener que volver apasar por elementos ya visitados. Dichos botonesse muestran en <strong>la</strong> parte inferior <strong>de</strong> <strong>la</strong> pantal<strong>la</strong>.


Figura 1: Botones <strong>de</strong> navegación entre pantal<strong>la</strong>sEn cuanto a <strong>la</strong> navegación <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>pantal<strong>la</strong>, existen diferentes opciones: pantal<strong>la</strong>s sinanimaciones y con animaciones; pudiendo enestás últimas saltarse, en casi todas, <strong>la</strong> animaciónsi el alumno no <strong>de</strong>sea ver<strong>la</strong>. El motivo por el queno todas <strong>la</strong>s animaciones pue<strong>de</strong>n saltarse esporque en algunos casos se ha consi<strong>de</strong>radosumamente importante para <strong>la</strong> comprensión <strong>de</strong>ltema tratado, tal y como es el caso <strong>de</strong>l sumadorcon anticipación <strong>de</strong> acarreo por bloques mostradoen <strong>la</strong> figura 2.Figura 4: Animación resaltadaTambién, <strong>de</strong>ntro <strong>de</strong>l contenido <strong>de</strong> <strong>la</strong>s pantal<strong>la</strong>sexisten hiperen<strong>la</strong>ces a otras pantal<strong>la</strong>s, para lo cual,tal y como muestra <strong>la</strong> figura 5, se resalta en azuldicho hipervínculo.Figura 5: Ejemplo <strong>de</strong> hipervínculo a otra pantal<strong>la</strong>Figura 2: sumador <strong>de</strong> acarreo anticipado por pasosTambién es importante mostrar <strong>la</strong> interfaz quese ha <strong>de</strong>sarrol<strong>la</strong>do para los ejercicios. Básicamenteconsisten en dos tipos <strong>de</strong> pantal<strong>la</strong>s, <strong>la</strong> <strong>de</strong>enunciado y <strong>la</strong> <strong>de</strong> resolución <strong>de</strong>l mismo,mostradas en <strong>la</strong>s figuras 6 y 7.La presentación <strong>de</strong> <strong>la</strong>s animaciones en <strong>la</strong>spantal<strong>la</strong>s pue<strong>de</strong> mostrarse <strong>de</strong> manera explícita, taly como muestra <strong>la</strong> figura 3, o implícita, pasando elratón sobre el elemento lo que le dará al alumno <strong>la</strong>posibilidad <strong>de</strong> arrancar <strong>la</strong> animación o no tal ycomo muestra <strong>la</strong> figura 4.Figura 6: Ejemplo <strong>de</strong> pantal<strong>la</strong> <strong>de</strong> enunciadosFigura 3: Navegación <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> pantal<strong>la</strong>


mejorada su impartición mediante una aplicación<strong>de</strong> estas características. No obstante, no todos lostemas requerirán animaciones para sucomprensión.Figura 7: Ejemplo <strong>de</strong> pantal<strong>la</strong> <strong>de</strong> resoluciónPor último, y como resumen <strong>de</strong>l apartado,indicar que se ha empleado un código <strong>de</strong> colorespara facilitar <strong>la</strong> nemotécnia <strong>de</strong> <strong>la</strong> interfaz. Así, <strong>la</strong>navegación entre pantal<strong>la</strong>s será en negro, loshiperen<strong>la</strong>ces en azul y los botones <strong>de</strong> acción<strong>de</strong>ntro <strong>de</strong> <strong>la</strong>s pantal<strong>la</strong>s en rojo, tal y como recoge<strong>la</strong> figura 87. ConclusiónFigura 8: resumen <strong>de</strong> <strong>la</strong> interfazEn este artículo hemos presentado una aplicacióndidáctica para <strong>la</strong> Web sobre <strong>la</strong> Unidad AritméticoLógica <strong>de</strong>l Computador <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> estructuraclásica <strong>de</strong> un computador. El objetivo <strong>de</strong> <strong>la</strong> mismaes presentar<strong>la</strong> a los alumnos durante el próximocurso y evaluar si existen mejoras en losrendimientos académicos con respecto a añosanteriores, para lo cual diseñaremos unexperimento que permita recoger datosestadísticos suficientes como para marcar unaten<strong>de</strong>ncia.En caso <strong>de</strong> que existan mejoras sensibles, seempezarían a <strong>de</strong>sarrol<strong>la</strong>r nuevas aplicaciones quecubriesen el resto <strong>de</strong> los temas <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong>Arquitectura <strong>de</strong> Computadores <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ciónI.T.Informática <strong>de</strong> Gestión y que pudiesen verAsimismo, también se ha pensado distribuir <strong>la</strong>aplicación en otra serie <strong>de</strong> carreras afines, en <strong>la</strong>sque el temario <strong>de</strong> Arquitectura <strong>de</strong> Computadoressea lo suficientemente simi<strong>la</strong>r como para po<strong>de</strong>r serempleadas. De momento, se ha pensado en <strong>la</strong>scarreras e I. T. Informática <strong>de</strong> Sistemas en <strong>la</strong>asignatura <strong>de</strong> Arquitectura <strong>de</strong> Computadores I y <strong>la</strong><strong>de</strong> I. T. Telecomunicación, especialidadTelemática en <strong>la</strong> asignatura <strong>de</strong> Arquitectura <strong>de</strong>Computadores.Referencias[1] John I. Hennesy, David A. Patterson.Arquitectura <strong>de</strong> Computadores. Un enfoquecuantitativo. Mc Graw-Hill. 1995.[2] David A. Patterson, John I. Hennesy.Estructura y Diseño <strong>de</strong> Computadores.Reverté. 2000[3] William Stallings. Organización yArquitectura <strong>de</strong> Computadores. Prentice may.1996[4] Pedro <strong>de</strong> Miguel Anasagasti. Fundamentos <strong>de</strong>los Computadores. Paraninfo. 1999[5] José Antonio <strong>de</strong> Frutos, Rafael Rico.Arquitectura <strong>de</strong> Computadores. Servicio <strong>de</strong>publicaciones <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alcalá.1995[6] R Romero. Diseño <strong>de</strong> páginas para una Redaccessible.. Qua<strong>de</strong>rns Digitals, 1998[7] Rafael Tormo Molina. Uso <strong>de</strong> hipertextos parafacilitar el aprendizaje en <strong>la</strong> Universidad.Comunicación Pedagógica, Septiembre 2000.Págs 22-27[8] Giovanni Sartori. Homo Vi<strong>de</strong>ns. LA sociedadteledirigida. Taurus. 1988.[9] Nicho<strong>la</strong>s Negroponte. El mundo digital.B.S.A. 1995.[10]Luis Joyanes. Cibersociedad. McGraw-Hill.1997[11]Jesús González Boticario, Elena GaudiosoVázquez. Apren<strong>de</strong>r y formar en Internet.Paraninfo. 2000


Facilitando el aprendizaje <strong>de</strong> <strong>la</strong> Arquitectura <strong>de</strong>l Juego <strong>de</strong>InstruccionesJosé M. C<strong>la</strong>ver Iborra, María Isabel Castillo CatalánDepto. <strong>de</strong> Ingeniería y Ciencia <strong>de</strong> los ComputadoresUniversitat Jaume I12071 Castellóne-mail: {c<strong>la</strong>ver | castillo}@icc.uji.esResumenEn este artículo se presenta <strong>la</strong> metodología yestrategias llevadas a cabo para <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>Arquitectura <strong>de</strong>l Juego <strong>de</strong> Instrucciones en <strong>la</strong>asignatura <strong>de</strong> Estructura <strong>de</strong> Or<strong>de</strong>nadores <strong>de</strong> 2ºcurso <strong>de</strong> Ingeniería Informática y en particu<strong>la</strong>r<strong>de</strong>ntro <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> sus prácticas. Éstas están<strong>de</strong>dicadas a <strong>la</strong> introducción <strong>de</strong>l lenguajeensamb<strong>la</strong>dor <strong>de</strong> un procesador <strong>de</strong> propósitogeneral. La metodología utilizada tiene en cuenta,entre otros aspectos, <strong>la</strong> elección <strong>de</strong>l tipo <strong>de</strong>procesador y <strong>la</strong> herramienta <strong>de</strong> trabajo, <strong>la</strong>personalización <strong>de</strong>l ritmo <strong>de</strong> trabajo y <strong>la</strong>responsabilidad <strong>de</strong>l alumno en <strong>la</strong> consecución <strong>de</strong>los objetivos como ejes fundamentales <strong>de</strong><strong>la</strong>prendizaje. Así, se preten<strong>de</strong> conseguir unacercamiento mucho menos traumático <strong>de</strong><strong>la</strong>lumno a una <strong>de</strong> <strong>la</strong>s asignaturas que mayorimportancia tiene en <strong>la</strong> formación <strong>de</strong> base <strong>de</strong> losfuturos ingenieros informáticos. Los resultadosobtenidos hasta el momento nos indican que <strong>la</strong>acogida por parte <strong>de</strong>l alumno es positiva,quedando ésta reflejada en <strong>la</strong> facilidad e interéscon que resuelven los problemas propuestos encada práctica. Por ello se produce una mejora enel aprendizaje <strong>de</strong> <strong>la</strong> asignatura, aspecto que quedareflejado en <strong>la</strong> evaluación <strong>de</strong> su rendimiento.1. IntroducciónLa docencia <strong>de</strong> Arquitectura <strong>de</strong> Computadores en<strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> informática aparecegeneralmente en el primer curso y se prolonga a lo<strong>la</strong>rgo <strong>de</strong> toda <strong>la</strong> carrera, variando en intensidad yprofundidad según se trate <strong>de</strong> IngenieríaInformática (I.I.), Ingeniería Técnica enInformática <strong>de</strong> Sistemas (I.T.I.S.) o IngenieríaTécnica en Informática <strong>de</strong> Gestión (I.T.I.G.). Loscontenidos <strong>de</strong> esta materia son en <strong>la</strong> actualidad, yprevisiblemente lo serán en los próximos 10 a 20años, un aspecto fundamental en <strong>la</strong> formación <strong>de</strong>los futuros informáticos [2], ya que el <strong>de</strong>sarrollo<strong>de</strong> aplicaciones y sus prestaciones tienen unimportante impacto en <strong>la</strong> arquitectura, estructura yorganización <strong>de</strong> los computadores [10, 11, 14].Por otra parte, no se prevé en este periodo unamodificación importante en <strong>la</strong>s bases <strong>de</strong> <strong>la</strong>construcción y funcionamiento <strong>de</strong> loscomputadores. Actualmente estamos utilizandoalgunas i<strong>de</strong>as que aparecieron hace más <strong>de</strong> 30años, aunque habrá que estar a <strong>la</strong> expectativa <strong>de</strong>iniciativas que proponen mo<strong>de</strong>los <strong>de</strong> computaciónmuy diferentes a los que conocemos hoy en día,como <strong>la</strong> computación cuántica o molecu<strong>la</strong>r [4].Si bien hay un acuerdo generalizado en cuantoa los contenidos que <strong>de</strong>ben impartirse en losprimeros cursos <strong>de</strong> arquitectura <strong>de</strong> computadores[1,2], existen diversas alternativas referentes altipo <strong>de</strong> procesador y herramientas utilizadas para<strong>la</strong> <strong>de</strong>scripción y estudio <strong>de</strong> su funcionamiento [6].También pue<strong>de</strong> variar <strong>la</strong> profundidad <strong>de</strong>l estudio<strong>de</strong> los diferentes elementos <strong>de</strong>l computador [7],dada <strong>la</strong> alta sofisticación <strong>de</strong> los computadoresactuales y <strong>la</strong> variedad <strong>de</strong> equipos con los que nospo<strong>de</strong>mos encontrar. De especial interés es elestudio <strong>de</strong>l procesador y <strong>la</strong> arquitectura <strong>de</strong> sujuego <strong>de</strong> instrucciones, y <strong>de</strong> manera muy especial<strong>la</strong> programación en ensamb<strong>la</strong>dor, el uso <strong>de</strong> <strong>la</strong>memoria y <strong>la</strong> gestión <strong>de</strong> <strong>la</strong> entrada/salida. Por ello,los cursos introductorios <strong>de</strong> Arquitectura <strong>de</strong>Computadores hacen hincapié en estos temas.El complemento <strong>de</strong> esta materia lo constituiríael estudio <strong>de</strong> los aspectos más tecnológicos <strong>de</strong>ldiseño <strong>de</strong> computadores, pero estos caen fuera <strong>de</strong>los contenidos tratados en el presente artículo.


Como veremos a lo <strong>la</strong>rgo <strong>de</strong> este trabajo, <strong>la</strong>elección <strong>de</strong>l procesador o <strong>la</strong>s herramientasutilizadas para <strong>la</strong> enseñanza <strong>de</strong> esta materia sonimportantes, pero también influyen <strong>de</strong> forma<strong>de</strong>cisiva el ritmo y <strong>la</strong> responsabilidad en e<strong>la</strong>prendizaje <strong>de</strong> los conceptos y técnicas quequeremos tras<strong>la</strong>dar. Esto <strong>de</strong>terminará que losalumnos puedan, en su gran mayoría, alcanzar <strong>la</strong>shabilida<strong>de</strong>s que se preten<strong>de</strong>n al finalizar el curso,o que muchos <strong>de</strong> ellos se <strong>de</strong>scuelguen <strong>de</strong>l fino hiloconductor que les liga a <strong>la</strong> asignatura, y que apartir <strong>de</strong> un momento dado les parezca kafkiana y<strong>la</strong> abandonen.El resto <strong>de</strong> este trabajo se organiza comosigue: En el apartado 2 <strong>de</strong>scribimos algunos <strong>de</strong> losaspectos más <strong>de</strong>stacados re<strong>la</strong>cionados con <strong>la</strong>docencia en <strong>la</strong>s asignaturas introductorias <strong>de</strong>Arquitectura <strong>de</strong> Computadores. En el apartado 3hacemos un pequeño repaso a <strong>la</strong> docencia <strong>de</strong> estasasignaturas en otras universida<strong>de</strong>s y en el apartado4 <strong>de</strong>sarrol<strong>la</strong>mos los aspectos más <strong>de</strong>stacados <strong>de</strong>nuestra propuesta educativa. En el últimoapartado, presentamos <strong>la</strong>s conclusiones <strong>de</strong>rivadas<strong>de</strong> <strong>la</strong> experiencia <strong>de</strong> nuestra propuesta yp<strong>la</strong>nteamos <strong>la</strong>s mejoras que abordaremos enpróximos cursos.2. Docencia introductoria a <strong>la</strong> arquitectura<strong>de</strong> computadoresLos contenidos <strong>de</strong> <strong>la</strong>s asignaturas introductorias<strong>de</strong> arquitectura <strong>de</strong> computadores incluyen, entreotros, el estudio <strong>de</strong> los siguientes ítems:• Procesador: Estructura y organización, ruta <strong>de</strong>datos, juego <strong>de</strong> instrucciones y lenguajemáquina, lenguaje ensamb<strong>la</strong>dor y su re<strong>la</strong>cióncon lenguajes <strong>de</strong> alto nivel.• Memoria: Organización, almacenamiento <strong>de</strong>instrucciones y datos y cache.• Entrada/Salida: Gestión mediante consulta <strong>de</strong>estado e interrupciones.• Rendimiento: Análisis <strong>de</strong> prestaciones ycomparativas entre computadores.Estos contenidos <strong>de</strong>ben transmitirse a<strong>la</strong>lumno, tanto a través <strong>de</strong> <strong>la</strong> docencia en el au<strong>la</strong>como <strong>de</strong> su trabajo en el <strong>la</strong>boratorio, <strong>de</strong> tal formaque adquiera los conocimientos y habilida<strong>de</strong>sestablecidos en los objetivos <strong>de</strong>l curso. En el au<strong>la</strong><strong>de</strong>ben fijarse los aspectos más conceptuales <strong>de</strong> <strong>la</strong>materia, mientras que en el <strong>la</strong>boratorio estos<strong>de</strong>ben reforzarse y ampliarse mediante su uso y <strong>la</strong>adquisición <strong>de</strong> habilida<strong>de</strong>s <strong>de</strong> análisis y síntesis.Así, suele ser habitual en estas asignaturaspotenciar el estudio en el <strong>la</strong>boratorio <strong>de</strong>l lenguajeensamb<strong>la</strong>dor (exoarquitectura) mediante el uso <strong>de</strong>una máquina real o un simu<strong>la</strong>dor que estéestrechamente re<strong>la</strong>cionado con el mo<strong>de</strong>lopresentado en el au<strong>la</strong> (más re<strong>la</strong>cionado con <strong>la</strong>endoarquitectura y <strong>la</strong> microarquitectura [8]). Enestas prácticas <strong>de</strong>ben manejarse todos loselementos conceptuales vistos en teoría <strong>de</strong> formaaplicada, lo que supone seguir en lo posible elritmo y or<strong>de</strong>n <strong>de</strong> los conceptos introducidos en e<strong>la</strong>u<strong>la</strong>.Como esta materia no pue<strong>de</strong> verse <strong>de</strong> formaabstracta, existe un momento en el diseño <strong>de</strong> suproyecto docente en el que hay que <strong>de</strong>cidir elprocesador ejemplo y <strong>la</strong> herramienta o entorno <strong>de</strong>trabajo a utilizar en cada asignatura <strong>de</strong> entre variasalternativas.2.1. ProcesadorEn el dilema entre procesador real (comercial) oprocesador ficticio (hipotético) parece c<strong>la</strong>ro que elinterés <strong>de</strong> un procesador real está en <strong>la</strong> posibilidad<strong>de</strong> utilizarlo como parte integrante <strong>de</strong> undispositivo real como es un computador comercialo un sistema <strong>de</strong> entrenamiento especialmentediseñado para <strong>la</strong>s prácticas, algo imposible <strong>de</strong> vercon procesadores ficticios. Pero los procesadoresreales habitualmente introducen particu<strong>la</strong>rida<strong>de</strong>s,que pue<strong>de</strong>n ser poco generalizables. Estacaracterística, en el caso <strong>de</strong> los primeros cursos,pue<strong>de</strong> introducir complejida<strong>de</strong>s añadidas en elproceso <strong>de</strong> aprendizaje, así como introducir unavisión poco acor<strong>de</strong> con <strong>la</strong> generalidad <strong>de</strong> losprocesadores, por ello <strong>la</strong> importancia <strong>de</strong> unaa<strong>de</strong>cuada elección.Como contrapartida los procesadores ficticiospue<strong>de</strong>n adaptarse a <strong>la</strong>s necesida<strong>de</strong>s educativas encada momento <strong>de</strong> <strong>la</strong> carrera, en función <strong>de</strong> <strong>la</strong>preparación <strong>de</strong>l alumno para asimi<strong>la</strong>r, y aplicar losconceptos y técnicas que estos integran. Estosprocesadores suelen diseñarse eligiendoabstracciones <strong>de</strong> <strong>la</strong>s características másgeneralizadas en los procesadores reales.2.2. Herramienta <strong>de</strong> trabajoLa elección <strong>de</strong> <strong>la</strong> herramienta a utilizar varía entre


el uso directo <strong>de</strong> un computador comercial o unsistema <strong>de</strong> <strong>de</strong>sarrollo, y el uso <strong>de</strong> un simu<strong>la</strong>dor.Sólo es posible utilizar directamente uncomputador si hemos optado por un procesadorreal, y entonces el ensamb<strong>la</strong>dor y el softwareutilizado <strong>de</strong>ben adaptarse a <strong>la</strong>s características <strong>de</strong>dicho procesador, y a <strong>la</strong>s posibilida<strong>de</strong>s yrestricciones <strong>de</strong> <strong>la</strong> máquina en el que se encuentreintegrado. En estos casos muchos <strong>de</strong> los análisis<strong>de</strong>l comportamiento <strong>de</strong> procesador tienen que serindirectos y están limitados por <strong>la</strong> estructuraparticu<strong>la</strong>r <strong>de</strong> <strong>la</strong> máquina (memoria, cache, bus,etc.).Si se elige un simu<strong>la</strong>dor, éste pue<strong>de</strong> estardiseñado para un procesador real o para unprocesador ficticio (<strong>de</strong> origen o como abstracción<strong>de</strong> un procesador real, con lo que se transforma enun procesador ficticio). El uso <strong>de</strong> simu<strong>la</strong>dores <strong>de</strong>procesadores ficticios permite una a<strong>de</strong>cuaciónmayor a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> un <strong>de</strong>terminado cursoe ir añadiendo, en cursos posteriores,ampliaciones o modificaciones <strong>de</strong> <strong>la</strong>sabstracciones iniciales. De esta manera se vanintroduciendo conceptos cada vez más avanzadossin necesidad <strong>de</strong> que el alumno tenga queapren<strong>de</strong>r una nueva herramienta ni un nuevolenguaje ensamb<strong>la</strong>dor.En cualquiera <strong>de</strong> los dos casos es posibleutilizar recursos <strong>de</strong>l computador (directa oindirectamente), aunque estos siempre suelen sermucho más limitados en el caso <strong>de</strong> lossimu<strong>la</strong>dores.3. Docencia en otras universida<strong>de</strong>sEn los últimos años, <strong>la</strong> experiencia docente en <strong>la</strong>sasignaturas <strong>de</strong> introducción a <strong>la</strong> arquitectura <strong>de</strong>computadores se ha caracterizado por:• Elección <strong>de</strong> un primer procesador simple osencillo ficticio en vez <strong>de</strong>l procesador real <strong>de</strong>8 bits (8085, Z80, 6800 ó 6500) <strong>de</strong> hace unosaños, para conseguir reducir el escalón entrelos conocimientos <strong>de</strong>l alumno y losconceptos introductorios [3, 13] en losprimeros cursos <strong>de</strong> introducción a loscomputadores.• Continuación en el segundo curso con unprocesador real, normalmente un CISC <strong>de</strong> losaños 80, <strong>de</strong> 16 bits (Intel i8086 o MotorotaMC68000) y en algunos caso un procesadorRISC <strong>de</strong> 32 bits (como el MIPS R2000simplificado, el ARM, Motorota MC88010 uotros), para obtener una mayor aproximacióna <strong>la</strong> complejidad <strong>de</strong> los procesadores reales[6].• Uso <strong>de</strong> simu<strong>la</strong>dores o combinación <strong>de</strong> estoscon sistemas <strong>de</strong> <strong>de</strong>sarrollo o computadorescomerciales, que permiten ver concomodidad <strong>la</strong> visualización <strong>de</strong>l estado ycomportamiento <strong>de</strong>l procesador, y <strong>la</strong>posibilidad <strong>de</strong> realizar aplicaciones sobrehardware real, respectivamente.En <strong>la</strong>s universida<strong>de</strong>s españo<strong>la</strong>s suelen darse<strong>la</strong>s características anteriores, aunque con algunasvariaciones. Hemos elegido para mostrar estehecho <strong>la</strong>s experiencias llevadas a cabo por cuatro<strong>de</strong> éstas en <strong>la</strong>s asignaturas <strong>de</strong> los dos primeroscursos <strong>de</strong> Ingeniería Informática (UniversidadComplutense <strong>de</strong> Madrid (UCM), UniversidadPolitécnica <strong>de</strong> Cataluña (UPC), UniversidadPolitécnica <strong>de</strong> Madrid (UPM) y UniversidadPolitécnica <strong>de</strong> Valencia (UPV)). La elección se habasado en <strong>la</strong> antigüedad <strong>de</strong> sus estudios, <strong>la</strong>experiencia <strong>de</strong> su profesorado y el número <strong>de</strong>alumnos, sin menoscabo <strong>de</strong> aquel<strong>la</strong>s aquíomitidas.En el primer curso se aborda, en todas el<strong>la</strong>s, elestudio <strong>de</strong> un procesador simple: en <strong>la</strong> UPM seutiliza el picocomputador, y en <strong>la</strong> UPC y <strong>la</strong> UCM<strong>la</strong> máquina sencil<strong>la</strong> [3]. Estos procesadores soncompletamente ficticios, mientras que en <strong>la</strong> UPVse estudia el procesador R2000 en su abstracciónsimplificada no segmentada [14]. En todos loscasos se hace uso <strong>de</strong> un simu<strong>la</strong>dor comoherramienta <strong>de</strong> trabajo.Ya en el segundo curso se utilizanprocesadores reales <strong>de</strong> tipo CISC en <strong>la</strong> UCM(MC68000, sobre un sistema <strong>de</strong> <strong>de</strong>sarrollo) y en <strong>la</strong>UPC (i8086, sobre un PC), combinando, enambas, el uso <strong>de</strong>l ensamb<strong>la</strong>dor y <strong>de</strong>l lenguaje C.Por el contrario, se utilizan simu<strong>la</strong>dores <strong>de</strong>procesadores RISC en <strong>la</strong> UPM (MC88010) y <strong>la</strong>UPV (abstracción <strong>de</strong>l MIPS R2000).4. Nuestra propuestaLa asignatura <strong>de</strong> Estructura <strong>de</strong> Or<strong>de</strong>nadores (EO)<strong>de</strong> 2º curso <strong>de</strong> <strong>la</strong> Ingeniería Informática es <strong>la</strong>segunda <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong>dicadas a <strong>la</strong>Arquitectura <strong>de</strong> Computadores, <strong>de</strong>spués <strong>de</strong> <strong>la</strong>


asignatura Introducción a <strong>la</strong> Informática, <strong>de</strong>primer curso, don<strong>de</strong> se introducen conceptos muyelementales acerca <strong>de</strong>l funcionamiento <strong>de</strong> loscomputadores. Por tanto, <strong>la</strong> enseñanza <strong>de</strong>l juego<strong>de</strong> instrucciones <strong>de</strong>l procesador y, por en<strong>de</strong>, e<strong>la</strong>prendizaje <strong>de</strong>l lenguaje ensamb<strong>la</strong>dor forma parteimportante <strong>de</strong> los contenidos <strong>de</strong> EO.Hasta el curso pasado el microprocesadorelegido (<strong>de</strong>s<strong>de</strong> hace 10 años) para <strong>la</strong>s prácticas erael MC68000, uno <strong>de</strong> los exponentes más elegantes<strong>de</strong> <strong>la</strong> arquitectura CISC. Por muchas razones éstees uno <strong>de</strong> los procesadores más utilizados en <strong>la</strong>enseñanza <strong>de</strong> <strong>la</strong> Arquitectura <strong>de</strong> Computadores ysobre el que se han escrito más libros, aunque estámuy alejado <strong>de</strong> los procesadores seminales <strong>de</strong> <strong>la</strong>sactuales arquitecturas superesca<strong>la</strong>res. Lasprácticas se realizaban sobre un sistema <strong>de</strong><strong>de</strong>sarrollo que sólo podía ser utilizado en el<strong>la</strong>boratorio, con un entorno <strong>de</strong> trabajo bastantetedioso, y sin <strong>la</strong> posibilidad <strong>de</strong> que el alumnopudiera utilizarlo en su casa.Cada sesión <strong>de</strong> prácticas se organizaba <strong>de</strong> <strong>la</strong>siguiente forma: comenzaba con una <strong>la</strong>rgaexplicación por parte <strong>de</strong>l profesor, don<strong>de</strong> seintroducían muchos conceptos nuevos y se fijabanlos objetivos <strong>de</strong> <strong>la</strong> práctica. Estos objetivos eranc<strong>la</strong>ros, pero muy ambiciosos, y requerían que e<strong>la</strong>lumno, por un <strong>la</strong>do, prestara mucha atencióndurante <strong>la</strong> explicación realizada por el profesor, ypor otro, antes <strong>de</strong> empezar con el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>práctica, realizara un concienzudo estudio <strong>de</strong>lenunciado <strong>de</strong> ésta, don<strong>de</strong> se incluía una breve<strong>de</strong>scripción <strong>de</strong> los conceptos anteriormenteexplicados. Ambas tareas ocupaban una parteimportante <strong>de</strong> <strong>la</strong> sesión, dando lugar a que e<strong>la</strong>lumno dispusiese <strong>de</strong> muy poco tiempo para<strong>de</strong>sarrol<strong>la</strong>r los problemas propuestos en <strong>la</strong>práctica. A<strong>de</strong>más, y aunque <strong>la</strong>s prácticas estabandiseñadas en or<strong>de</strong>n creciente <strong>de</strong> complejidad,<strong>de</strong>s<strong>de</strong> <strong>la</strong> primera práctica el alumno tenía queenfrentarse al análisis y diseño <strong>de</strong> un programa enensamb<strong>la</strong>dor más o menos complejo, con<strong>de</strong>c<strong>la</strong>ración <strong>de</strong> datos en memoria, instrucciones <strong>de</strong>distinto tipo y diversos modos <strong>de</strong>direccionamiento. Esta última circunstancia se dahabitualmente en <strong>la</strong> enseñanza <strong>de</strong>l lenguajeensamb<strong>la</strong>dor en <strong>la</strong>s universida<strong>de</strong>s antesanalizadas.Todo lo anterior nos llevó a p<strong>la</strong>ntearnos unaalternativa que hiciera más sencillo y cómodo parael alumno conseguir los objetivos quepretendíamos para estas prácticas. Esta <strong>de</strong>bíabasarse en un conjunto <strong>de</strong> condiciones inicialesque facilitaran <strong>la</strong> obtención <strong>de</strong> nuestros objetivosy que resumimos a continuación:1. Sencillez <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong>l procesador.2. Abstracción <strong>de</strong> un procesador real másavanzado.3. Sencillez <strong>de</strong> uso <strong>de</strong>l simu<strong>la</strong>dor.4. Posibilidad <strong>de</strong> seguir <strong>la</strong>s prácticas en casa.5. Posibilidad <strong>de</strong> autoaprendizaje.6. No obligatoriedad <strong>de</strong> asistencia con horariofijo.7. Ritmo <strong>de</strong> aprendizaje personalizado.Para alcanzar <strong>la</strong> primera condición se haelegido el procesador MIPS R2000, y enparticu<strong>la</strong>r una abstracción no segmentada <strong>de</strong> ésteque evita <strong>la</strong>s dificulta<strong>de</strong>s asociadas a su estructuray los problemas <strong>de</strong> su programación real [14].Este procesador es <strong>de</strong> tipo RISC, por lo tanto conun conjunto <strong>de</strong> instrucciones sencillo y modos <strong>de</strong>direccionamiento reducidos. Sin embargo, estaelección permitirá en cursos más avanzados el uso<strong>de</strong>l mismo procesador, o simi<strong>la</strong>r, sin <strong>la</strong>s actualessimplificaciones [9,11], con lo que alcanzamos <strong>la</strong>segunda condición.Las condiciones 3 y 4 se consiguen medianteel uso <strong>de</strong>l simu<strong>la</strong>dor SPIM, en particu<strong>la</strong>r suversión gráfica XSPIM, <strong>de</strong>sarrol<strong>la</strong>do por James R.Larus <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Wisconsin, quefunciona tanto en p<strong>la</strong>taformas Linux comoDOS/Windows [12]. Se trata <strong>de</strong> un simu<strong>la</strong>dorintegrado, don<strong>de</strong> toda <strong>la</strong> información está visibleen todo momento, y muy fácil <strong>de</strong> utilizar. En <strong>la</strong>súltimas versiones (a partir <strong>de</strong> <strong>la</strong> 6.3) tiene <strong>la</strong>posibilidad <strong>de</strong> mostrar <strong>la</strong>s dificulta<strong>de</strong>s <strong>de</strong>programación <strong>de</strong>l MPIS R2000 segmentado con <strong>la</strong>introducción <strong>de</strong> cargas y saltos retardados(<strong>de</strong><strong>la</strong>yed load y <strong>de</strong><strong>la</strong>yed branch). A<strong>de</strong>más, graciasa que se trata <strong>de</strong> un simu<strong>la</strong>dor <strong>de</strong> libre distribucióny multip<strong>la</strong>taforma, el alumno pue<strong>de</strong> utilizarlo encasa.Las tres últimas condiciones se consiguengracias a <strong>la</strong> p<strong>la</strong>nificación y <strong>de</strong>sarrollo <strong>de</strong>l material<strong>de</strong> prácticas. El contenido <strong>de</strong> <strong>la</strong>s sesiones <strong>de</strong><strong>la</strong>boratorio <strong>de</strong>be diseñarse para que introduzcanen cada una <strong>de</strong> el<strong>la</strong>s nuevos conceptos, cada vezmás complejos a medida que avanza el curso, y en<strong>la</strong>s que <strong>de</strong>ben utilizarse los conceptos vistos en <strong>la</strong>ssesiones anteriores. La Figura 1 muestra <strong>de</strong> <strong>de</strong>ntrohacia fuera el contenido <strong>de</strong> <strong>la</strong>s sesiones prácticasprogramadas en <strong>la</strong> asignatura.


Simu<strong>la</strong>dorDatos en memoriaCarga/AlmacenamientoAritmético-lógicasCondicionales/buclesPi<strong>la</strong>/SubrutinasEntrada/SalidaInterrupcionesFigura 1. Contenidos <strong>de</strong> <strong>la</strong>s sucesivas sesiones prácticas.Dentro <strong>de</strong> cada sesión se <strong>de</strong>be tener especialcuidado con el ritmo <strong>de</strong>l aprendizaje <strong>de</strong>l alumno ycon no vio<strong>la</strong>r <strong>la</strong> máxima <strong>de</strong> que primero hay queanalizar antes <strong>de</strong> pasar a <strong>la</strong> síntesis. Por ello secomienza siempre con una breve introducción yunos programas ejemplo en los que el alumno<strong>de</strong>be analizar su comportamiento. Conposterioridad se le proponen diversos cambiossobre el programa ejemplo que vuelven a analizary en los que se preten<strong>de</strong> aumentar suparticipación. Finalmente, y antes <strong>de</strong> seguira<strong>de</strong><strong>la</strong>nte, se le propone un pequeño problema <strong>de</strong>síntesis para comprobar su comprensión <strong>de</strong> <strong>la</strong>técnica o concepto introducido. Estos pasos seresumen el <strong>la</strong> Figura 2.RefuerzoejemploanálisismodificaciónsíntesisAvanceFigura 2. Flujo <strong>de</strong> aprendizaje <strong>de</strong> <strong>la</strong>s prácticas.Así, <strong>la</strong>s prácticas se estructuran en forma <strong>de</strong>sucesivas cuestiones que <strong>de</strong>mandan <strong>de</strong>l alumnoacciones <strong>de</strong> análisis <strong>de</strong> programas ejemplo,modificaciones <strong>de</strong> estos y diseños completos apartir <strong>de</strong> lo aprendido hasta ese momento (comopue<strong>de</strong> verse en <strong>la</strong> Figura 3). Cada prácticaconcluye con problemas más complejos queadquieren <strong>la</strong> estructura <strong>de</strong> pequeños proyectos.Todas estas prácticas se encuentran recogidas enun libro <strong>de</strong> prácticas publicado a tal efecto quepue<strong>de</strong> conseguirse también electrónicamente através <strong>de</strong> <strong>la</strong> página Web <strong>de</strong> <strong>la</strong> asignatura [5].Cuando el alumno tiene dudas acerca <strong>de</strong> algúnconcepto o técnica, sólo tiene que revisar <strong>la</strong>ssesiones anteriores y consultar o repetir algunaparte <strong>de</strong> <strong>la</strong>s prácticas ya realizadas. De esta forma,<strong>la</strong> necesidad <strong>de</strong> un profesor todo el tiempo al <strong>la</strong>do<strong>de</strong>l alumno se reduce, el alumno va, paso a paso,resolviendo <strong>la</strong>s cuestiones que se le p<strong>la</strong>ntean yaprendiendo <strong>de</strong> forma activa, por lo que <strong>la</strong>asistencia a <strong>la</strong>s sesiones <strong>de</strong> prácticas no esobligatoria. Como es lógico, tampoco se exige a<strong>la</strong>lumno un ritmo <strong>de</strong> aprendizaje <strong>de</strong>terminado, yéste pue<strong>de</strong> llevar su propio tempo. Lo que se lerecuerda, en el <strong>la</strong>boratorio, en <strong>la</strong>s tutorías y en <strong>la</strong>página Web <strong>de</strong> <strong>la</strong> asignatura, es el ritmo general.Así, el alumno al que le pueda costar más algunapráctica sabe que <strong>de</strong>be trabajar fuera <strong>de</strong>l horario<strong>de</strong> <strong>la</strong>s sesiones programadas, en casa o en elhorario <strong>de</strong> acceso libre al <strong>la</strong>boratorio, para llegaral final <strong>de</strong>l curso con todas <strong>la</strong>s prácticasrealizadas. De ésta forma, podrá afrontar conmayores garantías <strong>la</strong> superación <strong>de</strong> <strong>la</strong> evaluación<strong>de</strong> esta parte <strong>de</strong> <strong>la</strong> asignatura.Ejemplo Crea un fichero con el siguiente código:…Descripción:…Análisis Cuestión 1. ¿Qué hace? ¿Cuál es elvalor <strong>de</strong>...?Cuestión 2. ¿Indica qué instruccioneshacen...?Cuestión 3. ¿Si el dato... tiene el valor5 qué ocurre....?Modificación Cuestión 4. Modifica el código paraque....Síntesis Cuestión 5. Implementa un programaque....Figura 3. Estructura general <strong>de</strong> los apartados <strong>de</strong> <strong>la</strong>sprácticas.El manejo <strong>de</strong>l simu<strong>la</strong>dor no es un objetivofinalista <strong>de</strong> <strong>la</strong>s prácticas, y por ello el alumno no<strong>de</strong>berá <strong>de</strong>mostrar <strong>la</strong> <strong>de</strong>streza en su uso en <strong>la</strong>evaluación. Sí que se le exige, por el contrario,


que sepa analizar, modificar y diseñar pequeñosprogramas utilizando los conceptos y técnicasvistos en <strong>la</strong>s c<strong>la</strong>ses prácticas.En <strong>la</strong> Figura 4 se pue<strong>de</strong> constatar elincremento <strong>de</strong>l número <strong>de</strong> aprobados y <strong>la</strong>s notasobtenidas en <strong>la</strong> evaluación <strong>de</strong>l ensamb<strong>la</strong>dor en elcurso 00/01, en el que hemos introducido loscambios propuestos, respecto <strong>de</strong> los cursosanteriores (98/99 y 99/00). Este hecho quedac<strong>la</strong>ramente reflejado en <strong>la</strong>s líneas <strong>de</strong> ten<strong>de</strong>ncia <strong>de</strong>los dos últimos años.Totales25201510Ensamb 98/99Ensamb 99/00Ensamb 00/01Ten<strong>de</strong>ncia 99/00Ten<strong>de</strong>ncia 00/01se trata <strong>la</strong> entrada/salida <strong>de</strong> datos y el manejo <strong>de</strong><strong>la</strong>s interrupciones <strong>de</strong> forma práctica, cosa que nose llegaba a ver en <strong>la</strong>s prácticas <strong>de</strong> años anteriores.La metodología <strong>de</strong>scrita en este artículo, parte<strong>de</strong> <strong>la</strong> cual queda p<strong>la</strong>smada en el libro <strong>de</strong> prácticase<strong>la</strong>borado [5], se ha adoptado como guía para el<strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong>s asignaturasintroductorias a <strong>la</strong> programación en ensamb<strong>la</strong>dor<strong>de</strong> todas <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> Informática en nuestraUniversidad. En el caso <strong>de</strong> <strong>la</strong> I.T.I.G. se hanseleccionado solo los contenidos queconsi<strong>de</strong>ramos más importantes para <strong>la</strong> formación<strong>de</strong>l alumno.Por último, comentar que otras universida<strong>de</strong>snos han pedido permiso para adoptar este materialcomo guía para sus prácticas en cursos simi<strong>la</strong>res.Para el próximo curso tenemos previsto ampliareste material con <strong>la</strong> inclusión <strong>de</strong> <strong>la</strong>s operacionesaritméticas en coma flotante y el uso <strong>de</strong> <strong>la</strong>sinterrupciones para <strong>la</strong> gestión <strong>de</strong> tareas.5Referencias01 2 3 4 5 6 7 8 9 10NotaFigura 4. Resultados en <strong>la</strong> evaluación <strong>de</strong>l ensamb<strong>la</strong>doren los últimos 3 cursos.También se ha incrementado el número <strong>de</strong>alumnos presentados a los exámenes en un 20%,por lo que se ha reducido el número <strong>de</strong> abandonos<strong>de</strong> <strong>la</strong> asignatura (y que en mayor número seproducen en el primer año en que se cursa ésta). Apesar <strong>de</strong> ello aún existen notas muy bajas (entre 0y 3) que suponen el 16 % <strong>de</strong>l total <strong>de</strong> alumnospresentados, aunque los porcentajes son menores alos <strong>de</strong>l curso 99/00 en el que éstos alcanzaban el23 %.5. Conclusiones y trabajos futurosLas impresiones obtenidas en el <strong>la</strong>boratorio, através <strong>de</strong> <strong>la</strong> actitud activa <strong>de</strong> los alumnos y <strong>de</strong> <strong>la</strong>sapreciaciones personales <strong>de</strong> aquellos que hanrepetido <strong>la</strong> asignatura con el nuevo método,indican que <strong>la</strong>s prácticas se siguen mucho mejor ypor tanto el aprovechamiento por parte <strong>de</strong>l alumnoes mayor. Este extremo ha sido corroborado porlos resultados <strong>de</strong> <strong>la</strong> evaluación <strong>de</strong>l ensamb<strong>la</strong>dor enel último curso. A<strong>de</strong>más, en <strong>la</strong>s nuevas prácticas[1] ACM/IEEE-CS Joint Curriculum Task Force.Computing Curricu<strong>la</strong> 1991.http://computer.or/education/cc1991.[2] ACM/IEEE-CS Joint Curriculum Task Force.Computing Curricu<strong>la</strong> 2001.http://computer.or/education/cc2001.[3] E. Ayguadé, J.J. Navarro, M. Valero García.La màquina senzil<strong>la</strong>. Introducció a l’estructurabàsica d’un computador. Col•lecció Au<strong>la</strong>, CPET,1992.[4] A. Barenco, A. Ekert, A. Sanpera, C.Machiavello. Un saut d’échelle pour lescalcu<strong>la</strong>teurs. La Recherche, Nov 1996,http://www.qubit.org/intros/comp/comp.html.[5] M. Castillo, J. C<strong>la</strong>ver. Prácticas guiadas parael ensamb<strong>la</strong>dor <strong>de</strong>l R2000. Ediciones UniversitatJaume I. 2001, http://yan.act.uji.es/E38.[6] A. Clements. Selecting a Processor forTeaching Computer Architecture.Microprocessors and Microsystems, mayo 1999.[7] A. Clements. The Un<strong>de</strong>rgraduate Curriculumin Computer Architecture. IEEE Micro, pp. 13-22,mayo - junio 2000.[8] S. Dasgupta. Computer Architecture - AMo<strong>de</strong>rn Synthesis. John Wiley & Sons, 1989.[9] E. Farquhar, P.J. Bunce. The MIPSProgrammer’s Handbook.. Morgan Kaufmann,1993.


[10] J.P. Hayes. Computer Architecture andOrganization. McGraw-Hill, 1998.[11] J.L. Hennessy, D.A. Patterson. ComputerArchitecture: A Quantitative Approach. MorganKaufmann, 2ª edición,1996.[12] J.R. Larus. MIPS. A R2000/3000 Simu<strong>la</strong>tor.University of Wisconsin,http://www.cs.wisc.edu/~<strong>la</strong>rus/spim.html.[13] E. Pastor, F. Sanchez. La máquinarudimentaria: Un procesador Pedagógico. III<strong>Jornadas</strong> <strong>de</strong> Enseñanza <strong>Universitaria</strong> sobreInformática JEUNI’97, pp. 395-402, junio 1997.[14] D.A. Patterson, J.L. Hennessy. ComputerOrganization and Design. TheHardware/Software Interface. Morgan Kaufmann,2ªedición, 1997.


Impacto <strong>de</strong>l nuevo software <strong>de</strong> simu<strong>la</strong>ción en <strong>la</strong>s prácticas <strong>de</strong>estructuras <strong>de</strong> computadoresJuan-Carlos Cano, Salvador Petit, Julio SahuquilloDepartamento <strong>de</strong> Informática <strong>de</strong> Sistemas y ComputadoresE. U. I.-Universidad Politécnica <strong>de</strong> Valenciae-mail: {jucano, spetit, jsahuqui}@disca.upv.esResumenHasta hace pocos años <strong>la</strong>s asignaturas <strong>de</strong>estructuras <strong>de</strong> computadores no contemp<strong>la</strong>banprácticas <strong>de</strong> <strong>la</strong>boratorio. De hecho, en <strong>la</strong>Universidad Politécnica <strong>de</strong> Valencia (UPV) losp<strong>la</strong>nes <strong>de</strong>l 94 fueron los primeros que <strong>la</strong>sincorporaron. La mayoría <strong>de</strong> <strong>la</strong>s universida<strong>de</strong>se<strong>la</strong>boraron estas prácticas en unas condicionesprecarias en cuanto a infraestructura (or<strong>de</strong>nadores,entornos <strong>de</strong> simu<strong>la</strong>ción, entrenadores lógicos,puestos <strong>de</strong> trabajo, etc.). A medida que losequipos han ganado en potencia y velocidad, <strong>la</strong>mayoría <strong>de</strong> estos puestos <strong>de</strong> trabajo han quedado<strong>de</strong>sfasados y obsoletos para utilizar los entornos<strong>de</strong> simu<strong>la</strong>ción casi profesionales que existen hoyen día. Por otra parte, los nuevos p<strong>la</strong>nes <strong>de</strong> estudioque se están poniendo en marcha en <strong>la</strong> mayoría <strong>de</strong><strong>la</strong>s universida<strong>de</strong>s españo<strong>la</strong>s ofrecen un excelenteescenario para <strong>la</strong> preparación <strong>de</strong> nuevas prácticasy/o adaptación <strong>de</strong> <strong>la</strong>s ya existentes a estas nuevasherramientas.En el presente trabajo se presenta <strong>la</strong> evolución <strong>de</strong>una práctica que ha mantenido los conceptosteóricos pero que se ha adaptado a los nuevosavances tecnológicos, que en principio, nodiferirán mucho, <strong>de</strong> los que utilizarán los futurosingenieros.1. IntroducciónEn <strong>la</strong>s enseñanzas <strong>de</strong> Ingeniería Informática, <strong>la</strong>realización <strong>de</strong> prácticas que impliquen el estudio<strong>de</strong> componentes <strong>de</strong> un computador requiere, engeneral, <strong>la</strong> utilización <strong>de</strong> una herramienta <strong>de</strong>simu<strong>la</strong>ción digital. El Software <strong>de</strong> simu<strong>la</strong>ción seha convertido una herramienta <strong>de</strong> importanciacreciente ya que su carácter visual ayuda yrefuerza <strong>la</strong> comprensión <strong>de</strong> los conceptos teóricospreviamente tratados en c<strong>la</strong>ses magistrales yseminarios, y como consecuencia ejerce <strong>de</strong>elemento catalizador <strong>de</strong>spertando en el alumno elinterés por <strong>la</strong> materia.Estas características se hacen especialmentevisibles cuando dichas herramientas han sidodiseñadas con carácter didáctico. Sin embargo, <strong>la</strong>sherramientas didácticas tienen como mayorinconveniente el distanciamiento <strong>de</strong> <strong>la</strong> realidadcon respecto a otras herramientas concaracterísticas profesionales <strong>de</strong> elevado costeutilizadas en <strong>la</strong>s empresas.Con al avance tecnológico y <strong>la</strong> incorporaciónmasiva <strong>de</strong>l PC como elemento indispensable en <strong>la</strong>realización <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong>boratorio encarreras <strong>de</strong> Ingeniería, <strong>la</strong>s empresas <strong>de</strong> Softwareprofesional ofrecen versiones, que a<strong>de</strong>más <strong>de</strong>compartir características con sus “hermanasprofesionales”, tienen características educativas aun bajo coste que <strong>la</strong>s hacen especialmenteatractivas para su utilización docente.La selección <strong>de</strong> <strong>la</strong> herramienta <strong>de</strong> simu<strong>la</strong>ción nosuele ser tarea fácil, ya que se tienen que dar unaserie <strong>de</strong> circunstancias para que su uso reporte losbeneficios que <strong>de</strong> el<strong>la</strong>s se esperan. Asimismodicho Software <strong>de</strong>be ser a<strong>de</strong>cuado al nivel <strong>de</strong>lconocimiento y preparación <strong>de</strong>l alumno, así comoa los equipos disponibles. Por otra parte, si seconsi<strong>de</strong>ra que el ciclo <strong>de</strong> preparación y ajuste <strong>de</strong>prácticas <strong>de</strong> <strong>la</strong>boratorio suele ser <strong>de</strong> varios años,una elección equivocada nos retrasaría <strong>de</strong> formaimportante.En este trabajo, los autores presentan <strong>la</strong> evoluciónen el uso <strong>de</strong> dos herramientas <strong>de</strong> simu<strong>la</strong>cióndiferentes en <strong>la</strong>s asignaturas <strong>de</strong> Estructuras <strong>de</strong>Computadores, <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> IngenieríaInformática <strong>de</strong> <strong>la</strong> Universidad Politécnica <strong>de</strong>


Valencia. En particu<strong>la</strong>r se contextualiza unapráctica <strong>de</strong> <strong>la</strong>boratorio en el entorno <strong>de</strong> dos p<strong>la</strong>nes<strong>de</strong> estudio diferentes. Los p<strong>la</strong>nes <strong>de</strong>l 94 y losp<strong>la</strong>nes <strong>de</strong> 2001.En los p<strong>la</strong>nes <strong>de</strong>l 94 se seleccionó comoherramienta <strong>de</strong> simu<strong>la</strong>ción una herramientaeducativa <strong>de</strong>nominada Computer AssitedSimu<strong>la</strong>tion for Circuits Análisis & Design(CASCAD) [1], con características distantes <strong>de</strong>herramientas profesionales, pero que se adaptababastante bien no so<strong>la</strong>mente a <strong>la</strong> formación <strong>de</strong> losalumnos sino también a <strong>la</strong> potencia <strong>de</strong> los equiposdisponibles.En los p<strong>la</strong>nes <strong>de</strong> 2001 se ha optado por unaversión educativa <strong>de</strong> una herramienta profesional<strong>de</strong>nominada XILINX [2] que presentacaracterísticas interesantes no so<strong>la</strong>mente paraasignaturas <strong>de</strong> primer curso sino también paraasignaturas específicas <strong>de</strong> cursos avanzados.Aunque dicha herramienta se encuentraactualmente en fase <strong>de</strong> imp<strong>la</strong>ntación, hay uncompromiso entre los profesores por poner<strong>la</strong> enmarcha durante este curso e ir utilizándo<strong>la</strong> en <strong>la</strong>ssucesivas asignaturas.El presente trabajo se organiza como sigue. En e<strong>la</strong>partado 2 se presentan los contenidos teóricos <strong>de</strong><strong>la</strong> práctica ejemplo <strong>de</strong>dicada a <strong>la</strong> implementación<strong>de</strong> un banco <strong>de</strong> registros. A continuación en losapartados 3 y 4 se presenta brevemente <strong>la</strong>implementación <strong>de</strong> dicha práctica utilizando elCASCAD y el XILINX respectivamente. Eltrabajo termina comparando ambas herramientas ypresentando, en base a <strong>la</strong> experiencia <strong>de</strong> losautores, algunas <strong>de</strong> <strong>la</strong>s conclusiones <strong>de</strong>l trabajo.se pue<strong>de</strong> acce<strong>de</strong>r para modificar el contenido <strong>de</strong>cualquiera <strong>de</strong> ellos, operación que recibe elnombre <strong>de</strong> escritura, o para averiguar el estado <strong>de</strong>los biestables <strong>de</strong> un <strong>de</strong>terminado registro. Estaúltima operación recibe el nombre <strong>de</strong> lectura.Estas dos operaciones se pue<strong>de</strong>n implementar <strong>de</strong>distintas formas, a continuación se <strong>de</strong>tal<strong>la</strong> unaposible implementación, Para más información sepue<strong>de</strong> consultar [4].2.1. Operación <strong>de</strong> escrituraLa Figura 1 ilustra un puerto <strong>de</strong> escritura en unbanco <strong>de</strong> registros, utilizando un <strong>de</strong>codificador.Para escribir en un registro, se envía el dato <strong>de</strong> nbits que se <strong>de</strong>sea escribir, a todos los registros queconstituyen el banco, por un conjunto <strong>de</strong> n líneasque constituyen el bus <strong>de</strong> datos.2. Práctica ejemplo: el banco <strong>de</strong> registrosLa práctica sobre <strong>la</strong> que nos centraremos en estetrabajo es <strong>la</strong> implementación <strong>de</strong> un banco <strong>de</strong>registros. Hemos seleccionado esta práctica noso<strong>la</strong>mente por que su diseño requiere <strong>de</strong> conceptospreviamente tratados en temas <strong>de</strong> diseño digitaltales como los Multiplexores y Decodificadores,sino a<strong>de</strong>más porque será un elemento <strong>de</strong> especialimportancia en el diseño <strong>de</strong> ruta <strong>de</strong> datos y unidad<strong>de</strong> control <strong>de</strong>l procesador que se utiliza en todas<strong>la</strong>s enseñanzas re<strong>la</strong>cionadas con <strong>la</strong> Estructura <strong>de</strong>lComputador.Un banco <strong>de</strong> registros es un circuito queproporciona un conjunto <strong>de</strong> registros, a los cualesFigura 1. Implementación <strong>de</strong> un circuito <strong>de</strong> escritura enun banco <strong>de</strong> registros mediante un <strong>de</strong>codificador


Para seleccionar en qué registro se <strong>de</strong>sea escribir,se utiliza un <strong>de</strong>codificador binario <strong>de</strong> m a 2 m . Seutilizan m líneas para indicar <strong>la</strong> dirección <strong>de</strong>lregistro A=(Am-1Am-2...A1A0) (número <strong>de</strong>registro) sobre el que se <strong>de</strong>sea escribir. Estas mlíneas constituyen el bus <strong>de</strong> direcciones, y seconectarán a <strong>la</strong>s m entradas <strong>de</strong>l <strong>de</strong>codificador.Estas líneas <strong>de</strong> entrada activarán únicamente una<strong>de</strong> <strong>la</strong>s 2 m salidas <strong>de</strong>l <strong>de</strong>codificador.Como cada una <strong>de</strong> <strong>la</strong>s salidas está conectada a unregistro, <strong>la</strong> salida activa <strong>de</strong>l <strong>de</strong>codificadorhabilitará el registro sobre el que se <strong>de</strong>sea escribir.En estos momentos, los biestables <strong>de</strong>l registrocambiarán su contenido si <strong>la</strong>s líneas <strong>de</strong>l bus <strong>de</strong>datos conectadas a sus entradas así lo indican.Obsérvese que para que esto sea factible, el<strong>de</strong>codificador <strong>de</strong>be estar activo; por lo tanto <strong>la</strong>señal <strong>de</strong> habilitación actúa como una señal <strong>de</strong>control que cuando está activa habilita <strong>la</strong> escritura.2.1. Operación <strong>de</strong> lecturaEn <strong>la</strong> Figura 2 se ha añadido un multiplexor queactúa como puerto <strong>de</strong> lectura sobre el banco <strong>de</strong>registros.A<strong>de</strong>más, se han representado <strong>la</strong>s m líneas queconstituyen el bus <strong>de</strong> direcciones mediante unaso<strong>la</strong> línea, re<strong>la</strong>tivamente ancha, que representa elbus. Las salidas <strong>de</strong> los registros se encuentranpermanentemente enviando su estado almultiplexor. Para leer el contenido <strong>de</strong> un<strong>de</strong>terminado registro, se enviará el número <strong>de</strong>registro que se <strong>de</strong>sea leer por el bus <strong>de</strong>direcciones, cuyas líneas se conectarán a <strong>la</strong>sentradas <strong>de</strong> selección <strong>de</strong>l multiplexor. En estosmomentos, si el multiplexor se encuentrahabilitado, <strong>la</strong>s n salidas <strong>de</strong>l multiplexor <strong>de</strong> n bits(n multiplexores <strong>de</strong> un bit), contendrán el dato quese encontraba en el registro.Figura 2. Implementación <strong>de</strong> un banco <strong>de</strong> registros utilizando un <strong>de</strong>codificador como puerto <strong>de</strong> escritura y unmultiplexor como puerto <strong>de</strong> lectura


La ruta <strong>de</strong> datos <strong>de</strong>l procesador queposteriormente estudiará el alumno, requerirá <strong>de</strong>un banco <strong>de</strong> registros con un puerto <strong>de</strong> escritura ydos puertos <strong>de</strong> lectura. Para añadir otro puerto <strong>de</strong>lectura al esquema representado en <strong>la</strong> Figura 2simplemente habrá que conectar <strong>la</strong>s salidas <strong>de</strong> losregistros a otro multiplexor, que actuará comosegundo puerto. La Figura 3 muestra <strong>la</strong>s entradasy salidas <strong>de</strong>l banco <strong>de</strong> registros a implementar.conocimiento <strong>de</strong> <strong>la</strong> herramienta, y a<strong>de</strong>más seimplementaban circuitos que posteriormente seutilizaban en <strong>la</strong> construcción <strong>de</strong>l procesador.Los requerimientos Hardware <strong>de</strong>l programa sonmínimos, aunque hace algunos años estos eran unhandicap, hoy en día han pasado a un segundop<strong>la</strong>no teniendo en cuenta <strong>la</strong>s características <strong>de</strong> losequipos <strong>de</strong> <strong>la</strong>boratorio. Por otra parte su ejecuciónbajo entorno DOS, y su no disponibilidad enlicencia libre representan algunos <strong>de</strong> sus mayoresinconvenientes. La Figura 4 muestra el entorno <strong>de</strong>trabajo <strong>de</strong> <strong>la</strong> herramienta CASCAD.Figura 3. Entradas y salidas <strong>de</strong> un banco <strong>de</strong> registros,con un puerto <strong>de</strong> escritura y dos puertos <strong>de</strong> lectura3. Realización <strong>de</strong> <strong>la</strong> práctica con CASCAD3.1. Descripción <strong>de</strong>l ProgramaEn los p<strong>la</strong>nes <strong>de</strong>l 94 se utilizo ampliamente elprograma CASCAD en <strong>la</strong>s prácticas <strong>de</strong> estructura<strong>de</strong> computadores. El programa CASCAD es unentorno integrado para diseño y simu<strong>la</strong>ción lógica<strong>de</strong> circuitos digitales <strong>de</strong> mediana complejidad. Nose trata <strong>de</strong> un paquete profesional para diseño <strong>de</strong>circuitos, sino que es una herramienta didáctica,con un tiempo mínimo estimado en unas treshoras para familiarizarse con el entorno. En estafase <strong>de</strong> aprendizaje se p<strong>la</strong>nificaban una serie <strong>de</strong>ejercicios diseñados por el profesor y quepermitían ir conociendo el programa mientras seconstruían elementos útiles para prácticasposteriores.Esta práctica cumplía una doble función, por unaparte servía para introducir al alumno en elFigura 4. Pantal<strong>la</strong> principal <strong>de</strong> CASCADDado que CASCAD es un programa que seejecuta en entorno MSDOS, para <strong>la</strong> selección <strong>de</strong><strong>la</strong>s distintas funciones <strong>de</strong>l entorno, CASCADutiliza un conjunto <strong>de</strong> menús organizados ensecuencia. Para hacer aparecer los menús sobre <strong>la</strong>ventana <strong>de</strong> trabajo basta pulsar el botón <strong>de</strong>recho<strong>de</strong>l ratón. El primer menú que aparece es el menúprincipal (main menu). La selección <strong>de</strong> cualquiera<strong>de</strong> sus opciones hace aparecer un segundo menúpara dicha opción y así sucesivamente formandouna ca<strong>de</strong>na, como se muestra a continuación.Figura 5. Secuencia <strong>de</strong> menús en CASCAD


3.2. Implementación <strong>de</strong>l Banco <strong>de</strong> RegistrosComo el CASCAD no ofrece ningún banco <strong>de</strong>registros como componente, se <strong>de</strong>berá construirconectando entre si los diferentes elementosnecesarios. Una vez construido, el CASCADofrece <strong>la</strong> posibilidad <strong>de</strong> encapsu<strong>la</strong>r el circuitorealizado para su posterior utilización en circuitos<strong>de</strong> mayor complejidad.Los pasos generales para <strong>la</strong> implementación <strong>de</strong>cualquier circuito en general y <strong>de</strong>l banco <strong>de</strong>registros en particu<strong>la</strong>r son los siguientes: 1)I<strong>de</strong>ntificación <strong>de</strong> los componentes necesarios, 2)Realización <strong>de</strong> <strong>la</strong>s conexiones; 4) Simu<strong>la</strong>ción ycircuito <strong>de</strong> prueba <strong>de</strong>l circuito. Teniendo encuenta <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>l banco <strong>de</strong> registros <strong>de</strong><strong>la</strong>partado 2, <strong>la</strong> Figura 6 muestra una posibleimplementación <strong>de</strong> un banco <strong>de</strong> registros <strong>de</strong> ochoregistros <strong>de</strong> 16 bits cada uno.Como se pue<strong>de</strong> observar, <strong>la</strong> operación <strong>de</strong> lecturase ha implementado con dos Multiplexores. Laoperación <strong>de</strong> escritura se ha implementado se harealizado utilizando un Demultiplexor <strong>de</strong>bido aque el CASCAD no incorpora Decodificadores. E<strong>la</strong>lumno conoce <strong>la</strong> equivalencia existente entreDecodificadores y Demultiplexores.3.3. Circuito <strong>de</strong> pruebaDe cara a <strong>la</strong> simu<strong>la</strong>ción y prueba <strong>de</strong>l banco <strong>de</strong>registros, <strong>la</strong> Figura 7 muestra el circuito <strong>de</strong> pruebaque se <strong>de</strong>be implementar utilizando una UnidadAritmético Lógica o ALU. Se pue<strong>de</strong> observarcomo el banco <strong>de</strong> registros se ha encapsu<strong>la</strong>do enun nuevo componente <strong>de</strong>nominado banco <strong>de</strong>registros que se pue<strong>de</strong> utilizar en un nuevocircuito. Esta característica <strong>de</strong> encapsu<strong>la</strong>rcomponentes es <strong>de</strong> especial importancia <strong>de</strong> cara aimplementar librerías <strong>de</strong> componentes específicos.Finalmente hay que comentar que para unaprovechamiento <strong>de</strong> <strong>la</strong>s sesiones <strong>de</strong> prácticas,<strong>de</strong>be realizarse una p<strong>la</strong>nificación concienzuda querequiere <strong>de</strong> un trabajo previo por parte <strong>de</strong> losprofesores <strong>de</strong> <strong>la</strong> asignatura. En este sentido a losalumnos <strong>de</strong> primer curso se les suministra unproyecto inicial <strong>de</strong> partida en base al cual trabajanhasta obtener <strong>la</strong> versión <strong>de</strong>finitiva.Inicialmente se pedía al alumno que realizase todoel diseño completo; pero <strong>la</strong> experiencia nos<strong>de</strong>muestra que no es un buen método didáctico, yaque producía una pronta <strong>de</strong>smotivación enaquellos alumnos que no llegaban a obtener losresultados esperados.Figura 6. Implementación interna <strong>de</strong> un banco <strong>de</strong> ocho registros en CASCAD


utilizaremos el diseño esquemático y <strong>la</strong>simu<strong>la</strong>ción funcional, sin entrar en <strong>de</strong>tallesespecíficos <strong>de</strong> implementación propios <strong>de</strong> cursosavanzados.Figura 7. Circuito <strong>de</strong> prueba <strong>de</strong>l banco <strong>de</strong> registros4. Realización <strong>de</strong> <strong>la</strong> práctica con XilinxDebido a <strong>la</strong> importancia <strong>de</strong> <strong>la</strong> práctica, en nuestrobloque <strong>de</strong> prácticas, consi<strong>de</strong>ramos necesario que<strong>la</strong> práctica continúe realizándose. Sin embargo,nos encontramos en <strong>la</strong> necesidad <strong>de</strong> adaptarnos a<strong>la</strong>s nuevas herramientas que ofrecen una mayorpresencia y funcionalidad.4.1. Descripción <strong>de</strong>l ProgramaEl simu<strong>la</strong>dor XILINX Foundation 2.1 <strong>de</strong> <strong>la</strong>compañía Xilinx es un entorno profesionalintegrado <strong>de</strong> diseño, simu<strong>la</strong>ción y síntesis <strong>de</strong>circuitos y Hardware digital. Esta herramientaincorpora el lenguaje estándar <strong>de</strong> <strong>de</strong>scripciónhardware VHDL, permitiendo tanto el diseño <strong>de</strong>circuitos y sistemas digitales completos sin<strong>de</strong>pen<strong>de</strong>r <strong>de</strong> un fabricante específico, como suimplementación directa en Hardware.La utilización <strong>de</strong> una herramienta <strong>de</strong> talescaracterísticas ha <strong>de</strong> p<strong>la</strong>nificarse <strong>de</strong> formaprogresiva. En los p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> 2001, hayun compromiso <strong>de</strong> profesores <strong>de</strong> distintasasignaturas, para utilizar esta herramientaprogresivamente, <strong>de</strong>s<strong>de</strong> primeros cursos, hastacursos avanzados <strong>de</strong> diseño VLSI, llegandoincluso a proponer Proyectos Finales <strong>de</strong> Carreradon<strong>de</strong> se lleguen a utilizar sus características másavanzadas. De esta forma, el tiempo necesariopara conocer y utilizar <strong>la</strong>s características <strong>de</strong> <strong>la</strong>herramienta se va distribuyendo y amortizando endiferentes cursos, acor<strong>de</strong> con <strong>la</strong> formaciónprogresiva <strong>de</strong>l alumno. La Figura 8, muestra <strong>la</strong>pantal<strong>la</strong> principal <strong>de</strong> <strong>la</strong> herramienta. Para <strong>la</strong>implementación <strong>de</strong>l banco <strong>de</strong> registros, so<strong>la</strong>menteFigura 8. Pantal<strong>la</strong> principal <strong>de</strong> XILINX4.2. Implementación <strong>de</strong>l Banco <strong>de</strong> RegistrosAl igual que sucedía con el programa CASCAD,el XILINX no incorpora un banco <strong>de</strong> registros. Elprimer paso es i<strong>de</strong>ntificar los componentesnecesarios en <strong>la</strong>s librerías <strong>de</strong> XILINX. Paraaquellos elementos que no se encuentrendisponibles en <strong>la</strong>s librerías por <strong>de</strong>fecto, XILINX,incorpora una función <strong>de</strong>nominada creación <strong>de</strong>módulos logiBlox que permite crear eincorporar como elementos <strong>de</strong> libreríacomponentes específicos a partir <strong>de</strong> componentesgenéricos. Para el diseño <strong>de</strong>l banco <strong>de</strong> registrosnecesitaremos 1 <strong>de</strong>codificador <strong>de</strong> 3 a 8 paraimplementar <strong>la</strong> operación <strong>de</strong> escritura y 2multiplexores <strong>de</strong> 8 entradas y 1 salida todas conun ancho <strong>de</strong> 16 bits. Tanto el <strong>de</strong>codificador comolos multiplexores, se han creado utilizandomódulos logiBlox. La Figura 9 muestra <strong>la</strong>creación <strong>de</strong> un Multiplexor <strong>de</strong> 8 a 1 con un ancho<strong>de</strong> bus <strong>de</strong> 16 bits a partir <strong>de</strong> un componentegenérico Multiplexor.La Figura 10 muestra <strong>la</strong> implementación <strong>de</strong>lbanco <strong>de</strong> registros <strong>de</strong> 8 registros <strong>de</strong> 16 bits,utilizando dos Multiplexores y el Decodificadorimplementados como logiBlox, y 8registros <strong>de</strong> 16 bits que incorpora una <strong>de</strong> <strong>la</strong>slibrerías <strong>de</strong> XILINX. Para realizar diseñosjerárquico, el XILINX permite <strong>la</strong> creación <strong>de</strong>nuevos componentes a partir <strong>de</strong> diseños


ealizados. Una vez generado el nuevocomponente, este se encuentra disponible comonuevo elemento <strong>de</strong> <strong>la</strong> librería <strong>de</strong>l proyecto,pudiéndose utilizar en futuros diseños.visual entre el interfaz <strong>de</strong>l componente generado yel interfaz teórico que se presento en <strong>la</strong> Figura 3<strong>de</strong>l apartado 2.Figura 11. Editor <strong>de</strong> Símbolos <strong>de</strong> XILINXFigura 9. Creación <strong>de</strong> un multiplexor 8 a 1 <strong>de</strong> 16 bitsPara generar un nuevo componente necesitamoscrear un símbolo a partir <strong>de</strong> un diseño yaexistente. El símbolo consistirá en un nuevocomponente don<strong>de</strong> el usuario sólo verá un bloquecon el mismo número <strong>de</strong> entradas y <strong>de</strong> salidas queel esquema original, que englobará a éste yrealizará su misma función. La Figura 11 muestrael editor <strong>de</strong> símbolos que incorpora XILINX.Esta característica facilita notablemente <strong>la</strong>comprensión <strong>de</strong> los circuitos implementados,especialmente cuando <strong>la</strong> envergadura <strong>de</strong> unproyecto es consi<strong>de</strong>rable.Figura 12. Componente Banco <strong>de</strong> Registros.3.3. Circuito <strong>de</strong> pruebaFigura 10. Implementación interna <strong>de</strong> un banco <strong>de</strong> ochoregistros en XILINX.La Figura 12 muestra el componente banco <strong>de</strong>registros. Como se pue<strong>de</strong> observar, el editor <strong>de</strong>símbolos permite establecer una equivalenciaPara comprobar el funcionamiento <strong>de</strong>l banco <strong>de</strong>registros, El alumno dispone <strong>de</strong> un circuito <strong>de</strong>prueba simi<strong>la</strong>r al implementado con CASCAD.Una vez que el alumno ha comprobado elfuncionamiento <strong>de</strong>l circuito, se le proporciona uncircuito <strong>de</strong> mayor dificultad como el mostrado en<strong>la</strong> Figura 13 y se le p<strong>la</strong>ntean una serie <strong>de</strong>cuestiones teórico/prácticas. El objetivo que sepersigue es analizar el nivel <strong>de</strong> comprensión <strong>de</strong>lfuncionamiento <strong>de</strong>l banco <strong>de</strong> registros cuando estese conecta con otros elementos, como soncontadores y Unida<strong>de</strong>s Aritmético Lógicas,elementos que se utilizarán posteriormente en eldiseño <strong>de</strong> <strong>la</strong> ruta <strong>de</strong> datos <strong>de</strong> un procesador básico


Figura 13. Circuito <strong>de</strong> prueba <strong>de</strong>l banco <strong>de</strong> registros5. Comparativa entre herramientasEn este apartado estableceremos una comparativa<strong>de</strong> ambas herramientas CASCAD (C) y XILINX(Xi), estableciendo un conjunto <strong>de</strong> característicasque se <strong>de</strong>ben tener en cuenta <strong>de</strong> cara a seleccionaruna u otra como herramienta <strong>de</strong> simu<strong>la</strong>ción <strong>de</strong>sistemas digitales.• Sistema Operativo: (C) MSDOS. (Xi)Windows.• Requerimientos Procesador y RAM: (C)386, 1Mbyte. (Xi) Pentium III, 64Mbytes.• Espacio en disco: (C) disquetes, (Xi) CDs.• Entorno <strong>de</strong>l programa: (C) Sencillo peropoco flexible. (Xi) Sencillo y flexible.• Comprobación y Simu<strong>la</strong>ción: (C) Sencillo ypoco flexible. (Xi) Complejo pero flexible.• Generación <strong>de</strong> nuevos componentes: (C)Restringido. (Xi) Avanzado• Utilización en cursos avanzados: (C)Restringido. (Xi) Aconsejable.• Entorno <strong>de</strong> uso: (C) Educativo. (Xi)Educativo y profesional.6. ConclusionesEn este trabajo se ha discutido el impacto que <strong>la</strong>snuevas herramientas <strong>de</strong> simu<strong>la</strong>ción han tenido ycontinúan teniendo sobre <strong>la</strong>s prácticas docentesuniversitarias. El estudio se ha particu<strong>la</strong>rizadopara <strong>la</strong> docencia en estructuras <strong>de</strong> computadores,aunque se pue<strong>de</strong> generalizar a cualquier docenciauniversitaria.La aparición <strong>de</strong> <strong>la</strong>s nuevas herramientas, con unafuncionalidad casi profesional, nos hacecuestionarnos si es a<strong>de</strong>cuado continuar con <strong>la</strong>sviejas prácticas y el nuevo software, o si seríapreferible p<strong>la</strong>ntearnos <strong>la</strong> aparición <strong>de</strong> nuevasprácticas que con el software anterior no eranfactibles. Quizá <strong>la</strong> solución sea un mezc<strong>la</strong> <strong>de</strong>ambas alternativas, ya que muchas <strong>de</strong> <strong>la</strong>s prácticasque vienen haciéndose durante años e inclusolustros, han sufrido <strong>la</strong>s críticas y los retoques <strong>de</strong>muchos profesores, así como <strong>de</strong> variasgeneraciones <strong>de</strong> estudiantes. Algunas <strong>de</strong> estasprácticas tienen un valor añadido especial, sinembargo, es necesario que se adapten a <strong>la</strong>s nuevastecnologías si queremos mantener el prestigio y <strong>la</strong>calidad <strong>de</strong> <strong>la</strong>s mismas.En este trabajo no sólo nos hemos centrado en <strong>la</strong>scuestiones didácticas y metodológicas, sino quetambién se ha realizado un caso <strong>de</strong> estudio. Amodo <strong>de</strong> ejemplo, se ha presentado <strong>la</strong> práctica <strong>de</strong>l“Banco <strong>de</strong> Registros”, que llevamos haciendodurante años y que es <strong>la</strong> base <strong>de</strong> prácticas máscomplejas.Finalmente recalcar, que creemos que <strong>la</strong>adaptación <strong>de</strong> nuevas prácticas es necesario tanto<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l alumno como <strong>de</strong>lprofesor. Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l profesorporque siente satisfacción al realizara<strong>de</strong>cuadamente su función docente, y <strong>de</strong>s<strong>de</strong> elpunto <strong>de</strong> vista <strong>de</strong>l alumno porque trabaja con unaherramienta con apariencia profesional.Referencias[1] Computer Assited Simu<strong>la</strong>tion for CircuitsAnálisis & Design (CASCAD), Manual <strong>de</strong>referencia, EduSoft.[2] Xilinx Foundation Series 2.1i Stu<strong>de</strong>nt Edtionsoftware, .[2] David. E. Van<strong>de</strong>s, Logic Design withXILINX Foundation 2.1i.[4] J. Sahuquillo, H. Hassan, L. Lemus, J.Molero, R. Ors, F. Rodriguez, “Introducción alos Computadores”, Servicio <strong>de</strong> publicaciones<strong>de</strong> <strong>la</strong> UPV, 1997.


Desarrollo <strong>de</strong> una tarjeta <strong>de</strong> adquisición <strong>de</strong> datos para <strong>la</strong>docencia <strong>de</strong> Sistemas PeriféricosGermán Galeano Gile-mail: ggaleano @unex.eshttp:// atc.unex.es /ggaleanoDpto. <strong>de</strong> InformáticaUniversidad <strong>de</strong> ExtremaduraCentro Universitario <strong>de</strong> Mérida06800 MéridaFrancisco Fernán<strong>de</strong>z <strong>de</strong> Vegae-mail: fcof<strong>de</strong>z @unex.eshttp:// atc.unex.es /fcof<strong>de</strong>zResumenEn este trabajo presentamos una tarjeta <strong>de</strong>adquisición <strong>de</strong> datos utilizada para <strong>la</strong> docencia <strong>de</strong>ldiseño y control <strong>de</strong> sistemas periféricos enasignaturas <strong>de</strong> Ingeniería Telemática.Exponemos a<strong>de</strong>más <strong>la</strong>s experiencias <strong>de</strong> variosprofesores que imparten docencia en una unidadtemática formada por asignaturas <strong>de</strong>l área <strong>de</strong>arquitectura <strong>de</strong> computadores en <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong>Ingeniería Técnica en Telecomunicaciones.explicar el funcionamiento <strong>de</strong> los periféricos yrealizar un par <strong>de</strong> prácticas en <strong>la</strong>s que se manejana muy bajo nivel el tec<strong>la</strong>do, el sistema <strong>de</strong> ví<strong>de</strong>o yel ratón. Algo simi<strong>la</strong>r ocurría con <strong>la</strong> asignatura <strong>de</strong>Sistemas Operativos.Surgió así <strong>la</strong> i<strong>de</strong>a <strong>de</strong> construir una tarjeta <strong>de</strong>propósito general que sirviera para <strong>la</strong> entrada ysalida <strong>de</strong> datos y que fuera utilizada comoelemento básico para <strong>la</strong> explicación <strong>de</strong>lfuncionamiento <strong>de</strong> los sistemas periféricos.Para el diseño <strong>de</strong> esta tarjeta se partió <strong>de</strong> untrabajo previo <strong>de</strong> F. Fernán<strong>de</strong>z [5].1. Antece<strong>de</strong>ntesEn el Departamento <strong>de</strong> Informática <strong>de</strong>l CentroUniversitario <strong>de</strong> Mérida [2], perteneciente a <strong>la</strong>Universidad <strong>de</strong> Extremadura [1], se ha constituidoun grupo <strong>de</strong> docencia formado por profesores queimparten c<strong>la</strong>ses en varias asignaturas <strong>de</strong> <strong>la</strong>titu<strong>la</strong>ción en Ingeniería Telemática, <strong>de</strong>ntro <strong>de</strong>lárea <strong>de</strong> Arquitectura y Tecnología <strong>de</strong>Computadores [3].El principal problema que presentan losalumnos <strong>de</strong> esa titu<strong>la</strong>ción es que tienendificulta<strong>de</strong>s para experimentar con periféricos <strong>de</strong>E/S avanzados, en especial aquellos que tomandatos <strong>de</strong>l exterior realizando una conversióndigital-analógica, ya que en los <strong>la</strong>boratorios sólodisponen <strong>de</strong> PCs con una configuración muybásica. Por todo ello, <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong> asignaturaSistemas Electrónicos Digitales [4] se limitaban a2. P<strong>la</strong>nteamientoEl objetivo <strong>de</strong> este trabajo es construir, <strong>de</strong> unaforma sencil<strong>la</strong> y económica, una tarjeta <strong>de</strong>adquisición y conversión analógico-digital. Es<strong>de</strong>cir, un circuito que convierta una señal digital<strong>de</strong>l or<strong>de</strong>nador en una analógica, y viceversa, tomeuna analógica <strong>de</strong>l exterior y <strong>la</strong> convierta en digital.Con esta tarjeta se persiguen seis objetivos:1- Motivar al alumnado realizando prácticassobre un dispositivo que ha sido construidoenteramente por ellos.2- Estudiar <strong>la</strong> teoría subyacente en el diseñohardware <strong>de</strong> periféricos <strong>de</strong> entrada y salida.3- Estudiar en profundidad el diseño software<strong>de</strong>l control <strong>de</strong> estos periféricos y <strong>la</strong>


comunicación <strong>de</strong> éstos con el procesador y<strong>la</strong> memoria.4- Construir una p<strong>la</strong>taforma que sirva <strong>de</strong> basepara el <strong>de</strong>sarrollo <strong>de</strong> futuros trabajos másavanzados, tales como el <strong>de</strong>sarrollo <strong>de</strong> unatarjeta <strong>de</strong> adquisición <strong>de</strong> datos más potente,o construcción <strong>de</strong> tarjetas <strong>de</strong> adquisición ycontrol específicas para problemasconcretos.5- Utilizar los datos obtenidos para realizarestudios explicados en otras asignaturas,como aplicar <strong>la</strong> transformada <strong>de</strong> Fourierpara obtener <strong>la</strong>s frecuencias principales, etc.6- Construir un dispositivo con el menor costeeconómico, pero que sea sencillo yfuncional.La tarjeta que se presenta sirve para <strong>la</strong>digitalización y adquisición <strong>de</strong> datos cualesquiera,aunque para ahorrar costes y hacer más sencillo eldiseño hardware, se le ha limitado a unaresolución <strong>de</strong> 5 bits, resolución que es suficientepara nuestros propósitos.La tarjeta <strong>de</strong>sarrol<strong>la</strong>da ha sido utilizada comodispositivo <strong>de</strong> entrada y salida <strong>de</strong> sonido. Así, <strong>la</strong>tarjeta permite, en general, realizar dos tareasbásicas: emisión y captura <strong>de</strong> sonidos.A<strong>de</strong>más, se pue<strong>de</strong> dotar al sistema <strong>de</strong> unsoftware básico que acompañe a <strong>la</strong> tarjeta y quepermita el control <strong>de</strong> ésta sin tener conocimientos<strong>de</strong> cómo es el hardware <strong>de</strong> <strong>la</strong> misma. Estesoftware permitiría realizar operaciones comoeditar <strong>la</strong> señal <strong>de</strong> sonido obtenida y sumanipu<strong>la</strong>ción para añadir efectos, como distorsióny eco, o cálculo <strong>de</strong>l Espectro <strong>de</strong> Fourier [7].En <strong>la</strong> e<strong>la</strong>boración <strong>de</strong>l software que contro<strong>la</strong> <strong>la</strong>tarjeta, los alumnos <strong>de</strong>ben tener en cuenta <strong>la</strong>scaracterísticas re<strong>la</strong>cionadas con el hardware <strong>de</strong>lPC: repertorio básico <strong>de</strong> instrucciones <strong>de</strong>l Intel8086/8088, mapa <strong>de</strong> memoria, modos <strong>de</strong>direccionamiento, pi<strong>la</strong>, interrupciones, rutinas <strong>de</strong>servicio, etc, así como el funcionamiento básico<strong>de</strong>l sistema operativo (l<strong>la</strong>madas al sistema,entradas al kernel, etc).3. DesarrolloEl <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> tarjeta se realiza a tresniveles:1. Desarrollo hardware: consiste en construirel circuito mediante <strong>la</strong> sobreimpresión <strong>de</strong><strong>la</strong>s pistas y el soldado <strong>de</strong> los componentes.2. Desarrollo <strong>de</strong> un driver muy básico,mediante interrupciones software (DOS) ouno más avanzado mediante manejadores<strong>de</strong> dispositivo (Linux). Constituiría <strong>la</strong> capasoftware más básica.3. Desarrollo <strong>de</strong>l programa <strong>de</strong> control <strong>de</strong> <strong>la</strong>tarjeta y manipu<strong>la</strong>ción <strong>de</strong> los datos queincremente <strong>la</strong>s presentaciones <strong>de</strong> <strong>la</strong> tarjeta,basándose en <strong>la</strong> capa <strong>de</strong> software anterior.3.1. Desarrollo hardwareLa principal función <strong>de</strong> <strong>la</strong> tarjeta construida es<strong>la</strong> <strong>de</strong> <strong>de</strong>dicarse exclusivamente a realizar <strong>la</strong>conversión digital-analógica, <strong>de</strong>jando el resto <strong>de</strong><strong>la</strong>s tareas bajo el control <strong>de</strong> <strong>la</strong> CPU <strong>de</strong>l micro.A gran<strong>de</strong>s rasgos, el esquema básico <strong>de</strong> <strong>la</strong>tarjeta <strong>de</strong> sonido implementada es el mostrado en<strong>la</strong> figura 1.RELOJPROCESOCONVERSIONCOMPUTADORCONVERSIONANALOGICA-DIGITALTARJETA DE SONIDOEQUIPOREPRODUCTORMEMORIAALTAVOZAMPLIFICADOREQUIPO DE SONIDOFigura 1. Esquema <strong>de</strong> <strong>la</strong> tarjeta


En este esquema, se observa que el computadorse encarga <strong>de</strong> gestionar <strong>la</strong> memoria, <strong>la</strong> frecuencia<strong>de</strong> muestreo y <strong>la</strong> comunicación con <strong>la</strong> tarjeta,siendo ésta última <strong>la</strong> encargada <strong>de</strong> realizar <strong>la</strong>sconversiones, tanto digital-análogica comoanalógica-digital, y conexión con el exterior. Enel caso <strong>de</strong> <strong>la</strong> tarjeta <strong>de</strong> sonido que se haconstruido, esa conexión se ha realizado con unaltavoz con amplificador en <strong>la</strong> salida y con unmicrófono en <strong>la</strong> entrada, permitiendo el conjunto<strong>la</strong> captura y emisión <strong>de</strong> sonido.Teniendo en cuenta <strong>la</strong>s tareas encomendadas a<strong>la</strong> tarjeta (captura -digitalización <strong>de</strong> sonido- yemisión <strong>de</strong> sonido), <strong>la</strong> tarjeta consta <strong>de</strong> dosmódulos diferentes que se re<strong>la</strong>cionan:• Módulo conversión Analógica-Digital: tienecomo misión capturar señales <strong>de</strong> sonido(analógicas) proce<strong>de</strong>ntes <strong>de</strong> un equipo <strong>de</strong>sonido, convertir<strong>la</strong>s en señales digitalesmanipu<strong>la</strong>bles por el or<strong>de</strong>nador ytransferírse<strong>la</strong>s.• Módulo conversión Digital-Analógica: seencarga <strong>de</strong> recoger señales <strong>de</strong> sonido digital,proce<strong>de</strong>ntes <strong>de</strong>l computador, transformar<strong>la</strong>sen señales analógicas y enviar<strong>la</strong>s a<strong>la</strong>mplificador, para que puedan serescuchadas por el usuarioCon todo esto, el esquema resultante una vezanalizado el sistema es el mostrado en <strong>la</strong> figura 2.La tarjeta también permite capturar señalessonoras <strong>de</strong>l exterior. Para ello se ha utilizado unmétodo muy sencillo y económico que consiste enlo siguiente: el DAC0800 es capaz <strong>de</strong> transformaruna muestra <strong>de</strong> 5 bits (un valor numérico digital)en un valor analógico <strong>de</strong> voltaje o intensidad. Así,todo valor entre 0 y 32 (valores posible con 5 bits)tiene asignado su correspondiente voltaje, que seencuentra entre un valor máximo y mínimo.Utilizando un comparador a<strong>de</strong>cuado, sería posible<strong>de</strong>terminar si <strong>la</strong> señal <strong>de</strong> entrada (con un voltajeque <strong>de</strong>be estar entre el valor máximo y mínimocon el que trabaja el DAC) es mayor o menor quecualquier señal proce<strong>de</strong>nte <strong>de</strong>l or<strong>de</strong>nador.El funcionamiento es pues el siguiente: cuandose recibe una señal <strong>de</strong> entrada, el or<strong>de</strong>nador envíaa <strong>la</strong> tarjeta una secuencia <strong>de</strong> señales digitales queserán comparadas con los comparadores UA741con <strong>la</strong> señal <strong>de</strong> entrada. De este modo, <strong>la</strong> tarjetacomprueba continuamente <strong>la</strong> señal <strong>de</strong> entrada con<strong>la</strong>s sucesivas señales tipo que envía el or<strong>de</strong>nador.Cada resultado <strong>de</strong> <strong>la</strong>s comparaciones es enviadopor <strong>la</strong> tarjeta al or<strong>de</strong>nador. Cuando <strong>la</strong>comparación sea <strong>la</strong> a<strong>de</strong>cuada, el proceso termina yel or<strong>de</strong>nador conoce <strong>la</strong> codificación digital <strong>de</strong> <strong>la</strong>señal <strong>de</strong> entrada.El diagrama <strong>de</strong> <strong>la</strong> figura 3 muestra <strong>la</strong> iteraciónentre DAC0800 y el comparador:REPRODUCTORDE SONIDOCONVERSORDACREPRODUCTORDE SONIDOCONVERSORDACSeñal DigitalDAC0808SeñalAnalógicaSeñal Analógica EntradaCOMPARADORCOMPUTADORResultadoComparaciónFigura 2. Esquema <strong>de</strong> bloques <strong>de</strong>l sistemaPara realizar <strong>la</strong> conversión Analógica/Digital seha utilizado un DAC 0800 <strong>de</strong> Motoro<strong>la</strong> ycomparadores UA741, que aunque no son <strong>de</strong> muybuena calidad, son muy económicos y ofrecen unbuen resultado.COMPUTADORFigura 3. Proceso <strong>de</strong> conversión Analógico-DigitalLa figura 4 muestra el circuito completosimplificado <strong>de</strong> <strong>la</strong> tarjeta. Como se pue<strong>de</strong> apreciar,el circuito es muy compacto y pue<strong>de</strong> serimplementado sin problemas sobre una superficie


<strong>de</strong> 8x8 cm. La figura 5 muestra el aspecto final <strong>de</strong>ldispositivo.L0D7D6D5D4D3D2D1D0BUSYEXTERNASALIDA-4.5V4.5VTIERRA89710611L05120.1uF413314100nF215L20.01uF11610k10k4k994k99L11240.1uFFigura 4. Layout <strong>de</strong> <strong>la</strong> tarjetaL187533kBUSYL01kSerá necesario establecer, tal como indica elprimer punto, un modo <strong>de</strong> comunicación entrecomputador y tarjeta, en tiempo real, ya que <strong>la</strong>tarjeta no dispone <strong>de</strong> buffers <strong>de</strong> almacenamiento.La comunicación se darán en dos sentidos, <strong>de</strong>lor<strong>de</strong>nador a <strong>la</strong> tarjeta (emisión), y <strong>de</strong> <strong>la</strong> tarjeta alor<strong>de</strong>nador (captura).En cuanto a <strong>la</strong> Gestión <strong>de</strong> Memoria Dinámica, elcomputador habrá <strong>de</strong> contro<strong>la</strong>r <strong>la</strong> memoriadisponible e ir almacenando en el<strong>la</strong>s <strong>la</strong>s muestrasenviadas por <strong>la</strong> tarjeta y al ritmo que <strong>la</strong> frecuencia<strong>de</strong> muestreo vaya marcando.Será también el Computador el encargado <strong>de</strong>fijar, utilizando el reloj programable, <strong>la</strong> frecuencia<strong>de</strong> muestreo y emisión. Los componentes <strong>de</strong> <strong>la</strong>tarjeta <strong>de</strong>berán se capaces <strong>de</strong> trabajar a <strong>la</strong>frecuencia fijada por el micro.Figura 5. Aspecto <strong>de</strong> <strong>la</strong> tarjeta3.3. Desarrollo softwareComo acabamos <strong>de</strong> ver, <strong>la</strong> única misión <strong>de</strong> <strong>la</strong>tarjeta es realizar <strong>la</strong> conversión analógica-digital yviceversa. Posteriormente, <strong>la</strong> informaciónproducida es enviada al or<strong>de</strong>nador a través <strong>de</strong>lpuerto paralelo para que <strong>la</strong> CPU <strong>la</strong> procese.Así pues, el procesador ha <strong>de</strong> encargarse <strong>de</strong> <strong>la</strong>siguientes tareas básicas:• Comunicación con <strong>la</strong> Tarjeta <strong>de</strong> Sonido.• Gestión <strong>de</strong> Memoria Dinámica en don<strong>de</strong>almacenar los resultados que se vangenerando.• Gestión <strong>de</strong> Tiempos.4. Secuenciación docenteEn un principio, <strong>la</strong> construcción y manejo <strong>de</strong> <strong>la</strong>tarjeta se realiza únicamente en <strong>la</strong>s asignaturas <strong>de</strong>Sistemas Electrónicos Digitales y SistemasOperativos, <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniería enTelecomunicaciones, rama Telemática.Como se pue<strong>de</strong> apreciar en <strong>la</strong> figura 6, <strong>la</strong>asignatura <strong>de</strong> Sistemas Electrónicos Digitales seimparte en el segundo año y se basa en losconocimientos aprendidos en Electrónica eIntroducción <strong>de</strong> computadores, impartidas ambasen el primer año. A<strong>de</strong>más, esta asignatura, juntocon <strong>la</strong> <strong>de</strong> Estructura <strong>de</strong> Computadores, sirven <strong>de</strong>base teórica para explicar el funcionamiento <strong>de</strong> losSistemas Opertivos (tercer año).Par <strong>la</strong> creación <strong>de</strong> esta tarjeta y <strong>de</strong>l sistemasoftware asociado, los profesores <strong>de</strong> <strong>la</strong>sasignaturas <strong>de</strong> Sistemas Electrónicos Digitales ySistemas Operativos se pusieron <strong>de</strong> acuerdo y serepartieron <strong>la</strong>s tareas.En principio, se consi<strong>de</strong>raron los siguientesobjetivos:• El objetivo <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> SistemasElectrónicos Digitales es mostrar al alumno elfuncionamiento intrínseco <strong>de</strong> un periférico <strong>de</strong>E/S y cómo se pue<strong>de</strong> manejar a través <strong>de</strong> lospuertos <strong>de</strong> E/S


• El objetivo <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> SistemasOperativos es mostrar al alumno cómo elsistema operativo enmascara al periférico ydota a <strong>la</strong>s aplicaciones <strong>de</strong> mecanismos paramanejar el dispositivo <strong>de</strong> forma más sencil<strong>la</strong>1ºSISTEMASDIGITALESINTRODUCCIONCOMPUTADORESfuncionamiento <strong>de</strong> los servicios <strong>de</strong>l sistemaoperativo DOS.Sin embargo, como ya se ha comentadoanteriormente, en <strong>la</strong> asignatura <strong>de</strong> SistemasOperativos, el enfoque varía. Aquí se trata <strong>de</strong>enseñar al alumno cómo el Sistema Operativohace <strong>de</strong> intermediario entre los programas y elhardware. Por ello, en esta asignatura se construyeuna librería y un dispositivo que permite contro<strong>la</strong>r<strong>la</strong> tarjeta.2º3ºSISTEMASELECT. DIGITALESESTRUCTURASCOMPUTADORESSISTEMASOPERATIVOSFigura 6. Asignaturas re<strong>la</strong>cionadas con SistemasElectrónicos Digitales y con Sistemas Operativos.Partiendo <strong>de</strong> esos objetivos, se realizó unreparto <strong>de</strong> tareas y resultó entonces <strong>la</strong> unidaddidáctica que se muestra en <strong>la</strong> tab<strong>la</strong> 1.Como se aprecia en esa tab<strong>la</strong>, en <strong>la</strong> asignatura<strong>de</strong> Sistemas Electrónicos Digitales se introduce alos alumnos en el funcionamiento teórico <strong>de</strong>ldispositivo y se implementa físicamente <strong>la</strong> tarjeta.A<strong>de</strong>más se realizan varios programas <strong>de</strong> tests y seconstruye un pequeño contro<strong>la</strong>dor, muy sencillo yelemental, en ensamb<strong>la</strong>dor, simu<strong>la</strong>ndo el5. ConclusiónEsta experiencia docente ha tenido muy buenosresultados ya que los alumnos se encuentran muymotivados <strong>de</strong>s<strong>de</strong> el comienzo en <strong>la</strong> realización <strong>de</strong><strong>la</strong>s prácticas.A<strong>de</strong>más, es para ellos muy gratificante observarcómo un dispositivo construido por ellos mismosfunciona y respon<strong>de</strong> a <strong>la</strong>s ór<strong>de</strong>nes enviadas por elor<strong>de</strong>nador.Por otro <strong>la</strong>do, los alumnos asimi<strong>la</strong>n muchomejor los conceptos re<strong>la</strong>tivos al funcionamiento<strong>de</strong> los periféricos y cómo los programas y elsistema operativo interactúa con ellos, y se sientenmuy motivados.Los autores <strong>de</strong> este trabajo consi<strong>de</strong>ramos que esmuy importante motivar al alumnado mediante <strong>la</strong>realización <strong>de</strong> trabajos teórico-prácticos comoéste, que a<strong>de</strong>más sirven <strong>de</strong> hilo conducto para unirlos conocimientos aprendidos en diferentesasignaturas.Sesión Curso Asignatura Objetivos Horas1 2º S.E.D. - Explicar el funcionamiento eléctrico <strong>de</strong> <strong>la</strong> tarjeta2- Construir<strong>la</strong> físicamente y probar<strong>la</strong> con un programa <strong>de</strong> test2 2º S.E.D. - Explicar el funcionamiento <strong>de</strong> <strong>la</strong> tarjeta <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> 2vista software- Construcción <strong>de</strong> un pequeño programa <strong>de</strong> test enensamb<strong>la</strong>dor3 2º S.E.D. - Construcción <strong>de</strong> un nuevo servicio <strong>de</strong>l sistema operativo 6DOS mediante interrupción software- Testeo <strong>de</strong>l servicio con un programa realizado en C4 3º S.O. - Testeo <strong>de</strong> <strong>la</strong> tarjeta mediante un programa que haga2l<strong>la</strong>madas al sistema en LINUX5 3º S.O. - Construcción <strong>de</strong> una librería y un fichero <strong>de</strong> dispositivo que 10permita manipu<strong>la</strong>r <strong>la</strong> tarjeta y enviar / recibir datos <strong>de</strong> el<strong>la</strong>Tab<strong>la</strong> 1. Secuenciación <strong>de</strong> <strong>la</strong> implementación en sesiones prácticas <strong>de</strong> <strong>la</strong> tarjeta <strong>de</strong> sonido y su software asociado


Referencias[1] Universidad <strong>de</strong> Extremadura. http://www.unex.es[2] Centro Universitario <strong>de</strong> Mérida. http://cum.unex.es[3] Area <strong>de</strong> Arquitectura y Tecnología <strong>de</strong>Computadores <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Extremadura. http:// atc.unex.es[4] http:// cum.unex.es/profesores/ggaleano/sed[5] F. Fernán<strong>de</strong>z: “Sistema <strong>de</strong> adquisición <strong>de</strong>señales <strong>de</strong> sonido”. Proyecto Fin <strong>de</strong> CarreraLicenciatura en Informática. Universidad <strong>de</strong>Sevil<strong>la</strong>. 1994.[6] Sistemas Contro<strong>la</strong>dos por Computador. KorlAström. Paraninfo[7] Introductory digital signal porcessing withcomputer applications. Paul A. Linn,Wolfgang Fuerst. Ed. John Wiley and sons[8] Integrated Circuits Data Book. Ed. BurnBrown


Bases <strong>de</strong> datos


Análisis <strong>de</strong>l tratamiento <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos en los curricu<strong>la</strong>internacionales: comparación con el currículum <strong>de</strong> Blesa et al.(1999)Mario Piattini, Coral Calero, Francisco RuizGrupo ALARCOSEscue<strong>la</strong> Superior <strong>de</strong> InformáticaPaseo <strong>de</strong> <strong>la</strong> Universidad, 413071 Ciudad RealMario.Piattini, Coral.Calero, Francisco.RuizG@uclm.es1. IntroducciónLas bases <strong>de</strong> datos son un elemento, en bastantescasos el núcleo, <strong>de</strong> un número cada vez mayor <strong>de</strong>sistemas y aplicaciones informáticos, en efecto, elmercado 1 mundial <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos en 2001rondaba los 16.000 millones <strong>de</strong> dó<strong>la</strong>res y se esperaque este mercado aumente alre<strong>de</strong>dor <strong>de</strong>l 18% enel año 2004 ([5]). En España, según <strong>la</strong> publicación<strong>de</strong> SEDISI (2001), en el año 2000 el mercadointerior bruto para el software fue <strong>de</strong> 256.571 MPta. <strong>de</strong> los que correspon<strong>de</strong>n a software <strong>de</strong> bases<strong>de</strong> datos 41.480 con un incremento <strong>de</strong>l 18,4%respecto al año anterior.Esta circunstancia queda reflejada, tanto en losdiferentes currículos propuestos por <strong>la</strong>sorganizaciones internacionales y universida<strong>de</strong>sextranjeras <strong>de</strong> prestigio, como en <strong>la</strong> <strong>de</strong>manda actual<strong>de</strong> conocimientos exigidos por parte <strong>de</strong> <strong>la</strong>sdiferentes empresas internacionales y nacionales.También queda patente <strong>la</strong> importancia <strong>de</strong> estaasignatura en los diferentes P<strong>la</strong>nes <strong>de</strong> Estudio <strong>de</strong> <strong>la</strong>sdistintas Escue<strong>la</strong>s y Faculta<strong>de</strong>s <strong>de</strong> Informática. Elhecho <strong>de</strong> que se hayan constituido <strong>la</strong>s “<strong>Jornadas</strong> enInvestigación y Docencia en Bases <strong>de</strong> Datos”(actualmente integradas en <strong>la</strong>s “<strong>Jornadas</strong> enIngeniería <strong>de</strong>l Software y Bases <strong>de</strong> Datos”) y <strong>de</strong> quegocen <strong>de</strong> una amplia aceptación, también <strong>de</strong>muestrael interés por <strong>la</strong>s bases <strong>de</strong> datos.Fue precisamente en el marco <strong>de</strong> estasjornadas don<strong>de</strong> se e<strong>la</strong>boró un currículo para bases<strong>de</strong> datos, que tras algunas revisiones fue publicadoen Novática hace tres años [1]. En este trabajocomparamos este currículum con los principales1 Estas cifras correspon<strong>de</strong>n a los mercados re<strong>la</strong>cional,objeto-re<strong>la</strong>cional y orientado a objetoscurrícu<strong>la</strong> internacionales más recientes:ACM/IEEE CS 2001, IRMA/DAMA 2000,ACM/AIS MSIS 2000, ISCC´99, IFIP/UNESCOICF-2000 y con algunas otras propuestas quepue<strong>de</strong>n afectar a <strong>la</strong> docencia en bases <strong>de</strong> datos,como el SWEBOK o <strong>la</strong>s que tratan <strong>la</strong> calidad <strong>de</strong>datos o bases <strong>de</strong> datos y web.2. El currículum <strong>de</strong> Blesa et al. (1999)A raíz <strong>de</strong> <strong>la</strong>s II <strong>Jornadas</strong> <strong>de</strong> Investigación yDocencia en Bases <strong>de</strong> Datos, celebradas en Julio<strong>de</strong>l 97 (JIDBD'97), se creó un grupo <strong>de</strong> trabajoli<strong>de</strong>rado por Pedro Blesa <strong>de</strong> <strong>la</strong> UPV con elobjetivo <strong>de</strong> <strong>de</strong>finir los contenidos <strong>de</strong> Bases <strong>de</strong>Datos en los estudios universitarios <strong>de</strong>informática. En Novática se publicó hace más <strong>de</strong>tres años ([1]) <strong>la</strong> versión <strong>de</strong>finitiva <strong>de</strong> <strong>la</strong> propuestarealizada por este grupo, que acordó <strong>de</strong>finir <strong>la</strong>sasignaturas que aparecen en <strong>la</strong> tab<strong>la</strong> 1, tanto para<strong>la</strong>s Ingenierías Técnicas en Informática <strong>de</strong> Gestión(ITIG) y <strong>de</strong> Sistemas (ITIS) como para <strong>la</strong>Ingeniería Informática (II).3. Currícu<strong>la</strong> internacionales más recientesVamos a presentar muy brevemente <strong>la</strong>s versionesmás recientes <strong>de</strong> los currícu<strong>la</strong> que estimamos másinteresantes y prestigiosos en el campo <strong>de</strong> <strong>la</strong>informática. Tradicionalmente se han estudiadotambién otros como el ACM/IEEE CS 1991,ACM/AIS/AITP IS’97, UNESCO-IFIP <strong>de</strong> 1995,etc., pero consi<strong>de</strong>ramos que estos últimos ya hanquedado algo <strong>de</strong>sfasados aunque muchas <strong>de</strong> susi<strong>de</strong>as perviven en <strong>la</strong>s propuestas actuales.


Asignatura Créditos II ITIG ITISBases <strong>de</strong> Datos 1 (BD1) 9 Obligatoria Obligatoria ObligatoriaBases <strong>de</strong> Datos 2 (BD2) 6 Obligatoria Obligatoria OptativaDiseño <strong>de</strong> Bases <strong>de</strong> Datos (DBD) 4,5/6 Optativa Optativa OptativaAdministración <strong>de</strong> Bases <strong>de</strong> Datos (ABD) 4,5/6 Optativa Optativa OptativaAplicaciones <strong>de</strong> Bases <strong>de</strong> Datos (APL) 4,5/6 Optativa Optativa OptativaBases <strong>de</strong> Datos Avanzadas (BDA) 4,5/6 Optativa - -Tab<strong>la</strong> 1. Currículum para Bases <strong>de</strong> Datos propuesto por [1]3.1. CC 2001 <strong>de</strong> ACM/IEEEEn 1998 ACM 2 y <strong>la</strong> Computer Society <strong>de</strong> IEEE 3formaron un equipo conjunto <strong>de</strong>nominadoComputing Curricu<strong>la</strong> 2001 (CC2001), al que se lepidió que <strong>de</strong>sarrol<strong>la</strong>ra un conjunto <strong>de</strong> guíascurricu<strong>la</strong>res que “abordara los <strong>de</strong>sarrollos másrecientes <strong>de</strong> <strong>la</strong>s tecnologías informáticas en <strong>la</strong>década pasada y que perdure <strong>la</strong> siguiente década”.La comunidad educativa parece que requería queeste equipo adoptara una visión más amplia <strong>de</strong> <strong>la</strong>informática ya que, entre otras cosas: “Reducir <strong>la</strong>disciplina <strong>de</strong> <strong>la</strong> informática a componentestradicionales limita <strong>la</strong> evolución <strong>de</strong> <strong>la</strong> disciplina...Las otras disciplinas que compren<strong>de</strong>n <strong>la</strong> visiónamplia <strong>de</strong> <strong>la</strong> informática son al menos tanimportantes para el currículo académico como <strong>la</strong>ciencia <strong>de</strong> <strong>la</strong> computación tradicional”.El informe CC2001 se encuentra dividido encinco partes:• Vol. I : Visión General• Vol. II : Ciencias <strong>de</strong> <strong>la</strong> Computación• Vol. III : Ingeniería <strong>de</strong> <strong>la</strong> Computación• Vol. IV : Ingeniería <strong>de</strong>l Software• Vol. V : Sistemas <strong>de</strong> InformaciónDe estos volúmenes se encuentra finalizado elcorrespondiente a Ciencias <strong>de</strong> <strong>la</strong> Computación(CS´2001), en cuyo cuerpo <strong>de</strong> conocimiento sedistinguen 14 áreas (que representan un campoparticu<strong>la</strong>r <strong>de</strong> <strong>la</strong> disciplina) entre <strong>la</strong>s que<strong>de</strong>stacamos <strong>la</strong> “Gestión <strong>de</strong> <strong>la</strong> Información (IM)”que compren<strong>de</strong> <strong>la</strong>s siguientes unida<strong>de</strong>s (módulostemáticos): IM1. Mo<strong>de</strong>los y sistemas <strong>de</strong>información, IM2. Sistemas <strong>de</strong> bases <strong>de</strong> datos,2 Association for Computer Machinery3 Institute of Electronic and Electrical EngineersIM3. Mo<strong>de</strong><strong>la</strong>do <strong>de</strong> datos, IM4. Bases <strong>de</strong> datosre<strong>la</strong>cionales, IM5. Lenguajes <strong>de</strong> consultas <strong>de</strong>bases <strong>de</strong> datos, IM6. Diseño <strong>de</strong> bases <strong>de</strong> datosre<strong>la</strong>cionales, IM7. Procesamiento <strong>de</strong>transacciones, IM8. Bases <strong>de</strong> datos distribuidas,IM9. Diseño físico <strong>de</strong> bases <strong>de</strong> datos, IM10.Minería <strong>de</strong> datos, IM11. Almacenamiento yrecuperación <strong>de</strong> <strong>la</strong> información, IM12. Hipertextoe hipermedia, IM13. Sistemas e informaciónmultimedia, IM14. Bibliotecas digitalesLas tres primeras unida<strong>de</strong>s forman parte <strong>de</strong>lnúcleo básico requerido para cualquier alumno <strong>de</strong>un programa <strong>de</strong> informática, que pue<strong>de</strong>ncombinarse <strong>de</strong> diferentes formas. Así, porejemplo, en el “enfoque tradicional” se encuadrael curso CS270T Bases <strong>de</strong> datos, y en el “enfoquecomprimido” el curso CS262C Gestión <strong>de</strong> <strong>la</strong>información y <strong>de</strong>l conocimiento, en el “enfoquebasado en sistemas” el curso CS271S Gestión <strong>de</strong><strong>la</strong> información, y en el “enfoque basado en <strong>la</strong>web”, el curso CS261W Inteligencia artificial einformación. Dentro <strong>de</strong> los cursos avanzados <strong>de</strong>lárea IM se proponen el CS370 Sistemas <strong>de</strong> bases<strong>de</strong> datos avanzados, CS371 Diseño <strong>de</strong> bases <strong>de</strong>datos, CS372 Procesamiento <strong>de</strong> transacciones,CS373 Bases <strong>de</strong> datos distribuidas y <strong>de</strong> objetos,CS374 Minería <strong>de</strong> datos, CS375 Almacenes <strong>de</strong>datos, CS376 Sistemas <strong>de</strong> informaciónmultimedia, y CS377 Bibliotecas digitales.3.2. IRMA/DAMA 2000Este currículo es el resultado <strong>de</strong> dos años <strong>de</strong>esfuerzo conjunto <strong>de</strong> dos asociacionesprofesionales norteamericanas <strong>de</strong> gran relevanciaen el área <strong>de</strong> bases <strong>de</strong> datos: IRMA 4 y DAMA 5 ,4 Information Resources Management Association


que empezaron en 1998 <strong>la</strong> revisión <strong>de</strong> <strong>la</strong> ediciónexistente anteriormente.En este currículo se insiste en <strong>la</strong> necesidad <strong>de</strong>que los ingenieros en informática no limiten susconocimientos a los aspectos técnicos <strong>de</strong> los SI,sino que posean una visión más global que <strong>la</strong>gestión <strong>de</strong> los datos, consi<strong>de</strong>rando a ésta comoparte <strong>de</strong> <strong>la</strong> “Gestión <strong>de</strong> los Recursos <strong>de</strong>Información” (GRI, en sig<strong>la</strong>s inglesas IRM). Eneste sentido, en [3] se seña<strong>la</strong> que es necesariosuperar <strong>la</strong> visión limitada <strong>de</strong> los sistemas <strong>de</strong>información basados en or<strong>de</strong>nador compuestossólo <strong>de</strong> hardware y software ya que lostrabajadores <strong>de</strong> los <strong>de</strong>partamentos <strong>de</strong>procesamiento <strong>de</strong> <strong>la</strong> información necesitan unacomprensión mayor <strong>de</strong> los recursos humanos y <strong>la</strong>saplicaciones empresariales.En este currículum se diferencian ocho cursosre<strong>la</strong>cionados con <strong>la</strong> GRI: IRM1 Principios <strong>de</strong>Gestión <strong>de</strong> Recursos <strong>de</strong> Información, IRM2Tecnología <strong>de</strong> Sistemas <strong>de</strong> Información, IRM3Gestión <strong>de</strong> <strong>la</strong> Información y Conceptos <strong>de</strong>Algoritmos, IRM4 Almacenes <strong>de</strong> datos, minería<strong>de</strong> datos y sistemas <strong>de</strong> soporte a <strong>la</strong>s <strong>de</strong>cisiones,IRM5 Estructuras y Administración <strong>de</strong> Recursos<strong>de</strong> Datos, IRM6 Diseño <strong>de</strong> Implementación <strong>de</strong> <strong>la</strong>Gestión <strong>de</strong> Recursos <strong>de</strong> Información, IRM7Tecnología <strong>de</strong> <strong>la</strong> Comunicación y Gestión <strong>de</strong>Información, IRM8 Gestión <strong>de</strong> InformaciónGlobal, IRM9 Gestión <strong>de</strong> Sistemas <strong>de</strong>Información para Ejecutivos, IRM10 TemasSeleccionados en Gestión <strong>de</strong> Recursos <strong>de</strong>Información. El más directamente re<strong>la</strong>cionado conbases <strong>de</strong> datos es el IRM5, que contemp<strong>la</strong>:Recursos <strong>de</strong> Datos e Información, Conceptos yAplicaciones <strong>de</strong> Bases <strong>de</strong> Datos, Conceptos <strong>de</strong>diseño <strong>de</strong> bases <strong>de</strong> datos, Utilización yaplicaciones <strong>de</strong> bases <strong>de</strong> datos, Administración yseguridad <strong>de</strong> bases <strong>de</strong> datos, Gestión yP<strong>la</strong>nificación estratégica <strong>de</strong> bases <strong>de</strong> datos,Aplicaciones <strong>de</strong> <strong>la</strong> Administración <strong>de</strong> datos,P<strong>la</strong>nificación <strong>de</strong> Sistemas <strong>de</strong> InformaciónEstratégicos.3.3. MSIS 2000 <strong>de</strong> ACM/AISLa necesidad <strong>de</strong> revisar los curricu<strong>la</strong> en SI,especialmente el <strong>de</strong> ACM <strong>de</strong> 1982 y el IS’97,lleva a <strong>la</strong> creación, en enero <strong>de</strong> 1998, <strong>de</strong> un“Comité Curricu<strong>la</strong>r Conjunto” (Joint Curricu<strong>la</strong>rCommittee -JCC-) <strong>de</strong> ACM y AIS 6 , a fin <strong>de</strong>e<strong>la</strong>borar un curriculum <strong>de</strong> Master para SI, el MSIS2000 (publicado en The DATABASE for Advancesin Information Systems, vol. 31, Nº 1, invierno2000).El mo<strong>de</strong>lo curricu<strong>la</strong>r se diseña en cuatrobloques interre<strong>la</strong>cionados: fundamentos <strong>de</strong> SI,tanto informáticos (tecnología hardware ysoftware, programación, datos y estructuras <strong>de</strong>objetos) como <strong>de</strong> gestión (contabilidad financiera,marketing, comportamiento organizacional),núcleo <strong>de</strong> SI (un conjunto <strong>de</strong> cursos exigidos atodos los graduados: gestión <strong>de</strong> datos, análisis,mo<strong>de</strong><strong>la</strong>do y diseño, comunicaciones <strong>de</strong> datos yre<strong>de</strong>s, gestión <strong>de</strong> proyectos y <strong>de</strong>l cambio,estrategia y política <strong>de</strong> SI), integración (<strong>de</strong> <strong>la</strong>empresa, <strong>de</strong> <strong>la</strong> función <strong>de</strong> SI y <strong>de</strong> <strong>la</strong>s tecnologías<strong>de</strong> SI), intensificaciones o perfiles profesionales(career tracks). Cada perfil profesional consta <strong>de</strong>cuatro o más cursos opcionales que preparan a losestudiantes en una especialización. Una <strong>de</strong> estasintensificaciones es en gestión <strong>de</strong> datos yalmacenes <strong>de</strong> datos, que consta <strong>de</strong> cuatro cursos:almacenes <strong>de</strong> datos, gestión <strong>de</strong> conocimiento,administración <strong>de</strong> bases <strong>de</strong> datos y p<strong>la</strong>nificación<strong>de</strong> sistemas <strong>de</strong> bases <strong>de</strong> datos.La disciplina <strong>de</strong> bases <strong>de</strong> datos aparece en elbloque <strong>de</strong> “Fundamentos”, en el curso:“Programación, Datos y Estructura <strong>de</strong> Objetos”don<strong>de</strong> se imparten conceptos <strong>de</strong> diseño yaplicación <strong>de</strong> datos, así como estructura <strong>de</strong>ficheros. El curso MS2000.1 “Gestión <strong>de</strong> Datos”(“Data Management”) <strong>de</strong>l bloque que constituyeel Núcleo (Core) <strong>de</strong>l programa está totalmente<strong>de</strong>dicado a <strong>la</strong>s bases <strong>de</strong> datos. Asimismo, en otroscursos, aparecen cuestiones puntuales <strong>de</strong> gestión<strong>de</strong> datos (como en el Análisis, mo<strong>de</strong><strong>la</strong>do y diseño–MSIS2000.2-); también en el bloque <strong>de</strong>Integración se <strong>de</strong>be estudiar <strong>la</strong> integración <strong>de</strong>lrecurso datos con otros recursos, <strong>de</strong> <strong>la</strong>stecnologías <strong>de</strong> gestión <strong>de</strong> datos con otrastecnologías, y <strong>de</strong> <strong>la</strong>s funciones re<strong>la</strong>tivas a losdatos con otras funciones <strong>de</strong> <strong>la</strong> empresa.3.4. ISCC´99El curriculum ISCC’99 (Information Systems-Centric Curriculum) preten<strong>de</strong> preparar5 Data Administration Management Association6 Association for Information Systems


especialistas <strong>de</strong> información para el <strong>de</strong>sarrollo yutilización <strong>de</strong> gran<strong>de</strong>s sistemas <strong>de</strong> información, yha sido <strong>de</strong>sarrol<strong>la</strong>do por un equipo compuestotanto por miembros <strong>de</strong> <strong>la</strong> comunidad universitariacomo empresarial.Se caracteriza por proponer un mo<strong>de</strong>loinvertido (en el que los estudiantes primeroexperimentan en el contexto <strong>de</strong> un Sistema <strong>de</strong>Información, <strong>de</strong>spués dominan los <strong>de</strong>talles y porúltimo adoptan un punto <strong>de</strong> vista sistémico paracompletar su experiencia) y un enfoque centradoen sistemas <strong>de</strong> información que se centra en <strong>la</strong>organización <strong>de</strong> un sistema <strong>de</strong> informaciónutilizando <strong>la</strong> información como un activoempresarial.Se insiste en el curso <strong>de</strong> bases <strong>de</strong> datos (y engeneral en todo el curriculum) que los estudiantestrabajen en grupos pequeños sobre experienciasprácticas, en una enseñanza y aprendizajes “Justoa tiempo”.En <strong>la</strong> tab<strong>la</strong> 2 se muestra el contenido <strong>de</strong>l cursoISCC-41 Information Databases and TransactionProcessing, en el que seña<strong>la</strong> el nivel <strong>de</strong>rendimiento a alcanzar (6: evaluación, 5:síntesis/diseño, 4: análisis, 3: aplicación, 2:comprensión, 1: recordatorio, 0: seguimiento <strong>de</strong>instrucciones) basándose en una modificación <strong>de</strong><strong>la</strong> conocida taxonomía <strong>de</strong> Bloom.Contenido1. Mo<strong>de</strong><strong>la</strong>do <strong>de</strong> <strong>la</strong> información1.1 Mo<strong>de</strong>los <strong>de</strong> datos:ANSI/SPARC 31.2 Bases <strong>de</strong> datos basadas en ficheros 31.3 Mo<strong>de</strong>lo E/R 31.4 Mo<strong>de</strong>lo Re<strong>la</strong>cional 31.5 Mo<strong>de</strong>los <strong>de</strong> datos semánticos 31.6 Mo<strong>de</strong>lo Orientado a objetos 31.7. Desarrollo <strong>de</strong> esquemas 32. Estructuras <strong>de</strong> información internas2.1 Estructuras <strong>de</strong> datos 32.2 In<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> adtos 32.3 Medios <strong>de</strong> almacenamiento (menú 3principal, caché, disco)2.4 Repositorios primarios, secundarios y 3terciarios3. Construcción <strong>de</strong> una base <strong>de</strong> datos3.1 Conceptos <strong>de</strong> normalización 43.2 Diseño <strong>de</strong> bases <strong>de</strong> datos 43.3 Depen<strong>de</strong>ncias <strong>de</strong> datos 43.4 Restricciones <strong>de</strong> integridad 43.5 Procesamiento <strong>de</strong> análisis en línea 44. Procesamiento <strong>de</strong> consultas y optimización4.1 Lenguajes <strong>de</strong> consulta 4Rend.4.2 Optimización <strong>de</strong> consultas 45. Operaciones <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos5.1 Procesamiento <strong>de</strong> modificaciones 45.2 Procesamiento <strong>de</strong> transacciones 45.3 Control <strong>de</strong> concurrencia y seriabilidad 35.4 Recuperación 35.5 Sistema <strong>de</strong> procesamiento <strong>de</strong> 4transacciones en línea6. Temas avanzados6.1 Bases <strong>de</strong> datos embebidas 46.2 Lenguajes <strong>de</strong> consult a abiertos 36.3 Almacenes y minería <strong>de</strong> datos 36.4 Integración con sistemas heredados 3Tab<strong>la</strong> 2. Contenido <strong>de</strong>l curso ISCC-413.5. ICF-2000 <strong>de</strong> IFIP/UNESCOIFIP 7 y UNESCO 8 han diseñado el InformaticsCurriculum Framework (ICF-2000) con el fin <strong>de</strong>abordar <strong>la</strong> situación <strong>de</strong> cambio constante a <strong>la</strong> quese enfrenta <strong>la</strong> informática. Como indica sunombre, realmente se trata <strong>de</strong> un marco(framework), a partir <strong>de</strong>l cual se pue<strong>de</strong>n construirdiferentes implementaciones <strong>de</strong> currícu<strong>la</strong> <strong>de</strong> unamanera directa. En el propio documento (IFIP,2000) –disponible en http://www.ifip.or.at- sepresentan ocho especificaciones <strong>de</strong> currícu<strong>la</strong> paraocho categorías <strong>de</strong> roles profesionales: Usuarios-I:Perfil BIP (Basic Instrumental I-Profile),Aplicadores Conceptuales-I: Perfil BCP (BasicConceptual I-Profile), Aplicadores <strong>de</strong> Interfaz-I,Aplicadores <strong>de</strong> Investigación-I, Aplicadores <strong>de</strong>Dirección-I: Perfil MIP (Minor I-Profile),Trabajadores-I: Trabajadores operacionales-I,Trabajadores <strong>de</strong> Ingeniería-I, Trabajadores <strong>de</strong>Investigación-I: Perfil MAP (Major I-Profile).Dentro <strong>de</strong> <strong>la</strong> categoría <strong>de</strong> trabajadoresoperacionales-I se encuentran los administradores<strong>de</strong> bases <strong>de</strong> datos, y <strong>de</strong>ntro <strong>de</strong> los trabajadores <strong>de</strong>ingeniería-I, los <strong>de</strong>sarrol<strong>la</strong>dores <strong>de</strong> bases <strong>de</strong> datos.Como seña<strong>la</strong> el propio marco, en el caso <strong>de</strong> unauniversidad con un <strong>de</strong>partamento <strong>de</strong> informáticaconsolidado, el perfil más interesante es el MAP,que incluye los tres últimos roles.Dentro <strong>de</strong> <strong>la</strong>s especificaciones <strong>de</strong> unida<strong>de</strong>s<strong>de</strong>stacan por su re<strong>la</strong>ción con bases <strong>de</strong> datos, <strong>la</strong>scuatro siguientes:7 International Fe<strong>de</strong>ration on Information Processing8 United Nations Educational, Scientific and CulturalOrganization


• MAP-02: arquitectura <strong>de</strong> sistemas <strong>de</strong>información,• MAP-10: calidad y seguridad,• MAP-12: mo<strong>de</strong><strong>la</strong>do y <strong>de</strong>sarrollo <strong>de</strong> sistemas,• MAP-14: miscelánea/estado <strong>de</strong>l arte (queincluye almacenes <strong>de</strong> datos).Dentro <strong>de</strong> estas unida<strong>de</strong>s se incluye comoreferencias, partes <strong>de</strong> los currícu<strong>la</strong> CC91, IS97 eISCC99. Así, por ejemplo, se incluyen todos losaspectos <strong>de</strong>l curso “IS´97.8-Diseño físico eimplementación con SGBD” que abarca: Mo<strong>de</strong>los<strong>de</strong> datos y técnicas/herramientas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do,Enfoques estructurado y diseño <strong>de</strong> objetos,Mo<strong>de</strong>los para bases <strong>de</strong> datos: re<strong>la</strong>cional,jerárquico, red y orientado a objetos,Herramientas CASE, Diccionarios, repositorios yalmacenes <strong>de</strong> datos, Implementación: codificacióny/o implementación Windows/IGU; generacióncódigo/aplicaciones, P<strong>la</strong>nificación, prueba einsta<strong>la</strong>ción cliente/servidor, Conversión <strong>de</strong>sistemas, formación <strong>de</strong> usuario final/integración yrevisión post-implementación.3.6. Otras propuestasEl SWEBOK ([9]) ofrece una panorámica general<strong>de</strong> <strong>la</strong>s diferentes áreas <strong>de</strong> conocimiento a tratar<strong>de</strong>ntro <strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong>l Software. Cabe<strong>de</strong>stacar que en algunos <strong>de</strong> sus capítulosreferencia a <strong>la</strong>s bases <strong>de</strong> datos, como en el tercero,<strong>de</strong> diseño <strong>de</strong> software, en el que se incluyen comonotaciones <strong>de</strong> diseño el mo<strong>de</strong>lo E/R y losdiagramas <strong>de</strong> c<strong>la</strong>ses. Sin embargo, no entra enprofundidad en temas concretos re<strong>la</strong>tivos a <strong>la</strong>tecnología <strong>de</strong> bases <strong>de</strong> datos.Propuestas sobre Bases <strong>de</strong> Datos y Web <strong>de</strong>[8]. Estos autores proponen aten<strong>de</strong>r <strong>la</strong> <strong>de</strong>manda <strong>de</strong>profesionales <strong>de</strong> comercio electrónico,impartiendo diversos cursos (<strong>de</strong>ntro <strong>de</strong> <strong>la</strong>sEscue<strong>la</strong>s <strong>de</strong> Negocio): EBT101: ProgramaciónJava para <strong>la</strong> Web, EBT201 Programación WebAvanzada, EBT301 Comercio Electrónico,EBT380 Herramientas y Técnicas paraAplicaciones Web, EBT393 Re<strong>de</strong>s <strong>de</strong>Comunicaciones <strong>de</strong> Comercio Electrónico,EBT397 Desarrollo <strong>de</strong> Bases <strong>de</strong> Datos paraComercio Electrónico, EBT402 Desarrollo <strong>de</strong>Comercio Electrónico, EBT460 Gestión <strong>de</strong>Sistemas Empresariales, EBT488 Desarrollo <strong>de</strong>Aplicaciones para Comercio Electrónico yEBT494 Análisis y Diseño <strong>de</strong> Sistemas basadosen <strong>la</strong> Web.El curso sobre Desarrollo <strong>de</strong> Bases <strong>de</strong> Datospara Comercio Electrónico “proporciona unavisión en profundidad <strong>de</strong> <strong>la</strong>s cuestiones <strong>de</strong> <strong>la</strong>tecnología <strong>de</strong> bases <strong>de</strong> datos incluyendo elmo<strong>de</strong><strong>la</strong>do <strong>de</strong> datos, CASE, diseño lógico eimplementación en un SGBD re<strong>la</strong>cional. Losestudiantes obtienen una experiencia práctica en <strong>la</strong>utilización <strong>de</strong> herramientas <strong>de</strong> <strong>de</strong>sarrolloempresariales”. La duración <strong>la</strong> fijan en 3 horas porsemestre.Por otro <strong>la</strong>do, cada vez hay más expertos tantoen el mundo académico como profesional queinsisten en <strong>la</strong> necesidad <strong>de</strong> formar a los alumnosen Calidad <strong>de</strong> Datos. Así, por ejemplo, en [6] losautores proponen cuatro módulos educativos:Módulo 1: Importancia <strong>de</strong> <strong>la</strong> calidad <strong>de</strong> datos y elpapel <strong>de</strong> los procesos <strong>de</strong> negocio en <strong>la</strong> calidad <strong>de</strong>datos, Módulo 2: El papel <strong>de</strong> <strong>la</strong> calidad <strong>de</strong> datosen el ciclo <strong>de</strong> vida <strong>de</strong> los datos, Módulo 3:Medida, valoración, traza y mejora <strong>de</strong> <strong>la</strong> calidad<strong>de</strong> datos y Módulo 4: Técnicas para mejorar <strong>la</strong>calidad <strong>de</strong> datos en el diseño y prueba <strong>de</strong> bases <strong>de</strong>datos.En [4] se revisa el tratamiento <strong>de</strong> <strong>la</strong> calidad <strong>de</strong>a información en los diferentes currícu<strong>la</strong>internacionales proponiendo el InformationQuality Curriculum Mo<strong>de</strong>l (IQCM) que consisteen cinco cursos: Introducción a los Sistemas <strong>de</strong>Información (IQ1), Gestión <strong>de</strong> los Datos (IQ2),Análisis <strong>de</strong> los requisitos <strong>de</strong> <strong>la</strong> Información yDiseño <strong>de</strong> Sistemas (IQ3), Proyectos <strong>de</strong> Sistemas<strong>de</strong> Información (Diseño físico e implementación)(IQ4) y Gestión <strong>de</strong> <strong>la</strong> Información (IQ5).4. Análisis <strong>de</strong> los temas en los currícu<strong>la</strong>En [7], se comparan algunos <strong>de</strong> estos currículos yse representa un continuo entre <strong>la</strong> orientación másmatemática y <strong>la</strong> más empresarial, así, elIRMA/DAMA 2000 tiene un enfoque másempresarial, ya que reconoce <strong>la</strong> información comoel activo más importante y se prepara para aplicar<strong>la</strong>s TI para resolver problemas empresariales,mientras que el CC2001 <strong>de</strong> ACM/IEEE sigueponiendo el énfasis importante en <strong>la</strong> partematemática (especialmente el Volumen II <strong>de</strong>Ciencias <strong>de</strong> <strong>la</strong> Computación).Hemos llevado a cabo un análisis exhaustivo


<strong>de</strong> los diferentes temas que incluye cada una <strong>de</strong><strong>la</strong>s asignaturas propuestas en el currículum <strong>de</strong> [1],por motivos <strong>de</strong> espacio sólo representamos elresumen final, que se muestra en <strong>la</strong> tab<strong>la</strong> 3, en <strong>la</strong>que se seña<strong>la</strong> si, a nuestro juicio, los temaspropuestos por el currículum cubre prácticamenteen su totalidad (T) o <strong>de</strong> forma parcial (P) elpropuesto en <strong>la</strong>s asignaturas <strong>de</strong> [1].AsignaturaCC2001ACM/IEEEIRMA/DAMA 2000MSIS 2000ACM/AISICF-2000IFIP/UNESCOISCC´99Bases <strong>de</strong> Datos 1 (BD1) T T T T TBases <strong>de</strong> Datos 2 (BD2) P T T P PDiseño <strong>de</strong> Bases <strong>de</strong> Datos (DBD) T P P P TAdministración <strong>de</strong> Bases <strong>de</strong> Datos T P T P P(ABD)Aplicaciones <strong>de</strong> Bases <strong>de</strong> Datos (APL) T PBases <strong>de</strong> Datos Avanzadas (BDA) P P P PTab<strong>la</strong> 3.[1] frente a los currícu<strong>la</strong> internacionalesHay que <strong>de</strong>stacar que:• Varios currícu<strong>la</strong> ya presentan los mo<strong>de</strong>los <strong>de</strong>bases <strong>de</strong> datos orientados a objetos e inclusoel multidimensional (almacenes <strong>de</strong> datos)como conocimientos básicos que el alumno<strong>de</strong>be apren<strong>de</strong>r.• Hay temas como <strong>la</strong>s bases <strong>de</strong> datos <strong>de</strong>ductivasque no se tratan específicamente en ningúncurrícu<strong>la</strong>.• Las distribuidas tampoco se consi<strong>de</strong>ran <strong>de</strong>ntro<strong>de</strong> los conocimientos básicos en <strong>la</strong> materiaA<strong>de</strong>más hay que <strong>de</strong>stacar algunos temas que loscurrícu<strong>la</strong> internacionales tratan pero que no seencuentran <strong>de</strong>ntro <strong>de</strong>l <strong>de</strong> [1]. En este sentido:• CS`2001 incluye el almacenamiento yrecuperación <strong>de</strong> <strong>la</strong> información, y <strong>la</strong>sbibliotecas digitales, por un <strong>la</strong>do; mientras quepor otro también contemp<strong>la</strong>hipertextos/hipermedia y multimedia, a<strong>de</strong>más<strong>de</strong> minería <strong>de</strong> datos.• El IRMA/DAMA 2000, enfatiza papel <strong>de</strong> <strong>la</strong>sbases <strong>de</strong> datos como soporte para <strong>la</strong> toma <strong>de</strong><strong>de</strong>cisiones, P<strong>la</strong>nificación estratégica <strong>de</strong> bases<strong>de</strong> datos, Sistemas <strong>de</strong> Información paraEjecutivos.Con este análisis el nuevo currículum y elrealizado con los p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> variasuniversida<strong>de</strong>s y con los principales textos <strong>de</strong> bases<strong>de</strong> datos ([2]), proponemos el nuevo currículumque mostramos en <strong>la</strong> tab<strong>la</strong> 4.Proponemos fundir DB1 y DB2 en una so<strong>la</strong>asignatura “Bases <strong>de</strong> Datos “ (BD), modificandosubstancialmente su contenido. Como <strong>la</strong>asignatura BD podría ser <strong>la</strong> única obligatoria,pensamos que <strong>de</strong>bería introducir al alumno en losdiferentes mo<strong>de</strong>los <strong>de</strong> datos que se encontrará ensu quehacer profesional. Tras una introducción a<strong>la</strong>s BD, se presentarían <strong>la</strong>s diferentes arquitecturas<strong>de</strong> un SGBD para pasar a presentar el concepto <strong>de</strong>mo<strong>de</strong>lo <strong>de</strong> datos. A continuación, se empezaríapresentando muy brevemente los mo<strong>de</strong>los en red,para <strong>de</strong>dicar <strong>la</strong> mayor parte <strong>de</strong>l tiempo alre<strong>la</strong>cional, seguidamente se presentarían lossistemas objeto-re<strong>la</strong>cionales, así como losorientados a objetos puros. También sepresentarían el mo<strong>de</strong>lo multidimensional y losalmacenes <strong>de</strong> datos, así como los mo<strong>de</strong>lossemiestructurados y el XML. Se finalizaría conuna visión general <strong>de</strong> <strong>la</strong> administración <strong>de</strong> bases<strong>de</strong> datos.La asignatura <strong>de</strong> diseño se <strong>de</strong>jaría como está,aunque en nuestra opinión cada vez se justificamenos proponer asignaturas diferentes para eldiseño <strong>de</strong> los datos y el <strong>de</strong> <strong>la</strong>s aplicaciones<strong>de</strong>biendo ambos aspectos incluirse en una so<strong>la</strong>asignatura <strong>de</strong> diseño <strong>de</strong> sistemas o <strong>de</strong> ingeniería<strong>de</strong>l software. La administración <strong>de</strong> bases <strong>de</strong> datostambién permanecería prácticamente igualmientras que <strong>la</strong> <strong>de</strong> APL habría que actualizar<strong>la</strong>incorporando nuevos estándares como SQLJ, etc.


ASIGNATURABASES DE DATOS (BD)9/12 créditos.Obligatoria para II (primer ciclo), ITISe ITIGCONTENIDO1. Introducción a <strong>la</strong>s BD2. Arquitectura <strong>de</strong> un SGBD3. Concepto <strong>de</strong> mo<strong>de</strong>lo <strong>de</strong> datos4. Mo<strong>de</strong>los en red (opcional)5. Mo<strong>de</strong>lo re<strong>la</strong>cional6. Mo<strong>de</strong>los <strong>de</strong> objetos7. Mo<strong>de</strong>lo multidimensional8. Mo<strong>de</strong>los semiestructurados (XML)9. Introducción a <strong>la</strong> administración <strong>de</strong> bases <strong>de</strong> datos10. Introducción al <strong>de</strong>sarrollo <strong>de</strong> aplicaciones con bases <strong>de</strong> datos11. Futuro <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datosPrácticas:Utilización <strong>de</strong> SQL con bases <strong>de</strong> datos re<strong>la</strong>cionales, objeto-re<strong>la</strong>cionales y multidimensionalesDISEÑO DE BASES DE DATOS(DBD)6 créditos.Optativa para II, ITIS.Obligatoria ITIG1. El proceso <strong>de</strong> creación <strong>de</strong> una base <strong>de</strong> datos2. Una metodología para el diseño <strong>de</strong> bases <strong>de</strong> datos3. Mo<strong>de</strong><strong>la</strong>do conceptual4. Mo<strong>de</strong>lo E/R extendido/Mo<strong>de</strong>lo UML5. Diseño lógico6. Diseño físico7. Diseño <strong>de</strong> bases <strong>de</strong> datos distribuidasPrácticas:Casos complejos <strong>de</strong> diseño utilizando alguna herramienta CASE e implementando <strong>la</strong> base <strong>de</strong> datos sobre algúnproducto existente.ADMINISTRACIÓN DE BASES DEDATOS (ABD)6 créditos.Optativa para II, ITIS, ITIG1. Introducción2. Confi<strong>de</strong>ncialidad3. Integridad4. Concurrencia5. Recuperación5. Optimización <strong>de</strong> Bases <strong>de</strong> Datos: Técnicas básicas para mejora <strong>de</strong>rendimiento y <strong>de</strong> afinamiento <strong>de</strong> BDPrácticas:Insta<strong>la</strong>ción, creación <strong>de</strong> usuarios, privilegios, etc.Análisis <strong>de</strong>l optimizador y caminos <strong>de</strong> acceso, afinamiento, etc.Bloqueos y concurrenciaAPLICACIONES DE BASES DEDATOS (APL)6 CréditosOptativa para II, ITIG1. Técnicas <strong>de</strong> programación en cliente servidor.2. SQL embebido estático y dinámico. Trabajo con cursores. Comparativa con CLI.3. Trabajo en entornos 4GL y RAD.4. APIs: ODBC, SQLJ, JDBC, etc.5. Desarrollo <strong>de</strong> interfaces Web para aplicaciones <strong>de</strong> bases <strong>de</strong> datos (CGI y otros).6. Integración <strong>de</strong> aplicaciones <strong>de</strong> bases <strong>de</strong> datos en entornos ofimáticos.Prácticas:Desarrollo completo <strong>de</strong> una aplicación cliente/servidor utilizando algún API y con acceso vía webBASES DE DATOS AVANZADAS(BDA)6 créditosOptativa para II (Segundo Ciclo)1. Introducción2. Ampliación a <strong>la</strong>s bases <strong>de</strong> datos orientadas a objetos3. Ampliación a <strong>la</strong>s bases <strong>de</strong> datos multidimensionales4. Bases <strong>de</strong> datos distribuidas y heterogéneas5. Bases <strong>de</strong> datos documentales y bibliotecas digitales6. Bases <strong>de</strong> datos móviles7. Bases <strong>de</strong> datos parale<strong>la</strong>s8. Bases <strong>de</strong> datos geográficas/espaciales9. Bases <strong>de</strong> datos multimedia10. Calidad <strong>de</strong> <strong>la</strong> Información11. Otros mo<strong>de</strong>los <strong>de</strong> bases <strong>de</strong> datos: <strong>de</strong>ductivas, seguras.Prácticas:Presentaciones por parte <strong>de</strong> los alumnos <strong>de</strong> c iertos temas re<strong>la</strong>cionados con avances <strong>de</strong> BDDiseño <strong>de</strong> una BDOO con ODMGDiseño <strong>de</strong> una BDORel con SQL:1999Uso <strong>de</strong> algún prototipo <strong>de</strong> BD <strong>de</strong>ductivaTab<strong>la</strong> 4. Nuestra propuesta


5. ConclusionesLa tecnología <strong>de</strong> bases <strong>de</strong> datos estáevolucionando y resulta fundamental adaptar loscurrículum a estos cambios. En este artículohemos presentado una propuesta <strong>de</strong> currículumrealizada estudiando los diferentes currícu<strong>la</strong>internacionales y comparándolos con el propuestopor [1]. Aunque sabemos que es discutible,también consi<strong>de</strong>ramos que es necesaria para po<strong>de</strong>rasegurar a los alumnos los conocimientosnecesarios para enfrentarse a <strong>la</strong>s tecnologías y aldiseño <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos actuales.Referencias[1] Blesa, P., Brisaboa, N., Canivell, V.,Garbajosa, J., Mau<strong>de</strong>s, J. y Piattini, M. (1999),"Propuesta <strong>de</strong> contenidos en bases <strong>de</strong> datos <strong>de</strong> losp<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> Informática". NOVÁTICA(Revista <strong>de</strong> <strong>la</strong> Asociación Técnicos <strong>de</strong>Informática), Nº 137, Enero/febrero 1999, pp. 60-63.[2] Calero, C., Piattini, M. y Ruiz, F. (2002).Propuesta <strong>de</strong> actualización <strong>de</strong>l currículum <strong>de</strong>bases <strong>de</strong> datos. Novática.[3] Cohen, E. y Kozminski, L. (2001). Rationalefor the IRMA/DAMA 2000 Mo<strong>de</strong>l Currículum.Proc. of the 2001 IRMA (Information ResourceManagement Association) InternationalConference, 612-616.[4] Kahn, B. y Strong, D. (2001) WhereInforamtion Quality in Information SystemsEducation is?. In Information and DatabaseQuality, Piattini M., Calero, C. and Genero, M.(eds). Kluwer Aca<strong>de</strong>mic Publishers.[5] Leavitt, N. (2000). Whatever happened toobject-oriented databases. IEEE ComputerSociety. August.[6] Mathieu, R.G. y Khalil, O. (1998). DataQuality in the Database Systems Course. DataQuality Journal, 4 (1), 1-12.[7] Scime, A. (2001). Information Systems andComputer Science Mo<strong>de</strong>l Curricu<strong>la</strong>: AComparative Look. Proc. of the 2001 IRMA(Information Resource Management Association)International Conference, 496-501.[8] Surynt, T. y Augustine, F. (2001). E-BusinessTechnology: A Component-Based Curriculum forthe Future. Proc. of the 2001 IRMA (InformationResource Management Association) InternationalConference, 686-689.[9]Gui<strong>de</strong> to the software engineering body ofknowledge (SWEBOK). IEEE trial version(2001). Disponible en http://swebok.org


Una Herramienta para el Aprendizaje <strong>de</strong>l Álgebra Re<strong>la</strong>cionalCarmen Hernán<strong>de</strong>z, Yania Crespo, Pi<strong>la</strong>r Romay, Miguel Angel LagunaDepartamento <strong>de</strong> InformáticaUniversidad <strong>de</strong> Val<strong>la</strong>dolid47011 Val<strong>la</strong>doli<strong>de</strong>-mail: {chernan, yania, mpromay, m<strong>la</strong>guna}@infor.uva.esResumenEl estudio <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos re<strong>la</strong>cionales formaparte <strong>de</strong>l currículum <strong>de</strong> los estudios <strong>de</strong> IngenieríaTécnica Informática. Los lenguajes <strong>de</strong> consultaabstractos, entre ellos el Álgebra Re<strong>la</strong>cional,forman una parte importante <strong>de</strong> este estudio, peronuestra experiencia docente nos ha <strong>de</strong>mostradoque, para los alumnos, es difícil conocer cuándo<strong>la</strong>s consultas expresadas en un papel en términos<strong>de</strong> estos lenguajes son correctas y respon<strong>de</strong>n a losrequisitos <strong>de</strong> información p<strong>la</strong>nteados.En este trabajo se <strong>de</strong>scribe una herramienta <strong>de</strong>apoyo que se ha <strong>de</strong>sarrol<strong>la</strong>do en <strong>la</strong> Universidad <strong>de</strong>Val<strong>la</strong>dolid que permite realizar consultasexpresadas en Álgebra Re<strong>la</strong>cional sobre cualquierbase <strong>de</strong> datos. El alumno pue<strong>de</strong> explorar, así, <strong>la</strong>sdiferentes posibilida<strong>de</strong>s <strong>de</strong> este lenguaje abstracto,comprobando por sí mismo <strong>la</strong> calidad <strong>de</strong> suaprendizaje. La herramienta ha sido <strong>de</strong>sarrol<strong>la</strong>dasiguiendo guías metodológicas propugnadas en elámbito <strong>de</strong>l diseño <strong>de</strong> entornos <strong>de</strong> aprendizaje.1. IntroducciónEl mo<strong>de</strong>lo re<strong>la</strong>cional se ha establecido como elprincipal mo<strong>de</strong>lo <strong>de</strong> datos para <strong>la</strong> construcción <strong>de</strong>Sistemas <strong>de</strong> Información. Este mo<strong>de</strong>lo tiene unossólidos fundamentos matemáticos, ya que se basaen <strong>la</strong> Teoría <strong>de</strong> Conjuntos. Esta base teórica ayudaal diseño <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos re<strong>la</strong>cionales y,particu<strong>la</strong>rmente, al procesamiento eficiente <strong>de</strong> <strong>la</strong>speticiones <strong>de</strong> información <strong>de</strong> los usuarios. Elmo<strong>de</strong>lo <strong>de</strong>fine <strong>de</strong> forma precisa los diferenteslenguajes abstractos con los que el usuario solicitainformación <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos. Uno <strong>de</strong> estoslenguajes es el Álgebra Re<strong>la</strong>cional.El estudio <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos re<strong>la</strong>cionalesforma parte <strong>de</strong>l currículum <strong>de</strong> los estudios <strong>de</strong>Ingeniería Técnica Informática <strong>de</strong>s<strong>de</strong> <strong>la</strong>imp<strong>la</strong>ntación <strong>de</strong> éstos en <strong>la</strong> Universidad <strong>de</strong>Val<strong>la</strong>dolid. En particu<strong>la</strong>r, los lenguajes <strong>de</strong>consulta abstractos forman una parte importante<strong>de</strong> este estudio. Sin embargo, nuestra experienciadocente nos ha <strong>de</strong>mostrado que para los alumnoses difícil conocer cuándo <strong>la</strong>s consultas expresadasen el papel en términos <strong>de</strong>l Álgebra Re<strong>la</strong>cionalson correctas y respon<strong>de</strong>n a los requisitos <strong>de</strong>información p<strong>la</strong>nteados.Parecía <strong>de</strong> especial interés, por tanto,<strong>de</strong>sarrol<strong>la</strong>r una herramienta que proporcionara unmecanismo mediante el cual los alumnos puedanexplorar <strong>la</strong>s diferentes posibilida<strong>de</strong>s <strong>de</strong> estoslenguajes. A<strong>de</strong>más, se <strong>de</strong>bería permitir unarealimentación inmediata, <strong>de</strong> manera que vieran elresultado <strong>de</strong> <strong>la</strong> consulta que habían propuesto enese mismo momento y pudieran realizar <strong>la</strong>soportunas modificaciones.La herramienta que hemos construido poneespecial cuidado en conseguir <strong>la</strong> pretensión inicial<strong>de</strong> facilitar el aprendizaje. Hemos revisadoalgunas <strong>de</strong> <strong>la</strong>s teorías existentes sobre el diseño <strong>de</strong>entornos <strong>de</strong> aprendizaje, intentando concretar <strong>la</strong>sprincipales características <strong>de</strong> este tipo <strong>de</strong> entornosy <strong>la</strong>s guías existentes para <strong>la</strong> construcción <strong>de</strong> losmismos.En <strong>la</strong> siguiente sección se presenta el entornoeducativo en el que se ha <strong>de</strong>sarrol<strong>la</strong>do <strong>la</strong>herramienta. La tercera sección sirve paraintroducir brevemente algunos conceptosfundamentales <strong>de</strong>l diseño <strong>de</strong> entornos <strong>de</strong>aprendizaje. En <strong>la</strong> cuarta sección presentamos <strong>la</strong>herramienta que hemos <strong>de</strong>sarrol<strong>la</strong>do. Finalmente,exponemos <strong>la</strong>s líneas <strong>de</strong> nuestro trabajo futuro y<strong>la</strong>s conclusiones <strong>de</strong> éste.


2. Entorno educativoEl mo<strong>de</strong>lo re<strong>la</strong>cional <strong>de</strong>fine <strong>de</strong> forma precisa losdiferentes lenguajes abstractos con los que unusuario solicita información <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos.Estos lenguajes <strong>de</strong> consulta pue<strong>de</strong>n c<strong>la</strong>sificarse enprocedimentales y no procedimentales. En losprocedimentales, el usuario indica al SistemaGestor <strong>de</strong> Base <strong>de</strong> Datos Re<strong>la</strong>cional (SGBDR) <strong>la</strong>serie <strong>de</strong> operaciones que ha <strong>de</strong> realizar en <strong>la</strong> base<strong>de</strong> datos para obtener el resultado <strong>de</strong>seado. En losno procedimentales el usuario <strong>de</strong>scribe <strong>la</strong>información <strong>de</strong>seada sin dar un procedimientoconcreto para obtener esa información.La mayor parte <strong>de</strong> los SGBDR ofrecen unlenguaje <strong>de</strong> consulta que incluye elementos <strong>de</strong> losenfoques procedimental y no procedimental. Ellenguaje SQL (Structured Query Language) es unejemplo <strong>de</strong> lenguaje que se ajusta a los dosenfoques.Los lenguajes abstractos ilustran <strong>de</strong> formaprecisa <strong>la</strong>s técnicas fundamentales para <strong>la</strong>extracción <strong>de</strong> datos <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos,obviando los aspectos sintácticos <strong>de</strong> los lenguajescomerciales. El Álgebra Re<strong>la</strong>cional es un lenguajeabstracto <strong>de</strong> consulta procedimental. Consta <strong>de</strong> unconjunto <strong>de</strong> operaciones que toman como entradauna o dos re<strong>la</strong>ciones y producen como resultadouna nueva re<strong>la</strong>ción.Como ya se ha comentado, el estudio <strong>de</strong> <strong>la</strong>sbases <strong>de</strong> datos re<strong>la</strong>cionales forma parte <strong>de</strong>lcurrículum <strong>de</strong> los estudios <strong>de</strong> Ingeniería TécnicaInformática. Los lenguajes <strong>de</strong> consulta abstractos,fundamentalmente el Álgebra Re<strong>la</strong>cional, formanuna parte importante <strong>de</strong> este currículum.Nuestra hipótesis <strong>de</strong> trabajo es que losalumnos apren<strong>de</strong>n más rápidamente el lenguajeSQL cuando ya están familiarizados con <strong>la</strong>scuestiones que subyacen en los lenguajes <strong>de</strong>consulta formales, mediante el uso <strong>de</strong>l ÁlgebraRe<strong>la</strong>cional [3]. En particu<strong>la</strong>r, <strong>la</strong> sentencia selectfrom-where<strong>de</strong> SQL se <strong>de</strong>fine precisamente entérminos <strong>de</strong>l Álgebra, <strong>de</strong> manera que elmecanismo mediante el cual el SGBDR es capaz<strong>de</strong> recuperar información surge ante el alumno <strong>de</strong>una manera casi espontánea.Nuestra experiencia, tras varios añosimpartiendo esta asignatura, nos permite asegurarque para los alumnos es difícil conocer cuándouna consulta expresada en Álgebra y escrita en unpapel es correcta. Esta dificultad se extien<strong>de</strong> alprofesor, al tener que contro<strong>la</strong>r <strong>la</strong> corrección <strong>de</strong>algunas consultas “creativas” que a veces seproponen.Todo esto justifica <strong>la</strong> necesidad <strong>de</strong> utilizar unaherramienta que proporcione un mecanismomediante el cual los alumnos puedan explorar <strong>la</strong>sdiferentes posibilida<strong>de</strong>s <strong>de</strong> estos lenguajes,permitiendo, a<strong>de</strong>más, una realimentacióninmediata, <strong>de</strong> manera que ellos vean el resultado<strong>de</strong> <strong>la</strong> consulta que habían propuesto en ese mismomomento y puedan realizar <strong>la</strong>s oportunasmodificaciones, hasta alcanzar una respuestasatisfactoria.Durante algunos años hemos estado utilizandoen nuestro <strong>la</strong>boratorio <strong>de</strong> Bases <strong>de</strong> Datos unprototipo <strong>de</strong> una herramienta que ha sido<strong>de</strong>sarrol<strong>la</strong>da en Arizona State University <strong>de</strong>EE.UU. [2], que también tiene como objetivo e<strong>la</strong>prendizaje <strong>de</strong> estos lenguajes.Este prototipo no se ajusta estrictamente a losrequisitos que nosotros tenemos p<strong>la</strong>nteados, yaque no tiene incorporados todos los operadoresque presentamos en <strong>la</strong> asignatura, con lo quealgunas <strong>de</strong> <strong>la</strong>s cuestiones que p<strong>la</strong>nteamos a<strong>la</strong>lumno no tienen respuesta en el ámbito <strong>de</strong> estaherramienta.Con esta experiencia y con <strong>la</strong>s lecciones quehemos aprendido en nuestra práctica docente,hemos <strong>de</strong>sarrol<strong>la</strong>do nuestra propia herramienta,que se ajusta exactamente a los contenidos <strong>de</strong>nuestra asignatura, <strong>de</strong> modo que, realmente, sefacilite el aprendizaje <strong>de</strong>l alumno.3. Diseño <strong>de</strong> entornos <strong>de</strong> aprendizajeTodo proceso <strong>de</strong> aprendizaje está condicionadopor <strong>la</strong>s variables <strong>de</strong>l medio en que se <strong>de</strong>sarrol<strong>la</strong>,<strong>de</strong> manera que este proceso está <strong>de</strong>terminado porel entorno en el que tiene lugar. Cuando se trata <strong>de</strong>un proceso condicionado por un <strong>de</strong>terminadosoftware, el aprendizaje es estimu<strong>la</strong>do y dirigidopor aspectos diversos que vienen condicionadospor el nivel <strong>de</strong>l producto alcanzado, por su riquezacualitativa y por su complejidad.Po<strong>de</strong>mos enten<strong>de</strong>r el entorno en el que se<strong>de</strong>sarrol<strong>la</strong> el aprendizaje como un marco <strong>de</strong>situaciones y activida<strong>de</strong>s que orientan y guían e<strong>la</strong>prendizaje, lo condicionan y lo estimu<strong>la</strong>n paraque tome una dirección u otra. En este sentido, el


entorno lleva <strong>de</strong> <strong>la</strong> mano al usuario por loscaminos previamente fijados por el diseñador, yaque cualquiera que sea <strong>la</strong> propuesta que sepresente al usuario, abierta o cerrada, o conmúltiples opciones, todas han sido previamente<strong>de</strong>finidas en función <strong>de</strong> <strong>la</strong> i<strong>de</strong>a <strong>de</strong> guiar el proceso[6].Se podría <strong>de</strong>cir, entonces, que lo que eldiseñador hace con su trabajo es una anticipación<strong>de</strong>l proceso <strong>de</strong> aprendizaje que realizará elusuario. El diseñador realiza una actividad <strong>de</strong>enseñanza al organizar los ambientes y loselementos que orientarán el aprendizaje <strong>de</strong> losusuarios. La tarea <strong>de</strong> enseñar implica siempre, encualquier contexto, ya sea virtual o presencial, eldiseño <strong>de</strong> entornos y <strong>la</strong> previsión <strong>de</strong> situacionescuya intención es que conduzcan al éxito en e<strong>la</strong>prendizaje.Teniendo todo esto en cuenta, el diseño <strong>de</strong>software educativo ha <strong>de</strong> ser concebido como unaconstrucción metodológica. Esto significa que noes absoluta, ni para todas <strong>la</strong>s situaciones, ni paratodos los contenidos e individuos y que, por lotanto, <strong>de</strong>be ser p<strong>la</strong>nteada, en el marco <strong>de</strong>situaciones concretas, en un contexto <strong>de</strong>terminado[5]. De esta manera, se pue<strong>de</strong> hab<strong>la</strong>r <strong>de</strong>l diseñocomo un proceso que toma <strong>la</strong> forma <strong>de</strong> espiralconstructivo, y no como una secuencia lineal <strong>de</strong>selección <strong>de</strong> los elementos que lo integran. Todoesto <strong>de</strong>termina el ciclo <strong>de</strong> vida que mejor se ajustaal tipo <strong>de</strong> sistema que preten<strong>de</strong>mos construir.En el diseño <strong>de</strong> este tipo <strong>de</strong> sistemasintervienen cuatro elementos básicos a partir <strong>de</strong>los cuales se <strong>de</strong>termina el material a construir: <strong>la</strong>estructuración <strong>de</strong>l contenido, <strong>la</strong>s activida<strong>de</strong>s arealizar, los recursos con que se cuenta y <strong>la</strong>sformas <strong>de</strong> interacción que se prevén, generando enconjunto un ambiente o entorno que ayu<strong>de</strong> uoriente el aprendizaje <strong>de</strong>l usuario [4].La secuencia y organización <strong>de</strong> los contenidos<strong>de</strong>termina <strong>la</strong>s formas <strong>de</strong> apropiación <strong>de</strong> losconocimientos por parte <strong>de</strong> los usuarios. Esto haceque <strong>la</strong> selección <strong>de</strong> estos sea una etapa crucial que<strong>de</strong>manda <strong>de</strong>l diseñador un profundo conocimiento<strong>de</strong> <strong>la</strong>s disciplinas científicas que están en juego enlo referente a los conceptos principales que sequieren trasmitir.Otra etapa fundamental en este p<strong>la</strong>nteamientoes <strong>la</strong> estructuración <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s que van a<strong>de</strong>sarrol<strong>la</strong>r los usuarios para operar con el sistema.Las activida<strong>de</strong>s que se propongan <strong>de</strong>ben estimu<strong>la</strong>r<strong>la</strong> actitud <strong>de</strong> interrogación. El usuario <strong>de</strong>beríavisualizar <strong>la</strong>s consecuencias <strong>de</strong> su acción sobre elproblema, e<strong>la</strong>borar hipótesis y comprobar<strong>la</strong>sdurante el proceso, visualizando los resultados <strong>de</strong>sus <strong>de</strong>ducciones, a través <strong>de</strong> <strong>la</strong> experimentación.P<strong>la</strong>near <strong>la</strong> actividad implica generar unproceso reflexivo y <strong>de</strong> construcción <strong>de</strong>lconocimiento por parte <strong>de</strong>l diseñador, que <strong>de</strong>beenfrentarse al mismo <strong>de</strong>safío que se p<strong>la</strong>nteará elusuario.Como consecuencia <strong>de</strong> todo lo expuesto,hemos afrontado <strong>la</strong> tarea <strong>de</strong> diseñar estaherramienta mediante un ciclo <strong>de</strong> vida en espiral[1], <strong>de</strong> forma que nos encontramos <strong>de</strong><strong>la</strong>nte <strong>de</strong>lprimer prototipo <strong>de</strong> esta herramienta en el que sehan tenido en cuenta, fundamentalmente, <strong>la</strong>estructuración <strong>de</strong> los contenidos y los recursos quese van a necesitar.El equipo <strong>de</strong> diseñadores ha estado formadopor profesores involucrados en <strong>la</strong>s diferentesasignaturas <strong>de</strong> Bases <strong>de</strong> Datos que se imparten ypor alumnos que realizaban su Proyecto Fin <strong>de</strong>Carrera. Los primeros se han encargado <strong>de</strong>proporcionar el conocimiento <strong>de</strong> <strong>la</strong> disciplina quese intentaba dar a conocer y los segundos hanasumido perfectamente el papel <strong>de</strong>l usuario que<strong>de</strong>be enfrentarse al problema <strong>de</strong> apren<strong>de</strong>r unlenguaje <strong>de</strong> consulta nuevo, como es el ÁlgebraRe<strong>la</strong>cional.4. La herramientaLa herramienta que se ha <strong>de</strong>sarrol<strong>la</strong>do [7]preten<strong>de</strong> facilitar <strong>la</strong> comprensión <strong>de</strong> <strong>la</strong>s siguientesmaterias:• Operadores que constituyen el ÁlgebraRe<strong>la</strong>cional.• Combinaciones <strong>de</strong> operadores para formarconsultas.• Semántica <strong>de</strong>l Álgebra Re<strong>la</strong>cional.• Sintaxis y semántica <strong>de</strong>l SQL.Según lo expuesto en el apartado anterior,para que <strong>la</strong> herramienta sea útil <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong>vista didáctico, los alumnos <strong>de</strong>ben <strong>de</strong> po<strong>de</strong>r emitirrespuestas a <strong>la</strong>s cuestiones que les hayan sidop<strong>la</strong>nteadas y el sistema tendrá que <strong>de</strong>tectar loserrores concretos que se hayan cometido, a<strong>de</strong>más<strong>de</strong> ofrecer <strong>la</strong> posibilidad <strong>de</strong> hacer modificacionesa lo respondido.


AdministraciónIntérpreteBase <strong>de</strong>DatosEditor visual <strong>de</strong> sentenciasFigura 1. Arquitectura <strong>de</strong>l sistemaLas funcionalida<strong>de</strong>s básicas que <strong>la</strong>herramienta <strong>de</strong>be cubrir son:• Mantener el esquema <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos con<strong>la</strong> que se va a trabajar.• Mantener <strong>la</strong> instancia <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos.• Definir consultas en Álgebra Re<strong>la</strong>cional: Seintroducirá una consulta mediante el tec<strong>la</strong>doy el sistema <strong>la</strong> evaluará. Se <strong>de</strong>be dar <strong>la</strong>posibilidad <strong>de</strong> almacenar <strong>la</strong> consulta parautilizar<strong>la</strong> en otro momento.• Visualizar resultados: El sistema evalúa <strong>la</strong>consulta y presenta el resultado en pantal<strong>la</strong>,pudiendo almacenarse <strong>la</strong> nueva tab<strong>la</strong> obtenida<strong>de</strong> forma permanente en <strong>la</strong> base <strong>de</strong> datoscomo una vista.En todo momento se buscará <strong>la</strong> máximainteractividad con el alumno, <strong>de</strong> manera que elsistema siempre mantendrá informado al usuario<strong>de</strong> los errores que vaya cometiendo.Para permitir <strong>la</strong> máxima disponibilidad <strong>de</strong> <strong>la</strong>herramienta, se ha <strong>de</strong>sarrol<strong>la</strong>do sobre unap<strong>la</strong>taforma Windows, <strong>de</strong> forma que los alumnospuedan utilizar<strong>la</strong> en sus propios or<strong>de</strong>nadores.4.1. ArquitecturaLa arquitectura, que se muestra en <strong>la</strong> Figura 1,favorece <strong>la</strong> disponibilidad y usabilidad <strong>de</strong> <strong>la</strong>herramienta <strong>de</strong>sarrol<strong>la</strong>da. En el<strong>la</strong> se pue<strong>de</strong>napreciar los distintos módulos que constituyen elsistema y los interfaces que se establecen entreellos.Se ha optado por dividir <strong>la</strong> funcionalidad <strong>de</strong>lsistema construido en dos partes; por un <strong>la</strong>do seencuentra el proceso encargado <strong>de</strong> <strong>la</strong> traducción<strong>de</strong> <strong>la</strong> sentencia en Álgebra Re<strong>la</strong>cional a unconjunto <strong>de</strong> instrucciones SQL equivalentes queserán utilizadas para obtener los resultados <strong>de</strong> <strong>la</strong>consulta y, por otro, el proceso que actúa <strong>de</strong>interfaz con <strong>la</strong> base <strong>de</strong> datos y con el usuario.Al dividir el sistema <strong>de</strong> este modo se pue<strong>de</strong>afrontar <strong>la</strong> posterior implementación <strong>de</strong> cada uno<strong>de</strong> los procesos con <strong>la</strong>s tecnologías más a<strong>de</strong>cuadaspara cada caso, teniendo en cuenta <strong>la</strong>s funcionesque <strong>de</strong>ben cumplir.El módulo Intérprete se encarga <strong>de</strong>l proceso<strong>de</strong> traducción <strong>de</strong> <strong>la</strong>s sentencias <strong>de</strong>l ÁlgebraRe<strong>la</strong>cional al conjunto <strong>de</strong> instrucciones SQL paraAccess, a partir <strong>de</strong> <strong>la</strong>s cuales se obtendrá elresultado <strong>de</strong> <strong>la</strong> consulta equivalente a <strong>la</strong> sentenciainicial.El módulo Editor visual <strong>de</strong> sentencias seencarga <strong>de</strong> <strong>la</strong> funcionalidad necesaria para crear,editar, compi<strong>la</strong>r y guardar sentencias <strong>de</strong>l ÁlgebraRe<strong>la</strong>cional. Una vez obtenidas <strong>la</strong>s instruccionesSQL para Access mediante el Intérprete, estemódulo obtiene el resultado a través <strong>de</strong>l motor <strong>de</strong>base <strong>de</strong> datos Microsoft Jet 3.0 y lo visualiza.El módulo Administración permite al usuario<strong>de</strong>terminar <strong>la</strong> base <strong>de</strong> datos con <strong>la</strong> que va atrabajar. Obtiene <strong>la</strong> ruta <strong>de</strong>l origen <strong>de</strong> datos y <strong>la</strong>estructura <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos, que sonalmacenadas <strong>de</strong> forma apropiada para su posterioruso por el módulo Editor visual <strong>de</strong> sentencias.La base <strong>de</strong> datos contiene los datos sobre loscuales va a trabajar el usuario a través <strong>de</strong> <strong>la</strong>ssentencias <strong>de</strong>l Álgebra Re<strong>la</strong>cional.En <strong>la</strong> implementación <strong>de</strong> <strong>la</strong> herramienta se haoptado por utilizar Visual C++ en su versión 6.0 y<strong>la</strong> biblioteca MFC (Microsoft Foundation C<strong>la</strong>ss).A<strong>de</strong>más, se ha utilizado Access como base <strong>de</strong>datos y su motor <strong>de</strong> base <strong>de</strong> datos Microsoft Jet ensu versión 3.0, lo que permite <strong>la</strong> comunicacióncon el sistema a través <strong>de</strong> <strong>la</strong>s funciones <strong>de</strong> <strong>la</strong>sc<strong>la</strong>ses DAO (Data Access Objects). De esta


manera, el usuario podrá practicar con diferentesbases <strong>de</strong> datos, sin más que modificar el origen <strong>de</strong>datos con el que quiere trabajar.4.2. Interfaz <strong>de</strong> usuarioLa primera vez que se utiliza <strong>la</strong> herramienta seadvierte al usuario <strong>de</strong> <strong>la</strong> necesidad <strong>de</strong> configurarel origen <strong>de</strong> datos; es <strong>de</strong>cir, <strong>la</strong> ruta <strong>de</strong> <strong>la</strong> base <strong>de</strong>datos sobre <strong>la</strong> que se va a trabajar. Esta base <strong>de</strong>datos <strong>de</strong>be existir, aunque posteriormente se podrámodificar su esquema añadiendo o eliminandonuevas tab<strong>la</strong>s y actualizando <strong>la</strong>s tup<strong>la</strong>s quepertenecen a cada una <strong>de</strong> el<strong>la</strong>s.Figura 2. Operaciones implementadas.Las operaciones que se han implementado enesta herramienta aparecen disponibles en unaventana flotante, <strong>de</strong> manera que el usuario pue<strong>de</strong>escribir una sentencia en términos <strong>de</strong>l ÁlgebraRe<strong>la</strong>cional <strong>de</strong> una manera muy cómoda. Estasoperaciones son: Selección, Proyección,Intersección, Unión, Cociente, Reunión (Join),Producto Cartesiano, Diferencia y Renombrado.En <strong>la</strong> Figura 2 aparece esta ventana con <strong>la</strong>soperaciones disponibles.En <strong>la</strong> aplicación también se cuenta con otraventana en <strong>la</strong> que aparecen una serie <strong>de</strong> pestañasque muestran información <strong>de</strong> cierto interés para elusuario. Esta ventana aparece en <strong>la</strong> Figura 3. Laspestañas son <strong>la</strong>s siguientes:• Errores: Muestra <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> loserrores que se hayan podido producir duranteel proceso <strong>de</strong> compi<strong>la</strong>ción.• SQL: Muestra <strong>la</strong>s instrucciones SQLresultantes <strong>de</strong>l proceso <strong>de</strong> compi<strong>la</strong>ción si ésteha terminado con éxito.• Tab<strong>la</strong>s: Muestra <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> <strong>la</strong> base <strong>de</strong>datos con los nombres <strong>de</strong> <strong>la</strong>s tab<strong>la</strong>s y losatributos correspondientes.Por último, <strong>la</strong> ventana <strong>de</strong> edición permite alusuario introducir <strong>la</strong> sentencia <strong>de</strong>l ÁlgebraRe<strong>la</strong>cional, visualizando cada operador con <strong>la</strong>fuente a<strong>de</strong>cuada.En <strong>la</strong> Figura 4 aparece <strong>la</strong> ventana <strong>de</strong> edicióncon una consulta expresada en términos <strong>de</strong>lÁlgebra Re<strong>la</strong>cional y que permite proporcionar elnombre, apellidos y dirección <strong>de</strong> todos losempleados que trabajan en el Departamento quetiene por nombre “Investigación”.Los resultados <strong>de</strong> <strong>la</strong> consulta realizada por elusuario aparecen en otra ventana. Allí aparecen<strong>la</strong>s tup<strong>la</strong>s que pertenecen a <strong>la</strong> re<strong>la</strong>ción <strong>de</strong>finida por<strong>la</strong> expresión introducida por él.Los resultados, evi<strong>de</strong>ntemente, no pue<strong>de</strong>n sermodificados, pero a <strong>la</strong> vista <strong>de</strong> lo obtenido, e<strong>la</strong>lumno pue<strong>de</strong> modificar su consulta, o introducirnuevos datos en <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos quele permitan aceptar o rechazar <strong>la</strong> expresión quehaya construido como respuesta a <strong>la</strong> necesidad <strong>de</strong>información previamente p<strong>la</strong>nteada por él o poruna serie <strong>de</strong> cuestiones que le son p<strong>la</strong>nteadas en<strong>la</strong>s sesiones <strong>de</strong> <strong>la</strong>boratorio.Figura 3. Ventana <strong>de</strong> información


Figura 4. Ventana <strong>de</strong> edición5. Trabajo futuroComo ya hemos comentado, nos encontramos ante<strong>la</strong> primera versión <strong>de</strong> esta herramienta. Esnecesario recordar que nos p<strong>la</strong>nteamos el diseño<strong>de</strong> este tipo <strong>de</strong> software como un procesoevolutivo y dinámico, <strong>de</strong> manera que una <strong>de</strong>nuestra líneas <strong>de</strong> trabajo se centra en medir <strong>la</strong>efectividad <strong>de</strong> dicha herramienta en el proceso <strong>de</strong>aprendizaje <strong>de</strong> los alumnos.El diseño <strong>de</strong>l experimento para llevar a caboesta tarea nos hace pensar en <strong>la</strong> comparación <strong>de</strong>dos tratamientos: aprendizaje usando <strong>la</strong>herramienta y aprendizaje sin usar<strong>la</strong> (como seestaba haciendo antes <strong>de</strong> incorporar<strong>la</strong>). Esta tarease <strong>de</strong>sarrol<strong>la</strong>rá durante el primer cuatrimestre <strong>de</strong>lcurso 2002/2003.Otra línea <strong>de</strong> trabajo se centra en revisar eldiseño inicialmente realizado para intentareliminar <strong>la</strong> necesidad <strong>de</strong> utilizar un <strong>de</strong>terminadoSGBDR, como ocurre en <strong>la</strong> versión actual,incorporando tecnología JDBC/ODBC, lo queindudablemente incrementaría <strong>la</strong> disponibilidad <strong>de</strong><strong>la</strong> herramienta. Este trabajo se ha acometidomediante <strong>la</strong> propuesta <strong>de</strong> un Proyecto Fin <strong>de</strong>Carrera, que ya se está realizando en <strong>la</strong> actualidady que previsiblemente estará terminado en el mes<strong>de</strong> Julio <strong>de</strong> este año.Por último, mantenemos una línea <strong>de</strong> trabajoabierta para posibilitar el uso <strong>de</strong> <strong>la</strong> herramienta en<strong>la</strong> World Wi<strong>de</strong> Web. De esta manera,en<strong>la</strong>zaríamos este trabajo con otro que ya está enmarcha y que preten<strong>de</strong> <strong>la</strong> construcción <strong>de</strong> unportal web en castel<strong>la</strong>no para el aprendizaje <strong>de</strong>lenguajes <strong>de</strong> manejo <strong>de</strong> bases <strong>de</strong> datos. Para <strong>la</strong>realización <strong>de</strong> este proyecto se ha solicitado unasubvención a <strong>la</strong> Junta <strong>de</strong> Castil<strong>la</strong> y León <strong>de</strong>ntro <strong>de</strong>su “Programa <strong>de</strong> Ayudas para <strong>la</strong> E<strong>la</strong>boración <strong>de</strong>Recursos <strong>de</strong> Apoyo y Experiencias Innovadoresen <strong>la</strong> Enseñanza <strong>Universitaria</strong>”.6. ConclusionesEn este trabajo se ha presentado unaherramienta que facilita el aprendizaje <strong>de</strong>l ÁlgebraRe<strong>la</strong>cional. Se trata <strong>de</strong> un sistema capaz <strong>de</strong>realizar consultas sobre cualquier base <strong>de</strong> datos.Ante una sentencia expresada en Álgebra, elsistema traduce esta sentencia a SQL. Estatraducción se muestra al alumno haciéndole máspatente <strong>la</strong> re<strong>la</strong>ción entre ambos lenguajes. Se lemuestran los operadores que pue<strong>de</strong> utilizar y <strong>la</strong>stab<strong>la</strong>s, junto con sus atributos, que pue<strong>de</strong> utilizarpara hacer <strong>la</strong> consulta. A<strong>de</strong>más, se permite unarealimentación inmediata, al incluir <strong>la</strong> posibilidad<strong>de</strong> rescribir su consulta, <strong>de</strong> manera que pue<strong>de</strong> verel resultado <strong>de</strong> <strong>la</strong> consulta que había propuesto ypue<strong>de</strong> realizar <strong>la</strong>s oportunas modificaciones.La herramienta ha sido <strong>de</strong>sarrol<strong>la</strong>da siguiendoguías metodológicas propugnadas en el ámbito <strong>de</strong>ldiseño <strong>de</strong> entornos <strong>de</strong> aprendizaje, para garantizarque cumple los fines con los que ha sidoconcebida.


Referencias[1] Boehm, B., “A Spiral Mo<strong>de</strong>lo for SoftwareDevelopment and Enhancement”. Computer,vol. 21, nº 5, pp. 61-72.[2] Dietrich, S.W., Eckert, E., Piscator, K.,“WinRDBI: A Windows-based Re<strong>la</strong>tionalDatabase Educational Tool”, Proceedings ofthe 28 th ACM SIGCSE Technical Symposiumon Computer Science Education, San Jose,California, February 27-March 1, 1997, pp.126-130.[3] Dietrich, S.W., Urban, S.D., “CooperativeLearning Approach to Database GroupProjects: Integrating Theory and Practice”,IEEE Transactions on Education, November1998, CD-ROM Directory 06, 11p.[4] Furlán, A., “Metodología <strong>de</strong> <strong>la</strong> enseñanza”.Aportaciones a <strong>la</strong> didáctica en <strong>la</strong> EducaciónSuperior, UNAM-ENEP, Iztaca<strong>la</strong>, México,D.F. 1989.[5] Gewerc, A., “Diseño <strong>de</strong> entornos <strong>de</strong>aprendizaje”,http://www.qua<strong>de</strong>rnsdigitals.net/articles/qua<strong>de</strong>rnsdigitals/qua<strong>de</strong>rns24/q24disenyo.htm. 2002[6] Gros, B., “Diseño <strong>de</strong> programas educativos”,Barcelona, Ariel, 1997.[7] Quintana, R.A., Valentín, T., “Diseño eimplementación <strong>de</strong> un Intérprete <strong>de</strong>l ÁlgebraRe<strong>la</strong>cional para uso docente”, P.F.C.,Universidad <strong>de</strong> Val<strong>la</strong>dolid, Enero 2002.


Utilización <strong>de</strong> versiones <strong>de</strong> tab<strong>la</strong>s en <strong>la</strong> docencia <strong>de</strong> SQLinteractivoMª Belén Vaquerizo García, Angel Arroyo Puente, Jesús Manuel Mau<strong>de</strong>s RaedoEscue<strong>la</strong> Politécnica Superior, Departamento <strong>de</strong> Ingeniería Civil,Área <strong>de</strong> Lenguajes y Sistemas Informáticos, Universidad <strong>de</strong> Burgos,Av. Cantabria s/n., 09006, Burgos (España)e-mail: {belvagar, aarroyo, jmau<strong>de</strong>s}@ubu.esResúmenLa docencia <strong>de</strong> SQL en los cursos iniciales <strong>de</strong>un currículo en informática es una materia con unagran componente práctica. En este artículo sediscute como p<strong>la</strong>ntear el esquema <strong>de</strong> base <strong>de</strong> datossobre el que hacer prácticas en función <strong>de</strong> <strong>la</strong>metodología docente y contenidos a impartir,teniendo en cuenta <strong>la</strong> dicotomía entre dotar <strong>de</strong>privilegios al alumno para que experimente, oacotárselos para tenerlo más contro<strong>la</strong>do.Finalmente, se discutirán <strong>la</strong>s ventajas einconvenientes <strong>de</strong> una aproximación basada enversiones <strong>de</strong> tab<strong>la</strong>s que pue<strong>de</strong> servir <strong>de</strong> punto <strong>de</strong>equilibrio en cuanto a permisos sobre el sistemapara los alumnos.1. IntroducciónLa docencia en Bases <strong>de</strong> Datos requiere, ya ensus fases más tempranas, que el alumno seenfrente a los lenguajes <strong>de</strong> bases <strong>de</strong> datospracticando con ellos. En [1], [2] se propone unesquema secuencial <strong>de</strong> asignaturas <strong>de</strong> Bases <strong>de</strong>Datos distribuidas a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong>informática. Estos documentos recomiendan que <strong>la</strong>primera asignatura a <strong>la</strong> que se enfrenten losalumnos (Bases <strong>de</strong> Datos I) abarque entre suscontenidos, el trabajo con SQL interactivo.La experiencia <strong>de</strong> los que subscriben elpresente documento es que <strong>la</strong> docencia <strong>de</strong> estoscontenidos tiene unas componentes máspedagógicas <strong>de</strong>ntro <strong>de</strong>l au<strong>la</strong> <strong>de</strong> prácticas que<strong>de</strong>ntro <strong>de</strong> una c<strong>la</strong>se tipo lección magistral. Estaopinión es refrendada en <strong>la</strong>s encuestas <strong>de</strong> calidadrellenadas por los alumnos y tiene, probablemente,sus orígenes en los siguientes motivos:• Los grupos <strong>de</strong> prácticas son más reducidosque los grupos correspondientes a <strong>la</strong>slecciones magistrales, lo que permite alprofesor dar una mayor atenciónindividualizada a cada alumno.• El alumno tiene <strong>la</strong> oportunidad <strong>de</strong>experimentar, y apren<strong>de</strong>r por sí mismo; sin<strong>de</strong>dicar <strong>la</strong> mayor parte <strong>de</strong>l tiempo a tomarapuntes.• El profesor pue<strong>de</strong> observar <strong>la</strong> marcha <strong>de</strong> susalumnos, teniendo <strong>la</strong> oportunidad <strong>de</strong>reaccionar e incidir sobre aquello que haquedado menos c<strong>la</strong>ro.• Los alumnos tienen una mayor motivación, alten<strong>de</strong>r a i<strong>de</strong>ntificar <strong>la</strong>s prácticas con el que es,para <strong>la</strong> mayoría <strong>de</strong> ellos, objetivo último <strong>de</strong>sus estudios, que no es otro que <strong>la</strong> preparaciónpara insertarse convenientemente en elmercado <strong>de</strong> trabajo.Todos estos puntos, hacen necesario cuidar (i)los contenidos, (ii) <strong>la</strong> metodología y (iii) losmedios utilizados en <strong>la</strong> presentación <strong>de</strong> contenidos


en <strong>la</strong>s prácticas en general, y en nuestro casoconcreto, en <strong>la</strong>s prácticas <strong>de</strong> SQL interactivo enBases <strong>de</strong> Datos.En cuanto a los contenidos <strong>de</strong> SQL interactivo,es interesante que el alumno pueda experimentarcon el DML (Data Management Language) <strong>de</strong>SQL por completo, y con el DDL (Data DefinitionLanguage) a nivel <strong>de</strong> creación <strong>de</strong> tab<strong>la</strong>s y vistas.Las operaciones <strong>de</strong> actualización en DML <strong>de</strong>ben<strong>de</strong> permitir al alumno experimentar con <strong>la</strong>concurrencia a nivel transaccional, y referente a<strong>la</strong>s vistas, ha <strong>de</strong> ser posible trabajar con vistasactualizables.Con re<strong>la</strong>ción a <strong>la</strong> metodología en el au<strong>la</strong> <strong>de</strong>prácticas, hay varias posibilida<strong>de</strong>s: (i)explicaciones <strong>de</strong>l profesor, (ii) problemas aresolver por el alumno solo, (iii) problemas aresolver por el conjunto <strong>de</strong> los alumnos guiadospor el profesor y discutiendo cada una <strong>de</strong> <strong>la</strong>sposibles soluciones. La explicación <strong>de</strong> losproblemas por parte <strong>de</strong>l profesor no fomenta <strong>la</strong>participación <strong>de</strong>l alumno, pero tiene como ventajaque es <strong>la</strong> forma <strong>de</strong> avanzar más <strong>de</strong>prisa en eltemario y pue<strong>de</strong> ser útil en aquellos puntos en losque el profesor estime que no es interesante incidir<strong>de</strong>masiado. Dejar al alumno que resuelva losproblemas por sí mismo suele consumir <strong>de</strong>masiadotiempo, pero el alumno suele sacar bastantepartido <strong>de</strong> su trabajo. Esta fórmu<strong>la</strong> es idónea paraaquel<strong>la</strong>s horas en <strong>la</strong>s que el au<strong>la</strong> <strong>de</strong> prácticas estélibre para uso <strong>de</strong> los alumnos, o para un accesoweb <strong>de</strong>s<strong>de</strong> casa <strong>de</strong>l alumno al Sistema <strong>de</strong> Base <strong>de</strong>Datos utilizado en prácticas. Finalmente, elresolver los problemas por el conjunto <strong>de</strong> losalumnos guiados por <strong>de</strong>l profesor (<strong>de</strong> ahora ena<strong>de</strong><strong>la</strong>nte prácticas guiadas) es una fórmu<strong>la</strong>intermedia que fomenta <strong>la</strong> participación y e<strong>la</strong>prendizaje, optimizando el tiempo <strong>de</strong>dicado. Sibien, nosotros nos <strong>de</strong>cantamos a abusar <strong>de</strong> estaúltima fórmu<strong>la</strong>, el profesor <strong>de</strong>be a<strong>de</strong>más utilizar<strong>la</strong>s otras dos allí don<strong>de</strong> estime que los contenidos,<strong>la</strong> aptitud y actitud <strong>de</strong>l alumno puedan hacer<strong>la</strong>smás interesantes.Finalmente, en cuanto a los medios,históricamente ha habido aproximaciones <strong>de</strong>Sistemas <strong>de</strong> Bases <strong>de</strong> Datos orientados a docencia,como WinRDBI 1 [3] y [4]. El inconvenienteprincipal <strong>de</strong> éste y otros sistemas simi<strong>la</strong>res, es queaunque intenta abarcar otros lenguajes comoÁlgebra y Cálculo Re<strong>la</strong>cional, <strong>la</strong> parte <strong>de</strong> SQL noes muy fiel al SQL estándar, especialmente en loconcerniente a <strong>la</strong> <strong>de</strong>finición <strong>de</strong> tab<strong>la</strong>s, restriccionesy vistas. Para nosotros es necesario que el sistemasea lo más fiel posible al estándar ISO <strong>de</strong> SQL,preferiblemente a <strong>la</strong> versión <strong>de</strong> 1992 [6], por sermás sencil<strong>la</strong> y más extendida en <strong>la</strong> industria. Otroinconveniente <strong>de</strong> WinRDBI es que esmonousuario impidiendo experimentar con <strong>la</strong>concurrencia.La solución a concurrencia y acercamiento alestándar viene <strong>de</strong> <strong>la</strong> mano <strong>de</strong> <strong>la</strong> utilización <strong>de</strong>Sistemas Gestores <strong>de</strong> Bases <strong>de</strong> Datos (SGBDs)comerciales. Aunque en <strong>la</strong> actualidad hay buenasofertas económicas para docencia <strong>de</strong> este tipo <strong>de</strong>sistemas, hay que valorar <strong>la</strong> a<strong>de</strong>cuación <strong>de</strong>productos <strong>de</strong> libre distribución como por ejemploPostgreSQL 2 y MySQL 3 .Sin embargo, los SGBDs comerciales p<strong>la</strong>nteanel problema <strong>de</strong> cómo articu<strong>la</strong>r los privilegios <strong>de</strong>los alumnos para que puedan compartir datos conel profesor en una práctica guiada, pero a <strong>la</strong> vezpuedan modificarlos para experimentar, sin quepor ello arruinen <strong>la</strong> <strong>la</strong>bor <strong>de</strong>l profesor, ni <strong>de</strong> suscompañeros. En <strong>la</strong> medida que al alumno se leprovee in<strong>de</strong>pen<strong>de</strong>ncia y privilegios sobre elentorno, el profesor pier<strong>de</strong> el control sobre elcontenido <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos <strong>de</strong> los alumnos, loque pue<strong>de</strong> impedirle impartir a<strong>de</strong>cuadamente unasprácticas guiadas. Por el contrario, recortar<strong>de</strong>masiado <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong>l alumno, pue<strong>de</strong> iren contra <strong>de</strong> que experimente por su cuenta, lo quetambién es perjudicial.Este artículo trata sobre cómo p<strong>la</strong>ntearsoluciones a este problema para cada uno <strong>de</strong> losposibles escenarios que aparecerán en función <strong>de</strong>lmétodo y contenidos empleados. Para ello seestructura <strong>de</strong> <strong>la</strong> siguiente forma: En el apartado 2p<strong>la</strong>ntearemos <strong>la</strong>s diversas posibilida<strong>de</strong>s <strong>de</strong>1 http://www.eas.asu.edu/~winrdbi/2 http://postgresql.org/3 http://www.mysql.com/ Desafortunadamente <strong>la</strong> versiónactual <strong>de</strong> MySQL no soporta transacciones, por lo que espoco i<strong>de</strong>al para DML con concurrencia.


esquemas y privilegios en función <strong>de</strong>l tipo <strong>de</strong>contenidos. En el apartado 3 <strong>de</strong>scribiremos <strong>la</strong>aproximación basada en versiones <strong>de</strong> tab<strong>la</strong>s,a<strong>de</strong>cuada para prácticas guiadas. En el apartado 4,<strong>de</strong>scribiremos los puntos más notables <strong>de</strong> unaimplementación real en PostgreSQL <strong>de</strong> <strong>la</strong>aproximación basada en versiones <strong>de</strong> tab<strong>la</strong>s.Finalmente, en el apartado 5 se comentarán <strong>la</strong>sconclusiones y trabajos futuros.2. P<strong>la</strong>nteamiento <strong>de</strong>l Esquema <strong>de</strong> Base <strong>de</strong>Datos y Permisos en función <strong>de</strong> losContenidosLos contenidos posibles <strong>de</strong> SQL interactivo en unaasignatura introductoria a <strong>la</strong>s Bases <strong>de</strong> Datos<strong>de</strong>ben <strong>de</strong> cubrir el DML por completo, y el DDL anivel <strong>de</strong> <strong>de</strong>finición <strong>de</strong> tab<strong>la</strong>s y vistas. Laexperimentación con concurrencia y con vistasactualizables también <strong>de</strong>be <strong>de</strong> estar amparada. Eneste apartado mostraremos cómo p<strong>la</strong>ntear losesquemas y privilegios <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos paracada uno <strong>de</strong> estos contenidos.2.1. Las Consultas SELECTLa configuración más habitual para una prácticaguiada sobre consultas SELECT es hacer quetodos los alumnos compartan <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>lprofesor, <strong>de</strong>s<strong>de</strong> un usuario distinto <strong>de</strong> forma quelos alumnos no puedan modificar su contenido,sino que tan solo puedan consultarlo. Las tab<strong>la</strong>s<strong>de</strong>l profesor tendrían únicamente permiso <strong>de</strong>lectura para los usuarios alumnos. Los alumnospodrían acce<strong>de</strong>r perfectamente <strong>de</strong>s<strong>de</strong> un únicousuario <strong>de</strong>l sistema para facilitar el mantenimiento.Este usuario alumno no necesitaría privilegios quele permitiesen crear objetos <strong>de</strong> <strong>la</strong> base <strong>de</strong> datoscomo tab<strong>la</strong>s o vistas. En esta situación el alumnopue<strong>de</strong> experimentar consultas con <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>lprofesor:1 Sin temor a que el alumno cree algún tipo <strong>de</strong>problema por exce<strong>de</strong>rse en <strong>la</strong> ocupación <strong>de</strong>disco, pues no pue<strong>de</strong> crear tab<strong>la</strong>s, ni modificar<strong>la</strong>s <strong>de</strong>l profesor.2 Sin temor a que bloquee <strong>la</strong>s operaciones <strong>de</strong>otros compañeros, pues todos estánaccediendo en modo consulta.3 El profesor pue<strong>de</strong> cambiar <strong>la</strong> extensión <strong>de</strong> <strong>la</strong>stab<strong>la</strong>s sobre <strong>la</strong> marcha para conseguir efectosparticu<strong>la</strong>res en <strong>la</strong>s consultas (introducirvalores nulos para ver comportamientosatípicos etc …) teniendo <strong>la</strong> certeza <strong>de</strong> queesos efectos son inmediatamente visibles atodos los alumnos. Dado que los alumnos y elprofesor acce<strong>de</strong>n a los mismos datos, esconveniente que el sistema admita re<strong>la</strong>jar elcontrol <strong>de</strong> <strong>la</strong> concurrencia <strong>de</strong> forma que en <strong>la</strong>misma transacción <strong>de</strong>l alumno se puedanobtener distintas lecturas <strong>de</strong> <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>lprofesor, <strong>la</strong>s cuales pue<strong>de</strong>n ir cambiando poracción <strong>de</strong> transacciones cometidas <strong>de</strong> éste.Este nivel <strong>de</strong> concurrencia re<strong>la</strong>jado es elconocido como Read Commited en el estándarSQL/ISO[6]. Esta configuración vieneactivada por <strong>de</strong>fecto en algunos sistemascomo Oracle. Otra solución posible al mismoproblema, es que los alumnos tengan activada<strong>la</strong> opción <strong>de</strong> autocommit, habitual en casitodos los sistemas, <strong>de</strong> forma que cada una <strong>de</strong>sus consultas sea una transacción en sí misma.Des<strong>de</strong> el punto <strong>de</strong> vista estético, estep<strong>la</strong>nteamiento pue<strong>de</strong> resultar feo en sistemas comoOracle [5] que tienen un espacio <strong>de</strong> nombre <strong>de</strong>tab<strong>la</strong>s distinto para cada usuario. Esto obliga a queel alumno para referenciar a <strong>la</strong> tab<strong>la</strong> X <strong>de</strong>l usuarioprofesor, tenga que escribir profesor.X. Esteproblema pue<strong>de</strong> ocultarse <strong>de</strong>finiendo una vista 4con el mismo nombre que <strong>la</strong> tab<strong>la</strong> (X) en e<strong>la</strong>lumno (CREATE VIEW X AS SELECT *FROM Profesor.X).Des<strong>de</strong> el punto <strong>de</strong> vista funcional, el principalinconveniente <strong>de</strong> esta aproximación, es que e<strong>la</strong>lumno no pue<strong>de</strong> experimentar por si sólo,creando sus propios casos (crear sus propiastab<strong>la</strong>s, modificar <strong>la</strong> extensiones <strong>de</strong> <strong>la</strong>s tab<strong>la</strong>sexistentes) para ver cómo varían <strong>la</strong>s respuestas auna misma consulta.Esta aproximación sólo es válida para cuandoel profesor explica sin que el alumno participe, y –aparentemente- para <strong>la</strong> c<strong>la</strong>se <strong>de</strong> prácticas guiada.Nótese que si en una c<strong>la</strong>se guiada el profesor, en4 O bien un sinónimo (SYNONYM) <strong>de</strong> <strong>la</strong> tab<strong>la</strong> <strong>de</strong>lprofesor en el usuario alumno en el caso <strong>de</strong> aquellossistemas que dispongan <strong>de</strong> este tipo <strong>de</strong> objetos, como porejemplo Oracle [5].


lugar <strong>de</strong> pedir que dado el enunciado <strong>de</strong> unaconsulta los alumnos encuentren <strong>la</strong> respuesta, pi<strong>de</strong>que dada una SELECT -que parece resolver unenunciado- los alumnos encuentren una extensión<strong>de</strong> <strong>la</strong> tab<strong>la</strong> para <strong>la</strong> que dicha SELECT no cumplesu cometido, los alumnos no pue<strong>de</strong>n realizar dichoejercicio utilizando el sistema.Por lo tanto, en este caso se necesita unaaproximación que <strong>de</strong> más libertad al alumno. Paraque el alumno pueda cambiar <strong>la</strong>s extensiones <strong>de</strong><strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>l profesor necesita po<strong>de</strong>r hacerINSERT-UPDATE-DELETE. Si el profesorcomparte sus tab<strong>la</strong>s permitiendo estas operacionesa los alumnos, se verá obligado a pasar todo eltiempo restaurando su copia <strong>de</strong> seguridad <strong>de</strong> <strong>la</strong>smismas, con el disgusto <strong>de</strong> los alumnos queestuviesen interesados en mantener sus cambios.Por el contrario, si cada alumno tiene sus propiastab<strong>la</strong>s, el profesor no tiene un mecanismo sencillo<strong>de</strong> propagar sus cambios sobre <strong>la</strong>s mismas a losalumnos. A<strong>de</strong>más los alumnos, serían responsables<strong>de</strong> recuperar <strong>la</strong>s tab<strong>la</strong>s con los contenidos quetenga el profesor en cada momento.Por todo ello, vemos que ninguna <strong>de</strong> <strong>la</strong>ssoluciones p<strong>la</strong>nteadas son <strong>de</strong>l todo satisfactoriascomo para impartir c<strong>la</strong>ses prácticas que versensobre el comando SELECT.2.2. Insert-Delete-Update y <strong>la</strong> ConcurrenciaLos comandos <strong>de</strong> modificación <strong>de</strong>l contenido<strong>de</strong> <strong>la</strong>s tab<strong>la</strong>s exigen que los alumnos tengan lospermisos correspondientes.A<strong>de</strong>más, es necesario que el sistema disponga<strong>de</strong>, al menos, el nivel control <strong>de</strong> concurrenciaserializable <strong>de</strong> SQL/ISO[6] para que los alumnospuedan experimentar con <strong>la</strong> concurrenciamanteniendo -cada alumno- varias sesionesabiertas que accedan sobre los mismos datos. Silos alumnos comparten <strong>la</strong>s mismas tab<strong>la</strong>s, pue<strong>de</strong>nbloquearse entre ellos si no cierran <strong>la</strong>stransacciones, <strong>de</strong>jando en espera a suscompañeros. Por ello, parece más indicado quecada alumno tenga sus propias tab<strong>la</strong>s.Sin embargo, como ya se ha comentado en 2.1,si los alumnos trabajan con sus propias tab<strong>la</strong>s, elprofesor pier<strong>de</strong> el control sobre el estado <strong>de</strong> <strong>la</strong>base <strong>de</strong> datos <strong>de</strong> cada alumno, por lo que le esdifícil proponer ejercicios en los que <strong>de</strong> antemanose sepa que el sistema va a producir el mismoresultado en todos los alumnos. De otro <strong>la</strong>do, si losalumnos comparten <strong>la</strong>s mismas tab<strong>la</strong>s que elprofesor, pudiendo modificar su estado, a<strong>de</strong>máslos problemas <strong>de</strong> concurrencia ya mencionados,tampoco el profesor contro<strong>la</strong>ría el estado <strong>de</strong> <strong>la</strong>base <strong>de</strong> datos. Nótese que este caso es muy simi<strong>la</strong>ral <strong>de</strong> <strong>la</strong> SELECT, y tampoco se tiene una solucióna<strong>de</strong>cuada.Tanto si se comparten o no <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>lprofesor, el crecimiento <strong>de</strong> <strong>la</strong>s tab<strong>la</strong>s y suocupación <strong>de</strong> espacio <strong>de</strong> disco <strong>de</strong>be <strong>de</strong> estaracotado para no perjudicar a otros posiblesusuarios <strong>de</strong>l sistema, quizás alumnos <strong>de</strong> otrasasignaturas.2.3. DDLLos contenidos a impartir sobre DDL son <strong>la</strong>creación <strong>de</strong> tab<strong>la</strong>s, incluyendo restricciones, yvistas. Para que el alumno pueda experimentar sehace necesario que tenga privilegios para crear yeliminar este tipo <strong>de</strong> objetos. Debido a que losalumnos ten<strong>de</strong>rán a crear tab<strong>la</strong>s con nombresparecidos a los <strong>de</strong> sus compañeros, habría quehabilitar algún mecanismo para que cada alumnotuviese un especio <strong>de</strong> nombres distinto. Ensistemas como Oracle[5], don<strong>de</strong> cada usuario tienesu propio espacio <strong>de</strong> nombres, <strong>la</strong> solución es dotara cada alumno con una cuenta distinta <strong>de</strong> usuario.Asimismo, hay que contro<strong>la</strong>r que <strong>la</strong>s tab<strong>la</strong>sque creen los alumnos no puedan crecerin<strong>de</strong>finidamente, asociándo<strong>la</strong>s una cuota <strong>de</strong> discomáxima por <strong>de</strong>fecto, y un espacio <strong>de</strong> disco que nointerfiera con otros posibles usos <strong>de</strong> <strong>la</strong> base <strong>de</strong>datos. En este sentido, nuevamente esrecomendable que cada alumno sea un usuariodistinto; <strong>de</strong> lo contrario, un alumno pue<strong>de</strong> eliminaro hacer crecer <strong>de</strong>masiado tab<strong>la</strong>s <strong>de</strong> suscompañeros intencionadamente o por <strong>de</strong>scuido.Finalmente, el sistema que elijamos <strong>de</strong>be <strong>de</strong>permitir actualizar vistas fácilmente, pues <strong>la</strong>actualización <strong>de</strong> vistas es parte <strong>de</strong> los contenidos aimpartir.Como conclusión, <strong>la</strong>s prácticas DDL si quetienen una respuesta a<strong>de</strong>cuada, simplemente dando<strong>de</strong>terminados privilegios a los alumnos, pero sinque puedan tocar <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>l profesor. La únicacuestión relevante es tener un sistema con espacios


<strong>de</strong> nombres diferenciados por cada usuario, y conposibilidad <strong>de</strong> actualización <strong>de</strong> vistas.3. La Aproximación Basada en Versiones<strong>de</strong> Tab<strong>la</strong>sEn el apartado anterior se ha visto que el dotara los alumnos <strong>de</strong> sus propias tab<strong>la</strong>s origina ciertosproblemas, pero que el compartir<strong>la</strong>s también. Laaproximación basada en versiones <strong>de</strong> tab<strong>la</strong>s que sepropone resuelve en buena parte el problema.Una versión <strong>de</strong> tab<strong>la</strong> T (tab<strong>la</strong> base) consiste enotra tab<strong>la</strong> T’ (tab<strong>la</strong>/versión <strong>de</strong>rivada) con <strong>la</strong> mismaestructura y restricciones que T, pero con distintaextensión [7]. Las versiones <strong>de</strong> tab<strong>la</strong>s ya soncontemp<strong>la</strong>das por algunos sistemas como Postgres[7]. En cierta forma, <strong>la</strong>s vistas son muy parecidas a<strong>la</strong>s versiones. Los cambios <strong>de</strong> extensión en <strong>la</strong> tab<strong>la</strong>base se propagan a <strong>la</strong>s vistas y versiones<strong>de</strong>rivadas. Lo que diferencia a versiones y vistas,es que los cambios en <strong>la</strong> versión no se propagan a<strong>la</strong> tab<strong>la</strong> base, a diferencia <strong>de</strong> <strong>la</strong>s vistasactualizables.Nuestra aportación consiste en <strong>la</strong> aplicación <strong>de</strong>estos conceptos para obtener un sistema <strong>de</strong>prácticas <strong>de</strong> SQL, sobre el que el profesor puedatener un cierto control sin constreñir <strong>de</strong>masiado <strong>la</strong>sposibilida<strong>de</strong>s <strong>de</strong> experimentación libre <strong>de</strong>l alumno.Para ello, <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>l profesor serán tab<strong>la</strong>s base,mientras que <strong>la</strong>s tab<strong>la</strong>s sobre <strong>la</strong>s que los alumnosexperimenten serán versiones <strong>de</strong>rivadas <strong>de</strong> <strong>la</strong>stab<strong>la</strong>s <strong>de</strong>l profesor. Los alumnos podrán consultar,pero no modificar, <strong>la</strong>s tab<strong>la</strong>s base; mientras que sípodrán modificar el estado <strong>de</strong> sus versiones.Con <strong>la</strong>s versiones <strong>de</strong> tab<strong>la</strong>s no hay problemas<strong>de</strong> bloqueos in<strong>de</strong>seados por concurrencia, puescada alumno sólo hace cambios sobre susversiones, y <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>l profesor se acce<strong>de</strong>n sóloen lectura. Sin embargo, se pue<strong>de</strong> experimentarcon concurrencia, sin más que el alumno mantengavarias sesiones simultáneas sobre el mismousuario, esto es, sobre sus propias versiones.El profesor tiene control absoluto sobre sustab<strong>la</strong>s, que no pue<strong>de</strong>n modificarse por losalumnos, pero a<strong>de</strong>más pue<strong>de</strong> introducir cambiosen <strong>la</strong>s versiones <strong>de</strong> los alumnos, como efecto <strong>de</strong> <strong>la</strong>propagación <strong>de</strong> los cambios que él haga sobre sustab<strong>la</strong>s base. Pue<strong>de</strong> introducir fi<strong>la</strong>s nuevas, cambiarcontenidos <strong>de</strong> <strong>la</strong>s fi<strong>la</strong>s <strong>de</strong> sus tab<strong>la</strong>s, o eliminar<strong>la</strong>s,y esos cambios van a propagarse a <strong>la</strong>s versionesque tengan los alumnos, con lo que el profesorpue<strong>de</strong> hacer ciertas suposiciones sobre el estado <strong>de</strong><strong>la</strong>s versiones, que le permitan, con muchaprobabilidad, saber cual va a ser <strong>de</strong> antemano <strong>la</strong>respuesta <strong>de</strong>l sistema, incluso en <strong>la</strong>s distintasversiones <strong>de</strong> los alumnos.Por tanto, <strong>la</strong> aproximación <strong>de</strong> versiones <strong>de</strong>tab<strong>la</strong>s es <strong>la</strong> más a<strong>de</strong>cuada para po<strong>de</strong>r impartirc<strong>la</strong>ses guiadas <strong>de</strong> SQL interactivo, el problema esque no cualquier sistema permite implementar<strong>la</strong>.4. Implementación GenéricaLa implementación <strong>de</strong> un sistema basado enversiones <strong>de</strong> tab<strong>la</strong>s ya viene <strong>de</strong>scrita por encima en[7]. La i<strong>de</strong>a es que por cada tab<strong>la</strong> que se versione(por ejemplo Clientes), existan dos nuevas tab<strong>la</strong>ssoporte (en nuestro caso vadd_Clientes yv<strong>de</strong>l_Clientes).La tab<strong>la</strong> vadd tiene <strong>la</strong> misma estructura que <strong>la</strong>tab<strong>la</strong> base, y contiene:• Las fi<strong>la</strong>s que se inserten por el alumno en <strong>la</strong>versión <strong>de</strong> <strong>la</strong> tab<strong>la</strong>.• Las fi<strong>la</strong>s que el alumno haya cambiado conlos valores nuevos.La tab<strong>la</strong> v<strong>de</strong>l sólo contiene un i<strong>de</strong>ntificadorque haga referencia a <strong>la</strong>s fi<strong>la</strong>s <strong>de</strong> <strong>la</strong> tab<strong>la</strong> base. Enel caso <strong>de</strong> los sistemas objeto-re<strong>la</strong>cionales, comoPostgres, dicho i<strong>de</strong>ntificador es el OID (ObjectI<strong>de</strong>ntifier). Este i<strong>de</strong>ntificador indicará:• Las referencias a fi<strong>la</strong>s que los alumnos haneliminado <strong>de</strong> <strong>la</strong> tab<strong>la</strong> base.• Las referencias a fi<strong>la</strong>s <strong>de</strong> <strong>la</strong> tab<strong>la</strong> base que losalumnos hayan cambiado.Todo ello, permite <strong>de</strong>finir <strong>la</strong> versión como unavista tal y como muestra <strong>la</strong> figura.


CREATE VIEW VersionClientes AS(SELECT OID as _OID, CIF, Nombre,etc…FROM ClientesWHERE NOT EXISTS(SELECT * FROM v<strong>de</strong>lWHERE oid=Clientes.oid)UNION(SELECT OID as _OID, CIF, Nombre,etc…FROM Clientes);Ilustración 1. Vista que implementa una versión <strong>de</strong> <strong>la</strong>tab<strong>la</strong> Clientes.Mediante triggers se contro<strong>la</strong> <strong>la</strong>actualización <strong>de</strong> esta vista haciendo:Caso 1. Que cuando el alumno realice unainserción sobre <strong>la</strong> versión, el sistemarealmente lo que hace es insertar <strong>la</strong> fi<strong>la</strong> sobrevadd. Ver Ilustración 2.Caso 2. Cuando se realiza una eliminación <strong>de</strong>una fi<strong>la</strong> <strong>de</strong> <strong>la</strong> tab<strong>la</strong> base, lo que se hacerealmente es apuntar esa fi<strong>la</strong> como borrada env<strong>de</strong>l. Ver Ilustración 3.Caso 3. Si se modifica una fi<strong>la</strong> <strong>de</strong> <strong>la</strong> tab<strong>la</strong> basepor un alumno, por primera vez, se tratacomo una baja <strong>de</strong> <strong>la</strong> fi<strong>la</strong> con los valores viejos(<strong>la</strong> fi<strong>la</strong> antes <strong>de</strong> <strong>la</strong> modificación es registradaen v<strong>de</strong>l), más un alta <strong>de</strong> <strong>la</strong> misma con losvalores nuevos (<strong>la</strong> fi<strong>la</strong> que se obtiene <strong>de</strong>spués<strong>de</strong> <strong>la</strong> modificación es apuntada en vadd). VerIlustración 4.Caso 4. Si se elimina una fi<strong>la</strong> que se hayainsertado o modificado <strong>de</strong>s<strong>de</strong> <strong>la</strong> versión (estáen vadd), se elimina directamente <strong>de</strong> vadd.Ver Ilustración 3.Caso 5. Si se modifica una fi<strong>la</strong> insertada por e<strong>la</strong>lumno en <strong>la</strong> versión, o una fi<strong>la</strong> <strong>de</strong> <strong>la</strong> tab<strong>la</strong>base ya modificada por el alumno en <strong>la</strong>versión (está en vadd),simplemente se hace elcambio directamente sobre <strong>la</strong> fi<strong>la</strong> en vadd.Ver Ilustración 4.El tipo <strong>de</strong> triggers que se necesitan para haceresta implementación necesitan el modo <strong>de</strong> disparoinstead, que permite hacer que <strong>la</strong> acción <strong>de</strong>ltrigger se ejecute sustituyendo al evento que lodispara. Es <strong>de</strong>cir, si el evento es una operación <strong>de</strong>modificación (p.e. una inserción) sobre <strong>la</strong> vista,esta operación no se ejecuta, y en su lugar seejecuta <strong>la</strong> acción especificada en el trigger (p.e. <strong>la</strong>inserción sobre vadd). Los triggers instead noestán disponibles en <strong>la</strong> mayoría <strong>de</strong> los sistemasactuales, lo que limita el número <strong>de</strong> gestores en elque se pue<strong>de</strong> aplicar <strong>la</strong> aproximación <strong>de</strong> versiones<strong>de</strong> tab<strong>la</strong>s.2. Implementación <strong>de</strong> <strong>la</strong> Aproximación<strong>de</strong> Versiones en PostgreSQLEn el presente apartado se muestra <strong>la</strong>implementación en PostgreSQL.Reg<strong>la</strong> <strong>de</strong> inserción:Implementa el Caso 1 <strong>de</strong>l apartado anterior.CREATE RULE versionClientes_ins ASON INSERT TO versionClientesDO INSTEAD//Caso 1INSERT INTO vadd_ClientesCIF, nombre, etc…) VALUES(NEW.CIF, NEW.nombre, etc…);Ilustración 2. Reg<strong>la</strong> <strong>de</strong> InserciónReg<strong>la</strong> <strong>de</strong> borrado:Implementa los Casos 2 y 4 <strong>de</strong>l apartadoanterior.CREATE RULE versionClientes_<strong>de</strong>l ASON DELETE TO versionClientesDO INSTEAD (//Caso 2INSERT INTO v<strong>de</strong>l_Clientes(DOID)SELECT Clientes.OID FROM ClientesWHERE OLD._OID = Clientes.OIDAND OLD._OID NOT IN(SELECT DOID FROM v<strong>de</strong>l_Clientes);//Caso 4DELETE FROM vadd_ClientesWHERE vadd_Clientes.oid = OLD._oid;);Ilustración 3. Reg<strong>la</strong> <strong>de</strong> BorradoUn inconveniente <strong>de</strong> <strong>la</strong> implementaciónPostgreSQL es que <strong>la</strong>s vistas no tienen OID. Nisiquiera tienen el OID <strong>de</strong> <strong>la</strong> tab<strong>la</strong> <strong>de</strong> <strong>la</strong> que se<strong>de</strong>rivan, por lo que es necesario <strong>de</strong>finir un campoen <strong>la</strong> vista que <strong>de</strong>liberadamente contenga el valor<strong>de</strong>l OID <strong>de</strong> <strong>la</strong>s fi<strong>la</strong>s que <strong>la</strong> componen (el campo_OID en Ilustración 1). Este campo lo l<strong>la</strong>maremos_OID y como se pue<strong>de</strong> ver es utilizado en <strong>la</strong> Reg<strong>la</strong>


<strong>de</strong> Borrado y en <strong>la</strong> <strong>de</strong> Actualización (ver mása<strong>de</strong><strong>la</strong>nte) por los triggers.Otra observación interesante es que v<strong>de</strong>l comotab<strong>la</strong>, ya tiene su propio OID, por ello es necesarioque su único campo, que contiene los OIDs <strong>de</strong> <strong>la</strong>sfi<strong>la</strong>s borradas/modificadas, tenga un nombredistinto <strong>de</strong> OID. En nuestro cado hemos elegidocomo nombre DOID, que también se utiliza en <strong>la</strong>sReg<strong>la</strong>s <strong>de</strong> Borrado y Actualización.Reg<strong>la</strong> <strong>de</strong> actualización:Implementa los Casos 3 y 5 <strong>de</strong>l apartadoanterior.CREATE RULE versionClientes_upd ASON UPDATE TO versionClientesDO INSTEAD(//Caso 3INSERT INTO vadd_CLIENTES(CIF, nombre, telefono)select NEW.CIF, NEW.nombre, etc…FROM ClientesWHERE old._OID = Clientes.OID;INSERT INTO v<strong>de</strong>l_Clientes(DOID)SELECT oid FROM ClientesWHERE old._oid = Clientes.oid;//Caso 5UPDATE vadd_ClientesSET CIF=NEW.CIF, nombre=NEW.nombre,telefono=NEW.telefonoWHERE vadd_Clientes.oid=OLD._oid;);Ilustración 4. Reg<strong>la</strong> <strong>de</strong> ActualizaciónLa implementación mostrada sólo concierne auna <strong>de</strong> <strong>la</strong>s tab<strong>la</strong>s y a uno <strong>de</strong> los usuarios. Para queel entorno sea eficaz, <strong>de</strong>berá <strong>de</strong> crearautomáticamente <strong>la</strong>s vistas y triggerscorrespondientes para cada alumno y versión <strong>de</strong>tab<strong>la</strong> <strong>de</strong>l profesor. Este proceso se pue<strong>de</strong>automatizar a través <strong>de</strong> scripts <strong>de</strong>l sistemaoperativo que consulten el catálogo <strong>de</strong> <strong>la</strong> base <strong>de</strong>datos <strong>de</strong>l profesor. Estos scripts se ejecutarían aldar <strong>de</strong> alta a cada usuario alumno, al principio <strong>de</strong>lcurso.Así, para una tab<strong>la</strong> Clientes <strong>de</strong>l profesor, estescript crearía automáticamente <strong>la</strong> versiónClientes_1 al dar <strong>de</strong> alta al alumno 1, Clientes_2 aldar <strong>de</strong> alta el alumno 2, etc… De esta forma e<strong>la</strong>lumno n pue<strong>de</strong> disponer <strong>de</strong> <strong>la</strong> versión <strong>de</strong>lprofesor –Clientes- y <strong>de</strong> <strong>la</strong> suya propia –Clientes_n.Un problema que hemos pasado por alto es el<strong>de</strong> <strong>la</strong>s restricciones. En principio, parece que paraque <strong>la</strong>s versiones tengan <strong>la</strong>s mismas restriccionesque sus tab<strong>la</strong>s base, basta con volver a <strong>de</strong>c<strong>la</strong>rardichas restricciones en vadd. Sin embargo, esto noes así para <strong>la</strong>s restricciones SQL <strong>de</strong> PRIMARYKEY, UNIQUE y FOREIGN KEY. Las c<strong>la</strong>vesprimarias y candidatas han <strong>de</strong> mantener suunicidad no sólo en <strong>la</strong> tab<strong>la</strong> base y en vadd porseparado, sino que <strong>de</strong>ben tener valores únicos para<strong>la</strong> unión <strong>de</strong> <strong>la</strong>s extensiones <strong>de</strong> ambas tab<strong>la</strong>s. Con<strong>la</strong>s c<strong>la</strong>ves foráneas ocurre lo mismo. Si porejemplo una fi<strong>la</strong> <strong>de</strong> <strong>la</strong> tab<strong>la</strong> Pedidos referencia a <strong>la</strong>tab<strong>la</strong> Clientes, no basta con <strong>de</strong>c<strong>la</strong>rar quevadd_Pedidos referencie a vadd_Clientes, pues<strong>de</strong>be po<strong>de</strong>r referenciar a<strong>de</strong>más a un cliente <strong>de</strong> <strong>la</strong>tab<strong>la</strong> base Cientes.La solución a estos problemas es contro<strong>la</strong>r <strong>la</strong>svio<strong>la</strong>ciones <strong>de</strong> estas restricciones, nuevamente através <strong>de</strong> triggers <strong>de</strong>c<strong>la</strong>rados, en esta ocasión,sobre eventos en vadd. En el caso <strong>de</strong> <strong>la</strong>s c<strong>la</strong>vesforáneas los triggers contro<strong>la</strong>ran que <strong>la</strong>sinserciones y modificaciones <strong>de</strong> Pedidos y <strong>la</strong>seliminaciones <strong>de</strong> Clientes no <strong>de</strong>jan a los pedidossin cliente asociado. Esta implementaciónmediante triggers es muy flexible, permitiendoimplementar distintas semánticas (rechazos,acciones en cascada etc.). En el caso <strong>de</strong> <strong>la</strong>s c<strong>la</strong>vesprimarias y candidatas, los triggers contro<strong>la</strong>ránque <strong>la</strong>s inserciones y modificaciones <strong>de</strong> <strong>la</strong> c<strong>la</strong>ve envadd no generen duplicados.Todos estos triggers también pue<strong>de</strong>n sercreados directamente en el script <strong>de</strong> creación <strong>de</strong>usuario. Aunque <strong>la</strong>s ma<strong>la</strong>s noticias son que todosestos controles por trigger acaban por <strong>de</strong>gradar elrendimiento <strong>de</strong>l sistema, <strong>la</strong>s buenas noticias sonque con el escaso número <strong>de</strong> fi<strong>la</strong>s que suelen tener<strong>la</strong>s bases <strong>de</strong> datos <strong>de</strong> docencia, este efecto no esapreciable.Parte <strong>de</strong> <strong>la</strong> materia <strong>de</strong> SQL interactivo, es eltrabajo con vistas actualizables. Un problema <strong>de</strong> <strong>la</strong>versión actual <strong>de</strong> PostgreSQL es que <strong>la</strong>s vistas que<strong>de</strong>finan los alumnos no son actualizables, a no serque se especifiquen vía triggers, <strong>la</strong>s accionesasociadas a <strong>la</strong> propagación <strong>de</strong> <strong>la</strong>s modificacionessobre <strong>la</strong> vista a <strong>la</strong>s tab<strong>la</strong>s base. Sin embargo, este


problema tiene solución, como se indica en e<strong>la</strong>partado <strong>de</strong> trabajos futuros.5. Conclusiones y Trabajos FuturosLa docencia en SQL es recomendableabordar<strong>la</strong> a través <strong>de</strong> c<strong>la</strong>ses prácticas. El entornoen el que se realicen <strong>la</strong>s prácticas y suconfiguración es muy importante para po<strong>de</strong>raplicar metodologías docentes que permitan a<strong>la</strong>lumno experimentar por sí mismo y que seancompatibles con <strong>la</strong> compartición <strong>de</strong> un esquema <strong>de</strong>base <strong>de</strong> datos inicial <strong>de</strong>l profesor. Se hani<strong>de</strong>ntificado posibles problemas y soluciones <strong>de</strong><strong>la</strong>s aproximaciones tradicionales <strong>de</strong> cómo abordar<strong>la</strong>s prácticas <strong>de</strong> SQL, teniendo en cuenta si se trata<strong>de</strong> explicar el comando SELECT, los comandosINSERT-DELETE-UPDATE o el DDL. Losproblemas <strong>de</strong>tectados tienen su orígen en que unassoluciones dan <strong>de</strong>masiada libertad al alumno, yotras son <strong>de</strong>masiado restrictivas.Las versiones <strong>de</strong> tab<strong>la</strong>s han <strong>de</strong>mostrado queson una solución que mantienen un punto <strong>de</strong>equilibrio entre dar <strong>de</strong>masiada libertad al alumno,y otorgar un cierto control al profesor sobre elcontenido <strong>de</strong> los datos.Un problema <strong>de</strong> esta aproximación es que noes posible implementar<strong>la</strong> en cualquier tipo <strong>de</strong>Sistema <strong>de</strong> Base <strong>de</strong> Datos, siendo necesario que elsistema soporte triggers en modo instead, y quelos triggers puedan <strong>de</strong>finirse a partir <strong>de</strong> eventosque surjan durante el intento <strong>de</strong> actualización <strong>de</strong>una vista. Se ha dado una implementación paraPotgreSQL que es un sistema gratuito y fiable quesí tiene estas características en cuanto a triggers.Un inconveniente <strong>de</strong> <strong>la</strong> aproximación que seha implementado es que no es directamenteutilizable <strong>de</strong>s<strong>de</strong> web, por lo que no sirve para queel alumno pueda practicar <strong>de</strong>s<strong>de</strong> casa, salvo que leproporcionemos una entrada Telnet a lo queprobablemente se opongan los responsables <strong>de</strong>seguridad <strong>de</strong> nuestro sistema. Por ello, estamostrabajando en un cliente web que permitainteractuar con el sistema. Nuestro propósito finales que dicho cliente web admita <strong>la</strong>s consultas enálgebra y cálculo re<strong>la</strong>cional; lenguajes <strong>de</strong> consultaque le son propios a <strong>la</strong> misma asignatura <strong>de</strong> Bases<strong>de</strong> Datos en <strong>la</strong> que se revisa el SQL interactivo.Para po<strong>de</strong>r implementar esta mejora<strong>de</strong>sarrol<strong>la</strong>remos un parser en el <strong>la</strong>do <strong>de</strong>l servidorque traduzca <strong>la</strong>s consultas a PostgreSQL. Otrafunción futura <strong>de</strong>l parser será <strong>la</strong> creacióntransparente al alumno <strong>de</strong> los triggers necesariospara <strong>la</strong> actualización <strong>de</strong> vistas <strong>de</strong>finidas por losalumnos sobre tab<strong>la</strong>s y versiones <strong>de</strong> su usuario.Agra<strong>de</strong>cimientosPor su co<strong>la</strong>boración a los alumnos LauraIzquierdo Rodrigo y Alberto Tovar González.Referencias[1] P. Blesa, N. Brisaboa, V. Canivel, J.Garbajosa, J. Mau<strong>de</strong>s, M. Piattini, A. Urpi.Contenidos en Bases <strong>de</strong> Datos <strong>de</strong> los P<strong>la</strong>nes<strong>de</strong> Estudio <strong>de</strong> Informática. Actas <strong>de</strong> <strong>la</strong> IIIJIDB. Eds. J.C. Casamayor, M. Celma, L.Mota, M.A. Pastor. DSIC, UniversidadPolitécnica <strong>de</strong> Valencia. Valencia, 1998.[2] P. Blesa, N. Brisaboa, V. Canivel, J.Garbajosa, J. Mau<strong>de</strong>s, M. Piattini. Propuesta<strong>de</strong> Contenidos en Bases <strong>de</strong> Datos <strong>de</strong> losP<strong>la</strong>nes <strong>de</strong> Estudio <strong>de</strong> Informática. Novática,Enero/Febrero 1999. pp 60-63.[3] Dietrich, S. W. An Educational Tool forFormal Re<strong>la</strong>tional Query Languages,Computer Science Education. Vol 4, pp.157-184, 1993.[4] Dietrich, S. W., Eckert, E., Piscator, K.,WinRDBI: A Windows-Based Re<strong>la</strong>tionalDatabase Educational Tool, Proceedings ofthe 28 th ACM SIGCSE Technical Symposiumon Computer Science Education, San Jose,California, pp. 126-130, <strong>de</strong> 27-02 a 01-03 <strong>de</strong>1997.[5] Loney K., Koch G. Oracle 8i the CompleteReference. Oracle Press 2000.[6] Melton J., Simon A.R. Un<strong>de</strong>rstanding thenew SQL: a Complete Gui<strong>de</strong>. MorganKaufmann 1993.[7] Potaminos S. & Stonebraker M. The PostgresRule System. En Widom, J & Ceri, S. ActiveDatabase Systems. Triggers and Rules ForAdvanced Database Processing, MorganKaufmann Publishers, Inc. San Francisco,California. 1996.


SQL Programado <strong>de</strong>s<strong>de</strong> Java: profundización en el diseño yacceso a bases <strong>de</strong> datos consolidando el conocimiento <strong>de</strong>llenguajeJosep Maria Marco SimóProfesor <strong>de</strong> los Estudios <strong>de</strong> Informática y Multimedia <strong>de</strong> <strong>la</strong> UOCe-mail: jmarco@uoc.eduResumenSe presenta <strong>la</strong> experiencia <strong>de</strong> <strong>de</strong>sarrollo eimp<strong>la</strong>ntación <strong>de</strong> los contenidos sobre SQLprogramado <strong>de</strong>s<strong>de</strong> Java para <strong>la</strong> asignatura Bases<strong>de</strong> Datos II, asignatura que se imparte en losestudios <strong>de</strong> Informática <strong>de</strong> <strong>la</strong>s IngenieríasTécnicas y Superior <strong>de</strong> <strong>la</strong> Universitat Oberta <strong>de</strong>Catalunya -UOC-.Nuestra universidad se ha p<strong>la</strong>nteado <strong>la</strong>utilización <strong>de</strong> este lenguaje para abordar el tema<strong>de</strong> <strong>la</strong> programación <strong>de</strong> SQL dada su evi<strong>de</strong>nteimp<strong>la</strong>ntación en entornos reales y <strong>la</strong> preferenciaque otorga al aprendizaje <strong>de</strong> este lenguaje.Este <strong>de</strong>sarrollo, sin embargo, se ha enfocadocon una serie <strong>de</strong> objetivos paralelos que van másallá <strong>de</strong>l propio aprendizaje sobre SQL programado<strong>de</strong>s<strong>de</strong> Java, y que preten<strong>de</strong>n que el estudiante<strong>de</strong>sarrolle también otros conocimientos yhabilida<strong>de</strong>s adquiridos con anterioridad, en cuantoa:• El diseño y uso <strong>de</strong> componentes lógicos <strong>de</strong>base <strong>de</strong> datos, así como su acceso.• La perspectiva y/o introducción al mundoJava.• El mo<strong>de</strong>lo SQL/CLI.Exponemos en este documento <strong>la</strong> génesis, eldiseño y <strong>la</strong> implementación <strong>de</strong> esta propuesta, asícomo sus resultados y sus perspectivas <strong>de</strong> futuro.1. MotivaciónEn los p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> <strong>la</strong>s IngenieríasTécnicas <strong>de</strong> Informática –especialida<strong>de</strong>s Gestión ySistemas- el aprendizaje sobre bases <strong>de</strong> datos seinicia en <strong>la</strong> asignatura obligatoria Bases <strong>de</strong> DatosI [1], cuyos contenidos se resumen en:• Ficheros.• Introducción a <strong>la</strong>s Bases <strong>de</strong> Datos.• Mo<strong>de</strong>lo re<strong>la</strong>cional y álgebra re<strong>la</strong>cional.• Introducción a SQL.• Introducción al diseño <strong>de</strong> Bases <strong>de</strong> Datos.En Bases <strong>de</strong> Datos II [2], obligatoria para <strong>la</strong>Ingeniería Técnica <strong>de</strong> Gestión y optativa para <strong>la</strong>Ingeniería Técnica <strong>de</strong> Sistemas y <strong>la</strong> IngenieríaSuperior, se amplía este aprendizaje mediante elestudio <strong>de</strong>:• Componentes lógicos <strong>de</strong> datos y <strong>de</strong> control(SQL avanzado).• Componentes <strong>de</strong> almacenamiento.• Implementación <strong>de</strong> métodos <strong>de</strong> acceso.• Transacciones.• Bases <strong>de</strong> datos distribuidas y cliente/servidor.• Programación con SQL (SQL hospedado ySQL-CLI)En ambas asignaturas se realizan prácticas. En<strong>la</strong> primera están centradas en el diseño <strong>de</strong> bases <strong>de</strong>datos y en el uso <strong>de</strong> SQL. En <strong>la</strong> segunda sepreten<strong>de</strong> consolidar dos aspectos fundamentalesque refuerzan, a su vez, lo aprendidoanteriormente: <strong>la</strong> técnica CLI <strong>de</strong> SQL programado[3] y el uso avanzado <strong>de</strong> componentes lógicos <strong>de</strong>datos (tab<strong>la</strong>s, vistas y restricciones) ycomponentes lógicos <strong>de</strong> control (procedimientos,disparadores, transacciones, control <strong>de</strong> acceso eíndices) [4]En el origen <strong>de</strong> <strong>la</strong> asignatura Bases <strong>de</strong> DatosII, los mo<strong>de</strong>los <strong>de</strong> SQL programado sepresentaban con aplicaciones en lenguaje C.


Aunque ésta es una aproximación que permiteenten<strong>de</strong>r con c<strong>la</strong>ridad <strong>la</strong>s características estándares<strong>de</strong> los mo<strong>de</strong>los hospedado y CLI, también escierto que presenta cierta complejidad en suimplementación práctica.Así, dado que el lenguaje Java es uno <strong>de</strong> losobjetivos y <strong>de</strong> los lenguajes <strong>de</strong> referencia <strong>de</strong> losestudios <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> UOC, se p<strong>la</strong>nteóampliar <strong>la</strong>s perspectivas sobre <strong>la</strong>s técnicas <strong>de</strong> SQLprogramado, presentando también el acercamiento<strong>de</strong> Java al tema. Este acercamiento, por un <strong>la</strong>do,es re<strong>la</strong>tivamente más simple que el tradicionalmo<strong>de</strong>lo en C y, por otro, permite introducir a losestudiantes en un tema <strong>de</strong> amplia imp<strong>la</strong>ntación enlos entornos profesionales: sólo hay que tener encuenta su importancia en los aplicaciones <strong>de</strong>Internet y en los sistemas distribuidos en general.Aquí pues tuvo su origen nuestra propuesta:presentar un mo<strong>de</strong>lo más actual y más sencillopara <strong>la</strong> programación con SQL.Sin embargo, había que tener en cuenta otrosaspectos:En los primeros cuatrimestres en que se iba aimp<strong>la</strong>ntar esta propuesta, iba a servir tambiéncomo vía para introducir a muchos estudiantes enel lenguaje Java. Esto sería <strong>de</strong>bido a que, altratarse <strong>de</strong> una asignatura <strong>de</strong> los últimos cursos <strong>de</strong><strong>la</strong>s Ingenierías Técnicas y <strong>de</strong> los centrales <strong>de</strong> <strong>la</strong>Ingeniería Superior, muchos <strong>de</strong> ellos noconocerían el lenguaje por haber empezado losestudios cuando Java todavía no aparecía en <strong>la</strong>sasignaturas <strong>de</strong> inicio.Adicionalmente, se pretendía reincidir en <strong>la</strong>s<strong>de</strong>strezas <strong>de</strong> diseño adquiridas anteriormente enBases <strong>de</strong> Datos I y cuyo refuerzo pasa siempre por<strong>la</strong> vía <strong>de</strong> los ejercicios prácticos.Teniendo en cuenta todas estasconsi<strong>de</strong>raciones, se confeccionaron unoscontenidos adicionales [5] a <strong>la</strong> asignatura Bases<strong>de</strong> datos II con <strong>la</strong> i<strong>de</strong>a <strong>de</strong> integrarlos. En resumen,los objetivos que se pretendían cubrir eran:1) Presentar <strong>la</strong> programación SQL <strong>de</strong>s<strong>de</strong> Java.2) Profundizar en el diseño, uso <strong>de</strong> componenteslógicos y acceso a bases <strong>de</strong> datos.3) Ofrecer una perspectiva y/o introducción almundo Java.4) Presentar a los estudiantes un sistemasimplificado <strong>de</strong>l mo<strong>de</strong>lo SQL/CLI.2. Construcción <strong>de</strong> <strong>la</strong> propuestaEl proceso seguido para construir <strong>la</strong> propuestatuvo dos partes diferenciadas. En primer lugar severificaron <strong>la</strong>s posibilida<strong>de</strong>s prácticas <strong>de</strong> <strong>la</strong>programación SQL en Java. Una vez constatada <strong>la</strong>problemática subyacente, se p<strong>la</strong>nteó cuál sería unmétodo válido para su exposición teórica.2.1. Los componentes prácticosDado el carácter introductorio que se pretendía dara los contenidos y <strong>la</strong> facilidad <strong>de</strong>l mo<strong>de</strong>lo, se optópor presentar JDBC, <strong>la</strong> propuesta CLI <strong>de</strong> Java, enlugar <strong>de</strong> otras propuestas Java <strong>de</strong>sarrol<strong>la</strong>das porlos propios fabricantes <strong>de</strong> SGBD. Estas propuestasalternativas resultan ser mucho más específicas y,evi<strong>de</strong>ntemente, mucho menos estándar.Como es conocido, JDBC es un API <strong>de</strong> Javaque simplifica el mo<strong>de</strong>lo CLI (fuertemente ligadoal interfaz ODBC) y lo extien<strong>de</strong> siguiendo losprincipios <strong>de</strong>l lenguaje. Entre <strong>la</strong>s simplificacionesque aporta cabe <strong>de</strong>stacar:• El proceso <strong>de</strong> conexión a <strong>la</strong> base <strong>de</strong> datos.• La gestión <strong>de</strong>l entorno <strong>de</strong> ejecución <strong>de</strong>sentencias• La creación y uso <strong>de</strong> sentencias SQLparametrizadas.• La gestión <strong>de</strong> cursores y <strong>la</strong> recuperación <strong>de</strong>resultados mediante éstos.• La oferta <strong>de</strong> métodos que van más allá <strong>de</strong>lpropio SQL.En el momento <strong>de</strong> <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> estoscontenidos, <strong>la</strong> especificación <strong>de</strong>l JDBC se hal<strong>la</strong>baen su segunda versión e incluía ya, entre otrascosas, soporte para tipos SQL:1999 (elcorrespondiente al draft SQL3), movimiento libre<strong>de</strong> cursores, modificaciones batch, métodosespecíficos <strong>de</strong> manipu<strong>la</strong>ción <strong>de</strong> fi<strong>la</strong>s y tab<strong>la</strong>s, etc.Para <strong>la</strong> aplicación práctica <strong>de</strong> los contenidos,era necesario disponer <strong>de</strong> una implementación <strong>de</strong>lAPI (implementación que se conoce como driver)<strong>de</strong>pendiente <strong>de</strong>l SGBD utilizado. Estos drivers,adicionalmente, tienen diferentes tipologíasatendiendo al grado en que suscriben un mo<strong>de</strong>lo<strong>de</strong> tres capas.En nuestra universidad, y hasta el momento, elSGBD suministrado para estas asignaturas esInformix. El mismo fabricante ofrece una


implementación <strong>de</strong> libre distribución <strong>de</strong>l JDBC2.0. En ese mismo sentido, <strong>la</strong> web <strong>de</strong> Sun ofreceun sistema <strong>de</strong> localización <strong>de</strong> drivers para unelevado número <strong>de</strong> SGBD comerciales [6].El entorno Java utilizado fue el Java 2 (JDK1.2 y posteriormente JDK 1.3) <strong>de</strong> Sun. Se eligióWindows 9x como p<strong>la</strong>taforma <strong>de</strong> <strong>de</strong>sarrollo porser <strong>la</strong> habitual para el uso <strong>de</strong> nuestro campusvirtual.Des<strong>de</strong> el momento en que se pudo disponer <strong>de</strong><strong>la</strong>s herramientas prácticas se empezó a verificarsus capacida<strong>de</strong>s. Como es habitual, fue necesario<strong>de</strong>tectar aquellos puntos en los que <strong>la</strong> realidad <strong>de</strong>nuestro entorno (Informix + Windows 9x + Java 2+ driver JDBC Informix type 4) no seguía <strong>la</strong>sespecificaciones estándar. En esa misma línea, severificó el comportamiento <strong>de</strong> otros productosSGBD, <strong>de</strong> diferentes tipos <strong>de</strong> drivers y <strong>de</strong> variasp<strong>la</strong>taformas operativas.Tras este trabajo se estaba en condiciones <strong>de</strong><strong>de</strong>terminar qué capacida<strong>de</strong>s podían formar parte<strong>de</strong>l eje <strong>de</strong> una <strong>de</strong>scripción generalista <strong>de</strong>l mo<strong>de</strong>lo.2.2. La exposición teórica.Entendiendo que inicialmente el material quese <strong>de</strong>bía e<strong>la</strong>borar iba a ser complementario a otrosuficientemente <strong>la</strong>rgo y complejo, se optó por unaexposición basada en ejemplos y en <strong>la</strong>comparación con los mo<strong>de</strong>los <strong>de</strong> SQL/CLI en Cya estudiados. No se pretendía, pues, rechazar <strong>la</strong>experiencia <strong>de</strong> <strong>la</strong> que se disponía utilizando elmo<strong>de</strong>lo en C, si no <strong>de</strong> que ésta, por comparación,subrayase <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> Java. Se trataba,pues, <strong>de</strong> reforzar una serie <strong>de</strong> aspectos básicos:• La apuesta por el mo<strong>de</strong>lo CLI que evita <strong>la</strong><strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> base con el SGBD.• La simplificación <strong>de</strong>l mo<strong>de</strong>lo CLI <strong>de</strong> JDBC enre<strong>la</strong>ción al mo<strong>de</strong>lo en C tradicional.• La comprensión en profundidad <strong>de</strong> losfundamentos <strong>de</strong> dicho mo<strong>de</strong>lo al liberarlo <strong>de</strong><strong>la</strong>s complejida<strong>de</strong>s artificiales que inducenotros lenguajes.• La justificación teórica <strong>de</strong> los elementosprácticos.• La integración <strong>de</strong>l mo<strong>de</strong>lo JDBC con <strong>la</strong>filosofía <strong>de</strong> Java.De esta forma, <strong>la</strong> exposición empieza<strong>de</strong>tal<strong>la</strong>ndo los fundamentos teóricos que justificanel mo<strong>de</strong>lo JDBC, para seguir con <strong>la</strong> presentación<strong>de</strong> <strong>la</strong> estructura <strong>de</strong> un programa sencillo basado endicho mo<strong>de</strong>lo:• Localización y carga <strong>de</strong>l driver.• Conexión con el SGBD.• Operaciones con el SGBD y tratamiento <strong>de</strong>excepciones.• Desconexión <strong>de</strong>l SGBD.Para cada punto se especifica cómo realizarloen el entorno <strong>de</strong> trabajo <strong>de</strong> referencia (variables <strong>de</strong>sistema, configuraciones <strong>de</strong> <strong>la</strong>s herramientas,librerías requeridas por el lenguaje, etc.)El programa presentado utiliza una sencil<strong>la</strong>interfaz texto para no mezc<strong>la</strong>r <strong>la</strong>s complejida<strong>de</strong>s<strong>de</strong> un entorno gráfico con <strong>la</strong>s necesida<strong>de</strong>s JDBC.Este programa pasa a utilizarse entonces comouna aplicación patrón y a partir <strong>de</strong> el<strong>la</strong> seconstruyen todos los ejemplos que introducen losdiferentes aspectos <strong>de</strong>tal<strong>la</strong>dos:• Sentencias <strong>de</strong> modificación.• Sentencias <strong>de</strong> consulta.• Cursores con movimiento libre.• Control <strong>de</strong> transacciones.• Sentencias preparadas.• Procedimientos almacenados.• Modificaciones por lotes.Se intenta también perfi<strong>la</strong>r con c<strong>la</strong>ridad cuálesson <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>l API protagonistas <strong>de</strong> <strong>la</strong>estructura básica <strong>de</strong>l patrón, así como sus métodoselementales y los que <strong>la</strong>s interre<strong>la</strong>cionan (fig.1).Finalmente se revisan <strong>la</strong>s capacida<strong>de</strong>sadicionales <strong>de</strong>l mo<strong>de</strong>lo JDBC en aspectosre<strong>la</strong>cionados con los tipos SQL:1999.En <strong>de</strong>finitiva, <strong>la</strong> i<strong>de</strong>a subyacente es que <strong>la</strong>lectura motive al estudiante a probar loscontenidos expuestos. De hecho, cada uno <strong>de</strong> losaspectos pue<strong>de</strong> incorporarse a <strong>la</strong> aplicación patróny probarse contra una pequeña base <strong>de</strong> datos <strong>de</strong>ejemplo.


getConnection()CONNECTIONsetAutocommit()commit()rollback()close()createStatement()prepareStatement()prepareCall()<strong>de</strong>l SQL programado. Los contenidos sobre JDBCse han suministrado como un complemento a estematerial.Esto ha provocado que <strong>la</strong> carga <strong>de</strong>l tema sehaya incrementado consi<strong>de</strong>rablemente. Por estarazón se está optando por presentar <strong>la</strong>s técnicas <strong>de</strong>SQL hospedado y SQL/CLI en C <strong>de</strong>s<strong>de</strong> unaperspectiva meramente generalista e introductoria,poniendo en relieve su filosofía, suscondicionantes y su estudio comparativo. Con estabase adquirida, es el tema práctico <strong>de</strong>s<strong>de</strong> <strong>la</strong>perspectiva JDBC el que adquiere <strong>la</strong> máximarelevancia.3.2. Obligatoriedad <strong>de</strong> <strong>la</strong> prácticaSTATEMENT (y <strong>de</strong>rivadas)close()executeUpdate()executeQuery()RESULT SETclose()next()getTipo()Fig.1: C<strong>la</strong>ses y métodos elementales <strong>de</strong> JDBC3. Imp<strong>la</strong>ntación y aspectos metodológicos<strong>de</strong> <strong>la</strong> propuestaEn los tres cuatrimestres que lleva enfuncionamiento esta propuesta, se ha idoajustando atendiendo a requisitos académicos y,principalmente, a criterios metodológicos<strong>de</strong>stinados a facilitar y asegurar el aprendizaje.3.1. Redistribución <strong>de</strong> los contenidosComo se ha dicho, Bases <strong>de</strong> datos II tiene uncapítulo en el que se exponen <strong>la</strong>s característicasEn un principio, <strong>la</strong> práctica no era obligatoria. Sinembargo, sí se hizo una amplia difusión entre losestudiantes <strong>de</strong> <strong>la</strong> importancia <strong>de</strong> afrontar<strong>la</strong>. Esto,unido con que tenía un peso <strong>de</strong>l 20% <strong>de</strong> <strong>la</strong> notafinal, produjo que <strong>la</strong> gran mayoría <strong>de</strong> losestudiantes <strong>la</strong> presentaran.Como consecuencia <strong>de</strong> esto y <strong>de</strong> que se habíaconfirmado como una herramienta excelente paraconsolidar pau<strong>la</strong>tinamente los objetivos <strong>de</strong>aprendizaje, se <strong>de</strong>cidió convertir<strong>la</strong> en obligatoria.Para conseguir a<strong>de</strong>más que realmente fuera untrabajo continuo en el tiempo, se introdujo <strong>la</strong>entrega en dos partes, inicialmente con <strong>la</strong> primeraentrega voluntaria (acumulándose toda <strong>la</strong> entregaen <strong>la</strong> segunda si no se realizaba <strong>la</strong> primera) yposteriormente con <strong>la</strong>s dos entregas obligatoriasen el tiempo.También parecía c<strong>la</strong>ro que lo importante noera escatimar el tiempo dado a los estudiantesentre <strong>la</strong> entrega <strong>de</strong>l enunciado y <strong>la</strong> recogida <strong>de</strong> <strong>la</strong>ssoluciones y, así, se ha llegado a un intervaloaproximado <strong>de</strong> ocho semanas, en unos cursos quetienen una duración lectiva <strong>de</strong> alre<strong>de</strong>dor <strong>de</strong> trecesemanas.3.3. Detalle <strong>de</strong>l caso objeto <strong>de</strong> <strong>la</strong> prácticaTambién el contenido <strong>de</strong>l caso <strong>de</strong> <strong>la</strong> práctica hapasado <strong>de</strong> ser muy guiado (dando el diseño <strong>de</strong> <strong>la</strong>base <strong>de</strong> datos) a <strong>de</strong>jarse prácticamente abierto(mediante <strong>la</strong> exposición <strong>de</strong>scriptiva <strong>de</strong> un caso), yp<strong>la</strong>nteando una serie <strong>de</strong> preguntas-objetivo quehan <strong>de</strong> constituir el núcleo <strong>de</strong> <strong>la</strong> respuesta <strong>de</strong>lestudiante.


Con esta apertura <strong>de</strong>l caso hemos reforzado elobjetivo <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong>s capacida<strong>de</strong>s <strong>de</strong>lestudiante en cuanto a:• Diseño conceptual <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos,aprendido en Bases <strong>de</strong> Datos I. Esteaprendizaje previo es objeto <strong>de</strong> uso enmuchas <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong> <strong>la</strong> carrerabasadas en casos o proyectos, sin mencionar,por supuesto, <strong>la</strong> relevancia que tiene en <strong>la</strong>práctica profesional.• Decisión sobre el uso a<strong>de</strong>cuado <strong>de</strong> loscomponentes lógicos (<strong>de</strong> control y <strong>de</strong> datos)presentados. El estudiante ha <strong>de</strong> ser capaz,por ejemplo, <strong>de</strong> ver cuáles son <strong>la</strong>s vías paraimplementar una restricción y elegir <strong>la</strong> que leparezca más a<strong>de</strong>cuada.3.4. Trabajo en grupo <strong>de</strong> <strong>la</strong> prácticaAl principio, el trabajo <strong>de</strong> <strong>la</strong> práctica se p<strong>la</strong>nteóindividualmente, cosa que se justificaba por <strong>la</strong>voluntariedad <strong>de</strong> <strong>la</strong> misma. Eliminado estecondicionante se optó por permitir que aquellosestudiantes que así lo quisieran pudieran entregar<strong>la</strong> solución en grupos <strong>de</strong> dos personas.No se ha establecido éste como un criterioobligatorio por dos motivos básicos:• Los estudiantes <strong>de</strong> nuestra universidad yatienen un elevado número <strong>de</strong> asignaturasdon<strong>de</strong> el trabajo en grupo es obligatorio conlo que se cubre el objetivo <strong>de</strong> dar prioridad aeste aspecto.• Es interesante que <strong>la</strong>s tareas <strong>de</strong> diseño <strong>de</strong> <strong>la</strong>base <strong>de</strong> datos <strong>de</strong> un caso complejo se puedanpensar también individualmente. Si en <strong>la</strong>práctica profesional es habitual trabajar engrupo, también lo es que, en situaciones máso menos comunes, haya que tomar <strong>de</strong>cisiones<strong>de</strong> diseño individualmente (y no sólo sobreaspectos sencillos).3.5. Soporte JavaEn cuanto al soporte que se da al estudiante paraenfrentarse al lenguaje, se queda básicamente enel programa patrón y en <strong>la</strong>s indicaciones <strong>de</strong>configuración e insta<strong>la</strong>ción dadas en <strong>la</strong> exposiciónteórica <strong>de</strong> los contenidos.Se explica también <strong>la</strong> importancia <strong>de</strong> <strong>la</strong>documentación y los tutoriales sobre el API JDBCsuministrado en el JDK [7,8]. A<strong>de</strong>más se lesrecomienda tener a mano <strong>la</strong> documentación <strong>de</strong>lpropio fabricante <strong>de</strong>l driver para Informix [9].Una vez más, se prima que el estudianteindague por su cuenta, como pasa en <strong>la</strong> realidad,<strong>la</strong>s capacida<strong>de</strong>s <strong>de</strong> un nuevo contenido en el quese introduce. Evi<strong>de</strong>ntemente, no se está pidiendoun nivel elevado sobre el uso <strong>de</strong>l lenguaje y, enconsecuencia, para cumplir los mínimos no esnecesario un gran trabajo <strong>de</strong> investigación.Se entien<strong>de</strong> también que, dado que cada vezhay menos estudiantes <strong>de</strong> p<strong>la</strong>nes antiguos, estosestudiantes ya están introducidos en los elementosbásicos <strong>de</strong> <strong>la</strong> orientación a objetos. A<strong>de</strong>más,llegados a esta altura <strong>de</strong> sus estudios (don<strong>de</strong>, enbuena lógica, <strong>de</strong>ben haber cursado asignaturascon un fuerte contenido en orientación a objetoscomo Fundamentos <strong>de</strong> Programación II,Ingeniería <strong>de</strong>l Software I o Técnicas <strong>de</strong>Desarrollo <strong>de</strong> Software) es <strong>de</strong> suponer que losestudiantes han <strong>de</strong> tener recursos suficientes paraseguir avanzando.4. ResultadosEn general se ha observado una acogida muybuena <strong>de</strong> los contenidos propuestos por parte <strong>de</strong>los estudiantes. Esencialmente tenemos a nuestrofavor varios hechos:• Las asignaturas sobre bases <strong>de</strong> datos tienenhabitualmente una consi<strong>de</strong>ración positiva porparte <strong>de</strong>l estudiante.• La programación en SQL es percibida comoun componente fundamental para el trabajocon bases <strong>de</strong> datos.• Java abre <strong>la</strong>s puertas a otros aspectos muybien apreciados: <strong>la</strong> e<strong>la</strong>boración no sólo <strong>de</strong>aplicaciones sino <strong>de</strong> applets, el mundocliente/servidor o <strong>de</strong> Internet y el accesoremoto o distribuido.Por otro <strong>la</strong>do, en el primer cuatrimestre se<strong>de</strong>tectaron algunos problemas, principalmentetécnicos, <strong>de</strong>rivados <strong>de</strong>l uso <strong>de</strong>l driver y <strong>de</strong>l JDKsobre p<strong>la</strong>taformas que no eran <strong>la</strong>s recomendadas oque no estaban en buenas condiciones <strong>de</strong>mantenimiento. Estas situaciones se han repetido


cada vez menos ya que se han ido dandoindicaciones muy c<strong>la</strong>ras al respecto.Adicionalmente, se han ido realizando tareasperiódicas <strong>de</strong> verificación con los nuevos entornosque han ido apareciendo.4.1. Consecución <strong>de</strong> objetivosEn cuanto al objetivo básico referido a <strong>la</strong>programación en SQL <strong>de</strong>s<strong>de</strong> Java, creemos que seha logrado ampliamente. A esto contribuye <strong>la</strong>complejidad <strong>de</strong> los casos prácticos propuestos queobligan al estudiante a p<strong>la</strong>ntearse soluciones paraacce<strong>de</strong>r intensiva y extensivamente a <strong>la</strong> base <strong>de</strong>datos, imaginando estrategias para unaprogramación eficiente. Así, acaba interrogándosesobre cómo mejorar aspectos concretos, lo que lelleva a profundizar en <strong>la</strong>s posibilida<strong>de</strong>s ylimitaciones <strong>de</strong>l sistema.Del mismo modo, el objetivo referido aldiseño <strong>de</strong> base <strong>de</strong> datos y al uso <strong>de</strong> componenteslógicos (<strong>de</strong> datos y <strong>de</strong> control) se pue<strong>de</strong> consi<strong>de</strong>raralcanzado, al observar, una vez más, <strong>la</strong>complejidad <strong>de</strong> los casos <strong>de</strong>sarrol<strong>la</strong>dos. Elcarácter abierto <strong>de</strong>l caso <strong>de</strong>ja espacio a <strong>la</strong>profundización sobre todo un conjunto <strong>de</strong>situaciones diferentes. En <strong>la</strong> mayoría <strong>de</strong> los casos,el análisis <strong>de</strong> estas situaciones realizado por elestudiante ha sido muy completo y <strong>la</strong>s solucionesaportadas han <strong>de</strong>mostrado que ha entendido cómolograr<strong>la</strong>s, tanto <strong>de</strong>s<strong>de</strong> <strong>la</strong> perspectiva <strong>de</strong> diseñocomo <strong>de</strong>s<strong>de</strong> <strong>la</strong> <strong>de</strong> implementación con loscomponentes lógicos.Por lo que respecta al objetivo <strong>de</strong> <strong>la</strong>introducción al mundo Java, hemos constatadouna serie <strong>de</strong> comportamientos distintos aunqueprevisibles:• El estudiante con conocimiento <strong>de</strong> orientacióna objetos y Java ha <strong>de</strong>dicado tiempo amejorar aspectos <strong>de</strong>l código <strong>de</strong> <strong>la</strong>programación así como <strong>de</strong>l interfaz, aunqueello no era objetivo <strong>de</strong>l curso ni mejoraba <strong>la</strong>puntuación.• El estudiante con conocimiento <strong>de</strong> orientacióna objetos pero sin experiencia en Java, no hatenido problemas en cumplir lo exigido y, en<strong>la</strong> mayoría <strong>de</strong> casos, no ha percibido ellenguaje como un problema.• El estudiante que, por formación académicaantigua, sólo está introducido mínimamente a<strong>la</strong> orientación a objetos y que no tieneconocimiento <strong>de</strong> Java, ha sabido utilizar elprograma patrón suministrado y llegar con é<strong>la</strong> todas <strong>la</strong>s respuestas p<strong>la</strong>nteadas. Es ciertoque, en algunos casos, no se ha p<strong>la</strong>nteadoenten<strong>de</strong>r completamente cómo se justificaba<strong>la</strong> propuesta <strong>de</strong>l patrón, con lo que se pue<strong>de</strong><strong>de</strong>cir que ha visto el aspecto <strong>de</strong> un programamínimo en Java, pero no que será capaz <strong>de</strong>e<strong>la</strong>borar uno <strong>de</strong>s<strong>de</strong> cero. Sea como sea, conesta situación <strong>de</strong> partida, este resultado sepue<strong>de</strong> consi<strong>de</strong>rar un hito relevante.En general, pues, Java no ha resultado ser unelemento problemático, sino más bien al contrario.El interés por profundizar en él ha beneficiado <strong>la</strong>consecución <strong>de</strong> los otros objetivos <strong>de</strong> aprendizaje.Es <strong>de</strong>cir, lo que en principio podía parecer másconflictivo se ha acabado convirtiendo en unmotor para el seguimiento <strong>de</strong> los contenidos.4.2. Otros efectos constatadosComo se ha ido <strong>de</strong>mostrando en <strong>la</strong>s diferentesasignaturas y carreras que imparte <strong>la</strong> UOC, en unentorno <strong>de</strong> aprendizaje a distancia y virtual <strong>la</strong>constancia en el estudio y en el mantenimiento <strong>de</strong>un ritmo regu<strong>la</strong>r <strong>de</strong> <strong>de</strong>dicación al mismo tienenuna importancia si cabe mayor que en los entornospresenciales.Así, el hecho <strong>de</strong> que <strong>la</strong> práctica sobre JDBC sep<strong>la</strong>ntee periodificada con dos puntos <strong>de</strong> entrega yque se disponga <strong>de</strong> un elevado número <strong>de</strong>semanas para resolver<strong>la</strong> ha facilitado e<strong>la</strong>prendizaje pau<strong>la</strong>tino. Cuando no existía <strong>la</strong>obligación <strong>de</strong> una entrega intermedia, seprodujeron bastantes casos <strong>de</strong> abandono ya que elestudiante <strong>de</strong>jaba acumu<strong>la</strong>r todo el trabajo al final,muy cerca <strong>de</strong> <strong>la</strong> fecha <strong>de</strong> entrega <strong>de</strong>finitiva.Un aspecto que ha aparecido espontáneamenteha sido el trabajo co<strong>la</strong>borativo entre losestudiantes. En nuestra universidad, <strong>la</strong> existencia<strong>de</strong> un espacio común <strong>de</strong> intercambio (el foro) hafacilitado que expusieran en público susproblemas para solicitar ayuda <strong>de</strong> los compañeros.La respuesta <strong>de</strong>l grupo, en general, ha sidoestimu<strong>la</strong>nte: en muchas ocasiones no se esperabana que el profesor diera alguna indicación alproblema sino que se ofrecían soluciones yexperiencias particu<strong>la</strong>res. Curiosamente, losproblemas expuestos no han sido tanto <strong>de</strong>soluciones <strong>de</strong> diseño (los contenidos originales y


propios <strong>de</strong> cada estudiante), sino <strong>de</strong> temas másprácticos sobre <strong>la</strong> implementación con el lenguajeo con el driver y <strong>la</strong> configuración <strong>de</strong>l entorno. Lageneración <strong>de</strong> este comportamiento co<strong>la</strong>borativonos parece especialmente importante porque<strong>de</strong>nota una capacidad para compartir experienciasque, <strong>de</strong> mantenerse como una constante en <strong>la</strong>actividad <strong>de</strong>l estudiante, constituirá un valor muypreciado para el trabajo en grupo en un entornoprofesional.Las principales críticas <strong>de</strong> los estudiantes hanvenido por aspectos menos re<strong>la</strong>cionados connuestros objetivos: el SGBD utilizado (que resultauna herramienta didáctica suficiente pero que norepresenta un producto con mucha imp<strong>la</strong>ntaciónactual), así como <strong>la</strong> dificultad para encontrarinformación adicional, incluso <strong>de</strong> <strong>la</strong>s propiasfuentes. Estas consi<strong>de</strong>raciones se irán teniendo encuenta progresivamente, como vía natural paraincrementar <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> propuesta.4.3. Datos comparativosComo colofón, hemos querido contrastar nuestrapercepción sobre <strong>la</strong> aceptación <strong>de</strong> <strong>la</strong> propuestaentre los estudiantes, así como su efecto positivoen el rendimiento académico.En el primer aspecto sólo po<strong>de</strong>mos remitirnosa los comentarios públicos y voluntarios <strong>de</strong> losestudiantes, dado que no se ha realizado unaencuesta formal entre ellos. De estos comentarios,y con <strong>la</strong>s reservas que impone su origen, hemoscreído <strong>de</strong>tectar una elevada satisfacción con e<strong>la</strong>prendizaje adquirido a pesar <strong>de</strong> su complejidad y<strong>de</strong>l esfuerzo que requiere. Incluso hemosOne-way ANOVA: Sem1; Sem2; Sem3constatado que algunos <strong>de</strong> los matricu<strong>la</strong>dos másrecientes lo han hecho por recomendación <strong>de</strong>antiguos estudiantes.En cuanto al rendimiento académico hemosresumido los datos sobre <strong>la</strong> nota media <strong>de</strong> cadacuatrimestre, así como <strong>la</strong>s diferencias objetivasentre ellos, resumen que se concreta en <strong>la</strong>siguiente tab<strong>la</strong>:Semestre 1:!" Voluntaria!" Una entrega!" Caso guiado.!" Estudiantes Ing. TécnicasSemestre 2:!" Obligatoria!" Dos entregas (primera voluntaria)!" Caso abierto!" Estudiantes Ing. Técnic. y SuperiorSemestre 3:!" Obligatoria!" Dos entregas!" Caso abierto!" Estudiantes Ing. Técnic. y SuperiorMedia6.937.487.98A continuación, para intentar <strong>de</strong>tectar si elincremento aparente en dicha nota pue<strong>de</strong>consi<strong>de</strong>rarse significativo, hemos sometido losdatos a un test <strong>de</strong> ANOVA (figura 2).El resultado <strong>de</strong> este test indica que, en efecto,<strong>la</strong> nota media obtenida en el tercer semestre essignificativamente superior (a un nivel <strong>de</strong>significación <strong>de</strong>l 95%) a <strong>la</strong> nota media <strong>de</strong>l primersemestre (los intervalos correspondientes sonAnalysis of VarianceSource DF SS MS F PFactor 2 22,96 11,48 7,10 0,001Error 153 247,29 1,62Total 155 270,25Individual 95% CIs For MeanBased on Pooled StDevLevel N Mean StDev -+---------+---------+---------+-----Sem1 29 6,931 0,873 (---------*--------)Sem2 63 7,476 1,430 (------*-----)Sem3 64 7,977 1,255 (------*-----)-+---------+---------+---------+-----Pooled StDev = 1,271 6,50 7,00 7,50 8,00Fig. 2: Resultados <strong>de</strong>l test <strong>de</strong> ANOVA


disjuntos), lo que corrobora nuestra impresión <strong>de</strong>mejora.5. Perspectivas <strong>de</strong> futuroPara terminar queremos esbozar unas líneas sobrecómo podría seguir avanzando esta propuesta.En primer lugar, se constata que <strong>la</strong>sherramientas <strong>de</strong> <strong>de</strong>sarrollo rápido <strong>de</strong> aplicaciones(RAD) tienen un uso re<strong>la</strong>tivamente pocoextendido entre los estudiantes y los ejercicios quese les exigen en diferentes asignaturas. Estocontrasta con <strong>la</strong> elevada imp<strong>la</strong>ntación que tienenen los entornos profesionales.Por este motivo, podría consi<strong>de</strong>rarse en unfuturo, y dado que los estudiantes cada vez llegancon un conocimiento más profundo en Java y enorientación a objetos, realizar <strong>la</strong> práctica en unentorno gráfico y utilizando alguna <strong>de</strong> estasherramientas para Java. Las necesida<strong>de</strong>s <strong>de</strong> loscasos que se trabajan lo hacen perfectamenteaplicable y justificable. De esta forma, a su vez, alestudiante podrá introducírsele en el código Javaque generan este tipo <strong>de</strong> aplicaciones. En estecódigo conviven objetos generadosautomáticamente y que representan c<strong>la</strong>ses sólonecesarias para <strong>la</strong> implementación <strong>de</strong>l GUI, conlos objetos que representan <strong>la</strong>s c<strong>la</strong>ses querespon<strong>de</strong>n al problema p<strong>la</strong>nteado. Los mo<strong>de</strong>losque implementan estas c<strong>la</strong>ses específicas para elinterfaz gráfico, constituyen un conjunto muyimportante sobre el que el estudiante <strong>de</strong>bería teneralguna referencia a lo <strong>la</strong>rgo <strong>de</strong> sus estudios.En segundo y último lugar, el acceso a bases<strong>de</strong> datos <strong>de</strong>s<strong>de</strong> programación en Java es unaspecto que podría exportarse e incluirseextendidamente en otro tipo <strong>de</strong> asignaturasorientadas a <strong>la</strong> resolución <strong>de</strong> proyectos, a sistemasdistribuidos o a aplicaciones Internet entre otras.Es <strong>de</strong>cir, se podría llegar a reorientar elp<strong>la</strong>nteamiento y el uso <strong>de</strong> este material y que elmo<strong>de</strong>lo JDBC se explicara en un contexto <strong>de</strong>aprendizaje más general, no restringido sólo al <strong>de</strong><strong>la</strong>s bases <strong>de</strong> datos.Referencias[1] Sistac P<strong>la</strong>nas, Jaume (Coord) y otros. Bases <strong>de</strong>da<strong>de</strong>s I. Ed. UOC. Barcelona, 1999.[2] Sistac P<strong>la</strong>nas, Jaume (Coord) y otros. Bases <strong>de</strong>da<strong>de</strong>s II. Ed. UOC. Barcelona, 1999.[3] Rodríguez González, M.Elena. Programacióamb SQL en: Sistac P<strong>la</strong>nas, Jaume (Coord) yotros. Bases <strong>de</strong> da<strong>de</strong>s II. Ed. UOC. Barcelona,1999.[4] Mal<strong>la</strong>fré i Porta, Francesc Xavier.Components lògics d’una base <strong>de</strong> da<strong>de</strong>s en:Sistac P<strong>la</strong>nas, Jaume (Coord) y otros. Bases<strong>de</strong> da<strong>de</strong>s II. Ed. UOC. Barcelona, 1999.[5] Marco Simó, Josep Maria. SQL i Java. UOC.Material <strong>de</strong> <strong>la</strong> asignatura Bases <strong>de</strong> da<strong>de</strong>s II,2001.[6] http://industry.java.sun.com/products/jdbc/drivers[7] Sun Microsystems, Inc. (1996, 1997) JDBCGui<strong>de</strong>: Getting Started Documentación <strong>de</strong>lJDK 1.2.[8] Fisher, (M.) Sun Microsystems, Inc. (1997)JDBC Database Access: Trail.Documentación <strong>de</strong>l JDK 1.2.[9] Informix Sotware, Inc. (1997) InformixJDBC Driver: Programmers Gui<strong>de</strong>.Documentación <strong>de</strong>l driver JDBC ver. 2.11.


Calidad y evaluación<strong>de</strong> <strong>la</strong> docencia


Mejoras en <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> docencia <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> asignaturaFundamentos <strong>de</strong> InformáticaMiguel A. Vega Rodríguez, Juan M. Sánchez Pérez, Juan A. Gómez PulidoDepartamento <strong>de</strong> Informática. Universidad <strong>de</strong> ExtremaduraEscue<strong>la</strong> Politécnica. Campus Universitario, s/n. 10071 Cáceres. SpainE-mail: mavega@unex.es, sanperez@unex.es, jangomez@unex.es. Fax: +34-927-257202ResumenLa asignatura Fundamentos <strong>de</strong> Informática,impartida en <strong>la</strong> Universidad <strong>de</strong> Extremadura(UEX), pertenece al p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> <strong>la</strong>titu<strong>la</strong>ción <strong>de</strong> Ingeniería Técnica <strong>de</strong>Telecomunicaciones, especialidad Sonido eImagen. Titu<strong>la</strong>ción que fue imp<strong>la</strong>ntadarecientemente en <strong>la</strong> UEX, curso 1998/1999. Losautores han sido responsables <strong>de</strong> dicha asignatura<strong>de</strong>s<strong>de</strong> su inicio, y <strong>la</strong> han ido mejorandopau<strong>la</strong>tinamente hasta llegar a <strong>la</strong> situación actual.En esta ponencia se presentan <strong>la</strong>s mejorasdocentes que los autores han aplicado en <strong>la</strong>asignatura <strong>de</strong>s<strong>de</strong> su creación, con el ánimo <strong>de</strong>dar<strong>la</strong>s a conocer a otros profesores, y buscandosiempre el intercambio <strong>de</strong> i<strong>de</strong>as y experiencias. Laponencia no sólo presenta <strong>la</strong>s mejoras en sí, sinoque también indica cómo se han obtenido losfondos necesarios para llevar<strong>la</strong>s a cabo, cuestióntambién <strong>de</strong> especial interés.1. IntroducciónLa asignatura Fundamentos <strong>de</strong> Informática (FI) esuna asignatura obligatoria anual <strong>de</strong> 15 créditos (9teóricos y 6 prácticos), que correspon<strong>de</strong>n a 150horas lectivas (90 teóricas y 60 prácticas), que seimparte en el primer curso <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong>Ingeniero Técnico en Telecomunicación,especialidad Sonido e Imagen (ITTSI), <strong>de</strong>ntro <strong>de</strong><strong>la</strong> Universidad <strong>de</strong> Extremadura.Esta asignatura ha sido impartida por losautores <strong>de</strong> este trabajo <strong>de</strong>s<strong>de</strong> <strong>la</strong> imp<strong>la</strong>ntación en <strong>la</strong>UEX <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> ITTSI, es <strong>de</strong>cir, <strong>de</strong>s<strong>de</strong> elcurso académico 1998/1999. Describimos en estetrabajo <strong>la</strong> filosofía <strong>de</strong>l programa <strong>de</strong>sarrol<strong>la</strong>dodurante los cuatro últimos años, sus principalespuntos <strong>de</strong> interés, así como <strong>la</strong>s experienciasdocentes y conclusiones obtenidas. También<strong>de</strong>stacamos <strong>la</strong>s mejoras docentes que se han idointroduciendo en <strong>la</strong> asignatura a lo <strong>la</strong>rgo <strong>de</strong> esteperiodo, y cómo se han obtenido los fondosnecesarios para llevar<strong>la</strong>s a cabo.2. Contexto2.1. Objetivos <strong>de</strong> <strong>la</strong> asignaturaPara <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> los contenidos <strong>de</strong> <strong>la</strong>asignatura se ha tenido en cuenta el hecho <strong>de</strong> quese trata <strong>de</strong> <strong>la</strong> única asignatura, entre <strong>la</strong>s troncales yobligatorias en el p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> ITTSI, quetienen los alumnos para adquirir conocimientos enel amplio campo <strong>de</strong> <strong>la</strong> Informática. Por estemotivo se intenta dar una visión general y práctica<strong>de</strong> <strong>la</strong> Informática en sus dos vertientes: hardwarey software. También se ha tenido en cuenta <strong>la</strong>re<strong>la</strong>ción <strong>de</strong> esta asignatura con <strong>la</strong>s restantes <strong>de</strong>lp<strong>la</strong>n <strong>de</strong> estudios.Los objetivos fundamentales que se preten<strong>de</strong>nconseguir con esta asignatura son:• Introducir al alumno en el campo <strong>de</strong> <strong>la</strong>Informática.• Conocer en profundidad <strong>la</strong> organización yestructura <strong>de</strong> un computador, centrándose en<strong>la</strong> representación <strong>de</strong> <strong>la</strong> información y en elestudio <strong>de</strong> los sistemas digitales.• Profundizar en <strong>la</strong> metodología <strong>de</strong> <strong>la</strong>programación, con el objetivo <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>ralgoritmos y programas en C, así comoconocer y manejar <strong>la</strong>s estructuras <strong>de</strong> datosque se utilizarán en los programas.• Introducir los conceptos básicos sobresistemas <strong>de</strong> comunicación o teleinformáticos.


2.2. Programa <strong>de</strong> <strong>la</strong> asignaturaEl programa está dividido en dos gran<strong>de</strong>s móduloscon los que se preten<strong>de</strong>n alcanzar los objetivosantes mencionados. Los dos primeros objetivos seconsiguen gracias al módulo I, mientras los dosrestantes se alcanzan con el módulo II.Al tratarse <strong>de</strong> una asignatura anual y serambos módulos <strong>de</strong> igual importancia, cadamódulo es impartido en un cuatrimestre, es <strong>de</strong>cir,se realiza <strong>la</strong> impartición <strong>de</strong> los cinco primerostemas en el primer cuatrimestre y el resto en elsegundo. La re<strong>la</strong>ción <strong>de</strong> módulos es <strong>la</strong> siguiente:• Módulo I: Introducción. Representación <strong>de</strong> <strong>la</strong>Información. Sistemas Digitales.• Módulo II: Programación. Estructuras <strong>de</strong>Datos. Sistemas <strong>de</strong> Comunicación.El primer módulo está compuesto por lostemas que se indican a continuación:• Tema 1. Introducción a <strong>la</strong> Informática. Elcomputador.• Tema 2. Representación <strong>de</strong> <strong>la</strong> información.Datos numéricos y alfanuméricos.• Tema 3. Especificación e implementación <strong>de</strong>sistemas combinacionales.• Tema 4. Módulos combinacionales básicos.• Tema 5. Especificación e implementación <strong>de</strong>sistemas secuenciales.Por otro <strong>la</strong>do, el módulo segundo consta <strong>de</strong>los seis temas siguientes:• Tema 6. Topología <strong>de</strong> <strong>la</strong> programación.• Tema 7. Lenguaje <strong>de</strong> programación C.Programación básica.• Tema 8. Organización <strong>de</strong> los datos en <strong>la</strong>memoria central.• Tema 9. Lenguaje <strong>de</strong> programación C.Programación avanzada.• Tema 10. Ficheros y bases <strong>de</strong> datos.• Tema 11. Introducción a <strong>la</strong> teleinformática.Para obtener información más <strong>de</strong>tal<strong>la</strong>da sobreel programa <strong>de</strong> <strong>la</strong> asignatura el lector pue<strong>de</strong>consultar <strong>la</strong> referencia [5].2.3. Implementación <strong>de</strong>l programaLa tab<strong>la</strong> 1 resume <strong>la</strong> distribución horaria que,aproximadamente, se emplea para <strong>la</strong> asignatura <strong>de</strong>Fundamentos <strong>de</strong> Informática. En esta tab<strong>la</strong>aparecen reflejados los dos módulos <strong>de</strong>l programa,subdivididos en temas, indicando <strong>la</strong> carga lectivapor tema. Obsérvese que se respeta tanto elnúmero <strong>de</strong> créditos teóricos como prácticos queposee <strong>la</strong> asignatura.TEMASDISTRIBUCIÓN HORARIAHORASTEÓRICAS PRÁCTICAS TOTALESMódulo ITema 1 2 0 2Tema 2 8 4 12Tema 3 12 12 24Tema 4 9 7 16Tema 5 14 7 21Totales Módulo I 45 30 75Módulo IITema 6 7 4 11Tema 7 12 11 23Tema 8 7 2 9Tema 9 8 10 18Tema 10 7 2 9Tema 11 4 1 5Totales Módulo II 45 30 75Total Asignatura 90 60 150Tab<strong>la</strong> 1. Distribución horaria por temas <strong>de</strong> FIRemarcamos el carácter aproximado <strong>de</strong> <strong>la</strong>tab<strong>la</strong> 1. Partir exclusivamente <strong>de</strong> unos contenidospreconcebidos no conduce a ningún resultadopositivo. Igualmente hay que valorar <strong>la</strong> respuesta<strong>de</strong>l alumno a los contenidos que se vanimpartiendo, <strong>la</strong>s preguntas que formu<strong>la</strong>n, cómo <strong>la</strong>sformu<strong>la</strong>n, los ejercicios que resuelven, <strong>la</strong>s dudasque tienen, etc. como un indicador dinámico <strong>de</strong> sunivel <strong>de</strong> asimi<strong>la</strong>ción. De aquí que el programa<strong>de</strong>ba consi<strong>de</strong>rarse como un marco <strong>de</strong> referenciageneral, susceptible <strong>de</strong> ser dinámicamenteampliado o simplificado, en puntos <strong>de</strong>terminados<strong>de</strong> su <strong>de</strong>sarrollo, según lo aconsejen <strong>la</strong>scircunstancias <strong>de</strong> cada momento.3. Mejoras docentes3.1. Edición <strong>de</strong>l libro “Fundamentos <strong>de</strong>Informática”Aunque cada vez sean más los profesores queofrecen a sus alumnos el material a<strong>de</strong>cuado(apuntes) para el seguimiento correcto <strong>de</strong> <strong>la</strong>sc<strong>la</strong>ses. Todavía se imparten c<strong>la</strong>ses magistrales en<strong>la</strong>s que a los alumnos no se les entregan apuntes<strong>de</strong> apoyo, y en <strong>la</strong>s que <strong>la</strong> exposición <strong>de</strong> los


conceptos se realiza simplemente <strong>de</strong> manera oral(incluso “dictada”) y con ayuda <strong>de</strong> <strong>la</strong> pizarra.Sin embargo, pensamos que con estametodología docente se corre el riesgo <strong>de</strong> explicarlos conceptos teóricos con <strong>de</strong>masiada celeridad<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l estudiante. Para e<strong>la</strong>lumno es difícil seguir el ritmo <strong>de</strong> c<strong>la</strong>se, es <strong>de</strong>cir,mantener <strong>la</strong> concentración durante toda una hora.A<strong>de</strong>más, le cuesta captar todas <strong>la</strong>s explicacionesdadas oralmente, al mismo tiempo que copia datosescritos en <strong>la</strong> pizarra. Como consecuencia, cadaalumno pue<strong>de</strong> llegar a tener su propia versión <strong>de</strong>los conceptos teóricos, algunos alumnos no llegana adquirir todos los conceptos, etc. Más aún, e<strong>la</strong>lumno no dispone <strong>de</strong> tiempo suficiente pararazonar todo aquello que copia, llegando aconvertirse en un acto mecánico. En conclusión,los alumnos tien<strong>de</strong>n a sentirse inseguros sobre <strong>la</strong>corrección <strong>de</strong> lo que copian, sobre todo cuando a<strong>la</strong> hora <strong>de</strong> repetir una explicación no se haceutilizando exactamente <strong>la</strong>s mismas pa<strong>la</strong>bras.Debido a los inconvenientes <strong>de</strong> este método,hemos optado por dar los apuntes por escrito a losalumnos <strong>de</strong>s<strong>de</strong> el primer día, exponiendooralmente, y con ayuda <strong>de</strong> <strong>la</strong> pizarra y/otransparencias, según el caso. De esta forma, losalumnos poseen apuntes <strong>de</strong> gran calidad,completos, y ajustados al temario. A<strong>de</strong>más, estemétodo permite que el alumno se centre encompren<strong>de</strong>r <strong>la</strong>s explicaciones <strong>de</strong>l profesor, y queel profesor disponga <strong>de</strong> más tiempo para ac<strong>la</strong>rar,<strong>de</strong>batir, trabajar con el grupo, realizar problemas,etc. Es <strong>de</strong>cir, se busca que en c<strong>la</strong>se no sólo serepase el contenido <strong>de</strong> los apuntes, sino que seañadan matices, ejemplos,... <strong>de</strong> interés que noaparecen en éstos. Esto hace atractivas <strong>la</strong>s c<strong>la</strong>ses,haciendo que el alumno no pierda el interés por<strong>la</strong>s mismas.El esfuerzo <strong>de</strong>sarrol<strong>la</strong>do en <strong>la</strong> escritura <strong>de</strong>dichos apuntes se ha visto completado yrecompensado con <strong>la</strong> edición <strong>de</strong> un libro en el quese recogen los mismos, junto con los problemas <strong>de</strong>c<strong>la</strong>se [4]. Para <strong>la</strong> edición <strong>de</strong>l libro se contactó conel Instituto <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong> Educación (ICE) <strong>de</strong><strong>la</strong> UEX, que anualmente oferta una convocatoriapara publicación <strong>de</strong> manuales y libros <strong>de</strong> apoyo a<strong>la</strong> docencia. Tras pasar por una revisión estricta en<strong>la</strong> que sólo fueron aceptados dos títulos, el libro seencuentra actualmente pendiente <strong>de</strong> publicación.Creemos que este libro será <strong>de</strong> gran utilidadpara el alumnado, pues ofrece <strong>la</strong>s ventajas <strong>de</strong> losapuntes junto con una mayor calidad, <strong>de</strong>bida a unaedición impresa y no fotocopiada.3.2. Enseñanza a través <strong>de</strong> InternetInternet se está convirtiendo en un importanterecurso educativo gracias a que permite superar<strong>la</strong>s limitaciones <strong>de</strong> lugar y tiempo. A<strong>de</strong>más, no<strong>de</strong>be olvidarse el efecto que <strong>la</strong> interactividad tieneen el proceso <strong>de</strong> aprendizaje. Por eso, <strong>de</strong>s<strong>de</strong> unprincipio nos pareció importante su aplicación<strong>de</strong>ntro <strong>de</strong> <strong>la</strong> asignatura Fundamentos <strong>de</strong>Informática.Figura 1. Sitio web para <strong>la</strong> asignatura FINuestro primer acercamiento a <strong>la</strong> utilización<strong>de</strong> Internet, como soporte a <strong>la</strong> docencia, fue eldiseño <strong>de</strong>l sitio web <strong>de</strong> <strong>la</strong> asignatura FI [5]. Comopue<strong>de</strong> observarse en <strong>la</strong> figura 1, estas páginas webhan sido especialmente diseñadas para serconsultadas por los alumnos, y en el<strong>la</strong>s pue<strong>de</strong>nencontrar información adicional sobre <strong>la</strong>asignatura: temario completo, bibliografía<strong>de</strong>tal<strong>la</strong>da, profesorado, horarios, normasgenerales, criterios <strong>de</strong> evaluación, tutorías, etc.;a<strong>de</strong>más <strong>de</strong> ficheros con material para seguir <strong>la</strong>asignatura. También se ofreció a los alumnos,<strong>de</strong>s<strong>de</strong> un principio, el correo electrónico como víaadicional a <strong>la</strong>s tutorías presenciales para realizarsus consultas, con <strong>la</strong>s ventajas que esto implica:consultas <strong>de</strong>s<strong>de</strong> casa, flexibilidad <strong>de</strong> horarios, …Sin embargo, nuestra inquietud en este ámbitonos llevó a <strong>la</strong> solicitud <strong>de</strong> una ayuda paraProyectos <strong>de</strong> Innovación Docente alVicerrectorado <strong>de</strong> Innovación Educativa y CalidadDocente, y al Instituto <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong>Educación, ambos <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>


Extremadura. Ayuda que fue concedida en fechasrecientes, y gracias a <strong>la</strong> cual se está diseñandodurante este curso académico el sistema SD2I(Sistema para <strong>la</strong> Docencia <strong>de</strong> Sistemas Digitales através <strong>de</strong> Internet) [6]. El objetivo global <strong>de</strong> esteproyecto consiste en el <strong>de</strong>sarrollo <strong>de</strong> un sistemapara <strong>la</strong> enseñanza, control docente y evaluación<strong>de</strong>l aprendizaje a través <strong>de</strong> Internet <strong>de</strong> parte <strong>de</strong> <strong>la</strong>materia <strong>de</strong> <strong>la</strong> asignatura Fundamentos <strong>de</strong>Informática. En particu<strong>la</strong>r, este sistema se centraen el temario impartido durante el primercuatrimestre y <strong>de</strong>dicado a los sistemas digitales.<strong>de</strong> los estudiantes y <strong>la</strong> calidad <strong>de</strong> <strong>la</strong>s lecciones<strong>de</strong>sarrol<strong>la</strong>das (control docente y evaluación <strong>de</strong> losalumnos, generación <strong>de</strong> estadísticas, etc.). Lafigura 2 presenta, como ejemplo, una <strong>de</strong> <strong>la</strong>spáginas web que componen <strong>la</strong> parte teórica <strong>de</strong>lsistema, mientras que <strong>la</strong> figura 3 muestra uno <strong>de</strong>los múltiples ejercicios <strong>de</strong> autoevaluación <strong>de</strong>lmismo.Figura 3. Ejemplo <strong>de</strong> ejercicio <strong>de</strong> autoevaluaciónFigura 2. Una <strong>de</strong> <strong>la</strong>s páginas web <strong>de</strong>l sistema SD2IEl sistema SD2I combina técnicas propias enlenguaje HTML [2], Java [3] y CGI [7], junto consoftware comercial (Macromedia Authorware[1]); y resi<strong>de</strong> y se administra en un PC conWindows NT Server 4.0, configurado comoservidor <strong>de</strong> Internet. Los contenidos docentes sealmacenan con una estructura y formato estándar,<strong>de</strong> manera que estos contenidos puedan generarseen PCs no conectados en red y ajenos al servidor,para posteriormente ser administrados por elservidor.Las lecciones son accesibles <strong>de</strong>s<strong>de</strong> cualquiercomputador conectado a Internet, <strong>de</strong>s<strong>de</strong> el que sepue<strong>de</strong> seleccionar fácilmente <strong>la</strong> materia a estudiar,interactuando con el<strong>la</strong>. De esta forma los alumnospodrán acce<strong>de</strong>r al sistema tanto <strong>de</strong>s<strong>de</strong> su centrouniversitario como <strong>de</strong>s<strong>de</strong> su propio domicilio, conlo que se potencia el trabajo en casa y e<strong>la</strong>utoaprendizaje, redundando en una mejora <strong>de</strong> <strong>la</strong>calidad <strong>de</strong> <strong>la</strong> enseñanza. Los resultados <strong>de</strong> estainteractividad (tiempo <strong>de</strong> aprendizaje, respuestas a<strong>la</strong>s cuestiones, evaluaciones, etc.) son gestionadospor el servidor. Así conoceremos el rendimientoComo hemos dicho, el servidor monitoriza yalmacena, en un formato dado, los resultados <strong>de</strong>lproceso <strong>de</strong> aprendizaje. Los alumnos sólo pue<strong>de</strong>nconocer algunas parce<strong>la</strong>s <strong>de</strong> <strong>la</strong> información <strong>de</strong>lresultado <strong>de</strong> su interacción con el contenidodidáctico (calificación <strong>de</strong> <strong>la</strong> prueba, porcentajes <strong>de</strong>éxito, etc.). Sin embargo, el resto <strong>de</strong> <strong>la</strong>información se almacena internamente, sin que elusuario tenga conocimiento <strong>de</strong> ello. Estainformación resulta <strong>de</strong> gran interés, <strong>de</strong> hecho,constituirán los únicos elementos <strong>de</strong> juicio <strong>de</strong> quedispondremos para po<strong>de</strong>r evaluar el rendimiento oaprovechamiento <strong>de</strong> <strong>la</strong>s lecciones por parte <strong>de</strong><strong>la</strong>lumno, y esto habrá sido generado por el propiosistema <strong>de</strong> forma automática. De esta manera,a<strong>de</strong>más se asegura <strong>la</strong> confi<strong>de</strong>ncialidad <strong>de</strong> los datosobtenidos, ya que al residir éstos en el servidor, nocabe <strong>la</strong> posibilidad <strong>de</strong> “retocarlos” <strong>de</strong>s<strong>de</strong> fuera.Se prevé que se finalizará <strong>la</strong> construcción <strong>de</strong>lsistema SD2I antes <strong>de</strong> que acabe el cursoacadémico actual. Una vez concluido, se pedirá alos alumnos matricu<strong>la</strong>dos en <strong>la</strong> asignaturaFundamentos <strong>de</strong> Informática que lo evalúen. Deesta forma, se <strong>de</strong>tectarán los <strong>de</strong>fectos y virtu<strong>de</strong>s <strong>de</strong>SD2I frente al mo<strong>de</strong>lo <strong>de</strong> enseñanza actual. Estaevaluación se llevará a cabo mediante <strong>la</strong>utilización <strong>de</strong>l sistema <strong>de</strong> manera masiva por parte


<strong>de</strong> los alumnos, y <strong>la</strong> realización <strong>de</strong> encuestas a losmismos. Los errores y <strong>de</strong>ficiencias que se <strong>de</strong>tectenpor parte <strong>de</strong> los alumnos, serán <strong>de</strong>purados,buscando que el sistema esté totalmente preparadopara el curso académico siguiente.Para obtener información más <strong>de</strong>tal<strong>la</strong>da sobreSD2I el lector pue<strong>de</strong> consultar <strong>la</strong> referencia [6].facilita que el alumno también pueda disponer <strong>de</strong>el<strong>la</strong> en casa.3.3. Adquisición <strong>de</strong> material avanzado paraprácticasEmpezaremos este apartado con una breve<strong>de</strong>scripción sobre el material utilizado en prácticas<strong>de</strong>s<strong>de</strong> un inicio, para finalizar indicando <strong>la</strong>súltimas adquisiciones que se han realizado, con elobjetivo <strong>de</strong> mejorar <strong>la</strong> docencia en prácticas,gracias a una ayuda obtenida a través <strong>de</strong> <strong>la</strong> Junta<strong>de</strong> Extremadura (nº <strong>de</strong> expediente MCD99C006).Al encontrarse el programa <strong>de</strong> <strong>la</strong> asignaturadividido en dos gran<strong>de</strong>s módulos, también <strong>la</strong>sprácticas <strong>de</strong> <strong>la</strong> misma pue<strong>de</strong>n agruparse en esosdos módulos. Cada módulo <strong>de</strong> prácticas se<strong>de</strong>sarrol<strong>la</strong> durante un cuatrimestre, teniendo unare<strong>la</strong>ción directa con el temario impartido duranteese cuatrimestre.Des<strong>de</strong> un principio se buscó que <strong>la</strong>s prácticaspermitieran al alumno el contacto directo con <strong>la</strong>sdos vertientes <strong>de</strong> <strong>la</strong> Informática: hardware ysoftware. Para <strong>la</strong> vertiente software (segundocuatrimestre), se pensó en el lenguaje <strong>de</strong>programación C, en lugar <strong>de</strong>l Pascal, por ser unlenguaje con mayor proyección en el mundoacadémico e industrial. Dando <strong>la</strong> posibilidad a<strong>la</strong>lumno <strong>de</strong> exten<strong>de</strong>r posteriormente susconocimientos en programación con otroslenguajes basados en él (C++, Visual C++,...) y <strong>de</strong>amplia aceptación en <strong>la</strong> actualidad.Para estas prácticas, cada grupo (dos alumnos)utiliza un puesto <strong>de</strong> or<strong>de</strong>nador en una red localcon acceso al compi<strong>la</strong>dor Bor<strong>la</strong>nd C++ 3.1. Estecompi<strong>la</strong>dor posee un entorno <strong>de</strong> <strong>de</strong>sarrollointegrado, visual e interactivo, con todas <strong>la</strong>sfacilida<strong>de</strong>s necesarias para <strong>la</strong> construcción <strong>de</strong>programas en C y C++, tanto para entorno MS-DOS como para Windows: editor <strong>de</strong> texto,compi<strong>la</strong>dor, en<strong>la</strong>zador, <strong>de</strong>purador, explorador <strong>de</strong>código fuente, administrador <strong>de</strong> proyectos,sistema <strong>de</strong> ayuda, etc. La versión 3.1 <strong>de</strong>lcompi<strong>la</strong>dor pue<strong>de</strong> ejecutarse en entorno DOS yWindows con unos requisitos mínimos, lo queFigura 4. Aspecto <strong>de</strong>l compi<strong>la</strong>dor Bor<strong>la</strong>nd C++ 3.1Se eligió este compi<strong>la</strong>dor por ser el másextendido en entorno DOS/Windows para <strong>la</strong>programación en C. Se eligió esta versión por ser<strong>la</strong> más alta que existe <strong>de</strong> dicho compi<strong>la</strong>dor(Bor<strong>la</strong>nd C++) que permita el <strong>de</strong>sarrollo <strong>de</strong>programas en C para MS-DOS. Las versionesposteriores obligan al uso <strong>de</strong> <strong>la</strong> p<strong>la</strong>taformaWindows, y con ello a conceptos <strong>de</strong> programaciónmás complejos, más propios <strong>de</strong>l lenguaje C++,como: orientación a objetos, eventos, paso <strong>de</strong>mensajes, etc. Por otro <strong>la</strong>do, <strong>la</strong>s versionesanteriores presentan, como es lógico, una menorcalidad y facilidad en su manejo. En particu<strong>la</strong>r, <strong>la</strong>versión 3.1 posee <strong>la</strong>s siguientes mejorasimportantes: edición sintáctica por colores (secolorean <strong>la</strong>s pa<strong>la</strong>bras <strong>de</strong>l código <strong>de</strong> un programasegún su tipo: pa<strong>la</strong>bras reservadas, constantes,<strong>de</strong>finiciones <strong>de</strong> usuario,...; lo cual presenta unagran utilidad didáctica), verificación más estricta<strong>de</strong> <strong>la</strong> sintaxis <strong>de</strong> un programa emitiendo unamayor cantidad <strong>de</strong> mensajes <strong>de</strong> error y warnings(facilitando <strong>la</strong> programación por parte <strong>de</strong> losalumnos), capacidad para modificar el número <strong>de</strong>ficheros que pue<strong>de</strong>n estar abiertos a <strong>la</strong> vez en unprograma <strong>de</strong> MS-DOS, etc. La figura 4 muestra e<strong>la</strong>specto <strong>de</strong> esta herramienta en su versiónWindows, el sistema operativo más utilizadohabitualmente por los alumnos en casa.Respecto a <strong>la</strong> vertiente hardware (primercuatrimestre), <strong>la</strong>s prácticas se centranprincipalmente en el estudio <strong>de</strong> sistemas digitales.Des<strong>de</strong> un principio se pensó que era importante


que los alumnos trabajaran físicamente con loscircuitos digitales a construir, tomando una mayorconciencia <strong>de</strong> los mismos y <strong>de</strong>l entorno hardwareen que se apoya <strong>la</strong> Informática. Por este motivo, acada grupo <strong>de</strong> prácticas (dos alumnos) se leproporciona un entrenador lógico LT-536-10(conjunto autocontenido que permite <strong>la</strong>realización <strong>de</strong> prácticas sobre circuitos lógicos sinnecesidad <strong>de</strong> utilizar instrumentación exterior, verfigura 5), con los cables dotados <strong>de</strong> conectorestipo banana <strong>de</strong> 2 mm. que sean necesarios pararealizar <strong>la</strong>s conexiones <strong>de</strong> cada montaje; A<strong>de</strong>más<strong>de</strong> una bolsita don<strong>de</strong> se incluyen circuitosintegrados <strong>de</strong> <strong>la</strong> familia 74 (TTL compatibles).Los alumnos utilizan unos u otros chips según losnecesiten.Figura 5. Entrenador lógico LT 536 10Sin embargo, también creímos útil <strong>la</strong>utilización por parte <strong>de</strong> los alumnos <strong>de</strong>herramientas software <strong>de</strong> tipo EDA (ElectronicDesign Automation, Automatización <strong>de</strong>l DiseñoElectrónico), puesto que su imp<strong>la</strong>ntación enentornos industriales y académicos es cada vezmayor. En este sentido nos <strong>de</strong>cantamos por <strong>la</strong>herramienta MultiSIM (<strong>de</strong> ElectronicsWorkbench). MultiSIM es una herramienta actualpara Windows, con <strong>la</strong> que se pue<strong>de</strong>n apren<strong>de</strong>r y<strong>de</strong>sarrol<strong>la</strong>r técnicas existentes en <strong>la</strong> industria realpara el diseño e implementación <strong>de</strong> dispositivoselectrónicos. Este software es utilizado poringenieros <strong>de</strong> diseño, profesores y estudiantes entodo el mundo. Se trata <strong>de</strong> un conjunto <strong>de</strong>herramientas EDA muy popu<strong>la</strong>res y extendidas,que permiten realizar CAD (Diseño Asistido porComputador), DFM (Diseño para Fabricación) yCAM (Fabricación Asistida por Computador).MultiSIM permite el diseño <strong>de</strong> circuitoselectrónicos para implementarlos a muy distintosniveles, <strong>de</strong>s<strong>de</strong> tarjetas <strong>de</strong> circuito impreso (PCBs)a dispositivos lógicos programables (FPGAs-CPLDs). Entre otras características po<strong>de</strong>mos<strong>de</strong>stacar <strong>la</strong>s siguientes:• Captura <strong>de</strong> esquemáticos.• Amplia base <strong>de</strong> datos <strong>de</strong> información <strong>de</strong>componentes (agrupados por familias).• Simu<strong>la</strong>ción SPICE analógica/digital completa.• Capacidad amplia <strong>de</strong> análisis <strong>de</strong>l diseño conun total <strong>de</strong> 19 instrumentos <strong>de</strong> medida.• Capacidad <strong>de</strong> reingeniería, puesto que esposible modificar los parámetros <strong>de</strong>l circuitomientras el simu<strong>la</strong>dor se está ejecutando,viendo instantáneamente cómo los cambiosafectan al diseño.• Estudio <strong>de</strong> circuitos electrónicos RF(Frecuencia <strong>de</strong> Radio).• La versión “Education Lab” incluye unconjunto adicional <strong>de</strong> facilida<strong>de</strong>s paraeducación: Posibilidad <strong>de</strong> preparación ypresentación <strong>de</strong> circuitos interactivos;configuración <strong>de</strong> <strong>la</strong>s opciones <strong>de</strong>l software,estableciendo restricciones en los circuitos opa<strong>la</strong>bras <strong>de</strong> paso a ciertas facilida<strong>de</strong>s (útilpara realizar pruebas y test a los alumnos);construcción <strong>de</strong> subcircuitos o “cajasnegras”, para simplificar un circuito (diseñomodu<strong>la</strong>r) u ocultar un grupo <strong>de</strong> componentes<strong>de</strong> manera intencionada; posibilidad <strong>de</strong>control remoto, permitiendo un en<strong>la</strong>cebidireccional entre el profesor y sus alumnos,pudiendo el profesor contro<strong>la</strong>r lo que susalumnos ven en pantal<strong>la</strong>,...Sin embargo, a pesar <strong>de</strong> sus muchas ventajas,su mayor inconveniente es su elevado coste, por loque sólo fue posible su adquisición gracias a unaayuda <strong>de</strong> <strong>la</strong> Junta <strong>de</strong> Extremadura, solicitadadurante el curso académico 1999/2000, <strong>de</strong>ntro <strong>de</strong>su Programa <strong>de</strong> Mejora <strong>de</strong> <strong>la</strong> Calidad Docente <strong>de</strong><strong>la</strong> Universidad <strong>de</strong> Extremadura. Esta ayuda nospermitió adquirir <strong>la</strong>s licencias en red necesariaspara dotar a un <strong>la</strong>boratorio (20 equipos) <strong>de</strong> <strong>la</strong>herramienta MultiSIM 6.22, versión educación.La figura 6 muestra el aspecto <strong>de</strong> estaherramienta.


100%ÉxitoFracaso50%52% 48% 54% 46%55% 45%0%Curso 98/99 Curso 99/00 Curso 00/01Curso académico Alumnos matricu<strong>la</strong>dos98/99 8099/00 10200/01 11301/02 119Figura 6. MultiSIM 6.22 para WindowsPor tanto, en <strong>la</strong> actualidad nuestros alumnoscompaginan el uso <strong>de</strong>l entrenador lógico LT-536-10 con el software MultiSIM. En conclusión,pensamos que <strong>la</strong> utilización <strong>de</strong> herramientashardware (entrenador lógico y chips) y software(MultiSIM) permite al alumnado conocer ambosaspectos. Por un <strong>la</strong>do, trabaja físicamente conchips, realizando <strong>la</strong>s conexiones a<strong>de</strong>cuadas. Porotro <strong>la</strong>do, utiliza una herramienta software <strong>de</strong> granimp<strong>la</strong>ntación industrial, y cuyo manejo podríarequerírsele en el mercado <strong>la</strong>boral.4. ResultadosAunque siempre es difícil evaluar los resultadosobtenidos gracias a <strong>la</strong>s mejoras docentesintroducidas, una posible vía objetiva es el estudioestadístico <strong>de</strong> <strong>la</strong> evolución <strong>de</strong> <strong>la</strong> asignatura. Ennuestro caso, <strong>de</strong>s<strong>de</strong> <strong>la</strong> imp<strong>la</strong>ntación en <strong>la</strong> UEX <strong>de</strong><strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> ITTSI, es <strong>de</strong>cir, <strong>de</strong>s<strong>de</strong> el cursoacadémico 1998/1999. Mediante <strong>la</strong> evaluaciónestadística <strong>de</strong> <strong>la</strong> asignatura po<strong>de</strong>mos obtener elporcentaje <strong>de</strong> éxito y fracaso <strong>de</strong> los alumnos quecursan <strong>la</strong> asignatura a lo <strong>la</strong>rgo <strong>de</strong>l tiempo. Si <strong>la</strong>smejoras docentes han tenido realmente éxito es <strong>de</strong>esperar que el porcentaje <strong>de</strong> fracaso entre losalumnos disminuya, aunque sí es cierto que esteporcentaje también <strong>de</strong>pen<strong>de</strong> <strong>de</strong> otros muchosfactores. La figura 7 muestra una gráfica don<strong>de</strong> seindica el porcentaje <strong>de</strong> aprobados y suspensospara <strong>la</strong> asignatura en los distintos cursosacadémicos.Figura 7. Estadísticas para <strong>la</strong> asignatura FIPara evaluar estos datos con mayor fiabilidad<strong>de</strong>ben tenerse en cuenta <strong>la</strong>s siguientesconsi<strong>de</strong>raciones:• No se dispone <strong>de</strong> los datos <strong>de</strong>l cursoacadémico 01/02, pues éste aún no hafinalizado. Aunque se espera seguir <strong>la</strong>ten<strong>de</strong>ncia <strong>de</strong> años anteriores.• El número <strong>de</strong> nuevas p<strong>la</strong>zas que son ofertadasanualmente ascien<strong>de</strong> a 80, es <strong>de</strong>cir, cadacurso académico sólo pue<strong>de</strong>n entrar 80nuevos alumnos (primera matricu<strong>la</strong>ción),siendo el resto repetidores. Hasta <strong>la</strong> fechasiempre se han agotado <strong>la</strong>s 80 p<strong>la</strong>zasposibles.• La figura 7 muestra <strong>la</strong> cantidad <strong>de</strong> alumnosmatricu<strong>la</strong>dos por curso. Po<strong>de</strong>mos ver unascenso pau<strong>la</strong>tino <strong>de</strong> dicha cantidad. Seespera que <strong>la</strong> misma se incremente en añosposteriores (al tratarse <strong>de</strong> una titu<strong>la</strong>ción <strong>de</strong>reciente imp<strong>la</strong>ntación) hasta llegar a unasituación estable.• También es importante recordar que se trata<strong>de</strong> una asignatura anual y obligatoria <strong>de</strong>primer curso con un total <strong>de</strong> 15 créditos, ycon un amplio temario en Informática, noexistiendo otra asignatura en <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong>ITTSI con esa enorme cantidad <strong>de</strong> créditos.5. ConclusionesEn este trabajo se ha <strong>de</strong>scrito cómo se imparte <strong>la</strong>asignatura Fundamentos <strong>de</strong> Informática <strong>de</strong>ntro <strong>de</strong><strong>la</strong> titu<strong>la</strong>ción ITTSI <strong>de</strong> <strong>la</strong> UEX. También se hanindicado <strong>la</strong>s mejoras docentes que se hanintroducido en <strong>la</strong> asignatura <strong>de</strong>s<strong>de</strong> el curso


académico 1998/1999 hasta <strong>la</strong> actualidad,resaltando el camino seguido para obtener losfondos necesarios. Estas mejoras se distribuyen envarias vertientes: edición <strong>de</strong> un libro <strong>de</strong> apoyo a <strong>la</strong>docencia, utilización <strong>de</strong> Internet para <strong>la</strong>enseñanza, control docente y evaluación <strong>de</strong><strong>la</strong>prendizaje, y finalmente, adquisición <strong>de</strong> materialmás avanzado para <strong>la</strong>s prácticas.Todas <strong>la</strong>s mejoras han sido bien aceptadas porlos alumnos, y como muestra objetiva <strong>de</strong> ello seha presentado un estudio estadístico <strong>de</strong> <strong>la</strong>evolución <strong>de</strong>l porcentaje <strong>de</strong> éxito <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>asignatura.Finalmente, indicar que estas mejoras no sólorecaen en nuestra asignatura sino que tambiénrevierten en otros ámbitos. Por ejemplo, una vezque el sistema SD2I se encuentre totalmente<strong>de</strong>sarrol<strong>la</strong>do podrá ser utilizado no sólo <strong>de</strong>ntro <strong>de</strong><strong>la</strong> asignatura FI, sino también <strong>de</strong>ntro <strong>de</strong> otrasmuchas (Sistemas Digitales, Electrónica Digital,Sistemas Electrónicos Digitales, etc.), <strong>de</strong>dicadas a<strong>la</strong> temática <strong>de</strong> los sistemas digitales, y que seimparten en los primeros cursos <strong>de</strong> muchas <strong>de</strong> <strong>la</strong>sIngenierías en <strong>la</strong> mayoría <strong>de</strong> Universida<strong>de</strong>s.Referencias[1] Kellog, O.; Ziajka, J. Authorware 5 AttainAuthorized. Peachpit Press, 1998.[2] Ray, D.S.; Ray, E.J. Mastering HTML 4.0.Sybex, 1997.[3] Stanek, W.R.; Ketzler, M.; DeRose, S.J.HTML, Java, CGI, VRML, SGML WebPublishing Unleashed. Sams, 1996.[4] Vega, M.A.; Sánchez, J.M. Fundamentos <strong>de</strong>Informática. Instituto <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong>Educación (ICE), Universidad <strong>de</strong>Extremadura, 2001. (ACEPTADO)[5] Vega, M.A. http://atc.unex.es/mavega/FI.htm,2002.[6] Vega, M.A.; Sánchez, J.M.; Chávez, F.;Gómez, J.A. SD2I: Sistema para <strong>la</strong> Docencia<strong>de</strong> Sistemas Digitales a través <strong>de</strong> Internet. VCongreso <strong>de</strong> Tecnologías Aplicadas a <strong>la</strong>Enseñanza <strong>de</strong> <strong>la</strong> Electrónica, TAEE’2002, pp.127-130, Febrero 2002.[7] Weinman, W.E. The CGI Book. New Ri<strong>de</strong>rsPublishing, 1996.


Estudio <strong>de</strong> <strong>la</strong> influencia sobre el rendimiento académico <strong>de</strong> <strong>la</strong>nota <strong>de</strong> acceso y proce<strong>de</strong>ncia (COU/FP) en <strong>la</strong> E.U. <strong>de</strong>InformáticaJorge Más 1 , José M. Valiente 2 , Luisa Zúnica 3 , Rosa Alcover 4 ,José V. Benlloch 5 , Pedro Blesa 6Escue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong> InformáticaUniversidad Politécnica <strong>de</strong> Valencia46022 Valenciae-mail: jmas@fis.upv.es 1 , jvalient@disca.upv.es 2 , lrzunica@eio.upv.es 3 , ralcover@eio.upv.es 4 ,jbenlloc@disca.upv.es 5 , pblesa@dsic.upv.es 6ResumenSe ha <strong>de</strong>sarrol<strong>la</strong>do una herramienta informáticaque permite realizar estudios <strong>de</strong> rendimientoacadémico. En este trabajo se muestran losresultados, a lo <strong>la</strong>rgo <strong>de</strong>l tiempo, <strong>de</strong> los alumnos<strong>de</strong> nuevo ingreso en <strong>la</strong> EUI teniendo en cuenta suproce<strong>de</strong>ncia y su nota <strong>de</strong> acceso. Se ha hecho unestudio estadístico pon<strong>de</strong>rado que muestra <strong>la</strong>influencia <strong>de</strong> los factores apuntados,re<strong>la</strong>cionándolos con otros anteriormenteobservados.1. Motivación y objetivosCon <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> lo que en su día dieron enl<strong>la</strong>marse “nuevos p<strong>la</strong>nes <strong>de</strong> estudio”, aquellos queintrodujeron el concepto <strong>de</strong> crédito, se crearonunas expectativas <strong>de</strong> mejora <strong>de</strong>l rendimientoacadémico <strong>de</strong>l alumnado que, con el paso <strong>de</strong>ltiempo, han quedado en una cierta frustración, yen una contrarreforma que actualmente estáimpulsando p<strong>la</strong>nes <strong>de</strong> estudio nuevos; <strong>la</strong> citadafrustración proviene, en gran medida, <strong>de</strong> losnumerosos estudios que se han llevado a cabo enlos últimos años sobre rendimiento académico.Hay que recordar, en este sentido, que el propioConsejo <strong>de</strong> Universida<strong>de</strong>s recomendó <strong>la</strong>realización <strong>de</strong> este tipo <strong>de</strong> estudios para evaluarlos p<strong>la</strong>nes <strong>de</strong> estudio vigentes [3].En <strong>la</strong> EUI (Escue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong>Informática) <strong>de</strong> <strong>la</strong> UPV, esta sensación <strong>de</strong> escasorendimiento académico se ha visto confirmada pordistintos estudios llevados a cabo por grupos <strong>de</strong>profesores <strong>de</strong> <strong>la</strong> misma [1][2][5][6][7][8], <strong>de</strong>modo que <strong>la</strong> Escue<strong>la</strong> tomó algunas medidasencaminadas a mitigar el elevado fracaso que enel<strong>la</strong> se producía. Con <strong>la</strong> intención <strong>de</strong> sistematizareste tipo <strong>de</strong> estudios, y en <strong>la</strong> línea <strong>de</strong> <strong>la</strong>srecomendaciones <strong>de</strong>l Consejo <strong>de</strong> Universida<strong>de</strong>s,un grupo <strong>de</strong> profesores <strong>de</strong> <strong>la</strong> Escue<strong>la</strong> comenzamosa trabajar en un Proyecto [10] encaminado ae<strong>la</strong>borar una herramienta informática que, <strong>de</strong>forma sencil<strong>la</strong> y sin necesidad <strong>de</strong> conocimientos<strong>de</strong> informática avanzados, pudiera extraerinformación <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos <strong>de</strong> <strong>la</strong> Universidad,que incorpora datos <strong>de</strong> alumnado, <strong>de</strong> matrícu<strong>la</strong>s,<strong>de</strong> p<strong>la</strong>nes <strong>de</strong> estudio, <strong>de</strong> calificaciones, y otros <strong>de</strong>los que <strong>la</strong> Universidad dispone; trabajospreliminares ya han sido previamente publicados[7]. Mediante esta herramienta hemos pretendido,en este trabajo, hacer una revisión <strong>de</strong> losresultados académicos <strong>de</strong> <strong>la</strong> Escue<strong>la</strong> durante elperíodo <strong>de</strong> vigencia <strong>de</strong> los actuales p<strong>la</strong>nes <strong>de</strong>estudio, analizando <strong>la</strong> inci<strong>de</strong>ncia que sobre ellostienen dos factores que creemos c<strong>la</strong>ves: <strong>la</strong>proce<strong>de</strong>ncia <strong>de</strong>l alumno (dualidad FP/COU),factor que ha motivado actuaciones por parte <strong>de</strong> <strong>la</strong>Dirección [2] y <strong>la</strong> nota <strong>de</strong> acceso <strong>de</strong> los alumnos a<strong>la</strong> Escue<strong>la</strong>.2. Estudio realizadoEl estudio que aquí se muestra consiste en <strong>la</strong>obtención y análisis <strong>de</strong> los resultados académicos


<strong>de</strong> los alumnos <strong>de</strong> nuevo ingreso en cada uno <strong>de</strong>los cursos académicos a partir <strong>de</strong>l curso 1993-94(año en que se imp<strong>la</strong>ntaron los nuevos p<strong>la</strong>nes <strong>de</strong>estudio); el último curso <strong>de</strong>l que se muestran datoses <strong>de</strong>l curso 1999-2000. Los resultados han sidoobtenidos <strong>de</strong> forma <strong>de</strong>sagregada, distinguiendoentre:• Alumnos proce<strong>de</strong>ntes <strong>de</strong> COU/LOGSE, queen <strong>la</strong> EUI tienen reservado un cupo <strong>de</strong>l 60%<strong>de</strong> <strong>la</strong>s p<strong>la</strong>zas <strong>de</strong> nuevo ingreso (200 p<strong>la</strong>zaspara <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniero Técnico enInformática <strong>de</strong> Sistemas, y otras 200 para <strong>la</strong>titu<strong>la</strong>ción <strong>de</strong> Ingeniero Técnico enInformática <strong>de</strong> Gestión).• Alumnos proce<strong>de</strong>ntes <strong>de</strong> FP <strong>de</strong> 2º grado, quetienen reservado un cupo <strong>de</strong>l 30% <strong>de</strong> <strong>la</strong>s 400p<strong>la</strong>zas <strong>de</strong> nuevo ingreso.A<strong>de</strong>más <strong>de</strong>l estudio realizado para cadagrupo <strong>de</strong> alumnos según su proce<strong>de</strong>ncia, tambiénse realizó distinguiendo entre <strong>la</strong> nota con <strong>la</strong> queaccedían a <strong>la</strong> Escue<strong>la</strong>: alumnos con nota <strong>de</strong>entrada inferior a 7, y alumnos con nota <strong>de</strong>entrada mayor o igual que 7. La segmentación <strong>de</strong>alumnos según su nota <strong>de</strong> acceso sólo pudohacerse hasta el curso 1997-98, porque nopudimos consultar <strong>la</strong> nota <strong>de</strong> acceso <strong>de</strong> losalumnos en cursos posteriores.El estudio se llevó a cabo <strong>de</strong> forma globalpara ambas titu<strong>la</strong>ciones, sin distinguir entre el<strong>la</strong>s.Para cada uno <strong>de</strong> los alumnos estudiados secontabilizó:• Número <strong>de</strong> créditos matricu<strong>la</strong>dos,presentados, aprobados y suspensos en elcurso académico en el que ingresó en <strong>la</strong>Escue<strong>la</strong>.• Rendimiento académico <strong>de</strong> cada alumno en elcurso en el que ingresó en <strong>la</strong> Escue<strong>la</strong>. La<strong>de</strong>finición <strong>de</strong> rendimiento académicoutilizada ha sido <strong>de</strong>scrita en otros trabajos[4][7], y su resultado es un número entre 0 y100 que tiene en cuenta <strong>la</strong> convocatoria en <strong>la</strong>que se aprobó <strong>la</strong> asignatura (ordinaria oextraordinaria), el año en el que se aprobó(referido al <strong>de</strong> primera matrícu<strong>la</strong> en cadaasignatura), y <strong>la</strong> calificación obtenida a<strong>la</strong>probar. Aunque el rendimiento obtenido noes un valor interpretable por sí mismo, entérminos re<strong>la</strong>tivos sí que sirve comocomparación entre colectivos <strong>de</strong> alumnosdistintos.Así pues, se realizaron 7 consultas (unapara cada curso académico <strong>de</strong>s<strong>de</strong> el 93-94 hasta el99-00) para el global <strong>de</strong> los alumnos proce<strong>de</strong>ntes<strong>de</strong> COU/LOGSE, y otras 7 para el global <strong>de</strong> losalumnos proce<strong>de</strong>ntes <strong>de</strong> FP. A<strong>de</strong>más, serealizaron otras 5 consultas (una para cada cursoacadémico <strong>de</strong>s<strong>de</strong> el 93-94 hasta el 97-98) para losalumnos proce<strong>de</strong>ntes <strong>de</strong> COU/LOGSE con nota<strong>de</strong> entrada inferior a 7, y otras 5 consultas para losalumnos proce<strong>de</strong>ntes <strong>de</strong> COU/LOGSE con nota<strong>de</strong> entrada mayor o igual a 7.Otras 10 consultas análogas se hicieron sobrelos alumnos proce<strong>de</strong>ntes <strong>de</strong> FP.En total se llevaron a cabo 34 consultas sobre<strong>la</strong> base <strong>de</strong> datos.El resultado <strong>de</strong> cada estudio es mostradocomo una tab<strong>la</strong> en <strong>la</strong> que se indica, para cadagrupo estudiado, <strong>la</strong> frecuencia <strong>de</strong> alumnos cuyonúmero <strong>de</strong> créditos (matricu<strong>la</strong>dos, presentados,etc....) se encuentra en cada uno <strong>de</strong> los intervalos<strong>de</strong> amplitud 10 créditos entre 0 y 110.A partir <strong>de</strong> estos resultados se pue<strong>de</strong> calcu<strong>la</strong>r,para cada grupo, el número medio <strong>de</strong> créditosmatricu<strong>la</strong>dos, aprobados, presentados y suspensospor alumno. A<strong>de</strong>más, teniendo en cuenta <strong>la</strong>calificación obtenida en cada asignatura tambiénse pue<strong>de</strong> calcu<strong>la</strong>r, para cada alumno, elrendimiento académico <strong>de</strong> cada curso, y elrendimiento medio <strong>de</strong>l grupo <strong>de</strong> alumnos, asícomo <strong>la</strong> <strong>de</strong>sviación típica <strong>de</strong>l mismo.La herramienta informática que hace estosestudios realiza consultas mediante Open Accessobre <strong>la</strong> base <strong>de</strong> datos <strong>de</strong> <strong>la</strong> Universidad, que esperiódicamente actualizada.3. Resultados obtenidosEn <strong>la</strong>s figuras <strong>de</strong> <strong>la</strong> página siguiente se muestranlos resultados obtenidos para cada uno <strong>de</strong> losgrupos <strong>de</strong> alumnos estudiados. En primer lugar, elnúmero absoluto <strong>de</strong> alumnos que ingresó en <strong>la</strong>EUI según su proce<strong>de</strong>ncia y nota <strong>de</strong> acceso;<strong>de</strong>spués aparece el número medio por alumno <strong>de</strong>créditos matricu<strong>la</strong>dos, presentados, aprobados ysuspensos en cada uno <strong>de</strong> los colectivosestudiados, y los resultados <strong>de</strong>l rendimientoacadémico medio para cada grupo <strong>de</strong> alumnos.Si nos fijamos en los valores <strong>de</strong>l conjunto <strong>de</strong>alumnos proce<strong>de</strong>ntes <strong>de</strong> COU, po<strong>de</strong>mos <strong>de</strong>stacar:


Nº alumnos500400300200100Alumnos matricu<strong>la</strong>dos proce<strong>de</strong>ntes <strong>de</strong>COU/LOGSENº alumnos500400300200100Alumnos matricu<strong>la</strong>dos proce<strong>de</strong>ntes <strong>de</strong> FP01993 1994 1995 1996 1997 1998 1999Todos =701993 1994 1995 1996 1997 1998 1999Todos =780Créditos/alumno COU/LOGSE (todos)80Créditos/alumno FP (todos)6060Créditos4020Créditos4020001993 1994 1995 1996 1997 1998 19991993 1994 1995 1996 1997 1998 1999Matr. Present. Aprob. Susp.Matr. Present. Aprob. Susp.80Créditos/alumno COU/LOGSE (nota < 7)80Créditos/alumno FP (nota < 7)6060Créditos4020Créditos402001993 1994 1995 1996 1997 1998 1999Matr. Present. Aprob. Susp.01993 1994 1995 1996 1997 1998 1999Matr. Present. Aprob. Susp.Créditos/alumno COU/LOGSE (nota >=7)Créditos/alumno FP (nota >=7)80806060Créditos4020Créditos402001993 1994 1995 1996 1997 1998 1999Matr. Present. Aprob. Susp.01993 1994 1995 1996 1997 1998 1999Matr. Present. Aprob. Susp.Rendimiento medio alumnos COURendimiento medio alumnos FP70706060Rendimiento50403020Rendimiento50403020101001993 1994 1995 1996 1997 1998 1999Todos Nota < 7 Nota >= 701993 1994 1995 1996 1997 1998 1999Todos Nota < 7 Nota >= 7


• El número <strong>de</strong> créditos presentados por alumnocae <strong>de</strong> forma sostenida <strong>de</strong>s<strong>de</strong> 1993 hasta1999, <strong>de</strong>s<strong>de</strong> 60 hasta 45.• El número <strong>de</strong> créditos aprobados por alumnotiene una caída simi<strong>la</strong>r, <strong>de</strong>s<strong>de</strong> casi 50 hastacasi 30 en el mismo período.• El número <strong>de</strong> créditos suspensos por alumnose mantiene, salvo pequeñas variaciones,constante en todo el período, en torno a 15créditos suspensos/alumno.En los siete años analizados, los alumnosproce<strong>de</strong>ntes <strong>de</strong> COU, en conjunto, muestran unnivel <strong>de</strong> absentismo en los exámenes creciente, ydado que el número absoluto <strong>de</strong> créditossuspensos por alumno se mantiene, ello se traduceen un número <strong>de</strong> créditos aprobados cada vez másbajo. En sintonía con estos resultados, elrendimiento medio <strong>de</strong> este grupo <strong>de</strong> alumnos tieneuna ten<strong>de</strong>ncia bajista, <strong>de</strong>s<strong>de</strong> valores <strong>de</strong>l 40% en el93, hasta el 25% en el 99.Esta constante disminución <strong>de</strong>l rendimientoobservado en este conjunto <strong>de</strong> alumnos pue<strong>de</strong>corre<strong>la</strong>cionarse con otros estudios llevados a cabosobre los conocimientos básicos (Matemáticas yFísica) <strong>de</strong> los alumnos <strong>de</strong> primer curso <strong>de</strong> <strong>la</strong> EUI[8], que muestran una notable disminución <strong>de</strong>estos conocimientos básicos entre los años 1988 y1997, lo que ava<strong>la</strong>ría <strong>la</strong> hipótesis <strong>de</strong> que estosalumnos, al tener unos conocimientos básicoscada vez menores, obtienen cada vez peoresresultados; y los alumnos son conscientes <strong>de</strong> estasituación, porque cada vez se presentan a unnúmero <strong>de</strong> créditos menor.Este análisis global po<strong>de</strong>mos reproducirlosegmentando <strong>la</strong> pob<strong>la</strong>ción <strong>de</strong> alumnos <strong>de</strong> nuevoingreso proce<strong>de</strong>ntes <strong>de</strong> COU según su nota <strong>de</strong>acceso. Des<strong>de</strong> el año 1993 hasta el 99, <strong>la</strong> notamedia <strong>de</strong> acceso <strong>de</strong> esta pob<strong>la</strong>ción <strong>de</strong> alumnos seha mantenido esencialmente constante, a pesar <strong>de</strong><strong>la</strong> estudiada disminución <strong>de</strong> conocimientosbásicos; ello <strong>de</strong>bería inducir a interpretar <strong>la</strong> nota<strong>de</strong> acceso no como una “medida” absoluta <strong>de</strong> losconocimientos <strong>de</strong> los alumnos, sino como unparámetro <strong>de</strong> or<strong>de</strong>nación re<strong>la</strong>tiva <strong>de</strong> losconocimientos, habilida<strong>de</strong>s, motivaciones ycapacida<strong>de</strong>s <strong>de</strong> los alumnos; y en este sentido,parece que el segmento <strong>de</strong> alumnos que acce<strong>de</strong> a<strong>la</strong> EUI es el mismo durante todo el períodoestudiado.Para aquellos alumnos con una nota <strong>de</strong>acceso inferior a 7, que es <strong>la</strong> mayoritaria, se pue<strong>de</strong>hacer un análisis simi<strong>la</strong>r al <strong>de</strong>l conjunto <strong>de</strong> estapob<strong>la</strong>ción, aunque con unos valores absolutos algodiferentes:• El número <strong>de</strong> créditos presentados por alumnocae <strong>de</strong>s<strong>de</strong> 60 en 1993 hasta 50 en 1997, <strong>de</strong>forma sostenida.• El número <strong>de</strong> créditos aprobados por alumnocae, en el mismo período, <strong>de</strong>s<strong>de</strong> 42 hasta 34,manteniéndose más o menos constantes loscréditos suspensos, lo que se traduce enrendimientos a <strong>la</strong> baja.En cambio, aquellos alumnos con notas <strong>de</strong>entrada superiores a 7 muestran un número <strong>de</strong>créditos presentados <strong>de</strong> 70, salvo en el año 96, enel cual presenta un comportamiento distinto al <strong>de</strong>todos los <strong>de</strong>más años; <strong>de</strong> estos 70 créditospresentados, aprueban más <strong>de</strong> 60 (el número <strong>de</strong>aprobados cae ligeramente con los años), ysuspen<strong>de</strong>n un número <strong>de</strong> créditos entre 5 y 10.Estos valores se traducen, al combinarlos con <strong>la</strong>scalificaciones obtenidas, en valores <strong>de</strong>lrendimiento cercanos al 60%, aunque con unaligera ten<strong>de</strong>ncia a <strong>la</strong> baja.En cambio, si nos fijamos en los valores <strong>de</strong>los créditos por alumno proce<strong>de</strong>nte <strong>de</strong> FP queingresaron durante el período estudiado en <strong>la</strong> EUI:• El número <strong>de</strong> créditos presentados por alumnose mantiene sin alteraciones importantes(salvo el año 1995) <strong>de</strong>s<strong>de</strong> 1993 hasta 1999,en torno a 45 créditos, igualándose <strong>de</strong> estemodo con los alumnos proce<strong>de</strong>ntes <strong>de</strong> COU.• El número <strong>de</strong> créditos aprobados por alumnoha experimentado un avance <strong>de</strong> unos 10créditos, estando estabilizado en los últimosaños <strong>de</strong>l período, en torno a los 35 créditos,valor simi<strong>la</strong>r o incluso mayor que el <strong>de</strong> losalumnos proce<strong>de</strong>ntes <strong>de</strong> COU.• El número <strong>de</strong> créditos suspensos por alumnomuestra una pequeña caída en el período,<strong>de</strong>s<strong>de</strong> 20 créditos a unos 15 créditossuspensos/alumno, igualándose a los alumnos<strong>de</strong> COU.En los siete años analizados, los alumnosproce<strong>de</strong>ntes <strong>de</strong> FP, en conjunto, muestran unac<strong>la</strong>ra mejoría en sus resultados, <strong>de</strong> forma másc<strong>la</strong>ra a partir <strong>de</strong>l año 1996 y <strong>de</strong> forma más notablesi los comparamos con sus homólogosproce<strong>de</strong>ntes <strong>de</strong> COU, que teóricamente <strong>de</strong>beríanmostrar unos mejores resultados; es más, en elúltimo año <strong>de</strong> los estudiados, 1999, los alumnos


proce<strong>de</strong>ntes <strong>de</strong> FP muestran unos resultadosmejores que los alumnos proce<strong>de</strong>ntes <strong>de</strong> COU:• Tienen un número <strong>de</strong> créditos presentadospor alumno superior a los <strong>de</strong> COU, lo queunido a que el número <strong>de</strong> créditos suspensoses prácticamente el mismo, lleva a unnúmero <strong>de</strong> créditos aprobados mayor, y avalores <strong>de</strong> rendimiento superiores en losalumnos proce<strong>de</strong>ntes <strong>de</strong> FP.No obstante, estos sorpren<strong>de</strong>ntes resultados<strong>de</strong>berían confirmarse con estudios re<strong>la</strong>tivos a losresultados <strong>de</strong> los cursos 2000-2001 y 2001-2002.En cuanto a <strong>la</strong> nota <strong>de</strong> acceso <strong>de</strong> estosalumnos, resulta interesante comprobar que, si enel 93 ingresaban más alumnos con nota inferior a7 que superior a el<strong>la</strong>, esta re<strong>la</strong>ción ha idoinvirtiéndose, <strong>de</strong> modo que ya en el año 97, elnúmero <strong>de</strong> alumnos que accedía con nota inferiora 7 era prácticamente testimonial. Por ello, losresultados que arroja el estudio en este aspecto, sino se analizan cuidadosamente, <strong>de</strong>ben ser tomadoscon precaución.4. Análisis estadísticoComo es bien conocido, los Mo<strong>de</strong>los <strong>de</strong>Regresión Lineal permiten analizar <strong>la</strong> posiblere<strong>la</strong>ción existente entre <strong>la</strong> pauta <strong>de</strong> variabilidad <strong>de</strong>una variable aleatoria y los valores <strong>de</strong> una o másvariables (aleatorias o no) <strong>de</strong> <strong>la</strong>s que <strong>la</strong> primera<strong>de</strong>pen<strong>de</strong>, o pue<strong>de</strong> <strong>de</strong>pen<strong>de</strong>r. El análisis <strong>de</strong> losdatos se lleva a cabo mediante el establecimiento<strong>de</strong> un mo<strong>de</strong>lo cuyos parámetros recogen ycuantifican los efectos que se preten<strong>de</strong> estudiar.Dichos parámetros se estiman a partir <strong>de</strong> los datosdisponibles, utilizando eficientes procedimientosestadísticos y analizándose su significaciónmediante <strong>la</strong>s correspondientes técnicas <strong>de</strong>inferencia.Así, con el fi <strong>de</strong> po<strong>de</strong>r cuantificar los efectos<strong>de</strong> <strong>la</strong>s diferentes variables o factores consi<strong>de</strong>radosen el estudio sobre el rendimiento <strong>de</strong> los alumnos<strong>de</strong> Ingeniería Técnica en Informática, se hap<strong>la</strong>nteado en el trabajo un mo<strong>de</strong>lo <strong>de</strong> regresiónlineal múltiple pon<strong>de</strong>rada.Estudio sobre el rendimiento medio:Mo<strong>de</strong>lización: El mo<strong>de</strong>lo presenta comovariable <strong>de</strong>pendiente, Y, el rendimiento <strong>de</strong> losalumnos, calcu<strong>la</strong>do según <strong>la</strong> expresión referidaanteriormente en el trabajo. Como variablesexplicativas <strong>de</strong>l rendimiento se han consi<strong>de</strong>rado<strong>la</strong>s tres siguientes: año <strong>de</strong> acceso <strong>de</strong> los alumnos,proce<strong>de</strong>ncia (Formación Profesional o COU) ynota <strong>de</strong> entrada <strong>de</strong> los alumnos en <strong>la</strong> titu<strong>la</strong>ción.El mo<strong>de</strong>lo <strong>de</strong> regresión incluye un termino <strong>de</strong>segundo grado con el fin <strong>de</strong> captar mejor <strong>la</strong>naturaleza <strong>de</strong>l efecto <strong>de</strong>l tiempo o año <strong>de</strong> acceso,sobre el rendimiento promedio <strong>de</strong> los alumnos(variables T y T 2 ). Para facilitar <strong>la</strong> interpretación<strong>de</strong> los parámetros <strong>de</strong>l mo<strong>de</strong>lo, <strong>la</strong> variable T secorrespon<strong>de</strong> con el año <strong>de</strong> acceso - 1993. Portanto, si el año <strong>de</strong> acceso es 1993 (el primeroconsi<strong>de</strong>rado en el análisis) <strong>la</strong> variable T=0, si e<strong>la</strong>ño <strong>de</strong> acceso es 1994 entonces T=1 y asísucesivamente.Respecto a <strong>la</strong> proce<strong>de</strong>ncia <strong>de</strong> los alumnos, seha incluido una variable Αdummy≅ (FP) que tomael valor 1 si los alumnos proce<strong>de</strong>n <strong>de</strong> FormaciónProfesional y 0 si proce<strong>de</strong>n <strong>de</strong> COU. A<strong>de</strong>más, elmo<strong>de</strong>lo p<strong>la</strong>ntea <strong>la</strong> posibilidad <strong>de</strong> que el efecto <strong>de</strong><strong>la</strong> proce<strong>de</strong>ncia <strong>de</strong> los alumnos sobre elrendimiento promedio pueda ser diferente en eltiempo. Por ello se <strong>de</strong>be incorporar en <strong>la</strong> ecuación<strong>de</strong>l mo<strong>de</strong>lo <strong>la</strong> interacción (FP)*T .El mo<strong>de</strong>lo también incluye el posible efecto<strong>de</strong> <strong>la</strong> variable nota <strong>de</strong> entrada <strong>de</strong> los alumnos en <strong>la</strong>EUI sobre el rendimiento medio <strong>de</strong> los mismos.Para ello se ha añadido una nueva variable“dummy” <strong>de</strong>nominada N5_7, que toma el valor 1si <strong>la</strong> nota <strong>de</strong> entrada es menor que 7 y toma elvalor 0 si <strong>la</strong> nota <strong>de</strong> entrada es mayor o igual a 7.El mo<strong>de</strong>lo contemp<strong>la</strong> <strong>la</strong> posibilidad <strong>de</strong> que elefecto <strong>de</strong> <strong>la</strong> nota <strong>de</strong> entrada sea diferente según e<strong>la</strong>lumno proceda <strong>de</strong> Formación Profesional oCOU, incluyendo <strong>la</strong> interacción (N5_7)*FP.Finalmente, <strong>la</strong> interacción (N5_7)*T p<strong>la</strong>ntea <strong>la</strong>posible diferencia <strong>de</strong>l efecto <strong>de</strong> <strong>la</strong> nota <strong>de</strong> entradasobre el rendimiento promedio <strong>de</strong> los alumnossegún el año <strong>de</strong> ingreso <strong>de</strong> los mismos en <strong>la</strong> EUI.En consecuencia, el mo<strong>de</strong>lo <strong>de</strong> regresiónpue<strong>de</strong> escribirse <strong>de</strong> <strong>la</strong> siguiente manera:E(Y) = β 0 + β 1 T + β 2 T 2 + β 3 FP + β 4 (N5_7) + β 5(FP)*T + β 6 (N5_7)*FP + β 7 (N5_7)*T ,en el que los parámetros β i recogen y cuantificanlos efectos que preten<strong>de</strong>mos medir.Estimación: A partir <strong>de</strong> los datos disponibles(en total 20 valores <strong>de</strong>l rendimiento medioobtenidos en <strong>la</strong>s condiciones <strong>de</strong>finidas por <strong>la</strong>s


variables explicativas) se han estimado los valores<strong>de</strong> los parámetros β i . Para ello se ha utilizado elpaquete estadístico STATGRAPHICS Plus v4.1,realizando el análisis <strong>de</strong> regresión pon<strong>de</strong>rada porel número <strong>de</strong> alumnos en cada caso (nótese que elrendimiento medio pue<strong>de</strong> obtenerse a partir <strong>de</strong> unnúmero muy diferente <strong>de</strong> alumnos en cada caso).La siguiente salida <strong>de</strong>l programa proporciona <strong>la</strong>sestimaciones <strong>de</strong> los parámetros β i , permitiendocuantificar los efectos <strong>de</strong> <strong>la</strong>s variablesconsi<strong>de</strong>radas en el análisis.La columna “Estimate” <strong>de</strong> <strong>la</strong> salida <strong>de</strong>regresión, proporciona <strong>la</strong>s estimaciones <strong>de</strong> losparámetros βi <strong>de</strong>l mo<strong>de</strong>lo, mientras que <strong>la</strong> últimacolumna, “P-Value”, indica el nivel <strong>de</strong>significación <strong>de</strong> los mismos. Como se <strong>de</strong>spren<strong>de</strong><strong>de</strong> <strong>la</strong> información contenida en esta últimacolumna, prácticamente todos los efectoscontemp<strong>la</strong>dos en el mo<strong>de</strong>lo son altamentesignificativos (valores inferiores a 0.05). Labondad o calidad <strong>de</strong>l ajuste realizado se pue<strong>de</strong>obtener a partir <strong>de</strong>l Coeficiente <strong>de</strong> Determinación,“R-squared”.El valor obtenido, 0.976306, muypróximo a 1, corrobora <strong>la</strong> a<strong>de</strong>cuación <strong>de</strong>l mo<strong>de</strong>lopara explicar <strong>la</strong> naturaleza <strong>de</strong> <strong>la</strong> re<strong>la</strong>ción existenteentre el rendimiento medio <strong>de</strong> los alumnos y <strong>la</strong>svariables consi<strong>de</strong>radas en el mismo.Interpretación <strong>de</strong> los resultados: A partir<strong>de</strong> <strong>la</strong> salida <strong>de</strong>l programa se obtiene que elrendimiento medio <strong>de</strong> los alumnos proce<strong>de</strong>ntes <strong>de</strong>COU con nota <strong>de</strong> acceso ≥7, que se incorporarona <strong>la</strong> EUI en 1993 fue <strong>de</strong> 62.3708 puntos. Estevalor correspon<strong>de</strong>ría a <strong>la</strong> estimación <strong>de</strong> β 0 .Multiple Regression Analysis------------------------------------------------------------Depen<strong>de</strong>nt variable: RTOMEDIO------------------------------------------------------------Standard TParameter Estimate Error Statistic P-Value------------------------------------------------------------CONST 62,3708 2,14406 29,0901 0,0000T -4,89839 1,45357 -3,36991 0,0056T 2 0,79771 0,26994 2,95508 0,0120FP -35,0089 2,41783 -14,4795 0,0000N5_7 -28,9308 2,16304 -13,3751 0,0000(FP*T) 2,15827 0,93871 2,29918 0,0403(N5_7*FP) 18,5272 2,32869 7,95605 0,0000(N5_7*T) 0,55298 0,95923 0,57648 0,5749------------------------------------------------------------R-squared = 97,6306 percentR-squared (adjusted for d.f.) = 96,2485 percentStandard Error of Est. = 21,1005El valor <strong>de</strong>l coeficiente <strong>de</strong> T , <strong>la</strong> estimación<strong>de</strong> β1 , es negativo (- 4.89839) y significativo, loque indicaría que el rendimiento medio <strong>de</strong> losalumnos ha ido disminuyendo <strong>de</strong>s<strong>de</strong> 1993. Sinembargo el coeficiente <strong>de</strong> T 2 es positivo (0.79771)y significativo, <strong>de</strong>duciéndose que el rendimientomedio empeoró, pero sobre todo durante losprimeros años <strong>de</strong>l análisis.En cuanto a <strong>la</strong> proce<strong>de</strong>ncia <strong>de</strong> los alumnos,pue<strong>de</strong> observarse como <strong>la</strong> estimación <strong>de</strong> β 3 esmuy gran<strong>de</strong> en valor absoluto y por tanto unparámetro muy significativo. Ello indica queexiste una diferencia muy relevante entre losrendimientos medios <strong>de</strong> los alumnos que llegan a<strong>la</strong> EUI proce<strong>de</strong>ntes <strong>de</strong> Formación Profesional ylos que proce<strong>de</strong>n <strong>de</strong> COU. Esta diferencia es <strong>de</strong>35 puntos en el inicio <strong>de</strong>l estudio; es <strong>de</strong>cir, losalumnos <strong>de</strong> Formación Profesional en 1993obtuvieron un rendimiento medio inferior en 35puntos al <strong>de</strong> los alumnos proce<strong>de</strong>ntes <strong>de</strong> COU.Esta diferencia ha ido disminuyendo ligeramentecon el paso <strong>de</strong>l tiempo (observese como elcoeficiente <strong>de</strong> <strong>la</strong> interacción (FP)*T ha resultadosignificativo y positivo).El efecto <strong>de</strong> <strong>la</strong> nota <strong>de</strong> entrada con <strong>la</strong> que seincorporan los alumnos es muy relevante. Elcoeficiente <strong>de</strong> <strong>la</strong> variable N5_7, β 4 , ha resultadosignificativo y negativo (-28.9308). Esto indicaque para los alumnos proce<strong>de</strong>ntes <strong>de</strong> COU, hayuna diferencia estimada en el rendimiento medio<strong>de</strong> 28.9308 puntos entre los alumnos que acce<strong>de</strong>ncon nota ≥7 y los que acce<strong>de</strong>n con nota


Estudio sobre <strong>la</strong> <strong>de</strong>sviación típica <strong>de</strong>lrendimiento.Mo<strong>de</strong>lización. Se ha e<strong>la</strong>borado un nuevomo<strong>de</strong>lo, consi<strong>de</strong>rando como variable <strong>de</strong>pendientea explicar <strong>la</strong> <strong>de</strong>sviación típica <strong>de</strong> los valores <strong>de</strong>lrendimiento en cada grupo consi<strong>de</strong>rado (variableDETIPRTO). El objetivo es analizar si alguno <strong>de</strong>los factores estudiados influye sobre <strong>la</strong> presencia<strong>de</strong> una mayor o menor dispersión en losrendimientos <strong>de</strong> los alumnos <strong>de</strong> un <strong>de</strong>terminadotipo. Como variables explicativas se hanconsi<strong>de</strong>rado <strong>la</strong>s mismas que en el estudio sobre elrendimiento medio.Estimación: El ajuste se ha realizadomediante <strong>la</strong> técnica <strong>de</strong> regresión “stepwise”, en suvariante “backward”, en <strong>la</strong> que se acabanreteniendo en el mo<strong>de</strong>lo sólo aquel<strong>la</strong>s variablesque resultan significativas estadísticamente. Losresultados obtenidos en el ajuste se recogen en <strong>la</strong>tab<strong>la</strong> que presentamos a continuación. Como seobserva, el ajuste obtenido explica el 73% <strong>de</strong> <strong>la</strong>variabilidad constatada en <strong>la</strong> variable DETIPRTO,lo que pue<strong>de</strong> consi<strong>de</strong>rarse bastante aceptable,aunque no sea tan bueno como el hal<strong>la</strong>do para elrendimiento medio.Multiple Regression Analysis------------------------------------------------------------Depen<strong>de</strong>nt variable: DTIPRTO------------------------------------------------------------Standard TParameter Estimate Error Statistic P-Value------------------------------------------------------------CONST 19,248 0,298448 64,0493 0,0000T 2 - 0,130413 0,039160 -3,33025 0,0042FP 1,59721 0,517693 3,08524 0,0071(N5_7*FP) -4,4143 0,710970 -6,20878 0,0000------------------------------------------------------------R-squared = 73.0273 percentR-squared (adjusted for d.f.) = 67.9699 percentStandard Error of Est. = 9.74088Interpretación <strong>de</strong> los resultados: Elcoeficiente negativo encontrado para <strong>la</strong> variableT 2 indica que <strong>la</strong> dispersión en los valores <strong>de</strong>lrendimiento ha disminuido ligeramente a lo <strong>la</strong>rgo<strong>de</strong>l tiempo.El coeficiente significativo positivoencontrado para <strong>la</strong> variable FP, indica que paralos alumnos con nota <strong>de</strong> entrada alta <strong>la</strong> dispersión<strong>de</strong>l rendimiento es algo mayor en los alumnosproce<strong>de</strong>ntes <strong>de</strong> Formación Profesional que en los<strong>de</strong> COU. Ello se <strong>de</strong>be, probablemente, a que losalumnos con notas altas <strong>de</strong> COU tienen en generalbuenos rendimientos todos, mientras que entre losalumnos con notas altas <strong>de</strong> Formación Profesionalhay algunos cuyo rendimiento no ha sido bueno.Sin embargo, cuando <strong>la</strong>s notas <strong>de</strong> entrada sonbajas, <strong>la</strong> diferencia en dispersión entre FormaciónProfesional y COU es -4.414 + 1.597 = -2.817, loque indica que hay menos dispersión en losrendimientos <strong>de</strong> los <strong>de</strong> Formación Profesional queen los <strong>de</strong> COU. Ello se <strong>de</strong>be, muy probablemente,a que los alumnos proce<strong>de</strong>ntes <strong>de</strong> FormaciónProfesional y con notas bajas <strong>de</strong> acceso tienen casitodos un bajo rendimiento académico en el primercurso <strong>de</strong> <strong>la</strong> universidad, habiendo más disparidad<strong>de</strong> resultados en los alumnos con notas bajasproce<strong>de</strong>ntes <strong>de</strong> COU.5. ConclusiónSobre el aumento pau<strong>la</strong>tino en el "nivel" <strong>de</strong> losalumnos <strong>de</strong> FP, que creemos es el resultado másrelevante <strong>de</strong> este trabajo, podría explicarse sumejoría re<strong>la</strong>tiva al compararlos con los <strong>de</strong> COU,presuponiendo unos conocimientos básicos cadavez mayores. Si nos fijamos en otros estudiosllevados a cabo sobre los conocimientos básicos<strong>de</strong> los alumnos al ingresar en <strong>la</strong> EUI [8], estaexplicación no parece corroborar <strong>la</strong> hipótesisapuntada. En un test <strong>de</strong> conocimientos básicospasado al inicio <strong>de</strong>l curso 1996-97 en <strong>la</strong> EUI, losalumnos proce<strong>de</strong>ntes <strong>de</strong> COU mostraron unosresultados espectacu<strong>la</strong>rmente superiores a los <strong>de</strong>los alumnos proce<strong>de</strong>ntes <strong>de</strong> FP, tanto enMatemáticas como en Física, lo que induce apensar que <strong>la</strong> positiva evolución <strong>de</strong> los resultados<strong>de</strong> los alumnos <strong>de</strong> FP no es <strong>de</strong>bida a <strong>la</strong> mejoría enconocimientos básicos, sino a otros factores. Enconcreto pensamos que dos son los factoresfundamentales que pue<strong>de</strong>n ayudar a explicar estecomportamiento:• En primer lugar, <strong>la</strong> pau<strong>la</strong>tina disminución enel número <strong>de</strong> alumnos proce<strong>de</strong>ntes <strong>de</strong> FP queingresa en <strong>la</strong> EUI con nota inferior a 7, y elcorrespondiente incremento <strong>de</strong> aquellos connota superior a 7. Y este hecho, que no estáava<strong>la</strong>do por un incremento correspondiente<strong>de</strong> conocimientos básicos con los queacce<strong>de</strong>n a <strong>la</strong> EUI, sí que refleja, en nuestra


opinión, una motivación y predisposición a<strong>la</strong>prendizaje que posibilita unos resultadosmejores que los <strong>de</strong> alumnos conconocimientos básicos objetivamentesuperiores.Así, podría interpretarse que losconocimientos básicos <strong>de</strong> los alumnos no es elúnico factor a <strong>la</strong> hora <strong>de</strong> pre<strong>de</strong>cir el éxito/fracaso<strong>de</strong> un alumno, y que habría otros como <strong>la</strong>motivación, los hábitos <strong>de</strong> trabajo, <strong>la</strong> capacidad <strong>de</strong>autoaprendizaje, y seguramente alguno más quetendrían una influencia <strong>de</strong>terminante sobre losresultados académicos; y que, a igualdad <strong>de</strong>proce<strong>de</strong>ncia, <strong>la</strong> nota <strong>de</strong> acceso es un indicador enel que “confluyen” tanto los conocimientosbásicos como los otros factores apuntados.• En segundo lugar, pensamos que también <strong>la</strong>imp<strong>la</strong>ntación <strong>de</strong> grupos especiales paraalumnos proce<strong>de</strong>ntes <strong>de</strong> FP, que <strong>la</strong> EUIcomenzó en el curso 96-97, para intentarpaliar esos <strong>de</strong>ficientes conocimientosbásicos, ha tenido mucho que ver en elrepunte <strong>de</strong> los resultados <strong>de</strong> estos alumnos. Yen esta línea, a pesar <strong>de</strong> todas <strong>la</strong>s reticenciasmuchas veces manifestadas, y <strong>de</strong> <strong>la</strong>sprecauciones con que se <strong>de</strong>be acometer,creemos que es positiva <strong>la</strong> política <strong>de</strong> hacergrupos <strong>de</strong> alumnos más homogéneos que losactuales, con <strong>la</strong> intención <strong>de</strong> dar unadocencia específica a cada uno <strong>de</strong> ellos,aunque los objetivos sean homogéneos paratodos los alumnos, in<strong>de</strong>pendientemente <strong>de</strong>sus características.Agra<strong>de</strong>cimientosA Jesús Lafuente por su esfuerzo en el <strong>de</strong>sarrollo<strong>de</strong> <strong>la</strong> aplicación informática, y al Instituto <strong>de</strong>Ciencias <strong>de</strong> <strong>la</strong> Educación (ICE) <strong>de</strong> <strong>la</strong> UniversidadPolitécnica <strong>de</strong> Valencia por su financiación.Referencias[1] Añó, A., Benlloch, J.V., y otros. Estudiocomparativo <strong>de</strong>l rendimiento académico <strong>de</strong>estudiantes proce<strong>de</strong>ntes <strong>de</strong> COU y <strong>de</strong> FP enIngenierías Técnicas en <strong>la</strong> UPV. Libro <strong>de</strong>resúmenes <strong>de</strong> <strong>la</strong>s II <strong>Jornadas</strong> Nacionales <strong>de</strong>Innovación en <strong>la</strong>s enseñanzas <strong>de</strong> <strong>la</strong>sIngenierías. UPM. 1996.[2] Benlloch, J.V; Bonet, E. y otros. Estudiocomparado <strong>de</strong>l rendimiento <strong>de</strong> los alumnos<strong>de</strong> primer curso proce<strong>de</strong>ntes <strong>de</strong> COU frente alos alumnos proce<strong>de</strong>ntes <strong>de</strong> FP. Libro <strong>de</strong>resúmenes <strong>de</strong> <strong>la</strong>s IV <strong>Jornadas</strong> <strong>de</strong> enseñanzauniversitaria <strong>de</strong> Informática. Andorra. 1998.[3] B.O.E. <strong>de</strong> 17 <strong>de</strong> Enero <strong>de</strong> 1997[4] González, R. M. Rendimiento académico en <strong>la</strong>UPM: estudio longitudinal en primer ciclo,Vol. 1 y 2. I.C.E. <strong>de</strong> <strong>la</strong> UPM, 1993.[5] Más, J. Conocimientos básicos <strong>de</strong> los alumnos<strong>de</strong> nuevo ingreso en <strong>la</strong>s escue<strong>la</strong>suniversitarias. Evolución en el tiempo.Enseñanza <strong>de</strong> <strong>la</strong>s Ciencias. Nº extra VCongreso internacional sobre investigación endidáctica <strong>de</strong> <strong>la</strong>s ciencias. Intercambios ypósters, 251-253. Murcia. 1997.[6] Más, J. Estudio sobre el rendimientoacadémico <strong>de</strong> los alumnos <strong>de</strong> <strong>la</strong> EUI <strong>de</strong> <strong>la</strong>UPV. Libro <strong>de</strong> resúmenes <strong>de</strong> <strong>la</strong>s IV <strong>Jornadas</strong><strong>de</strong> enseñanza universitaria <strong>de</strong> Informática.Andorra. 1998.[7] Más, Alcover, y otros. Una herramientainformática para un estudio multidimensional<strong>de</strong>l rendimiento académico en <strong>la</strong> EUI <strong>de</strong> <strong>la</strong>UPV. Libro <strong>de</strong> resúmenes <strong>de</strong>l VII CUIE.Huelva. 1999.[8] Más, J. Meseguer, J.Mª Estudio sobre <strong>la</strong>heterogeneidad <strong>de</strong> conocimientos básicos enalumnos <strong>de</strong> primer curso <strong>de</strong> universida<strong>de</strong>spolitécnicas.. Libro <strong>de</strong> resúmenes <strong>de</strong> <strong>la</strong>s VI<strong>Jornadas</strong> <strong>de</strong> enseñanza universitaria <strong>de</strong>Informática. Alcalá <strong>de</strong> Henares. 2000.[9] Más, Meseguer y otros. La asignatura <strong>de</strong>Física frente al nivel <strong>de</strong> conocimientosbásicos <strong>de</strong> los alumnos <strong>de</strong> nuevo ingreso en <strong>la</strong>universidad. Libro <strong>de</strong> resúmenes <strong>de</strong>l IEncuentro ibérico para <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>Física. Val<strong>la</strong>dolid 1991.[10]P.I.D. 9052 <strong>de</strong> <strong>la</strong> UPV. Libro <strong>de</strong> resúmenes <strong>de</strong>los P.I.D. <strong>de</strong> <strong>la</strong> UPV. 2001.


Análisis <strong>de</strong> <strong>la</strong> integración <strong>de</strong>l uso <strong>de</strong> aplicaciones <strong>de</strong> apoyoa <strong>la</strong> docencia universitaria en InternetPiedad Garrido PicazoFernando Naranjo PalominoDpto. <strong>de</strong> Informática e Ing. <strong>de</strong> SistemasCentro <strong>de</strong> CálculoÁrea <strong>de</strong> Lenguajes y Sistemas InformáticosÁrea <strong>de</strong> Or<strong>de</strong>nadores PersonalesUniversidad <strong>de</strong> ZaragozaUniversidad <strong>de</strong> Zaragoza44003 Teruel 44003 Teruele-mail: piedad@posta.unizar.ese-mail: fnaranjo@posta.unizar.esSergio Albiol PérezFco. J. Martínez DomínguezDpto. <strong>de</strong> Informática e Ingeniería <strong>de</strong> SistemasÁrea <strong>de</strong> Arquitectura <strong>de</strong> ComputadoresUniversidad <strong>de</strong> Zaragoza44003 Teruele-mail: salbiol@posta.unizar.ese-mail: f.martinez@posta.unizar.esResumenLa imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong>s nuevas tecnologías <strong>de</strong><strong>la</strong> información en el mundo universitario, aparte<strong>de</strong> tener unas evi<strong>de</strong>ntes ventajas, trae consigo unaserie <strong>de</strong> problemas asociados que es necesariosolventar.El presente documento analiza dichaproblemática, y propone una serie <strong>de</strong> alternativaspara <strong>la</strong> puesta en marcha <strong>de</strong> un sistema <strong>de</strong>información en el ámbito docente, tras<strong>la</strong>dando <strong>la</strong>scaracterísticas <strong>de</strong> calidad tradicionales al nuevoentorno.Una <strong>de</strong> <strong>la</strong>s alternativas, consiste en el uso <strong>de</strong>herramientas expertas (Dreamweaver, FunnelWeb) como apoyo al <strong>de</strong>sarrollo <strong>de</strong>l sistema <strong>de</strong>información por parte <strong>de</strong>l personal docente. Laotra posibilidad consiste en <strong>la</strong> adquisición eimp<strong>la</strong>ntación <strong>de</strong> sistemas propietarios integrales(WebCT, B<strong>la</strong>ckboard).Finalmente se estudia cada una <strong>de</strong> <strong>la</strong>sposibilida<strong>de</strong>s, en base a <strong>la</strong> experiencia adquiridapor nuestro grupo, al estar inmersos actualmenteen <strong>la</strong> puesta en marcha <strong>de</strong>l anillo digital docente<strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Zaragoza.1. IntroducciónEncontrándonos en los albores <strong>de</strong>l siglo XXI ycon los rápidos avances que se han obtenido en <strong>la</strong>snuevas tecnologías <strong>de</strong> <strong>la</strong> información y <strong>la</strong>comunicación, no se ha hecho esperar <strong>de</strong>masiado<strong>la</strong> introducción <strong>de</strong> éstas en el mundo <strong>de</strong> <strong>la</strong>docencia, siendo esta incorporación especialmenterelevante en <strong>la</strong> última década.La progresiva integración <strong>de</strong> Internet en elmundo docente, se pone <strong>de</strong> manifiesto hoy en díaen numerosos ejemplos que van <strong>de</strong>s<strong>de</strong> el simpleuso <strong>de</strong> Internet como nuevo medio <strong>de</strong>comunicación para <strong>la</strong> comunidad docente, porejemplo el correo electrónico, hasta su utilidadcomo nuevo canal <strong>de</strong> distribución a través <strong>de</strong>l cualofertar los servicios educativos tradicionales, conun nuevo formato como es <strong>la</strong> web.A<strong>de</strong>más <strong>de</strong> los servicios tradicionales, apareceuna nueva línea <strong>de</strong> aplicación que está cobrandopoco a poco gran importancia. Esta línea preten<strong>de</strong>integrar a través <strong>de</strong> Internet a distintos colectivosuniversitarios (profesorado y alumnado).De esta forma, a<strong>de</strong>más <strong>de</strong> abrir nuevas vías <strong>de</strong>comunicación entre profesor y alumno a servicios


tradicionales ya existentes (apuntes, etc.) sirve <strong>de</strong>soporte a nuevos servicios sólo accesibles graciasal uso <strong>de</strong> Internet (evaluaciones on-line, foros,chat, semi-presencialidad,...).¿Qué <strong>de</strong>be hacer el mundo educativo pararespon<strong>de</strong>r al reto <strong>de</strong> Internet? Lo que sí está c<strong>la</strong>roes que el concepto <strong>de</strong> docencia on-line empieza aformar parte <strong>de</strong> nuestras vidas, y con él serequiere un cambio en el enfoque pedagógico <strong>de</strong><strong>la</strong>s materias, ya que disciplinas como <strong>la</strong>sTelecomunicaciones, <strong>la</strong>s Tecnologías <strong>de</strong> <strong>la</strong>Información, y <strong>la</strong> Informática empiezan a jugar unpapel importante como herramientas <strong>de</strong> apoyo a <strong>la</strong>docencia.La gran cantidad <strong>de</strong> oportunida<strong>de</strong>s formativasque ofrece <strong>la</strong> formación on-line, poniendo loscontenidos <strong>de</strong> una materia a disposición <strong>de</strong> ungran número <strong>de</strong> alumnos <strong>de</strong>s<strong>de</strong> diferentes lugares,proporciona una ventaja c<strong>la</strong>ra sobre los formatostradicionales, y supone un reto para <strong>la</strong> comunidaduniversitaria.2. Problemática actualCuando el docente <strong>de</strong>sea poner a disposición<strong>de</strong> los alumnos <strong>la</strong> información re<strong>la</strong>tiva a unaasignatura haciendo uso <strong>de</strong> Internet, <strong>de</strong>be tener encuenta que el medio <strong>de</strong> comunicación es bastantedistinto a lo que ya estaba acostumbrado.Nuevos objetivos p<strong>la</strong>ntean nuevos retos, y <strong>la</strong>puesta en práctica <strong>de</strong> <strong>la</strong>s nuevas estructuras noresulta trivial en <strong>la</strong> mayoría <strong>de</strong> los casos. Elprincipal problema radica en que, aunque exista <strong>la</strong>tecnología necesaria para <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong>snuevas tecnologías a <strong>la</strong> docencia, <strong>la</strong>s herramientasque lo pue<strong>de</strong>n hacer posible tampoco hanevolucionado lo suficiente como para que suaplicación por <strong>la</strong> comunidad docente sea sencil<strong>la</strong>.Se requiere un esfuerzo en formación ypráctica en algunas técnicas que en muchos casosson <strong>de</strong>sconocidas para <strong>la</strong> mayoría <strong>de</strong>l personaldocente. En <strong>la</strong> actualidad, <strong>la</strong> construcción <strong>de</strong> unapágina web <strong>de</strong> una asignatura, a <strong>la</strong> que podríamosconsi<strong>de</strong>rar el núcleo <strong>de</strong> servicios docentesofrecidos a través <strong>de</strong> Internet, no resulta accesiblepara una gran parte <strong>de</strong>l profesorado <strong>de</strong>bido a <strong>la</strong>cantidad <strong>de</strong> conocimientos específicos <strong>de</strong>l áreainformática que se requieren. Incluso <strong>la</strong> simplecolocación <strong>de</strong> apuntes en un <strong>de</strong>terminado servidorweb suele conllevar el aprendizaje <strong>de</strong> algunaherramienta nueva (por ejemplo un cliente FTP).Como es <strong>de</strong> suponer, esta problemática se hacepatente especialmente en los grupos <strong>de</strong>profesorado <strong>de</strong> áreas no técnicas, teniendo unamás difícil solución en centros pequeños como losque existen en Teruel, <strong>de</strong>bido a <strong>la</strong> escasez <strong>de</strong>personal.Todos estos problemas anteriormentecomentados estarían estrechamente ligados a <strong>la</strong>formación técnica <strong>de</strong>l profesorado en cuanto a <strong>la</strong>implementación <strong>de</strong>l sistema <strong>de</strong> apoyo a <strong>la</strong>docencia. Sin embargo, otro <strong>de</strong> los problemas quesuelen aparecer, sobretodo una vez superado elprimer escollo, es que aun teniendo unos ligerosconocimientos acerca <strong>de</strong> cómo implementar unpequeño sistema, el resultado no suele serconvincente. Si bien <strong>la</strong>s carencias en cuanto atecnología se refiere suelen ser gran<strong>de</strong>s por parte<strong>de</strong> <strong>la</strong> mayoría <strong>de</strong>l profesorado, <strong>la</strong>s carenciasre<strong>la</strong>tivas en cuanto a los nuevos Sistemas <strong>de</strong>Información (organización, recuperación, interfaz,etc.) suelen ser todavía mayores.Otro <strong>de</strong> los problemas que suele darse conmayor frecuencia es que, una vez imp<strong>la</strong>ntado elsistema, no se realiza una evaluación continuada yun mantenimiento <strong>de</strong> los servicios que ofrece paraintentar mejorar o ampliarlos.La evaluación, aunque <strong>de</strong>biera ser realizada entodos los aspectos <strong>de</strong> <strong>la</strong> enseñanza, en el campo <strong>de</strong><strong>la</strong> teleformación o información on-line suele ser<strong>de</strong>jado <strong>de</strong> <strong>la</strong>do cuando quizá es más fácil yrequiere menos tiempo, pues <strong>la</strong> propia tecnologíapue<strong>de</strong> recoger <strong>de</strong> forma automática diversosindicadores <strong>de</strong>l grado <strong>de</strong> aceptación <strong>de</strong> nuestrotrabajo <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> comunidad universitaria.En cuanto al mantenimiento, cabe <strong>de</strong>stacarque, unida a <strong>la</strong> preocupación por <strong>la</strong> construcción<strong>de</strong> un sistema <strong>de</strong> información, <strong>de</strong>be tenerse encuenta su posterior mantenimiento, una fase <strong>de</strong> <strong>la</strong>cual nadie suele ocuparse en un principio, peroque a medio p<strong>la</strong>zo pue<strong>de</strong> proporcionar más <strong>de</strong> unquebra<strong>de</strong>ro <strong>de</strong> cabeza y una consi<strong>de</strong>rable pérdida<strong>de</strong> tiempo.


El mantenimiento, quizá suele ser un trabajobastante duro, puesto que se <strong>de</strong>be realizar a <strong>la</strong> vezque el mantenimiento <strong>de</strong> los servicios l<strong>la</strong>mados“tradicionales”. Quizá ese sea el gran error,separar los servicios y por tanto tener que duplicarlos esfuerzos.En <strong>la</strong> actualidad, en muchos centrosuniversitarios <strong>la</strong> responsabilidad <strong>de</strong>l <strong>de</strong>sarrollo ymantenimiento <strong>de</strong> los sistemas documentalescorrespondientes recae en personal docente, lo que<strong>de</strong>bido a los problemas anteriormente expuestos,provoca una falta <strong>de</strong> integración general <strong>de</strong> estetipo <strong>de</strong> entorno en <strong>la</strong> universidad.Por otra parte, si hab<strong>la</strong>mos <strong>de</strong>l concepto <strong>de</strong>calidad en <strong>la</strong> enseñanza, y nos empeñamos enintroducir mecanismos que nos <strong>la</strong> aseguren, eslógico hacer extensibles esos requerimientos <strong>de</strong>calidad a estas nuevas aplicaciones <strong>de</strong> Internet en<strong>la</strong> docencia. Pues bien, es aquí don<strong>de</strong> resultan másobvios los problemas <strong>de</strong> formación a los que nosreferíamos, dado que si ya pue<strong>de</strong> resultarcomplicada <strong>la</strong> construcción <strong>de</strong> una página webdocente, mucho más pue<strong>de</strong> serlo si se quierehab<strong>la</strong>r <strong>de</strong> su construcción en términos <strong>de</strong> calidad.3. El nuevo rol <strong>de</strong>l profesorEl papel <strong>de</strong>l docente ha cambiadosustancialmente con <strong>la</strong> aparición <strong>de</strong>l nuevoparadigma centrado en el aprendizaje y en el queapren<strong>de</strong>, frente al paradigma p<strong>la</strong>nteado hasta <strong>la</strong>fecha actual (enseñanza vs. profesor).Por lo general, el profesor suele limitarse atransmitir y a evaluar conocimientos. Es indudableque el buen uso <strong>de</strong> los medios actualmentedisponibles en Internet pue<strong>de</strong> suponer un cambioradical en <strong>la</strong>s re<strong>la</strong>ciones enseñanza-aprendizaje. Elprofesor <strong>de</strong>bería convertirse en un facilitador <strong>de</strong> <strong>la</strong>información, analista crítico <strong>de</strong> áreas <strong>de</strong>conocimiento, guía <strong>de</strong> estudio, revisor y evaluador<strong>de</strong> <strong>la</strong> capacitación <strong>de</strong>l alumno.Por otra parte, el alumno <strong>de</strong>bería empezar aser consciente <strong>de</strong> su papel esencialmente activo enel proceso <strong>de</strong> aprendizaje, como miembro <strong>de</strong> unacomunidad virtual <strong>de</strong> personas con unos intereses<strong>de</strong> formación compartidos.Para po<strong>de</strong>r <strong>de</strong>finir el nuevo rol <strong>de</strong>lprofesorado, <strong>la</strong> ISTE (International Society forTechnology in Education) propone una serie <strong>de</strong>habilida<strong>de</strong>s <strong>de</strong> gran interés [5], que pue<strong>de</strong>n servir<strong>de</strong> base para diseñar un programa <strong>de</strong> aprendizajepara los docentes.Conseguir todas estas <strong>de</strong>strezas y habilida<strong>de</strong>sno es algo inmediato, exige una p<strong>la</strong>nificación<strong>de</strong>tenida y progresiva <strong>de</strong>l aprendizaje, y unapredisposición por parte <strong>de</strong>l profesorado <strong>de</strong>hacerse partícipe <strong>de</strong> los nuevos propósitos,características, metas, exigencias y estilo <strong>de</strong> estanueva tipología <strong>de</strong> formación, y que <strong>de</strong>benorientar <strong>la</strong> actividad docente, discente yadministrativa <strong>de</strong> quienes componen <strong>la</strong> instituciónen todo momento.En <strong>de</strong>finitiva, tendría que producirse uncambio en <strong>la</strong> mentalidad <strong>de</strong>l profesorado,modificando <strong>la</strong>s re<strong>la</strong>ciones enseñanza-aprendizajey convirtiéndose en el facilitador <strong>de</strong> <strong>la</strong>información en aquellos niveles <strong>de</strong> conocimientopropios.4. Posibles solucionesPor tanto, se hace necesaria <strong>la</strong> adopción <strong>de</strong>soluciones que permitan <strong>la</strong> progresivaimp<strong>la</strong>ntación <strong>de</strong> los nuevos servicios basados enInternet para <strong>la</strong> comunidad universitaria. Sinembargo, <strong>la</strong> subcontratación <strong>de</strong> <strong>la</strong> construcción ysobre todo <strong>de</strong>l mantenimiento <strong>de</strong> páginas webexige un alto coste y una falta <strong>de</strong> in<strong>de</strong>pen<strong>de</strong>nciaque no suele ser asumible.Es <strong>de</strong> suponer que con el tiempo, <strong>la</strong> tecnologíaavanzará hasta ir minimizando <strong>la</strong> distancia entre loque se quiere hacer y lo que se pue<strong>de</strong> hacer conmínimos conocimientos, pero <strong>la</strong> comunidaddocente no pue<strong>de</strong> esperar y los servicios <strong>de</strong>ben serofrecidos sin <strong>de</strong>mora. Todo esto, nos lleva a dosposibles p<strong>la</strong>nteamientos:• Optar por <strong>la</strong> propia creación <strong>de</strong> nuestronuevo sistema docente orientado a <strong>la</strong> web yhacer uso <strong>de</strong> <strong>la</strong>s nuevas herramientasexpertas tales como FunnelWeb oWatchPoint, para <strong>la</strong> gestión, mantenimiento y


optimización a lo <strong>la</strong>rgo <strong>de</strong>l ciclo <strong>de</strong> vida <strong>de</strong>un web-site formativo para que sea robusto y<strong>de</strong> calidad.• En contraposición, tenemos <strong>la</strong> posibilidad <strong>de</strong>usar soluciones propietarias que seencuentran en el mercado tales comoWebCT, que integran todo en un únicoproducto. Estas herramientas ya proveen <strong>de</strong><strong>la</strong>s herramientas necesarias para <strong>la</strong> creaciónrápida <strong>de</strong> una experiencia docenteinteractiva, quedando <strong>de</strong> parte <strong>de</strong>lprofesorado <strong>la</strong> gestión <strong>de</strong> contenidos yadministración.En base a nuestra experiencia en el Campus <strong>de</strong>Teruel y tras una estrecha co<strong>la</strong>boración entre PASy PDI, no se <strong>de</strong>ben cerrar <strong>la</strong>s posibilida<strong>de</strong>s quenos ofrece hoy en día el mercado tecnológico, sinoque hay <strong>de</strong> tratar <strong>de</strong> encontrar solucionespersonalizadas, y adaptar<strong>la</strong>s a cada uno <strong>de</strong> losusuarios. Como afirman McGreal, Gram y Marksel problema vendrá <strong>de</strong>terminado por quéherramientas serán a<strong>de</strong>cuadas para conseguir unosobjetivos educativos específicos. [7]Sería necesario intentar encontrar un entornoeficaz, sencillo y a <strong>la</strong> vez amigable, para que aldocente le supusiera el mínimo esfuerzo y<strong>de</strong>dicación a <strong>la</strong> hora <strong>de</strong> crear sus propias websdocentes.5. Análisis comparativo5.1. Herramientas expertasLa primera <strong>de</strong> <strong>la</strong>s soluciones propuestasconlleva <strong>la</strong> realización <strong>de</strong>l esfuerzo por parte <strong>de</strong>lpersonal en <strong>la</strong> creación <strong>la</strong>s web docentes y losservicios ofrecidos a través <strong>de</strong> el<strong>la</strong>s. Hoy en día yaexisten herramientas orientadas al diseño visualbastante conocidas (FrontPage, Page Mill,Figura 1. Perfil <strong>de</strong> asignatura generado por Funnel Web


Dreamweaver,...) que facilitan y limitan el trabajoa realizar <strong>de</strong> cara al diseño <strong>de</strong> páginas en sí.Esto acerca a <strong>la</strong> comunidad docente <strong>la</strong>oportunidad <strong>de</strong> ofrecer varios <strong>de</strong> los serviciostradicionales en <strong>la</strong> docencia a través <strong>de</strong> Internet,como <strong>la</strong> disponibilidad <strong>de</strong> apuntes a través <strong>de</strong> <strong>la</strong>web, <strong>la</strong> comunicación vía correo electrónico,horarios <strong>de</strong> tutorías, anuncios y noticias breves,información institucional <strong>de</strong> asignaturas y e<strong>la</strong>cceso a en<strong>la</strong>ces y bibliografía <strong>de</strong> interés.Sin embargo, <strong>la</strong> posibilidad <strong>de</strong> ofrecerservicios más avanzados tales como foros, chat,evaluaciones interactivas y seguimientopersonalizado a través <strong>de</strong> estas herramientas estodavía complicado para el personal docente conpoca formación técnica. A<strong>de</strong>más, en cualquiercaso estas herramientas suelen estar dirigidas a <strong>la</strong>implementación <strong>de</strong> los sitios, pero no a suevaluación, concepto que es imprescindibleabordar si se quieren introducir características <strong>de</strong>calidad en dichas webs.De esta manera, llegamos a <strong>la</strong> conclusión <strong>de</strong>que no sólo <strong>de</strong>bemos abordar <strong>la</strong> construcción <strong>de</strong>sistemas docentes basados en web, sino quetambién <strong>de</strong>beremos ocuparnos <strong>de</strong> evaluarlos parasu optimización, mantenimiento y gestión, queredundará en un mejor servicio al alumno comousuario final <strong>de</strong> dichos sistemas.Es aquí don<strong>de</strong> se introducen <strong>la</strong>s herramientasexpertas <strong>de</strong> última generación que, incorporandoconocimiento experto técnico en el área que nosocupa, son capaces <strong>de</strong> suplir <strong>la</strong> falta <strong>de</strong> formación<strong>de</strong> <strong>la</strong> persona para evaluar, seña<strong>la</strong>r problemas y enúltima instancia recomendar <strong>la</strong>s accionescorrectoras apropiadas sin necesidad <strong>de</strong> que eldiseñador o administrador <strong>de</strong>l sitio disponga <strong>de</strong>conocimientos técnicos profundos, a<strong>de</strong>más <strong>de</strong>ahorrar el consi<strong>de</strong>rable coste empleado en <strong>la</strong>recopi<strong>la</strong>ción <strong>de</strong> datos <strong>de</strong>l sitio y en su posterioranálisis.Figura 2. Módulo <strong>de</strong> contenidos <strong>de</strong> una asignatura (WebCT)


Nuestra opinión, apoyada por nuestraexperiencia, es que en el escenario en el cual elpersonal docente implementa y mantieneestructuras web docentes, el uso <strong>de</strong> estasherramientas cada vez resulta más recomendable.Como ejemplo p<strong>la</strong>nteémonos una <strong>de</strong> <strong>la</strong>sexperiencias abordadas por nuestro equipo, en <strong>la</strong>cual se hace uso <strong>de</strong> una <strong>de</strong> estas herramientasexpertas para <strong>la</strong> evaluación <strong>de</strong> una <strong>de</strong>terminadaweb <strong>de</strong> asignatura, <strong>de</strong>ntro <strong>de</strong> su fase <strong>de</strong>mantenimiento y gestión. En este caso, usaremos<strong>la</strong> herramienta “Funnel Web Profiler” <strong>de</strong> <strong>la</strong>empresa Quest Software para <strong>la</strong> evaluación,gestión y mantenimiento <strong>de</strong> <strong>la</strong> página web <strong>de</strong> unaasignatura impartida en <strong>la</strong> Escue<strong>la</strong> <strong>Universitaria</strong>Politécnica <strong>de</strong> Teruel (EUPT):1. En un principio, <strong>la</strong> configuración <strong>de</strong> <strong>la</strong>herramienta para evaluar nuestra página osito web es tan sencillo como indicarle <strong>la</strong>URL <strong>de</strong> <strong>la</strong> página principal.(http://eupt.unizar.es/asignaturas/itig/arquitectura_<strong>de</strong>_computadores/in<strong>de</strong>x.shtml)2. Una vez realizada <strong>la</strong> evaluación, <strong>la</strong>herramienta nos proporciona una serie <strong>de</strong>pestañas categorizadas en <strong>la</strong>s cuales se nosindican:• Características intrínsecas a nuestro sitioweb. (ver figura 1)• Aviso <strong>de</strong> problemas <strong>de</strong> sintaxis,usabilidad y compatibilidad, con <strong>la</strong>solución recomendada.• Marcación <strong>de</strong> en<strong>la</strong>ces rotos y páginasinaccesibles.• Acceso a <strong>la</strong> estructura <strong>de</strong>l sitio web parasu gestión remota.Figura 3. Gestión <strong>de</strong> una asignatura con WebCT


• Distribución <strong>de</strong> <strong>la</strong> información en el sitioweb.En resumen, mediante el uso <strong>de</strong> estasherramientas se simplifica el mantenimiento y <strong>la</strong>gestión <strong>de</strong> <strong>la</strong>s páginas web <strong>de</strong>dicadas a <strong>la</strong>docencia, a<strong>de</strong>más <strong>de</strong> proporcionar una buena basepara dotar <strong>de</strong> mayor calidad a su estructurageneral, todo esto con un coste reducido yminimizando el conocimiento a priori necesariopara realizar tales tareas, tal y como se <strong>de</strong>mandaen <strong>la</strong> comunidad docente. A<strong>de</strong>más <strong>de</strong> <strong>la</strong> referidaFunnelWeb Profiler, cabe <strong>de</strong>stacar <strong>de</strong>ntro <strong>de</strong> estetipo <strong>de</strong> herramientas InFocus, WebTrendsAnalisys o Web SAT.En el <strong>la</strong>do negativo, cabe <strong>de</strong>stacar que, aunque<strong>la</strong> distancia entre el mundo docente y eltecnológico se reduce con el uso <strong>de</strong> estasherramientas, siguen siendo necesarios unosciertos conocimientos técnicos , ya que <strong>la</strong>resolución <strong>de</strong> problemas y el mantenimientoúltimo sigue siendo manual. Por último, <strong>la</strong>sservicios accesibles a ser ofertados por <strong>la</strong>comunidad docente no pue<strong>de</strong>n verse ampliadospor el uso <strong>de</strong> estas herramientas, dado que para losmás avanzados (chat, foros, autoevaluaciones,...)se hacen imprescindibles conocimientos técnicosmás profundos.5.2. Soluciones propietariasComo alternativa a <strong>la</strong> aproximación anteriorpue<strong>de</strong> adoptarse como solución <strong>la</strong> adquisición eimp<strong>la</strong>ntación <strong>de</strong> soluciones propietarias integrales.Esto es, sistemas que integran <strong>la</strong>s herramientasnecesarias para ofrecer todos los serviciosdocentes requeridos vía web, y que intentan que,siendo el personal docente el encargado <strong>de</strong>administrar y diseñar los sistemas docentesorientados a web, estas tareas puedan serasumidas con una formación y conocimientosinformáticos mínimos.Estas soluciones no sólo proveen <strong>de</strong> losservicios conocidos como tradicionales en elmundo docente a través <strong>de</strong> web, sino que intentanir un poco más allá y ofrecer una serie <strong>de</strong> serviciosadicionales específicamente dirigidos a <strong>la</strong>integración lo más profunda posible <strong>de</strong> <strong>la</strong>experiencia docente entre alumno y profesor através <strong>de</strong> <strong>la</strong> web.Como ejemplo <strong>de</strong> estos sistemas po<strong>de</strong>mos<strong>de</strong>stacar WebCT, usada en nuestra experienciacomo p<strong>la</strong>taforma soporte <strong>de</strong> toda una titu<strong>la</strong>ciónuniversitaria semi-presencial en el Anillo DigitalDocente <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Zaragoza(http://add.unizar.es).Mediante WebCT, se <strong>de</strong>finen cursos yasignaturas que pue<strong>de</strong>n ser diseñadas ygestionadas en su totalidad por el profesorado sinnecesidad <strong>de</strong> conocimientos técnicos profundos.En este sistema, ya vienen incorporadas <strong>la</strong>ssiguientes herramientas docentes, que sólo <strong>de</strong>benser configuradas a<strong>de</strong>cuadamente por losprofesores para los alumnos matricu<strong>la</strong>dos en cadacurso o asignatura:• Contenidos <strong>de</strong> asignatura. (ver figura 2)• Listas <strong>de</strong> correo, foros y chat.• Exámenes realizables a través <strong>de</strong> <strong>la</strong> red.• Seguimiento <strong>de</strong>l alumno.• Auto-evaluaciones en línea.• Grupos <strong>de</strong> trabajo y asignación <strong>de</strong>trabajos.• Gestión <strong>de</strong> alumnado <strong>de</strong> asignatura.• Calendario.Las ventajas <strong>de</strong> estas soluciones sonindudables en cuanto que están dirigidasespecíficamente a <strong>la</strong> docencia a través <strong>de</strong> Internet,aportando ya todas <strong>la</strong>s herramientasimplementadas y con unas <strong>la</strong>bores <strong>de</strong> diseño ygestión bastante guiadas por parte <strong>de</strong>l profesorado.De esta forma se consigue una integracióntotal en los servicios ofrecidos. Por el contrario,en <strong>la</strong> parte negativa <strong>de</strong>bemos <strong>de</strong>stacar el alto coste<strong>de</strong> adquisición <strong>de</strong> estos sistemas, más el coste <strong>de</strong><strong>la</strong>s máquinas don<strong>de</strong> se ubiquen .Tambiénpo<strong>de</strong>mos constatar su rigi<strong>de</strong>z, su falta <strong>de</strong>acop<strong>la</strong>miento con el resto <strong>de</strong> sistemas docentes através <strong>de</strong> Internet que existan anteriormente. Porúltimo, no po<strong>de</strong>mos olvidar <strong>la</strong> <strong>de</strong>pen<strong>de</strong>ncia que secrea entre el centro <strong>de</strong>cente y una empresa externaa través <strong>de</strong> este tipo <strong>de</strong> sistemas.


6. ConclusionesCuando se trata <strong>de</strong> llevar a<strong>de</strong><strong>la</strong>nte unainnovación educativa, que exige cambiosprofundos en <strong>la</strong> estructura organizativa <strong>de</strong> loscentros, <strong>la</strong> gestión <strong>de</strong>l au<strong>la</strong>, <strong>la</strong> función <strong>de</strong> losprofesores y <strong>la</strong> manera predominante <strong>de</strong> apren<strong>de</strong>r<strong>de</strong> los alumnos, se <strong>de</strong>ben atajar una serie <strong>de</strong>problemas que surgen en <strong>la</strong> actualidad.La Educación todavía no encuentra su caminohacia el ciberespacio. Los tecnofóbicos y losescépticos siguen estando presentes en nuestroscentros educativos, existiendo un c<strong>la</strong>ro rechazo auna serie <strong>de</strong> tecnologías capaces <strong>de</strong> aportar unosgran<strong>de</strong>s avances en <strong>la</strong> formación universitaria ymejorando <strong>de</strong> está forma <strong>la</strong> calidad en <strong>la</strong>enseñanza.Para ello, es necesario que aparezcansoluciones complejas que resuelvan el problema<strong>de</strong> manera sencil<strong>la</strong>, c<strong>la</strong>ra y concisa. Don<strong>de</strong> losusuarios no necesiten un elevado tiempo <strong>de</strong>formación, pero que los resultados seanprofesionales.Desgraciadamente, esto está aún por llegar,por lo que proponemos el uso <strong>de</strong> sencillos editores<strong>de</strong> páginas apoyados con herramientas expertas <strong>de</strong>evaluación y mantenimiento, en el caso <strong>de</strong>resolución <strong>de</strong> necesida<strong>de</strong>s puntuales y cuando nose pretenda ofrecer gran cantidad <strong>de</strong> servicios,mientras que cuando queramos realizar sistemas<strong>de</strong> información integrados y completos queincluyan servicios avanzados, se <strong>de</strong>beríaconsi<strong>de</strong>rar <strong>la</strong> inversión que supone <strong>la</strong> adquisición<strong>de</strong> herramientas propietarias para <strong>la</strong> docencia ya<strong>de</strong>sarrol<strong>la</strong>das y comercialmente aceptadas, comopue<strong>de</strong>n ser WebCT, LearningSpace o B<strong>la</strong>ckboard.Referencias[1] Anillo digital docente <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Zaragoza. http://add.unizar.es/[2] B<strong>la</strong>ckboard. http://www.b<strong>la</strong>ckboard.com[3] Funnel Web Profiler. http://www.quest.com[4] InFocus. http://www.ssbtechnologies.com/[5] ISTE (International Society for Technology inEducation). http://www.iste.org/[6] LearningSpace.http://lotus.com/home.nsf/welcome/learnspace[7] McGreal, R, Gram, T. Y Marks, T. A Surveyof New Media Development and DeliverySoftware for Internet-Based Learning.http://teleeducation.nb.ca/content/media/environment/[8] Universidad Nacional <strong>de</strong> Educación aDistancia. http://www.uned.es/[9] Web Course Tools. http://www.webct.com[10] WebSAT.http://zing.ncsl.nist.gov/WebTools/WebSAT/[11] WebTrends Analisys.http://www.webtrends.com/products/as/


Algunas consi<strong>de</strong>raciones sobre el léxico utilizado en <strong>la</strong> docencia<strong>de</strong> <strong>la</strong> InformáticaAlberto PrietoDept. <strong>de</strong> Arquitectura yTecnología <strong>de</strong> ComputadoresUniversidad <strong>de</strong> GranadaE 18071 Granadae-mail: aprieto@ugr.esAntonio CañasDept. <strong>de</strong> Arquitectura yTecnología <strong>de</strong> ComputadoresUniversidad <strong>de</strong> GranadaE 18071 Granadae-mail: acanas@atc.ugr.esGregorio Fernán<strong>de</strong>zDpto. <strong>de</strong> Ing. <strong>de</strong> Sist. TelemáticosE.T.S.I. TelecomunicaciónUniv. Politécnica <strong>de</strong> MadridE 28040 Madri<strong>de</strong>-mail: gfer@dir.upm.esResumenEste trabajo trata <strong>de</strong> poner <strong>de</strong> manifiesto <strong>la</strong>importancia que <strong>de</strong>be tener para un profesor <strong>de</strong>Informática <strong>la</strong> utilización <strong>de</strong> un léxico a<strong>de</strong>cuado,lo cual requiere una sensibilidad especial parabuscar con cierto rigor <strong>la</strong> traducción <strong>de</strong> losnumerosos términos científicos y técnicos quecontinuamente aparecen, <strong>de</strong> origen fundamentalmenteanglosajón. Se muestra una re<strong>la</strong>ción <strong>de</strong>vocablos incluidos recientemente en el diccionario<strong>de</strong> <strong>la</strong> RAE así como un Apéndice con unapropuesta <strong>de</strong> traducción <strong>de</strong> términos que no suelentraducirse <strong>de</strong> forma unificada por su dificultad.1. MotivaciónLa Informática, como <strong>la</strong> mayor parte <strong>de</strong> <strong>la</strong>s ramas<strong>de</strong> <strong>la</strong> Ciencia y <strong>de</strong> <strong>la</strong> Técnica, está generandoconstantemente conceptos, que, para un avancea<strong>de</strong>cuado <strong>de</strong> <strong>la</strong> misma, es necesario <strong>de</strong>finir oestablecer con exactitud, y, lo que a veces es másdifícil, darles el nombre que los representecorrectamente. Los profesionales y usuarios <strong>de</strong> un<strong>de</strong>terminado dominio se enten<strong>de</strong>rán tanto mejorcuanto más precisa y universalmente aceptada sea<strong>la</strong> terminología que usen. Viene al caso recordarque en aras <strong>de</strong> lograr esos objetivos <strong>la</strong> Medicinautilizó durante muchos siglos el Latín comofundamento <strong>de</strong> su terminología.Es razonable reconocer <strong>la</strong> necesidad en losámbitos científicos y técnicos <strong>de</strong> unificar <strong>la</strong>terminología para lograr un correctoentendimiento entre los que se preten<strong>de</strong>ncomunicar. Obviamente este rigor formal no sesuele requerir en otros ámbitos o en <strong>la</strong>conversación espontánea.En <strong>la</strong> Informática concurren <strong>la</strong>s especialescircunstancias <strong>de</strong> su rápida evolución, y <strong>de</strong> queésta se produce en distintos países, fundamentalmenteanglosajones. Estos hechos obligan atener que incorporar en nuestro idioma numerososneologismos, <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s veces a unavelocidad vertiginosa, sin tiempo para una mínimamaduración.Uno <strong>de</strong> los objetivos fundamentales <strong>de</strong> <strong>la</strong>Universidad es <strong>la</strong> difusión <strong>de</strong>l conocimiento(Artículo 1 <strong>de</strong> <strong>la</strong> LOU), por lo que sin duda losprofesores universitarios tenemos una especialresponsabilidad en preocuparnos por utilizar unaterminología lo más correcta posible, en el sentido<strong>de</strong> que los términos se a<strong>de</strong>cuen al concepto quequieren representar.En el resto <strong>de</strong> esta comunicación tratamos enprimer lugar (Sección 2) <strong>de</strong> hacer unasconsi<strong>de</strong>raciones sobre el proceso <strong>de</strong> traducción.Posteriormente (Sección 3) comentaremosdistintos vocablos, <strong>la</strong> mayoría <strong>de</strong> ellosanglicismos, re<strong>la</strong>cionados con <strong>la</strong> Informática queaparecen en <strong>la</strong>s últimas ediciones <strong>de</strong>l diccionario<strong>de</strong> <strong>la</strong> Real Aca<strong>de</strong>mia Españo<strong>la</strong> (RAE). Alproblema <strong>de</strong> <strong>la</strong> formación <strong>de</strong>l plural <strong>de</strong> losanglicismos, que con frecuencia presenta dificulta<strong>de</strong>s,le <strong>de</strong>dicaremos <strong>la</strong> Sección 4. Por últimoincluimos un apartado (Sección 5) que trata <strong>de</strong>difundir neologismos que se están utilizando en<strong>la</strong>s últimas ediciones <strong>de</strong> libros re<strong>la</strong>cionados con <strong>la</strong>Informática [1-8], en <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s que noshemos visto involucrados directamente comoautores o traductores [1-4, 7-8].


2. Consi<strong>de</strong>raciones sobre el proceso <strong>de</strong>traducción <strong>de</strong> vocablosComo “<strong>la</strong>s pa<strong>la</strong>bras se <strong>la</strong>s lleva el viento” losmayores esfuerzos en <strong>la</strong> utilización <strong>de</strong> vocablosa<strong>de</strong>cuados se han realizado en los documentosescritos, fundamentalmente libros <strong>de</strong> texto o paraprofesionales, y a ellos nos vamos a referir.A inicios <strong>de</strong> <strong>la</strong> década <strong>de</strong> los 80 distintaseditoriales toman conciencia <strong>de</strong>l interés comercial<strong>de</strong> traducir, a<strong>de</strong>más <strong>de</strong> libros <strong>de</strong> texto, distintoslibros <strong>de</strong> informática <strong>de</strong>dicados a temas talescomo lenguajes <strong>de</strong> programación (BASIC yPascal), sistemas operativos (CP/M y MS-DOS,por ejemplo), manuales <strong>de</strong> referencia, aplicacionesen distintos campos (juegos para or<strong>de</strong>nador, porejemplo) etc. En esta etapa resaltan los esfuerzos<strong>de</strong> <strong>la</strong> empresa McGraw-Hill, que acometió <strong>la</strong> tarea<strong>de</strong> editar una gran cantidad <strong>de</strong> obras informática<strong>de</strong> distinta naturaleza traducidas al castel<strong>la</strong>no <strong>de</strong>linglés. Los profesores Antonio Vaquero, LuisJoyanes y Sebastián Dormido actuaron comoconsultores editoriales y revisores técnicos <strong>de</strong>gran cantidad <strong>de</strong> obras. Especial mención mereceel glosario <strong>de</strong> términos y sig<strong>la</strong>s publicado por <strong>la</strong>sdos primeras personas referenciadas anteriormente[9]. Posteriormente otras editoriales comoPrencice Hall, Anaya y Thomson-Paraninfosiguieron los pasos <strong>de</strong> <strong>la</strong> anteriormente citada.La actitud <strong>de</strong> un profesor o un traductor anteun término en un idioma extranjero, que <strong>de</strong>beexpresar en castel<strong>la</strong>no pue<strong>de</strong> ser una <strong>de</strong> <strong>la</strong>ssiguientes:1. Traducción directa. Un ejemplo sería eltérmino low-level <strong>la</strong>nguage, que sindificultad se traduce por lenguaje <strong>de</strong> altonivel. La traducción directa es muypeligrosa, ya que no <strong>de</strong>be acometerse sinconocer el significado <strong>de</strong>l término. Esta i<strong>de</strong>aconduce a que <strong>la</strong> traducción <strong>de</strong> textos <strong>de</strong>baser realizada por profesionales <strong>de</strong>l campo, yno por meros traductores profesionales. Sinduda, <strong>la</strong> no utilización <strong>de</strong> este principioprovocó que el título <strong>de</strong> un capitulo <strong>de</strong> unlibro <strong>de</strong> informática traducido en <strong>la</strong> década<strong>de</strong> los 70 fuese Lenguaje <strong>de</strong> Asambleas, y alinicio <strong>de</strong>l capítulo se “ac<strong>la</strong>raba” el conceptomás o menos <strong>de</strong> esta guisa: “El lenguaje <strong>de</strong>Asambleas o Congresos es un lenguaje <strong>de</strong>programación <strong>de</strong> bajo nivel en el que loscódigos <strong>de</strong> operación están representadospor símbolos nemotécnicos ...”2. Traducción por significado. A veces <strong>la</strong>búsqueda en un diccionario <strong>de</strong> <strong>la</strong> acepciónmás a<strong>de</strong>cuada para una pa<strong>la</strong>bra no resultafructífera. En estos casos <strong>la</strong> primerasolución es buscar un vocablo castel<strong>la</strong>no querecoja el significado <strong>de</strong>l concepto, sin teneren cuenta <strong>la</strong> traducción directa <strong>de</strong>l mismo.Un ejemplo es <strong>la</strong> pa<strong>la</strong>bra pin, en el contexto<strong>de</strong> los circuitos integrados. Ninguna <strong>de</strong> <strong>la</strong>sacepciones <strong>de</strong>l diccionario como traducción<strong>de</strong> pin parece razonable (alfiler, perno,chaveta, c<strong>la</strong>vija, polo, etc.); pero teniendo encuenta el concepto se acostumbra a traducirpor patil<strong>la</strong> o terminal, vocablos que <strong>de</strong>ntro<strong>de</strong> su contexto expresan c<strong>la</strong>ramente <strong>la</strong> i<strong>de</strong>aen cuestión. No obstante lo anterior <strong>la</strong>pa<strong>la</strong>bra pin ha sido incluida recientementeen el diccionario <strong>de</strong> <strong>la</strong> RAE con elsignificado anteriormente indicado 1 .3. Castel<strong>la</strong>nización. Existen términos cuyaacepción castel<strong>la</strong>na es difícil <strong>de</strong> encontrar o,si se ha encontrado, no se han difundido losuficiente o en el momento oportuno <strong>de</strong>ntro<strong>de</strong> <strong>la</strong> comunidad informática. En estos casoslos vocablos originales se suelen incorporara nuestro lenguaje habitual en forma <strong>de</strong>anglicismos y, si su uso es sancionado por <strong>la</strong>opinión pública, habitualmente acabansiendo aceptados por <strong>la</strong> RAE. Ejemplos <strong>de</strong>estos vocablos son: escáner, disquete, etc. Aeste grupo <strong>de</strong> pa<strong>la</strong>bras le <strong>de</strong>dicamos <strong>la</strong>Sección 3 <strong>de</strong> esta comunicación.4. Inhibición. Esta opción es <strong>la</strong> más cómoda,ya que consiste en no esforzarse en buscaruna traducción <strong>de</strong>l término o concepto encuestión. Un ejemplo sería <strong>de</strong>cir losiguiente: “El stack pointer <strong>de</strong>l procesadorcontiene <strong>la</strong> dirección <strong>de</strong> memoria ...”.Consi<strong>de</strong>ramos que un profesionalresponsable, y sobre todo <strong>de</strong>dicado a <strong>la</strong> enseñanza,<strong>de</strong>be realizar el esfuerzo <strong>de</strong> no optar por <strong>la</strong> cuartaalternativa, no <strong>de</strong>jándose llevar por lo fácil.Con mucha frecuencia, encontrar <strong>la</strong> pa<strong>la</strong>braa<strong>de</strong>cuada que exprese una i<strong>de</strong>a (a pesar <strong>de</strong> <strong>la</strong> granriqueza <strong>de</strong>l castel<strong>la</strong>no) no es tarea fácil. A<strong>de</strong>más1 Pin. 1.m Electr. Cada una <strong>de</strong> <strong>la</strong>s patil<strong>la</strong>s metálicas <strong>de</strong>un conector multipo<strong>la</strong>r.


existen conceptos que pue<strong>de</strong>n representarse porvarios vocablos, y cuando surgen y se opta poruno <strong>de</strong> estos pue<strong>de</strong> ser que, con el tiempo, acabeimponiéndose otro <strong>de</strong> los alternativos. Así, en unCongreso <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> década <strong>de</strong> los 70 seutilizaba silo como traducción <strong>de</strong> <strong>la</strong> pa<strong>la</strong>bra stack;como es bien conocido, con posterioridad seimpuso <strong>la</strong> traducción por pi<strong>la</strong>. Consi<strong>de</strong>ramos muymeritorio el esfuerzo <strong>de</strong> los autores <strong>de</strong> <strong>la</strong>comunicación <strong>de</strong>l congreso citado por traducir eltérmino, aunque finalmente <strong>la</strong> comunidad optasepor otro. Este mismo problema en ocasionesaparece en <strong>la</strong> nación <strong>de</strong> origen, ya que a vecescuando aparece un concepto nuevo no siempre sele da una <strong>de</strong>nominación única; así ocurrió, porejemplo, con el concepto <strong>de</strong> bus, que inicialmenteera <strong>de</strong>nominado por algunos autores comohighway [10].Tab<strong>la</strong> 1. Algunos términos informáticosincluidos en el diccionario <strong>de</strong> <strong>la</strong> RAEBitByteCaseteCDChipColgarse (bloquearse)DisqueteDisqueteraDisp<strong>la</strong>yDVDEscánerFaxHardwareIn<strong>de</strong>xarInterfaz (femenino)Mó<strong>de</strong>mPinPíxelSoftwareTónerWeb4. Formación <strong>de</strong>l plural <strong>de</strong> nuevostérminos y <strong>de</strong> sig<strong>la</strong>sLa formación <strong>de</strong>l plural <strong>de</strong> algunos <strong>de</strong> los nuevostérminos ofrece cierta dificultad ya que en3. Incorporación <strong>de</strong> términos informáticos castel<strong>la</strong>no el plural <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras terminadas enen el Diccionario <strong>de</strong> <strong>la</strong> Real Aca<strong>de</strong>mia consonante se forma añadiéndoles -es (salvo queEspaño<strong>la</strong>tengan dos o más sí<strong>la</strong>bas y acaben en s o x),mientras que <strong>la</strong>s voces extranjeras forman suLa Real Aca<strong>de</strong>mia Españo<strong>la</strong> en <strong>la</strong>s últimasediciones <strong>de</strong> su diccionario ha realizado unesfuerzo notable para incorporar nuevos vocablosre<strong>la</strong>cionados con el mundo <strong>de</strong> <strong>la</strong> Informática. Bienes verdad que en numerosas ocasiones <strong>la</strong>s<strong>de</strong>finiciones <strong>de</strong> los términos no están hechas conrigor, pero esto es justificable pensando quefrecuentemente incluso los profesionales no nosplural añadiéndoles una -s. Consi<strong>de</strong>rando estanorma, existe <strong>la</strong> controversia sobre si ha <strong>de</strong>utilizarse bits o bites (en caso <strong>de</strong> utilizar bites,como hace el diccionario <strong>de</strong> <strong>la</strong> RAE, en ellenguaje hab<strong>la</strong>do no se diferencia <strong>de</strong>l plural <strong>de</strong>byte pronunciado en castel<strong>la</strong>no), mó<strong>de</strong>ms omó<strong>de</strong>mes, chips o chipes, etc. No es comúnencontrar <strong>la</strong> forma <strong>de</strong>l plural bites (buscandoponemos <strong>de</strong> acuerdo en <strong>la</strong> <strong>de</strong>finición <strong>de</strong> mediante un conocido buscador “32 bites”conceptos. Así, por ejemplo, <strong>de</strong>l diccionario <strong>de</strong> <strong>la</strong>RAE se <strong>de</strong>duce que no pue<strong>de</strong>n existir (por<strong>de</strong>finición) or<strong>de</strong>nadores con pequeña o mediaaparecen 144 resultados en páginas en español,mientras que para “32 bits” los resultados son35900), mó<strong>de</strong>mes (181 frente a 37600 mó<strong>de</strong>ms), ycapacidad <strong>de</strong> memoria 2 . Otra <strong>de</strong>finición mucho menos chipes, que nunca se emplea. Nosorpren<strong>de</strong>nte <strong>de</strong> <strong>la</strong> RAE es <strong>la</strong> <strong>de</strong>l término web 3 ,que en este caso peca <strong>de</strong> falta <strong>de</strong> concreción.Consi<strong>de</strong>ramos que una persona culta <strong>de</strong>beconocer <strong>la</strong> terminología informática aceptada por<strong>la</strong> RAE [11], y, con este objetivo incluimos en <strong>la</strong>Tab<strong>la</strong> 1 algunos ejemplos.obstante, sí es más frecuente encontrar el plural <strong>de</strong>otros términos acabado en -es que en -s, comopíxeles o escáneres.También conviene recordar que el plural <strong>de</strong><strong>la</strong>s sig<strong>la</strong>s se construye haciendo variar <strong>la</strong>s pa<strong>la</strong>brasque <strong>la</strong>s acompañan [12]. Es correcto por tanto losPC con varias CPU, y no los PCs con variasCPUs.2Or<strong>de</strong>nador. Máquina electrónica dotada <strong>de</strong> unamemoria <strong>de</strong> gran capacidad y <strong>de</strong> métodos <strong>de</strong> tratamiento<strong>de</strong> <strong>la</strong> información, capaz <strong>de</strong> resolver problemasaritméticos y lógicos gracias a <strong>la</strong> utilización automática<strong>de</strong> programas registrados en el<strong>la</strong>.


4. Propuesta <strong>de</strong> traducción <strong>de</strong> algunostérminos re<strong>la</strong>cionados con <strong>la</strong> informáticaEn el Apéndice incluimos una lista que contienetérminos que suelen presentar dificultad en sutraducción. Esta terminología es usada en libros<strong>de</strong> texto recientemente editados en castel<strong>la</strong>no. Enalguno casos se muestran varias opciones, autilizar <strong>de</strong>pendiendo <strong>de</strong>l contexto o indicando queno todos los traductores han estado <strong>de</strong> acuerdo en<strong>la</strong> utilización <strong>de</strong>l mismo vocablo castel<strong>la</strong>no.Obviamente, siempre <strong>de</strong>be ponerse cuidado enutilizar <strong>la</strong>s pa<strong>la</strong>bras con rigor, y sin caer en erroresprovocados por <strong>la</strong> proximidad fonética <strong>de</strong> pa<strong>la</strong>brasen los idiomas <strong>de</strong> origen y <strong>de</strong> <strong>de</strong>stino. Así, erroresmuy corrientes son traducir library por librería(en vez <strong>de</strong> por biblioteca) y command porcomando 4 (en lugar <strong>de</strong> por or<strong>de</strong>n o mandato). En<strong>la</strong> Tab<strong>la</strong> 2 incluimos una lista <strong>de</strong> este tipo <strong>de</strong>errores, que, utilizando un termino familiar entrelos actores <strong>de</strong> teatro, podríamos <strong>de</strong>nominarmorcil<strong>la</strong>s.La expresión cache memory, <strong>de</strong>beríatraducirse con toda propiedad y rigor comomemoria oculta, y así se ha realizado en variostextos (ver, por ejemplo, [4]). En efecto, eltermino es <strong>de</strong> origen francés: caché 5 , y sutraducción al castel<strong>la</strong>no es c<strong>la</strong>ra. No obstante, seha impuesto el término original, como galicismo,y en este caso lo lógico es escribir<strong>la</strong> ypronunciar<strong>la</strong> como en el original francés (con til<strong>de</strong>en <strong>la</strong> última vocal). La traducción <strong>de</strong> este términosigue siendo muy polémica.En otro or<strong>de</strong>n <strong>de</strong> cosas, hay que resaltar elloable trabajo realizado por diversas personas queincluyen pequeños diccionarios o glosarios <strong>de</strong>términos informáticos en <strong>la</strong> web, así como foros<strong>de</strong> discusión. En <strong>la</strong> Tab<strong>la</strong> 3 incluimos una lista <strong>de</strong>direcciones web que consi<strong>de</strong>ramos útiles.5. ConclusionesEntre los objetivos básicos <strong>de</strong> <strong>la</strong> Universidad seencuentra el <strong>de</strong> <strong>la</strong> transmisión <strong>de</strong> <strong>la</strong> ciencia, <strong>la</strong>4 Según el diccionario <strong>de</strong> RAE, comando es :1. mandomilitar; 2. pequeño grupo <strong>de</strong> tropas <strong>de</strong> choque, <strong>de</strong>stinadoa hacer incursiones ofensivas en terreno enemigo; 3.Grupo armado <strong>de</strong> terroristas5 Según el diccionario francés <strong>de</strong> Larousse, caché es:tapado, cubierto, oculto.Tab<strong>la</strong> 2. Algunos términos que con frecuenciase traducen fonéticamente ( incorrectamente)VocabloTraducción“Morcil<strong>la</strong>”origina<strong>la</strong><strong>de</strong>cuadaActualAllocateCommandConstraintEncriptEventualFontIn<strong>de</strong>ntInstanceLibraryLocationPaperPerformancesPrivacyRemoveReportRequirementsActualAlocarComandoConstricciónEncriptarEventualFuenteIn<strong>de</strong>ntarInstanciaLibreríaLocalizaciónPaperPerformancesPrivacidadRemoverReporteRequerimientosVerda<strong>de</strong>ro, realReservarOr<strong>de</strong>nRestricciónCifrarDefinitivo, finalTipo (<strong>de</strong> letra)SangrarEjemplo, elementoBibliotecaUbicación, posiciónArtículoPrestacionesIntimidadBorrar, eliminarInformeRequisitosSave Salvar Guardartécnica y <strong>la</strong> cultura, y aquel<strong>la</strong> se efectúafundamentalmente a través <strong>de</strong>l lenguaje. Enconsecuencia, todo profesor universitario <strong>de</strong>beríatener una especial sensibilidad y espíritu críticohacia el lenguaje, y en particu<strong>la</strong>r hacia <strong>la</strong>terminología especializada que utiliza.La mayoría <strong>de</strong> los conceptos que surgen soncomplejos, y con frecuencia su representación pormedio <strong>de</strong> vocablos no lo es menos. No obstante,es conveniente hacer el intento <strong>de</strong> proponertérminos a<strong>de</strong>cuados en castel<strong>la</strong>no, que puedan sersometidos a <strong>la</strong> crítica y a <strong>la</strong> sanción pública, quees quien <strong>de</strong>finitivamente seleccionará <strong>la</strong> acepcióna seguir, por ser <strong>la</strong> más universal.Sin lugar a dudas, algunas <strong>de</strong> <strong>la</strong>s traducciones<strong>de</strong> los términos que aparecen en el Apéndicepue<strong>de</strong>n ser polémicas, sobre todo porque muchasveces los usuarios y los profesionales se a<strong>de</strong><strong>la</strong>ntaaceptando el vocablo extranjero. En estos casosresulta arduo lograr que otras opciones máslógicas y más en consonancia con nuestra lengualleguen a prevalecer sobre <strong>la</strong>s originales. Noobstante, consi<strong>de</strong>ramos que el esfuerzo <strong>de</strong> buscarvocablos castel<strong>la</strong>nos precisos merece <strong>la</strong> pena yaque sin duda <strong>la</strong> c<strong>la</strong>rificación <strong>de</strong> <strong>la</strong> terminologíautilizada es un paso imprescindible para elcorrecto avance <strong>de</strong> una ciencia y técnica enconstante evolución, como es <strong>la</strong> Informática.


Tab<strong>la</strong> 3. Direcciones web re<strong>la</strong>cionadas con <strong>la</strong> traducción <strong>de</strong> terminología informáticaForos <strong>de</strong> discusión sobre traducción y empleo <strong>de</strong> términos re<strong>la</strong>cionados con <strong>la</strong> informáticaLista <strong>de</strong> distribución spanglish (foro <strong>de</strong> <strong>de</strong>bate y análisis <strong>de</strong> términos <strong>de</strong> informática).http://majordomo.eunet.es/listserv/spanglish/Términos <strong>de</strong>batidos en <strong>la</strong> lista spanglish.http://www.gsi.dit.upm.es/~gfer/spanglish/Foro TIC <strong>de</strong>l Centro Virtual Cervantes (espacio <strong>de</strong> <strong>de</strong>bate sobre los aspectos terminológicos <strong>de</strong> <strong>la</strong>informática y <strong>la</strong>s telecomunicaciones).http://cvc.cervantes.es/foros/foro_tic/Diccionarios <strong>de</strong> términos re<strong>la</strong>cionados con <strong>la</strong> informática, con sugerencias sobre traducciónManuel Alfonseca: Diccionario Unificado <strong>de</strong> Términos Informáticos. Escue<strong>la</strong> Técnica Superior <strong>de</strong>Informática. Universidad Autónoma <strong>de</strong> Madrid.http://www.ii.uam.es/esp/alumnos/terminologia_informatica.htmlProyecto ORCA: herramientas <strong>de</strong> ayuda para los traductores y productores <strong>de</strong> software libre en español(incluye un glosario <strong>de</strong> términos <strong>de</strong> informática, cuyo objetivo es dar una lista <strong>de</strong> sugerencias para sutraducción al español).http://quark.fe.up.pt/orca/in<strong>de</strong>x.es.htmlÁngel Álvarez: Basic Computer Spanglish Pitfalls (Errores habituales <strong>de</strong> Spanglish <strong>de</strong> los informáticos...y también <strong>de</strong> los no informáticos).http://maja.dit.upm.es/~aalvarez/pitfalls/Pedro José Sampedro Losada: Anglicismos, barbarismos, neologismos y «falsos amigos» en el lenguajeinformático: http://www.ati.es/gt/lengua-informatica/externos/sampedr1.htmlCarmen Ugarte: http://usuarios.tripod.es/karmentxu/glosario.htmlOtros diccionarios y glosarios <strong>de</strong> términos re<strong>la</strong>cionados con <strong>la</strong> informáticaRafael Fernán<strong>de</strong>z Calvo: Glosario básico inglés-español para usuarios <strong>de</strong> Internet. Cuarta edición.http://www.ati.es/novatica/glointv2.htmlCiber-Léxico comparativo inglés - castel<strong>la</strong>no, <strong>de</strong> Telefónicahttp://www.telefonica.es/fat/lex.htmlJosé Manuel Martín Nieto: Glosario <strong>de</strong> términos informáticos Inglés-Español.http://www.geocities.com/Athens/2693/glosario.htmlJavier Díez: Spanglish (página <strong>de</strong> en<strong>la</strong>ces a diversos glosarios).http://www.ia.uned.es/~fjdiez/spanglish/Diccionario Interdic: Informática e Internet.http://pagina.<strong>de</strong>/interdicEnglish-Spanish Dictionary of Common Computing Terms. Universidad <strong>de</strong> Londres.http://www.css.qmul.ac.uk/foreign/eng-spanish.htmNETGLOS (glosario —en inglés— <strong>de</strong> términos re<strong>la</strong>tivos a Internet, cada uno <strong>de</strong> ellos en<strong>la</strong>zado con sutraducción a varios idiomas, entre ellos el castel<strong>la</strong>no).http://wwli.com/trans<strong>la</strong>tion/netglos/glossary/glossary.htmlDedicatoria y agra<strong>de</strong>cimientosEste trabajo está <strong>de</strong>dicado a Antonio Vaquero, connuestro reconocimiento a <strong>la</strong> sensibilidad quesiempre ha tenido hacia los problemasre<strong>la</strong>cionados con <strong>la</strong> incorporación al castel<strong>la</strong>no <strong>de</strong>nuevos términos en el campo <strong>de</strong> <strong>la</strong> Informática.Referencias[1] A. León-García, I. Widjaja. Re<strong>de</strong>s <strong>de</strong>comunicación. Conceptos fundamentales yarquitecturas básicas; McGraw-Hill, 2001.[2] A.Prieto, A.Lloris, J.C.Torres. Introducción a<strong>la</strong> Informática. 3ª Edc., McGraw-Hill. 2002.


[3] B.A.Forouzan. Comunicación <strong>de</strong> datos yre<strong>de</strong>s. 2ª Edc. McGraw-Hill, 2002.[4] G.Fernán<strong>de</strong>z. Conceptos básicos <strong>de</strong>arquitectura y sistemas operativos; Sistemas yServicios <strong>de</strong> Comunicación, 1998.[5] J.Carretero, F.García, P. <strong>de</strong> Miguel, F.Pérez.Sistemas Operativos.McGraw-Hill, 2001.[6] W.Stallings. Sistemas Operativos, 3ª Edc.,Prentice Hall, 2001.[7] W.Stallings. Comunicaciones y re<strong>de</strong>s <strong>de</strong>computadores. 6ª Edc. Prentice Hall, 2000.[8] W. Stallings. Organización y arquitectura <strong>de</strong>computadores. 5ª Edc. Prentice Hall, 2000.[9] A.Vaquero, L.Joyanes. Informática.Glosario <strong>de</strong> términos y sig<strong>la</strong>s. McGraw-Hill, 1985.[10] D. Lewin. Theory and <strong>de</strong>sign of digitalcomputers. Nelson London, 1973.[11] Real Aca<strong>de</strong>mia Españo<strong>la</strong>. Diccionario <strong>de</strong> <strong>la</strong>Lengua Españo<strong>la</strong>,22ª Edc. Editorial EspasaCalpe, 2001.http://buscon.rae.es/drae/drae.htm[12] Real Aca<strong>de</strong>mia Españo<strong>la</strong>. Ortografía <strong>de</strong> <strong>la</strong>lengua españo<strong>la</strong>. Espasa Calpe, 1999.


ApéndiceTérminos que con frecuencia se presentan difíciles <strong>de</strong> traducirAppletminiprograma, programil<strong>la</strong>Backbonered troncalBackground segundo p<strong>la</strong>no, entre bastidoresBacktracking retrocesoBackupcopia <strong>de</strong> seguridadBenchmarkprogramas <strong>de</strong> pruebaBig-endian (criterion) criterio <strong>de</strong>l extremo mayorBootstrap loa<strong>de</strong>r cargador inicialBrowsernavegador/visualizador <strong>de</strong> webBuffermemoria (o zona) temporalBuggazapo, errorBurstráfagaCache (memory) memoria caché u ocultaCommandor<strong>de</strong>nCrosstalkdiafoníaDatapathcamino <strong>de</strong> datos, ruta <strong>de</strong> datosDeadlockinterbloqueo,, abrazo mortalDebug<strong>de</strong>purar, corregir erroresDefaultimplícito, por omisiónDirty bitbit <strong>de</strong> modificaciónDisableinhibir, <strong>de</strong>shabilitarDispacherdistribuidorDisp<strong>la</strong>yvisualizador, pantal<strong>la</strong>, disp<strong>la</strong>yDropconexiónDummy:ficticioEnablehabilitarEncripcifrarError trapping captura <strong>de</strong> erroresF<strong>la</strong>gindicador, señalizadorFlip-flopbiestableFonttipo <strong>de</strong> letraForeground (in) en primer p<strong>la</strong>no, en escenaFramemarco, tramaGarbaggeinformación no valida, basuraGarbagge colector recogemigasGatewaypasare<strong>la</strong>Handshakesaludo, dialogo, conformidadHash function función <strong>de</strong> dispersiónHostanfitrión, computador centralHousekeeping operaciones <strong>de</strong> servicioInterleavingentre<strong>la</strong>zadoInterlockinterbloqueoInternetInternetJumperpuenteLatchcerrojoLayouttrazado, disposición, diseñoLibrary (programs) programas <strong>de</strong> bibliotecaLinken<strong>la</strong>ceLinkermontador <strong>de</strong> en<strong>la</strong>cesLittle-endian (criterion) criterio <strong>de</strong>l extremo menorLockbloqueoLogin (remote) conexión remotaLoginentrada <strong>de</strong> i<strong>de</strong>ntificaciónMail(ing)correo, envío por correoMapcorrespon<strong>de</strong>ncia, proyecciónaplicación , traducciónMemory mapping asignación <strong>de</strong> memoriaMissfracasoMotherboard p<strong>la</strong>ca baseOffsetsesgo, <strong>de</strong>sp<strong>la</strong>zamientoOverflow<strong>de</strong>sbordamientoOverheadsuplementarioOver<strong>la</strong>ysuperposiciónOverloadsobrecargaPasswordcontraseñaPathtrayecto, caminoPerformances prestacionesPipecauce, conductoPipelinecauce segmentado, ca<strong>de</strong>naPipeliningsegmentación <strong>de</strong> cauce,enca<strong>de</strong>namientoPixelelemento <strong>de</strong> imagen, píxelPlotterregistrador gráficoPlug-in unitunidad enchufablePollingconsultaPromptinvitaciónRandom scan barrido a <strong>la</strong> medidaRaster scanbarrido sistemáticoRatetasaResetreiniciaciónRound robin (priority) prioridad circu<strong>la</strong>r, turno rotatorioRouterencaminador, enrutadorRoutingencaminamientoSchedulerp<strong>la</strong>nificadorScratch-pad memory memoria <strong>de</strong> anotacionesScriptguiónSetestablecer, inicializar, activarSlotranuraSocketconector, socketSplitingdivisiónStand-aloneautónomoStreamflujoSwapperintercambiadorThrasingvapuleoThreadhebra, hiloThroughputrendimiento, productividadTime stamp fecha, marca <strong>de</strong> fechaTimeoutfuera <strong>de</strong> p<strong>la</strong>zo, expiradoTokentestigo, valor simbólicoTracerastreo, seguimientoTrapintercepción, interrupción internaUn<strong>de</strong>rflowagotamientoUpdateactualizarUser friendly cómodo, amigable, convivencialUtilityherramientawwwweb


Evaluación <strong>de</strong>l alumnado


Métodos alternativos <strong>de</strong> evaluaciónbasados en el sistema <strong>de</strong> honorEmilio Camahort, Francisco AbadDepartamento <strong>de</strong> Sistemas Informáticos y ComputaciónUniversidad Politécnica <strong>de</strong> Valencia46022 Valenciae-mail: {camahort,fjabad}@dsic.upv.esResumenUna <strong>de</strong> <strong>la</strong>s tareas más importantes y difíciles <strong>de</strong>lprofesor <strong>de</strong> universidad es <strong>la</strong> evaluación <strong>de</strong> losalumnos y <strong>la</strong> producción <strong>de</strong> notas objetivas. Elsistema clásico <strong>de</strong> evaluación mediante exámenescontrasta con <strong>la</strong>s nuevas ten<strong>de</strong>ncias <strong>de</strong>seguimiento <strong>de</strong>l alumno y evaluación continua.Existen métodos alternativos <strong>de</strong> evaluación y <strong>la</strong>mayoría se pue<strong>de</strong>n combinar con el objetivo <strong>de</strong>producir un resultado a<strong>de</strong>cuado. En este artículopresentamos varios métodos alternativos <strong>de</strong>evaluación utilizados en Estados Unidos ybasados en el sistema <strong>de</strong> honor. Los métodospropuestos son fundamentalmente <strong>de</strong> aplicación alos últimos cursos <strong>de</strong> carrera, don<strong>de</strong> los alumnostienen una mayor responsabilidad.El sistema <strong>de</strong> honor impone a los alumnosciertas condiciones <strong>de</strong> ética y honra<strong>de</strong>z a <strong>la</strong> hora<strong>de</strong> realizar tests, trabajos, prácticas, exámenes yotros ejercicios sujetos a evaluación. El sistema <strong>de</strong>honor se combina con el esca<strong>la</strong>do <strong>de</strong> notas y suajuste a <strong>la</strong> distribución normal. El esca<strong>la</strong>do <strong>de</strong>notas asigna <strong>la</strong> nota máxima al mejor alumno yesca<strong>la</strong> el resto <strong>de</strong> notas <strong>de</strong> acuerdo con el esca<strong>la</strong>do<strong>de</strong> <strong>la</strong> nota máxima. Este ajuste permite repartir <strong>la</strong>snotas finales <strong>de</strong> forma que su histograma siga unadistribución normal. De este modo se promueve <strong>la</strong>competitividad entre los alumnos y se intentagarantizar que los resultados sean in<strong>de</strong>pendientes<strong>de</strong> <strong>la</strong>s inci<strong>de</strong>ncias particu<strong>la</strong>res <strong>de</strong>l curso y elsistema <strong>de</strong> evaluación. Los métodos queproponemos se basan en este principio y en elsistema <strong>de</strong> honor. Nuestra presentación incluyeejemplos reales <strong>de</strong> aplicación <strong>de</strong> los métodos <strong>de</strong>evaluación propuestos.1. IntroducciónUno <strong>de</strong> los problemas más importantes con que seenfrenta el profesor <strong>de</strong> universidad <strong>de</strong> hoy día es<strong>la</strong> evaluación <strong>de</strong> los alumnos. Atrás han quedadolos tiempos en que <strong>la</strong> solución pasaba por losestrictos e impersonales exámenes. Métodos <strong>de</strong>evaluación más recientes sugieren el seguimiento<strong>de</strong>l alumno utilizando medios más amenos que losexámenes. Por ejemplo, se pue<strong>de</strong>n utilizarcombinaciones <strong>de</strong> trabajos, prácticas, tests,presentaciones y otros ejercicios para fomentar elseguimiento continuo <strong>de</strong> una asignatura.Métodos <strong>de</strong> evaluación como <strong>la</strong>s prácticas ylos ejercicios tienen, sin embargo, un problema. Sise asignan a alumnos por separado, es común quese junten para trabajar en grupo. Cuando losalumnos trabajan en grupo es fácil que sólo uno <strong>de</strong>ellos haga el trabajo y el resto se copie losresultados. Esta situación surge también cuandoalumnos repetidores utilizan trabajos <strong>de</strong> añosanteriores para <strong>de</strong>sarrol<strong>la</strong>r los trabajos <strong>de</strong> este año.Este problema es <strong>de</strong> difícil solución en losprimeros cursos <strong>de</strong> carrera. El elevado número <strong>de</strong>alumnos y los problemas <strong>de</strong> coordinación <strong>de</strong>grupos y profesores limitan el uso <strong>de</strong> métodos <strong>de</strong>evaluación alternativos al examen. En cursossuperiores, sin embargo, los grupos suelen ser másreducidos y los alumnos más responsables. Es enestos grupos don<strong>de</strong> se pue<strong>de</strong>n aplicar métodosalternativos basados en el sistema <strong>de</strong> honor.El sistema <strong>de</strong> honor es un sistema utilizado entodos los ciclos universitarios <strong>de</strong> Estados Unidos,aunque su aplicación es más útil en los ciclossegundo y tercero. La frase sistema <strong>de</strong> honor viene<strong>de</strong>l inglés honor system, que a su vez está basadoen un código <strong>de</strong> honor o honor co<strong>de</strong>. El código <strong>de</strong>honor es un código ético que los alumnos <strong>de</strong>ben


cumplir en <strong>la</strong> realización <strong>de</strong> trabajos, prácticas yotros ejercicios objeto <strong>de</strong> evaluación. Latraducción más a<strong>de</strong>cuada <strong>de</strong> estos términos seríacódigo ético, pero en este artículo preferimos usarsistema y código <strong>de</strong> honor para ser fieles al origen<strong>de</strong> ambos términos. El objetivo <strong>de</strong> este artículo espresentar varios métodos alternativos <strong>de</strong>evaluación basados en el sistema <strong>de</strong> honor.Primero introducimos el sistema <strong>de</strong> honor y<strong>de</strong>scribimos los medios empleados para garantizarsu cumplimiento. Luego presentamos una serie <strong>de</strong>métodos <strong>de</strong> evaluación utilizados en EE. UU. yexperimentados por los autores. Finalmente,complementamos nuestra presentación con unosejemplos prácticos <strong>de</strong> asignaturas evaluadas <strong>de</strong>acuerdo con el sistema <strong>de</strong> honor.2. El sistema <strong>de</strong> honorEl sistema o código <strong>de</strong> honor establece normas <strong>de</strong>comportamiento ético en <strong>la</strong> realización <strong>de</strong>trabajos, ejercicios, prácticas, presentaciones,exámenes y tests. Estas normas son <strong>de</strong> obligatoriocumplimiento y su incumplimiento pue<strong>de</strong> llevar<strong>de</strong>s<strong>de</strong> el suspenso en el ejercicio correspondientehasta <strong>la</strong> apertura <strong>de</strong> expediente y expulsión <strong>de</strong> <strong>la</strong>universidad.La mayoría <strong>de</strong> <strong>la</strong>s universida<strong>de</strong>sestadouni<strong>de</strong>nses funcionan bajo los principios <strong>de</strong>lsistema <strong>de</strong> honor. Algunos ejemplos <strong>de</strong> códigos <strong>de</strong>honor se pue<strong>de</strong>n encontrar en <strong>la</strong>s referencias [1],[2], [3] y [4]. Estas referencias correspon<strong>de</strong>n auniversida<strong>de</strong>s y faculta<strong>de</strong>s <strong>de</strong> Derecho y <strong>de</strong>Ciencias Económicas y Empresariales. En [5] sepue<strong>de</strong>n ver <strong>la</strong>s normas <strong>de</strong> conducta <strong>de</strong> unDepartamento <strong>de</strong> Informática. Nótese que en estecaso se <strong>de</strong>finen <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> comportamiento <strong>de</strong>los alumnos, así como <strong>la</strong>s responsabilida<strong>de</strong>s <strong>de</strong> losprofesores en cuanto a <strong>la</strong> evaluación y eltratamiento <strong>de</strong> los alumnos.Comenzamos explicando con <strong>de</strong>talle el código<strong>de</strong> honor <strong>de</strong> <strong>la</strong> Facultad <strong>de</strong> Ciencias Económicas yEmpresariales <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Texas, enAustin [2]. En primer lugar <strong>de</strong>finimos losconceptos <strong>de</strong> estándares, mentir, robar y copiar.Estándares. Los estándares son normasgenerales <strong>de</strong> conducta que <strong>de</strong>ben seguirse duranteel <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> actividad académica en <strong>la</strong>universidad. Estos estándares vienen establecidospor <strong>la</strong>s normas <strong>de</strong> <strong>la</strong> universidad, en general, y por<strong>la</strong>s normas <strong>de</strong> evaluación <strong>de</strong> cada asignatura, enparticu<strong>la</strong>r. Los estándares <strong>de</strong> conducta prohíben elcomportamiento <strong>de</strong>shonesto y <strong>la</strong> realización <strong>de</strong>activida<strong>de</strong>s <strong>de</strong>lictivas. Entre estas activida<strong>de</strong>s se<strong>de</strong>finen <strong>la</strong>s tres siguientes.Mentir. Se consi<strong>de</strong>ra mentir el intento<strong>de</strong>liberado <strong>de</strong> confundir o engañar a alguienutilizando una representación falsa o parcialmentefalsa <strong>de</strong> <strong>la</strong> verdad. Mentir incluye cualquieromisión <strong>de</strong> información <strong>de</strong>stinada a confundir oengañar. Algunos ejemplos <strong>de</strong> mentiras son: daruna excusa falsa al entregar un trabajo tar<strong>de</strong> o no<strong>de</strong>cir al profesor que se incumplen losprerrequisitos <strong>de</strong> acceso a una asignatura.Robar. Se consi<strong>de</strong>ra robar <strong>la</strong> apropiación,obtención, retención, daño o <strong>de</strong>strucción <strong>de</strong> <strong>la</strong>propiedad <strong>de</strong> otra persona bajo cualquiercircunstancia. Por propiedad se entien<strong>de</strong>n tantoobjetos físicos, dinero, apuntes, libros y otrosartículos, como servicios y propiedad intelectual.Ejemplos <strong>de</strong> robo son <strong>la</strong> sustracción <strong>de</strong> prácticas<strong>de</strong>l casillero <strong>de</strong> un profesor, <strong>la</strong> ocultación <strong>de</strong> <strong>la</strong>snotas <strong>de</strong> un tablón <strong>de</strong> anuncios, el hurto <strong>de</strong> objetos<strong>de</strong>jados en c<strong>la</strong>se durante el <strong>de</strong>scanso y <strong>la</strong>fotocopia masiva <strong>de</strong> artículos, revistas y libros conobjetivos extra-curricu<strong>la</strong>res. También se consi<strong>de</strong>rarobo el subrayado y marcado <strong>de</strong> libros <strong>de</strong> <strong>la</strong>biblioteca, pues <strong>de</strong> ese modo se daña <strong>la</strong> propiedad<strong>de</strong> <strong>la</strong> universidad.Copiar. Se consi<strong>de</strong>ra copiar <strong>la</strong> obtención oaprovechamiento <strong>de</strong> información privilegiada conel objeto <strong>de</strong> alcanzar mejor calificación que loscompañeros <strong>de</strong> asignatura. Ejemplos <strong>de</strong> copia son<strong>la</strong> obtención ilegal <strong>de</strong> preguntas <strong>de</strong> exámenes ytests, y <strong>la</strong> utilización <strong>de</strong> medios no autorizadospara <strong>la</strong> resolución <strong>de</strong> ejercicios y prácticas. Losmedios autorizados serán aquellos especificadosen <strong>la</strong>s normas <strong>de</strong> <strong>la</strong> asignatura. Por ejemplo,utilizar código <strong>de</strong> un programa bajado <strong>de</strong> Internetsuele estar permitido cuando se cita <strong>la</strong> fuente.También se consi<strong>de</strong>ra copiar el p<strong>la</strong>gio <strong>de</strong>l trabajo<strong>de</strong> otro alumno, <strong>de</strong>l mismo curso o <strong>de</strong> cursosanteriores, y el uso <strong>de</strong> información obtenida aespaldas <strong>de</strong> una conversación entre profesores.Todos los alumnos están moralmenteobligados a adherirse al sistema <strong>de</strong> honor y, porextensión, a informar <strong>de</strong> cualquier incumplimientoque <strong>de</strong>tecten. El sistema <strong>de</strong> honor se basa no sóloen el cumplimiento <strong>de</strong> sus normas, sino tambiénen <strong>la</strong> responsabilidad <strong>de</strong> informar <strong>de</strong> suincumplimiento. Para reforzar esta i<strong>de</strong>a <strong>la</strong>s


universida<strong>de</strong>s suelen exigir a los alumnos que seadhieran al sistema por escrito. El compromisoresultante suele resumirse en una frase:“El alumno se compromete a no mentir, copiar orobar trabajos, objetos, conceptos o i<strong>de</strong>as y ainformar <strong>de</strong> aquellos casos <strong>de</strong> incumplimiento <strong>de</strong>esta norma que <strong>de</strong>scubra.”El código <strong>de</strong> honor, a<strong>de</strong>más, explica qué hacersi un alumno se encuentra con un caso <strong>de</strong>incumplimiento. El primer paso consiste endirigirse al alumno sospechoso para cerciorarse <strong>de</strong>que se ha cometido una falta. De ser así, e<strong>la</strong>lumno sospechoso <strong>de</strong>berá comunicar <strong>la</strong> falta alprofesor <strong>de</strong> <strong>la</strong> asignatura o al Vice<strong>de</strong>cano oSubdirector <strong>de</strong> Alumnado. De no hacerlo así, e<strong>la</strong>lumno que <strong>de</strong>tectó <strong>la</strong> falta está moralmenteobligado a comunicarlo al profesor o alVice<strong>de</strong>cano o Subdirector <strong>de</strong> Alumnado. Aunqueesta obligación no se exige en el código <strong>de</strong> honor,su incumplimiento fomenta futuras infracciones<strong>de</strong>l sistema. Y ésta es <strong>la</strong> i<strong>de</strong>a fundamental <strong>de</strong>lcódigo <strong>de</strong> honor: permitir que otros lo incump<strong>la</strong>nsólo perjudica a aquellos que lo respetan.3. Cumplimiento <strong>de</strong>l sistema <strong>de</strong> honorUna vez <strong>de</strong>finido el sistema <strong>de</strong> honor, el problemaque aparece es cómo garantizar su cumplimiento.En los primeros cursos académicos <strong>la</strong>s asignaturassuelen tener tantos alumnos que es necesariodividirlos en grupos con distintos horarios yprofesores asignados. Como resultado, es casiimposible <strong>la</strong> aplicación <strong>de</strong>l sistema <strong>de</strong> honor, puesresulta difícil i<strong>de</strong>ntificar copias en trabajos,prácticas, ejercicios e incluso en exámenes y tests.Esto es <strong>de</strong>bido a que el trabajo <strong>de</strong> corrección estádistribuido entre diferentes profesores. Parecerazonable, por lo tanto, mantener los exámenes enlos primeros cursos <strong>de</strong> carrera y utilizar métodosalternativos a partir <strong>de</strong>l tercer o cuarto curso y, porsupuesto, en el tercer ciclo.Para fomentar el cumplimiento <strong>de</strong>l código <strong>de</strong>honor se utlizan dos herramientas adicionales: elesca<strong>la</strong>do <strong>de</strong> notas y su ajuste a <strong>la</strong> distribuciónnormal. El esca<strong>la</strong>do <strong>de</strong> notas asigna <strong>la</strong> notamáxima al alumno con <strong>la</strong> mejor nota, y esca<strong>la</strong> elresto <strong>de</strong> notas proporcionalmente a dicha notamáxima. Esta técnica se pue<strong>de</strong> complementar conel ajuste <strong>de</strong> <strong>la</strong>s notas <strong>de</strong> forma que su histogramasiga una distribución normal.Estas técnicas tienen <strong>la</strong>s siguientes ventajas.Por un <strong>la</strong>do, evitan que circunstancias distintas <strong>de</strong>los conocimientos <strong>de</strong> los alumnos influyan en <strong>la</strong>evaluación <strong>de</strong> <strong>la</strong> asignatura. Entre esascircunstancias se pue<strong>de</strong>n incluir <strong>la</strong> presencia <strong>de</strong> unprofesor nuevo con falta <strong>de</strong> experiencia, <strong>la</strong>confección <strong>de</strong> un examen más difícil <strong>de</strong> lohabitual, o <strong>la</strong> selección <strong>de</strong> una fecha ina<strong>de</strong>cuadapara el día <strong>de</strong> <strong>la</strong> evaluación final. Por otro <strong>la</strong>do,ambas técnicas promueven <strong>la</strong> competitividad entrelos alumnos y, por lo tanto, fomentan <strong>la</strong> aplicación<strong>de</strong>l sistema <strong>de</strong> honor. La asignación re<strong>la</strong>tiva <strong>de</strong>notas <strong>de</strong>muestra al alumno que <strong>la</strong> única forma <strong>de</strong>alcanzar una nota es rendir comparativamente másque el resto <strong>de</strong> sus compañeros. Esto evita <strong>la</strong>tentación <strong>de</strong> compartir información y resultadoscuando <strong>la</strong>s normas <strong>de</strong> <strong>la</strong> asignatura lo prohíben.No obstante sus ventajas, para que el esca<strong>la</strong>doy el ajuste <strong>de</strong> notas sean justos, <strong>de</strong>berán cumplirsedos condiciones. La primera es que dos alumnosque <strong>de</strong>muestren el mismo nivel <strong>de</strong> conocimientosreciban <strong>la</strong> misma nota. La segunda es que el ajustea <strong>la</strong> distribución normal no reduzca <strong>la</strong> notanumérica <strong>de</strong> ningún alumno. Es <strong>de</strong>cir que el ajusteno podrá dar un 6.5 a un alumno con un 7.2. Deeste modo se garantiza que en un grupo conalumnos excepcionales, <strong>la</strong> media sea más alta que<strong>la</strong> habitual para esa asignatura.4. Métodos alternativos <strong>de</strong> evaluaciónHemos visto <strong>la</strong>s características más importantes<strong>de</strong>l sistema <strong>de</strong> honor. En esta sección revisamosdistintos métodos <strong>de</strong> evaluación que se pue<strong>de</strong>nutilizar cuando existan garantías <strong>de</strong> cumplimiento.Para cada uno <strong>de</strong> los métodos proponemos unaserie <strong>de</strong> normas <strong>de</strong> aplicación basadas en elsistema <strong>de</strong> honor.4.1. Ejercicios propuestosLos ejercicios propuestos son problemas a realizaren casa durante una o dos semanas, y a entregarpara su evaluación durante el curso académico. Suobjetivo es el seguimiento continuado <strong>de</strong> <strong>la</strong>asignatura por parte <strong>de</strong> los alumnos. Los ejerciciospropuestos se aplican a asignaturas teóricas oteórico/prácticas y pue<strong>de</strong>n consistir en cuestiones


cortas o un problema <strong>la</strong>rgo <strong>de</strong> <strong>de</strong>sarrollo.Ejemplos <strong>de</strong> cuestiones cortas son <strong>la</strong> resolución <strong>de</strong>problemas sencillos, <strong>la</strong> prueba <strong>de</strong> teoremas y eldiseño y validación <strong>de</strong> algoritmos.Las normas <strong>de</strong> realización <strong>de</strong> ejerciciospropuestos pue<strong>de</strong>n ser <strong>de</strong> dos tipos, <strong>de</strong>pendiendo<strong>de</strong>l nivel <strong>de</strong> interacción que permitan a losalumnos. Si no se permite que los alumnoscomenten los ejercicios entre sí, entonces <strong>la</strong>snormas son <strong>la</strong>s mismas que <strong>la</strong>s <strong>de</strong> los exámenespara llevar. Estas normas están explicadas en elApartado 4.6. Si, por el contrario, se permite <strong>la</strong>discusión <strong>de</strong> los problemas entre los alumnos,entonces <strong>la</strong>s normas son <strong>la</strong>s siguientes. Serecomienda a los alumnos que comenten losproblemas con sus compañeros, pero se exige quecada alumno escriba <strong>la</strong> solución por su cuenta. Sialgún alumno utiliza alguna i<strong>de</strong>a fundamentalproporcionada por otro alumno, entonces ésta<strong>de</strong>berá ser referenciada como comunicaciónpersonal <strong>de</strong>l otro alumno.Otra cuestión que aparece en <strong>la</strong> realización <strong>de</strong>ejercicios propuestos es el uso <strong>de</strong> referenciasexternas. ¿Pue<strong>de</strong> un alumno acercarse a <strong>la</strong>biblioteca y resolver el problema con <strong>la</strong> ayuda <strong>de</strong>un libro o un artículo? ¿Y buscar <strong>la</strong> solución enInternet? La respuesta <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong> los criterios<strong>de</strong> evaluación <strong>de</strong>l profesor. Se pue<strong>de</strong> permitir eluso únicamente <strong>de</strong> apuntes, o <strong>de</strong> apuntes, libros yotras referencias externas. En este último caso,toda <strong>la</strong> información obtenida <strong>de</strong>berá serreferenciada apropiadamente. En general, seasume que el alumno ha sido lo bastanteinteligente para i<strong>de</strong>ntificar y aplicar al problemauna solución ya existente. De ser así, <strong>la</strong> referenciay <strong>la</strong> forma <strong>de</strong> aplicar <strong>la</strong> solución al problema sonsuficientes para evaluar positivamente al alumno.4.2. PrácticasLas prácticas consisten en <strong>la</strong> realización <strong>de</strong> unaserie <strong>de</strong> ejercicios con <strong>la</strong> ayuda <strong>de</strong> equipamiento<strong>de</strong> <strong>la</strong>boratorio o <strong>de</strong> campo, y con el objetivo <strong>de</strong>aplicar los contenidos <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría. Lasprácticas son simi<strong>la</strong>res a los ejercicios propuestosporque se realizan en pocas semanas y conllevan<strong>la</strong> entrega <strong>de</strong> una memoria <strong>de</strong> resultados. Surealización fomenta el seguimiento continuado <strong>de</strong><strong>la</strong> asignatura y proporciona un método adicional<strong>de</strong> evaluación.Las normas <strong>de</strong> realización <strong>de</strong> prácticas suelenexigir que el alumno realice todo el trabajo por sucuenta. En prácticas que requieran programación,por ejemplo, el código entregado por cada alumno<strong>de</strong>be ser substancialmente distinto <strong>de</strong>l códigoentregado por los <strong>de</strong>más. A<strong>de</strong>más, para facilitar <strong>la</strong>comparación y evaluación <strong>de</strong> resultados, se exigeque el código entregado por los alumnos esté enformato electrónico. En <strong>la</strong> mayoría <strong>de</strong> los casosestá prohibido el uso <strong>de</strong> código bajado <strong>de</strong> Internety, <strong>de</strong> permitirse el uso, <strong>la</strong> fuente <strong>de</strong>be aparecerc<strong>la</strong>ramente referenciada en <strong>la</strong> memoria <strong>de</strong> <strong>la</strong>práctica. Por lo <strong>de</strong>más, está permitido el uso <strong>de</strong>referencias como libros, apuntes y artículos comoayuda a <strong>la</strong> implementación, siempre y cuando nose utilicen programas ya escritos.4.3. TrabajosLos trabajos <strong>de</strong> una asignatura pue<strong>de</strong>n ser <strong>de</strong> dostipos, trabajos cortos o trabajos finales. Lostrabajos cortos requieren <strong>la</strong> presentación <strong>de</strong> unamemoria breve, <strong>de</strong> una a cuatro páginas, ycontienen el estudio <strong>de</strong> un tema re<strong>la</strong>cionado con <strong>la</strong>asignatura, complementado con un análisis <strong>de</strong><strong>la</strong>lumno. Estos trabajos se l<strong>la</strong>man también papeleso artículos, y pue<strong>de</strong>n utilizarse más <strong>de</strong> una vezpara evaluar una asignatura. Los trabajos cortosson simi<strong>la</strong>res a los ejercicios propuestos y, por lotanto, se suelen regir por <strong>la</strong>s mismas normas.Deben escribirse por separado y toda informaciónexterna <strong>de</strong>be estar referenciada. La interacciónentre alumnos pue<strong>de</strong> o pue<strong>de</strong> no estar permitida,pero lo más común es que no esté permitida.Los trabajos finales son trabajos que abarcangran parte <strong>de</strong>l contenido <strong>de</strong> <strong>la</strong> asignatura.Normalmente combinan parte <strong>de</strong> estudio con <strong>la</strong>aplicación <strong>de</strong> los conocimientos adquiridos en <strong>la</strong>asignatura. El ejemplo típico son los proyectos <strong>de</strong>programación. Este tipo <strong>de</strong> proyectos pue<strong>de</strong>n serindividuales o colectivos, y pue<strong>de</strong>n iracompañados <strong>de</strong> una presentación en c<strong>la</strong>se. Lostrabajos o proyectos individuales suelen regirsepor <strong>la</strong>s mismas normas que <strong>la</strong>s prácticas. Si sepermite <strong>la</strong> co<strong>la</strong>boración entre alumnos, entonces <strong>la</strong>utilización <strong>de</strong> <strong>la</strong>s i<strong>de</strong>as <strong>de</strong> otro alumno <strong>de</strong>be serreferenciada.En los trabajos colectivos se exige a losalumnos que especifiquen c<strong>la</strong>ramente <strong>la</strong>s tareasrealizadas por cada uno <strong>de</strong> los miembros <strong>de</strong>lgrupo. A<strong>de</strong>más, se pue<strong>de</strong> solicitar que ellos


mismos puntúen el trabajo realizado por suscompañeros <strong>de</strong>ntro <strong>de</strong>l grupo. Esto permite alprofesor juzgar <strong>de</strong> una forma mejor informada eltrabajo realizado por cada uno <strong>de</strong> los miembros<strong>de</strong>l grupo. En algunos casos se pedirá a<strong>de</strong>más quelos alumnos realicen una presentación <strong>de</strong>l trabajoante el resto <strong>de</strong> <strong>la</strong> c<strong>la</strong>se. En ese caso seráconveniente que cada miembro <strong>de</strong>l grupo presentesu trabajo y que <strong>la</strong> evaluación se complementecon <strong>la</strong>s opiniones <strong>de</strong>l resto <strong>de</strong> alumnos <strong>de</strong> <strong>la</strong> c<strong>la</strong>se,como se indica en el apartado siguiente. Encualquier caso, siempre son <strong>de</strong> aplicación <strong>la</strong>snormas respecto a información extraída <strong>de</strong> libros,apuntes, artículos e Internet. Esta información<strong>de</strong>be aparecer referenciada al final <strong>de</strong>l trabajo.4.4. PresentacionesLas presentaciones en c<strong>la</strong>se ofrecen <strong>la</strong> posibilidad<strong>de</strong> que el alumno <strong>de</strong>muestre lo que ha aprendidodurante c<strong>la</strong>se o en <strong>la</strong> realización <strong>de</strong> un trabajo.Este último caso es el más común y pue<strong>de</strong>acompañar a un trabajo individual o colectivo. Siel trabajo es colectivo, <strong>la</strong> presentación <strong>de</strong>beráhacerse, si es posible, por todos los miembros <strong>de</strong>lgrupo. El reparto <strong>de</strong>l contenido <strong>de</strong> <strong>la</strong> presentacióncorrespon<strong>de</strong>rá hacerlo a los integrantes <strong>de</strong> cadagrupo. Las presentaciones <strong>de</strong>berán ser atendidaspor todos los alumnos matricu<strong>la</strong>dos en <strong>la</strong>asignatura. Todos ellos <strong>de</strong>berán hacer preguntas y,si es posible, evaluar el trabajo <strong>de</strong> suscompañeros.Las preguntas en el sistema estadouni<strong>de</strong>nsesuelen hacerse durante <strong>la</strong> presentación y no alfinal <strong>de</strong> <strong>la</strong> misma. Esto permite que <strong>la</strong>s dudas seanresueltas en el momento más a<strong>de</strong>cuado. Noobstante, preguntas que no estén re<strong>la</strong>cionadasdirectamente con el entendimiento <strong>de</strong> <strong>la</strong> char<strong>la</strong><strong>de</strong>berán ser relegadas al final para evitarinterrupciones innecesarias. La tarea <strong>de</strong> tomar estetipo <strong>de</strong> <strong>de</strong>cisiones correspon<strong>de</strong> al profesor <strong>de</strong> <strong>la</strong>asignatura.4.5. Tests cortosLos tests cortos (l<strong>la</strong>mados quizzes en inglés)consisten en un conjunto <strong>de</strong> preguntas que secontestan en un corto espacio <strong>de</strong> tiempo durante<strong>la</strong>s c<strong>la</strong>ses normales <strong>de</strong> <strong>la</strong> asignatura. Un test cortosuele durar media hora y pue<strong>de</strong> contener dos tipos<strong>de</strong> preguntas, preguntas <strong>de</strong> tipo test y cuestionescortas. Su objetivo principal es fomentar elseguimiento continuo <strong>de</strong> <strong>la</strong> asignatura y, por ello,no es extraño que se realicen sin avisar.Las reg<strong>la</strong>s <strong>de</strong> realización <strong>de</strong> tests cortos son<strong>la</strong>s más estrictas. No se permite ningún tipo <strong>de</strong>co<strong>la</strong>boración entre los alumnos y <strong>la</strong> utilización <strong>de</strong>apuntes, libros y otra información está prohibida.Como los tests cortos se hacen durante <strong>la</strong>s horas<strong>de</strong> c<strong>la</strong>se es fácil garantizar que <strong>la</strong>s normas <strong>de</strong>realización se cump<strong>la</strong>n.4.6. ExámenesLos exámenes son el método <strong>de</strong> evaluación máscomún y existen muchas formas <strong>de</strong> realizarlos. Eneste artículo <strong>de</strong>scribimos sólo los ejemplos másinusuales en el sistema español. Los exámenespue<strong>de</strong>n ser con apuntes, con apuntes y libros o sinninguna ayuda. En este último caso se pue<strong>de</strong>permitir al alumno que traiga una hoja a modo <strong>de</strong>chuleta con <strong>la</strong> información más relevante para elexamen. Estas hojas suelen contener fórmu<strong>la</strong>s.Los exámenes pue<strong>de</strong>n realizarse en un au<strong>la</strong> oen casa. Los exámenes que se hacen en casa sel<strong>la</strong>man exámenes para llevar y pue<strong>de</strong>n ser <strong>de</strong> dostipos, <strong>de</strong> un día para otro o <strong>de</strong> más <strong>de</strong> un día. Losexámenes <strong>de</strong> más <strong>de</strong> un día duran entre una y dossemanas. El uso <strong>de</strong> apuntes está permitido y el uso<strong>de</strong> libros <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l criterio <strong>de</strong> evaluación <strong>de</strong>lprofesor.En todos los tipos <strong>de</strong> examen <strong>la</strong> co<strong>la</strong>boraciónentre alumnos está prohibida. En exámenes parallevar esta prohibición es tan estricta que nisiquiera permite que los alumnos comenten consus compañeros por dón<strong>de</strong> van en <strong>la</strong> resolución<strong>de</strong>l examen. Es en estos exámenes en los que elsistema <strong>de</strong> honor resulta más difícil <strong>de</strong> aplicar. Noobstante, los exámenes <strong>de</strong> un día para otro suelenrequerir tal volumen <strong>de</strong> trabajo, que es imposibleque los alumnos co<strong>la</strong>boren durante <strong>la</strong> realización.La mayor parte <strong>de</strong>l tiempo es necesaria para el<strong>de</strong>sarrollo y <strong>la</strong> redacción <strong>de</strong> <strong>la</strong>s respuestas, sintiempo para discutir<strong>la</strong>s con los <strong>de</strong>más.El éxito <strong>de</strong> los exámenes <strong>de</strong> más <strong>de</strong> un día<strong>de</strong>pen<strong>de</strong> <strong>de</strong>l contenido <strong>de</strong>l examen y <strong>de</strong> <strong>la</strong>competitividad entre los alumnos. El contenido<strong>de</strong>l examen <strong>de</strong>be <strong>de</strong> ser tal que sea fácil i<strong>de</strong>ntificarlos casos <strong>de</strong> co<strong>la</strong>boración. La competitividad entrelos alumnos se fomenta con el ajuste <strong>de</strong> notas<strong>de</strong>scrito en <strong>la</strong> Sección 3 <strong>de</strong> este artículo. Existenuniversida<strong>de</strong>s en EE. UU. don<strong>de</strong> no es necesario


ni siquiera vigi<strong>la</strong>r los exámenes en c<strong>la</strong>se. Losalumnos tienen tal sentido <strong>de</strong> <strong>la</strong> competitividadque no se copian cuando el profesor los <strong>de</strong>ja solosen el au<strong>la</strong> hasta <strong>la</strong> hora <strong>de</strong> recoger el examen alfinal <strong>de</strong>l tiempo asignado.5. Ejemplos <strong>de</strong> aplicaciónHemos visto el sistema <strong>de</strong> honor que se utiliza enEE. UU. para garantizar un comportamiento éticoen <strong>la</strong> realización <strong>de</strong> ejercicios sujetos aevaluación. Hemos visto que dicho sistemaposibilita <strong>la</strong> utilización <strong>de</strong> métodos <strong>de</strong> evaluaciónalternativos al examen final. Nos quedan por veralgunos ejemplos <strong>de</strong> asignaturas reales queutilizan o han utilizado combinaciones <strong>de</strong> losmétodos <strong>de</strong> evaluación propuestos.Los primeros ejemplos son los más completosy los que requieren más trabajo <strong>de</strong> corrección.Recor<strong>de</strong>mos que en EE. UU. existe <strong>la</strong> figura <strong>de</strong><strong>la</strong>yudante, l<strong>la</strong>mado teaching assistant o TA. Suprincipal tarea es <strong>la</strong> <strong>de</strong> corregir ejercicios,prácticas, trabajos e incluso exámenes. Sin ellosserían difíciles <strong>de</strong> implementar algunos <strong>de</strong> lossistemas <strong>de</strong> evaluación que <strong>de</strong>scribimos acontinuación. Por otro <strong>la</strong>do, hemos incluidotambién tres ejemplos curiosos <strong>de</strong> criterios <strong>de</strong>evaluación poco habituales. El objetivo <strong>de</strong> estostres ejemplos es complementar a los anteriores y<strong>de</strong>mostrar que no hay nada como <strong>la</strong> imaginación a<strong>la</strong> hora <strong>de</strong> evaluar a los alumnos.5.1. Diseño y análisis <strong>de</strong> algoritmosLa asignatura <strong>de</strong> diseño y análisis <strong>de</strong> algoritmos esuna asignatura semestral impartida por <strong>la</strong>profesora Vijaya Ramachandran a alumnos <strong>de</strong>tercer y cuarto cursos <strong>de</strong> <strong>la</strong> carrera <strong>de</strong> Informática.La evaluación <strong>de</strong> <strong>la</strong> asignatura se hace medianteejercicios propuestos, dos tests cortos y unexamen final. Los ejercicios propuestos constan<strong>de</strong> cinco problemas teóricos y se realizan durante<strong>la</strong>s semanas que no hay tests.Los tests cortos se realizan en c<strong>la</strong>se y constan<strong>de</strong> tres cuestiones teóricas un poco más sencil<strong>la</strong>sque los ejercicios propuestos. Cada test dura unahora y quince minutos y cubre un tercio <strong>de</strong>lcontenido <strong>de</strong> <strong>la</strong> asignatura. El examen final cubretoda <strong>la</strong> asignatura y es para llevar. Consta <strong>de</strong> cincopreguntas <strong>la</strong>rgas y se dan dos semanas pararesolverlo. El TA corrige los ejercicios propuestosy <strong>la</strong> profesora los tests cortos y el examen final.Para el cálculo <strong>de</strong> <strong>la</strong> nota final se asignan lossiguientes pesos: 30% a los ejercicios propuestos,20% a cada test y 30% al examen final.Las normas para cada caso son <strong>la</strong>s siguientes.En los ejercicios se recomienda a los alumnos quecomenten los problemas entre sí, pero se requiereque cada alumno escriba <strong>la</strong>s soluciones por sucuenta. Se pue<strong>de</strong>n utilizar fuentes <strong>de</strong> informaciónexternas, pero todo trabajo ajeno <strong>de</strong>be serreferenciado. Los tests cortos son sin apuntes nilibros y no se permite <strong>la</strong> comunicación entre losalumnos. En el examen para llevar se permite eluso <strong>de</strong> apuntes y el libro <strong>de</strong> <strong>la</strong> asignatura, pero nose permite el uso <strong>de</strong> ninguna fuente más, ni <strong>la</strong>co<strong>la</strong>boración entre los alumnos.5.2. Informática gráfica avanzadaLa asignatura <strong>de</strong> informática gráfica avanzada esuna asignatura semestral impartida por losprofesores Don Fussell y Nina Amenta en el tercery cuarto cursos <strong>de</strong> Informática. La evaluación sehace mediante tres prácticas y un examen final.Cada práctica es individual y consiste en <strong>la</strong>implementación <strong>de</strong> un programa re<strong>la</strong>cionado con<strong>la</strong> teoría impartida hasta el momento. Para <strong>la</strong>sprácticas los alumnos disponen <strong>de</strong> una serie <strong>de</strong>ayudas, como librerías, p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> programas ymanuales. Los alumnos sólo tienen permitido eluso <strong>de</strong> esas ayudas, los apuntes y el libro <strong>de</strong> <strong>la</strong>asignatura. La co<strong>la</strong>boración no está permitida en<strong>la</strong> realización <strong>de</strong> prácticas.Al finalizar cada práctica se entregan unamemoria <strong>de</strong> unas cinco páginas y el código fuentecon <strong>la</strong>s instrucciones <strong>de</strong> compi<strong>la</strong>ción. La entregase hace mediante un programa que genera unregistro con <strong>la</strong> fecha y hora <strong>de</strong> entrega. Eseregistro se utiliza para penalizar <strong>la</strong>s prácticasentregadas con retraso. El TA se encarga <strong>de</strong>evaluar <strong>la</strong>s prácticas siguiendo los criteriosespecificados por el profesor en una hoja <strong>de</strong>evaluación. La evaluación incluye <strong>la</strong> prueba <strong>de</strong> losprogramas con un conjunto <strong>de</strong> datos <strong>de</strong> test.El examen final es un examen sin libros niapuntes que se realiza durante el último día <strong>de</strong>c<strong>la</strong>se. El examen dura una hora y quince minutosy consta <strong>de</strong> cuatro o cinco cuestiones cortas. No sepermite ninguna co<strong>la</strong>boración entre los alumnosdurante el examen. El profesor corrige el examen


y calcu<strong>la</strong> <strong>la</strong> nota final mediando el conjunto <strong>de</strong> <strong>la</strong>sprácticas al 50% con el examen final.5.3. Análisis y métodos numéricosAnálisis y métodos numéricos se impartesemestralmente en tercero y cuarto <strong>de</strong> Informáticapor el profesor A<strong>la</strong>n Cline. La evaluación se hacemediante ejercicios propuestos, un examen parcialy un examen final. Hay dos tandas <strong>de</strong> ejerciciospropuestos, antes y <strong>de</strong>spués <strong>de</strong>l parcial. Cadatanda tiene cinco ejercicios que pue<strong>de</strong>n sercuestiones teóricas o problemas prácticos. Losproblemas prácticos necesitan, en ocasiones, <strong>la</strong>implementación <strong>de</strong> un pequeño programa. Losexámenes son <strong>de</strong> cuestiones teórico/prácticas y sehacen para llevar. El examen parcial dura unasemana y el final dos.La co<strong>la</strong>boración está prohibida en ejercicios yexámenes y el uso <strong>de</strong> información está limitado alos apuntes <strong>de</strong> <strong>la</strong> asignatura y <strong>la</strong>s ayudasproporcionadas por el profesor en c<strong>la</strong>se y enhorario <strong>de</strong> consultas. En este caso, <strong>la</strong>s ayudas <strong>de</strong>lprofesor son importantes a <strong>la</strong> hora <strong>de</strong> completarlos exámenes para llevar. La evaluación <strong>de</strong> <strong>la</strong>asignatura <strong>la</strong> hace enteramente el profesor (no hayTA) y el valor <strong>de</strong> cada parte en <strong>la</strong> nota final es:20% los ejercicios propuestos, 35% el examenparcial y 45% el examen final.5.4. Semántica y verificación formalSemántica y verificación formal se imparte cadados semestres por el profesor Allen Emerson encuarto y quinto <strong>de</strong> Informática. La evaluación sehace mediante ejercicios propuestos y un trabajo<strong>de</strong> <strong>la</strong> asignatura. Los ejercicios propuestos sonsemanales y constan <strong>de</strong> cinco problemas teóricoscada uno. Su peso en <strong>la</strong> nota final es <strong>de</strong>l 50%.Cuando los ejercicios se entregan, el TA eligecinco alumnos para corregirlos. Cada alumno seasigna <strong>la</strong> nota máxima en su ejercicio y corrige los<strong>de</strong> los <strong>de</strong>más. De este modo <strong>la</strong> evaluación <strong>la</strong> hacenlos compañeros, como ocurre en congresos yrevistas <strong>de</strong> investigación. Las quejas <strong>de</strong> losalumnos son resueltas por el TA en primerainstancia y por el profesor en segunda. Las normas<strong>de</strong> realización <strong>de</strong> ejercicios permiten <strong>la</strong>co<strong>la</strong>boración y <strong>la</strong> utilización <strong>de</strong> referencias, perorequieren que cada alumno escriba <strong>la</strong>s solucionespor separado.El trabajo <strong>de</strong> <strong>la</strong> asignatura se hace en grupos<strong>de</strong> dos y tiene una pequeña componente <strong>de</strong>investigación. Cada grupo elige un tema y variasreferencias re<strong>la</strong>cionadas, y produce una memoriay una presentación. La co<strong>la</strong>boración estápermitida incluso entre grupos con temas afines.La memoria es <strong>de</strong> unas 10 a 15 páginas y <strong>la</strong>presentación <strong>de</strong> una hora. La presentación sedivi<strong>de</strong> en partes iguales entre los miembros <strong>de</strong>cada grupo. Todas <strong>la</strong>s presentaciones se hacen alfinal <strong>de</strong>l semestre y el profesor invita a pizza a losalumnos que asisten a el<strong>la</strong>s. La evaluación <strong>de</strong> <strong>la</strong>memoria, <strong>la</strong> presentación y <strong>la</strong> participación enc<strong>la</strong>se <strong>la</strong> realiza el profesor. La nota resultantecuenta un 50% <strong>de</strong> <strong>la</strong> nota final.5.5. Sistemas operativosSistemas operativos es una asignatura semestral<strong>de</strong>stinada a alumnos <strong>de</strong> tercer y cuarto cursos <strong>de</strong>Informática e impartida durante algunos años porel profesor Avi Silberschatz. La evaluación sehacía mediante una presentación en c<strong>la</strong>se. Losalumnos elegían un tema re<strong>la</strong>cionado con <strong>la</strong>asignatura y preparaban una presentación <strong>de</strong>media hora. Las presentaciones se hacían al final<strong>de</strong>l semestre, y el profesor se <strong>de</strong>dicaba a interrogara los alumnos hasta el punto <strong>de</strong> ridiculizarlos si noconocían muy bien el tema. Después <strong>de</strong>l maltrago, el profesor asignaba <strong>la</strong> nota máxima a todoslos alumnos, sin excepción.5.6. Cálculos y el diseño <strong>de</strong> <strong>de</strong>mostracionesCálculos y el diseño <strong>de</strong> <strong>de</strong>mostraciones es unaasignatura que fue impartida durante muchos añospor el profesor Edsger W. Dijkstra. La asignaturase impartía cada dos semestres y estaba dirigida aalumnos <strong>de</strong> cuarto y quinto cursos <strong>de</strong> Matemáticase Informática. La evaluación se hacía al final <strong>de</strong>lsemestre y consistía en mantener unaconversación <strong>de</strong> media hora con el profesorDijkstra. El tema estaba normalmente re<strong>la</strong>cionadocon <strong>la</strong> asignatura y <strong>la</strong> nota se asignaba según <strong>la</strong>impresión causada al profesor.5.7. ComentarioDe <strong>la</strong>s seis asignaturas <strong>de</strong>scritas en esteartículo, cinco fueron cursadas por uno <strong>de</strong> losautores durante <strong>la</strong> realización <strong>de</strong> sus estudios <strong>de</strong>


máster y doctorado. Su experiencia <strong>de</strong>muestra queen <strong>la</strong> mayoría <strong>de</strong> los casos se cumplió el código <strong>de</strong>honor. Esto fue <strong>de</strong>bido a dos motivos: el respeto a<strong>la</strong>s normas, más arraigado en <strong>la</strong>s universida<strong>de</strong>sestadouni<strong>de</strong>nses <strong>de</strong> prestigio, y <strong>la</strong> competitivida<strong>de</strong>ntre los alumnos. Aún así existieron casos <strong>de</strong>incumplimiento, pero estos no fueron comunes.6. ConclusionesEl problema <strong>de</strong> <strong>la</strong> evaluación es uno <strong>de</strong> los máscomplejos con que se enfrenta el profesor <strong>de</strong>universidad. Con el objetivo <strong>de</strong> ofrecer solucioneshemos presentado algunos ejemplos inusuales <strong>de</strong>métodos <strong>de</strong> evaluación y <strong>de</strong> su aplicación aasignaturas en EE. UU. Los ejemplos presentadosestán basados en el sistema <strong>de</strong> honor, un sistemaque impone a los alumnos unas condiciones <strong>de</strong>comportamiento ético en <strong>la</strong> realización <strong>de</strong>ejercicios sujetos a evaluación. Para que estascondiciones se cump<strong>la</strong>n es conveniente que losprofesores utilicen técnicas como el esca<strong>la</strong>do <strong>de</strong>notas y su ajuste a <strong>la</strong> distribución normal.Pensamos que este sistema no <strong>de</strong>be seraplicado a primeros cursos <strong>de</strong> carrera. Losalumnos no tienen <strong>la</strong> suficiente responsabilidad ysu número es tan gran<strong>de</strong> que el incumplimiento esdifícil <strong>de</strong> <strong>de</strong>tectar. Esto no significa que el códigose respete en los últimos cursos <strong>de</strong> carrera. En EE.UU. es común encontrarse con instancias <strong>de</strong>p<strong>la</strong>gio y omisión <strong>de</strong> referencias. Puesto que <strong>la</strong>co<strong>la</strong>boración suele estar permitida, los problemasaparecen a <strong>la</strong> hora <strong>de</strong> referenciar el trabajo <strong>de</strong> los<strong>de</strong>más. El cumplimiento también <strong>de</strong>pen<strong>de</strong> <strong>de</strong> <strong>la</strong>universidad. Los alumnos <strong>de</strong> universida<strong>de</strong>s <strong>de</strong>prestigio suelen ser tan competitivos que evitanque sus compañeros se copien o p<strong>la</strong>gien sutrabajo. Sin embargo, es común encontrar casosdon<strong>de</strong> <strong>la</strong>s copias se han conseguido ilegalmentecomo, por ejemplo, entrando en los directoriospersonales <strong>de</strong> los <strong>de</strong>más alumnos.Sugerimos, por lo tanto, que comoexperimento se intente <strong>la</strong> aplicación <strong>de</strong> estosmétodos a los últimos cursos <strong>de</strong> carrera. Somosconscientes <strong>de</strong> que muchos <strong>de</strong> ellos son difíciles<strong>de</strong> aplicar en España, don<strong>de</strong> el i<strong>de</strong>al <strong>de</strong>compañerismo entre los alumnos es másimportante que el cumplimiento <strong>de</strong> unas normas<strong>de</strong> evaluación. Aun así, pensamos que el sistema<strong>de</strong> honor se pue<strong>de</strong> utilizar como referencia y quese pue<strong>de</strong> esperar que, con el tiempo, se utilice parasimplificar y mejorar el proceso <strong>de</strong> evaluación.Agra<strong>de</strong>cimientosEste trabajo ha sido financiado en parte por elproyecto TIC99-0510-C02-01, por <strong>la</strong> Facultad <strong>de</strong>Informática <strong>de</strong> Valencia y por ayudas para <strong>la</strong>realización <strong>de</strong> estudios en el extranjero <strong>de</strong> LaCaixa y <strong>de</strong>l antiguo Ministerio <strong>de</strong> Educación yCiencia. A<strong>de</strong>más queremos mostrar nuestroagra<strong>de</strong>cimiento a los revisores por su ayuda y porsus sugerencias para mejorar el contenido <strong>de</strong> esteartículo.Referencias[1] The Honor Co<strong>de</strong>, Judicial Affairs, StanfordUniversity, Stanford CA, EE. UU.,http://www.stanford.edu/<strong>de</strong>pt/vpsa/judicia<strong>la</strong>ffairs/honor_co<strong>de</strong>.htm[2] MBA Program Office, The Honor Co<strong>de</strong>,McCombs School of Business, The Universityof Texas at Austin, Austin TX, EE. UU.,http://texasmba.bus.utexas.edu/stu<strong>de</strong>nts/aca<strong>de</strong>mics/honor/in<strong>de</strong>x.asp[3] MBA/MSIA Stu<strong>de</strong>nt Handbook, Honor Co<strong>de</strong>,Graduate School of Industrial Administration,Carnegie-Mellon University, Pittsburgh PA,EE.UU.,http://stu<strong>de</strong>nt.gsia.cmu.edu/stu<strong>de</strong>nthandbook/honorco<strong>de</strong>.html[4] Law School Stu<strong>de</strong>nt Gui<strong>de</strong>, Law School HonorCo<strong>de</strong>, School of Law, University ofWashington, Seattle WA, EE. UU.,http://www.<strong>la</strong>w.washington.edu/<strong>la</strong>wschool/genbul/honorco<strong>de</strong>.html[5] E<strong>la</strong>ine Rich, The Computer SciencesDepartment Rules to Live By, Dept. ofComputer Sciences, The University of Texasat Austin, Austin TX, EE. UU.,http://www.cs.utexas.edu/users/ear/Co<strong>de</strong>OfConduct.html


SCRAE’Web: Sistema <strong>de</strong> Corrección y Revisión Automática <strong>de</strong>Exámenes a través <strong>de</strong> <strong>la</strong> WEBNieves Pavón, José Ramón Cano, Francisco Márquez, Alfredo SainzDpto. <strong>de</strong> Ingeniería Electrónica, Sistemas Informáticos y AutomáticaUniversidad <strong>de</strong> Huelva21007 Palos <strong>de</strong> <strong>la</strong> Frontera (Huelva)e-mail: {npavon, jose.cano, alfredo.marquez, alfredo.sainz}@diesia.uhu.esResumenEn este artículo se presenta SCRAE’Web: unSistema <strong>de</strong> Corrección y Revisión Automática <strong>de</strong>Exámenes a través <strong>de</strong> <strong>la</strong> WEB. Este entorno <strong>de</strong>corrección <strong>de</strong> exámenes vía Internet proporcionaun gran número <strong>de</strong> ventajas tanto para losalumnos y alumnas como para los profesores yprofesoras. Permite <strong>la</strong> realización <strong>de</strong> exámenestipo test frente a un or<strong>de</strong>nador con conexión aInternet <strong>de</strong> modo que, una vez terminado elexamen, pueda ser entregado mediante el envío <strong>de</strong><strong>la</strong>s respuestas y datos personales a un script CGIalojado en un servidor seguro para <strong>la</strong> corrección<strong>de</strong>l mismo. Los resultados son mostrados alinstante con lo que <strong>la</strong> revisión <strong>de</strong>l ejercicio esinmediata. El diseño <strong>de</strong>l sistema, así como <strong>la</strong>sconclusiones y líneas futuras hacia <strong>la</strong>s que nosencaminamos, se <strong>de</strong>scriben con <strong>de</strong>talle acontinuación.1. IntroducciónEn asignaturas como Programación II [1][3](programación lógica y funcional), <strong>de</strong>l p<strong>la</strong>n <strong>de</strong>estudios <strong>de</strong> Ingeniero Técnico en Informática <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Huelva, tanto <strong>la</strong> parte teóricacomo <strong>la</strong> parte práctica <strong>de</strong> <strong>la</strong> materia tienen elmismo peso.En <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s ocasiones, el problema <strong>de</strong> <strong>la</strong>calificación <strong>de</strong> <strong>la</strong>s prácticas pue<strong>de</strong> resolverse <strong>de</strong>varias maneras:• Mediante <strong>la</strong> realización <strong>de</strong> un examen en el<strong>la</strong>boratorio, al final <strong>de</strong>l cuatrimestre.• Mediante <strong>la</strong> realización durante elcuatrimestre <strong>de</strong> una práctica extensa con una<strong>de</strong>fensa final.En ambos casos, <strong>la</strong> automatización <strong>de</strong>l proceso <strong>de</strong>calificación es prácticamente imposible. Sinembargo, <strong>la</strong> parte teórica pue<strong>de</strong> ser evaluadamediante un examen escrito compuesto porejercicios <strong>de</strong> diferentes características o bien porun test que permita probar que los alumnos tienentanto conocimientos teóricos como prácticos <strong>de</strong> <strong>la</strong>resolución <strong>de</strong> pequeños enunciados o problemas.En este último caso, <strong>la</strong> automatización <strong>de</strong>l proceso<strong>de</strong> corrección es perfectamente posible. Es másinteresante aún, si a<strong>de</strong>más <strong>de</strong> <strong>la</strong> corrección <strong>de</strong>ltest, se proporciona <strong>la</strong> posibilidad <strong>de</strong> automatizar<strong>la</strong> revisión <strong>de</strong>l examen, así como el <strong>de</strong>sarrollofinal <strong>de</strong> una lista <strong>de</strong> resultados en el mismoinstante <strong>de</strong> finalización <strong>de</strong> <strong>la</strong> prueba, todo ello enun entorno seguro mediante el uso <strong>de</strong> Internet.En este artículo se presenta un método paraimplementar esta i<strong>de</strong>a que presenta algunosinconvenientes pero, indudablemente, un grannúmero <strong>de</strong> ventajas.2. ObjetivosLos objetivos que se persiguen con <strong>la</strong>imp<strong>la</strong>ntación <strong>de</strong> esta metodología se enumeran acontinuación:• Anu<strong>la</strong>ción <strong>de</strong>l tiempo <strong>de</strong> espera <strong>de</strong> resultados<strong>de</strong>l examen.• Automatización tanto <strong>de</strong> <strong>la</strong> corrección como<strong>de</strong> <strong>la</strong> revisión <strong>de</strong>l examen <strong>de</strong> formaindividual en un entorno completamenteseguro.


• Generación automática <strong>de</strong> listas <strong>de</strong> notas enformato HTML adaptable con cualquierformato compatible.3. MetodologíaLa experiencia <strong>de</strong>l uso <strong>de</strong> software remoto pararealizar <strong>la</strong> corrección <strong>de</strong> exámenes tipo test seviene utilizando en los tres últimos años endiversas asignaturas <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong>Ingeniero Técnico en Informática y <strong>de</strong> IngenieroTécnico Industrial [2]. En <strong>la</strong> primera <strong>de</strong> <strong>la</strong>stitu<strong>la</strong>ciones <strong>la</strong> experiencia ha tenido lugar en eltercer curso y en <strong>la</strong> segunda, <strong>la</strong> experiencia se hallevado a cabo en <strong>la</strong> especialidad <strong>de</strong> Electrónica<strong>de</strong> primer curso.Evi<strong>de</strong>ntemente, aunque en el primer caso elnúmero <strong>de</strong> alumnos implicados es menor que en elsegundo, en ambos es necesario <strong>de</strong>finir unconjunto <strong>de</strong> elementos comunes:• Cómo se va a implementar el programa <strong>de</strong>corrección remoto así como <strong>la</strong> generación <strong>de</strong>listas <strong>de</strong> resultados.• Cómo se va a establecer una correcta política<strong>de</strong> seguridad que evite <strong>la</strong>s copias y <strong>la</strong>sup<strong>la</strong>ntación asegurando un funcionamiento<strong>de</strong>l sistema fiable.• Cómo va a ser el formu<strong>la</strong>rio presentado en elcliente.3.1. Esquema genérico <strong>de</strong>l sistema globalEl sistema automatizado <strong>de</strong> realización ycorrección <strong>de</strong> exámenes tipo test se muestra en <strong>la</strong>Figura 1.Po<strong>de</strong>mos diferenciar, c<strong>la</strong>ramente, dos partes,aquel<strong>la</strong> que se ejecuta en el cliente y <strong>la</strong> que seejecuta en el servidor.En el cliente tenemos los siguientes elementos:• Una copia impresa <strong>de</strong>l examen en cuestión.• Un formu<strong>la</strong>rio p<strong>la</strong>ntil<strong>la</strong> con una tab<strong>la</strong> <strong>de</strong>elementos <strong>de</strong> selección para realizar <strong>la</strong>elección <strong>de</strong> <strong>la</strong> respuesta a<strong>de</strong>cuada a cadapregunta. Este formu<strong>la</strong>rio dispone <strong>de</strong>elementos internos HTML que permiten <strong>la</strong>consumación <strong>de</strong> una petición mediante elmétodo POST <strong>de</strong> <strong>la</strong> ejecución <strong>de</strong> un scriptCGI alojado en una máquina remota UNIXque redirecciona los resultados <strong>de</strong>l proceso<strong>de</strong> corrección a <strong>la</strong> cuenta concreta <strong>de</strong>lprofesor que realiza el examen.En el servidor disponemos <strong>de</strong> un script CGI quepermite <strong>la</strong> ejecución <strong>de</strong>l programa <strong>de</strong> correcciónen <strong>la</strong> carpeta <strong>de</strong>l profesor que realiza <strong>la</strong> prueba.3.2. Detalles <strong>de</strong>l Formu<strong>la</strong>rio para el llenado <strong>de</strong><strong>la</strong>s respuestas <strong>de</strong>l testEl formu<strong>la</strong>rio diseñado para el llenado <strong>de</strong> <strong>la</strong>srespuestas <strong>de</strong>l test se muestra en <strong>la</strong> Figura 2.Como se observa, se trata <strong>de</strong> una simple p<strong>la</strong>ntil<strong>la</strong>con tres partes diferenciadas:• Dos zonas <strong>de</strong> texto para introducir <strong>la</strong>s c<strong>la</strong>ves.• Conjunto <strong>de</strong> cajas <strong>de</strong> texto para introducir losdatos personales <strong>de</strong>l alumno o alumna.• Tab<strong>la</strong> con un número <strong>de</strong> entradas coinci<strong>de</strong>ntecon el número <strong>de</strong> preguntas <strong>de</strong>l test, y unnúmero <strong>de</strong> columnas coinci<strong>de</strong>nte con elnúmero <strong>de</strong> respuestas por pregunta.Se dispone, al final <strong>de</strong>l formu<strong>la</strong>rio, <strong>de</strong> un botónque permite <strong>la</strong> ejecución <strong>de</strong> una petición <strong>de</strong>l<strong>la</strong>mada a un script CGI que recibe los datosmediante el protocolo <strong>de</strong> intercambio POST.La pulsación <strong>de</strong>l botón permitirá que en <strong>la</strong>ejecución <strong>de</strong> dicha l<strong>la</strong>mada se genere unasecuencia <strong>de</strong> caracteres que podrá ser leída por elscript a través <strong>de</strong> <strong>la</strong> entrada estándar.Los datos enviados al script se <strong>de</strong>tal<strong>la</strong>n acontinuación:• Cada uno <strong>de</strong> los elementos dinámicos <strong>de</strong>lformu<strong>la</strong>rio posee un nombre y un valorconcreto. Por ejemplo, en el caso <strong>de</strong> una caja<strong>de</strong> texto, el nombre podría ser apellido1 y elvalor “PULIDO”, en el caso <strong>de</strong> un elemento<strong>de</strong> selección el nombre podría ser p001 y elvalor “a” o “b”o, en general, <strong>la</strong> letra <strong>de</strong> <strong>la</strong>respuesta seleccionada.• El conjunto <strong>de</strong> pares nombre-valor es enviadoal script mediante una ca<strong>de</strong>na <strong>de</strong> texto ASCIIcon <strong>la</strong> forma:nombre1=valor1&nombre2=valor23.3. Detalle <strong>de</strong>l funcionamiento <strong>de</strong>l script CGIcorrector para el cálculo <strong>de</strong> <strong>la</strong> notaEl script CGI activado por <strong>la</strong> petición tras <strong>la</strong>pulsación <strong>de</strong>l botón <strong>de</strong> envío <strong>de</strong> <strong>la</strong>s respuestas <strong>de</strong>lexamen se encuentra situado en el directorio cgibin<strong>de</strong> un servidor UNIX. Este script realiza unal<strong>la</strong>mada a un ejecutable con permisos <strong>de</strong> ejecución


ubicado en <strong>la</strong> carpeta <strong>de</strong>l profesor que realiza elexamen.El ejecutable comienza a leer <strong>de</strong> <strong>la</strong> entradaestándar <strong>la</strong> ca<strong>de</strong>na <strong>de</strong> datos proveniente <strong>de</strong> <strong>la</strong>petición WEB. Internamente, formatea dichosdatos y ejecuta un algoritmo que calcu<strong>la</strong> <strong>la</strong> nota enfunción <strong>de</strong> <strong>la</strong>s respuestas dadas por el alumno.El algoritmo <strong>de</strong> cálculo <strong>de</strong> notas tiene en cuenta<strong>la</strong>s respuestas erróneas para calcu<strong>la</strong>r el resultadofinal adaptándose a los estudios estadísticosrealizados al respecto, así <strong>la</strong> ecuación que permiteel cálculo justo <strong>de</strong> <strong>la</strong> nota final es:(aciertos-fallos/N)*(10/M)don<strong>de</strong> N es el número <strong>de</strong> respuestas por preguntay M el número <strong>de</strong> preguntas totales.3.4 Esquemas <strong>de</strong> seguridad implementados enel sistema <strong>de</strong> correcciónDado que se trabaja en un entorno UNIX el éxito<strong>de</strong>l esquema <strong>de</strong> seguridad <strong>de</strong>pen<strong>de</strong>, en parte, <strong>de</strong>léxito <strong>de</strong>l esquema global <strong>de</strong> seguridad diseñadopara el servidor que contiene los scripts. Ennuestro caso, trabajamos sobre <strong>la</strong> máquinaurium.uhu.es que hace <strong>la</strong>s veces <strong>de</strong> servidor <strong>de</strong>correo y servidor WEB en <strong>la</strong> Universidad <strong>de</strong>Huelva. A nivel global, <strong>la</strong>s políticas <strong>de</strong> seguridadvienen impuestas por el Servicio Central <strong>de</strong>Informática <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Huelva, sinembargo, estas políticas <strong>de</strong> seguridad no sonsuficientes para evitar problemas <strong>de</strong> copia osup<strong>la</strong>ntación por lo que, a nivel <strong>de</strong>l cliente y <strong>de</strong>lprograma corrector, se ha diseñado un esquemaque minimiza al máximo estos riesgos.Se pue<strong>de</strong> observar que en el formu<strong>la</strong>rio <strong>de</strong>l clientelos dos primeros campos <strong>de</strong> texto están diseñadospara introducir dos c<strong>la</strong>ves. Si cualquiera <strong>de</strong> <strong>la</strong>sc<strong>la</strong>ves no son correctas, el examen no pue<strong>de</strong> serentregado, por tanto, cuando un alumno o alumnatermina su ejercicio no pue<strong>de</strong> pulsar el botón <strong>de</strong>envío directamente sino que <strong>de</strong>be l<strong>la</strong>mar alprofesor para que éste vali<strong>de</strong> los datos personalesy apunte <strong>la</strong>s c<strong>la</strong>ves correctas.La primera c<strong>la</strong>ve es <strong>de</strong> seguridad y <strong>la</strong> segunda esel nombre <strong>de</strong>l fichero don<strong>de</strong> se encuentra unaristra <strong>de</strong> caracteres ASCII que componen <strong>la</strong>srespuestas verda<strong>de</strong>ras <strong>de</strong>l examen.Dado que el fichero <strong>de</strong> soluciones tiene unnombre que sólo conoce el profesor y a<strong>de</strong>más seencuentra alojado en una carpeta protegida por <strong>la</strong>c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> cuenta <strong>de</strong> dicho profesor es,prácticamente imposible, hacerse con <strong>la</strong>ssoluciones <strong>de</strong>l examen a priori.El script CGI evalúa <strong>la</strong> c<strong>la</strong>ve <strong>de</strong> seguridad y encaso <strong>de</strong> que sea incorrecta envía una respuesta alcliente. Si <strong>la</strong> c<strong>la</strong>ve <strong>de</strong> seguridad es correcta perono lo es el nombre <strong>de</strong>l fichero <strong>de</strong> soluciones, elscript envía el mensaje a<strong>de</strong>cuado al cliente. Elcliente, en este caso, pue<strong>de</strong> realizar un nuevointento.4. ConclusionesLa principal ventaja que se obtiene con estemétodo es <strong>la</strong> disminución <strong>de</strong>l tiempo <strong>de</strong>corrección <strong>de</strong>l examen.• El alumno pue<strong>de</strong> saber su nota al instante.• El alumno hace <strong>la</strong> revisión <strong>de</strong>l examen tras <strong>la</strong>entrega <strong>de</strong> su ejercicio.• El sistema es flexible y está adaptado para quefuncione con un número variable <strong>de</strong>preguntas <strong>de</strong> test.• El tiempo que el profesor ahorra en corregirexámenes lo pue<strong>de</strong> emplear en tutorías o enmejorar el sistema <strong>de</strong> corrección <strong>de</strong> prácticas.• El sistema aplica <strong>la</strong>s normas estadísticasa<strong>de</strong>cuadas para este tipo <strong>de</strong> exámenes.Los principales inconvenientes son:• Sólo funciona con exámenes tipo test.• Cuando el número <strong>de</strong> alumnos es gran<strong>de</strong> y el<strong>la</strong>boratorio es pequeño es necesarioestablecer varios turnos, ya que cada alumnonecesita obligatoriamente un or<strong>de</strong>nador quedisponga, al menos, <strong>de</strong> una conexión aInternet.Por otro <strong>la</strong>do, los alumnos coinci<strong>de</strong>n casi al 100%que este método es mucho más a<strong>de</strong>cuado que losmétodos tradicionales <strong>de</strong> corrección ya que lespermite saber los resultados obtenidos en elinstante y así realizar una mejor p<strong>la</strong>nificación <strong>de</strong>su tiempo.5. Líneas FuturasLas líneas futuras que preten<strong>de</strong>mos seguir seexponen a continuación:• Mejorar los esquemas <strong>de</strong> seguridad para que<strong>la</strong> entrega <strong>de</strong>l examen sea más cómoda tantopara el alumno/a como para el profesor/a.


• Imp<strong>la</strong>ntar un entorno <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>exámenes <strong>de</strong> corrección automática queintegre todos los pasos <strong>de</strong> diseño <strong>de</strong>s<strong>de</strong> <strong>la</strong>presentación <strong>de</strong>l formu<strong>la</strong>rio hasta <strong>la</strong>generación <strong>de</strong> código corrector.• Ampliar su uso al máximo número <strong>de</strong>asignaturas posibles.Referencias[1] Actas <strong>de</strong>l Jenui 2001. Universidad <strong>de</strong> <strong>la</strong>s Is<strong>la</strong>sBaleares, 2001.[2] Actas <strong>de</strong>l Jenui 2000. Universidad <strong>de</strong> Alcalá,2000.[3] Actas <strong>de</strong>l Workshop en Docencia en I.A.CAEPIA 2001. Universidad <strong>de</strong> Oviedo, 2001.Examenimpresocon <strong>la</strong>spreguntas<strong>de</strong> testP<strong>la</strong>ntil<strong>la</strong> conformu<strong>la</strong>rio HTMLpara llenado <strong>de</strong>suolucionesServidor con scriptCGI para correción<strong>de</strong> examenFormu<strong>la</strong>rio HTMLcon resultados yrevisiónpersonalizadaGeneración <strong>de</strong>listas conresultadosCLIENTEINTERNETSERVIDORFigura 1. Esquema <strong>de</strong> funcionamiento <strong>de</strong>l sistema <strong>de</strong> corrección


Figura 2. Detalle <strong>de</strong>l formu<strong>la</strong>rio para marcar <strong>la</strong>s respuestas <strong>de</strong>l examen


Informática en otras carreras


Docencia sobre Internet en <strong>la</strong> Diplomatura <strong>de</strong> Estadística <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> ZaragozaÁngel <strong>de</strong> Miguel Artal, Jorge Lloret GazoDept. <strong>de</strong> Informática e Ingeniería <strong>de</strong> SistemasUniversidad <strong>de</strong> Zaragoza50009 Zaragozae-mail:{admiguel | jlloret}@posta.unizar.esResumenEn este artículo se presentan los contenidos y <strong>la</strong>experiencia docente en <strong>la</strong> impartición <strong>de</strong> <strong>la</strong>asignatura Configuraciones y Equipos <strong>de</strong> <strong>la</strong>Diplomatura <strong>de</strong> Estadística <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Zaragoza.1. IntroducciónEn el año 1969 se produjo <strong>la</strong> que podríaconsi<strong>de</strong>rarse <strong>la</strong> primera comunicación entre dosor<strong>de</strong>nadores, situado el primero <strong>de</strong> ellos en <strong>la</strong>Universidad <strong>de</strong> California en Los Ángeles y elsegundo en el Instituto <strong>de</strong> Investigaciones <strong>de</strong>Stanford [1]. A partir <strong>de</strong> esta primeracomunicación se realizaron multitud <strong>de</strong> pruebase investigaciones que condujeron en 1983 alnacimiento <strong>de</strong> Internet, momento en el que elprotocolo TCP/IP se estableció como lenguajeuniversal <strong>de</strong> comunicación entre or<strong>de</strong>nadores.Des<strong>de</strong> entonces, el grado <strong>de</strong> evolución <strong>de</strong>Internet en los países <strong>de</strong>l mundo ha sido<strong>de</strong>sigual. Centrándonos en España, <strong>de</strong>s<strong>de</strong> 1983hasta los primeros años noventa, el uso <strong>de</strong>Internet estuvo limitado a centros <strong>de</strong>investigación y universida<strong>de</strong>s.Aproximadamente en el año 1993, Internetempieza a ofrecer un gran número <strong>de</strong>posibilida<strong>de</strong>s y servicios y se extien<strong>de</strong> su uso agran parte <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción. Enten<strong>de</strong>mos que <strong>la</strong>Universidad, en cumplimiento <strong>de</strong> su funcióndocente, <strong>de</strong>be adaptar sus enseñanzas a <strong>la</strong>snecesida<strong>de</strong>s que surgen en <strong>la</strong> sociedad conformeaparecen en el<strong>la</strong> avances tecnológicos que <strong>la</strong>modifican.Siendo conscientes <strong>de</strong> esa necesidad, en <strong>la</strong>Diplomatura <strong>de</strong> Estadística <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Zaragoza hemos modificado el contenido <strong>de</strong> <strong>la</strong>asignatura Configuraciones y EquiposInformáticos con el fin <strong>de</strong> ofrecer en el<strong>la</strong>conocimientos y habilida<strong>de</strong>s sobre Internet. Altiempo que realizamos esos cambios <strong>de</strong>contenido, hemos <strong>de</strong>cidido aplicar métodos <strong>de</strong>enseñanza que faciliten a los alumnos <strong>la</strong>asimi<strong>la</strong>ción <strong>de</strong> <strong>la</strong>s i<strong>de</strong>as en <strong>la</strong>s que se basan <strong>la</strong>snuevas tecnologías.Este trabajo <strong>de</strong>scribe los objetivos que sepreten<strong>de</strong>n alcanzar con esta asignatura y quécontenidos y métodos <strong>de</strong> enseñanza se hanutilizado para lograrlos. Para ello, en <strong>la</strong> sección2 se presenta el contexto en el que se imparte <strong>la</strong>asignatura; en <strong>la</strong> sección 3 se <strong>de</strong>tal<strong>la</strong>n loscontenidos teóricos; <strong>la</strong> sección 4 presenta <strong>la</strong>sprácticas que realizan los alumnos; <strong>la</strong> sección 5<strong>de</strong>scribe <strong>la</strong> metodología utilizada; <strong>la</strong> sección 6expone <strong>la</strong> interacción con los alumnos; en <strong>la</strong>sección 7 se comentan <strong>la</strong>s referenciasbibliográficas utilizadas a lo <strong>la</strong>rgo <strong>de</strong>l curso; y,finalmente, <strong>la</strong> sección 8 presenta <strong>la</strong>sconclusiones.2. ContextoLa Diplomatura <strong>de</strong> Estadística impartida por <strong>la</strong>Universidad <strong>de</strong> Zaragoza tiene el objetivo <strong>de</strong>formar estadísticos con una alta intensificaciónen conocimientos informáticos.Antes <strong>de</strong> cursar <strong>la</strong> asignatura <strong>de</strong>Configuraciones y Equipos Informáticos <strong>de</strong> <strong>la</strong>Diplomatura, el alumno ya ha adquiridoconocimientos básicos que serán partefundamental para el seguimiento <strong>de</strong> <strong>la</strong>asignatura.Así, en su formación como usuarios, <strong>la</strong>asignatura <strong>de</strong> Fundamentos <strong>de</strong> Informática, <strong>de</strong>carácter obligatorio e impartida en el primercurso <strong>de</strong> <strong>la</strong> Diplomatura, les habráproporcionado conocimientos <strong>de</strong> manejo <strong>de</strong>


herramientas ofimáticas (procesadores <strong>de</strong> texto,hojas <strong>de</strong> cálculo), acceso y navegación porInternet e, incluso, conceptos sobre bases <strong>de</strong>datos y su utilización.La asignatura Programación I, también <strong>de</strong>carácter obligatorio y <strong>de</strong>l primer curso, les habráproporcionado sólidos conocimientos sobreprogramación estructurada, formándolos como<strong>de</strong>sarrol<strong>la</strong>dores <strong>de</strong> aplicaciones.Por tanto, el alumno que llega a <strong>la</strong> asignatura<strong>de</strong> Configuraciones y Equipos Informáticos estáfamiliarizado con aplicaciones informáticas y <strong>de</strong><strong>de</strong>sarrollo y es ya capaz <strong>de</strong> interactuar conInternet, siempre y cuando se encuentre en unentorno preparado y en el que no <strong>de</strong>bapreocuparse <strong>de</strong>, por ejemplo, configuracionesiniciales <strong>de</strong> los accesos o <strong>de</strong> insta<strong>la</strong>ción <strong>de</strong>aplicaciones.La elección <strong>de</strong> los contenidos <strong>de</strong>Configuraciones y Equipos <strong>la</strong> hemos hechotenido en cuenta el contexto en el que seencuentra, es <strong>de</strong>cir, qué conocimientos hanadquirido los alumnos a través <strong>de</strong> <strong>la</strong>s asignaturasque acabamos <strong>de</strong> <strong>de</strong>scribir y cuál es el nivel <strong>de</strong>nuevos conocimientos que <strong>de</strong>seamos que estosadquieran.Sobre ese punto, <strong>de</strong>bemos tener en cuentaque en Informática y, en particu<strong>la</strong>r, en el mundo<strong>de</strong> <strong>la</strong>s re<strong>de</strong>s, y <strong>la</strong>s comunicaciones, loscontenidos son muy cambiantes. Hoy en díaestán obsoletos o en <strong>de</strong>suso conocimientos <strong>de</strong>hace apenas cinco años. Sin embargo, existenuna serie <strong>de</strong> nociones básicas que permanecen yque ayudarán a los alumnos a compren<strong>de</strong>r <strong>la</strong>evolución constante <strong>de</strong> <strong>la</strong>s tecnologías. Esasnociones básicas son <strong>la</strong>s que explicaremos en <strong>la</strong>parte teórica <strong>de</strong> <strong>la</strong> asignatura.3. Contenidos teóricosLa asignatura <strong>de</strong> Configuraciones y EquiposInformáticos se estructura alre<strong>de</strong>dor <strong>de</strong> cuatrotemas: fundamentos generales <strong>de</strong> re<strong>de</strong>s,nociones <strong>de</strong> Internet, diseño <strong>de</strong> sitios web y<strong>de</strong>sarrollo <strong>de</strong> sitios web.En el primer tema, el alumno encontrará una<strong>de</strong>finición general <strong>de</strong> red y sus funcionesprimordiales, nociones básicas como protocolos<strong>de</strong> comunicaciones o hardware <strong>de</strong> red y unac<strong>la</strong>sificación <strong>de</strong> esquemas <strong>de</strong> comunicaciónentre or<strong>de</strong>nadores, que abarca <strong>de</strong>s<strong>de</strong> <strong>la</strong>comunicación directa entre dos or<strong>de</strong>nadores,pasando por <strong>la</strong>s re<strong>de</strong>s <strong>de</strong> área local hasta llegar aInternet.Respecto a <strong>la</strong>s re<strong>de</strong>s <strong>de</strong> área local, noscentramos en que los alumnos conozcan elhardware específico que es necesario insta<strong>la</strong>rpara crear una red <strong>de</strong> área local así como elsoftware que implementa los protocolos <strong>de</strong>comunicaciones. Describimos también lossistemas operativos <strong>de</strong> red y, finalmente, nosreferimos a <strong>la</strong> forma en que se comunican entresí <strong>la</strong>s re<strong>de</strong>s <strong>de</strong> área local y cómo se comunicancon el exterior, especialmente con Internet.En lo que refiere a Internet (segundo tema),hemos observado que los alumnos reconocenmuchos <strong>de</strong> los términos asociados a <strong>la</strong> red perono su significado. TCP/IP, servicios Internet,sitios web o URL son pa<strong>la</strong>bras habituales ennuestro vocabu<strong>la</strong>rio y el medio que nos ro<strong>de</strong>a,pero si se pregunta por lo que significan esdifícil encontrar una respuesta con un mínimo <strong>de</strong>contenido. En lugar <strong>de</strong> presentar estas nociones<strong>de</strong> manera ais<strong>la</strong>da, <strong>la</strong>s presentamos mediante <strong>la</strong><strong>de</strong>scripción <strong>de</strong> un proceso en el que todas el<strong>la</strong>saparecen involucradas: el proceso <strong>de</strong> conexión<strong>de</strong>s<strong>de</strong> un navegador a un sitio web.Una vez que este vocabu<strong>la</strong>rio está fijado, e<strong>la</strong>lumno <strong>de</strong>be percibir los elementos necesariospara establecer una conexión a Internet, ya sea<strong>de</strong>s<strong>de</strong> el domicilio particu<strong>la</strong>r, ya sea <strong>de</strong>s<strong>de</strong> unaempresa u organización, así como <strong>la</strong>sherramientas para acce<strong>de</strong>r a <strong>la</strong> información.Sobre <strong>la</strong> conexión, <strong>de</strong>scribimos el mó<strong>de</strong>m y suscaracterísticas fundamentales. A continuación,introducimos <strong>la</strong> noción <strong>de</strong> proveedor <strong>de</strong>servicios Internet y hacemos un <strong>de</strong>tal<strong>la</strong>dorecorrido por <strong>la</strong>s prestaciones que dichosproveedores ofrecen. Finalmente, explicamos <strong>la</strong>sposibilida<strong>de</strong>s <strong>de</strong> conexión actuales en elmercado (RTB, RDSI, ADSL, mó<strong>de</strong>m cable).Respecto a <strong>la</strong>s herramientas, se presentan losservicios que en estos momentos ofrece Internety <strong>la</strong>s herramientas que <strong>de</strong>ben emplearse parahacer uso <strong>de</strong> esos servicios.En este punto, el alumno dispone ya <strong>de</strong> losconocimientos teóricos básicos sobre los que sesustenta <strong>la</strong> comunicación a través <strong>de</strong> Internet ydurante <strong>la</strong>s prácticas <strong>de</strong> este tema, ha reforzadomediante <strong>la</strong> interacción con una gran variedad<strong>de</strong> sitios web los conocimientos básicos <strong>de</strong>


usuario que ya poseía. Sin embargo, todavía<strong>de</strong>sconoce cómo pue<strong>de</strong>n ser construidos. En lostemas tercero y cuarto <strong>de</strong>l curso se ofrece a losalumnos los conocimientos necesarios paradiseñar y <strong>de</strong>sarrol<strong>la</strong>r sitios web.El tercer tema comienza insistiendo a losalumnos en que para <strong>la</strong> creación <strong>de</strong> un sitio webno basta conocer <strong>la</strong>s herramientas, ya seaaplicaciones <strong>de</strong> <strong>de</strong>sarrollo como Frontpage, yasea el lenguaje HTML. Por el contrario, <strong>la</strong>creación <strong>de</strong> un sitio web contiene también unaparte muy importante <strong>de</strong> diseño, proporción quedía a día se hace más patente e importante enInternet. Se muestra a los alumnos que se trata<strong>de</strong> una actividad difícil ya que involucrapersonas <strong>de</strong> muy distinta formación como, porejemplo, programadores, redactores odiseñadores gráficos, y es necesario coordinarsus esfuerzos para lograr un sitio <strong>de</strong> calidad.Teniendo en cuenta lo anteriormenteexpuesto, en este tema ofrecemos una serie <strong>de</strong>recomendaciones que <strong>de</strong>ben seguirse paraconseguir que el sitio web cump<strong>la</strong> <strong>la</strong> finalidadpara <strong>la</strong> que haya sido diseñado. Lasrecomendaciones se ilustran mediante sitios webque actualmente están en funcionamiento enInternet y <strong>de</strong> ellos <strong>de</strong>stacamos aquel<strong>la</strong>scaracterísticas que, a nuestro juicio, ayudan aque el usuario <strong>de</strong> un sitio web interactúe con élcon facilidad así como aquel<strong>la</strong>s otras queconsi<strong>de</strong>ramos dificultan esa interacción. Lasrecomendaciones ofrecidas tienen <strong>la</strong> intenciónadicional <strong>de</strong> fomentar el espíritu crítico <strong>de</strong><strong>la</strong>lumno con lo que observa y con sus propiascreaciones.Una vez realizado el diseño es necesariorealizar el <strong>de</strong>sarrollo <strong>de</strong>l sitio web creando <strong>la</strong>spáginas que forman parte <strong>de</strong>l sitio. Por ello, enel cuarto tema se le introduce en los cimientossobre los que se soporta toda <strong>la</strong> estructura <strong>de</strong>información disponible en Internet: el lenguaje<strong>de</strong> marcas HTML.Sobre el lenguaje HTML se <strong>de</strong>tal<strong>la</strong> susintaxis básica, <strong>la</strong>s marcas utilizadas para<strong>de</strong>scribir una página web y sus atributos.Apren<strong>de</strong>n a formatear párrafos, a hacer másatractivas <strong>la</strong>s páginas con <strong>la</strong> inclusión <strong>de</strong>imágenes, hipervínculos, listas, marcadores ymapas <strong>de</strong> imágenes y a organizar <strong>la</strong> informaciónen marcos y tab<strong>la</strong>s.Sin embargo, el lenguaje HTML tienelimitaciones, que <strong>de</strong>ben ser transparentes a unusuario básico <strong>de</strong> Internet, pero no <strong>de</strong>ben serlopara un alumno <strong>de</strong> esta asignatura, orientado aadquirir conocimientos <strong>de</strong> nivel medio. Porejemplo, si bien con HTML se pue<strong>de</strong>n construirpáginas con formu<strong>la</strong>rios que <strong>la</strong> dotan <strong>de</strong> ciertainteractividad con el usuario, es también ciertoque se pue<strong>de</strong>n crear sobrecargas <strong>de</strong> trabajo en elservidor. A<strong>de</strong>más, el lenguaje HTML no estábien adaptado para realizar diseños másactuales, atractivos e innovadores.Por ello, al alumno se le presenta el lenguajeJavascript como un lenguaje que extien<strong>de</strong> <strong>la</strong>sposibilida<strong>de</strong>s <strong>de</strong>l lenguaje HTML. Una vezintroducido en <strong>la</strong>s nociones básicas <strong>de</strong>programación en Javascript -variables,asignación, sentencias <strong>de</strong> control, funciones -será capaz <strong>de</strong> crear páginas web que realicen enel cliente, entre otras cosas, validación <strong>de</strong> datos<strong>de</strong> entrada, cálculos sencillos, animacionescomo el efecto 'roll over' y respon<strong>de</strong>r a loseventos que sobre el<strong>la</strong> se produzcan.Todos estos contenidos teóricos forman a<strong>la</strong>lumno en una doble vertiente tan habitual en elmundo <strong>de</strong> hoy: por un <strong>la</strong>do, el alumno es unusuario más <strong>de</strong> un mundo pob<strong>la</strong>do <strong>de</strong> re<strong>de</strong>s queinterconectan multitud <strong>de</strong> or<strong>de</strong>nadores, cada uno<strong>de</strong> ellos repleto <strong>de</strong> información; por otro, escapaz <strong>de</strong> ser no sólo usuario, sino creador <strong>de</strong>algunas <strong>de</strong> estos almacenes <strong>de</strong> información através <strong>de</strong> los cuales interactuar, comunicarse yofrecer al mundo aquello <strong>de</strong> lo que sea capaz.4. Contenidos prácticosLos contenidos prácticos <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong>Configuraciones y Equipos Informáticos secentran en Internet e ilustran en <strong>la</strong> parte prácticados <strong>de</strong> los tópicos tratados en <strong>la</strong> parte teórica:servicios <strong>de</strong> Internet y <strong>de</strong>sarrollo <strong>de</strong> sitios web.Las prácticas sobre servicios Internet serealizan con Netscape Communicator. Puestoque en <strong>la</strong> asignatura <strong>de</strong> Fundamentos <strong>de</strong>Informática han realizado prácticas básicas <strong>de</strong>navegación y <strong>de</strong> correo electrónico, hemospreparado unas prácticas básicascomplementarias sobre servicios <strong>de</strong> Internet.Vamos a <strong>de</strong>tal<strong>la</strong>r aquí <strong>la</strong> que se dirige a una <strong>de</strong><strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> <strong>la</strong>s que los alumnos pue<strong>de</strong>n


extraer muy buen partido en su futuroprofesional: <strong>la</strong> <strong>de</strong>scarga e insta<strong>la</strong>ción <strong>de</strong>programas. Esta práctica permite, a<strong>de</strong>más,introducir a los alumnos en tres tipos <strong>de</strong>aplicaciones (antivirus, compresión /<strong>de</strong>scompresión y lectura <strong>de</strong> documentos) quecompletan su formación básica y leproporcionan conocimientos imprescindiblespara un usuario <strong>de</strong> Internet.La práctica comienza con un ejercicio para<strong>de</strong>scargar vía ftp un antivirus en formatocomprimido con el objetivo <strong>de</strong> insta<strong>la</strong>rlo en elor<strong>de</strong>nador. El proceso <strong>de</strong> <strong>de</strong>scarga sirve pararecordar al alumno los problemas <strong>de</strong> seguridadque pue<strong>de</strong>n producirse cuando se <strong>de</strong>scarganprogramas que pue<strong>de</strong>n no ser seguros y pue<strong>de</strong>ncausar efectos maliciosos en su or<strong>de</strong>nador.Puesto que el antivirus llega a nuestro or<strong>de</strong>nadorcomprimido, es necesario hacer ejercicios en losque los alumnos usan una aplicación <strong>de</strong>compresión/<strong>de</strong>scompresión para <strong>de</strong>scomprimirficheros así como para crear sus propios ficheroscomprimidos. En particu<strong>la</strong>r, se <strong>de</strong>scomprime einsta<strong>la</strong> el antivirus que ha sido <strong>de</strong>scargado.Otro uso muy frecuente <strong>de</strong> <strong>la</strong> <strong>de</strong>scarga <strong>de</strong>ficheros es <strong>la</strong> <strong>de</strong>scarga <strong>de</strong> documentos. Lapráctica introduce dos <strong>de</strong> los formatos <strong>de</strong>documentos que se encuentran con frecuencia enInternet (pdf y ps) y se p<strong>la</strong>ntea el ejercicio <strong>de</strong><strong>de</strong>scargar e insta<strong>la</strong>r un visualizador <strong>de</strong>documentos pdf y, a continuación, se propone alos alumnos que <strong>de</strong>scarguen y visualicendocumentos en formato pdf que puedan serlesinteresantes. Para finalizar <strong>la</strong> práctica, ejerciciosadicionales proponen <strong>la</strong> búsqueda, <strong>de</strong>scarga einsta<strong>la</strong>ción <strong>de</strong> un visualizador <strong>de</strong> ficheros ps,una aplicación <strong>de</strong> ping, y un editor <strong>de</strong> HTML.Respecto al <strong>de</strong>sarrollo <strong>de</strong> sitios web y tal ycomo hemos apuntado en <strong>la</strong> parte teórica pue<strong>de</strong>hacerse bien utilizando una herramienta visual,bien utilizando un editor <strong>de</strong> HTML. Lasprácticas que van a realizar permiten que<strong>de</strong>sarrollen ambas capacida<strong>de</strong>s.Así, <strong>la</strong>s primeras prácticas se realizanutilizando <strong>la</strong> herramienta visual FrontPage 2000y en el<strong>la</strong>s el alumno <strong>de</strong>sarrol<strong>la</strong> <strong>de</strong>s<strong>de</strong> cero unsitio web <strong>de</strong> una librería que incluya todo loexplicado sobre el lenguaje HTML. Enparticu<strong>la</strong>r, el sitio web <strong>de</strong>berá contenerformu<strong>la</strong>rios para darse <strong>de</strong> alta en <strong>la</strong> librería ypara realizar compras <strong>de</strong> libros. La construcción<strong>de</strong> sitios web con FrontPage no necesita que elusuario conozca el lenguaje HTML. Antes bien,a través <strong>de</strong> un menú, el usuario introduce loselementos <strong>de</strong> <strong>la</strong>s páginas web y FrontPage creaautomáticamente el código HTML, que enocasiones no es óptimo.Esta falta <strong>de</strong> optimización permite proponerejercicios que consisten en mejorar y hacer máslegible este código y, <strong>de</strong> esta forma, los alumnostienen oportunidad <strong>de</strong> trabajar directamente conHTML.Una nueva práctica propone <strong>la</strong> creación porimitación <strong>de</strong> páginas escribiendo directamente elcódigo HTML. Esas páginas han sido extraídas<strong>de</strong> sitios web actualmente en funcionamiento.Por ejemplo, proponemos construir <strong>la</strong> página <strong>de</strong><strong>la</strong> revista Desnivel (www.<strong>de</strong>snivel.com) que semuestra en <strong>la</strong> Figura 1. Esto supone que e<strong>la</strong>lumno utilice tab<strong>la</strong>s para organizar <strong>la</strong>información e integre en el<strong>la</strong>s una gran variedad<strong>de</strong> imágenes y contenidos.Con el uso <strong>de</strong> un navegador el alumnocomprueba a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong>s prácticas que elresultado es el esperado y percibe cómo lo quediseñó (página web) y luego <strong>de</strong>scribió con unlenguaje textual (código HTML) es lo quefinalmente obtiene en pantal<strong>la</strong>. Si eso no suce<strong>de</strong>,el alumno <strong>de</strong>be repasar el código HTML yencontrar y corregir aquellos errores que existan.Para introducir al alumno en <strong>la</strong>programación con Javascript se le p<strong>la</strong>nteanejercicios para manejar <strong>la</strong>s sentencias básicas <strong>de</strong>este lenguaje construyendo programas sencillos.Ello permite que los alumnos se familiaricen con<strong>la</strong> sintaxis <strong>de</strong>l nuevo lenguaje <strong>de</strong> programación ycon sus peculiarida<strong>de</strong>s (los datos <strong>de</strong> entrada sonsiempre ca<strong>de</strong>nas <strong>de</strong> caracteres, por ejemplo).


Figura 1. Página que los alumnos <strong>de</strong>ben construirA continuación, y utilizando los formu<strong>la</strong>riosque se han incluido en el sitio web <strong>de</strong> <strong>la</strong> librería,se hacen ejercicios en los que Javascript se usapara <strong>la</strong> validación <strong>de</strong> datos <strong>de</strong> entrada (porejemplo, para comprobar que una dirección <strong>de</strong>correo electrónico tiene exactamente una arrobay al menos un punto) o para realizar el cálculo<strong>de</strong>l valor <strong>de</strong> <strong>de</strong>terminados productos que seven<strong>de</strong>n en el sitio web. Estos programas seincrustan en el código HTML <strong>de</strong> <strong>la</strong>s páginas <strong>de</strong>lsitio don<strong>de</strong> se comprueba su correctofuncionamiento.La práctica final explica cómo publicar elsitio web en un servidor (por ejemplo, Yahoo!)en el cual los alumnos se habrán dadopreviamente <strong>de</strong> alta.A través <strong>de</strong> estos contenidos prácticos, e<strong>la</strong>lumno afianza todos aquellos conceptosteóricos que se le han proporcionado y apren<strong>de</strong>no sólo a interactuar con Internet, sino a serparte y contribuir a el<strong>la</strong>.5. Metodología y <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s c<strong>la</strong>sesLa asignatura <strong>de</strong> Configuraciones y EquiposInformáticos es una asignatura <strong>de</strong> seis créditosrepartidos entre tres créditos <strong>de</strong> práctica y tres<strong>de</strong> teoría. Distribuidos a lo <strong>la</strong>rgo <strong>de</strong> quincesemanas <strong>de</strong> un cuatrimestre, el alumno recibesemanalmente dos horas <strong>de</strong> teoría y dos horas <strong>de</strong>práctica.Los contenidos teóricos se <strong>de</strong>sarrol<strong>la</strong>nsiguiendo el método tradicional <strong>de</strong> exposiciónen pizarra, apoyado en transparencias parailustrar alguno <strong>de</strong> los conceptos como, porejemplo, <strong>la</strong>s recomendaciones acerca <strong>de</strong>l buendiseño <strong>de</strong> sitios web.Un aspecto metodológico importante serefiere a los lenguajes HTML y Javascript. En <strong>la</strong>explicación <strong>de</strong> estos lenguajes, hemos utilizadoun método <strong>de</strong> enseñanza basado en mostrarejemplos en los que sea necesario utilizar <strong>la</strong>sdistintas marcas <strong>de</strong> HTML. Sólo una vezpresentadas dichas marcas en ejemplosconcretos, es cuando damos <strong>la</strong> sintaxis general.Para ello, hemos seleccionado páginas <strong>de</strong> unagran variedad <strong>de</strong> sitios web que actualmenteestán en funcionamiento y que ofrecen ejemplosperfectos para ilustrar <strong>de</strong>s<strong>de</strong> los conceptosbásicos hasta los avanzados <strong>de</strong>l lenguaje <strong>de</strong>marcas HTML. Por ejemplo, para <strong>la</strong> c<strong>la</strong>seteórica <strong>de</strong> HTML básico hemos utilizado <strong>la</strong>página <strong>de</strong> <strong>la</strong> Asociación <strong>de</strong> Libreros <strong>de</strong> Viejo(www.libris.es) que se muestra en <strong>la</strong> Figura 2,ligeramente modificada con objeto <strong>de</strong> lograrmayor eficacia en <strong>la</strong> transmisión <strong>de</strong> conceptos.


Figura 2. Página web con elementos básicos <strong>de</strong> HTMLUna vez mostrada <strong>la</strong> página web, se explican<strong>la</strong>s marcas y atributos <strong>de</strong>l código HTML quesoportan esa página y analizamos <strong>la</strong> función <strong>de</strong>cada una <strong>de</strong> el<strong>la</strong>s. Los conocimientos <strong>de</strong>Programación que los alumnos han adquirido enotras asignaturas <strong>de</strong> <strong>la</strong> Diplomatura, les ayudanen <strong>la</strong> asimi<strong>la</strong>ción <strong>de</strong> <strong>la</strong>s explicaciones sobreHTML. A partir <strong>de</strong>l ejemplo que hemospresentado, explicamos en general el significado<strong>de</strong> todas <strong>la</strong>s marcas y atributos <strong>de</strong> <strong>la</strong> página asícomo los posibles valores <strong>de</strong> los atributos.Obsérvese que con esta forma <strong>de</strong>presentación mostramos los elementos HTMLen el lugar don<strong>de</strong> se utilizan y a través <strong>de</strong>ejemplos. Una vez que el alumno conoce el uso<strong>de</strong> los elementos HTML gracias a los ejemplosescogidos, es cuando consi<strong>de</strong>ramos a<strong>de</strong>cuadodar <strong>la</strong> sintaxis general <strong>de</strong> los mismos.Las c<strong>la</strong>ses prácticas tienen lugar en <strong>la</strong> sa<strong>la</strong><strong>de</strong> or<strong>de</strong>nadores. Se forman grupos <strong>de</strong> dospersonas porque consi<strong>de</strong>ramos a<strong>de</strong>cuado que <strong>la</strong>spersonas <strong>de</strong>l grupo puedan co<strong>la</strong>borar cuando en<strong>la</strong> realización <strong>de</strong> ejercicios surjan dificulta<strong>de</strong>s.Cada práctica trabaja sobre un tema particu<strong>la</strong>r <strong>de</strong>los explicados en <strong>la</strong> parte teórica, tratándoloscomo unida<strong>de</strong>s <strong>de</strong> conocimiento. Transferencia<strong>de</strong> ficheros o creación <strong>de</strong> formu<strong>la</strong>rios parapáginas web mediante FrontPage son algunas <strong>de</strong><strong>la</strong>s unida<strong>de</strong>s <strong>de</strong>sarrol<strong>la</strong>das en <strong>la</strong>s prácticas paraafianzar los contenidos teóricos recibidos.El aspecto metodológico <strong>de</strong>stacable en <strong>la</strong>parte práctica es el tipo <strong>de</strong> ejercicios queproponemos. Se trata <strong>de</strong> ejerciciosabsolutamente guiados en los que se indica a losalumnos los pasos que <strong>de</strong>ben dar para alcanzarun <strong>de</strong>terminado fin. La mayor parte <strong>de</strong> ellosincluyen una sección <strong>de</strong> ayuda a <strong>la</strong> que losalumnos pue<strong>de</strong>n recurrir si no saben completarel ejercicio. A<strong>de</strong>más, <strong>la</strong>s prácticas contienen unasección 'Acerca <strong>de</strong>' que refresca y abunda en loscontenidos teóricos necesarios para realizar losejercicios prácticos.6. Interacción con los alumnosEn este apartado vamos a <strong>de</strong>tal<strong>la</strong>r <strong>la</strong> interaccióncon los alumnos <strong>de</strong> <strong>la</strong> asignaturaConfiguraciones y Equipos Informáticos asícomo los trabajos que obligatoriamente <strong>de</strong>benrealizar para lograr aprobar <strong>la</strong> asignatura.La experiencia en <strong>la</strong> interacción con losalumnos ha sido muy positiva. La asistencia ac<strong>la</strong>ses prácticas ha sido muy elevada (lo cual nosiempre es fácil <strong>de</strong> conseguir) y también ha sidomuy importante el interés <strong>de</strong>mostrado por losalumnos. Nuestra experiencia es que <strong>la</strong>s


prácticas guiadas, que conducen al alumno a un<strong>de</strong>terminado objetivo facilitan enormemente <strong>la</strong>asimi<strong>la</strong>ción <strong>de</strong> conceptos. A<strong>de</strong>más aquellosejercicios incluidos en <strong>la</strong>s prácticas en los que <strong>la</strong>guía <strong>de</strong>saparece suponen para el alumno un retoque le atrae y que se esfuerza por vencer. Nocabe duda, no obstante, que en esta asignatura elinterés <strong>de</strong>l alumno por <strong>la</strong> materia (punto c<strong>la</strong>vepara que el alumno aprenda y estudie) es fácil <strong>de</strong>conseguir ya que el bombar<strong>de</strong>o continuo en losmedios <strong>de</strong> comunicación acerca <strong>de</strong> <strong>la</strong>importancia presente y futura <strong>de</strong> Internet nosfacilita el camino en ese aspecto.La evaluación <strong>de</strong> <strong>la</strong> asignatura se encuentratotalmente integrada en esta interacciónasignatura/alumno. A<strong>de</strong>más <strong>de</strong> un examen <strong>de</strong>tipo tradicional con preguntas <strong>de</strong> tipo teórico ypráctico, los alumnos <strong>de</strong>ben realizar una serie <strong>de</strong>trabajos cuya finalidad es formativa yevaluadora.A lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong>l curso losalumnos han ido adquiriendo <strong>la</strong>s habilida<strong>de</strong>snecesarias para <strong>la</strong> creación <strong>de</strong> sitios web, perono han realizado trabajos don<strong>de</strong> <strong>de</strong>ban integrartodas esas habilida<strong>de</strong>s. Con los trabajos <strong>de</strong>evaluación propuestos el alumno se forma, con<strong>la</strong> ayuda <strong>de</strong>l profesor, en <strong>la</strong> utilizacióncoordinada <strong>de</strong> estas habilida<strong>de</strong>s para apren<strong>de</strong>r,entre otras cosas, a crear sitios web reales. Lostrabajos tienen también función evaluadora yaque es necesario que los alumnos los entreguenpara ser evaluados <strong>de</strong> <strong>la</strong> asignatura.Así, un primer trabajo <strong>de</strong>be mostrar que losalumnos son capaces <strong>de</strong> realizar el uso másgeneralizado <strong>de</strong> Internet: <strong>la</strong> búsqueda <strong>de</strong>información. Si bien esta actividad esconsi<strong>de</strong>rada <strong>de</strong>ntro <strong>de</strong> los conocimientos básicosy que se supone ya posee al llegar a <strong>la</strong>asignatura, el alumno <strong>de</strong>be <strong>de</strong>mostrar que <strong>la</strong>realiza <strong>de</strong> forma or<strong>de</strong>nada, organizada y conobjetivos c<strong>la</strong>ros y bien <strong>de</strong>finidos. La propuestaes realizar varias búsquedas para <strong>la</strong>s cuales<strong>de</strong>ben <strong>de</strong>tal<strong>la</strong>r cuál ha sido el resultado, elcamino seguido y <strong>la</strong>s distintas fuentes <strong>de</strong>información utilizadas. Así, dada <strong>la</strong> propuesta <strong>de</strong>encontrar hoteles <strong>de</strong> un precio asequible enLondres, los alumnos <strong>de</strong>ben explicar cuál hasido su inicio en <strong>la</strong> búsqueda, el camino seguidoy si han sufrido alguna pérdida en el caminohasta encontrar lo propuesto. Esta práctica nosólo tiene <strong>la</strong> función <strong>de</strong> mostrarles y que<strong>de</strong>muestren que saben encontrar informaciónsino también que sepan utilizar el vocabu<strong>la</strong>rioa<strong>de</strong>cuado para explicar su interacción con <strong>la</strong> red.Los siguientes trabajos se orientan a<strong>de</strong>sarrol<strong>la</strong>r sus capacida<strong>de</strong>s como constructores<strong>de</strong> sitios web. Así, los alumnos <strong>de</strong>ben crear unapágina web, usando <strong>la</strong> aplicación FrontPage,partiendo <strong>de</strong> un boceto y <strong>de</strong> un conjunto <strong>de</strong>ficheros <strong>de</strong> imágenes que, teóricamente, les haentregado un diseñador gráfico. Las páginas quese entregan son simi<strong>la</strong>res a <strong>la</strong> <strong>de</strong> <strong>la</strong> revistaDesnivel que se muestra en <strong>la</strong> Figura 1.En el siguiente trabajo <strong>de</strong> evaluación, a<strong>la</strong>lumno se le da <strong>la</strong> libertad <strong>de</strong> que diseñe el sitioweb <strong>de</strong> su interés, aplicando en él <strong>la</strong>srecomendaciones explicadas en teoría acerca <strong>de</strong>ldiseño <strong>de</strong> sitios web.Como trabajo final <strong>de</strong> <strong>la</strong> asignatura, losalumnos aplican sus conocimientos sobreJavascript para <strong>la</strong> validación <strong>de</strong> datos y <strong>la</strong>realización <strong>de</strong> cálculos en varios formu<strong>la</strong>rios.De esta forma y progresivamente, losalumnos habrán empezado como simplesusuarios <strong>de</strong> Internet hasta llegar a ser capaces <strong>de</strong><strong>de</strong>sarrol<strong>la</strong>r sus propios sitios web.La experiencia <strong>de</strong> este año en <strong>la</strong> impartición<strong>de</strong> <strong>la</strong> asignatura nos lleva a proponer para añosfuturos <strong>la</strong> realización por parte <strong>de</strong> los alumnos<strong>de</strong> trabajos sobre temas re<strong>la</strong>cionados con elmundo <strong>de</strong> Internet y <strong>de</strong> <strong>la</strong>s comunicaciones.Estos trabajos, que serían realizados en grupo,implicarían a los alumnos aún más si cabe en el<strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> asignatura, y les llevaría ainteresarse por temas que <strong>de</strong> otra formaquedarían fuera <strong>de</strong> los contenidos <strong>de</strong> <strong>la</strong> misma.A<strong>de</strong>más, ofrecen <strong>la</strong> ventaja adicional <strong>de</strong>obligarles a <strong>de</strong>sarrol<strong>la</strong>r su capacidad <strong>de</strong>comunicación y <strong>de</strong> presentación en público.Puesto que el número <strong>de</strong> alumnos matricu<strong>la</strong>dosen <strong>la</strong> asignatura es elevado, estos trabajos sepropondrían so<strong>la</strong>mente para aquellos alumnosque <strong>de</strong>searan alcanzar <strong>la</strong> calificación máxima.Algunos <strong>de</strong> los temas que podrían ofrecerse son<strong>la</strong>s tecnologías 'wireless', los teléfonos móviles,<strong>la</strong> tecnología UMTS o el lenguaje XML.7. Revisión <strong>de</strong> referencias bibliográficasEn este apartado vamos a hacer un brevecomentario <strong>de</strong> <strong>la</strong>s fuentes bibliográficas que


hemos utilizado para e<strong>la</strong>borar los contenidos <strong>de</strong>esta asignatura.Un libro clásico <strong>de</strong> re<strong>de</strong>s es Comunicacionesy re<strong>de</strong>s <strong>de</strong> computadores [2] don<strong>de</strong> se pue<strong>de</strong>nencontrar <strong>la</strong>s <strong>de</strong>finiciones básicas <strong>de</strong> re<strong>de</strong>s, síbien su nivel teórico es bastante elevado.Cuando nos referimos a re<strong>de</strong>s <strong>de</strong> or<strong>de</strong>nadores<strong>de</strong>s<strong>de</strong> una perspectiva <strong>de</strong> usuario es interesanteel libro Introducción a <strong>la</strong>s re<strong>de</strong>s locales [3] queexplica <strong>de</strong> una manera sencil<strong>la</strong> elfuncionamiento, normas, arquitecturas etc. <strong>de</strong>una red <strong>de</strong> área local. Para una introducción aInternet, recomendamos el libro Internet,Edición 2000 [4].El libro Edición <strong>de</strong> páginas web [5] <strong>de</strong>tal<strong>la</strong><strong>la</strong>s fases <strong>de</strong> construcción <strong>de</strong> un sitio web y <strong>la</strong>obra Diseño <strong>de</strong> páginas web [6] lo complementaofreciendo recomendaciones para <strong>la</strong>construcción <strong>de</strong> sitios web así como excelentesejemplos <strong>de</strong> sitios web bien construidos. Internet& World Wi<strong>de</strong> Web. How to program [7] es unlibro <strong>de</strong> propósito general sobre programaciónen Internet y cuyos contenidos dan una ampliapanorámica <strong>de</strong> herramientas y tecnologías para<strong>la</strong> programación en Internet. Para finalizar,Programación en Javascript [8] es una obra en<strong>la</strong> que se realiza una presentación sencil<strong>la</strong> y bienestructurada <strong>de</strong>l lenguaje <strong>de</strong> programaciónJavascript, necesario para <strong>la</strong> parte final <strong>de</strong>lcurso.8. ConclusionesVarias son <strong>la</strong>s conclusiones que po<strong>de</strong>mosextraer <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong>l curso en estaasignatura y <strong>la</strong> primera y principal es el altonivel <strong>de</strong> motivación presente en los alumnos. Elcontenido <strong>de</strong> <strong>la</strong> asignatura ha sido altamentemotivante para el alumnado, teniendo unseguimiento <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses por encima <strong>de</strong> <strong>la</strong>media <strong>de</strong> otras asignaturas <strong>de</strong> <strong>la</strong> Diplomatura.De igual forma, no sólo el contenido, sino <strong>la</strong>metodología utilizada ha contribuido a aumentareste interés <strong>de</strong>l alumno en <strong>la</strong> asignatura. Loscontenidos teóricos tienen una aplicacióninmediata en su parte práctica y el alumnopercibe <strong>la</strong> utilidad <strong>de</strong> lo que se le estáenseñando, siendo él mismo el queprogresivamente utiliza los conocimientosadquiridos y obtiene resultados que le resultanatractivos.Esto ha traído consigo que los alumnos en sugran mayoría han asimi<strong>la</strong>do los conceptosimpartidos, como prueba el alto índice <strong>de</strong>aprobados <strong>de</strong> <strong>la</strong> asignatura y nos conduce apensar que el método práctico, progresivo yguiado es eficaz.Pese a todo y dado que el p<strong>la</strong>nteamiento <strong>de</strong>esta asignatura tal y como se presenta en estetrabajo, ha sido llevado a <strong>la</strong> práctica por primeravez durante el curso 2000/2001, es difícilconsi<strong>de</strong>rar <strong>la</strong>s conclusiones extraídas <strong>de</strong> unúnico año <strong>de</strong> impartición como <strong>de</strong>finitivas.No obstante, <strong>la</strong> experiencia obtenida juntocon estas primeras conclusiones nos llevan aseguir en <strong>la</strong> línea metodológica utilizada,ree<strong>la</strong>borando los contenidos que consi<strong>de</strong>remosnecesario modificar y aquellos que, sin duda,será necesario incorporar a medida que e<strong>la</strong>vance tecnológico continúe.Referencias[1] J. Ranz. Breve historia <strong>de</strong> Internet. AnayaMultimedia, 1997.[2] William Stallings. Comunicaciones y re<strong>de</strong>s<strong>de</strong> computadores. Prentice Hall, 1998.[3] José Félix Rábago. Introducción a <strong>la</strong>s re<strong>de</strong>slocales. Anaya Multimedia, 2000[4] Carlos Essebag, Julián Martínez. InternetEdición 2000. Anaya Multimedia, 2000[5] Óscar Peña. Edición <strong>de</strong> páginas web. AnayaMultimedia, 2000.[6] Jack Davis, Susan Merrit. Diseño <strong>de</strong> páginasweb. Anaya Multimedia, 1999[7] Deitel, Deitel & Nieto. Internet & WorldWi<strong>de</strong> Web. How to Program. Prentice Hall,2000.[8] José Manuel A<strong>la</strong>rcón. Programación enJavascript. Anaya Multimedia, 2000.


$SOLFDQGR7pFQLFDVGH0HMRUDGHOD(QVHxDQ]DGHOD,QWHOLJHQFLD$UWLILFLDOHQOD/LFHQFLDWXUDHQ'RFXPHQWDFLyQCarlos Carrascosa, Vicente Julián, Miguel A. SalidoDepartamento <strong>de</strong> Sistemas Informáticos y ComputaciónUniversidad Politécnica <strong>de</strong> Valencia46020 Valenciae-mail: {carrasco, ving<strong>la</strong>da, msalido}@dsic.upv.es5HVXPHQLa mejora en <strong>la</strong> enseñanza es un aspecto quetodos los docentes se p<strong>la</strong>ntean. La posiblemejora en <strong>la</strong> impartición <strong>de</strong> una asignaturaconcreta pue<strong>de</strong> ser obtenida por diversos cauces.En <strong>la</strong> asignatura Sistemas <strong>de</strong> Representación yProcesamiento Automático <strong>de</strong>l Conocimiento(SRP) <strong>de</strong> <strong>la</strong> Licenciatura en Documentación <strong>de</strong><strong>la</strong> Facultad <strong>de</strong> Informática en <strong>la</strong> UniversidadPolitécnica <strong>de</strong> Valencia (UPV) se ha previsto unprograma <strong>de</strong> activida<strong>de</strong>s para rep<strong>la</strong>ntear losmétodos docentes <strong>de</strong> <strong>la</strong> asignatura. El contenidofundamental <strong>de</strong> esta asignatura consiste en unavista panorámica don<strong>de</strong> presentar diferentestópicos <strong>de</strong> <strong>la</strong> Inteligencia Artificial comométodos <strong>de</strong> representación y procesamientoautomático <strong>de</strong>l conocimiento.,QWURGXFFLyQDebido a <strong>la</strong> juventud <strong>de</strong> <strong>la</strong> licenciatura enDocumentación es imposible hab<strong>la</strong>r <strong>de</strong>contenidos clásicos <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>s asignaturas queconforman dicha titu<strong>la</strong>ción. Sin embargo, en elcaso <strong>de</strong> <strong>la</strong> asignatura Sistemas <strong>de</strong>Representación y Procesamiento Automático <strong>de</strong>lConocimiento (SRP), teniendo en cuenta <strong>la</strong>orientación hacia el campo <strong>de</strong> <strong>la</strong> inteligenciaartificial que se le ha dado, sí que es posible elestudio <strong>de</strong> esta materia <strong>de</strong>s<strong>de</strong> una orientaciónpuramente informática. No hay que olvidar queen general el bagaje <strong>de</strong> conocimientos previoscon que el alumno acce<strong>de</strong> a dicha asignaturapue<strong>de</strong> ser muy limitado, <strong>de</strong>bido al hecho <strong>de</strong> que<strong>la</strong> carrera en <strong>la</strong> que se encuentra esta asignaturano correspon<strong>de</strong> con una <strong>de</strong> corte puramenteinformático. De esta manera, <strong>la</strong> orientación <strong>de</strong>esos temas no pue<strong>de</strong> ser exactamente <strong>la</strong> mismaque <strong>la</strong> que se utilizaría en ese otro tipo <strong>de</strong>asignaturas, ni <strong>la</strong> forma <strong>de</strong> impartir<strong>la</strong>, puesto que<strong>la</strong> base teórica <strong>de</strong> estos alumnos es limitada eneste campo.Un aspecto a <strong>de</strong>stacar <strong>de</strong> <strong>la</strong> UniversidadPolitécnica <strong>de</strong> Valencia (UPV) es el esfuerzorealizado en los últimos años en analizar losaspectos más <strong>de</strong>ficitarios <strong>de</strong>l sistema educativovigente y tomar medidas orientadas a fomentar ysubsanar, en lo posible, estos déficits. Entreellos <strong>de</strong>staca <strong>la</strong> puesta en marcha <strong>de</strong> unambicioso proyecto, conocido como proyectoEUROPA (Una Enseñanza ORientada alAPrendizaje), para <strong>la</strong> mejora integral <strong>de</strong> <strong>la</strong>enseñanza y el aprendizaje. Este proyecto esfruto <strong>de</strong> <strong>la</strong> evolución <strong>de</strong> proyectos anteriores. Laforma <strong>de</strong> abordar el cometido <strong>de</strong>l proyecto seconcreta en cinco programas <strong>de</strong> actuación, entrelos que se encuentra el programa <strong>de</strong> Ayuda a <strong>la</strong>Mejora <strong>de</strong> <strong>la</strong> Enseñanza (AME), para favorecersinergias entre cada centro y los <strong>de</strong>partamentosque imparten docencia en él. Dentro <strong>de</strong> esteproyecto existen distintos subproyectos, entrelos que se encuentran:• AME-2 (Nuevos métodos <strong>de</strong> enseñanzaaprendizaje):el cual trata <strong>de</strong> incentivar <strong>la</strong>imp<strong>la</strong>ntación <strong>de</strong> métodos <strong>de</strong> enseñanzaaprendizajeorientados a una mayorparticipación activa <strong>de</strong>l alumnado


Técnica Actividad <strong>de</strong>l profesor Actividad <strong>de</strong>l alumnoP<strong>la</strong>nificaciónLección Magistral Desarrollo estructuradoEvaluaciónMétodo <strong>de</strong> <strong>la</strong> pregunta P<strong>la</strong>nificaciónEstudio <strong>de</strong>l momento a<strong>de</strong>cuadoResolución <strong>de</strong>problemas en grupoContrato <strong>de</strong>aprendizajeTutorizaciónPrácticas <strong>de</strong><strong>la</strong>boratorioP<strong>la</strong>nificación previaPresentación <strong>de</strong>l problemaOrientaciónSeguimientoEvaluaciónPresenta objetivosOrienta trabajoSeguimientoTécnicas <strong>de</strong> evaluaciónP<strong>la</strong>nificación y estructuración <strong>de</strong> <strong>la</strong>s tutoríasSeguimiento continuoEvaluación personalizadaRealización <strong>de</strong> boletinesRealización <strong>de</strong> seminarios <strong>de</strong> iniciación a <strong>la</strong> tecnologíanecesariaEvaluación continuada <strong>de</strong> <strong>la</strong>s prácticasAtención en c<strong>la</strong>seParticipaciónParticipaSe convierte en un elemento activoDiscuteTrabaja en grupoDiscuteTrabaja en grupoP<strong>la</strong>nificaParticipa y preguntaParticipaciónP<strong>la</strong>nificación a medio p<strong>la</strong>zo <strong>de</strong> sutrabajoTrabajo en grupo)LJXUD: Técnicas y activida<strong>de</strong>s <strong>de</strong> mejora p<strong>la</strong>nificadas• AME-3 (Mejora <strong>de</strong> los sistemas <strong>de</strong>evaluación): en este caso consiste enincentivar <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> sistemas <strong>de</strong>evaluación <strong>de</strong>l rendimiento <strong>de</strong>l alumnadoque se aproxime a <strong>la</strong> evaluación continuamulticriterio. Teniendo en cuenta todas <strong>la</strong>sactivida<strong>de</strong>s que lleva a cabo.Para el caso que nos ocupa, esto es, <strong>la</strong> asignaturaSRP <strong>de</strong> <strong>la</strong> Licenciatura en Documentación <strong>de</strong> <strong>la</strong>Facultad <strong>de</strong> Informática en <strong>la</strong> UPV, se ha<strong>de</strong>sarrol<strong>la</strong>do un proyecto, concedidorecientemente, encaminado a mejorar todos losaspectos previstos en estos dos subproyectos.Básicamente los objetivos que se persiguen sonlos siguientes:• Reestructuración <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses magistralesestudiando <strong>la</strong> incorporación <strong>de</strong> técnicasalternativas como resolución <strong>de</strong> problemasen pequeños grupos, empleo <strong>de</strong>l método <strong>de</strong><strong>la</strong> pregunta, <strong>de</strong>bates, pequeños foros,estudio <strong>de</strong> pequeños casos, etc.• Reestructuración <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong> modoque fortalezcan en mayor medida elproceso <strong>de</strong> aprendizaje ya que se ha<strong>de</strong>tectado cierto distanciamiento entre <strong>la</strong>sprácticas y <strong>la</strong> teoría. Para ello se p<strong>la</strong>ntea eldar un peso importante en <strong>la</strong> evaluación a<strong>la</strong>s nuevas prácticas a <strong>de</strong>sarrol<strong>la</strong>r.• Empleo <strong>de</strong> nuevas metodologías en elproceso enseñanza-aprendizaje como <strong>la</strong>metodología <strong>de</strong> aprendizaje autodirigido <strong>de</strong>los contratos <strong>de</strong> aprendizaje, mediante el<strong>de</strong>sarrollo <strong>de</strong> un pequeño proyecto <strong>de</strong>trabajo guiado a lo <strong>la</strong>rgo <strong>de</strong> casi <strong>la</strong> totalidad<strong>de</strong>l curso realizado por los alumnos engrupo.• Utilización <strong>de</strong>l acción tutorial comomecanismo <strong>de</strong> seguimiento <strong>de</strong> losdiferentes trabajos, <strong>de</strong> tal forma que sepueda emplear <strong>la</strong> tutoría como docencia ensí.


• Cambios en el sistema <strong>de</strong> evaluación dandoun mayor peso al trabajo en grupo realizadopor el alumno. Se establece por tanto <strong>la</strong>necesidad <strong>de</strong> técnicas para medir el grado<strong>de</strong> esfuerzo y <strong>de</strong>dicación <strong>de</strong>l alumno en elgrupo para po<strong>de</strong>r ser evaluadocorrectamente.En <strong>la</strong> figura 1 se recogen el conjunto <strong>de</strong>diferentes técnicas a aplicar para <strong>la</strong> consecución<strong>de</strong> los objetivos anteriores. Para el <strong>de</strong>sarrollo <strong>de</strong>este proyecto <strong>de</strong> mejora en el proceso <strong>de</strong>enseñanza-aprendizaje y <strong>de</strong> los métodos <strong>de</strong>evaluación se ha pensado en un p<strong>la</strong>n a corto ymedio p<strong>la</strong>zo para <strong>la</strong> incorporación <strong>de</strong> todos loselementos necesarios que permitan elcumplimiento <strong>de</strong> los objetivos marcados. Deesta forma, <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista temporal, sep<strong>la</strong>ntea lo siguiente:• Estudio y aplicación <strong>de</strong> <strong>la</strong> técnica <strong>de</strong>contrato <strong>de</strong> aprendizaje en el actual cursoacadémico.• Estudio e incorporación gradual a lo <strong>la</strong>rgo<strong>de</strong> como mínimo dos cursos académicos <strong>de</strong>nuevas técnicas alternativas a <strong>la</strong> lecciónmagistral en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría,estableciendo mecanismos <strong>de</strong> evaluación <strong>de</strong><strong>la</strong>s mismas al finalizar el primer cursoacadémico.• Reestructuración para el siguiente cursoacadémico <strong>de</strong>l programa <strong>de</strong> prácticas, paraello se necesitarán recursos humanos ytécnicos.• Incorporación <strong>de</strong> <strong>la</strong>s tutorias <strong>de</strong> grupo eindividualizadas <strong>de</strong> forma más pausada,realizando una prueba este curso académicopara evaluar el método (fundamentalmenteestudiar <strong>la</strong> respuesta <strong>de</strong>l alumno) eincorporándolo totalmente el siguientecurso académico.A continuación se presenta el contenido que sele ha dado a <strong>la</strong> asignatura siguiendo <strong>la</strong>s pautascomentadas en el proyecto <strong>de</strong> mejora <strong>de</strong><strong>la</strong>prendizaje.(QIRTXHGHODDVLJQDWXUD653Teniendo en cuenta <strong>la</strong> orientación que sepreten<strong>de</strong> dar a <strong>la</strong> asignatura en función <strong>de</strong> sucontexto y el carácter introductorio <strong>de</strong> suscontenidos, los objetivos principales <strong>de</strong> <strong>la</strong>asignatura son los siguientes:• Introducción a <strong>la</strong> disciplina <strong>de</strong> <strong>la</strong>Inteligencia Artificial, su historia, supresente y su futuro, qué se pue<strong>de</strong> esperar<strong>de</strong> el<strong>la</strong>, así como <strong>la</strong> re<strong>la</strong>ción <strong>de</strong> <strong>la</strong>inteligencia artificial con otras disciplinas.• Estudio introductorio <strong>de</strong> <strong>la</strong>s técnicasbásicas <strong>de</strong> IA como métodos <strong>de</strong>representación y procesamiento automático<strong>de</strong>l conocimiento.• Uso práctico <strong>de</strong> <strong>la</strong> IA, queriendo orientarestos conocimientos al campo <strong>de</strong> <strong>la</strong>Documentación.En los siguientes puntos se presenta <strong>la</strong> propuesta<strong>de</strong> contenidos <strong>de</strong> <strong>la</strong> asignatura (teóricos yprácticos) ajustándose a los objetivos <strong>de</strong> <strong>la</strong>misma y a los <strong>de</strong>l proyecto <strong>de</strong> mejora.7HRUtDLa parte <strong>de</strong> teoría <strong>de</strong> <strong>la</strong> asignatura “Sistemas <strong>de</strong>Representación y Procesamiento Automático <strong>de</strong>lConocimiento” se distingue entre dos partesbien diferenciadas en contenidos, forma <strong>de</strong>trabajo y evaluación. La primera <strong>de</strong> el<strong>la</strong>s es <strong>la</strong>que imparten los profesores <strong>de</strong> <strong>la</strong> asignaturacomo c<strong>la</strong>ses <strong>de</strong> teoría, con los contenidos que se<strong>de</strong>tal<strong>la</strong>rán a continuación y cuya evaluación serealizará por medio <strong>de</strong> un examen final. Lasegunda <strong>de</strong> el<strong>la</strong>s es <strong>la</strong> formada por un pequeñoproyecto <strong>de</strong> trabajo guiado realizado por losalumnos en grupo (usando <strong>la</strong> metodología <strong>de</strong>aprendizaje autodirigido <strong>de</strong> los contratos <strong>de</strong>aprendizaje). El contenido <strong>de</strong> estos trabajosversará sobre <strong>la</strong> aplicación <strong>de</strong> alguna técnica <strong>de</strong>IA en el campo <strong>de</strong> <strong>la</strong> documentación, y cuyaevaluación dará lugar al 50% <strong>de</strong> <strong>la</strong> nota <strong>de</strong> teoría(<strong>la</strong> nota <strong>de</strong>l examen anterior da el otro 50%).


&ODVHVGH7HRUtDA continuación se presenta una <strong>de</strong>scripción <strong>de</strong>cada uno <strong>de</strong> los temas que constituyen esta parte<strong>de</strong> <strong>la</strong> asignatura. Los contenidos <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>teoría se divi<strong>de</strong>n en dos bloques: el primero secentra en los conceptos clásicos <strong>de</strong> <strong>la</strong>Inteligencia Artificial, mientras que el segundose <strong>de</strong>dica a <strong>la</strong> exposición <strong>de</strong> diferentes técnicasactuales <strong>de</strong> <strong>la</strong> Inteligencia Artificial, orientado asu uso en <strong>la</strong> documentación.Para un mayor <strong>de</strong>talle <strong>de</strong> los contenidos referirsea [Carrascosa 2001]./D,QWHOLJHQFLD$UWLILFLDO&OiVLFDEsta primera parte <strong>de</strong>l bloque <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> teoríapresenta una introducción a un conjunto <strong>de</strong>métodos <strong>de</strong> representación <strong>de</strong>l conocimiento yresolución <strong>de</strong> problemas consi<strong>de</strong>rados comoclásicos en <strong>la</strong> Inteligencia Artificial. Enconcreto, esta parte está formada por lossiguientes temas:• Tema 1: Introducción a <strong>la</strong> InteligenciaArtificial:Breve introducción al concepto <strong>de</strong>Inteligencia Artificial junto con un repaso a<strong>la</strong> historia <strong>de</strong> <strong>la</strong> IA. El tema concluye con <strong>la</strong>exposición <strong>de</strong> <strong>la</strong>s diferentes áreas en <strong>la</strong>sque se divi<strong>de</strong> <strong>la</strong> IA, junto a los diferentestipos <strong>de</strong> aplicaciones <strong>de</strong> <strong>la</strong>s técnicas <strong>de</strong> <strong>la</strong>IA haciendo especial hincapié en aquel<strong>la</strong>s<strong>de</strong>ntro <strong>de</strong>l ámbito <strong>de</strong> <strong>la</strong> documentación.• Tema 2: Representación <strong>de</strong>l Conocimientoen Inteligencia Artificial:Este tema es el núcleo <strong>de</strong> esta parte <strong>de</strong> <strong>la</strong>asignatura por contenidos y por duración.En él se presenta <strong>la</strong> problemática <strong>de</strong> <strong>la</strong>representación <strong>de</strong>l conocimiento junto conun conjunto <strong>de</strong> aproximaciones en gradocreciente <strong>de</strong> complejidad:ƒ La lógica (proposicional y <strong>de</strong>predicados).ƒ Los sistemas basados en reg<strong>la</strong>s(viendo distintas configuracionessegún <strong>la</strong> forma <strong>de</strong> representar loshechos).ƒ Los sistemas <strong>de</strong> representaciónestructurados (re<strong>de</strong>s semánticas yIUDPHV).• Tema 3: Sistemas Basados en elConocimiento: Sistemas Expertos:Introducción a los Sistemas Basados en elConocimiento y los Sistemas Expertos,prestando especial atención a <strong>la</strong>scaracterísticas funcionales y estructurales<strong>de</strong> los mismos. También se incluye en estetema una breve <strong>de</strong>scripción <strong>de</strong>metodologías <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> SistemasExpertos, así como algunas áreas <strong>de</strong>aplicación tales como p<strong>la</strong>nificación,diagnosis, control, ...(MHPSORVGH7pFQLFDVGH,$GH5HOHYDQFLD$FWXDOEste tema compren<strong>de</strong> un conjunto <strong>de</strong>introducciones a una serie <strong>de</strong> técnicas avanzadas<strong>de</strong> Inteligencia Artificial <strong>de</strong> aplicación al campo<strong>de</strong> <strong>la</strong> documentación. De esta manera el tema seestructura en cuatro apartados. Cada uno <strong>de</strong>estos apartados se centra en una <strong>de</strong> estastécnicas.6LVWHPDVGH%ODFNERDUGSe presenta este mo<strong>de</strong>lo <strong>de</strong> resolución <strong>de</strong>problemas como una generalización <strong>de</strong> lossistemas <strong>de</strong> producción. A<strong>de</strong>más se <strong>de</strong>scribe suestructura y diversas variaciones <strong>de</strong> acuerdo a<strong>la</strong>s distintas arquitecturas <strong>de</strong> control posibles.Posteriormente se presenta un ejemplo <strong>de</strong> unaarquitectura <strong>de</strong> Sistemas <strong>de</strong> %ODFNERDUG (BB1).El apartado concluye con <strong>la</strong> presentación <strong>de</strong>ldiseño <strong>de</strong> una aplicación meta-buscador usandoel mo<strong>de</strong>lo <strong>de</strong> EODFNERDUG.$JHQWHV,QWHOLJHQWHVSe introduce el concepto, diversas arquitecturaso aproximaciones distintas y algunasaplicaciones, prestando especial interés enaquel<strong>la</strong>s <strong>de</strong> carácter documental o <strong>de</strong> gestión <strong>de</strong>información.


5HGHV1HXURQDOHV$UWLILFLDOHVSe introduce este mo<strong>de</strong>lo <strong>de</strong> computaciónsubsimbólica, indicando sus principalescaracterísticas y múltiples aplicaciones enmultitud <strong>de</strong> campos (incluido el <strong>de</strong> <strong>la</strong>Documentación).$OJRULWPRV*HQpWLFRVSe presenta este mo<strong>de</strong>lo <strong>de</strong> computaciónsubsimbólica, indicando su esquema general yprincipales aplicaciones en el campo <strong>de</strong> <strong>la</strong>Documentación.7UDEDMRV*XLDGRVUna <strong>de</strong> <strong>la</strong>s partes más importantes <strong>de</strong> <strong>la</strong>asignatura (como se refleja en el porcentaje <strong>de</strong> <strong>la</strong>nota final que le correspon<strong>de</strong>) <strong>la</strong> compren<strong>de</strong> eltrabajo final que <strong>de</strong>ben realizar los alumnos.Este trabajo se realiza durante gran parte <strong>de</strong> <strong>la</strong>mitad <strong>de</strong>l cuatrimestre, y su objetivo es vercasos reales (en aplicaciones o líneas <strong>de</strong>investigación abiertas) <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong>técnicas <strong>de</strong> IA al campo <strong>de</strong> <strong>la</strong> Documentación.En <strong>la</strong> realización <strong>de</strong> este trabajo se trata <strong>de</strong>establecer un aprendizaje autodirigido [Knowles1975], el cual es un método en el que elestudiante asume <strong>la</strong> iniciativa en el diagnóstico<strong>de</strong> sus necesida<strong>de</strong>s <strong>de</strong> aprendizaje, <strong>la</strong>formu<strong>la</strong>ción <strong>de</strong> los objetivos, <strong>la</strong> elección ybúsqueda <strong>de</strong> los recursos humanos y materialespara el aprendizaje, selecciona <strong>la</strong>s estrategiaspara apren<strong>de</strong>r mejor y evalúa los resultadosobtenidos con <strong>la</strong> ayuda <strong>de</strong>l profesor que actúacomo proveedor y recurso <strong>de</strong> este tipo <strong>de</strong>aprendizaje.Una <strong>de</strong> <strong>la</strong>s técnicas <strong>de</strong> aprendizaje autodirigidoes <strong>la</strong> <strong>de</strong> los FRQWUDWRV GH DSUHQGL]DMH. Estatécnica ayuda a organizar <strong>de</strong> forma más eficienteel aprendizaje, induce a los alumnos a ser máscreativos a <strong>la</strong> hora <strong>de</strong> i<strong>de</strong>ntificar los recursos <strong>de</strong>aprendizaje y <strong>de</strong>sarrol<strong>la</strong>r estrategias <strong>de</strong>aprendizaje, y los fuerza a obtener mayoresevi<strong>de</strong>ncias <strong>de</strong> sus logros. A<strong>de</strong>más, se pue<strong>de</strong>utilizar en cualquier área <strong>de</strong> conocimiento. Elcontrato <strong>de</strong> aprendizaje es un medio <strong>de</strong>reconciliar los requerimientos impuestos por <strong>la</strong>sinstituciones y <strong>la</strong> sociedad con <strong>la</strong> necesidad <strong>de</strong>los que apren<strong>de</strong>n <strong>de</strong> realizar dicho proceso <strong>de</strong>forma autodirigida. Esta técnica les permitemezc<strong>la</strong>r estos requerimientos con sus propiosobjetivos personales para elegir sus propioscaminos para lograrlos, y medir su propioprogreso. El contrato <strong>de</strong> aprendizaje hace visiblepor tanto <strong>la</strong>s responsabilida<strong>de</strong>s mutuas <strong>de</strong>lestudiante, el profesor y <strong>la</strong> institución.De esta manera, en una sesión a mediados<strong>de</strong> cuatrimestre, se les propone a los alumnosque formen grupos <strong>de</strong> un máximo <strong>de</strong> 5 personasy se les presenta una serie <strong>de</strong> posibles temaspara los trabajos. Ésta no es una lista cerrada,sino que se les da <strong>la</strong> opción a los alumnos paraque propongan ellos un tema para su trabajo(que los profesores <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong>ben juzgarsi es a<strong>de</strong>cuado o no a <strong>la</strong> temática <strong>de</strong> <strong>la</strong> misma).En <strong>la</strong> presentación <strong>de</strong> los trabajos propuestos seles entrega a los alumnos un documento con unabreve explicación <strong>de</strong> cada uno junto a unapequeña bibliografía.Una vez transcurridas unas 4 semanas<strong>de</strong>s<strong>de</strong> que se <strong>de</strong>cidió <strong>la</strong> composición <strong>de</strong> losgrupos y se repartieron los temas <strong>de</strong> los trabajos,se realiza una sesión en <strong>la</strong> que los grupospresentan un índice preliminar <strong>de</strong>l trabajo arealizar, y discuten con los profesores <strong>de</strong> <strong>la</strong>asignatura el enfoque a dar a dicho trabajo. Enese momento se establece el contrato entre losalumnos y el profesor. En el contrato se <strong>de</strong>be<strong>de</strong>jar c<strong>la</strong>ro los componentes <strong>de</strong>l grupo <strong>de</strong> trabajoy cuáles van a ser los objetivos concretos <strong>de</strong>ltrabajo a realizar (mediante un proceso <strong>de</strong>negociación con el profesor). A<strong>de</strong>más, hay que<strong>de</strong>scribir cómo se p<strong>la</strong>nea obtener esos objetivos,especificando los recursos a utilizar (a lo que elprofesor también pue<strong>de</strong> ayudar).


Por último, <strong>la</strong>/s última/s sesión/es <strong>de</strong> <strong>la</strong>asignatura se <strong>de</strong>dica/n a <strong>la</strong> exposición oral <strong>de</strong> lostrabajos. Para ello, los profesores <strong>de</strong> <strong>la</strong>asignatura <strong>de</strong>ci<strong>de</strong>n in-situ el or<strong>de</strong>n y <strong>la</strong>/spersona/s <strong>de</strong>ntro <strong>de</strong>l grupo que <strong>de</strong>be/n exponerel trabajo.HOJA EVALUACIÓN TRABAJOTítulo:Componentes:M em oria entregada: SI NO / Disco entregado: SI NO&RQFHSWR &RPHQWDULR 1RWD 3HVRCalidad Presentación HTM L 0.05A juste al tem a 0.1Calidad Presentación Oral 0.15Calidad Presentación Trabajo escrito 0.05Calidad Información Contenida 0.1Calidad Estructuración 0.1C<strong>la</strong>ridad en <strong>la</strong>s explicaciones 0.1Bibliografía 0.1Aportaciones Propias 0.15Valoración general 0.1NOTA FINALFigura 2: Hoja <strong>de</strong> Evaluación <strong>de</strong>l Trabajo en grupo.Después <strong>de</strong> cada exposición <strong>la</strong> audienciapue<strong>de</strong> realizar <strong>la</strong>s preguntas que se consi<strong>de</strong>renoportunas.Para evaluar estos trabajos se utiliza unahoja que recoge todos los factores que se tienenen cuenta (figura 2):3UiFWLFDVEl p<strong>la</strong>nteamiento <strong>de</strong> <strong>la</strong>s prácticas en <strong>la</strong>asignatura tiene en cuenta los siguientes puntos:• Dar a conocer una herramienta comoKAPPA, cuyas características resultanbastante novedosas al tipo <strong>de</strong> alumno al queva dirigido.• Que el alumno practique el <strong>de</strong>sarrollo <strong>de</strong>problemas <strong>de</strong> representación cuyaexplicación se ha realizado en teoría.


• Demostrar <strong>la</strong> utilidad y aplicación <strong>de</strong> losconceptos teóricos mediante el <strong>de</strong>sarrollo<strong>de</strong> un problema re<strong>la</strong>tivamente complejocercano a <strong>la</strong> realidad.Figura 3: Página web principal <strong>de</strong> SRPEl programa <strong>de</strong> prácticas <strong>de</strong> <strong>la</strong> asignatura seorganiza en tres gran<strong>de</strong>s bloques <strong>de</strong> sesiones(cada sesión equivale a dos horas <strong>de</strong><strong>la</strong>boratorio):• 1er Bloque: Iniciación a <strong>la</strong> herramientaKAPPA. Sesiones don<strong>de</strong> se preten<strong>de</strong> que e<strong>la</strong>lumno se inicie en el uso <strong>de</strong> dichaherramienta. El objetivo principal <strong>de</strong> estebloque <strong>de</strong> prácticas es que el alumno puedadisponer a través <strong>de</strong> una serie <strong>de</strong> sesiones<strong>de</strong> <strong>la</strong> base necesaria para po<strong>de</strong>r enten<strong>de</strong>r yutilizar KAPPA. Este bloque se estructuracomo si fuese un seminario, don<strong>de</strong> sep<strong>la</strong>ntean ejemplos sencillos y se p<strong>la</strong>ntean a<strong>la</strong>lumno pequeños problemas a resolver, <strong>de</strong>tal forma que se habitúen al empleo <strong>de</strong> <strong>la</strong>herramienta.• 2º Bloque: Desarrollo <strong>de</strong> sistemas <strong>de</strong> marco(frames). En este bloque se p<strong>la</strong>ntea unproblema más complejo al alumno <strong>de</strong>representación <strong>de</strong> información. Mediante elempleo <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> frames visto en


teoría y <strong>la</strong> herramienta KAPPA losalumnos, en grupos <strong>de</strong> máximo dospersonas, <strong>de</strong>ben entregar unaimplementación <strong>de</strong> una estructura <strong>de</strong>frames que <strong>de</strong> solución al problemap<strong>la</strong>nteado. Este bloque es evaluado y <strong>la</strong>nota obtenida cuenta para <strong>la</strong> evaluaciónfinal.• 3er Bloque: Desarrollo <strong>de</strong> un pequeñosistema experto. De forma simi<strong>la</strong>r al bloqueanterior, el alumno <strong>de</strong>be realizar unaimplementación en KAPPA <strong>de</strong> un pequeñosistema experto re<strong>la</strong>cionado con el áreadocumental, <strong>de</strong>sarrol<strong>la</strong>ndo reg<strong>la</strong>s ymétodos que crean oportunos, también seles exige una interfaz gráfica empleando <strong>la</strong>sutilida<strong>de</strong>s que ofrece KAPPA en esteaspecto. Este bloque también es evaluado ysu peso es mayor que el bloque anterior.El motivo <strong>de</strong> emplear KAPPA comoherramienta en el curso es <strong>de</strong>bido a su sencillez<strong>de</strong> uso y a su interfaz gráfico, el cual facilitanotablemente <strong>la</strong> visualización <strong>de</strong> <strong>la</strong>s estructuras<strong>de</strong> frames.5. Página Web <strong>de</strong> SRPLa asignatura SRP tiene disponible unapágina web don<strong>de</strong> el alumno durante el cursodispone <strong>de</strong> toda <strong>la</strong> información necesaria <strong>de</strong> <strong>la</strong>asignatura. A<strong>de</strong>más <strong>la</strong> pagina web dispone <strong>de</strong> unlink don<strong>de</strong> se encuentra un histórico <strong>de</strong> lostrabajos que antiguos alumnos llevaron a caboen cursos anteriores para tener una base <strong>de</strong>referencia para sus trabajos. Esta página tieneuna estructura c<strong>la</strong>ra y or<strong>de</strong>nada con el objetivo<strong>de</strong> que el alumno encuentre <strong>la</strong> información quenecesite, como los contenidos <strong>de</strong> <strong>la</strong> asignaturapor temas, con referencias útiles para cada tema,información <strong>de</strong> los profesores que imparten <strong>la</strong>materia, etc. En <strong>la</strong> Figura 3 se presenta el portal<strong>de</strong> entrada <strong>de</strong> <strong>la</strong> asignatura.6. Futuros CambiosLo expuesto hasta aquí correspon<strong>de</strong> a loscontenidos <strong>de</strong> <strong>la</strong> asignatura para el actual cursoacadémico. Para el siguiente curso se tieneprevisto realizar una serie <strong>de</strong> modificaciones queafectarán básicamente a dos aspectos:• C<strong>la</strong>ses <strong>de</strong> teoría:Está previsto realizar los cambiosoportunos al temario para dar cabida a unaintroducción al DSUHQGL]DMH y al GDWDPLQLQJ.• Prácticas:Aunque el contenido <strong>de</strong> <strong>la</strong> parte teóricaseguirá siendo muy superior al <strong>de</strong> <strong>la</strong> partepráctica, se tratará <strong>de</strong> realizar importantesajustes al contenido <strong>de</strong> esta última parteentre los que <strong>de</strong>stacan el añadir / cambiar <strong>la</strong>herramienta a utilizar, para lo cual se estáestudiando el empleo <strong>de</strong> <strong>la</strong> herramientaZEUS. Ésta es una herramienta creada porBritish Telecom para el <strong>de</strong>sarrollo <strong>de</strong>sistemas multiagente que ya se utiliza parapresentar diversos ejemplos en varios temas<strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría.Bibliografía[Knowles 1975] Knowles, M. S. “Self-DirectedLearning: A Gui<strong>de</strong> for Learners and Teachers”.N. Y. Cambridge Book Company. (1975).[Carrascosa 2001] C. Carrascosa, V.J. Julián, V.Botti. La Inteligencia Artificial en <strong>la</strong>Licenciatura en Documentación. Actas <strong>de</strong>lEncuentro sobre Docencia en InteligenciaArtificial, Gijón. p. 131-138. 2001.


Propuesta para <strong>la</strong> asignatura <strong>de</strong> Introducción a losComputadores <strong>de</strong> <strong>la</strong> ETSII <strong>de</strong> <strong>la</strong> UPVM. Carmen Juan Lizandra José Antonio Gil GómezDept. Sistemas Informáticos y ComputaciónUniversidad Politécnica <strong>de</strong> Valencia46022 Valenciae-mail: mcarmen@dsic.upc.es e-mail: jgil@dsic.upv.esResumenLas asignaturas <strong>de</strong> informática son indispensablesen cualquier titu<strong>la</strong>ción. En <strong>la</strong> Escue<strong>la</strong> TécnicaSuperior <strong>de</strong> Ingenieros Industriales <strong>de</strong> <strong>la</strong>Universidad Politécnica <strong>de</strong> Valencia, se impartenvarias asignaturas <strong>de</strong> informática, <strong>la</strong> más básica esIntroducción a los Computadores. Con el objetivo<strong>de</strong> actualizar sus contenidos, se ha realizado unestudio <strong>de</strong> distintos p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong>universida<strong>de</strong>s extranjeras y españo<strong>la</strong>s yconsi<strong>de</strong>rando este estudio y otros aspectos, se harealizado una propuesta <strong>de</strong> cambio.1. IntroducciónLos conocimientos básicos <strong>de</strong> informática sonindispensables para cualquier titu<strong>la</strong>do y en el caso<strong>de</strong> que estos conocimientos no los hayanadquirido en su formación anterior, como sueleser el caso, en el primer curso <strong>de</strong> carrera <strong>de</strong>beríanadquirirlos. Con este objetivo se imparte <strong>la</strong>asignatura <strong>de</strong> Introducción a los Computadores(ICO) en <strong>la</strong> Escue<strong>la</strong> Técnica Superior <strong>de</strong>Ingenieros Industriales (ETSII).La mayoría <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> IngenieroIndustrial o Ingeniero Técnico Industrial suelenincluir asignaturas básicas <strong>de</strong> informática en susp<strong>la</strong>nes <strong>de</strong> estudio, como troncales, obligatorias,optativas o <strong>de</strong> libre elección. En estas asignaturasse imparten, como su nombre indica,conocimientos básicos <strong>de</strong> informática y en el<strong>la</strong>stambién se suele incluir el estudio <strong>de</strong> algúnlenguaje <strong>de</strong> programación (C, Pascal, etc.). Losconocimientos básicos que se suelen impartir sepodrían agrupar <strong>de</strong>l siguiente modo:1. Conocimientos básicos sobre Software yHardware.2. Conocimientos básicos <strong>de</strong> SistemasOperativos a nivel teórico y en algunos elmanejo <strong>de</strong> alguno <strong>de</strong> ellos.3. Ofimática. Enseñando el manejo <strong>de</strong>:Procesadores <strong>de</strong> texto, Hojas <strong>de</strong> cálculo,Programas <strong>de</strong> presentación, Programas <strong>de</strong>dibujo, Navegadores, Entornos <strong>de</strong>programación.4. Programación. En <strong>la</strong> mayoría <strong>de</strong> los casos seenseña <strong>la</strong> sintaxis <strong>de</strong> un lenguaje <strong>de</strong>programación.En este artículo se presenta el temario actual<strong>de</strong> ICO, un estudio <strong>de</strong> distintos p<strong>la</strong>nes <strong>de</strong> estudios<strong>de</strong> universida<strong>de</strong>s extranjeras y españo<strong>la</strong>s, y sepropone un nuevo temario.2. Temario actual <strong>de</strong> ICOICO es una asignatura optativa, <strong>de</strong> primer curso,primer cuatrimestre, <strong>la</strong> dotación <strong>de</strong> teoría y<strong>la</strong>boratorio es <strong>de</strong> 2 y 1.75 créditos,respectivamente. Su temario es el siguiente:Parte 1: Introducción al Entorno <strong>de</strong>Programación <strong>de</strong> Turbo C++.Parte 2: MS-DOS. Puesta en marcha <strong>de</strong>s<strong>de</strong>Windows. Símbolo <strong>de</strong>l sistema. Formato general<strong>de</strong> una or<strong>de</strong>n. Modificadores. Ór<strong>de</strong>nes másusuales. Comodines. Redirecciones y tubos.Parte 3: Windows. ¿Qué es Windows?. ¿Cómoentrar y salir <strong>de</strong> Windows? (Versión Oficial (PCsnormales). Au<strong>la</strong> Informática <strong>de</strong> <strong>la</strong> ETSII). ElEscritorio. Iconos. Ventanas y Controles (ElPortapapeles. Elementos <strong>de</strong> Windows. ElExplorador <strong>de</strong> Archivos. El Sistema <strong>de</strong> Ayuda.Configuración <strong>de</strong>l Sistema. Utilida<strong>de</strong>s (ScanDisk.Defragmentador. VirusScan. WinZip)).Parte 4: Informática y Or<strong>de</strong>nadores Personales.Informática. El Or<strong>de</strong>nador (HW) (La UnidadCentral <strong>de</strong> Proceso. La Memoria Central.Dispositivos <strong>de</strong> Entrada y Salida). Los Programas(SW) (Creación <strong>de</strong> un programa. Tipos <strong>de</strong>Programas (universales y localizados)).


Parte 5: Conceptos <strong>de</strong> Sistemas Operativos. ¿Quées un Sistema Operativo?. Componentes <strong>de</strong>lSistema. Programas <strong>de</strong>l Sistema. Intérprete <strong>de</strong>Ór<strong>de</strong>nes.Las prácticas actuales son <strong>la</strong>s siguientes:Práctica 1. El IDE <strong>de</strong> Turbo C++. Cuentas yentrada al sistema. Descripción <strong>de</strong>l Au<strong>la</strong> <strong>de</strong>Informática. Puesta en marcha <strong>de</strong> Turbo C++.Ejemplos y ejercicios.Práctica 2. MS-DOS. Puesta en marcha <strong>de</strong> MS-DOS. Ór<strong>de</strong>nes. Ejercicios.Práctica 3. Introducción a Windows 95. Tutorial.El sistema <strong>de</strong> Ayuda. El Explorador <strong>de</strong> Windows.Práctica 4. Configuración <strong>de</strong>l sistema. WordPad.Asociación <strong>de</strong> programas. Configuración <strong>de</strong>lsistema. WordPad. Asociación <strong>de</strong> tipos <strong>de</strong> archivoa programas.Práctica 5. Paint. Utilida<strong>de</strong>s. Paint. WinZip.ScanDisk. VirusScan.Práctica 6. World Wi<strong>de</strong> Web. Internet Explorer.El servidor <strong>de</strong> <strong>la</strong> asignatura. Navegación.3. Estudio <strong>de</strong> p<strong>la</strong>nes <strong>de</strong> estudios <strong>de</strong>asignaturas <strong>de</strong> informática básica enIngeniero IndustrialEn este trabajo se ha realizado un estudiocomparativo <strong>de</strong> <strong>la</strong>s enseñanzas <strong>de</strong> informáticabásica en <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniero Industrial endistintas universida<strong>de</strong>s extranjeras y españo<strong>la</strong>s.Concretamente 3 americanas, 9 europeas y 21españo<strong>la</strong>s. Se han consultado todas <strong>la</strong>suniversida<strong>de</strong>s españo<strong>la</strong>s que disponían <strong>de</strong> páginaWeb. Respecto a <strong>la</strong>s extranjeras, <strong>la</strong> selección hasido aleatoria. De este estudio se ha conseguidoi<strong>de</strong>ntificar cuáles son los conocimientosinformáticos básicos que <strong>de</strong>ben incluirse en <strong>la</strong>formación <strong>de</strong> un Ingeniero Industrial.En primer lugar, se hará una c<strong>la</strong>sificación <strong>de</strong>los contenidos impartidos en dichas asignaturas:(1) Teoría <strong>de</strong> Informática y or<strong>de</strong>nadorespersonales (Software y Hardware)(2) Sistemas Operativos (Windows 95/NT, UNIX,DOS, etc.)(3) Programas básicos (procesadores <strong>de</strong> texto,hojas <strong>de</strong> cálculo, programas <strong>de</strong>presentaciones, programas <strong>de</strong> dibujo,navegadores, entornos <strong>de</strong> programación, etc.)(4) Conceptos básicos <strong>de</strong> programación(paradigmas <strong>de</strong> programación, <strong>de</strong>finición <strong>de</strong>algoritmo y programa, <strong>de</strong>finición <strong>de</strong>traductores e intérpretes, etc.)(5) Conceptos <strong>de</strong> Programación (tipos <strong>de</strong> datossimples, sentencias <strong>de</strong> control, estructuras <strong>de</strong>datos, subprogramas, etc.)(6) Lenguaje <strong>de</strong> Programación (C, Pascal, etc.)Las universida<strong>de</strong>s consultadas han sido:Université <strong>de</strong> Moncton. Canadá; University ofCalifornia, Berkeley. Estados Unidos; CarnegieMellon University. Pittsburgh. Estados Unidos;Technische Universität Braunschweig.Braunschweig. Alemania; L'Ecole NationaleSupérieure <strong>de</strong> Génie Industriel. Francia; EcoleNationale Supérieure d'Ingénieurs Electriciens <strong>de</strong>Grenoble. Francia; Université Paul Sabatier.Francia; University of Bristol. Gran Bretaña;University College London. Londres. GranBretaña; University of Southampton. Highfield,Southampton. Gran Bretaña; Università <strong>de</strong>glistudi di Parma. Facoltà di Ingegneria. Italia;Università di Pisa. Facoltà d'Ingegneria. Italia yLunds Tekniska Högsko<strong>la</strong>. Lunds Universitet.Suecia.Los datos extraídos <strong>de</strong> estas universida<strong>de</strong>s yagrupados por contenidos, se muestran en <strong>la</strong>gráfica 1.Conocimientos impartidos302520N. asignaturas 151055 6 51626 25(1)(2)(3)(4)(5)(6)0Gráfica 1. Conocimientos impartidos en <strong>la</strong>s distintas universida<strong>de</strong>s extranjeras consultadas


De estos datos se <strong>de</strong>duce c<strong>la</strong>ramente que en <strong>la</strong>sasignaturas <strong>de</strong> informática, mayoritariamente, seimparten conocimientos <strong>de</strong> programación y <strong>la</strong>sintaxis <strong>de</strong> un lenguaje <strong>de</strong> programación. Sinembargo, estos conocimientos se imparten en <strong>la</strong>sasignaturas <strong>de</strong> Fundamentos <strong>de</strong> Informática I(FI1) y Fundamentos <strong>de</strong> Informática II (FI2), porlo que los aspectos <strong>de</strong> esta c<strong>la</strong>sificación queafectarían a <strong>la</strong> asignatura objeto <strong>de</strong> estudio, ICO,serían los grupos (1), (2) y (3). Si consi<strong>de</strong>ramos<strong>de</strong>tal<strong>la</strong>damente <strong>la</strong> información resumida en <strong>la</strong>gráfica 1 y únicamente <strong>la</strong>s asignaturas en <strong>la</strong>s quese imparten conocimientos básicos <strong>de</strong> informática,se obtiene <strong>la</strong> tab<strong>la</strong> 1.Universidad Asignatura (1) (2) (3)Université <strong>de</strong> Moncton. Principios <strong>de</strong> programación Hw ConceptosCanadáCarnegie Mellon Workshop sobre habilida<strong>de</strong>s con UNIX Access, Pag. WebUniversity. Pittsburgh. or<strong>de</strong>nadoresExcel, PhotoShopEstados UnidosPowerPointTechnische Universität Ciencia <strong>de</strong> los or<strong>de</strong>nadores en Hw UNIX/ Procesadores TextoBraunschweig.Braunschweig. AlemaniaIngeniería Mecánica (Mech) Sw Windows Bases <strong>de</strong> datosLibrerías SoftwareL'Ecole Nationale Informática: Algorítmica yOfimáticaSupérieure <strong>de</strong> Génie programaciónIndustriel. Francia Lenguajes Orientados a Objetos Conc./UNIXUniversité Paul Sabatier. Informática IFranciaUniversity of Bristol. Estudios profesionales, ElectrónicaGran Bretañae Informática I (Mech)University College InformáticaLondon. Londres. GranBretañaUniversità <strong>de</strong>gli studi di Fundamentos <strong>de</strong> InformáticaParma. Facoltà diIngegneria. ItaliaUniversità di Pisa. Fundamentos <strong>de</strong> InformáticaFacolta` d'Ingeg. ItaliaHwSwHwSwHwSwConceptosConceptosWindowsTab<strong>la</strong> 1. Agrupación por contenidos <strong>de</strong>l estudio en universida<strong>de</strong>s extranjerasAgrupando los datos <strong>de</strong> <strong>la</strong> tab<strong>la</strong> 1, se tiene <strong>la</strong> tab<strong>la</strong> 2.ExcelWordExcelAccessHw Sw Conc. S.O. Uso S.O. OfimáticaN. asigna. 5 4 4 4 5Tab<strong>la</strong> 2. Agrupación por contenidos <strong>de</strong>l estudio <strong>de</strong> <strong>la</strong> tab<strong>la</strong> 1De estos datos se <strong>de</strong>duce que fundamentalmentese imparten conceptos <strong>de</strong> Hardware, Software,<strong>de</strong> Sistemas Operativos, se enseña el uso <strong>de</strong> unSistema Operativo y se enseña ofimática.También se observa que en <strong>la</strong> parte <strong>de</strong> ofimática,se imparte, principalmente, Excel.Por su parte <strong>la</strong>s Universida<strong>de</strong>s Españo<strong>la</strong>sconsultadas son <strong>la</strong>s siguientes: Universidad <strong>de</strong>Cantabria; Universidad Carlos III <strong>de</strong> Madrid;Universidad <strong>de</strong> Castil<strong>la</strong>-La Mancha;Universidad <strong>de</strong> Extremadura; Universidad <strong>de</strong>Girona; Universitat Jaime I; Universidad <strong>de</strong> <strong>la</strong>Rioja; Universidad <strong>de</strong> Las Palmas <strong>de</strong> GranCanaria; Universidad <strong>de</strong> Má<strong>la</strong>ga; U.N.E.D.;Universidad <strong>de</strong> Oviedo; Universidad <strong>de</strong>l PaísVasco; Universitat Politècnica <strong>de</strong> Catalunya.


Barcelona; Universitat Politècnica <strong>de</strong> Catalunya.Terrassa; Universidad Politécnica <strong>de</strong> Madrid;Universidad <strong>de</strong> Sa<strong>la</strong>manca; Universidad <strong>de</strong>Val<strong>la</strong>dolid; Universidad <strong>de</strong> Zaragoza;Universidad Alfonso X el Sabio y Universidad<strong>de</strong> Navarra.En <strong>la</strong> gráfica 2 figuran los valores extraídos<strong>de</strong>l estudio realizado.Conocimientos impartidosN. asignaturas3530252015105015 1562433 33(1)(2)(3)(4)(5)(6)Gráfica 2. Conocimientos impartidos en <strong>la</strong>s distintas universida<strong>de</strong>s españo<strong>la</strong>s consultadasConsi<strong>de</strong>rando únicamente los datos (1)-(3) <strong>de</strong>aquel<strong>la</strong>s asignaturas re<strong>la</strong>cionadas con ICO,como en <strong>la</strong>s Universida<strong>de</strong>s Extranjeras, los datosson los que se muestran en <strong>la</strong> tab<strong>la</strong> 3.Universidad Asignatura (1) (2) (3)Universidad <strong>de</strong> Cantabria Fundamentos <strong>de</strong> Informática HwSwConceptosSistemas Informáticos I UNIX MultimediaBases <strong>de</strong> datosUniversidad Carlos III <strong>de</strong>MadridProgramaciónHwSwUniversidad <strong>de</strong> Castil<strong>la</strong>-La ManchaFundamentos <strong>de</strong> Informática HwSwConceptos/MS-DOSWordPerfect,Harvard Graphics,Mat<strong>la</strong>bUniversidad <strong>de</strong> Fundamentos <strong>de</strong> Informática Hw Conceptos/ExtremaduraWindows 98Universidad <strong>de</strong> Girona Introducción a los Or<strong>de</strong>nadores Hw Conceptos InternetWindows/UNIXUniversitat Jaime I Fundamentos <strong>de</strong> Informática Hw ConceptosSwUniversidad <strong>de</strong> <strong>la</strong> Rioja Fundamentos <strong>de</strong> Informática WindowsUniversidad <strong>de</strong> Las Informática Básica Hw MS-DOS/ Bases <strong>de</strong> datosPalmas <strong>de</strong> Gran CanariaWindows Ofimática, InternetUniversidad <strong>de</strong> Má<strong>la</strong>ga Fundamentos Informáticos Hw WindowsSwUniversidad <strong>de</strong> Oviedo Informática Hw ConceptosOPEN-VMS


Universidad Asignatura (1) (2) (3)Computadores IHwUniversidad <strong>de</strong>l País Fundamentos <strong>de</strong> InformáticaConceptosVascoUniversitat Politècnica <strong>de</strong>Catalunya. TerrassaUniversidad Poliécnica <strong>de</strong>MadridUniversidad <strong>de</strong>Sa<strong>la</strong>mancaInformática BásicaTecn. <strong>de</strong> <strong>la</strong> InformaciónInformática I (Electri)Métodos informáticos(Electri)HwSwHwSwHwSwConceptosMS-DOS/WindowsConceptosMS-DOS/WindowsUniversidad <strong>de</strong> Val<strong>la</strong>dolid Introducción a <strong>la</strong> Informática HwFundamentos <strong>de</strong> InformáticaUNIXUniversidad <strong>de</strong> Navarra Informática 1 HwSwWindowsTab<strong>la</strong> 3. Estudio comparativo sobre <strong>la</strong>s universida<strong>de</strong>s españo<strong>la</strong>s consultadasAgrupando los datos <strong>de</strong> <strong>la</strong> tab<strong>la</strong> 3, se obtiene <strong>la</strong> tab<strong>la</strong> 4.InternetBases <strong>de</strong> datosWordExcelHw Sw Conc. S.O. Uso S.O. OfimáticaN. asigna. 15 9 9 12 6Tab<strong>la</strong> 4. Agrupación por contenidos <strong>de</strong>l estudio <strong>de</strong> <strong>la</strong> tab<strong>la</strong> 3De estos datos se <strong>de</strong>duce que, fundamentalmentese imparten, por or<strong>de</strong>n <strong>de</strong> importancia,conceptos <strong>de</strong> Hardware, se enseña el uso <strong>de</strong> unSistema Operativo, se imparten conceptos <strong>de</strong>Software y <strong>de</strong> Sistemas Operativos y por últimose enseña ofimática.4. Propuesta <strong>de</strong> nuevo temario para ICOComo consecuencia <strong>de</strong> <strong>la</strong> constante evolución<strong>de</strong> <strong>la</strong> informática, <strong>de</strong>l estudio realizado y <strong>de</strong> <strong>la</strong>experiencia adquirida impartiendo el p<strong>la</strong>n <strong>de</strong>estudios actual, se propone un nuevo temariopara estos estudios, más acor<strong>de</strong> con losconocimientos <strong>de</strong> los alumnos a los que vadirigido y mejor adaptado a <strong>la</strong>s necesida<strong>de</strong>s quep<strong>la</strong>ntea en <strong>la</strong> actualidad <strong>la</strong> informática parausuarios.4.1. Objetivos a cubrirLos objetivos p<strong>la</strong>nteados en este nuevo temarioserían simi<strong>la</strong>res a los <strong>de</strong>l anterior pero teniendoen cuenta los factores mencionados.Cuando el alumno acaba satisfactoriamente <strong>la</strong>instrucción será capaz <strong>de</strong>:• Conocer los conceptos mínimos <strong>de</strong>informática que <strong>de</strong>ben poseer los titu<strong>la</strong>dos enuna Ingeniería no informática para po<strong>de</strong>r<strong>de</strong>senvolverse en un or<strong>de</strong>nador personal bajosistemas operativos <strong>de</strong> tipo Windows.• Conocer <strong>de</strong> forma básica <strong>la</strong>s herramientasinformáticas <strong>de</strong> uso común que pue<strong>de</strong>n ser <strong>de</strong>gran utilidad tanto a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong> carreracomo en su futuro profesional.• En<strong>la</strong>zar conocimientos <strong>de</strong> esta asignatura conotras asignaturas informáticas <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción,<strong>de</strong> forma que cump<strong>la</strong> un papel introductorio enel uso <strong>de</strong>l entorno <strong>de</strong> programación.• Conocer el método <strong>de</strong> trabajo en <strong>la</strong>s au<strong>la</strong>sinformáticas.La carga lectiva <strong>de</strong> <strong>la</strong> asignatura, así comoel reparto <strong>de</strong> <strong>la</strong> misma entre <strong>la</strong> parte teórica y <strong>la</strong><strong>de</strong> <strong>la</strong>boratorio, se mantendrá constante, por loque habrá 2 créditos asignados a <strong>la</strong> parte <strong>de</strong>teoría y 1.75 créditos a <strong>la</strong> parte <strong>de</strong> <strong>la</strong>boratorio.


La parte práctica se <strong>de</strong>stina a que el alumnop<strong>la</strong>sme en el <strong>la</strong>boratorio todos aquellosconocimientos que se van a ir introduciendo en<strong>la</strong>s c<strong>la</strong>ses teóricas.En una asignatura como ésta son <strong>la</strong>ssesiones <strong>de</strong> <strong>la</strong>boratorio <strong>la</strong>s que marcan el ritmo<strong>de</strong> impartición <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses teóricas, ya queserán éstas <strong>la</strong>s que sirvan <strong>de</strong> punto <strong>de</strong> entrada a<strong>la</strong>s diferentes prácticas en <strong>la</strong>s que se trabajarácon los conceptos y herramientas introducidos.A<strong>de</strong>más, se <strong>de</strong>be empezar enseñando el manejo<strong>de</strong>l entorno <strong>de</strong> programación que se utiliza enFI1, que es una asignatura, también, <strong>de</strong> primercurso, primer cuatrimestre.4.2. Parte teóricaLa propuesta <strong>de</strong>l nuevo temario en loconcerniente a <strong>la</strong> parte <strong>de</strong> teoría quedaría <strong>de</strong> <strong>la</strong>siguiente forma:Tema 1: Introducción a un entorno <strong>de</strong>programación [2]. En este tema se preten<strong>de</strong>introducir al alumno a los conceptos <strong>de</strong>programa y programación, así como <strong>la</strong>sprincipales características <strong>de</strong> un entorno <strong>de</strong>programación. Estos conceptos separticu<strong>la</strong>rizarán en el entorno <strong>de</strong>l Turbo C++(utilizado en FI1 y FI2).Este tema sería conveniente, en principio,impartirlo una vez se haya introducido con ciertaprofundidad al alumno en el mundo informático,pero es necesario que el alumno conozca estoscontenidos al inicio <strong>de</strong>l curso para po<strong>de</strong>r haceruso <strong>de</strong> los mismos en otras asignaturas que seimparten <strong>de</strong> forma simultánea, como se hacomentado.Tema 2: Componentes Hardware [1].Aquí se ofrecerá al alumno una visión <strong>de</strong> losdiferentes componentes <strong>de</strong> un or<strong>de</strong>nadorpersonal. Esta visión será lo más completaposible <strong>de</strong> cara a conseguir dos objetivos:• Que el alumno sea capaz <strong>de</strong> distinguir losdiferentes periféricos y componentesprincipales con los que se pue<strong>de</strong> encontrar.• Que que<strong>de</strong> c<strong>la</strong>ra <strong>la</strong> estructura <strong>de</strong> <strong>la</strong> UnidadCentral y sus diferentes partes (memoriacentral, unidad central <strong>de</strong> proceso, ...), asícomo su modo <strong>de</strong> funcionamiento engeneral.Dentro <strong>de</strong> este tema se complementará <strong>la</strong>formación <strong>de</strong>l alumnado no sólo con <strong>la</strong>proyección <strong>de</strong> fotografías e imágenes <strong>de</strong> losdiferentes elementos sino que también se leproporcionará muchos <strong>de</strong> estos componenteshardware (<strong>de</strong>s<strong>de</strong> discos duros hastaprocesadores) <strong>de</strong> cara a que se familiarice lomáximo posible con ellos.Tema 3: Sistemas Operativos, Windows ysu explorador [1]. En este tema se comentaránlos conceptos teóricos sobre SistemasOperativos, particu<strong>la</strong>rizando para Windows, y elexplorador. El manejo práctico <strong>de</strong> los mismos seimpartirá en sesiones <strong>de</strong> <strong>la</strong>boratorio.Tema 4: Utilida<strong>de</strong>s [1]. Una vezintroducidos en Windows, se presentarán a losalumnos diferentes utilida<strong>de</strong>s que les podrán ser<strong>de</strong> gran utilidad en su uso diario <strong>de</strong>l or<strong>de</strong>nador.Las utilida<strong>de</strong>s propuestas para ser mostradasserían <strong>la</strong>s siguientes:Utilida<strong>de</strong>s <strong>de</strong> mantenimiento <strong>de</strong>l sistema.Este punto se centrará en herramientas como elScandisk y el Defragmentador, que permitirán alos alumnos <strong>la</strong> revisión y el mantenimiento <strong>de</strong>sus unida<strong>de</strong>s <strong>de</strong> disco.Utilida<strong>de</strong>s <strong>de</strong> compresión. Este apartadoservirá para explicar qué son y en qué consisten<strong>la</strong>s utilida<strong>de</strong>s <strong>de</strong> compresión <strong>de</strong> archivos. Secomentarán <strong>de</strong> forma teórica los aspectos másrelevantes <strong>de</strong> WinZip, <strong>de</strong> nuevo el manejo <strong>de</strong>sus distintas opciones se verá con <strong>de</strong>talle en <strong>la</strong>sprácticas.Utilida<strong>de</strong>s <strong>de</strong> <strong>de</strong>tección <strong>de</strong> virus. Debido algran incremento <strong>de</strong> virus que se produce adiario, así como a <strong>la</strong> facilidad <strong>de</strong> infectarse conlos mismos <strong>de</strong>bido a medios como internet, es<strong>de</strong> gran interés explicar a los alumnos en quéconsisten y cómo funcionan los virus. Se lesindicarán cuáles son <strong>la</strong>s pautas a seguir paraevitar infectarse en <strong>la</strong> medida <strong>de</strong> lo posible, asícomo cuáles son los principales programasexistentes en <strong>la</strong> actualidad para salvaguardarse<strong>de</strong> los virus. Se completará este puntomostrando el manejo <strong>de</strong> una aplicación antivirusen particu<strong>la</strong>r, el VirusScan. También, sepracticará y utilizarán sus distintas opciones enel <strong>la</strong>boratorio.Tema 5: Microsoft Word [3]. En el trabajodiario con los or<strong>de</strong>nadores personales es <strong>de</strong> vitalimportancia el manejo <strong>de</strong> algún procesador <strong>de</strong>textos que permita al usuario <strong>la</strong> redacción ymodificación <strong>de</strong> todo tipo <strong>de</strong> documentos. En <strong>la</strong>actualidad, el procesador <strong>de</strong> textos másextendido es el Microsoft Word, por lo que se ha


optado por este procesador como el candidatoi<strong>de</strong>al a ser enseñado a los alumnos.Se les introducirá por tanto en el manejo <strong>de</strong>esta aplicación partiendo <strong>de</strong> cero y hastaalcanzar un nivel medio que les permita<strong>de</strong>senvolverse sin problemas en <strong>la</strong> e<strong>la</strong>boración<strong>de</strong> documentos que incluyan <strong>de</strong>s<strong>de</strong> texto –concualquier formato- hasta tab<strong>la</strong>s, gráficos eimágenes. De nuevo, se explicarán aspectosteóricos y se practicará con sus distintasopciones en el <strong>la</strong>boratorio.Tema 6: Microsoft Excel [4]. Atendiendoa <strong>la</strong>s necesida<strong>de</strong>s que tendrá en un futuro e<strong>la</strong>lumnado, no es posible <strong>de</strong>scartar <strong>la</strong> enseñanza<strong>de</strong> alguna hoja <strong>de</strong> cálculo, puesto que no hayque olvidar que se trata <strong>de</strong> alumnos que estudianuna Ingeniería, más concretamente IngenieríaIndustrial.Dentro <strong>de</strong> <strong>la</strong>s diferentes hojas <strong>de</strong> cálculoentre <strong>la</strong>s que es posible escoger no cabe dudaque <strong>la</strong> elección <strong>de</strong> Microsoft Excel queda másque justificada por tratarse <strong>de</strong> <strong>la</strong> hoja <strong>de</strong> cálculomás extendida actualmente. Se mostrará a<strong>la</strong>lumnado el funcionamiento <strong>de</strong> esta hoja <strong>de</strong>cálculo, si bien no se enseñará hasta un nivelexcesivamente elevado, pues no hay que olvidarque se trata <strong>de</strong> alumnos no informáticos que nonecesitan en principio profundizarexcesivamente en <strong>de</strong>terminados aspectos <strong>de</strong> estaherramienta. Al igual que en Word, se explicanaspectos teóricos y se utiliza en <strong>la</strong>s prácticas.Tema 7: Software [1]. Dentro <strong>de</strong> estebloque se persigue el proporcionar a los alumnosuna visión general <strong>de</strong> los diferentes tipos <strong>de</strong>aplicaciones que existen en <strong>la</strong> actualidad paradar solución a <strong>la</strong>s distintas necesida<strong>de</strong>s <strong>de</strong> losusuarios. Así pues, se mostrarán varios grupos<strong>de</strong> aplicaciones diferenciados por <strong>la</strong> temáticaque les concierne.Es necesario <strong>de</strong>stacar que será en este temadon<strong>de</strong> se enseñará a los alumnos <strong>la</strong>s diferentesaplicaciones y usos <strong>de</strong>l área <strong>de</strong> Internet. Estaárea es <strong>de</strong> conocimiento indispensable paratodos ellos en su futuro profesional, puesto queactualmente <strong>la</strong> práctica totalidad <strong>de</strong> <strong>la</strong>s gran<strong>de</strong>sempresas poseen acceso a Internet, siendoigualmente consi<strong>de</strong>rable el uso en <strong>la</strong>s PYMES 1españo<strong>la</strong>s. De esta manera, se les hará especialinci<strong>de</strong>ncia en el tema <strong>de</strong> Internet, <strong>de</strong>s<strong>de</strong> <strong>la</strong>navegación por <strong>la</strong> red hasta <strong>la</strong> utilización <strong>de</strong>lcorreo electrónico.4.3. Parte prácticaUna vez se ha proporcionado una visión <strong>de</strong> losdiferentes temas que se tratarán en <strong>la</strong> parteteórica <strong>de</strong> <strong>la</strong> asignatura, se expondrán acontinuación cuales serán <strong>la</strong>s prácticas que seproponen con el fin <strong>de</strong> complementar,profundizar y asentar los conocimientosimpartidos en <strong>la</strong>s c<strong>la</strong>ses teóricas:Práctica 1: Entorno <strong>de</strong>l Turbo C++ [2].Esta práctica, que es <strong>la</strong> consecuencia natural <strong>de</strong>lTema 1 <strong>de</strong> teoría, tiene como objetivo que e<strong>la</strong>lumno comience a manejar <strong>la</strong>s principalesopciones que proporciona el IDE <strong>de</strong>l TurboC++. Hay que seña<strong>la</strong>r que el objetivo perseguidono es en ningún momento que el usuarioaprenda a programar en forma alguna –esto esalgo que escapa al temario <strong>de</strong> <strong>la</strong> presenteasignatura- por lo que para po<strong>de</strong>r probar<strong>de</strong>terminadas opciones <strong>de</strong>l entorno (como <strong>la</strong>compi<strong>la</strong>ción y el linkado) se proporcionará elcódigo necesario.Práctica 2: Windows y su explorador <strong>de</strong>archivos [1][2]. El tema 3 <strong>de</strong> teoría se verácomplementado con esta práctica en <strong>la</strong> que sepreten<strong>de</strong> familiarizar al alumnado con lossistemas operativos Windows. En primer lugarse explicará <strong>la</strong> parte práctica <strong>de</strong> Windows y <strong>de</strong>lexplorador. Al mismo tiempo y conposterioridad a <strong>la</strong> explicación, los alumnospracticarán con los nuevos conocimientos.Una vez se haya terminado esta práctica losalumnos <strong>de</strong>berían ser capaces <strong>de</strong> <strong>de</strong>senvolversesin problemas en Windows, así cómo po<strong>de</strong>rrealizar <strong>la</strong>s operaciones comunes con archivos ycarpetas (copiar, renombrar, crear, ...).Práctica 3: Manejo <strong>de</strong> Microsoft Word[3]. Los conocimientos teóricos impartidos en eltema 5 serán ampliados <strong>de</strong> forma práctica en el<strong>la</strong>boratorio, con <strong>la</strong> explicación <strong>de</strong>l profesor. A lo<strong>la</strong>rgo <strong>de</strong> <strong>la</strong> sesión se p<strong>la</strong>nteará a los alumnos <strong>la</strong>e<strong>la</strong>boración <strong>de</strong> diversos documentos en los queentren en contacto con <strong>la</strong>s distintas opciones <strong>de</strong>Word.1 Según un estudio concluido en enero <strong>de</strong>l 2002 por <strong>la</strong>consultora DMR Consulting en 3.500 compañíasespaño<strong>la</strong>s con una p<strong>la</strong>ntil<strong>la</strong> máxima <strong>de</strong> 250 empleadosel 62% <strong>de</strong> <strong>la</strong>s mismas disponía <strong>de</strong> acceso a Internet


Así pues, una vez completada <strong>la</strong> práctica,los alumnos estarán en disposición <strong>de</strong> e<strong>la</strong>borardocumentos con Microsoft Word, sin importarlos formatos que necesiten, ni si hay que insertarelementos tales como tab<strong>la</strong>s e imágenes.Práctica 4: Manejo <strong>de</strong> Microsoft Excel[4]. Con esta práctica se buscan dos objetivosprincipales: por un <strong>la</strong>do que los alumnosaprendan a <strong>de</strong>senvolverse, al menos a un nivelbásico, con el Microsoft Excel (visto en el tema6 <strong>de</strong> teoría y ampliado <strong>de</strong> forma práctica en estasesión), y por otro que sean capaces <strong>de</strong> trasvasarinformación entre Microsoft Excel y MicrosoftWord.De esta forma se p<strong>la</strong>ntearán, por un <strong>la</strong>do,una serie <strong>de</strong> ejercicios <strong>de</strong>stinadosespecíficamente a practicar con Excel, y por otro<strong>la</strong>do, otros ejercicios en los que el alumno<strong>de</strong>berá combinar <strong>la</strong> utilización <strong>de</strong> Excel y Wordpara po<strong>de</strong>r alcanzar los objetivos pedidos.Práctica 5: Utilida<strong>de</strong>s <strong>de</strong> uso general[1][2]. Esta sesión esta pensada para que losalumnos puedan practicar el uso <strong>de</strong> <strong>la</strong>saplicaciones introducidas a lo <strong>la</strong>rgo <strong>de</strong>l tema 4<strong>de</strong> teoría y ampliados <strong>de</strong> forma práctica en el<strong>la</strong>boratorio. Uno <strong>de</strong> los objetivos principales quese perseguirá será que el alumno sea capaz <strong>de</strong>comprimir y <strong>de</strong>scomprimir ficheros sinproblemas, probando <strong>la</strong>s diferentes opciones queWinZip ofrece. Como complemento se preten<strong>de</strong>también que los alumnos utilicen VirusScanpara <strong>de</strong>tectar posibles infecciones en grupos <strong>de</strong>ficheros entre los que se habrán colocadoalgunos que harán que el antivirus indique queestán infectados.Práctica 6: Internet y correo electrónico[1][2]. Dada <strong>la</strong> gran importancia actual <strong>de</strong>Internet, ya reseñada al exponer el tema 7 <strong>de</strong>teoría, es necesario p<strong>la</strong>ntear una práctica <strong>de</strong> caraa que los alumnos sean capaces <strong>de</strong> habituarse a<strong>la</strong> navegación por Internet y al manejo <strong>de</strong>lcorreo electrónico. Entre los diferentesejercicios que se les propondrán se incluirá eluso <strong>de</strong> buscadores y <strong>de</strong> diferentes portales parapo<strong>de</strong>r conseguir los objetivos p<strong>la</strong>nteados en losejercicios.Práctica 7: PhotoShop [5]. Si bien el temacentral <strong>de</strong> esta práctica no está directamentere<strong>la</strong>cionado con ningún tema <strong>de</strong> teoría enparticu<strong>la</strong>r, el aprendizaje <strong>de</strong> una utilidad para <strong>la</strong>modificación <strong>de</strong> imágenes como es PhotoShopintroducirá a los alumnos en <strong>la</strong>s aplicaciones <strong>de</strong>retoque y manejo <strong>de</strong> imágenes en general, a <strong>la</strong>vez que servirá para darles mayor seguridad enel uso general <strong>de</strong>l or<strong>de</strong>nador. Dentro <strong>de</strong> estapráctica se en<strong>la</strong>zará con otras aplicaciones,como pue<strong>de</strong> ser Microsoft Word, <strong>de</strong> forma quese refuerce el conocimiento <strong>de</strong> <strong>la</strong>s mismas enoperaciones como <strong>la</strong> inserción <strong>de</strong> imágenes endocumentos.5. ConclusiónEn este artículo se ha presentado <strong>la</strong> situaciónactual <strong>de</strong> ICO en <strong>la</strong> ETSII, se han estudiadodistintos p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> universida<strong>de</strong>sextranjeras y españo<strong>la</strong>s y se ha realizado unapropuesta <strong>de</strong> cambio. Se han <strong>de</strong>scrito losobjetivos que se consi<strong>de</strong>ran más a<strong>de</strong>cuados y sehan <strong>de</strong>sarrol<strong>la</strong>do los contenidos que mejor seajustan a dichos objetivos.Referencias[1] García, J.R., Juan, M.C., Informática yor<strong>de</strong>nadores personales para noespecialistas. Servicio <strong>de</strong> Publicaciones <strong>de</strong><strong>la</strong> UPV. Ref. 97-580, 1997[2] Juan, M.C., García, J.R., Introducción a losComputadores. Material Complementario,Servicio <strong>de</strong> Publicaciones <strong>de</strong> <strong>la</strong> UPV. Ref.2000-248, 2000[3] García, J., Rodríguez, J.I., Brazales, A.,Funes, P., Fernán<strong>de</strong>z, J., Carrasco, E.,Aprenda Microsoft Word 97 como siestuviera en primero, ESII <strong>de</strong> <strong>la</strong> Universidad<strong>de</strong> Navarra, http://www1.ceit.es/asignaturas/informat1/AyudaInf/AprendaInf/Word97/Word97.pdf[4] García, J., Rodríguez, J.I., Brazales, A.,Funes, P., Fernán<strong>de</strong>z, J., Aprenda MicrosoftExcel 97 como si estuviera en primero, ESII<strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Navarra,http://www1.ceit.es/asignaturas/informat1/AyudaInf/AprendaInf/Excel97/Excel97.pdf[5] Quirós, E., Quirós, S., Photoshop 5.5práctico: guía <strong>de</strong> aprendizaje, Ed. McGraw-Hill/Interamericana <strong>de</strong>España, D.L., 2000


Ingeniería <strong>de</strong>l Software


María José García, Pedro Lara, Luis Fernán<strong>de</strong>zAlberto DíazDept. <strong>de</strong> Programación e Ingeniería <strong>de</strong>l Software Ing. Técnica en Informática <strong>de</strong> SistemasUniversidad Europea CEESCentro <strong>de</strong> Estrudios Superiores Felipe II- UCM28670 Vil<strong>la</strong>viciosa <strong>de</strong> Odón 28300 Aranjueze-mail:{pepa, pedro,lufern}@dpris.esi.uem.ese-mail: adiaz@cesfelipesegundo.comLa metodología aplicada en el primer Laboratorio<strong>de</strong> Programación al que se enfrentan los alumnos<strong>de</strong> una carrera <strong>de</strong> Ingeniería (o Ingeniería Técnica)en Informática es <strong>de</strong>terminante para establecer enellos unos buenos hábitos ante <strong>la</strong> programación.En esta ponencia se presenta <strong>la</strong> solución adoptadaen <strong>la</strong> Escue<strong>la</strong> <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> UniversidadEuropea CEES. El enfoque elegido preten<strong>de</strong> aunar<strong>la</strong> enseñanza <strong>de</strong> los fundamentos <strong>de</strong> <strong>la</strong>programación y <strong>la</strong> introducción <strong>de</strong> conceptosbásicos <strong>de</strong> ingeniería <strong>de</strong>l software para el<strong>de</strong>sarrollo <strong>de</strong> aplicaciones. También se exponenlos criterios <strong>de</strong> evaluación aplicados, así como <strong>la</strong>forma <strong>de</strong> coordinar y gestionar los grupos, a fin <strong>de</strong>utilizar en todos ellos unos criterios homogéneos.Laboratorio <strong>de</strong> Programación I es una asignaturaobligatoria primer curso para <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong>Ingeniería Informática, Ingeniería Técnica enInformática <strong>de</strong> Gestión e Ingeniería Técnica enInformática <strong>de</strong> Sistemas. Esta asignatura cuentacon una <strong>de</strong>dicación <strong>de</strong> 6 créditos prácticos duranteel segundo cuatrimestre.Contando <strong>de</strong>s<strong>de</strong> <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l primercurso <strong>de</strong> los anteriores p<strong>la</strong>nes <strong>de</strong> estudios, elLaboratorio <strong>de</strong> Programación I llevaimpartiéndose ya siete años en <strong>la</strong> Escue<strong>la</strong> Superior<strong>de</strong> Informática. Cada curso han ido surgiendodiversos problemas <strong>de</strong>bidos a <strong>la</strong> propiaidiosincrasia <strong>de</strong> <strong>la</strong> asignatura y a su caráctereminentemente práctico.Por un <strong>la</strong>do, se ha <strong>de</strong>cidido utilizar unametodología que está basada en los fundamentos<strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong>l Software, <strong>de</strong> tal forma que seorienta al alumno hacia una forma completa <strong>de</strong>solucionar los problemas, en lugar <strong>de</strong> centrarsesólo en <strong>la</strong> tarea <strong>de</strong> <strong>la</strong> implementación en un<strong>de</strong>terminado lenguaje <strong>de</strong> programación. Así seen<strong>la</strong>zaría con <strong>la</strong>s posteriores asignatruasPor otra parte, puesto que ésta es <strong>la</strong> primeraasignatura en <strong>la</strong> que los alumnos <strong>de</strong>ben construiruna solución software completa a un problemadado, se consi<strong>de</strong>ra fundamental el trabajoindividual. Esto implica <strong>la</strong> necesidad <strong>de</strong> distribuira los alumnos en grupos <strong>de</strong> manera que cadaalumno pueda, durante <strong>la</strong>s horas <strong>de</strong> c<strong>la</strong>se, trabajarcon un or<strong>de</strong>nador. A<strong>de</strong>más los grupos reducidospermiten un mejor seguimiento <strong>de</strong> <strong>la</strong> evolución <strong>de</strong>los alumnos. En nuestro caso los <strong>la</strong>boratoriosestán dotados con 30 equipos, por lo que <strong>la</strong>medida que se suele adoptar es <strong>la</strong> distribución engrupos <strong>de</strong> entre 20 y 25 alumnos, cada uno <strong>de</strong>ellos con un horario y un profesor distinto.El problema entonces es doble: hay que<strong>de</strong>cidir cómo adoptar el enfoque <strong>de</strong> <strong>la</strong> ingeniería<strong>de</strong>l software con alumnos que se enfrentan porprimera vez con <strong>la</strong> implementacion <strong>de</strong> solucionesen el or<strong>de</strong>nador y a<strong>de</strong>más coordinar a todos losprofesores <strong>de</strong> manera que se sigan unas pautas <strong>de</strong>actuación unificadas (a fin <strong>de</strong> ser lo másecuánimes posibles y <strong>de</strong> evitar diferencias entrelos grupos).Este curso 2001-2002 el problema se haincrementado puesto que son ya trece los gruposque se han tenido que formar.A<strong>de</strong>más es importante guardar una absolutacoherencia entre los contenidos y criterios <strong>de</strong> estaasignatura y <strong>la</strong> <strong>de</strong> Introducción a <strong>la</strong> Programación,tambien <strong>de</strong> primer curso y que tiene caráctertroncal y anual, prevista como imp<strong>la</strong>ntación en elp<strong>la</strong>n <strong>de</strong> estudios como imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong>troncalidad <strong>de</strong> Metodología y Tecnología <strong>de</strong> <strong>la</strong>


Programación. Su objetivo es proporcionar loscontenidos más teóricos sobre programación quese aplicarán <strong>de</strong>spués en el Laboratorio <strong>de</strong>Programación I.Otro factor que influye en <strong>la</strong> necesidad <strong>de</strong>establecer <strong>de</strong> una manera c<strong>la</strong>ra los parámetros <strong>de</strong><strong>la</strong> asignatura es <strong>la</strong> heterogeneidad <strong>de</strong> losprofesores. Muchos <strong>de</strong> ellos es <strong>la</strong> primera vez queimparten esta asignatura, por lo que es importantepo<strong>de</strong>r proporcionarles a principio <strong>de</strong> curso unasguías <strong>de</strong> actuación:• Es necesario realizar una p<strong>la</strong>nificación previa<strong>de</strong> <strong>la</strong> asignatura, incluyendo enunciados,diseños, conjunto <strong>de</strong> pruebas y fechas <strong>de</strong>entrega <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s prácticas.• También es fundamental establecer unoscriterios <strong>de</strong> evaluación c<strong>la</strong>ros y únicos.• Para conseguir evitar incoherencias entre losdiversos grupos y también para <strong>de</strong>tectar <strong>la</strong>sposibles copias <strong>de</strong> prácticas entre alumnos <strong>de</strong>distintos profesores <strong>de</strong>ben existirmecanismos <strong>de</strong> coordinación y comunicaciónentre los profesores <strong>de</strong> <strong>la</strong> asignatura.• Del mismo modo se tiene que facilitar el flujo<strong>de</strong> información alumno ↔ profesor.El enfoque adoptado para <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>programación asume <strong>la</strong> conveniencia <strong>de</strong> enseñarprimero los principios básicos <strong>de</strong> <strong>la</strong> programaciónprocedimental y estructurada (frente a quienesprefieren comenzar directamente con <strong>la</strong>orientación a objetos). La elección <strong>de</strong>l lenguajeAda no es casual ya que se pensó en un lenguajeque permita programación procedimentalre<strong>la</strong>tivamente natural. Pero que, a <strong>la</strong> vez (frente alenguajes como Pascal) permita una transicióninteresante hacia <strong>la</strong> enseñanza <strong>de</strong> tipos abstractos<strong>de</strong> datos (en <strong>la</strong> asignatura <strong>de</strong> segundo curso <strong>de</strong>Estructuras <strong>de</strong> Datos y <strong>de</strong> <strong>la</strong> Información <strong>de</strong>nuestros p<strong>la</strong>nes <strong>de</strong> estudios) o hacia <strong>la</strong> orientacióna objetos (para asignaturas como ProgramaciónOrientada a Objetos).Por otra parte, <strong>la</strong> introducción <strong>de</strong> losconceptos tradicionales <strong>de</strong> Ingeniería <strong>de</strong>l Softwareen una asignatura <strong>de</strong> primer curso permite a losalumnos tener una base sobre <strong>la</strong> que cimentarposteriormente los conocimientos que adquiriránen <strong>la</strong>s asignaturas plenamente <strong>de</strong>dicadas a estamateria que se imparten en cursos superiores (dosasignaturas <strong>de</strong> carácter troncal y una obligatoriaque suponen un total <strong>de</strong> 24 créditos paraIngeniería <strong>de</strong>l Software en <strong>la</strong> carrera <strong>de</strong> IngenieríaInformática, 12 créditos (6 troncales y 6obligatorios) en Ingeniería Técnica en Informática<strong>de</strong> Gestión y otros 6 créditos obligatorios enIngeniería Técnica en Informática <strong>de</strong> Sistemas).Como herramientas <strong>de</strong> trabajo los alumnosdisponen en los <strong>la</strong>boratorios <strong>de</strong> máquinas PCpentium 300 MHz. Las prácticas se realizan en ellenguaje <strong>de</strong> programación ADA, por lo tanto encada computadora está insta<strong>la</strong>do un compi<strong>la</strong>dor(GNAT: GNU Ada Trans<strong>la</strong>tor), un <strong>de</strong>purador(GDB: GNU Debugger), y los manuales <strong>de</strong>referencia <strong>de</strong>l lenguaje (incluyendo el estándarISO correspondiente [3] y libros típicos como [1]y [5]). Se trabaja también con el editor <strong>de</strong><strong>de</strong>sarrollo pcGRASP (Graphical Representationsof Algorithms, Structures, and Proceses) y <strong>la</strong>saplicaciones ofimáticas WORD 98 y Powerpointpara <strong>la</strong> documentación (memoria) <strong>de</strong> <strong>la</strong>s prácticas.También disponen <strong>de</strong> <strong>la</strong> herramienta MicrosoftVISIO para dibujar los diagramas <strong>de</strong> estructuras.Para <strong>la</strong> elección <strong>de</strong>l compi<strong>la</strong>dor, <strong>de</strong>purador yeditor que se utilizan en <strong>la</strong> asignatura se ha tenidoen cuenta <strong>la</strong> necesidad <strong>de</strong> que los alumnos puedanseguir trabajando en <strong>la</strong>s prácticas fuera <strong>de</strong>l horariolectivo. Por lo tanto se han seleccionadoherramientas potentes pero <strong>de</strong> libre distribuciónque se ponen a disposición <strong>de</strong> los alumnos a través<strong>de</strong> FTP anónimo. También a través <strong>de</strong>l FTPanónimo y <strong>la</strong> página <strong>de</strong> <strong>la</strong> asignatura se entrega alos alumnos, en el momento oportuno, <strong>la</strong>documentación para <strong>la</strong> realización <strong>de</strong> cadapráctica.A lo <strong>la</strong>rgo <strong>de</strong>l proceso <strong>de</strong> evaluación <strong>de</strong> losprogramas entregados por los estudiantes han <strong>de</strong>realizarse toda una serie <strong>de</strong> activida<strong>de</strong>s que engran parte se convierten en una <strong>la</strong>bor tediosa yrepetitiva. Entre estas activida<strong>de</strong>s <strong>de</strong>stacanfundamentalmente <strong>la</strong>s siguientes: validación <strong>de</strong>l


ajuste <strong>de</strong>l código entregado al diseño realizado en<strong>la</strong>s fases previas, <strong>de</strong>tección <strong>de</strong> errores graves en elcódigo y búsqueda <strong>de</strong> p<strong>la</strong>gios o copias más omenos evi<strong>de</strong>ntes.En un intento <strong>de</strong> reducir el tiempo <strong>de</strong>dicado aestas <strong>la</strong>bores surgió <strong>la</strong> necesidad <strong>de</strong> llevar a caboun proyecto <strong>de</strong> <strong>de</strong>sarrollo que facilitase,automatizase e incluso eliminase en algunos casoscualquier acción manual por parte <strong>de</strong>l docente enre<strong>la</strong>ción con los procesos citados anteriormente,particu<strong>la</strong>rizado para algunas características <strong>de</strong>Ada.Actualmente, dicho proyecto ha dado comofruto un primer entorno piloto que cubre parte <strong>de</strong><strong>la</strong> funcionalidad prevista <strong>de</strong>tectando errores enimplementaciones no coinci<strong>de</strong>ntes con los diseñosentregados (genera un esquema <strong>de</strong>l diseñoarquitectónico que se ha implementadoincluyendo <strong>la</strong> mo<strong>de</strong>lización <strong>de</strong> los bucles ynúmero <strong>de</strong> l<strong>la</strong>madas a los módulos), encontrandoy mostrando errores graves <strong>de</strong> codificación(utilización ina<strong>de</strong>cuada <strong>de</strong> <strong>la</strong>s variables) yanalizando los datos obtenidos <strong>de</strong> <strong>la</strong>scomparaciones cruzadas <strong>de</strong> varios ficheros fuenteen busca <strong>de</strong> indicadores <strong>de</strong> p<strong>la</strong>gio ([2] y [4]). Enparticu<strong>la</strong>r muestra estadísticas sobre líneasiguales/modificadas/añadidas/borradas, y sobrei<strong>de</strong>ntificadores iguales/modificados).A<strong>de</strong>más este entorno permite <strong>la</strong> compi<strong>la</strong>ción yejecución <strong>de</strong> cada uno <strong>de</strong> los ficheros fuenteutilizando <strong>la</strong> entrada/salida estándar o redirigiendoestas a ficheros para unificar <strong>la</strong>s pruebasrealizadas por el profesor y comprobar el ajustecon <strong>la</strong>s especificaciones.Como herramienta <strong>de</strong> apoyo en <strong>la</strong> corrección<strong>de</strong> <strong>la</strong>s prácticas se utiliza a<strong>de</strong>más un analizador <strong>de</strong>código <strong>de</strong>sarrol<strong>la</strong>do como proyecto fin <strong>de</strong> carrerapor un alumno <strong>de</strong> <strong>la</strong> Escue<strong>la</strong>. Este analizadorpermite realizar tanto análisis estático comodinámico <strong>de</strong> un <strong>de</strong>terminado código, mostrandotanto grafos <strong>de</strong> l<strong>la</strong>madas como <strong>de</strong> flujo, así comoel valor <strong>de</strong> una serie <strong>de</strong> métricas <strong>de</strong>finidas por elprofesor.Puesto que el número <strong>de</strong> profesores que imparten<strong>la</strong> asignatura es bastante elevado, se ha creado <strong>la</strong>figura <strong>de</strong> “coordinadores <strong>de</strong> <strong>la</strong>boratorio”,encargados <strong>de</strong> tomar ciertas <strong>de</strong>cisiones básicascomo son <strong>la</strong> elección <strong>de</strong> enunciados <strong>de</strong> <strong>la</strong>sprácticas <strong>de</strong> <strong>la</strong>s fechas <strong>de</strong> entrega <strong>de</strong> <strong>la</strong>s mismas, yel establecimiento <strong>de</strong> unas normas comunes ycriterios <strong>de</strong> evaluación uniformes. No obstante, seutiliza una lista <strong>de</strong> distribución en <strong>la</strong> que estánincluidos todos los profesores <strong>de</strong> <strong>la</strong>boratorio asícomo los coordinadores <strong>de</strong> <strong>la</strong> asignatura. De estamanera se facilita <strong>la</strong> comunicación entre todos,pudiéndose comentar <strong>la</strong>s posibles modificacioneso ac<strong>la</strong>raciones que, sobre cada práctica, realicecada profesor con sus alumnos. Esto permite unamáxima coherencia sin necesidad <strong>de</strong> costosasreuniones, poco factibles <strong>de</strong>bido a <strong>la</strong> diversidad <strong>de</strong>horarios <strong>de</strong> los profesores. Como para <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s asignaturasimpartidas en <strong>la</strong> Escue<strong>la</strong> <strong>de</strong> Informática <strong>de</strong> <strong>la</strong>Universidad Europea CEES, existe una páginaweb en <strong>la</strong> que <strong>de</strong> manera unificada todos losalumnos pue<strong>de</strong>n recoger información general. Eneste caso en el<strong>la</strong> recogemos los objetivosgenerales <strong>de</strong> <strong>la</strong> asignatura, el sistema <strong>de</strong>evaluación, información sobre grupos, profesoresy au<strong>la</strong>s y normas generales para <strong>la</strong> realización <strong>de</strong><strong>la</strong>s prácticas.A<strong>de</strong>más se proporciona un en<strong>la</strong>ce alrepositorio <strong>de</strong> documentos <strong>de</strong> <strong>la</strong> asignatura en elque, a<strong>de</strong>más <strong>de</strong> una p<strong>la</strong>ntil<strong>la</strong> para <strong>la</strong> entrega <strong>de</strong> <strong>la</strong>memoria, se incluye a medida que avanza el cursoinformación específica sobre cada práctica:objetivo, enunciado y fechas <strong>de</strong> entrega <strong>de</strong> cadafase. En el momento a<strong>de</strong>cuado, es también allídon<strong>de</strong> se pone a disposición <strong>de</strong> los alumnos eldiseño arquitectónico en el que tienen que basarsu implementación. Para unificar el modo <strong>de</strong> entrega <strong>de</strong> <strong>la</strong>s prácticaseliminando en lo posible el trasiego <strong>de</strong> papeles ydisquetes se ha construido una aplicación a <strong>la</strong> quese acce<strong>de</strong> a partir <strong>de</strong> <strong>la</strong> página web <strong>de</strong> <strong>la</strong>asignatura. Mediante un pequeño formu<strong>la</strong>rio queel alumno <strong>de</strong>be rellenar, y que le permite adjuntarlos ficheros necesarios, <strong>la</strong>s prácticas son enviadas


por correo electrónico a cada profesor,guardándose registro <strong>de</strong>l momento exacto <strong>de</strong>entrega. Uno <strong>de</strong> los objetivos <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong><strong>la</strong>boratorio <strong>de</strong> programación I, aparte <strong>de</strong> <strong>la</strong>enseñanza <strong>de</strong> los fundamentos <strong>de</strong> <strong>la</strong>programación, consiste en inculcar en los alumnosel uso <strong>de</strong> un enfoque <strong>de</strong> ingeniería <strong>de</strong>l softwarepara el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones. Durante <strong>la</strong>asignatura <strong>de</strong> Introducción a <strong>la</strong> Programación yahan adquirido los conocimientos necesarios sobreéstas técnicas, en particu<strong>la</strong>r, para <strong>la</strong> fase <strong>de</strong> diseñose les ha enseñado <strong>la</strong> metodología <strong>de</strong> losrefinamientos sucesivos, y también <strong>la</strong>s diferentesestrategias algorítmicas básicas [6]. Es también enesa asignatura don<strong>de</strong> se les presenta <strong>la</strong> sintaxis <strong>de</strong>llenguaje ADA, que es en el que se implementarán<strong>la</strong>s soluciones a los problemas propuestos en el<strong>la</strong>boratorio.Durante <strong>la</strong> primera semana <strong>de</strong> <strong>la</strong>boratorio sepone en contacto al alumno con el entorno que vaa encontrar en <strong>la</strong> asignatura:En <strong>la</strong> primera c<strong>la</strong>se se explica a los alumnos <strong>la</strong>dinámica <strong>de</strong>l <strong>la</strong>boratorio, número y tipo <strong>de</strong>prácticas, metodología y criterios <strong>de</strong> evaluación.En <strong>la</strong> segunda c<strong>la</strong>se se realiza <strong>la</strong> primera toma<strong>de</strong> contacto con el <strong>la</strong>boratorio. En esta c<strong>la</strong>se se leentrega a cada alumno un enunciado y un esbozo<strong>de</strong> <strong>la</strong> implementación <strong>de</strong> una práctica sencil<strong>la</strong>parecida a algún ejercicio resuelto previamente en<strong>la</strong> asignatura <strong>de</strong> Introducción a <strong>la</strong> Programación.Se trata <strong>de</strong> que el alumno se familiarice con elentorno <strong>de</strong> programación que va a utilizar a lo<strong>la</strong>rgo <strong>de</strong>l curso, completando <strong>la</strong> codificación quese le entrega; adicionalmente <strong>de</strong>be <strong>de</strong>purar elprograma ejemplo, <strong>de</strong>tectando y eliminandodiferentes errores introducidos en el código:errores <strong>de</strong> compi<strong>la</strong>ción, mal funcionamiento yutilización ina<strong>de</strong>cuada <strong>de</strong> variables (errores <strong>de</strong>ámbito).A partir <strong>de</strong> <strong>la</strong> segunda semana empieza <strong>la</strong>realización <strong>de</strong>l resto <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong>s queconsta <strong>la</strong> asignatura. Cada una <strong>de</strong> el<strong>la</strong>s estácentrada en <strong>la</strong> utilización <strong>de</strong> alguno <strong>de</strong> loselementos <strong>de</strong> programación introducidos en <strong>la</strong>asignatura <strong>de</strong> teoría. La primera se <strong>de</strong>dica a <strong>la</strong>abstracción procedimental, <strong>la</strong> segunda a <strong>la</strong>selección, <strong>la</strong> repetición y los archivos <strong>de</strong> texto, <strong>la</strong>tercera al uso <strong>de</strong> tipos <strong>de</strong>finidos por el usuariosencillos (enumerados, subrangos y arrayssimples), <strong>la</strong> cuarta a <strong>la</strong> utilización <strong>de</strong> arrays yregistros, y <strong>la</strong> última, a archivos binarios ymemoria dinámica.La realización <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s prácticasconsistirá en <strong>de</strong>sarrol<strong>la</strong>r cada una <strong>de</strong> <strong>la</strong>s fases <strong>de</strong>lciclo <strong>de</strong> vida clásico: análisis, diseño,implementación y prueba, siguiendo <strong>la</strong>metodología que se <strong>de</strong>scribe a continuación.La se realizará el primer día <strong>de</strong>c<strong>la</strong>se <strong>de</strong> cada práctica (normalmente lunes), cadagrupo con su profesor. El enunciado se pone adisposición <strong>de</strong> los alumnos el viernes anterior através <strong>de</strong>l ftp anónimo, <strong>de</strong> manera que han tenidotiempo <strong>de</strong> revisarlo previamente. Se repasa elenunciado, se discuten posibles ambigüeda<strong>de</strong>s yse llega a unas especificaciones c<strong>la</strong>ras y concisassobre lo que hay que hacer.La consiste en <strong>la</strong> e<strong>la</strong>boración <strong>de</strong>ldiseño <strong>de</strong> datos, arquitectónico y procedimental y<strong>de</strong> <strong>la</strong> colección <strong>de</strong> pruebas a realizar. Los diseñosse realizan siguiendo <strong>la</strong> filosofía <strong>de</strong> <strong>la</strong>programación estructurada y el método <strong>de</strong> losrefinamientos sucesivos.• Diseño <strong>de</strong> datos: <strong>de</strong>berá seguir <strong>la</strong> notaciónEBNF.• Diseño arquitectónico: se presentará undiagrama <strong>de</strong> estructuras completo según <strong>la</strong>notación clásica [7].• Diseño procedimental: tendrá que reflejar, almenos, el pseudocódigo <strong>de</strong>l programaprincipal y <strong>de</strong> los procedimientos <strong>de</strong> ciertacomplejidad.Una vez que los alumnos hayan entregado <strong>la</strong>documentación asociada a esta fase, el profesorentregará un mo<strong>de</strong>lo <strong>de</strong> diseño <strong>de</strong> datos yarquitectónico aproximado (sin especificarexactamente el flujo <strong>de</strong> datos entre los módulos)junto con el interfaz (formato <strong>de</strong> presentación <strong>de</strong>los datos <strong>de</strong> entrada y salida). Este mo<strong>de</strong>lo es el


que <strong>de</strong>berán seguir los alumnos en <strong>la</strong>s siguientesfases. De nuevo, para evitar papeles innecesarios,el mo<strong>de</strong>lo <strong>de</strong> diseño se pone a disposición <strong>de</strong> losalumnos en el ftp anónimo <strong>de</strong> <strong>la</strong> asignatura.La será <strong>la</strong> traducción <strong>de</strong>lmo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> fase <strong>de</strong> diseño entregado por elprofesor al lenguaje Ada, corrigiendo errores conel compi<strong>la</strong>dor, y ajustándose al interfaz indicado.La razón para que codifiquen a partir <strong>de</strong>ldiseño <strong>de</strong>l profesor y no <strong>de</strong>l suyo propio es evitarque realicen <strong>la</strong> implementación y <strong>de</strong>spués ajustenel diseño a esa codificación (se ha observado queesto es lo que hacían algunos alumnos en añosanteriores, <strong>de</strong> modo que se ponían a codificar sin<strong>de</strong>tenerse a p<strong>la</strong>nificar primero un diseñoa<strong>de</strong>cuado)Para facilitar a los profesores <strong>la</strong> <strong>la</strong>bor <strong>de</strong>corrección, <strong>de</strong> modo que les sea más sencilloi<strong>de</strong>ntificar los diferentes elementos <strong>de</strong>l código, losalumnos seguirán <strong>la</strong> siguiente normativa <strong>de</strong>codificación:• Al inicio <strong>de</strong>l código, en <strong>la</strong>s primeras líneas <strong>de</strong>lfichero adb, se incluirán los datos <strong>de</strong>l autor(Nombre, nº <strong>de</strong> expediente, grupo, fecha <strong>de</strong>inicio <strong>de</strong> <strong>la</strong> práctica)• Todos los módulos <strong>de</strong>berán estar comentados(¿qué hacen? ¿cómo?), sobre todo aquel<strong>la</strong>scosas especialmente complicadas.• Notación para los i<strong>de</strong>ntificadores:1. I<strong>de</strong>ntificadores compuestos: separadospor guión_bajo2. Constantes: todo el i<strong>de</strong>ntificador enmayúscu<strong>la</strong>s3. Variables: empiezan por minúscu<strong>la</strong>s,resto en minúscu<strong>la</strong>s4. Funciones o procedimientos: empiezanpor mayúscu<strong>la</strong>s, resto en minúscu<strong>la</strong>sLa consistirá en primer lugar en eldiseño <strong>de</strong> un conjunto unificado <strong>de</strong> pruebas,<strong>de</strong>terminando para cada caso <strong>de</strong> entrada cuál<strong>de</strong>bería ser el resultado a obtener. Posteriormentese <strong>de</strong>berá ejecutar el programa en todas aquel<strong>la</strong>ssituaciones <strong>de</strong>tectadas como significativas en eldiseño <strong>de</strong> <strong>la</strong>s pruebas, asegurando, a través <strong>de</strong>el<strong>la</strong>s, que el programa funciona correctamente yse obtienen los resultados esperados.Utilizando los medios que proporciona <strong>la</strong>herramienta <strong>de</strong>sarrol<strong>la</strong>da en esta universidad paracapturar <strong>la</strong> entrada y <strong>la</strong> salida mediante ficheros<strong>de</strong> un programa implementado en ADA, seráposible probar con una so<strong>la</strong> ejecución elfuncionamiento <strong>de</strong> <strong>la</strong>s prácticas.El alumno entregará el resultado <strong>de</strong> <strong>la</strong>spruebas diseñadas, y <strong>de</strong> cualquier otra prueba quese haya realizado (capturadas en ficheros). Debenincluirse resultados finales tanto positivos comonegativos. Para los casos en que los resultados noson los esperados, se indicará <strong>la</strong> posible causa yposibles soluciones (justificar fallos). Losalumnos serán penalizados en <strong>la</strong> evaluación sientregan un juego <strong>de</strong> pruebas incompleto, que no<strong>de</strong>tecte errores <strong>de</strong>l código.Cualquier aplicación software <strong>de</strong>be estar<strong>de</strong>bidamente documentada. Es esto lo que se lespreten<strong>de</strong> inculcar nuestros futuros programadores.Los alumnos <strong>de</strong> esta asignatura <strong>de</strong>ben entregaruna memoria final (siguiendo un formatoespecífico) que incluya <strong>la</strong> documentaciónespecífica asociada a cada una <strong>de</strong> <strong>la</strong>s fasesanteriores (según el mo<strong>de</strong>lo que se lesproporciona) y a<strong>de</strong>más un manual <strong>de</strong> usuariocontemp<strong>la</strong>ndo aspectos como a quién va <strong>de</strong>stinadoel programa, cómo se ejecuta, qué errores<strong>de</strong>vuelve y cómo se interpretan, requisitos <strong>de</strong>ejecución, incompatibilida<strong>de</strong>s etc.)En cuanto a <strong>la</strong> metodología <strong>de</strong> evaluación, esnecesario volver a hacer hincapié en <strong>la</strong>importancia <strong>de</strong> <strong>la</strong> homogeneidad entre los grupos.No hay que olvidar que hay alumnos que estándistribuidos en diferentes grupos pero estánmatricu<strong>la</strong>dos en <strong>la</strong> misma asignatura, y compartenel resto <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses.Se ha intentado huir <strong>de</strong> una tabu<strong>la</strong>ción <strong>de</strong>distintos fallos con una serie <strong>de</strong> <strong>de</strong>scuentosasociados porque es imposible corregir unapráctica basándose en si un fallo <strong>de</strong>scuenta 2puntos y otro 1. En su lugar se presentan una serie<strong>de</strong> criterios para guiar en <strong>la</strong> puntuación <strong>de</strong> cada


práctica. Pero como siempre ocurre enprogramación es muy difícil encontrar una formasistemática <strong>de</strong> puntuar programas: se necesitatener una visión global <strong>de</strong>l programa y una serie<strong>de</strong> criterios básicos (y quizás algo <strong>de</strong> experiencia)para po<strong>de</strong>r asignar una nota.En esta Universidad se sigue el mo<strong>de</strong>lo <strong>de</strong>evaluación continua. Esto implica <strong>la</strong> valoración<strong>de</strong>l trabajo <strong>de</strong>l alumno a lo <strong>la</strong>rgo <strong>de</strong> toda <strong>la</strong>asignatura, pero también <strong>la</strong> obligación por parte<strong>de</strong>l alumno <strong>de</strong> una cierta regu<strong>la</strong>ridad <strong>de</strong>resultados.Las prácticas van incrementando sucomplejidad a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong> asignatura, siendo <strong>la</strong>última práctica <strong>la</strong> más completa.Al final <strong>de</strong> <strong>la</strong> asignatura se realizará unexamen que no tendrá nota (si bien es unaobservación más a disposición <strong>de</strong>l profesor en suevaluación) puesto que sólo es una comprobación<strong>de</strong> que <strong>la</strong>s prácticas <strong>la</strong>s ha realizado cada alumno.La calificación <strong>de</strong> <strong>la</strong> asignatura vendrá dadapor una media pon<strong>de</strong>rada <strong>de</strong> <strong>la</strong>s notas en cada una<strong>de</strong> <strong>la</strong>s prácticas (a medida que se incrementa <strong>la</strong>complejidad <strong>de</strong> <strong>la</strong>s prácticas, aumenta también supeso en <strong>la</strong> nota final).Para aprobar <strong>la</strong> asignatura se pue<strong>de</strong>n presentar<strong>la</strong>s siguientes posibilida<strong>de</strong>s:• Alumnos que hayan ido aprobando todas <strong>la</strong>sprácticas: sólo tendrán que presentarse alexamen final para comprobar que son autores<strong>de</strong> <strong>la</strong> última práctica.• Alumnos con alguna práctica suspensa antes<strong>de</strong> <strong>la</strong> última:1. Si no alcanzaron una nota mínima (quese ha establecido en 3 sobre un total <strong>de</strong>10) en <strong>la</strong>s prácticas más importantes,pier<strong>de</strong>n <strong>la</strong> posibilidad <strong>de</strong> aprobar enjunio.2. En otro caso: repetirán para junio <strong>la</strong>sprácticas que no hayan llegado a <strong>la</strong> notamínima o <strong>la</strong>s no entregadas,presentándose al examen final paracomprobar <strong>la</strong> autoría. En dicho examense realizarán preguntas sobre el<strong>la</strong>s(razonamientos, cambios <strong>de</strong>codificación o <strong>de</strong> diseño respecto a <strong>la</strong>anterior versión...).• En todo caso en <strong>la</strong> última práctica se <strong>de</strong>beobtener al menos un 5 para po<strong>de</strong>r aprobar <strong>la</strong>asignatura.• En <strong>la</strong> convocatoria <strong>de</strong> septiembre se <strong>de</strong>benentregar tres prácticas (dos <strong>de</strong> el<strong>la</strong>s sonrepetidas <strong>de</strong>l curso) aunque sólo <strong>de</strong>benrepetirse en caso <strong>de</strong> tener<strong>la</strong>s suspensas o nopresentadas). El examen <strong>de</strong> septiembre serápersonalizado, porque se trata <strong>de</strong> comprobar<strong>la</strong> autoría <strong>de</strong> unas prácticas que se hanrealizado fuera <strong>de</strong>l periodo <strong>de</strong> c<strong>la</strong>ses y portanto sin el seguimiento directo <strong>de</strong> losprofesores.Como siempre, <strong>la</strong> consigna es conseguir <strong>la</strong> mayorhomogeneidad en cuanto a los criterios que seaplican para <strong>la</strong> corrección <strong>de</strong> cada uno <strong>de</strong> losaspectos <strong>de</strong> cada práctica.Dado que se realizan dos entregas porpráctica, <strong>de</strong>bemos valorar tanto <strong>la</strong> fase <strong>de</strong> diseñocomo <strong>la</strong> <strong>de</strong> codificación. La proporción será 1/3<strong>la</strong> nota <strong>de</strong> diseño, 1/3 <strong>la</strong> nota <strong>de</strong> codificación, 1/3<strong>la</strong> nota <strong>de</strong> pruebas y documentación.• El diseño <strong>de</strong> datos <strong>de</strong>berá seguir <strong>la</strong> filosofíatop-down, <strong>de</strong>jando perfectamente <strong>de</strong>finidas<strong>la</strong>s estructuras <strong>de</strong> datos a<strong>de</strong>cuadas, inclusoaunque aún no sean capaces <strong>de</strong> codificar<strong>la</strong>s.• Reg<strong>la</strong>s que se <strong>de</strong>ben valorar en el diseñoarquitectónico:1. Diseño estructurado2. Seguir <strong>la</strong> filosofía EPS (entradaproceso-salida)3. Mínimo acop<strong>la</strong>miento4. Máxima coexión• El diseño procedimental se <strong>de</strong>be correspon<strong>de</strong>rcon el diseño <strong>de</strong> datos y arquitectónicoentregados, tiene que especificar c<strong>la</strong>ramenteel interfaz <strong>de</strong> cada módulo diseñado.• El diseño <strong>de</strong> pruebas: Se comparará con elconjunto oficial <strong>de</strong> pruebas.Existen errores que obviamente conducen alsuspenso inmediato:


• Práctica que no compi<strong>la</strong>.• Implementación diferente <strong>de</strong>l diseño (<strong>de</strong>lprofesor)• No se ajusta a <strong>la</strong>s especificaciones (incluso a<strong>la</strong>s <strong>de</strong> interfaz)Hay también errores que conducen alsuspenso:• Ma<strong>la</strong> utilización <strong>de</strong>l ámbito <strong>de</strong> <strong>la</strong>s variables(utilización <strong>de</strong> variables globales sin pasar<strong>la</strong>spor parámetro).• Ma<strong>la</strong> utilización <strong>de</strong>l ámbito <strong>de</strong> los módulos(invocación a módulos hermanos).• Ma<strong>la</strong> estructuración, utilización improce<strong>de</strong>nte<strong>de</strong> instrucciones <strong>de</strong> salida (iteraciones <strong>de</strong> <strong>la</strong>sque se pue<strong>de</strong> salir mediante un exit,procedimientos <strong>de</strong> los que se sale con unreturn...)• Resultados que produzcan error en tiempo <strong>de</strong>ejecución o que sean contrarios a <strong>la</strong>sespecificaciones• Resultados erróneos (no exactos)Hay también cuestiones <strong>de</strong> estilo que pue<strong>de</strong>nayudar a dilucidar <strong>la</strong> nota final obtenida en unapráctica:• Hay costumbres que se <strong>de</strong>ben evitaro Inclusión innecesaria <strong>de</strong> sentenciasNULLo Utilización <strong>de</strong> bucles <strong>de</strong>finidos en lugar<strong>de</strong> bucles in<strong>de</strong>finidos, y viceversao Ma<strong>la</strong> utilización <strong>de</strong> instrucciones <strong>de</strong>selección, anidamientos ina<strong>de</strong>cuados,utilización <strong>de</strong> varias condicionalessimples en lugar <strong>de</strong> una condicionalmúltipleo Funciones que realizan operaciones <strong>de</strong>entrada/salida <strong>de</strong> datoso Procedimientos que, en realidad,imp<strong>la</strong>ntan lo que <strong>de</strong>be ser una funcióno Varias sentencias <strong>de</strong> retorno <strong>de</strong>ntro <strong>de</strong>una misma función• Y algunas que es necesario inculcaro Inicialización <strong>de</strong> variableso Uso <strong>de</strong> i<strong>de</strong>ntificadores significativoso Módulos con una única funcionalidado Comentarios a<strong>de</strong>cuados en el códigoPara facilitar una corrección más cómoda yuniforme, se diseñará un conjunto <strong>de</strong> pruebasconcebido como un fichero <strong>de</strong> casos <strong>de</strong> valores <strong>de</strong>entradas. La i<strong>de</strong>a es que este fichero, que serepartirá a todos los profesores, será <strong>la</strong> prueba“oficial” que se aplicara para <strong>de</strong>cidir si elprograma “funciona” o no.ADA proporciona una manera sencil<strong>la</strong> <strong>de</strong>redireccionar <strong>la</strong> entrada/salida estándar a ficheros,permitiendo así que se generalicen <strong>la</strong> utilización<strong>de</strong> ficheros <strong>de</strong> prueba. A<strong>de</strong>más, <strong>la</strong> herramienta <strong>de</strong>ayuda a <strong>la</strong> corrección que se ha <strong>de</strong>sarrol<strong>la</strong>dopermite automatizar este proceso.A efectos <strong>de</strong> evaluación, hay que observar siel programa funciona en todos los casos <strong>de</strong> prueba(se supone que esto es lo que <strong>de</strong>berían lograrsiempre los alumnos), si fal<strong>la</strong> en algún casopuntual o si ni siquiera permite ejecutar <strong>la</strong>spruebas (no se respeta el interfaz) o está p<strong>la</strong>gado<strong>de</strong> fallos.Se ha presentado una metodología para <strong>la</strong>realización <strong>de</strong> prácticas en el <strong>la</strong>boratorio <strong>de</strong>programación <strong>de</strong> primer curso que trata <strong>de</strong> <strong>de</strong>finiruna dinámica que permita homogeneizar losdistintos grupos <strong>de</strong> alumnos <strong>de</strong> dicha asignatura.Esta metodología está basada en los conceptostradicionales <strong>de</strong> ingeniería <strong>de</strong>l software en el<strong>de</strong>sarrollo <strong>de</strong> programas, concretamente en <strong>la</strong>sfases <strong>de</strong>l ciclo <strong>de</strong> vida clásico: análisis, diseño,implementación y prueba.El hecho <strong>de</strong> obligar a realizar un diseño previosin utilizar el or<strong>de</strong>nador (mejor dicho, utilizándolocomo herramienta <strong>de</strong> apoyo para “mostrar eldiseño” pero sin escribir ni una línea <strong>de</strong> código)potencia <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> una p<strong>la</strong>nificaciónprevia en lugar <strong>de</strong> ponerse a implementardirectamente.Por otro <strong>la</strong>do, que tengan que implementar apartir <strong>de</strong> un diseño <strong>de</strong> otra persona también lesacostumbra a adaptarse a <strong>la</strong> participación <strong>de</strong> otraspersonas en el <strong>de</strong>sarrollo <strong>de</strong> programas.Se consigue facilitar <strong>la</strong> corrección <strong>de</strong> <strong>la</strong>sprácticas a los profesores mediante un conjunto <strong>de</strong>pruebas oficial, ajustado al interfaz que se lesentrega a los alumnos, y que mediante <strong>la</strong>


edirección <strong>de</strong> <strong>la</strong> entrada/salida a fichero permiteprobar <strong>la</strong> práctica con una so<strong>la</strong> ejecución.Los criterios <strong>de</strong> evaluación se intentan <strong>de</strong>finir<strong>de</strong> <strong>la</strong> manera más c<strong>la</strong>ra y concisa posible paraevitar <strong>la</strong> falta <strong>de</strong> coherencia entre distintosprofesores <strong>de</strong> <strong>la</strong> misma asignatura, sobre todoentre aquellos que imparten grupos que coinci<strong>de</strong>njuntos en el resto <strong>de</strong> asignaturas.Estos criterios están basados en conceptosintroducidos en <strong>la</strong> asignatura <strong>de</strong> Introducción a <strong>la</strong>Programación y tratan <strong>de</strong> fomentar el <strong>de</strong>sarrollo<strong>de</strong> programas estructurados y bien diseñados.La metodología adoptada en <strong>la</strong> asignatura no<strong>de</strong>pen<strong>de</strong> <strong>de</strong>l uso <strong>de</strong> Ada como lenguaje sino quees exportable a otras asignaturas simi<strong>la</strong>res queempleen un lenguaje procedimental.[1] J.G.P. BARNES. QG Addison-Wesley, 1998.[2] P. CLOUGH, P<strong>la</strong>giarism in natural andprogramming <strong>la</strong>nguages: an overview ofcurrent tools and technologies, CS-00-05,Internal Report, Department of ComputerScience, The University of Sheffield, junio,2000.[3] ISO, ISO/IEC 8652:1995, Informationtechnology : Programming <strong>la</strong>nguages. Ada,ISO, 1995.[4] S. A. MENGEL, J. V. ULANS, A Case Studyof the Analysis of Novice Stu<strong>de</strong>nt Programs,Proceedings of the 12th Conference onSoftware Engineering Education and Training,1998.[5] J. SKANSHOLM. Ada. From the Beginning.2, Addison-Wesley, 1994.[6] A.B. TUCKER et al., Fundamentos <strong>de</strong>informática: Lógica, resolución <strong>de</strong> problemas,programas y computadoras, Madrid,McGraw-Hill / Interamericana, 1994.[7] E. YOURDON, L. CONSTANTINE,Structured Design, Prentice-Hall, 1979.


Una herramienta para <strong>la</strong> enseñanza <strong>de</strong> patrones en Ingeniería<strong>de</strong>l SoftwareMacario Polo, Juan Ángel Gómez, Mario Piattini y Francisco RuizEscue<strong>la</strong> Superior <strong>de</strong> Informática – Universidad <strong>de</strong> Castil<strong>la</strong>-La ManchaPaseo <strong>de</strong> <strong>la</strong> Universidad, 413071-Ciudad RealResumen.Se presenta una herramienta que genera unaaplicación totalmente ejecutable a partir <strong>de</strong> undiagrama <strong>de</strong> c<strong>la</strong>ses dibujado con Rational Rose.La herramienta consi<strong>de</strong>ra el diagrama como <strong>la</strong>estructura <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Dominio <strong>de</strong> un sistema<strong>de</strong> tres capas. A partir <strong>de</strong> esta i<strong>de</strong>a, <strong>la</strong> herramientagenera <strong>la</strong>s capas adyacentes (Presentación yAlmacenamiento), dándole ciertas funcionalida<strong>de</strong>ssuministradas por un conjunto <strong>de</strong> patrones <strong>de</strong>diseño.macario.polo@uclm.es1. Introducción.Los patrones <strong>de</strong> diseño son parte <strong>de</strong> los contenidos<strong>de</strong> <strong>la</strong> asignatura “Ingeniería <strong>de</strong>l Software II”, <strong>de</strong>l5º curso <strong>de</strong> <strong>la</strong> Ingeniería en Informática <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Castil<strong>la</strong>-La Mancha. La asignaturaconsta <strong>de</strong> 9 créditos, 6 <strong>de</strong> los cuales correspon<strong>de</strong>na teoría y 3 a c<strong>la</strong>ses <strong>de</strong> <strong>la</strong>boratorio. Entre <strong>la</strong>sherramientas que los alumnos utilizan en los<strong>la</strong>boratorios se encuentra Rational Rose, que esutilizada como base para <strong>la</strong> construcción <strong>de</strong> unaaplicación ejecutable que, in<strong>de</strong>pendientemente <strong>de</strong>que funcione correctamente o no, <strong>de</strong>be poseer unbuen diseño, arquitectura robusta, etc., aspectoséstos que son los más valorados a <strong>la</strong> hora <strong>de</strong> <strong>de</strong>terminar<strong>la</strong> calificación. La i<strong>de</strong>a <strong>de</strong> este trabajopráctico es que los alumnos apliquen a un casoconcreto los contenidos teóricos <strong>de</strong> <strong>la</strong> asignatura,<strong>de</strong> los que los patrones <strong>de</strong> diseño son una buenaparte.Durante <strong>la</strong>s c<strong>la</strong>ses teóricas, se poneespecial énfasis en <strong>la</strong> necesidad <strong>de</strong> dotar a <strong>la</strong>saplicaciones <strong>de</strong> una arquitectura robusta, y suelenutilizarse como ejemplos aplicaciones con trescapas (normalmente Presentación, Dominio yAlmacenamiento). Una aplicación <strong>de</strong> tres capasbien elegida posee <strong>la</strong> versatilidad suficiente comopara incluirle los elementos necesarios para presentarejemplos <strong>de</strong> prácticamente todos los patrones<strong>de</strong> diseño que se presentan durante <strong>la</strong> asignatura.Así, por ejemplo:1. La propia utilización <strong>de</strong> una arquitecturamulticapa es ya un buen patrón,que dota a <strong>la</strong>s aplicaciones <strong>de</strong> granesca<strong>la</strong>bilidad, que permite <strong>la</strong> reutilización,etc. A<strong>de</strong>más, <strong>la</strong>s c<strong>la</strong>ses y paquetes<strong>de</strong> <strong>la</strong>s aplicaciones <strong>de</strong> tres capasbien construidas poseen valoresa<strong>de</strong>cuados <strong>de</strong> cohesión y acop<strong>la</strong>miento,cuyos equilibrados valores sonprobablemente dos <strong>de</strong> los más básicosprincipios <strong>de</strong> un diseñador <strong>de</strong> software.2. El hecho <strong>de</strong> que los objetos <strong>de</strong> <strong>la</strong> capa<strong>de</strong> Presentación necesiten “refrescarse”para mostrar los cambios <strong>de</strong> estadoexperimentados por los objetos <strong>de</strong><strong>la</strong> capa <strong>de</strong> Dominio, permite <strong>la</strong> incorporacióna <strong>la</strong> aplicación <strong>de</strong> c<strong>la</strong>ses queconstituyen implementaciones <strong>de</strong>l patrónObserver.3. La utilización <strong>de</strong> una base <strong>de</strong> datosque almacena (en forma <strong>de</strong> registros)<strong>la</strong>s instancias persistentes proce<strong>de</strong>ntes<strong>de</strong> c<strong>la</strong>ses <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Dominio,permite:3.1 La utilización <strong>de</strong> alguno <strong>de</strong> losmuchos patrones existentes parahacer correspon<strong>de</strong>r c<strong>la</strong>ses y tab<strong>la</strong>s.3.2 La utilización <strong>de</strong> patrones para<strong>de</strong>cidir a qué c<strong>la</strong>ses <strong>de</strong>ben asignarse<strong>la</strong>s responsabilida<strong>de</strong>s re<strong>la</strong>cionadascon <strong>la</strong> persistencia <strong>de</strong>los objetos.3.3 La utilización <strong>de</strong> patrones paratransformar el diagrama <strong>de</strong> c<strong>la</strong>ses<strong>de</strong> <strong>la</strong> capa <strong>de</strong> Dominio (oparte <strong>de</strong> él) al esquema físico <strong>de</strong><strong>la</strong> base <strong>de</strong> datos.


3.4 La utilización <strong>de</strong> algún patrónque centralice el acceso <strong>de</strong> losobjetos <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Dominio a<strong>la</strong> base <strong>de</strong> datos (un Broker oAgente).Des<strong>de</strong> luego, resulta imposible construiren el <strong>la</strong>boratorio todas <strong>la</strong>s posibles variantes <strong>de</strong> <strong>la</strong>aplicación utilizando todos los posibles patrones<strong>de</strong> diseño, incluso aunque ésta sea sencil<strong>la</strong>. Tambiénes difícil conseguir que los estudiantes implementen,aunque sea fuera <strong>de</strong>l <strong>la</strong>boratorio, todas<strong>la</strong>s posibles variantes. Pero el caso es que, observando<strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> transformación y diseño que,más o menos, rigen el mecanismo <strong>de</strong> utilización<strong>de</strong> los patrones comentados en los puntos anteriores,se observa que el proceso <strong>de</strong> aplicación <strong>de</strong>dichos patrones es –para una persona- un procesomuy automático que pue<strong>de</strong>, a<strong>de</strong>más, ser automatizadopor una herramienta.En <strong>la</strong> Escue<strong>la</strong> Superior <strong>de</strong> Informática<strong>de</strong> Ciudad Real hemos construido una herramientaque, a partir <strong>de</strong> un diagrama <strong>de</strong> c<strong>la</strong>ses dibujadocon Rational Rose, permite al usuario generarcódigo directamente ejecutable. El código segenera <strong>de</strong> acuerdo a un conjunto <strong>de</strong> patrones, queel alumno ha podido elegir <strong>de</strong> un conjunto <strong>de</strong>patrones disponibles. La generación <strong>de</strong> códigotarda sólo unos pocos segundos, lo que permite a<strong>la</strong>lumno generar en muy poco tiempo lo que habitualmentetardaría horas o días, y sin ningún error.Esto permite aprovechar más aún <strong>la</strong>s horas <strong>de</strong><strong>la</strong>boratorio, ya que se libera tiempo que pue<strong>de</strong><strong>de</strong>dicarse a <strong>la</strong> aplicación práctica <strong>de</strong> otros contenidospresentados en <strong>la</strong>s horas <strong>de</strong> teoría.En este artículo presentamos algunos<strong>de</strong>talles <strong>de</strong>l diseño e implementación <strong>de</strong> estaherramienta, así como su forma <strong>de</strong> uso y susposibilida<strong>de</strong>s.2. Aspecto <strong>de</strong> <strong>la</strong> herramienta.La Figura 1 muestra el aspecto <strong>de</strong> <strong>la</strong> ventanaprincipal <strong>de</strong> nuestra herramienta. En el<strong>la</strong>, el alumnoselecciona un fichero que contenga un mo<strong>de</strong>lo<strong>de</strong> Rational Rose. El conjunto <strong>de</strong> c<strong>la</strong>ses contenidoen dicho mo<strong>de</strong>lo se muestra en <strong>la</strong> lista <strong>de</strong> <strong>la</strong> izquierda,<strong>de</strong>biendo el usuario seleccionar <strong>la</strong>s c<strong>la</strong>sespara <strong>la</strong>s que se <strong>de</strong>sea generar código.Figura 1. Pantal<strong>la</strong> principal <strong>de</strong> <strong>la</strong> herramienta.


El alumno <strong>de</strong>be saber que <strong>la</strong> herramientaubicará <strong>la</strong>s c<strong>la</strong>ses seleccionadas en <strong>la</strong> capa <strong>de</strong>Dominio <strong>de</strong> <strong>la</strong> aplicación generada, por lo que noes conveniente seleccionar c<strong>la</strong>ses que representenventanas, etc. Para cada una <strong>de</strong> <strong>la</strong>s tres capas para<strong>la</strong>s que se va a generar código pue<strong>de</strong>n elegirsediversas opciones (situadas en <strong>la</strong> parte inferior <strong>de</strong><strong>la</strong> ventana):1. Para <strong>la</strong> capa <strong>de</strong> Presentación pue<strong>de</strong> elegirse elentorno <strong>de</strong> <strong>de</strong>sarrollo para el que se generarácódigo.1.1 Aunque se observan varios entornos <strong>de</strong>lenguaje Java, ocurre que los Framesconstruidos con, por ejemplo, Visual Caféno son editables con Forte o JBuil<strong>de</strong>r, razónpor <strong>la</strong> que los posibles entornos se colocancomo opciones excluyentes.1.2 Se genera una pantal<strong>la</strong> “tipo ficha” porcada c<strong>la</strong>se seleccionada. A<strong>de</strong>más, se haceque cada c<strong>la</strong>se <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Presentaciónconozca a su instancia correspondiente <strong>de</strong><strong>la</strong> capa <strong>de</strong> Dominio (por ejemplo: unapantal<strong>la</strong> que muestra los datos <strong>de</strong> un empleadoconoce a su objeto Empleado correspondiente).1.3 Se generan un conjunto <strong>de</strong> ventanas adicionalesy “constantes”, cuya implementaciónno <strong>de</strong>pen<strong>de</strong> o <strong>de</strong>pen<strong>de</strong> muy poco <strong>de</strong><strong>la</strong> aplicación que se está generando.Ejemplos <strong>de</strong> estas ventanas son un diálogopara mostrar mensajes <strong>de</strong> error, una ventanaque muestra listas <strong>de</strong> registros, unaventana que pi<strong>de</strong> confirmación antes <strong>de</strong>borrar o modificar, etc.1.4 Todas <strong>la</strong>s pantal<strong>la</strong>s generadas poseen unconjunto <strong>de</strong> operaciones que permiten invocaroperaciones <strong>de</strong> persistencia sobrelos objetos <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Dominio (<strong>la</strong>spantal<strong>la</strong>s “tipo ficha”, por ejemplo, tienenun botón “Guardar”, que guarda el objetoactualmente mostrado en <strong>la</strong> base <strong>de</strong> datos,mediante una l<strong>la</strong>mada al método insert oupdate –<strong>de</strong>pen<strong>de</strong> <strong>de</strong>l caso- <strong>de</strong>l correspondienteobjeto <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Dominio).2. La capa <strong>de</strong> Dominio se genera mediante una“traducción directa” <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses seleccionadasal lenguaje <strong>de</strong> programación consi<strong>de</strong>rado. A<strong>de</strong>más,para cada una <strong>de</strong> estas c<strong>la</strong>ses se genera elsiguiente conjunto <strong>de</strong> métodos:2.1 Un constructor sin parámetros, que da alos campos <strong>de</strong> <strong>la</strong> c<strong>la</strong>se valores por <strong>de</strong>fecto(por ejemplo, el valor cero a los long).2.2 Un constructor con parámetros que permitematerializar objetos (esto es, construirinstancias <strong>de</strong> c<strong>la</strong>ses a partir <strong>de</strong> los registrosalmacenados en <strong>la</strong> base <strong>de</strong> datos).Los valores <strong>de</strong> los parámetros pasados aeste constructor se correspon<strong>de</strong>n con losvalores <strong>de</strong> <strong>la</strong>s columnas que forman <strong>la</strong>c<strong>la</strong>ve principal <strong>de</strong>l registro que queremosmaterializar.2.3 Métodos insert, <strong>de</strong>lete, update y <strong>de</strong>lete,que permitirán actualizar el objeto en <strong>la</strong>base <strong>de</strong> datos. Esto constituye una implementación<strong>de</strong>l patrón CRUD (operacionespara hacer Create, Read, Update y Delete),expuesto por Yo<strong>de</strong>r [4].3. Para <strong>la</strong> capa <strong>de</strong> Persistencia se genera siempreun Agente [1] cuya implementación es siempreconstante, y que ejecuta instrucciones SQL sobre<strong>la</strong> base <strong>de</strong> datos. Existen cuatro formas <strong>de</strong> asignary generar <strong>la</strong>s responsabilida<strong>de</strong>s <strong>de</strong> persistencia:3.1 Mediante el patrón Experto, cada c<strong>la</strong>sepersistente <strong>de</strong>fine e implementa sus operaciones<strong>de</strong> persistencia. Es <strong>de</strong>cir, en el<strong>la</strong>sresi<strong>de</strong> completamente el código <strong>de</strong> <strong>la</strong>soperaciones insert, <strong>de</strong>lete, etc. Esta alternativatiene <strong>la</strong> <strong>de</strong>sventaja <strong>de</strong> que hace a <strong>la</strong>sc<strong>la</strong>ses <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Dominio completamente<strong>de</strong>pendientes <strong>de</strong>l gestor <strong>de</strong> base <strong>de</strong>datos utilizado.3.2 Para <strong>de</strong>sacop<strong>la</strong>r a <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> <strong>la</strong> capa <strong>de</strong>Dominio <strong>de</strong>l sistema gestor <strong>de</strong> base <strong>de</strong> datos,<strong>la</strong>s operaciones <strong>de</strong> persistencia pue<strong>de</strong>n<strong>de</strong>legarse a “fabricaciones puras” [2]. Deeste modo, si se cambia <strong>de</strong> gestor <strong>de</strong> base<strong>de</strong> datos, sólo se necesitará modificar <strong>la</strong>sc<strong>la</strong>ses asociadas (<strong>la</strong>s fabricaciones puras,que resi<strong>de</strong>n en <strong>la</strong> capa <strong>de</strong> Almacenamiento),y no <strong>la</strong>s <strong>de</strong> Dominio, que son muchomás complejas puesto que son <strong>la</strong>s queverda<strong>de</strong>ramente implementan <strong>la</strong> solución<strong>de</strong>l problema propuesto (que habitualmenteserá mucho más que gestionar persistencia).El sencillo ejemplo con que ilustramosen c<strong>la</strong>se esta <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l gestor<strong>de</strong> base <strong>de</strong> datos es que, si se usa Access,<strong>de</strong>ben usarse <strong>la</strong>s pa<strong>la</strong>bras true o falsepara guardar valores en columnas boolea-


nas, mientras que se utilizan 1 y 0 conSQL Server. Existen, <strong>de</strong> todos modos, variasformas <strong>de</strong> implementar <strong>la</strong>s operaciones<strong>de</strong> persistencia en <strong>la</strong>s fabricacionespuras, como hacer<strong>la</strong>s estáticas o no (Figura2). Nuestra herramienta siempre generacomo estáticas estas operaciones. En cualquiercaso, y aún habiendo <strong>de</strong>cidido que<strong>la</strong>s operaciones <strong>de</strong> persistencia en <strong>la</strong>s fabricacionespuras sean estáticas, nuestraherramienta ofrece dos posibilida<strong>de</strong>s: que<strong>la</strong> fabricación pura genere y directamenteejecute <strong>la</strong> instrucción SQL (opción “FP”en <strong>la</strong> ventana <strong>de</strong> <strong>la</strong> Figura 1), o mediantegeneración <strong>de</strong> sentencias preparadas (opción“FPProc” <strong>de</strong> <strong>la</strong> Figura 1).3.3 Las operaciones <strong>de</strong> persistencia pue<strong>de</strong>ntambién ser asignadas mediante el patrónRCRUD [3]. RCRUD (Reflective Create,Read, Update & Delete) es una c<strong>la</strong>se, totalmentereutilizable, que genera medianteintrospección (Reflection) <strong>la</strong>s operaciones<strong>de</strong> persistencia <strong>de</strong> cualquier c<strong>la</strong>se. El únicorequisito para utilizar RCRUD es que<strong>la</strong>s c<strong>la</strong>ses persistentes sean especializaciones<strong>de</strong> RCRUD.PersonmName:StringmLastName:StringmTelephone:String+select()+insert()+<strong>de</strong>lete()+update()PersistencePerson+$select(p:Person)+$insert(p:Person)+$<strong>de</strong>lete(p:Person)+$update(p:Person)DBBrokerIDatabasepublic c<strong>la</strong>ss Person {…void insert() throwsException {PersistencePerson.insert(this);}....}PersonmName:StringmLastName:StringmTelephone:String+select()+insert()+<strong>de</strong>lete()+update()pmFPA. Delegación mediante métodos estáticos.PersistencePerson+select(N, LN:String)+insert()+<strong>de</strong>lete()+update()DBBrokerIDatabaseB. Delegación a una instancia asociada.public c<strong>la</strong>ss Person {…PersistencePerson mFP;Person(...) {...mFP=newPersistencePerson(this);}...void insert() throwsException {mFP.insert();}....}Figura 2. Posibles formas <strong>de</strong> <strong>de</strong>legar <strong>la</strong>s operaciones <strong>de</strong> persistencia.4. Se genera, a<strong>de</strong>más, <strong>la</strong> base <strong>de</strong> datos resultante<strong>de</strong> transformar el diagrama <strong>de</strong> c<strong>la</strong>ses medianteuno <strong>de</strong> los siguientes patrones:4.1 Una c<strong>la</strong>se, una tab<strong>la</strong>4.2 Un árbol <strong>de</strong> herencia, una tab<strong>la</strong>4.3 Tenemos pendiente <strong>de</strong> implementación <strong>la</strong>generación <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos mediante elpatrón “Un camino <strong>de</strong> herencia, una tab<strong>la</strong>.La siguiente figura muestra tres esquemasre<strong>la</strong>cionales (B, C y D) obtenidos<strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> estos tres


patrones <strong>de</strong> transformación al dia-grama <strong>de</strong> c<strong>la</strong>ses (A).PersonmName:StringmLastName:StringmTelephone:String0..* VehiclemP<strong>la</strong>te:StringPersonsName :varchar(20)LastName :varchar(30)Telephone:StringVehiclesDriverLicense:varchar(12)P<strong>la</strong>te :varchar(8)Rea<strong>de</strong>rmFavouriteTitle:StringTruckDriverCarmMo<strong>de</strong>l:StringmLicenseNumber:String mMo<strong>de</strong>l:StringmLength:floatmDate:DatemYear:intmLicenseType:intmWheels:intA. Un diagrama <strong>de</strong> c<strong>la</strong>ses.Rea<strong>de</strong>rsName:varchar(20)LastName :varchar(30)FavouriteTitle:varchar(50)DriversName :varchar(20)LastName :varchar(30)LicenseNumber:varchar(12)Date:DateLicenseType:IntegerCarsP<strong>la</strong>te :varchar(8)Mo<strong>de</strong>l:varchar(25)Year:IntegerTrucksP<strong>la</strong>te :varchar(8)Mo<strong>de</strong>l:varchar(30)Length:FloatWheels:IntegerB. Transformación <strong>de</strong>l diagrama <strong>de</strong> c<strong>la</strong>ses Amediante el patrón una c<strong>la</strong>se, una tab<strong>la</strong>.PersonsName:varchar(20)LastName:varchar(30)LicenseNumber:varchar(12)Telephone:StringFavouriteTitle:varchar(50)Date:DateLicenseType:IntegerVehiclesP<strong>la</strong>te:varchar(8)DriverLicense:varchar(12)Mo<strong>de</strong>l:varchar(25)Year:IntegerMo<strong>de</strong>l:varchar(30)Length:FloatWheels:IntegerC. Transformación <strong>de</strong>l diagrama <strong>de</strong> c<strong>la</strong>ses A medianteel patrón un árbol <strong>de</strong> herencia, una tab<strong>la</strong>.Rea<strong>de</strong>rsName:varchar(20)LastName:varchar(30)Telephone:StringFavouriteTitle:varchar(50)DriversName:varchar(20)LastName :varchar(30)LicenseNumber :varchar(12)Telephone:StringDate:DateLicenseType:IntegerCarsP<strong>la</strong>te :varchar(8)DriverLicense:varchar(12)Mo<strong>de</strong>l:varchar(25)Year:IntegerTrucksP<strong>la</strong>te :varchar(8)DriverLicense:varchar(12)Mo<strong>de</strong>l:varchar(30)Length:FloatWheels:IntegerD.Transformación <strong>de</strong>l diagrama <strong>de</strong> c<strong>la</strong>ses A medianteel patrón un camino <strong>de</strong> herencia, una tab<strong>la</strong>.Figura 3. Tres posibles transformaciones a re<strong>la</strong>cional <strong>de</strong> un mismo mo<strong>de</strong>lo <strong>de</strong> c<strong>la</strong>ses.La base <strong>de</strong> datos pue<strong>de</strong> generarse directamenteen un fichero Access, en una base <strong>de</strong>datos <strong>de</strong> un servidor SQL Server, o bien comoun programa <strong>de</strong> <strong>de</strong>finición <strong>de</strong> datos enSQL 92.Con estas consi<strong>de</strong>raciones, los objetosque intervienen y se generan para gestionar encierto escenario los datos <strong>de</strong> una instancia <strong>de</strong> c<strong>la</strong>sePersona son los mostrados en <strong>la</strong> Figura 4 (suponiendoque se han seleccionado fabricacionespuras para <strong>de</strong>legar <strong>la</strong>s operaciones <strong>de</strong> persistencia).3. Utilización <strong>de</strong> <strong>la</strong> herramienta en los<strong>la</strong>boratorios.La herramienta es capaz <strong>de</strong> generar en segundosvarias versiones diferentes <strong>de</strong> una aplicación quegestiona una base <strong>de</strong> datos. A<strong>de</strong>más <strong>de</strong> ser ejecutable,<strong>la</strong> aplicación generada pue<strong>de</strong> ser importada<strong>de</strong>s<strong>de</strong> Rational Rose o alguna otra herramienta(como Poseidon, <strong>de</strong> Gentleware), <strong>de</strong> manera quepue<strong>de</strong> cargarse su diagrama <strong>de</strong> c<strong>la</strong>ses para realizarcomparaciones <strong>de</strong> los diferentes diseños, etc.La Figura 5 muestra un fragmento <strong>de</strong> <strong>la</strong>estructura <strong>de</strong> <strong>la</strong> aplicación obtenida al generarcódigo para <strong>la</strong>s c<strong>la</strong>ses que hemos recuadrado, yque fueron originalmente dibujadas con RationalRose:


1:listPersons()1.1 l:=new ListPersons()2. doubleClick(row:int)1.1.1 r:=select(SQL):Recordset3. buttonModify()4. changes the person5. buttonSave()2.1 f=new FPerson(N,LN:String):ListManager2.1.1 mP=new Person(N,LN:String)5.1update():Person1.1.1 r:=select(SQL):Recordset:DBBroker2.1.2 loadData()2.12.1 showWindow()3.1 enableTextBoxes()2.1.1.1 select(N,LN:String)5.1.1 update(this):PureFabricationPerson2.1.1.1.1 r:=select(SQL):Recordset5.1.1.1 execute(SQL)Figura 4. Objetos que intervienen en una aplicación generada por <strong>la</strong> herramienta, en este ejemplo para gestionar ciertoescenario <strong>de</strong> una persona.Figura 5. Fragmento <strong>de</strong> <strong>la</strong> estructura <strong>de</strong> una <strong>de</strong> <strong>la</strong>s aplicaciones generadas.Cuando el usuario ejecuta <strong>la</strong> aplicacióngenerada, se encuentra con una pantal<strong>la</strong> principalque le da a acceso a los listados <strong>de</strong> todas <strong>la</strong>s tab<strong>la</strong>sexistentes en <strong>la</strong> base <strong>de</strong> datos. Haciendo doble clicen una <strong>de</strong> <strong>la</strong>s fi<strong>la</strong>s <strong>de</strong> <strong>la</strong> lista, se abre <strong>la</strong> correspondientepantal<strong>la</strong> <strong>de</strong> tipo ficha, que permite <strong>la</strong> ges-


tión <strong>de</strong>l registro asociado a través <strong>de</strong> <strong>la</strong> capa <strong>de</strong>Dominio.4. Arquitectura <strong>de</strong> <strong>la</strong> herramientageneradora.La Figura 6 muestra un fragmento <strong>de</strong>l diseño <strong>de</strong> <strong>la</strong>herramienta generadora: incorpora <strong>la</strong> <strong>de</strong>finición <strong>de</strong>un metamo<strong>de</strong>lo que permite representar aplicaciones<strong>de</strong> tres capas. La c<strong>la</strong>se “Three-tier application”contiene tres referencias a objetos que seencargan <strong>de</strong> <strong>la</strong> generación <strong>de</strong>l código para <strong>la</strong> capa<strong>de</strong> Presentación, Dominio y Almacenamientomediante <strong>la</strong> implementación <strong>de</strong> los tres interfacesrepresentados en <strong>la</strong> figura. De este modo, <strong>la</strong> adicióna <strong>la</strong> herramienta <strong>de</strong> un generador <strong>de</strong> códigopara otro lenguaje, base <strong>de</strong> datos u otro tipo <strong>de</strong>entorno precisa únicamente <strong>la</strong> construcción <strong>de</strong> unac<strong>la</strong>se que implemente el interfaz <strong>de</strong>seado. En estosmomentos estamos implementando dos nuevosgeneradores que generarán Servlets y JSPs en <strong>la</strong>capa <strong>de</strong> Presentación.5. Conclusiones y trabajos futuros.En este artículo se ha presentado una herramientaque resulta <strong>de</strong> gran ayuda para <strong>la</strong> enseñanza <strong>de</strong>patrones en asignaturas <strong>de</strong> Ingeniería <strong>de</strong>l Software.La herramienta toma un diagrama <strong>de</strong> c<strong>la</strong>sesdibujado con Rational Rose y genera códigomulticapa <strong>de</strong> alta calidad. La gran ventaja aportadapor <strong>la</strong> herramienta es que genera en muy pocotiempo diferentes aplicaciones, cada una con undiseño diferente (<strong>de</strong>pendiendo <strong>de</strong> los patroneselegidos), lo que libera a los estudiantes <strong>de</strong> tediosastareas <strong>de</strong> implementación <strong>de</strong> ejemplos, <strong>de</strong>jandomás tiempo para <strong>la</strong> aplicación práctica <strong>de</strong> otroscontenidos teóricos <strong>de</strong> <strong>la</strong> asignatura.Referencias.[1] Buschman F., Meunier R., Rohnert H.,Sommer<strong>la</strong>d P. and Stal M. (1996). A System ofPatterns: Pattern-Oriented Software Architecture.Addison Wesley.[2] Larman C. (1998). Applying UML and Patterns.Upper Saddle River, NJ: Prentice-Hall.[3] Polo M, Piattini M and Ruiz F. (2001).RCRUD: Reflective Create, Read, Update andDelete. Proc. of the Sixth European Conference onPattern Languages of Programs (EuroPlop’2001).Irsee, Alemania. También disponible en (9 <strong>de</strong>mayo <strong>de</strong> 2002): http://www.infcr.uclm.es/www/mpolo[4] Yo<strong>de</strong>r, JW. (2001). Patterns for makingbusiness objects persistent in a re<strong>la</strong>tional database.Tutorial at the Conference on Object-Oriented Programming, Systems, Languages, andApplications (OOPSLA), Tampa Bay, Florida,USA.Visual Basicpresentation generatorVisual CaféIPresentationpresentation generatorThree-tierapplicationIBusinessJava businessgenerator**Interface*C<strong>la</strong>ss*IPersistenceAccess generatorSQL generator*Field**MethodFigura 6. Arquitectura <strong>de</strong> <strong>la</strong> herramienta generadora.


Ingeniería <strong>de</strong> Agentes SoftwareÒscar Coltell,Dept. <strong>de</strong> Lenguajes y Sistemas InformáticosUniversitat Jaume I12080-Castellóne-mail: coltell@lsi.uji.esRicardo ChalmetaDept. <strong>de</strong> Lenguajes y Sistemas InformáticosUniversitat Jaume I12080-Castellóne-mail: rchalmet@lsi.uji.esResumenEste trabajo presenta una propuesta <strong>de</strong> unaasignatura para el segundo ciclo <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones<strong>de</strong> Ingeniería Informática, <strong>de</strong>nominada Ingeniería<strong>de</strong> Agentes Software, para ofrecer a los futurosingenieros una formación más específica en el<strong>de</strong>sarrollo <strong>de</strong> proyectos <strong>de</strong> Inteligencia Artificialdon<strong>de</strong> se apliquen los conceptos <strong>de</strong> agente ysistemas multiagente. En particu<strong>la</strong>r, se <strong>de</strong>scribenlos conceptos, objetivos y estructura <strong>de</strong> estaasignatura, en forma <strong>de</strong> proyecto docente.1. IntroducciónTradicionalmente, se han empleado muchosesfuerzos en <strong>la</strong> sistematización y formalización <strong>de</strong><strong>la</strong> gestión y el <strong>de</strong>sarrollo <strong>de</strong> proyectos en elámbito <strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong>l Software (ISW), <strong>de</strong>s<strong>de</strong>los primeros trabajos <strong>de</strong> Bohem [3] hasta <strong>la</strong>actualidad [14]. Sin embargo, estos aspectos sehan <strong>de</strong>scuidado en lo que respecta al <strong>de</strong>sarrollo ygestión <strong>de</strong> proyectos en ámbitos que se acercanmás a <strong>la</strong> investigación que a <strong>la</strong> aplicaciónindustrial y profesional [5] como, por ejemplo en<strong>la</strong> Inteligencia Artificial (AI), que será <strong>la</strong>disciplina objeto <strong>de</strong> estudio en este trabajo.Se ha dado el caso <strong>de</strong> que en <strong>la</strong> investigaciónen IA no han sido absolutamente primordiales losp<strong>la</strong>zos, <strong>la</strong> eficiencia y los resultados, a diferencia<strong>de</strong> los proyectos <strong>de</strong> ingeniería. Entonces, <strong>la</strong>sinvestigaciones fundamentales se han enfocadohacia el incremento <strong>de</strong> <strong>la</strong> potencia expresiva <strong>de</strong> <strong>la</strong>steorías específicas, el refinamiento <strong>de</strong> <strong>la</strong>s técnicasy <strong>la</strong> reducción <strong>de</strong> complejidad <strong>de</strong> los sistemasasociados. Pero se ha perdido <strong>de</strong> vista que, al fin yal cabo, cualquier proyecto <strong>de</strong> IA no hace más queemplear recursos <strong>de</strong> varios tipos, empezando porlos humanos, siguiendo con los financieros, yterminando en los técnicos (hardware) y lógicos(software). Así pues, se pue<strong>de</strong> <strong>de</strong>ducir que sonigualmente recomendables, en este contexto, <strong>la</strong>metodología, <strong>la</strong> rigurosidad y <strong>la</strong> sistematizaciónbajo un enfoque <strong>de</strong> ingeniería [17]. Estarecomendación se ha convertido en necesidadimperiosa, cuando <strong>la</strong> IA ha trascendido los<strong>la</strong>boratorios <strong>de</strong> investigación en universida<strong>de</strong>s einstitutos, para ser aplicada en el mundoempresarial. Por ejemplo, se están invirtiendomuchos esfuerzos en proyectos que implican,entre otros, <strong>la</strong> Ingeniería y <strong>la</strong> Gestión <strong>de</strong>lConocimiento, <strong>la</strong> Robótica real y virtual, y losSistemas Multiagente (MAS: Multi-AgentSystems), como uno <strong>de</strong> los aspectos <strong>de</strong> <strong>la</strong>Inteligencia Artificial Distribuida (DAI:Distributed Artificial Intelligence) [20], aplicadosa distintos campos comerciales e industriales.La DAI es una subdisciplina <strong>de</strong> <strong>la</strong> InteligenciaArtificial que trata, entre otros campos, el enfoque<strong>de</strong> agente y los MAS. El concepto <strong>de</strong> agente engeneral se aplica para representar una unidadartificial plenamente operativa que actúa en<strong>de</strong>legación <strong>de</strong> un humano o <strong>de</strong> otro sistemaartificial [20]. La preocupación por aplicarsistemas DAI en <strong>la</strong> resolución <strong>de</strong> problemas existe<strong>de</strong>s<strong>de</strong> hace algunos años, sobre todo en elcontexto <strong>de</strong>l soporte a <strong>la</strong> <strong>de</strong>cisión [10] y <strong>la</strong> gestión<strong>de</strong> <strong>la</strong> producción [9]. También se ha utilizado enaplicaciones más específicas, como el controlurbano, entrenamiento en tiempo real, control ygestión <strong>de</strong> instrumentos <strong>de</strong> medida enaceleradores <strong>de</strong> partícu<strong>la</strong>s, gestión <strong>de</strong> recursos enfactorías distribuidas, sistemas <strong>de</strong>telecomunicaciones [4].Más recientemente, con <strong>la</strong> introducción <strong>de</strong> losMAS se ha extendido el espectro <strong>de</strong> aplicación <strong>de</strong><strong>la</strong> DAI con bastante éxito [16] [22] [8]. Pero


también todo esto comportó que se tomara enserio <strong>la</strong> gestión y <strong>de</strong>sarrollo <strong>de</strong> proyectos <strong>de</strong> DAIy <strong>de</strong> MAS [12].A<strong>de</strong>más, otro problema <strong>de</strong>rivado <strong>de</strong> estaeclosión tecnológica ha sido <strong>la</strong> falta <strong>de</strong>profesionales con una formación suficiente quecombine el conocimiento y <strong>la</strong> capacidad, tanto enDAI y MAS, como en Ingeniería <strong>de</strong>l Software yProyectos Informáticos [21]. Esta preocupacióntambién está recogida en <strong>la</strong> última propuesta <strong>de</strong>lComputing Curricu<strong>la</strong> 2001 Computer Science[19].La situación es parecida en nuestro paísempezando por <strong>la</strong>s titu<strong>la</strong>ciones re<strong>la</strong>cionadas en <strong>la</strong>universidad y su p<strong>la</strong>nteamiento académico. Ocurreque tradicionalmente suele existir ciertodistanciamiento metodológico y científico entrelos que investigan y enseñan en IA respecto <strong>de</strong> losque trabajan en ISW o en Ingeniería <strong>de</strong>lHardware. Por tanto, es preciso tomar conciencia<strong>de</strong> que el trabajo en proyectos que se basan enDAI y/o en MAS <strong>de</strong>ben ser multidisciplinares yempezar a formar a los futuros ingenierosinformáticos en ese sentido [5] [11].Por tanto, el objetivo <strong>de</strong> este trabajo es elp<strong>la</strong>nteamiento <strong>de</strong> una asignatura que preten<strong>de</strong>aglutinar los enfoques científicos, metodológicosy técnicos, <strong>de</strong> <strong>la</strong> IA, <strong>la</strong> DAI, los MAS, <strong>la</strong>Ingeniería <strong>de</strong> Proyectos y <strong>la</strong> Ingeniería <strong>de</strong>lSoftware. Esta asignatura se <strong>de</strong>nomina Ingeniería<strong>de</strong> Agentes Software y se <strong>de</strong>scriben sus objetivos yestructura, así como el contexto institucional y elmarco académico en que se pue<strong>de</strong> encuadrar conel propósito <strong>de</strong> ofrecer a los futuros ingenierosinformáticos una formación más específica en el<strong>de</strong>sarrollo <strong>de</strong> proyectos basado en MAS.En <strong>la</strong> sección siguiente se <strong>de</strong>scribirá <strong>la</strong>asignatura propuesta intentando cubrir losdistintos aspectos docentes y académicos. Acontinuación, se estudiará <strong>la</strong> estructura <strong>de</strong>contenido teórico y práctico. Después se<strong>de</strong>scribirán los resultados esperados. Y en <strong>la</strong>sección siguiente se expresarán <strong>la</strong>s conclusionesobtenidas2. Descripción general <strong>de</strong> <strong>la</strong> propuestaPara proponer una nueva asignatura <strong>de</strong>ntro <strong>de</strong> unP<strong>la</strong>n <strong>de</strong> Estudios <strong>de</strong> una titu<strong>la</strong>ción universitaria espreciso justificar bajo qué contexto y para qué sequiere <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> misma. Entonces, hay queexplicar los distintos factores asociados acualquier asignatura: contexto, objetivos,metodología docente y estructura <strong>de</strong> contenidos yprácticas. Y esto es lo que se va a hacer acontinuación.2.1. Contexto <strong>de</strong> <strong>la</strong> AsignaturaEn el contexto universitario local <strong>de</strong> los autores,actualmente <strong>la</strong> asignatura propuesta no existe enlos p<strong>la</strong>nes <strong>de</strong> estudios <strong>de</strong> Ingeniería Informática <strong>de</strong><strong>la</strong> Universitat Jaume I, ni en el <strong>de</strong> 1991 [1], ni enlos que se acaban <strong>de</strong> estrenar en esta cursoacadémico [2]. Y por <strong>la</strong> prospección curricu<strong>la</strong>rhecha por los autores en diversas universida<strong>de</strong>s, sepue<strong>de</strong> afirmar que tampoco existe en otros p<strong>la</strong>nes<strong>de</strong> estudios (salvo error o excepción). Sinembargo, esta materia <strong>de</strong>bería ser tenida en cuentapara futuras revisiones <strong>de</strong> p<strong>la</strong>nes <strong>de</strong> estudios amedida que <strong>la</strong> IA, <strong>la</strong> DAI y los sistemasorientados a agentes vayan tomando mayorprotagonismo en <strong>la</strong>s aplicaciones industriales,comerciales, y científicas en general [18] [19]. Porlo tanto, el contexto académico <strong>de</strong> esta asignaturaes el segundo ciclo <strong>de</strong> Ingeniería Informática en <strong>la</strong>intensificación <strong>de</strong> Sistemas <strong>de</strong> Información. Seríarecomendable que se ofertara en el último curso,posteriormente a Ingeniería <strong>de</strong>l Software y otrasmaterias re<strong>la</strong>cionadas con <strong>la</strong> InteligenciaArtificial.La experiencia acumu<strong>la</strong>da por los autores enasignaturas re<strong>la</strong>cionadas con <strong>la</strong> Ingeniería <strong>de</strong>lSoftware, <strong>la</strong> Ingeniería <strong>de</strong> Integración <strong>de</strong> Sistemasy <strong>la</strong> Ingeniería <strong>de</strong> Sistemas <strong>de</strong> Información para <strong>la</strong>Producción, tanto <strong>de</strong> segundo ciclo, como entercer ciclo, ha sido valiosa a <strong>la</strong> hora <strong>de</strong> diseñar elcontenido <strong>de</strong> <strong>la</strong> asignatura que se presenta. Dehecho, una <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong> tercer ciclo quese imparte actualmente, <strong>de</strong>nominada Desarrollo<strong>de</strong> Software Orientado a Objetos Avanzado, es unpequeño prototipo <strong>de</strong> lo que los autores concibencomo una asignatura <strong>de</strong> más envergadura.2.2. Objetivos <strong>de</strong> <strong>la</strong> asignaturaSe preten<strong>de</strong> que los alumnos adquieranconocimientos teóricos y prácticos específicospara el <strong>de</strong>sarrollo <strong>de</strong> agentes y sistemasmultiagente en un contexto amplio <strong>de</strong> <strong>la</strong> DAI y <strong>de</strong><strong>la</strong>s aplicaciones software (MAS, sofbots) locales o


en Internet (web). Se quiere introducir a losalumnos en el manejo <strong>de</strong> herramientas <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> agentes comerciales cuyascaracterísticas son más estables que los prototiposuniversitarios. También se tiene <strong>la</strong> intención <strong>de</strong>fomentar <strong>la</strong>s habilida<strong>de</strong>s <strong>de</strong>l trabajo en equipomultidisciplinar para el <strong>de</strong>sarrollo <strong>de</strong> proyectosDAI y MAS en particu<strong>la</strong>r. En resumen, sepreten<strong>de</strong> formar el embrión <strong>de</strong>l futuro Ingeniero<strong>de</strong> Sistemas Multiagente.2.3. Metodología DocenteDado el cariz científico y tecnológico <strong>de</strong> <strong>la</strong>asignatura, se ha adoptado un enfoque docentebasado en un mo<strong>de</strong>lo instruccional teórico<strong>de</strong>nominado MISE (Mo<strong>de</strong>lo Instruccional <strong>de</strong> <strong>la</strong>Situación Educativa) [6], don<strong>de</strong> se p<strong>la</strong>nteafundamentalmente <strong>la</strong> interacción entre profesor,asignatura y estudiante, y da especial importanciaal proceso <strong>de</strong> enseñanza/aprendizaje con distintosniveles <strong>de</strong> objetivos: metas <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción,generales <strong>de</strong> <strong>la</strong> asignatura y operativos <strong>de</strong> cadaunidad instruccional. Con respecto a los objetivosgenerales, se establecen según tres dominiosdistintos: cognitivo, socio-afectivo y psicomotor.Con respecto al dominio cognitivo, se haestablecido una segmentación <strong>de</strong>l contenido <strong>de</strong> <strong>la</strong>asignatura. En primer lugar, se ha establecido unnúcleo <strong>de</strong> contenido que sea expuesto por elprofesor en forma <strong>de</strong> c<strong>la</strong>se magistral, pero quesirva <strong>de</strong> introducción y <strong>de</strong> enganche al resto <strong>de</strong> <strong>la</strong>asignatura. En segundo lugar, se ha diseñado unespectro <strong>de</strong> temas fuera <strong>de</strong>l núcleo que seanmenos teóricos y que puedan ser <strong>de</strong>sarrol<strong>la</strong>dos porlos alumnos. En tercer lugar, el profesor <strong>de</strong>beproporcionar <strong>la</strong>s prácticas introductoriasre<strong>la</strong>cionadas con <strong>la</strong> parte que él mismo haexpuesto. Y en cuarto lugar, los alumnos <strong>de</strong>beríanabordar <strong>la</strong> realización <strong>de</strong> un proyecto <strong>de</strong> mayorenvergadura, que aglutinara los conocimientosteóricos y prácticos nucleares, pero que se base enlos temas periféricos.Con respecto al dominio socio-afectivo, sepreten<strong>de</strong> facilitar que los estudiantes <strong>de</strong>sarrollensu habilidad <strong>de</strong> ser responsables en su trabajo,para trabajar y tomar <strong>de</strong>cisiones en equipo, quesean constructivos y buenos comunicadores, etc.Para ello, por una parte se ha pensado que losalumnos establezcan un “contrato” con el profesoren el que se comprometan a <strong>de</strong>sarrol<strong>la</strong>r un temaelegido <strong>de</strong>l conjunto <strong>de</strong> temas periféricos.También se pue<strong>de</strong>n añadir otras cláusu<strong>la</strong>s queestipulen una valoración adicional si el tema seexpone al resto <strong>de</strong> compañeros, sea en forma <strong>de</strong>seminario, sea en forma <strong>de</strong> grupos <strong>de</strong> discusión.Por otra parte, se ha previsto dar <strong>la</strong> suficienteflexibilidad y responsabilidad a cada alumno paraque <strong>de</strong>sarrolle <strong>la</strong> asignatura o los trabajos yprácticas, <strong>de</strong> forma individual o colectivaformando un equipo <strong>de</strong> trabajo.Con respecto al dominio psicomotor, sepreten<strong>de</strong> que los alumnos <strong>de</strong>sarrollen sushabilida<strong>de</strong>s en el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s prácticas,trabajando con <strong>la</strong>s herramientas <strong>de</strong> diseño y<strong>de</strong>sarrollo, y adquiriendo experiencia en <strong>la</strong>aplicación <strong>de</strong> estas herramientas a casosconcretos.2.4. Evaluación <strong>de</strong> <strong>la</strong> asignaturaDada <strong>la</strong> flexibilidad y responsabilidad que sepue<strong>de</strong> conce<strong>de</strong>r a cada alumno para que <strong>de</strong>sarrolle<strong>la</strong> asignatura o individualmente o formandoequipo <strong>de</strong> trabajo, <strong>la</strong> evaluación <strong>de</strong>be estar acor<strong>de</strong>con <strong>la</strong>s propuestas metodológicas mencionadas yasí, <strong>de</strong>be estar compartimentada y aplicarse según<strong>la</strong> modalidad <strong>de</strong> trabajo elegida por los alumnos.Se valorará en primer lugar el contenidoteórico teniendo en cuenta <strong>la</strong> diversidad <strong>de</strong>recorridos. Si el alumno ha elegido <strong>de</strong>sarrol<strong>la</strong>rso<strong>la</strong>mente el temario básico, se le valorará hastaun nivel máximo previamente estipu<strong>la</strong>do ypublicitado, que siempre será menor que <strong>la</strong> notamáxima oficial. En cambio, si el alumno haelegido <strong>de</strong>sarrol<strong>la</strong>r a<strong>de</strong>más alguno <strong>de</strong> los temasperiféricos mediante su propio contrato, <strong>la</strong>valoración podrá ser superior. Y finalmente, si e<strong>la</strong>lumno presenta en público el trabajo realizado,pue<strong>de</strong> alcanzar <strong>la</strong> máxima nota establecida paraesta franja.Por otra parte, se valorará el trabajocontinuado <strong>de</strong>l alumno en <strong>la</strong>s sesiones <strong>de</strong>prácticas, tanto en el aspecto técnico <strong>de</strong>l uso <strong>de</strong> <strong>la</strong>sherramientas, como <strong>de</strong>l aspecto socio-afectivo enel trabajo en equipo y participación activa. Paraque los alumnos puedan revisar el esfuerzorealizado, se <strong>de</strong>be pedir una memoria <strong>de</strong> prácticasque incluya un resumen <strong>de</strong> los resultadosobtenidos en cada una <strong>de</strong> <strong>la</strong>s prácticas o sesiones.Finalmente, se valorará <strong>la</strong> capacidad <strong>de</strong>trabajo en equipo y alcance <strong>de</strong> los objetivos en el


dominio cognitivo según <strong>la</strong> Taxonomía <strong>de</strong> Bloom[6], comprensión, aplicación y resolución <strong>de</strong>problemas, mediante el <strong>de</strong>sarrollo <strong>de</strong> un pequeñoproyecto que integre <strong>la</strong>s disciplinas mencionadas.También se valorará <strong>la</strong> responsabilidad en eltrabajo y <strong>la</strong> capacidad <strong>de</strong> superación mediante <strong>la</strong>programación <strong>de</strong> revisiones periódicas en <strong>la</strong>s queel profesor pueda supervisar los avances técnicosy <strong>la</strong>s actitu<strong>de</strong>s respecto <strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>ssurgidas.Aunque no es realmente imprescindible en eldiseño <strong>de</strong> <strong>la</strong> asignatura, se pue<strong>de</strong> dar unaestimación inicial cuantitativa <strong>de</strong>l peso <strong>de</strong> cadaaspecto valorado: valoración teórica hasta el 60%,valoración práctica hasta el 15%, y valoraciónaplicativa hasta el 25%, sumando así el 100% <strong>de</strong><strong>la</strong> calificación total. Dentro <strong>de</strong> estos pesos, hayque consi<strong>de</strong>rar, por ejemplo, <strong>la</strong>s rutas <strong>de</strong> temariop<strong>la</strong>nteadas, siendo <strong>de</strong>l 40% <strong>la</strong> ruta básica, y<strong>de</strong>jando el margen <strong>de</strong>l 20% restante para evaluarlos contratos.aplicación a casos concretos.2.5. Caracterización académicaDados los objetivos y el p<strong>la</strong>nteamiento general <strong>de</strong>esta asignatura, se estima que su carga docente<strong>de</strong>be ser consi<strong>de</strong>rable y no <strong>de</strong>be encuadrarse en unsolo semestre, sino distribuirse a lo <strong>la</strong>rgo <strong>de</strong> todoel curso. Según <strong>la</strong>s estipu<strong>la</strong>ciones oficiales sobrep<strong>la</strong>nes <strong>de</strong> estudios, a <strong>la</strong>s asignaturas anuales serecomienda que se les asigne entre 9 y 15 créditos.En el caso concreto <strong>de</strong> este trabajo, se ha elegido<strong>la</strong> máxima carga <strong>de</strong> 15 créditos. La distribución <strong>de</strong>los mismos se <strong>de</strong>tal<strong>la</strong> en <strong>la</strong> sección siguiente.Por otra parte, no se consi<strong>de</strong>ra necesarioestudiar aquí el carácter <strong>de</strong> troncalidad,obligatoriedad u optatividad <strong>de</strong> <strong>la</strong> asignaturaporque eso está <strong>de</strong> momento regu<strong>la</strong>do por <strong>la</strong>sleyes correspondientes.Finalmente, se recomienda que esta asignaturase asigne al último curso <strong>de</strong>l segundo ciclo <strong>de</strong>Ingeniería Informática, sea en <strong>la</strong> intensificación <strong>de</strong>Sistemas <strong>de</strong> Información, sea en otra más próximaa <strong>la</strong> IA.3. Estructura <strong>de</strong> <strong>la</strong> asignaturaLa estructura <strong>de</strong> <strong>la</strong> asignatura se basa lógicamenteen el contenido teórico y práctico que aportenconocimientos <strong>de</strong> <strong>la</strong>s disciplinas mencionadas másarriba. Así, principalmente se incluirán <strong>la</strong>Inteligencia Artificial e <strong>la</strong> Ingeniería <strong>de</strong>l Software,pero restringidas a meras introducciones para noso<strong>la</strong>par con otras asignaturas. Y <strong>de</strong>spués seincluirán los conocimientos integrados, como losAgentes y los MAS. Es importante incorporartambién una introducción a <strong>la</strong> Ingeniería <strong>de</strong>Requisitos, <strong>de</strong> Componentes y <strong>de</strong> Integraciónporque los sistemas <strong>de</strong> IA suelen tenerp<strong>la</strong>nteamientos complejos. Y se cierra <strong>la</strong>asignatura con una exposición <strong>de</strong> <strong>la</strong>s distintastecnologías implicadas en el <strong>de</strong>sarrollo <strong>de</strong>sistemas DAI y MAS.3.1. Estructura <strong>de</strong>l contenido teóricoEl contenido teórico se ha dividido en seisunida<strong>de</strong>s instruccionales: Introducción a <strong>la</strong>Ingeniería <strong>de</strong> Agentes, Revisión <strong>de</strong> DisciplinasAsociadas, Enfoques, Estrategias y Metodologías<strong>de</strong> Desarrollo, Entornos y Herramientas <strong>de</strong> Diseñoy Desarrollo, Calidad y Análisis y Gestión <strong>de</strong>lRiesgo, y Caracterización <strong>de</strong> Ámbitos <strong>de</strong>Aplicación <strong>de</strong> MAS. A continuación se <strong>de</strong>scribencon más <strong>de</strong>talle estas unida<strong>de</strong>s.Unidad Teórica I: Introducción a <strong>la</strong>Ingeniería <strong>de</strong> Agentes. Esta unidad se compone<strong>de</strong> los temas siguientes: (1) Objetivos, contexto yaplicación <strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong> Agentes Software;(2) Perfil profesional <strong>de</strong>l Ingeniero <strong>de</strong> Agentes.(3) Introducción a <strong>la</strong> DAI; (4) Introducción a losAgentes en general; y (5) Introducción a losSistemas Multiagente. La carga docente <strong>de</strong> estaunidad será <strong>de</strong> 1,5 créditos (15 horas).Unidad Teórica II: Revisión <strong>de</strong> DisciplinasAsociadas, Enfoques. Esta unidad se compone <strong>de</strong>los temas siguientes: (1) Revisión <strong>de</strong> <strong>la</strong> Ingeniería<strong>de</strong>l Software; (2) Revisión <strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong>Requisitos; (3) Revisión <strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong>Componentes; (4) Revisión <strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong>Integración <strong>de</strong> Sistemas; (5) Revisión <strong>de</strong> <strong>la</strong>Inteligencia Artificial; (6) Tecnologías para el<strong>de</strong>sarrollo <strong>de</strong> sistemas software; (7) Tecnologíaspara el <strong>de</strong>sarrollo <strong>de</strong> sistemas DAI; (8)Tecnologías para el <strong>de</strong>sarrollo <strong>de</strong> sistemas MAS.La carga docente <strong>de</strong> esta unidad será <strong>de</strong> 1,5créditos (15 horas).Unidad Teórica III: Estrategias yMetodologías <strong>de</strong> Desarrollo. Esta unidad secompone <strong>de</strong> los temas siguientes: (1) Estrategias


<strong>de</strong> diseño y gestión <strong>de</strong> proyectosmultidisciplinares; (2) Técnicas estándar para elmo<strong>de</strong><strong>la</strong>do <strong>de</strong> sistemas: UML [15]; (3)Metodologías generales <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> objetos yagentes software; (4) Metodologías específicas <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> sistemas multiagente. La cargadocente <strong>de</strong> esta unidad será <strong>de</strong> 2 créditos (20horas).Unidad Teórica IV: Entornos yHerramientas <strong>de</strong> Diseño y Desarrollo. Estaunidad se compone <strong>de</strong> los temas siguientes: (1)Herramientas <strong>de</strong> diseño y mo<strong>de</strong><strong>la</strong>do <strong>de</strong> objetos yagentes; (2) Entornos <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> agentes; (3)Lenguajes <strong>de</strong> mo<strong>de</strong><strong>la</strong>do, comunicación ygeneración <strong>de</strong> agentes y arquitecturas asociadas.La carga docente <strong>de</strong> esta unidad será <strong>de</strong> 2 créditos(20 horas).Unidad Teórica V: Calidad y Análisis yGestión <strong>de</strong>l Riesgo. Esta unidad se compone <strong>de</strong>los temas siguientes: (1) Métricas <strong>de</strong> agentes yarquitecturas <strong>de</strong> agentes; (2) Calidad <strong>de</strong> losproyectos y sistemas MAS; (3) Análisis <strong>de</strong>lriesgo; (4) Gestión <strong>de</strong>l riesgo. La carga docente <strong>de</strong>esta unidad será <strong>de</strong> 0,7 créditos (7 horas).Unidad Teórica VI: Caracterización <strong>de</strong>Ámbitos <strong>de</strong> Aplicación <strong>de</strong> MAS. Esta unidad secompone <strong>de</strong> los temas siguientes: (1) Aplicacionesweb, (2) Sistemas heterogéneos integrados; (3)Sistemas <strong>de</strong> control complejo (tráfico urbano, etc.)Esta parte <strong>de</strong>be servir para ofrecer temasconcretos <strong>de</strong> trabajo para los alumnos. La cargadocente <strong>de</strong> esta unidad será <strong>de</strong> 1,3 crédito (13horas).Esta parte suma un total <strong>de</strong> 9 créditos (90horas).3.2. Estructura <strong>de</strong>l contenido prácticoEl contenido práctico se ha dividido en seisunida<strong>de</strong>s instruccionales: P<strong>la</strong>nteamiento y Diseño<strong>de</strong> Proyectos <strong>de</strong> DAI, Gestión <strong>de</strong> Recursos yProyectos, Herramientas <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do; Entornos<strong>de</strong> Desarrollo, Análisis <strong>de</strong> Calidad y <strong>de</strong>l Riesgo, yEstudio <strong>de</strong> Viabilidad <strong>de</strong> Proyectos MAS. Enenfoque metodológico general será el trabajosobre casos prácticos en <strong>la</strong> medida <strong>de</strong> lo posible.Unidad Práctica I: P<strong>la</strong>nteamiento y Diseño<strong>de</strong> Proyectos <strong>de</strong> DAI. Esta unidad se centra en eltrabajo sobre <strong>la</strong>s activida<strong>de</strong>s y estrategiasnecesarias para abordar los proyectos en DAI.También se trata <strong>de</strong> introducir alguna metodologíatécnica, como por ejemplo, el Método Unificado<strong>de</strong> Desarrollo <strong>de</strong> Software [7]. La carga docente<strong>de</strong> esta unidad será <strong>de</strong> 1 crédito (10 horas).Unidad Práctica II: Gestión <strong>de</strong> Recursos yProyectos. Esta unidad se centra en el trabajosobre <strong>la</strong>s activida<strong>de</strong>s y estrategias necesarias paraadquirir, gestionar y supervisar los recursosnecesarios para <strong>de</strong>sarrol<strong>la</strong>r los proyectos en DAI.Estudia especialmente <strong>la</strong> gestión <strong>de</strong> recursoshumanos y <strong>la</strong> dirección y coordinación <strong>de</strong> equipos<strong>de</strong> proyecto. La carga docente <strong>de</strong> esta unidad será<strong>de</strong> 0,5 créditos (5 horas).Unidad Práctica III: Herramientas <strong>de</strong>Mo<strong>de</strong><strong>la</strong>do. Esta unidad se centra en el trabajo conuna o dos herramientas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do <strong>de</strong> sistemasen general y <strong>de</strong> sistemas <strong>de</strong> agentes. En el primercaso, se apuesta por alguna herramienta queaplique UML, ya que es un estándar OMG [15](versiones 1.3, 1.4 y 1.5), y está previsto que enbreve alcance <strong>la</strong> estandarización ISO con <strong>la</strong>versión 2.0 [13]. Por ejemplo, Rational Rose 2001Enterprise Edition, <strong>de</strong> Rational Corp. La cargadocente <strong>de</strong> esta unidad será <strong>de</strong> 1,5 créditos (15horas).Unidad Práctica IV: Entornos <strong>de</strong>Desarrollo. Esta unidad se centra en el trabajocon los entornos <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> agentes y quizáse contemple algún entorno <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>software orientado a objetos. Uno <strong>de</strong> los posiblesproductos pue<strong>de</strong> ser Agent-buil<strong>de</strong>r <strong>de</strong> Reticu<strong>la</strong>rSystems. La carga docente <strong>de</strong> esta unidad será <strong>de</strong>1,5 créditos (15 horas).Unidad Práctica V: Análisis <strong>de</strong> Calidad y<strong>de</strong>l Riesgo. Esta unidad se centra en <strong>la</strong> aplicación<strong>de</strong> metodologías y técnicas para el Análisis <strong>de</strong>Calidad según los contenidos teóricos dados.También se trabaja el Análisis <strong>de</strong> Riesgosaplicado al <strong>de</strong>sarrollo <strong>de</strong> los proyectos MAS. Lacarga docente <strong>de</strong> esta unidad será <strong>de</strong> 0,5 crédito (5horas).Unidad Práctica VI: Estudio <strong>de</strong> Viabilidad<strong>de</strong> Proyectos MAS. Esta unidad se centra en eldiseño y estudio preliminar <strong>de</strong> proyectosconcretos pertenecientes a los distintos ámbitos <strong>de</strong>aplicación <strong>de</strong> los MAS que se han caracterizadoen <strong>la</strong> parte teórica. En principio, los ejemplos sonproporcionados por el profesor. Pero también sepue<strong>de</strong> consi<strong>de</strong>rar que esta unidad sirva para elp<strong>la</strong>nteamiento inicial <strong>de</strong>l proyecto a <strong>de</strong>sarrol<strong>la</strong>r en<strong>la</strong> otra franja <strong>de</strong> evaluación. La carga docente <strong>de</strong>esta unidad será <strong>de</strong> 1 crédito (10 horas).


Esta parte suma un total <strong>de</strong> 6 créditos (60horas).4. ResultadosEl resultado estimado es un proyecto docentesobre una propuesta <strong>de</strong> nueva asignatura. Peroéste se muestra parcialmente <strong>de</strong>sarrol<strong>la</strong>do ya queno se han <strong>de</strong>scrito los <strong>de</strong>talles <strong>de</strong> objetivos yestructura para cada uno <strong>de</strong> los temas teóricos yunida<strong>de</strong>s prácticas, así como <strong>la</strong>s activida<strong>de</strong>scomplementarias y ejercicios a realizar. Tampocose incluye <strong>la</strong> bibliografía básica y recomendada.Esto último también estaría en función <strong>de</strong> <strong>la</strong>bibliografía disponible una vez se empezara aconstruir <strong>la</strong> asignatura.Por otra parte, el estudiante que haya<strong>de</strong>sarrol<strong>la</strong>do esta asignatura <strong>de</strong>be poseer, noso<strong>la</strong>mente un nivel aceptable <strong>de</strong> conocimientosteóricos y prácticos <strong>de</strong> dos disciplinas como IA eIngeniería <strong>de</strong>l Software, sino también <strong>de</strong>be haberadquirido un conjunto <strong>de</strong> habilida<strong>de</strong>s yresponsabilida<strong>de</strong>s que le confieran una perspectivaprofesional más amplia. Con ello podrá abordarlos problemas reales <strong>de</strong>l campo <strong>de</strong> los sistemasDAI y MAS con criterios más consolidados.3. ConclusionesSe presentan los objetivos, contenido ymetodología docente <strong>de</strong> una asignatura<strong>de</strong>nominada Ingeniería <strong>de</strong> Agentes Software quese pue<strong>de</strong> encuadrada en el segundo ciclo <strong>de</strong>Ingeniería Informática.Dado que esta asignatura se ha diseñado conuna fuerte carga <strong>de</strong> créditos, quizá unp<strong>la</strong>nteamiento alternativo podría ser <strong>la</strong> división enasignaturas menores que, con algunas materiascomplementarias, pudieran formar unaintensificación propia.La Ingeniería <strong>de</strong> Agentes Software preten<strong>de</strong>formar a los futuros ingenieros informáticos en el<strong>de</strong>sarrollo <strong>de</strong> sistemas en el ámbito <strong>de</strong> <strong>la</strong>Inteligencia Artificial Distribuida y, másconcretamente, <strong>de</strong> Sistemas Multiagente. Así,habrá profesionales preparados para abordar losgran<strong>de</strong>s proyectos que actualmente p<strong>la</strong>ntea <strong>la</strong>sociedad respecto <strong>de</strong> <strong>la</strong>s nuevas tecnologías, <strong>la</strong>scomunicaciones, <strong>la</strong> Medicina y <strong>la</strong> Bioinformática.Referencias[1] 22164-RESOLUCIÓN <strong>de</strong> 20 <strong>de</strong> Julio <strong>de</strong> 1991,<strong>de</strong> <strong>la</strong> Universidad Jaume I <strong>de</strong> Castellón, por <strong>la</strong>que se hace público el P<strong>la</strong>n <strong>de</strong> Estudios <strong>de</strong>Ingeniero en Informática <strong>de</strong> esta Universidad.Boletín Oficial <strong>de</strong>l Estado, 29-8-1991; 207:28671-28682.[2] 22893-RESOLUCIÓN <strong>de</strong> 20 <strong>de</strong> noviembre <strong>de</strong>2001, <strong>de</strong> <strong>la</strong> Universidad “Jaume I” <strong>de</strong>Castellón, por <strong>la</strong> que se hace público el p<strong>la</strong>n<strong>de</strong> estudios <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniero enInformática <strong>de</strong> esta Universidad. BoletínOficial <strong>de</strong>l Estado, 5-12-2001; 291: 45065-45078.[3] Boehm B. Software Engineering Economics.Prentice-Hall, 1981.[4] Chaib-draa B. "Industrial applications ofdistributed AI". Communications of the ACM;38(11);1995: 49-53.[5] Denning PJ. “The profession of IT: who arewe?”. Communications of the ACM, 44 (2);2001: 15-19.[6] Doménech, F.; Proceso <strong>de</strong> enseñanza/aprendizaje universitario. Aspectos teóricos yprácticos. Publicacions <strong>de</strong> <strong>la</strong> UniversitatJaume I, Castellón ,1999.[7] Jacobson I., Booch G., Rumbaugh J. ElProceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software.Addison-Wesley, Madrid, 2000.[8] K. S. Barber, C. E. Martin. "Dynamicreorganization of <strong>de</strong>cision-making groups".Proceedings of the fifth internationalconference on Autonomous agents; 2001:513-520.[9] Laurent JP., Lanusse A., Panet BP."Distributed artificial intelligence: a necessaryparadigm for supervising productionmanagement activities". Proceedings of thesecond international conference on Industria<strong>la</strong>nd engineering applications of artificialintelligence and expert systems; 1989: 326-335.[10] Lu SC-Y., Thompson JB. "A distributedartificial intelligence approach to integrate<strong>de</strong>ngineering <strong>de</strong>sign". Proceedings of the firstinternational conference on Industrial &engineering applications of artificialintelligence & expert systems; 1988: 438-446.


[11] M.J.Wooldridge, N.R.Jennings."Software Engineering with Agents: Pitfallsand Pratfalls". IEEE INTERNETCOMPUTING, 3(3); 1999: 20-27.[12] Michael Schillo, Hans-Jürgen Bürckert,K<strong>la</strong>us Fischer, Matthias Klusch. "Towards a<strong>de</strong>finition of robustness for market-style openmulti-agent systems". Proceedings of the fifthinternational conference on Autonomousagents; 2001: 75-76.[13] Object Management Group. “UML 2.0RFP. Request For Proposal UML 2.0 DiagramInterchange RFP”. OMG Document: ad/2001-02-39, October 22, 2001. Obtained fromhttp://www.celigent.com/omg/uml2wg.htm, at03/02/2002.[14] Pressman RS. Ingeniería <strong>de</strong>l SW. Unenfoque práctico (5ª ed.) Mc Graw-Hill; 2001.[15] Rumbaugh J., Jacobson I., Booch G. ElLenguaje Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do. Manual <strong>de</strong>Referencia. Addison-Wesley, Madrid, 2000.[16] Samir Aknine, Hamid Aknine."Contribution of a multi-agent cooperationmo<strong>de</strong>l in a hospital". Proceedings of the thirdannual conference on Autonomous Agents;1999: 406-407.[17] Sánchez MA, Gómez-Senent E. "Laprofesión <strong>de</strong> ingeniero". Gómez-Senent E.(ed.) La ingeniería <strong>de</strong>s<strong>de</strong> una perspectivaglobal. Servicio <strong>de</strong> Publicaciones <strong>de</strong> <strong>la</strong>Universidad Politécnica <strong>de</strong> Valencia,Valencia, 2000.[18] Spooner DL. “A Bachelor of Science ininformation technology: an interdisciplinaryapproach”. Proceedings of the thirty-firstSIGCSE technical symposium on Computerscience education; 2000: 285-289.[19] The Joint Task Force on ComputingCurricu<strong>la</strong>. “Computing Curricu<strong>la</strong> 2001Computer Science. Final Report, December15, 2001”. ACM Journal of EducationalResources in Computing, 1(3); 2001: 240.[20] Weiss G (ed.). Multiagent Systems.Mo<strong>de</strong>rn Approach to Distributed ArtificialIntelligence. MIT Press, Cambridge, MA(USA), 1999.[21] Yi Shang, Hongchi Shi, Su-Shing Chen."Agent technology in computer science an<strong>de</strong>ngineering curriculum". Annual JointConference Integrating Technology intoComputer Science Education, 5th annualSIGCSE/SIGCUE conference on Innovationand technology in computer scienceeducation; 2000: 123-126.[22] Yi Shang, Hongchi Shi, Su-Shing Chen."An intelligent distributed environment foractive learning". Journal of EducationalResources in Computing, 1(2); 2001.


Reparto <strong>de</strong> <strong>la</strong> carga <strong>de</strong> trabajo en <strong>la</strong> realización <strong>de</strong> prácticas engrupo mediante una herramienta <strong>de</strong> estimaciónMacario Polo, Mario Piattini y Francisco RuizEscue<strong>la</strong> Superior <strong>de</strong> Informática – Universidad <strong>de</strong> Castil<strong>la</strong>-La ManchaPaseo <strong>de</strong> <strong>la</strong> Universidad, 413071-Ciudad RealResumen.En <strong>la</strong> calificación final <strong>de</strong> muchas asignaturas sepon<strong>de</strong>ra, junto a <strong>la</strong> nota <strong>de</strong>l examen final o <strong>de</strong> losposibles parciales, <strong>la</strong> realización <strong>de</strong> un trabajopráctico, que a veces pue<strong>de</strong> realizarse en grupo.Es <strong>de</strong>seable que, en estos casos, los diferentesalumnos que realizan el trabajo dispongan <strong>de</strong>algún método que les permita realizar, a priori,un reparto lo más equitativo posible, <strong>de</strong> maneraque cada uno realizara un esfuerzoaproximadamente simi<strong>la</strong>r al <strong>de</strong>l resto <strong>de</strong>compañeros.En este artículo se presenta una herramienta que,con el fin mencionado, hemos empezado a utilizareste año en Ingeniería <strong>de</strong>l Software II, <strong>de</strong> quintocurso. La herramienta realiza una estimación <strong>de</strong>ltamaño en puntos-función <strong>de</strong> un sistema orientadoa objetos utilizando el método <strong>de</strong> Antoniol et al.[2]. Un beneficio añadido <strong>de</strong>l uso <strong>de</strong> <strong>la</strong>herramienta es <strong>la</strong> percepción, por parte <strong>de</strong> losalumnos, <strong>de</strong> <strong>la</strong> utilidad <strong>de</strong> <strong>la</strong>s métricas <strong>de</strong>software, que habitualmente son simplementemencionadas en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría.1. Introducción.En <strong>la</strong> evaluación <strong>de</strong> muchas asignaturasinterviene, a<strong>de</strong>más <strong>de</strong> <strong>la</strong> calificación obtenida enlos exámenes, <strong>la</strong> nota obtenida en algún trabajopráctico, que pue<strong>de</strong> ser a veces realizado engrupo. El reparto <strong>de</strong> <strong>la</strong>s cargas <strong>de</strong> trabajo entre losdiferentes alumnos <strong>de</strong>be ser lo más equitativoposible, <strong>de</strong> manera que todos <strong>de</strong>diquenaproximadamente el mismo esfuerzo al <strong>de</strong>sarrollo<strong>de</strong>l trabajo.Dependiendo <strong>de</strong> <strong>la</strong> asignatura, es posibleque los alumnos conozcan ya el concepto <strong>de</strong>métrica y que, incluso, conozcan <strong>de</strong>talles sobrealgunas <strong>de</strong> <strong>la</strong>s métricas más conocidas. En el caso<strong>de</strong> Ingeniería <strong>de</strong>l Software II, <strong>de</strong>l 5º curso <strong>de</strong>Ingeniería en Informática <strong>de</strong> <strong>la</strong> Escue<strong>la</strong> Superiormacario.polo@uclm.es<strong>de</strong> Informática <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Castil<strong>la</strong>-LaMancha, el estudio en <strong>de</strong>talle <strong>de</strong> algunas métricasforma parte <strong>de</strong> los contenidos <strong>de</strong>l primer parcial.A<strong>de</strong>más, algunos alumnos conocen métricasadicionales utilizadas en gestión <strong>de</strong> proyectos, enel caso <strong>de</strong> que hayan cursado en 4º P<strong>la</strong>nificación yGestión <strong>de</strong> Sistemas <strong>de</strong> Información. El segundoparcial <strong>de</strong> Ingeniería <strong>de</strong>l Software II se <strong>de</strong>dica a<strong>de</strong>sarrollo orientado a objetos, haciendo un énfasisespecial en <strong>la</strong> aplicación <strong>de</strong> patrones <strong>de</strong> diseño.Como práctica <strong>de</strong>l segundo parcial, los alumnos<strong>de</strong>ben <strong>de</strong>sarrol<strong>la</strong>r una aplicación completa porparejas, <strong>de</strong>biendo entregar al profesor toda <strong>la</strong>documentación generada, lo que incluyediagramas <strong>de</strong> casos <strong>de</strong> uso, algunos diagramas <strong>de</strong>interacción, algunos diagramas <strong>de</strong> estado y uno omás diagramas <strong>de</strong> c<strong>la</strong>ses.Con el objetivo <strong>de</strong> que los dos compañeros<strong>de</strong>diquen el mismo esfuerzo al <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>práctica, y teniendo en cuenta que en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong><strong>la</strong>boratorio se utiliza <strong>la</strong> herramienta Rational Rose(aunque pue<strong>de</strong> utilizarse cualquier otra, comoPoseidon, que es a<strong>de</strong>más gratuita), hemos<strong>de</strong>sarrol<strong>la</strong>do una herramienta que es capaz <strong>de</strong>realizar una estimación <strong>de</strong>l tamaño en puntosfunción<strong>de</strong>l sistema que se <strong>de</strong>be <strong>de</strong>sarrol<strong>la</strong>r, apartir <strong>de</strong>l diagrama <strong>de</strong> c<strong>la</strong>ses dibujado conRational Rose. El método utilizado para calcu<strong>la</strong>rel número <strong>de</strong> puntos-función es el <strong>de</strong>scrito porAntoniol et al. [2].Éste es el primer año en que utilizamos estaherramienta, por lo que no disponemos <strong>de</strong> datospropios sobre <strong>la</strong> bondad <strong>de</strong> <strong>la</strong>s estimacionesrealizadas. Los autores <strong>de</strong>l método, sin embargo,<strong>de</strong>dican gran parte <strong>de</strong> su artículo a <strong>la</strong> validaciónempírica <strong>de</strong> <strong>la</strong>s estimaciones, ofreciendoexcelentes resultados. No obstante, enten<strong>de</strong>mosque hay suficientes diferencias entre los proyectosevaluados (proyectos industriales frente aprácticas <strong>de</strong> una asignatura) como para revisar,


ajustar y adaptar el método a nuestro entornodocente.A pesar <strong>de</strong> esta carencia <strong>de</strong> resultadospropios sobre <strong>la</strong>s estimaciones realizadas, losalumnos perciben c<strong>la</strong>ramente los beneficios <strong>de</strong>luso <strong>de</strong> métricas en un proyecto real.El resto <strong>de</strong> este artículo se organiza <strong>de</strong> <strong>la</strong>siguiente manera: en <strong>la</strong> Sección 2 presentamosresumidamente el método utilizado por <strong>la</strong>herramienta para realizar <strong>la</strong> estimación <strong>de</strong>lnúmero <strong>de</strong> puntos-función. Las características <strong>de</strong><strong>la</strong> herramienta y su utilización en prácticas sepresentan en <strong>la</strong> Sección 3; por último,presentamos en <strong>la</strong> Sección 4 nuestras conclusionesy trabajos futuros.2. Breve <strong>de</strong>scripción <strong>de</strong>l métodoimplementado para calcu<strong>la</strong>r puntosfunción.Antoniol et al. [2] proponen <strong>la</strong> utilización<strong>de</strong>l diagrama <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> un sistema orientado aobjetos para realizar una estimación <strong>de</strong> su futurafuncionalidad mediante el uso <strong>de</strong> puntos-función.Proponen cuatro variantes para realizar <strong>la</strong>estimación, si bien obtienen resultados muyparecidos con todas el<strong>la</strong>s. Es por esto por lo que,para <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> herramienta, hemosimplementado <strong>la</strong> variante más sencil<strong>la</strong>.En esta variante, cada c<strong>la</strong>se se cuenta comoun Internal Logical File (ILF), y cada actor comoun External Input File (EIF). Cuando estosconjuntos han sido cargados con los elementosa<strong>de</strong>cuados, se recorren <strong>de</strong> <strong>la</strong> siguiente manera:• Inicialmente, a cada ILF y EIF sele asigna el valor RET=1. Porcada atributo simple <strong>de</strong>l elementose cuenta un DET, y se le suma unRET por cada asociación oagregación <strong>de</strong> cardinalidad mayorque uno.• Si el número <strong>de</strong> DET es menorque 51, se le asigna complejidadLow (L), y Average (A) en casocontrario.A continuación se consi<strong>de</strong>ran los métodos<strong>de</strong> cada ILF y EIF. Los autores agrupan <strong>la</strong>sExternal Inputs, External Outputs y ExternalInquiries bajo <strong>la</strong> única <strong>de</strong>nominación <strong>de</strong> “ServiceRequests” (SR). Cada método concreto (noabstracto) <strong>de</strong>l ILF o EIF consi<strong>de</strong>rado se consi<strong>de</strong>rauna SR, asignándole un DET por cada argumentosimple, y un RET por cada argumento complejo.A cada SR se le asigna complejidad Low,Average o High <strong>de</strong> acuerdo con <strong>la</strong> Tab<strong>la</strong> 1:FTR


1. Comunicación <strong>de</strong> datos2. Procesamiento distribuido3. Perfomance (<strong>de</strong>sempeño)4. Configuración <strong>de</strong>l equipamiento5. Volumen <strong>de</strong> transacciones6. Entrada <strong>de</strong> datos on-line7. Interfase con el usuario8. Actualización on-line9. Procesamiento complejo10. Reusabilidad11. Facilidad <strong>de</strong> implementación12. Facilidad <strong>de</strong> operación13. Múltiples locales14. Facilidad <strong>de</strong> cambiosTab<strong>la</strong> 3. Características generales <strong>de</strong>l sistema.Descripción Nivel <strong>de</strong> influenciaNo está presente o0no influyeInfluencia mínima 1Influencia mo<strong>de</strong>rada 2Influencia media 3Influencia significativa 4Influencia fuerte 5Tab<strong>la</strong> 4. Niveles <strong>de</strong> influencia <strong>de</strong> <strong>la</strong>s “característicasgenerales <strong>de</strong>l sistema”.La suma <strong>de</strong> los catorce niveles <strong>de</strong>influencia se utiliza en <strong>la</strong> siguiente ecuación paracalcu<strong>la</strong>r el parámetro “Factor <strong>de</strong> ajuste”:Factor <strong>de</strong> ajuste = (Nivel <strong>de</strong> influencia *0,01) + 0,65Ecuación 1. Ecuación para el cálculo <strong>de</strong>l factor <strong>de</strong> ajuste.Calcu<strong>la</strong>do el factor <strong>de</strong> ajuste, se obtieneel resultado esperado, que es el Número <strong>de</strong>puntos-función ajustados:Puntos-función ajustados = Puntos-función sinajustar X Factor <strong>de</strong> ajusteEcuación 2. Calculo <strong>de</strong>l número <strong>de</strong> puntos-funciónajustados.3. Descripción <strong>de</strong> <strong>la</strong> herramienta y su usopara <strong>la</strong> realización <strong>de</strong> prácticas.Como se observa, el proceso <strong>de</strong>l cálculo <strong>de</strong>puntos-función es complicado. Afortunadamente,nuestra herramienta automatiza <strong>la</strong> mayoría <strong>de</strong> lospasos.La Figura 1 muestra <strong>la</strong> ventana principal <strong>de</strong><strong>la</strong> aplicación. Permite <strong>la</strong> apertura <strong>de</strong> cualquiermo<strong>de</strong>lo Rational Rose (ficheros con extensión.mdl). Mediante el botón “Load”, <strong>la</strong> herramientacarga <strong>la</strong> lista <strong>de</strong> paquetes existentes en el mo<strong>de</strong>lo.Es posible que algunos <strong>de</strong> los paquetes no <strong>de</strong>banser evaluados, por estar siendo completamentereutilizados. En el ejemplo mostrado en <strong>la</strong> figurase han <strong>de</strong>scartado los paquetes estándar <strong>de</strong> java(aparecen en <strong>la</strong> lista “Discar<strong>de</strong>d packages”), <strong>de</strong>manera que <strong>la</strong> herramienta evaluará únicamente<strong>la</strong>s c<strong>la</strong>ses que <strong>de</strong>ban ser <strong>de</strong>sarrol<strong>la</strong>das por losalumnos.


Figura 1. Ventana principal <strong>de</strong> <strong>la</strong> aplicación.Una vez seleccionados los paquetes quese <strong>de</strong>sean evaluar, se arranca el proceso <strong>de</strong> medidamediante el botón “Measure”, que <strong>la</strong>nza <strong>la</strong>soperaciones necesarias para realizar <strong>la</strong> mediciónsegún el método <strong>de</strong>scrito en <strong>la</strong> sección anterior.Los elementos evaluados, suc<strong>la</strong>sificación como ILF, EIF o SR y sucomplejidad (Low, Average o High) aparecen en<strong>la</strong> lista que ocupa el <strong>la</strong>teral izquierdo <strong>de</strong> <strong>la</strong>pantal<strong>la</strong>. Los puntos-función sin ajustar soncalcu<strong>la</strong>dos automáticamente y mostrados en <strong>la</strong>tab<strong>la</strong> etiquetada “Unadjusted function-points”. Elusuario <strong>de</strong>be dar un valor entre 0 y 5 a <strong>la</strong>s catorcecaracterísticas generales <strong>de</strong>l sistema, con lo que elnúmero <strong>de</strong> puntos-función ajustados apareceautomáticamente en <strong>la</strong> caja <strong>de</strong> texto etiquetada“AFP” (130,2 en el ejemplo).3.1 Uso <strong>de</strong> <strong>la</strong> herramienta por losgrupos <strong>de</strong> alumnos.Los alumnos <strong>de</strong>ben disponer,evi<strong>de</strong>ntemente, <strong>de</strong>l diagrama <strong>de</strong> c<strong>la</strong>ses querepresenta <strong>la</strong> estructura <strong>de</strong> su práctica con uncierto nivel <strong>de</strong> <strong>de</strong>talle (c<strong>la</strong>ses, métodos yparámetros <strong>de</strong> los métodos). Deben conseguirestructurar el trabajo en paquetes, <strong>de</strong> tal maneraque el número <strong>de</strong> paquetes a <strong>de</strong>sarrol<strong>la</strong>r por cadaalumno tenga un tamaño en puntos-funciónaproximadamente igual.La experiencia <strong>de</strong> utilización en c<strong>la</strong>secomienza con una breve <strong>de</strong>scripción <strong>de</strong>l método<strong>de</strong> los puntos-función, explicando un poco más en<strong>de</strong>talle el método <strong>de</strong> cálculo implementado en <strong>la</strong>herramienta. Realmente, se percibe en losalumnos mucha curiosidad por utilizar unaherramienta <strong>de</strong> estimación “<strong>de</strong> verdad”, y seobserva que salen <strong>de</strong>l au<strong>la</strong> <strong>de</strong> prácticas muy


satisfechos, probablemente al comprobar que <strong>la</strong>smétricas tienen aplicaciones bien concretas yútiles, y que no son sólo meras fórmu<strong>la</strong>s <strong>de</strong>dudosa aplicación.4. Conclusiones y trabajos futuros.La herramienta presentada permite, porun <strong>la</strong>do, repartir equitativamente el esfuerzo que<strong>de</strong>ben <strong>de</strong>dicar los alumnos a <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong>sprácticas <strong>de</strong> Ingeniería <strong>de</strong>l software; y, por otro,les hace ver que <strong>la</strong>s métricas <strong>de</strong> software sonherramientas que tienen verda<strong>de</strong>ramente muchautilidad.La métrica elegida para realizar <strong>la</strong>estimación (funcionalidad <strong>de</strong> <strong>la</strong> aplicación enpuntos-función) ha sido criticada por variosautores (por ejemplo, [3]); sin embargo, suutilización en <strong>la</strong>s empresas está muy extendida yen <strong>la</strong> actualidad se han realizado múltiplesadaptaciones para su utilización en el paradigmaorientado a objetos ([2][4][5]).Para finales <strong>de</strong> este curso dispondremos<strong>de</strong> datos que nos permitan evaluar <strong>la</strong> vali<strong>de</strong>z <strong>de</strong> <strong>la</strong>spredicciones <strong>de</strong> este método en el entorno tanparticu<strong>la</strong>r en que nos encontramos. Muyprobablemente, <strong>de</strong>beremos realizar ajustes almétodo para aproximar <strong>la</strong>s predicciones a losvalores reales <strong>de</strong> funcionalidad. Podremos,posiblemente, encontrar una equivalencia válidaentre puntos-función y líneas <strong>de</strong> código, quepermita a los alumnos realizar estimaciones <strong>de</strong>tamaño seguras.Esta herramienta se encuentra a libredisposición <strong>de</strong> toda <strong>la</strong> comunidad universitaria.Esperamos que otros compañeros <strong>la</strong> <strong>de</strong>scarguen yutilicen, que nos envíen resultados cuantitativos<strong>de</strong> su aplicación, <strong>de</strong> manera que podamos mejorarlos ajustes y estimaciones para ofrecerlos en unanueva edición <strong>de</strong> Jenui.[3] Do<strong>la</strong>do, J. y Fernán<strong>de</strong>z, L. (1999). ¿Merece<strong>la</strong> pena usar los puntos <strong>de</strong> función? Novática, nº140, 57-62.[4] Sneed, H. (1999). Project control forsoftware quality. En Proc. of theEXCMO./SCOPE Conference. Shaker Publishing.[5] Uemura, T., Kusumoto, S. y Katsuro, I.(2001). Function-point analysus using <strong>de</strong>signspecifications based on the Unified Mo<strong>de</strong>llingLanguage. Journal of Software Maitnenance andEvolution: Research and Practice, 13(4), 223-243.Referencias.[1] Albretch, AJ. (1979). Measuring application<strong>de</strong>velopment productivity. Proc. of the IBMApplication Development Symposium (pp. 83-92). Monterrey, Canadá.[2] Antoniol, G., Lokan, C., Caldiera, G., yFiutem, R. (1999). A Function Point-LikeMeasure for Object-Oriented Software. EmpiricalSoftware Engineering, 4(3), 263-287.


Una Experiencia en Evaluación Continua Multicriterio Aplicadaen un Laboratorio <strong>de</strong> Desarrollo <strong>de</strong> SoftwarePatricio LetelierDepartamento <strong>de</strong> Sistemas Informáticos y ComputaciónUniversidad Politécnica <strong>de</strong> Valenciae-mail: letelier@dsic.upv.esTitu<strong>la</strong>ción <strong>de</strong> Ingeniero en Informática, y cuentaResumen2 http://www.dsic.upv.es/asignaturas/facultad/lsi/con una asignación <strong>de</strong> 6 créditos, todos ellos sonEste trabajo <strong>de</strong>scribe <strong>la</strong> experiencia <strong>de</strong> mejoradocente llevada a cabo en una asignatura <strong>de</strong>quinto curso en <strong>la</strong> Titu<strong>la</strong>ción <strong>de</strong> Ingeniero enInformática en <strong>la</strong> Facultad <strong>de</strong> Informática <strong>de</strong> <strong>la</strong>Universidad Politécnica <strong>de</strong> Valencia. El cambioaplicado a <strong>la</strong> asignatura radica principalmente enpasar <strong>de</strong> un sistema <strong>de</strong> evaluación con pocoscontroles durante el cuatrimestre y con muchapon<strong>de</strong>ración para el examen final, hacia uncréditos <strong>de</strong> <strong>la</strong>boratorio.En cuanto a contenidos, el objetivo <strong>de</strong> LSI es eldotar al alumno <strong>de</strong> una visión integrada <strong>de</strong> <strong>la</strong>ingeniería <strong>de</strong>l software. En LSI se aborda unarevisión práctica <strong>de</strong>l triángulo <strong>de</strong>l éxito en<strong>de</strong>sarrollo <strong>de</strong> software: notación-herramientaproceso[2]. Se ejercitan <strong>la</strong>s principales notaciones<strong>de</strong>l enfoque estructurado (DFDs, DEs, E-R, etc.) y<strong>de</strong>l enfoque orientado a objetos (UML). Sep<strong>la</strong>nteamiento <strong>de</strong> evaluación continua con muchos realizan casos <strong>de</strong> estudio utilizando <strong>la</strong>scontroles durante el cuatrimestre y reduciendo <strong>la</strong>pon<strong>de</strong>ración <strong>de</strong>l examen final. Se explica esesquema <strong>de</strong> trabajo utilizado, <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong>activida<strong>de</strong>s y evaluaciones, y finalmente secomentan los resultados obtenidos.herramientas CASE System Architect y RacionalRose. Uno <strong>de</strong> los casos <strong>de</strong> estudio se aborda comoun proyecto <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software siguiendo <strong>la</strong>metodología Rational Unified Process (RUP).LSI lleva imp<strong>la</strong>ntada 4 años y ha tenido unamatrícu<strong>la</strong> <strong>de</strong> entre 40 y 60 alumnos. Las c<strong>la</strong>ses seimparten en un <strong>la</strong>boratorio que dispone <strong>de</strong> 20puestos <strong>de</strong> trabajo acondicionados para 401. Introducciónalumnos. Los alumnos matricu<strong>la</strong>dos se distribuyenen 2 grupos, cada uno <strong>de</strong> los cuales asiste a dosEl objetivo <strong>de</strong> este trabajo es presentar <strong>la</strong>sesiones semanales <strong>de</strong> 2 horas cada una.<strong>de</strong>finición y los resultados <strong>de</strong> una experienciaLa motivación <strong>de</strong> este trabajo está basada en eldocente llevada a cabo durante el primerconvencimiento <strong>de</strong> que el esquema <strong>de</strong>cuatrimestre <strong>de</strong>l año académico 2001-2002 en unaimp<strong>la</strong>ntación <strong>de</strong>l proyecto <strong>de</strong> mejora realizado enasignatura <strong>de</strong> quinto año <strong>de</strong> <strong>la</strong> Facultad <strong>de</strong>LSI y los resultados obtenidos pue<strong>de</strong>n ser útilesInformática <strong>de</strong> <strong>la</strong> Universidad Politécnica <strong>de</strong>para experiencias simi<strong>la</strong>res en otras asignaturas.Valencia (UPV). El trabajo se enmarcó <strong>de</strong>ntro <strong>de</strong>lEl resto <strong>de</strong> este artículo está organizado como secontexto <strong>de</strong> progamas <strong>de</strong> ayuda a <strong>la</strong> mejora <strong>de</strong> <strong>la</strong>enseñanza <strong>de</strong>l Proyecto EUROPA 1<strong>de</strong>scribe a continuación. En <strong>la</strong> sección 2 se[1]. Lapresenta el análisis <strong>de</strong> <strong>la</strong> situación actual (previa aasignatura objeto <strong>de</strong> esta experiencia se <strong>de</strong>nominaLaboratorio <strong>de</strong> Sistemas <strong>de</strong> Información 2 <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l proyecto docente). La sección(LSI).3 <strong>de</strong>fine los objetivos <strong>de</strong>l trabajo <strong>de</strong> mejora enLSI es una asignatura optativa <strong>de</strong> quinto año en <strong>la</strong>LSI. En <strong>la</strong> sección 4 se <strong>de</strong>scribe el p<strong>la</strong>n <strong>de</strong>Facultad <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> UPV para <strong>la</strong>activida<strong>de</strong>s y el método docente. En <strong>la</strong> sección 5se <strong>de</strong>tal<strong>la</strong> el método <strong>de</strong> evaluación. Finalmente en1 Específicamente se trata <strong>de</strong> los programas AME2: <strong>la</strong> sección 6 se establecen <strong>la</strong>s conclusiones <strong>de</strong>l“Nuevos Métodos <strong>de</strong> Enseñanza-Aprendizaje” y AME3: trabajo, comentando los resultados <strong>de</strong> <strong>la</strong>“Mejora <strong>de</strong> los Sistemas <strong>de</strong> Evaluación”.experiencia.


2. Análisis <strong>de</strong> <strong>la</strong> Situación Previa <strong>de</strong> LSILSI se basa en <strong>la</strong> resolución <strong>de</strong> 3 casos <strong>de</strong> estudio<strong>de</strong> manera asistida por el profesor. La evaluaciónse establece mediante <strong>la</strong> entrega <strong>de</strong>l resultado <strong>de</strong>cada caso <strong>de</strong> estudio más un examen final (queaporta el 50% <strong>de</strong> <strong>la</strong> nota final).En LSI el trabajo <strong>de</strong>sarrol<strong>la</strong>do por el alumnoesencialmente correspon<strong>de</strong> a tareas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do<strong>de</strong> sistemas <strong>de</strong> información. Esto hace que <strong>la</strong>ssoluciones no sean únicas y <strong>de</strong>pendiendo <strong>de</strong>diversas consi<strong>de</strong>raciones se intenta establecercuáles alternativas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do son mejores, <strong>de</strong>acuerdo con criterios <strong>de</strong> calidad. En este contextolo que parece más aconsejable es generar unasolución consensuada e iterativa pasando pordistintos niveles; reflexión y propuesta individual,discusión en grupos y <strong>de</strong>bate (toda <strong>la</strong> c<strong>la</strong>se).En los últimos años, se ha introducido ciertadiversificación en <strong>la</strong>s activida<strong>de</strong>s, añadiendolecciones magistrales para presentar aspectosteóricos relevantes y para <strong>la</strong> introducción a <strong>la</strong>sherramientas CASE utilizadas. Por otra parte sehan imp<strong>la</strong>ntado espacios <strong>de</strong> discusión en grupos<strong>de</strong> dos alumnos y generales (toda <strong>la</strong> c<strong>la</strong>se) paracomentar alternativas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do. Estos cambiosrepercutieron favorablemente en <strong>la</strong> opinión <strong>de</strong> losalumnos respecto <strong>de</strong> <strong>la</strong> asignatura, lo cual sereflejó en <strong>la</strong>s encuestas docentes. Sin embargo,aún se <strong>de</strong>tectaban una serie <strong>de</strong> inconvenientes, loscuales se indican a continuación:• El trabajo <strong>de</strong> <strong>la</strong>boratorio se realiza en grupos<strong>de</strong> 2 alumnos. Aunque esto permite ciertointercambio <strong>de</strong> i<strong>de</strong>as y <strong>de</strong>bate en <strong>la</strong>resolución <strong>de</strong> casos, está lejos <strong>de</strong> po<strong>de</strong>rrecrear el trabajo <strong>de</strong> equipo en un proyecto<strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software real.• Consi<strong>de</strong>rando una matrícu<strong>la</strong> <strong>de</strong> 50 alumnos,se obtienen 25 grupos <strong>de</strong> 2 alumnos. La grancantidad <strong>de</strong> material resultante <strong>de</strong> los casos<strong>de</strong> estudio hace muy difícil su evaluación en<strong>de</strong>talle y normalmente los resultados seentregan al alumno muy <strong>de</strong>sfasados respecto<strong>de</strong>l momento en el cual se ha realizado eltrabajo.• Existen una serie <strong>de</strong> conceptosfundamentales que <strong>de</strong>ben ser conocidos porlos alumnos previamente, para un mejoraprovechamiento <strong>de</strong>l caso <strong>de</strong> estudio. Hastaahora esto se ha intentado cubrir mediantec<strong>la</strong>ses magistrales revisando dichos aspectos,pero esto ha restado <strong>de</strong>masiadas horas a <strong>la</strong>resolución <strong>de</strong> los casos <strong>de</strong> estudio.• Por el contenido teórico que aborda LSI(ingeniería <strong>de</strong>l software), el examen final,aunque enfocado a aspectos tratados duranteel curso, suele ser <strong>de</strong>masiado amplio encontenidos. Los resultados en el examen finalson muy bajos respecto a los resultados <strong>de</strong><strong>la</strong>boratorio, lo cual causa <strong>de</strong>silusión en losalumnos. Hasta ahora se ha utilizado unexamen <strong>de</strong> selección múltiple.3. Objetivos <strong>de</strong>l Proyecto <strong>de</strong> MejoraDocenteDe acuerdo con los problemas i<strong>de</strong>ntificadosdurante el análisis <strong>de</strong> <strong>la</strong> situación previa, elproyecto <strong>de</strong> mejora para LSI tuvo como objetivoel impulsar los siguientes cambios:• Se incorporará un sistema <strong>de</strong> evaluacióncontinua multicriterio. En lugar <strong>de</strong> evaluar alfinal <strong>de</strong> cada caso <strong>de</strong> estudio, se estableceránactivida<strong>de</strong>s cortas y se evaluarán cada una <strong>de</strong>el<strong>la</strong>s. De esta forma no se abandona elesquema <strong>de</strong> trabajo en casos <strong>de</strong> estudio, perose mejora el seguimiento y apoyo <strong>de</strong>l avance<strong>de</strong>l alumno. La evaluación <strong>de</strong>l trabajoasociado a dichas activida<strong>de</strong>s constituirá el70% <strong>de</strong> <strong>la</strong> nota final. Para po<strong>de</strong>r establecercon mayor precisión <strong>la</strong>s diferenciasindividuales, se mantiene el examen final,pero ahora con una pon<strong>de</strong>ración <strong>de</strong> sólo 30%y en lugar <strong>de</strong> ser un examen <strong>de</strong> selecciónmúltiple será un examen <strong>de</strong> <strong>de</strong>sarrollo.• Se promoverá el establecimiento <strong>de</strong> <strong>la</strong>ssoluciones en varios niveles; trabajoindividual, discusión en grupos <strong>de</strong> dos ydiscusión en equipos, fomentando al final <strong>de</strong>cada actividad un <strong>de</strong>bate. En particu<strong>la</strong>r parael caso <strong>de</strong> estudio más extenso (que consisteen realizar un proyecto <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>software, y que ocupa un 50% <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses<strong>de</strong> <strong>la</strong> asignatura) se <strong>de</strong>finirán equipos <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> 6 a 8 alumnos, estableciendoroles para cada uno <strong>de</strong> ellos (manager,analista, <strong>de</strong>sarrol<strong>la</strong>dor, encargado <strong>de</strong>pruebas).• Previendo el esfuerzo adicional asociado a <strong>la</strong>evaluación periódica <strong>de</strong> los alumnos, y paraaprovechar al máximo <strong>la</strong> posibilidad <strong>de</strong>


seguimiento y retroalimentación, seintroducirá un esquema <strong>de</strong> auto-evaluaciónpara algunas activida<strong>de</strong>s. Siguiendo unaspautas <strong>de</strong> evaluación establecidas por elprofesor <strong>la</strong> nota podrá poner<strong>la</strong>, el propioalumno, su compañero <strong>de</strong> grupo (cuando setrabaje en parejas) u otros integrantes <strong>de</strong>lequipo (cuando se realiza el proyecto <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> software). De esta forma elprofesor en este tipo <strong>de</strong> activida<strong>de</strong>s podráconcentrarse en el seguimiento y correcciónjunto a los alumnos, discutiendo suposicionesy alternativas, y no en <strong>la</strong> calificación <strong>de</strong><strong>la</strong>lumno. A<strong>de</strong>más, se promoverá <strong>la</strong> utilización<strong>de</strong> horas <strong>de</strong> tutorías para realizar parte <strong>de</strong>lseguimiento <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> losalumnos.• Para <strong>la</strong> introducción <strong>de</strong> conceptosfundamentales previos a <strong>la</strong> realización <strong>de</strong> loscasos <strong>de</strong> estudio se utilizarán tres medios: (a)breves presentaciones (<strong>de</strong> no más <strong>de</strong> mediahora) mediante c<strong>la</strong>se magistral utilizandotrasparencias que quedarán disponibles paralos alumnos, (b) realización <strong>de</strong> problemaspequeños guiados por el profesor y (c)controles escritos asociados a <strong>la</strong> lectura <strong>de</strong>artículos.• Se fomentará el aprendizaje autónomoofreciendo a los alumnos <strong>de</strong>sarrol<strong>la</strong>r untrabajo voluntario en temas <strong>de</strong> ingeniería <strong>de</strong>lsoftware. Con los trabajos presentados serealizará a fin <strong>de</strong> curso un seminario <strong>de</strong>ingeniería <strong>de</strong>l software. Estos trabajos seránguiados por el profesor y tendrán unacompensación en <strong>la</strong> nota final <strong>de</strong>l alumno(que pue<strong>de</strong> alcanzar a un incremento en un10% <strong>de</strong> su nota final).En resumen, <strong>la</strong>s líneas directrices que preten<strong>de</strong>imp<strong>la</strong>ntar o consolidar este proyecto <strong>de</strong> mejoradocente son:a. Diversificación <strong>de</strong> métodos <strong>de</strong> enseñanza ypromoción <strong>de</strong>l aprendizaje activob. Evaluación y seguimiento continuo <strong>de</strong><strong>la</strong>lumnoc. Trabajo en equipo enfrentando situacionescercanas a <strong>la</strong>s <strong>de</strong>l mundo <strong>la</strong>borald. Incorporación al alumno al proceso <strong>de</strong>evaluación, autoevaluándose y evaluando acompañeros según pautas establecidas por elprofesore. Mejor aprovechamiento <strong>de</strong> <strong>la</strong>s horas <strong>de</strong>tutorías estableciendo en el<strong>la</strong>s revisiones <strong>de</strong>seguimiento <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> losalumnos4. Descripción <strong>de</strong>l P<strong>la</strong>n <strong>de</strong> Activida<strong>de</strong>s y<strong>de</strong>l Método DocenteEn el Anexo se muestra el <strong>de</strong>talle <strong>de</strong> <strong>la</strong>sactivida<strong>de</strong>s que se realizaron, el método docentepara cada una <strong>de</strong> el<strong>la</strong>s, el material <strong>de</strong> apoyoproporcionado al alumno y el tipo <strong>de</strong> evaluación.Deben tenerse presente <strong>la</strong>s siguientesconsi<strong>de</strong>raciones:• Cada sesión correspon<strong>de</strong> a 2 horas <strong>de</strong> c<strong>la</strong>ses.Cada alumno tiene dos sesiones semanales.Se asume que <strong>la</strong> <strong>de</strong>dicación fuera <strong>de</strong> c<strong>la</strong>ses<strong>de</strong>bería ser <strong>de</strong> alre<strong>de</strong>dor <strong>de</strong> 3 horassemanales. Para los trabajos voluntarios <strong>de</strong>lSeminario <strong>de</strong> Ingeniería <strong>de</strong>l Software seestima una <strong>de</strong>dicación adicional <strong>de</strong> unas 10horas.• Tanto el p<strong>la</strong>nteamiento <strong>de</strong> cada actividadcomo el material <strong>de</strong> apoyo correspondienteson publicados en el microweb UPV 3 <strong>de</strong> <strong>la</strong>asignatura.• La p<strong>la</strong>nificación mostrada en <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong>lAnexo correspon<strong>de</strong> a <strong>la</strong> p<strong>la</strong>nificaciónestimada, corregida con algunas pequeñasvariaciones que se produjeron en <strong>la</strong>imp<strong>la</strong>ntación.5. Método <strong>de</strong> EvaluaciónPara aprobar <strong>la</strong> asignatura se exige asistir almenos a un 80% <strong>de</strong> <strong>la</strong>s sesiones.El trabajo realizado durante el curso tiene unapon<strong>de</strong>ración <strong>de</strong> 70% sobre <strong>la</strong> nota final y seestablece mediante evaluaciones <strong>de</strong> activida<strong>de</strong>s(todas <strong>de</strong> igual peso) tal como muestra <strong>la</strong>p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong> tab<strong>la</strong>s <strong>de</strong>l Anexo. De <strong>la</strong>s 21evaluaciones p<strong>la</strong>nificadas, para efectos <strong>de</strong> cálculo<strong>de</strong> <strong>la</strong> nota media, se <strong>de</strong>scartan <strong>la</strong>s 3 peoresevaluaciones <strong>de</strong>l alumno. Tal como se indica en <strong>la</strong>tab<strong>la</strong> <strong>de</strong>l Anexo, 8 evaluaciones correspon<strong>de</strong>n aauto-evaluaciones <strong>de</strong> los alumnos.3 http://www.upv.es/pls/oalu/est_asi.Info_asig


El examen final tiene una pon<strong>de</strong>ración <strong>de</strong> 30%.A<strong>de</strong>más, <strong>la</strong> evaluación <strong>de</strong>l trabajo voluntario (paralos alumnos que lo realicen) podrá incrementarhasta un 10% <strong>la</strong> nota final.6. ConclusionesEn términos generales el resultado ha sido muysatisfactorio. Des<strong>de</strong> <strong>la</strong> perspectiva <strong>de</strong>l docente, seha constatado un incremento en <strong>la</strong> motivación <strong>de</strong>los alumnos, los cuales se han involucrado muchomás en el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> asignatura. Esto serefleja en varios aspectos: <strong>la</strong> casi total asistencia<strong>de</strong> los alumnos a c<strong>la</strong>ses (aunque hay queconsi<strong>de</strong>rar el hecho que se exigía al menos un80% <strong>de</strong> asistencia), el incremento en asistencia atutorías, <strong>la</strong> participación en c<strong>la</strong>ses y los mejoresresultados en el examen final. Se realizaron <strong>la</strong>sencuestas docente oficiales pero aún no se dispone<strong>de</strong> los resultados. Sin embargo, al final <strong>de</strong>l cursoel profesor realizó una encuesta no oficial en <strong>la</strong>cual a cada alumno se le pidió que escribiera enun papel lo que más le gustó <strong>de</strong> <strong>la</strong> asignatura, loque cambiaría o mejoraría, y que hiciera unaestimación <strong>de</strong> tiempo <strong>de</strong> <strong>de</strong>dicación fuera <strong>de</strong>l au<strong>la</strong>.Mayoritariamente valoraron el hecho <strong>de</strong> trabajaren equipos y el esquema <strong>de</strong> activida<strong>de</strong>s cortas.Muchos sugirieron <strong>la</strong> eliminación <strong>de</strong>l examenfinal por consi<strong>de</strong>rar que era suficiente con <strong>la</strong>sevaluaciones previas. Finalmente, en promedioestimaron haber <strong>de</strong>dicado unas cuatro horassemanales fuera <strong>de</strong>l au<strong>la</strong>.Como era previsible, todo este trabajo <strong>de</strong> mejoradocente repercute también y consi<strong>de</strong>rablemente enel esfuerzo <strong>de</strong> <strong>de</strong>dicación <strong>de</strong>l profesor. Al respectoconviene <strong>de</strong>stacar lo efectivo que resultó <strong>la</strong>introducción <strong>de</strong> auto-evaluaciones tanto por suaspecto formador para los alumnos como paraaminorar el trabajo <strong>de</strong> evaluación por parte <strong>de</strong>lprofesor. Por otra parte, el esquema <strong>de</strong> trabajo ysobre todo el material utilizado, en parte yaexistían y estaban probados con lo cual no setrataba <strong>de</strong> un cambio radical, lo que hubiesesignificado un mayor riesgo.Una <strong>de</strong>ficiencia que se <strong>de</strong>tectó y que era <strong>de</strong>esperar, fue el estrecho margen <strong>de</strong> flexibilidadrespecto <strong>de</strong>l tiempo disponible para <strong>la</strong>sactivida<strong>de</strong>s p<strong>la</strong>nificadas. Aunque <strong>la</strong> estimación <strong>de</strong>tiempo para cada actividad resultó ser bastanteapropiada, cualquier imprevisto podía impactar elprograma, lo cual exigía llevar un control<strong>de</strong>masiado riguroso. Particu<strong>la</strong>rmente lo normal esque al arrancar el caso <strong>de</strong> estudio en equipos alprincipio sea necesario una integración <strong>de</strong> losmiembros, que cada uno asuma su rol y seorganicen. Sin embargo, esto está en conflicto con<strong>la</strong> dinámica inicial <strong>de</strong>l trabajo en el caso <strong>de</strong>estudio. El resultado <strong>de</strong> esto fue que <strong>la</strong> mayoría <strong>de</strong>los grupos comenzaron retrazados en cuanto a losobjetivos p<strong>la</strong>nteados e incluso alguno llevó estasituación hasta el fin <strong>de</strong>l caso <strong>de</strong> estudio. Paraevitar este problema podría darse por iniciado elcaso <strong>de</strong> estudio con anticipación al momento en elcual <strong>la</strong>s c<strong>la</strong>ses se <strong>de</strong>dican exclusivamente a él, locual permitiría tener ese tiempo <strong>de</strong> reacción inicialen cada grupo.El seminario <strong>de</strong> Ingeniería <strong>de</strong>l Software resultósatisfactorio, se presentaron 8 trabajos. Sinembargo, sería recomendable no <strong>de</strong>jarlo para fin<strong>de</strong> curso puesto que como es normal los alumnosestán más preocupados por los exámenes <strong>de</strong> susasignaturas.El trabajo en parejas se reservó para el <strong>de</strong>sarrollo<strong>de</strong> activida<strong>de</strong>s <strong>de</strong> una sesión. Las parejas no eranestablecidas para todo el curso. Esta fórmu<strong>la</strong> <strong>de</strong>trabajo resulta normalmente efectiva, pero a<strong>de</strong>másen nuestra experiencia esto se vio favorecido por<strong>la</strong> motivación que significaba <strong>la</strong> evaluacióninmediata <strong>de</strong> <strong>la</strong> actividad una vez finalizada <strong>la</strong>sesión.La experiencia <strong>de</strong> auto-evaluación resultóinteresante. Aunque, como se podía suponer, losalumnos en general se asignaron calificacionesbuenas. Sin embargo, en el caso <strong>de</strong> evaluacionescruzadas en parejas y sobre todo evaluaciones <strong>de</strong>equipo al parecer se crearon <strong>la</strong>zos <strong>de</strong> co<strong>la</strong>boraciónmás estrechos, mejorando el nivel <strong>de</strong> compromisoy <strong>de</strong> acuerdos entre ellos.Referencias[1] Proyecto EUROPA: Una EsnseñanzaOrientada al Aprendizaje. Vicerrectorado <strong>de</strong>Coordinación Académica y Alumnado.Universidad Politécnica <strong>de</strong> Valencia, 2001.www.upv.es/europa[2] Terry Quatrani, Grady Booch. VisualMo<strong>de</strong>ling with Rational Rose 2000 and UML.Addison-Wesley Object Technology Series,1999.


AnexoLas siguientes tab<strong>la</strong>s <strong>de</strong>tal<strong>la</strong>n <strong>la</strong>s activida<strong>de</strong>s,método docente, material <strong>de</strong> apoyo para el alumnoy tipo <strong>de</strong> evaluación para cada una <strong>de</strong> <strong>la</strong>s sesiones<strong>de</strong> <strong>la</strong> asignatura. Se dispone <strong>de</strong> 14 semanaslectivas, lo cual permite tener 28 sesiones <strong>de</strong> 2horas cada una.Nº Sesión 1Tema Introduccióna) Presentación <strong>de</strong> <strong>la</strong> Asignaturab) Organización <strong>de</strong> parejas yActivida<strong>de</strong>quipos Presentación "Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>SI y Herramientas CASE"Método Lección MagistralDocenteMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>Evaluacióna) microweb UPV <strong>de</strong> LSI y web <strong>de</strong><strong>la</strong> asignaturab) Trasparencias <strong>de</strong> <strong>la</strong> presentación,c) Documento: Introducción aHerramientas CASE y SystemArchitectNº Sesión 2TemaEnfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>Procesosa) Problema: Alternativas <strong>de</strong>ActividadComunicación en un DEb) Problema: Ingeniería Inversa<strong>de</strong>s<strong>de</strong> C a un DEMétodo Resolución <strong>de</strong> los problemaDocente trabajando en parejas. DebateMaterial Documento: Análisis y Diseño<strong>de</strong> Apoyo Estructurado en System ArchitectTipo <strong>de</strong> Autoevaluación para cada problemaEvaluaciónNº Sesión 3TemaEnfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>ProcesosActividadCaso <strong>de</strong> Estudio: Posicionamiento2D. Evaluación <strong>de</strong> soluciónTrabajando en parejas los alumnosMétodo<strong>de</strong>ben evaluar el análisis y diseñoDocentepropuestos. DebateMaterial Documento: Análisis y Diseño<strong>de</strong> Apoyo Estructurado en System ArchitectTipo <strong>de</strong> AutoevaluaciónEvaluaciónNº Sesión 4TemaEnfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>ProcesosActividadCaso <strong>de</strong> Estudio: Posicionamiento2D. Evaluación <strong>de</strong> soluciónTrabajando en parejas los alumnosMétodo<strong>de</strong>ben evaluar el análisis y diseñoDocentepropuestos. DebateMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónSolución propuesta <strong>de</strong>l caso <strong>de</strong>estudio como ficheros <strong>de</strong> SystemArchitectEvaluación cruzada <strong>de</strong> <strong>la</strong> parejaNº Sesión 5Enfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>TemaProcesosCaso <strong>de</strong> Estudio: PosicionamientoActividad 2D. Determinar correcciones a<strong>de</strong>fectosTrabajando en parejas los alumnosMétodo<strong>de</strong>ben establecer correcciones.DocenteDebateMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónSolución propuesta <strong>de</strong>l caso <strong>de</strong>estudio como ficheros <strong>de</strong> SystemArchitectEvaluación cruzada <strong>de</strong> <strong>la</strong> parejaNº Sesión 6Enfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>TemaProcesosCaso <strong>de</strong> Estudio: PosicionamientoActividad 2D. Establecer mejoras yampliacionesTrabajando en parejas los alumnosMétodo<strong>de</strong>ben establecer alternativas <strong>de</strong>Docentemejora. Debate.Material<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónSolución propuesta <strong>de</strong>l caso <strong>de</strong>estudio como ficheros <strong>de</strong> SystemArchitectEvaluación cruzada <strong>de</strong> <strong>la</strong> pareja


Nº Sesión 7TemaEnfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>ProcesosActividadCaso <strong>de</strong> Estudio: Posicionamiento2D. PruebasTrabajando en parejas los alumnosMétodo<strong>de</strong>ben establecer pruebas <strong>de</strong> cajaDocenteb<strong>la</strong>nca para un móduloMaterial<strong>de</strong> ApoyoTipo Ev.Solución propuesta <strong>de</strong>l caso <strong>de</strong>estudio como ficheros <strong>de</strong> SystemArchitectEvaluación por el profesorNº Sesión 8TemaEnfoque Estructurado Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>DatosActividadPresentación: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong> Datos enSystem ArchitectMétodo Lección Magistral y ProblemaDocente guiadoMaterial Trasparencias <strong>de</strong> <strong>la</strong> Presentación<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónNº Sesión 9Enfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>TemaDatosProblema: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong> Datos paraActividadOr<strong>de</strong>n <strong>de</strong> PedidoTrabajando en parejas los alumnosMétodo<strong>de</strong>ben construir un Mo<strong>de</strong>lo ERDocenteusando el CASE SA. Debate.Material<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónNº Sesión 10Enfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>TemaDatosCaso <strong>de</strong> Estudio: Mo<strong>de</strong><strong>la</strong>do ER <strong>de</strong>Actividad empresa Flexicash. I<strong>de</strong>ntificación <strong>de</strong>Entida<strong>de</strong>s y Re<strong>la</strong>cionesTrabajando en parejas los alumnosMétodo<strong>de</strong>ben construir un Mo<strong>de</strong>lo ER enDocenteSystem Architect Debate.Material<strong>de</strong> ApoyoTipo Ev. Evaluación cruzada <strong>de</strong> <strong>la</strong> parejaNº Sesión 11Enfoque Estructurado: Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>TemaDatosCaso <strong>de</strong> Estudio: Mo<strong>de</strong><strong>la</strong>do ER <strong>de</strong>Actividad empresa Flexicash. Validación <strong>de</strong>lmo<strong>de</strong>lo y evaluación <strong>de</strong> <strong>la</strong> solución.Trabajando en parejas los alumnosMétodo<strong>de</strong>ben evaluar el mo<strong>de</strong>lo y validarloDocenterespecto a los requisitos. Debate.Material<strong>de</strong> ApoyoTipo <strong>de</strong> Evaluación cruzada <strong>de</strong> <strong>la</strong> parejaEvaluaciónNº Sesión 12Tema Enfoque Orientado a ObjetosActividad Introducción a Rational RoseTrabajando en parejas los alumnosMétodo<strong>de</strong>ben <strong>de</strong>sarrol<strong>la</strong>r una guía <strong>de</strong>Docente<strong>la</strong>boratorio usando Racional RoseMaterial Guía <strong>de</strong> Laboratorio<strong>de</strong> ApoyoTipo Ev. Evaluación por el profesorNº Sesión 13Tema Enfoque Orientado a Objetosa) Control escrito: Desarrollo <strong>de</strong> a)Software Orientados a Objetob) Caso <strong>de</strong> Estudio: Desarrollo SWActividadEmpresa <strong>de</strong> Distribución. FaseInicioMétodoDocenteMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>Evaluacióna) Lectura individual <strong>de</strong> un artículotécnicob) Presentación: Introducción aRational Unified Processa) Artículo "Real-Life Object-Oriented Systems"b) Trasparencias <strong>de</strong> <strong>la</strong> PresentaciónEvaluación <strong>de</strong>l control escrito por elprofesorNº Sesión 14Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividad Inicio. Mo<strong>de</strong>lo <strong>de</strong>l Dominio,Prototipos <strong>de</strong> Interfaces yCaracterísticas <strong>de</strong>l SW


MétodoDocenteMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónTrabajo en equipos, comienzo <strong>de</strong>lcaso <strong>de</strong> estudio. Construcción <strong>de</strong>lMo<strong>de</strong>lo <strong>de</strong>l Dominio, Prototipos <strong>de</strong>Interfaces y Características <strong>de</strong>l SWDocumentación <strong>de</strong> Rational UnifiedProcessNº Sesión 15Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWActividad Empresa <strong>de</strong> Distribución. FaseInicio, Revisión Artefactos <strong>de</strong> InicioTrabajo en equipos. Validar con elMétodo profesor el Mo<strong>de</strong>lo <strong>de</strong> Dominio,Docente Prototipos <strong>de</strong> Interfaces y <strong>la</strong>scaracterísticas <strong>de</strong>l SWMaterial Documentación <strong>de</strong> Rational Unified<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónProcessEvaluación por el profesorNº Sesión 16Tema Enfoque Orientado a Objetosa) Presentación: RUP, Procesodirigido por los Casos <strong>de</strong> Usob) Caso <strong>de</strong> Estudio: Desarrollo SWActividadEmpresa <strong>de</strong> Distribución. FaseE<strong>la</strong>boración, I<strong>de</strong>ntificación <strong>de</strong> Casos<strong>de</strong> UsoMétodo Trabajo en equipos. ConstrucciónDocente <strong>de</strong> Diagrmas <strong>de</strong> Casos <strong>de</strong> Usoa) Documentación <strong>de</strong> RationalMaterialUnified Process<strong>de</strong> Apoyob) Transparencias <strong>de</strong> <strong>la</strong> PresentaciónTipo <strong>de</strong>EvaluaciónNº Sesión 17Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadE<strong>la</strong>boración, Revisión <strong>de</strong>I<strong>de</strong>ntificación <strong>de</strong> casos <strong>de</strong> usoMétodo Trabajo en equipos. Revisión con elDocente profesor <strong>de</strong> los casos <strong>de</strong> usoMaterial<strong>de</strong> ApoyoTipo Ev. Evaluación por el profesorNº Sesión 18Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadE<strong>la</strong>boración, Especificación <strong>de</strong>Casos <strong>de</strong> UsoMétodo Trabajo en equipos. Especificar losDocente casos <strong>de</strong> usoMaterial Documentación <strong>de</strong> Rational Unified<strong>de</strong> Apoyo ProcessTipo <strong>de</strong>EvaluaciónNº Sesión 19Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadE<strong>la</strong>boración, Revisión <strong>de</strong>Especificación <strong>de</strong> Casos <strong>de</strong> UsoTrabajo en equipos. RevisiónMétodoespecificación <strong>de</strong> casos <strong>de</strong> uso conDocenteel profesorMaterial<strong>de</strong> ApoyoTipo <strong>de</strong> Evaluación por el profesorEvaluaciónNº Sesión 20Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadConstrucción, Realización <strong>de</strong> Casos<strong>de</strong> UsoTrabajo en equipos. Realización <strong>de</strong>lMétodo los casos <strong>de</strong> uso utilizandoDocente Diagramas <strong>de</strong> Co<strong>la</strong>boración,Secuencia y <strong>de</strong> C<strong>la</strong>sesMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónDocumentación <strong>de</strong> Rational UnifiedProcessNº Sesión 21Tema Enfoque Orientado a Objetosa) Control Escrito: Estándares paraProcesos <strong>de</strong> Desarrollo <strong>de</strong> Softwareb) Caso <strong>de</strong> Estudio: Desarrollo SWActividadEmpresa <strong>de</strong> Distribución. FaseConstrucción, Revisión <strong>de</strong>Realización <strong>de</strong> Casos <strong>de</strong> Uso


MétodoDocenteMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>EvaluaciónTrabajo en equipos. Revisión con elprofesor <strong>de</strong> <strong>la</strong>s realizaciones <strong>de</strong> loscasos <strong>de</strong> usoReferencias bibliográficas y webrespecto <strong>de</strong> estándares para procesos<strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software: CMM eISO 9000-3Evaluación por el profesorNº Sesión 22Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadConstrucción, Diseño eimplementación <strong>de</strong> <strong>la</strong> BDMétodo Trabajo en equipos. Diseñar eDocente implementar <strong>la</strong> BDMaterial<strong>de</strong> ApoyoTipo <strong>de</strong> Evaluación por el profesorEvaluaciónNº Sesión 23Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadConstrucción, Revisión <strong>de</strong>lPrototipo y PruebasTrabajo en equipos. Revisar con elMétodoprofesor el prototipo <strong>de</strong> <strong>la</strong> primeraDocenteiteración y <strong>la</strong>s pruebas asociadasMaterial<strong>de</strong> ApoyoTipo <strong>de</strong> Evaluación por el profesorEvaluaciónNº Sesión 24Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadConstrucción, Revisión <strong>de</strong>lPrototipo y PruebasTrabajo en equipos. Revisar con elMétodoprofesor el prototipo <strong>de</strong> <strong>la</strong> primeraDocenteiteración y <strong>la</strong>s pruebas asociadasMaterial<strong>de</strong> ApoyoTipo <strong>de</strong> Evaluación por el profesorEvaluaciónNº Sesión 25Tema Enfoque Orientado a ObjetosCaso <strong>de</strong> Estudio: Desarrollo SWEmpresa <strong>de</strong> Distribución. FaseActividadConstrucción, Revisión <strong>de</strong> losartefactos hasta <strong>la</strong> Release ITrabajo en equipos. Revisar con elMétodoprofesor los artefactos <strong>de</strong> <strong>la</strong> primeraDocentereleaseMaterial<strong>de</strong> ApoyoTipo <strong>de</strong>Evaluacióna) Evaluación por el profesorb)Evaluación <strong>de</strong>l Manager <strong>de</strong>lGrupo respecto <strong>de</strong> los integrantesc)Evaluación <strong>de</strong> los integrantesrespecto <strong>de</strong>l ManagerNº Sesión 26Tema Seminario Ingeniería <strong>de</strong>l SoftwareSeminario con los trabajosActividadvoluntarios. Parte IMétodo SeminarioDocenteMaterial<strong>de</strong> ApoyoTipo <strong>de</strong> Evaluación por el profesor a losEvaluación alumnos expositoresNº Sesión 27Tema Seminario Ingeniería <strong>de</strong>l SoftwareSeminario con los trabajosActividadvoluntarios. Parte IIMétodo SeminarioDocenteMaterial<strong>de</strong> ApoyoTipo <strong>de</strong> Evaluación por el profesor a losEvaluación alumnos expositoresNº Sesión 28Tema ConclusionesPresentación Conclusiones <strong>de</strong> <strong>la</strong>ActividadAsignaturaMétodo Lección magistralDocenteMaterial Trasparencias <strong>de</strong> <strong>la</strong> presentación<strong>de</strong> ApoyoTipo <strong>de</strong>Evaluación


Integración <strong>de</strong> teoría y práctica / gestión y <strong>de</strong>sarrollo en <strong>la</strong>docencia <strong>de</strong> <strong>la</strong> ingeniería <strong>de</strong>l softwarePablo GervásDept. <strong>de</strong> Sistemas Informáticos y ProgramaciónUniversidad Complutense <strong>de</strong> Madrid28040 Madri<strong>de</strong>-mail: pgervas@sip.ucm.esResumenSe presenta una propuesta <strong>de</strong> integración ycoordinación entre <strong>la</strong>s partes teórica y práctica <strong>de</strong><strong>la</strong> ingeniería <strong>de</strong>l software <strong>de</strong>stinada a: facilitar <strong>la</strong>disponibilidad <strong>de</strong> especificaciones <strong>de</strong> partida,paliar <strong>la</strong>s restricciones temporales para el<strong>de</strong>sarrollo <strong>de</strong> proyectos a gran esca<strong>la</strong>,proporcionar a los alumnos una experiencia real<strong>de</strong> trabajo en equipo y <strong>de</strong> uso <strong>de</strong> <strong>la</strong> documentaciónpara <strong>la</strong> comunicación <strong>de</strong>ntro <strong>de</strong> un equipo.1. MotivaciónMuchas <strong>de</strong> <strong>la</strong>s técnicas que se utilizan hoy en díaen ingeniería <strong>de</strong>l software están dirigidas aresolver el problema básico <strong>de</strong> cómo convertir <strong>la</strong>tarea <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software en un conjunto <strong>de</strong>subtareas disjuntas que puedan asignarse a partesdistintas <strong>de</strong> un equipo <strong>de</strong> <strong>de</strong>sarrollo sin dar lugar auna explosión <strong>de</strong> <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> comunicacióninterna <strong>de</strong> todo el equipo [1]. Tareas comodocumentar los requisitos una vez ac<strong>la</strong>rados con elcliente, <strong>de</strong>scribir explícitamente <strong>la</strong> p<strong>la</strong>nificación<strong>de</strong> <strong>la</strong>s tareas en forma <strong>de</strong> diagramas <strong>de</strong> PERT o <strong>de</strong>Gantt, o generar mo<strong>de</strong>los <strong>de</strong>tal<strong>la</strong>dos <strong>de</strong>l diseño[8,9,12] tienen como uno <strong>de</strong> sus objetivosprincipales el p<strong>la</strong>smar el resultado <strong>de</strong> una <strong>de</strong> estassubtareas disjuntas en que se ha repartido elproceso <strong>de</strong> <strong>de</strong>sarrollo, <strong>de</strong> modo que ese resultadopueda ser utilizado por otra parte <strong>de</strong>l equipo <strong>de</strong><strong>de</strong>sarrollo sin necesidad <strong>de</strong> consultas frecuentes oprolongadas con los miembros <strong>de</strong>l equipo quellevaron a cabo <strong>la</strong> subtarea original. Esta virtudtambién pue<strong>de</strong> enten<strong>de</strong>rse <strong>de</strong> forma diacrónica, <strong>de</strong>modo que el abandono <strong>de</strong> miembros <strong>de</strong>l equipoque habían realizado subtareas en el pasado nosuponga que el resultado <strong>de</strong> esas tareas <strong>de</strong>je <strong>de</strong>estar disponible para el resto <strong>de</strong>l equipo.Estas verda<strong>de</strong>s genéricas son a menudo<strong>de</strong>masiado abstractas para ser captadas en toda sumagnitud por los alumnos, que están <strong>de</strong>masiadoentusiasmados con <strong>la</strong> posibilidad <strong>de</strong> poner aprueba su recién adquirida capacidad para diseñare implementar lo que sea menester. Para el tamaño<strong>de</strong> aplicación que resulta viable <strong>de</strong>sarrol<strong>la</strong>r en elmarco <strong>de</strong> una única asignatura, el alumno mediotiene en <strong>la</strong> mayoría <strong>de</strong> los casos capacidadsuficiente para retener en <strong>la</strong> cabeza tanto unavisión general <strong>de</strong> <strong>la</strong> especificación, como una i<strong>de</strong>a<strong>de</strong> <strong>la</strong> p<strong>la</strong>nificación suficiente para organizarse,como un esbozo <strong>de</strong>l diseño que le basta para irloprogramando. De hecho, esta manera <strong>de</strong>"documentar" sus propios procesos <strong>de</strong> trabajotiene <strong>la</strong> ventaja importante <strong>de</strong> llevar incorporadossus propios métodos innatos <strong>de</strong> mantener unseguimiento continuo durante el proceso <strong>de</strong><strong>de</strong>sarrollo, revisar periódicamente esa"documentación", corregir lo que sea necesario,comunicar <strong>la</strong>s modificaciones realizadas a quienpuedan afectar (normalmente un proceso paralelopendiente <strong>de</strong>l propio alumno), y <strong>de</strong> forma generalllevar a <strong>la</strong> práctica muchas <strong>de</strong> <strong>la</strong>srecomendaciones básicas <strong>de</strong> los textos <strong>de</strong>ingeniería <strong>de</strong>l software, todo ello con un esfuerzomínimo <strong>de</strong> tiempo y un gasto <strong>de</strong> papel ytecnología casi nulo. Esta es <strong>la</strong> razón <strong>de</strong> que, en<strong>de</strong>terminadas circunstancias, se pueda <strong>de</strong>sarrol<strong>la</strong>rsoftware con éxito sin aplicar explícitamentetécnicas <strong>de</strong> ingeniería <strong>de</strong>l software.La <strong>la</strong>bor <strong>de</strong> enseñar ingeniería <strong>de</strong>l software esuna tarea ingrata porque requiere a menudoponerle al trabajo <strong>de</strong> los alumnos trabas especialesque se lo hagan más difícil, con el bienintencionado objeto <strong>de</strong> que aprendan maneras <strong>de</strong>


hacerle frente a dificulta<strong>de</strong>s <strong>de</strong> ese tipo [3]. Unaversión <strong>de</strong> esta <strong>la</strong>bor radica en imponer <strong>la</strong>necesidad <strong>de</strong> trabajar en equipo, lo cual obliga ahacer explícitos parte <strong>de</strong> esos procesos mentales<strong>de</strong> "documentación" que mencionaba antes. Aúnasí, para equipos pequeños, es factible el llegar asincronizar "documentaciones" mentales <strong>de</strong>lproceso <strong>de</strong> los participantes mediante unacomunicación verbal periódica, sin necesidad <strong>de</strong>documentos formales o mo<strong>de</strong>los explícitos.Si imponemos <strong>la</strong> necesidad <strong>de</strong> documentarexplícitamente como un requisito sine qua non <strong>de</strong>ltrabajo <strong>de</strong> <strong>la</strong> asignatura, in<strong>de</strong>pendientemente <strong>de</strong> <strong>la</strong>cantidad <strong>de</strong> explicaciones teóricas que aportemos,es probable que los alumnos (siempre sometidos apresiones temporales varias) adopten <strong>la</strong> solución<strong>de</strong> llevar a cabo el trabajo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>manera en que les resulta más cómodo (siningeniería <strong>de</strong>l software) y generen a posteriori <strong>la</strong>documentación que se les pi<strong>de</strong> (ahorrándose <strong>de</strong>ese modo <strong>la</strong>s distintas iteraciones sucesivas, elseguimiento, <strong>la</strong> revisión, <strong>la</strong> modificación...). Si seatienen al or<strong>de</strong>n explicado en teoría generarán unaserie <strong>de</strong> documentos a cada paso que reflejan esas"documentaciones" mentales que ellos se vanconstruyendo en paralelo, pero rara vez volverán aconsultarlos más a<strong>de</strong><strong>la</strong>nte, resultándoles muchomás cómodo referirse a <strong>la</strong> versión que recuerdan<strong>de</strong> cuando redactaron el documento. En el mejor<strong>de</strong> los casos lo harán convencidos <strong>de</strong> que <strong>la</strong> teoría<strong>la</strong> tienen c<strong>la</strong>ra y, si llega el momento, sabránaplicar<strong>la</strong>. Quizá uno <strong>de</strong> los <strong>de</strong>safíos másimportantes en <strong>la</strong> docencia <strong>de</strong> <strong>la</strong> ingeniería <strong>de</strong>lsoftware hoy en día sea el conseguir que esemomento llegue, y que llegue en el marco <strong>de</strong>ltrabajo práctico asociado a <strong>la</strong> asignatura.2. Problemas a resolverEs importante combatir <strong>la</strong> visión, frecuente entrelos alumnos y en parte inducida por <strong>la</strong> posición <strong>de</strong><strong>la</strong> asignatura <strong>de</strong>ntro <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> estudios, <strong>de</strong> que <strong>la</strong>ingeniería <strong>de</strong>l software es simplemente unamanera rígida, dogmática y prescindible <strong>de</strong>encorsetar <strong>la</strong> programación. Se presentan poror<strong>de</strong>n <strong>de</strong> importancia re<strong>la</strong>tiva los problemas quese preten<strong>de</strong> resolver con <strong>la</strong> propuesta.2.1 Redundancia <strong>de</strong>l trabajo <strong>de</strong> documentaciónUn problema fundamental es el ya mencionado <strong>de</strong>proporcionar un marco en el que <strong>la</strong> <strong>la</strong>bor <strong>de</strong>documentar explícitamente los procesos <strong>de</strong><strong>de</strong>sarrollo no sea un trabajo vano, sino que cump<strong>la</strong>un cometido concreto con objetivos fácilmenteperceptibles y evaluables por el alumno.2.2 Desarrollo a pequeña o gran esca<strong>la</strong>Se preten<strong>de</strong> atacar <strong>de</strong> maneras diferenciadas dosproblemas distintos. Por un <strong>la</strong>do los alumnosnecesitan tener <strong>la</strong> oportunidad <strong>de</strong> enfrentarse atítulo individual a cada una <strong>de</strong> <strong>la</strong>s cuestionesrelevantes que se tratan en <strong>la</strong> asignatura. Estorequiere que se trabaje en equipos pequeños paraque todos los integrantes <strong>de</strong> un equipo tenganocasión <strong>de</strong> participar en los procesos que se llevena cabo, y adquieran experiencia en el uso <strong>de</strong> <strong>la</strong>stécnicas y en <strong>la</strong> resolución <strong>de</strong> los problemas. Porotro <strong>la</strong>do, <strong>la</strong>s técnicas <strong>de</strong> ingeniería <strong>de</strong>l softwareestán pensadas para hacer frente a circunstancias<strong>de</strong> trabajo que son específicas <strong>de</strong> (o al menosmucho más frecuentes en) situaciones en que setrabaja con proyectos gran<strong>de</strong>s, con participación<strong>de</strong> muchos trabajadores, y con una expectativasignificativa <strong>de</strong> continuidad y consistencia <strong>de</strong>lproceso <strong>de</strong> <strong>de</strong>sarrollo más allá <strong>de</strong> un proyecto ouna p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> personal concretos. Esto hace muy<strong>de</strong>seable que los alumnos experimenten, en <strong>la</strong>medida <strong>de</strong> lo posible, circunstancias <strong>de</strong> trabajo <strong>de</strong>estas características, para que perciban losproblemas que acarrean, <strong>la</strong> dificultad <strong>de</strong>solucionarlos, y el papel <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong>ingeniería <strong>de</strong>l software a <strong>la</strong> hora <strong>de</strong> resolverlos.Las consi<strong>de</strong>raciones curricu<strong>la</strong>res <strong>de</strong>instituciones importantes son unánimes a <strong>la</strong> hora<strong>de</strong> recomendar <strong>la</strong> inclusión <strong>de</strong> un proyecto <strong>de</strong><strong>de</strong>sarrollo a gran esca<strong>la</strong> en <strong>la</strong> formación <strong>de</strong> todoinformático [10]. En [5] se presentaban distintosmétodos empleados en universida<strong>de</strong>s <strong>de</strong> EEUU yel Reino Unido para solventar esta cuestión. Lamayor parte <strong>de</strong> ellos no son viables en el contextoque nos ocupa. La única alternativa viable sería <strong>la</strong><strong>de</strong>nominada "curso con proyecto encapsu<strong>la</strong>do'',consistente en que los estudiantes realicen unproyecto <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software <strong>de</strong>spués <strong>de</strong>terminar <strong>la</strong> mayoría <strong>de</strong>l curso. La presentepropuesta preten<strong>de</strong> a<strong>de</strong><strong>la</strong>ntar el momento <strong>de</strong>comienzo <strong>de</strong>l trabajo práctico, mediante unareorganización a<strong>de</strong>cuada <strong>de</strong> los contenidosteóricos por un <strong>la</strong>do, y <strong>la</strong> inclusión <strong>de</strong> un proyectoa gran esca<strong>la</strong> para el segundo cuatrimestre queentronca directamente con prácticas a pequeñaesca<strong>la</strong> realizadas durante el primer cuatrimestre.De este modo se dispone <strong>de</strong> más tiempo total para


el <strong>de</strong>sarrollo y, para cada concepto, se acercanmás en el tiempo el momento <strong>de</strong> su exposiciónteórica y el <strong>de</strong> su posterior puesta en práctica.2.3 Restricciones temporalesEs difícil <strong>de</strong>sarrol<strong>la</strong>r un proyecto a gran esca<strong>la</strong><strong>de</strong>ntro <strong>de</strong>l marco temporal que impone unaasignatura concreta <strong>de</strong>ntro <strong>de</strong> un p<strong>la</strong>n <strong>de</strong> estudios,y que cada alumno llegue a ver finalizado elproyecto en el que ha trabajado, al menos hasta unpunto suficiente como para permitirle hacer unavaloración personal <strong>de</strong>l rendimiento conseguidocon su esfuerzo, y <strong>de</strong> <strong>la</strong> medida en que <strong>la</strong>s técnicasutilizadas han servido para hacer frente a losproblemas encontrados. Esta dificultad aumenta sia<strong>de</strong>más se preten<strong>de</strong> conjugar el <strong>de</strong>sarrollo <strong>de</strong> unproyecto a gran esca<strong>la</strong> con <strong>la</strong> realización <strong>de</strong>prácticas a pequeña esca<strong>la</strong>.2.4 Disponibilidad <strong>de</strong> especificacionesA <strong>la</strong> hora <strong>de</strong> p<strong>la</strong>ntear prácticas y proyectos para <strong>la</strong>docencia <strong>de</strong> <strong>la</strong> ingeniería <strong>de</strong>l software es difícilencontrar material <strong>de</strong> partida sobre el que losalumnos puedan <strong>de</strong>sarrol<strong>la</strong>r una especificaciónsobre <strong>la</strong> que basar ejercicios <strong>de</strong> diseño.La solución i<strong>de</strong>al sería conseguir clientesreales que estuviesen dispuestos a ejercer comotales para algún proyecto <strong>de</strong> formación. Estasolución suele ser inviable por dificulta<strong>de</strong>s <strong>de</strong>disponibilidad <strong>de</strong> clientes, compatibilidad <strong>de</strong>horarios <strong>de</strong> posibles clientes y estudiantes,voluntad <strong>de</strong> los clientes <strong>de</strong> aceptar <strong>la</strong>srestricciones asociadas (temporales, en <strong>la</strong>tecnología o el tamaño <strong>de</strong> <strong>la</strong>s aplicaciones arealizar), y <strong>de</strong> imposibilidad <strong>de</strong> garantizar unservicio <strong>de</strong> mantenimiento o <strong>de</strong> seguimiento másallá <strong>de</strong>l final <strong>de</strong> <strong>la</strong> asignatura.Otra solución es <strong>de</strong>jar el papel <strong>de</strong>l cliente enmanos <strong>de</strong>l profesor. Esta solución p<strong>la</strong>ntea variasdificulta<strong>de</strong>s. Por un <strong>la</strong>do, el profesor <strong>de</strong> ingeniería<strong>de</strong>l software es <strong>de</strong>masiado consciente tanto <strong>de</strong>cómo <strong>de</strong>be ser <strong>la</strong> especificación i<strong>de</strong>al como <strong>de</strong>cuáles son los errores más habituales <strong>de</strong> losclientes o <strong>de</strong> los ingenieros <strong>de</strong>l software, y corre elriesgo <strong>de</strong> proporcionar una entrada como clienteque no sea significativa. Por otro <strong>la</strong>do, si elnúmero <strong>de</strong> alumnos es apreciable, el profesor<strong>de</strong>berá o <strong>de</strong>dicar un momento distinto a aten<strong>de</strong>r acada grupo (con un proyecto distinto, lo que pue<strong>de</strong>dificultar mucho su <strong>la</strong>bor) o <strong>de</strong>cidir que atien<strong>de</strong> atodos los grupos a <strong>la</strong> vez (con lo cual se <strong>de</strong>svirtúael propósito <strong>de</strong>l ejercicio). La alternativa <strong>de</strong>proporcionar <strong>la</strong> especificación por escrito reduce,a mi enten<strong>de</strong>r, el valor <strong>de</strong>l ejercicio, puesto querestringe <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> poner en práctica elproceso <strong>de</strong> captura <strong>de</strong> requisitos tal como se<strong>de</strong>scribe en los textos básicos <strong>de</strong> <strong>la</strong> materia (entérminos <strong>de</strong> entrevistas con el cliente, iteracionessucesivas, negociación a partir <strong>de</strong>prototipos...[9,12]).3. Formato <strong>de</strong> <strong>la</strong> propuestaLa presente propuesta preten<strong>de</strong> atacar estosproblemas y se ha implementado este año en <strong>la</strong>asignatura <strong>de</strong> Ingeniería <strong>de</strong>l Software, impartidaen <strong>la</strong> titu<strong>la</strong>ción superior <strong>de</strong> Ingeniería Informática<strong>de</strong> <strong>la</strong> Facultad <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> UniversidadComplutense <strong>de</strong> Madrid. Esta asignatura formaparte <strong>de</strong>l segundo ciclo, y concentra todos loscontenidos <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> estudios sobre el tema <strong>de</strong>ingeniería <strong>de</strong>l software. Se trata <strong>de</strong> una asignatura<strong>de</strong> 18 créditos (12 teóricos y 6 prácticos). Losalumnos que <strong>la</strong> cursan ya han estudiadoestructuras <strong>de</strong> datos, metodología y tecnología <strong>de</strong><strong>la</strong> programación, y programación orientada aobjetos.La innovación <strong>de</strong> <strong>la</strong> propuesta radica en unamanera específica <strong>de</strong> coordinar <strong>la</strong> teoría y <strong>la</strong>práctica, y en un p<strong>la</strong>nteamiento <strong>de</strong> <strong>la</strong> partepráctica <strong>de</strong> <strong>la</strong> asignatura orientado a dar respuestaa los problemas que se han reseñado. El or<strong>de</strong>n enque se va cubriendo <strong>la</strong> parte teórica se ha <strong>de</strong>finidoespecíficamente para: garantizar que los alumnospue<strong>de</strong>n empezar a trabajar en <strong>la</strong> parte práctica enlos primeros momentos <strong>de</strong>l curso, y proporcionara cada paso <strong>de</strong>l <strong>de</strong>sarrollo práctico aquel materialteórico que es <strong>de</strong> aplicación directa en el puntoalcanzado. Este paralelismo se mantiene durantelos primeros meses, cuando los alumnos estánabsorbiendo los conceptos teóricos que necesitanpara trabajar en <strong>la</strong> práctica, y se re<strong>la</strong>ja ligeramentehacia el final <strong>de</strong>l curso, cuando los alumnos yaestán <strong>de</strong>sarrol<strong>la</strong>ndo, tienen experiencia en elproceso <strong>de</strong> <strong>de</strong>sarrollo, y toleran mejor elp<strong>la</strong>nteamiento <strong>de</strong> alternativas, generalizaciones, odiscusiones más teóricas. En este punto <strong>la</strong> teoríase <strong>de</strong>svincu<strong>la</strong> <strong>de</strong> <strong>la</strong> práctica para cubrir el resto <strong>de</strong>ltemario contenido en el p<strong>la</strong>n <strong>de</strong> estudios. Ladistribución temporal propuesta aparece en <strong>la</strong>figura 1. A continuación <strong>de</strong>tal<strong>la</strong>mos aquel<strong>la</strong>scaracterísticas <strong>de</strong> <strong>la</strong> propuesta que preten<strong>de</strong>nresolver los problemas <strong>de</strong>scritos.


Ej.Lab.Ej.LaboratorioProyectoEjerciciosEjerciciosTeoríaTeoríaFigura 1. Distribución temporal3.1 Parte teóricaPara hacer posible una solución <strong>de</strong>l tipo que sepropone, es necesario proporcionar a los alumnosdirectrices muy c<strong>la</strong>ras sobre <strong>la</strong> manera <strong>de</strong> llevar acabo este tipo <strong>de</strong> procesos. Se ha optado porrecurrir al Proceso Unificado <strong>de</strong> Desarrollo [8] <strong>de</strong>Rational como marco teórico en el que encuadrar<strong>la</strong> propuesta. Esto supone que el proceso <strong>de</strong><strong>de</strong>sarrollo a realizar en <strong>la</strong> parte práctica tendrálugar conforme a un p<strong>la</strong>n <strong>de</strong> fase en el que serecorran tres fases distintas: <strong>de</strong> inicio, en <strong>la</strong> que sereúnen los requisitos y se p<strong>la</strong>nifica el proceso agran<strong>de</strong>s rasgos, <strong>de</strong> e<strong>la</strong>boración, en <strong>la</strong> que seestablece <strong>la</strong> arquitectura y se diseña el sistema, y<strong>de</strong> construcción, en <strong>la</strong> que se da forma concreta alsistema 1 . La cuarta fase (<strong>de</strong> transición) <strong>de</strong>scrita en<strong>la</strong> teoría, más re<strong>la</strong>cionada con <strong>la</strong> insta<strong>la</strong>ción <strong>de</strong> <strong>la</strong>aplicación, su <strong>de</strong>puración final y mantenimientose obviará para hacer frente a <strong>la</strong>s restriccionestemporales. Cada fase tendrá una serie <strong>de</strong>iteraciones, cada una <strong>de</strong> <strong>la</strong>s cuales dará lugar auna construcción <strong>de</strong>l sistema. En cada iteración,según el punto <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> fase en que seencuentre, se han <strong>de</strong> incluir proporciones variables<strong>de</strong> los siguientes flujos <strong>de</strong> trabajo: captura <strong>de</strong>requisitos, análisis, diseño, implementación yprueba (más <strong>de</strong> los primeros en <strong>la</strong>s iteracionescorrespondientes a <strong>la</strong> fase <strong>de</strong> e<strong>la</strong>boración, más <strong>de</strong>los últimos en <strong>la</strong>s correspondientes a <strong>la</strong> fase <strong>de</strong>construcción). A<strong>de</strong>más se han <strong>de</strong> aplicar <strong>la</strong>ssiguientes tareas <strong>de</strong> gestión <strong>de</strong> proyectos:estimación, p<strong>la</strong>nificación, gestión <strong>de</strong>configuración, y gestión <strong>de</strong> calidad.El or<strong>de</strong>n <strong>de</strong> exposición <strong>de</strong> los distintoscontenidos teóricos mencionados se <strong>de</strong>fien<strong>de</strong> mása<strong>de</strong><strong>la</strong>nte en re<strong>la</strong>ción con <strong>la</strong> necesidad <strong>de</strong>coordinarlo con el trabajo práctico a <strong>de</strong>sarrol<strong>la</strong>r.1 Estas <strong>de</strong>scripciones <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s fases son agran<strong>de</strong>s rasgos y no preten<strong>de</strong>n ser exhaustivas. Para másdatos ver [7,8].Es irreal suponer que <strong>de</strong>s<strong>de</strong> el primermomento los alumnos van a ser capaces <strong>de</strong> aplicarcon éxito en <strong>la</strong> práctica un mo<strong>de</strong>lo <strong>de</strong> proceso tan<strong>de</strong>tal<strong>la</strong>do, casi al mismo tiempo que están<strong>de</strong>scubriendo ese mo<strong>de</strong>lo en <strong>la</strong>s exposicionesteóricas. Sin embargo se consi<strong>de</strong>ra interesante quelos alumnos tengan <strong>la</strong> experiencia <strong>de</strong> gestionar supropio trabajo. Para resolver este dilema se haoptado por establecer una distinción entre losmecanismos <strong>de</strong> gestión aplicados en <strong>la</strong>s distintaspartes <strong>de</strong>l curso. Durante el primer cuatrimestrelos alumnos trabajan en grupos pequeñosgestionados por el profesor, que impone fechas <strong>de</strong>entregas, or<strong>de</strong>n <strong>de</strong> trabajo, métodos a seguir...;durante el segundo cuatrimestre trabajan engrupos gran<strong>de</strong>s que se autogestionan.3.2 Parte prácticaLa parte práctica que se propone consta <strong>de</strong> dospartes diferenciadas: una componente <strong>de</strong><strong>de</strong>sarrollo a pequeña esca<strong>la</strong> (prácticas en equipos<strong>de</strong> 2 a 3 personas) y una componente <strong>de</strong>sarrollo agran esca<strong>la</strong> (proyecto en equipos <strong>de</strong> 20 personas).La parte <strong>de</strong> <strong>de</strong>sarrollo a pequeña esca<strong>la</strong> se lleva acabo durante el primer cuatrimestre (gestionadapor el profesor en lo re<strong>la</strong>tivo a tareas a realizar,p<strong>la</strong>zos <strong>de</strong> entrega...), y <strong>la</strong> parte <strong>de</strong> proyecto selleva a cabo durante el segundo cuatrimestre(gestionada ya por los propios alumnos). Con estadivisión se consigue dar cabida a los beneficiosdiscutidos en el apartado 2.2 para cada una <strong>de</strong> <strong>la</strong>salternativas (pequeña esca<strong>la</strong> y gran esca<strong>la</strong>). Lasdos se <strong>de</strong>sarrol<strong>la</strong>n siguiendo el Proceso Unificado<strong>de</strong> Desarrollo.Para evitar los problemas <strong>de</strong> restriccionestemporales <strong>de</strong>scritos en el apartado 2.3, se sugiereel uso <strong>de</strong> un mo<strong>de</strong>lo <strong>de</strong> proceso iterativo eincremental, que permita <strong>de</strong>tener el proceso en elmomento en que termine el primer cuatrimestre,quedando <strong>la</strong> aplicación a <strong>de</strong>sarrol<strong>la</strong>r en el puntoen que estuviera al terminar <strong>la</strong> iteracióncorrespondiente.


Se impone <strong>la</strong> restricción <strong>de</strong> que cada proyectodurante el segundo cuatrimestre <strong>de</strong>be <strong>de</strong>sarrol<strong>la</strong>rsea partir <strong>de</strong> una <strong>de</strong> <strong>la</strong>s especificaciones que hayanresultado <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong>l primer cuatrimestre.Esta restricción ya hace cobrar importancia a<strong>la</strong> documentación generada durante <strong>la</strong>s prácticas<strong>de</strong>l primer cuatrimestre, puesto que ha <strong>de</strong> servirmás a<strong>de</strong><strong>la</strong>nte para que un grupo mayor <strong>de</strong>alumnos base en el<strong>la</strong> su proyecto <strong>de</strong>l segundocuatrimestre. A pesar <strong>de</strong> eso se ha preferidoinsistir en potenciar <strong>la</strong> importancia <strong>de</strong> <strong>la</strong>documentación explícita, por consi<strong>de</strong>rar que <strong>la</strong>posibilidad <strong>de</strong> que una práctica concreta no fueseelegida para ser continuada podría dar excusaspara no tomarse en serio su documentacióna<strong>de</strong>cuada. Para garantizar que todas <strong>la</strong>s prácticasreciben <strong>la</strong> atención a<strong>de</strong>cuada, se impone unmecanismo <strong>de</strong> rotación periódica <strong>de</strong> aplicacionesque se <strong>de</strong>scribe más a<strong>de</strong><strong>la</strong>nte.3.3 Prácticas a pequeña esca<strong>la</strong> con intercambioEl or<strong>de</strong>n que se propone inicialmente para estasetapas es: <strong>de</strong>sarrollo <strong>de</strong> una propuesta, gestión <strong>de</strong>configuración, estimación <strong>de</strong> esfuerzo para <strong>la</strong>propuesta <strong>de</strong>sarrol<strong>la</strong>da, captura <strong>de</strong> requisitos(diagrama <strong>de</strong> casos <strong>de</strong> uso y requisitos nofuncionales), p<strong>la</strong>nificación, y análisis (diagramas<strong>de</strong> c<strong>la</strong>ses y <strong>de</strong> secuencia).Al final <strong>de</strong> cada etapa, cada equipo propone elmaterial que ha <strong>de</strong>sarrol<strong>la</strong>do (junto con el que serecibiera al principio <strong>de</strong> <strong>la</strong> etapa como resultado<strong>de</strong> etapas anteriores) a otro equipo para que lo<strong>de</strong>sarrolle en <strong>la</strong> etapa siguiente. Este intercambiose <strong>de</strong>sarrol<strong>la</strong> por or<strong>de</strong>n <strong>de</strong> listado <strong>de</strong> los equipospara evitar problemas. De este modo, cada equipoparticipa en <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> material propiocorrespondiente a todas <strong>la</strong>s etapas, y a <strong>la</strong> vezadquiere <strong>la</strong> experiencia <strong>de</strong> trabajar sobre materia<strong>la</strong>jeno. A cada paso <strong>de</strong>berán tener en cuenta toda <strong>la</strong>documentación generada por los distintos gruposque hayan trabajado sobre el problema. Esteproceso expone a los alumnos a <strong>la</strong> utilidadpráctica real <strong>de</strong> los documentos que se les vanexigiendo en cada etapa.Como mecanismo fundamental <strong>de</strong> intercambiose propone el uso <strong>de</strong> una página web don<strong>de</strong> seencuentra disponible el material correspondiente acada proyecto. Cada grupo actualizará al final <strong>de</strong>cada etapa el material disponible para el proyectosobre el que ha estado trabajando. Estemecanismo <strong>de</strong> intercambio sirve adicionalmentecomo primera experiencia <strong>de</strong> los alumnos entemas <strong>de</strong> gestión <strong>de</strong> configuración.A continuación se presentan <strong>de</strong>talles breves<strong>de</strong>l tipo <strong>de</strong> trabajo involucrado en cada etapa y <strong>la</strong>sventajas que supone en cada una <strong>la</strong> obligación <strong>de</strong>intercambiar material:Redacción <strong>de</strong> una propuesta <strong>de</strong> proyecto: Engrupos <strong>de</strong> 3 personas, los alumnos <strong>de</strong>benestablecer el contexto <strong>de</strong> gestión <strong>de</strong> un proyectoimaginario, y redactar <strong>la</strong> propuesta <strong>de</strong> proyecto.Cada grupo establece un documento preliminarsobre el proyecto a acometer, incluyendobásicamente: objetivos, usuarios, funcionalidad,requisitos <strong>de</strong> hardware, posible división enmódulos. Aunque cada equipo trabaja con <strong>la</strong>participación exclusiva <strong>de</strong> los <strong>de</strong>sarrol<strong>la</strong>dores,mediante este ejercicio se consiguen simu<strong>la</strong>rmuchas <strong>de</strong> <strong>la</strong>s condiciones reales que se dan enuna primera reunión con un cliente: tiempolimitado, imprecisión inicial muy gran<strong>de</strong> respectoa los objetivos, diferencias <strong>de</strong> opinión entre losparticipantes, presión por conseguir un documento(por básico que sea) en el que se <strong>de</strong>talle un primeresbozo, <strong>de</strong>sconocimiento <strong>de</strong>l alcance real <strong>de</strong>lproyecto por no haberse recopi<strong>la</strong>do todavíaformalmente los requisitos...Gestión <strong>de</strong> configuración: Des<strong>de</strong> el momentoen que un grupo necesita proporcionar material aotro aparecen ya problemas <strong>de</strong> formato <strong>de</strong>materiales, <strong>de</strong> protocolos <strong>de</strong> elección <strong>de</strong>nombres... Esto proporciona una ocasión paraexplicar <strong>la</strong> teoría re<strong>la</strong>tiva a esta parte <strong>de</strong> <strong>la</strong> gestión<strong>de</strong> configuración. Asimismo se introduce ya elconcepto <strong>de</strong> modificación <strong>de</strong> un documentorecibido como <strong>de</strong>finitivo (raro es el grupo al queno le gustaría hacer modificaciones a <strong>la</strong>especificación que recibe, sea para hacer<strong>la</strong> másatractiva o más fácil <strong>de</strong> obe<strong>de</strong>cer), y <strong>de</strong>l proceso aseguir para anotarlo y documentarlo.Estimación: Se preten<strong>de</strong> obtener una i<strong>de</strong>a <strong>de</strong>cuánto dinero y cuánto esfuerzo (cuánta gentedurante cuánto tiempo) pensamos que va arequerir el proyecto que se propone. Aunque no sedisponga <strong>de</strong> datos a estas alturas para llevar a cabouna estimación válida, se trabaja en condicionessimi<strong>la</strong>res a <strong>la</strong>s que se darían en una situación real.Requisitos: Deben realizarse <strong>la</strong> i<strong>de</strong>ntificación<strong>de</strong> actores y casos <strong>de</strong> uso, <strong>la</strong> representación <strong>de</strong> losmismos en UML, y <strong>la</strong> redacción <strong>de</strong> <strong>de</strong>scripciones<strong>de</strong> flujos <strong>de</strong> eventos <strong>de</strong> un caso <strong>de</strong> uso. Se utiliza


una herramienta software para facilitar <strong>la</strong>representación.P<strong>la</strong>nificación: En el momento en que hay unaserie <strong>de</strong> casos <strong>de</strong> uso y una estimación <strong>de</strong> esfuerzodisponibles pue<strong>de</strong> empezarse a p<strong>la</strong>nificar. Elintercambio <strong>de</strong> material supone una dificultadañadida tan solo en el sentido <strong>de</strong> que cada equipop<strong>la</strong>nifica, no su propio trabajo futuro, sino el <strong>de</strong>lequipo que va a heredar el material que estápreparando. Las restricciones <strong>de</strong> personalcorrespondientes <strong>de</strong>ben ser tenidas en cuenta. Seutiliza una herramienta sofware para <strong>la</strong>p<strong>la</strong>nificación <strong>de</strong> proyectos.Análisis: Se e<strong>la</strong>boran diagramas <strong>de</strong> c<strong>la</strong>ses y <strong>de</strong>interacción a partir <strong>de</strong> los diagramas <strong>de</strong> casos <strong>de</strong>uso dados (también con ayuda <strong>de</strong> herramientasoftware). Cada grupo procesa diagramas <strong>de</strong>casos <strong>de</strong> uso sobre proyectos que no ha visto hastaese momento, para enfatizar que toda <strong>la</strong>información necesaria para el <strong>de</strong>sarrollo <strong>de</strong>behaberse <strong>de</strong>tal<strong>la</strong>do durante <strong>la</strong> especificación (sea enlos diagramas o en <strong>la</strong>s <strong>de</strong>scripciones textuales enforma <strong>de</strong> requisitos adicionales).Aunque sería posible (e incluso <strong>de</strong>seable)continuar con este patrón <strong>de</strong> trabajo hastacompletar un recorrido completo <strong>de</strong> los flujos <strong>de</strong>trabajo <strong>de</strong> <strong>de</strong>sarrollo (diseñando, implementandoy probando los proyectos), nuestra experienciahasta <strong>la</strong> fecha es que el proceso <strong>de</strong> compaginar <strong>la</strong>exposición teórica y <strong>la</strong> puesta en práctica reduceel ritmo al que se pue<strong>de</strong> cubrir <strong>la</strong> materia, y,teniendo en cuenta que se ha <strong>de</strong> partir <strong>de</strong> un ciertomarco teórico imprescindible antes <strong>de</strong> po<strong>de</strong>rempezar el trabajo práctico, que el mecanismo <strong>de</strong>intercambio requiere un proceso <strong>de</strong> "digestión" <strong>de</strong><strong>la</strong> documentación recibida antes <strong>de</strong> que el grupopueda empezar a producir, y que a cada paso losalumnos <strong>de</strong>ben apren<strong>de</strong>r a dominar <strong>la</strong>s técnicasnuevas que se van introduciendo, no es realistaaspirar a cubrir más etapas prácticas en un solocuatrimestre. Por otro <strong>la</strong>do esto tiene <strong>la</strong> ventaja <strong>de</strong>po<strong>de</strong>r <strong>de</strong>dicar <strong>la</strong>s últimas semanas <strong>de</strong> exposiciónteórica <strong>de</strong>l cuatrimestre a proporcionar a losalumnos los conceptos básicos sobre diseño (y enmenor medida gestión <strong>de</strong> calidad) que van anecesitar para poner en marcha con buen pie elproyecto a gran esca<strong>la</strong> en el segundo cuatrimestre.3.4. Proyecto a gran esca<strong>la</strong>Al término <strong>de</strong>l primer cuatrimestre, <strong>la</strong>s prácticasrealizadas han <strong>de</strong>jado como resultado una páginaweb con una serie <strong>de</strong> proyectos con propuestas,estimación, especificación, p<strong>la</strong>nificación, ymo<strong>de</strong>lo <strong>de</strong> análisis. De todo este material, elcorrespondiente a <strong>la</strong>s primeras etapas <strong>de</strong> <strong>la</strong>sprácticas ha sido revisado por varios equipos, ycada uno ha generado no sólo versiones mejoradassino documentos adicionales <strong>de</strong> justificación <strong>de</strong><strong>la</strong>s modificaciones. Todo este material seaprovecha como punto <strong>de</strong> partida para losproyectos a gran esca<strong>la</strong> a <strong>de</strong>sarrol<strong>la</strong>r en el segundocuatrimestre, paliando así parcialmente tanto <strong>la</strong>srestricciones temporales que supondría el empezarun proceso <strong>de</strong> <strong>de</strong>sarrollo a gran esca<strong>la</strong> cuando yasolo quedan tres meses <strong>de</strong> tiempo útil, como <strong>la</strong>disponibilidad <strong>de</strong> especificaciones.Todos los alumnos han tenido ocasión <strong>de</strong>familiarizarse con <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> los distintosmateriales. Aunque cada grupo ha realizado unejemplo <strong>de</strong> p<strong>la</strong>nificación, el trabajo <strong>de</strong> todos losgrupos hasta ese punto ha sido p<strong>la</strong>nificado por elprofesor, en el sentido <strong>de</strong> que ha impuesto <strong>la</strong>stareas a realizar (e<strong>la</strong>boración <strong>de</strong> los distintosmateriales) y los hitos (fechas <strong>de</strong> entrega <strong>de</strong> cadaetapa). Asimismo, los alumnos han operado bajoun mecanismo básico <strong>de</strong> gestión <strong>de</strong> configuración(propuesto por el profesor) en forma <strong>de</strong> páginaweb.A partir <strong>de</strong> este punto se establecen gruposmucho más gran<strong>de</strong>s (en torno a 20 personas porgrupo) para continuar el trabajo práctico duranteel resto <strong>de</strong>l curso. Cada uno <strong>de</strong> estos grupos tiene<strong>la</strong> responsabilidad <strong>de</strong> gestionar el <strong>de</strong>sarrollo <strong>de</strong> suproyecto. Esto supone tanto <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong>ltrabajo, como <strong>la</strong> gestión <strong>de</strong> configuración.El único requisito impuesto por el profesor esque se <strong>de</strong>be p<strong>la</strong>nificar el trabajo en tres iteraciones(una por cada mes restante <strong>de</strong> curso), y que alterminar cada iteración <strong>de</strong>ben revisarse no solo losproductos concretos obtenidos sino losprocedimientos empleados para conseguirlos.La exposición teórica se <strong>de</strong>svincu<strong>la</strong> <strong>de</strong>l<strong>de</strong>sarrollo concreto <strong>de</strong> cada proyecto, pero sigueestando en <strong>la</strong>s primeras etapas orientada aproporcionar conceptos necesarios.Una <strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>s principales queencuentran los alumnos en este punto es <strong>la</strong> falta <strong>de</strong>criterios para elegir entre los distintos proyectospropuestos. Puesto que tienen que elegir sobretodo en función <strong>de</strong> <strong>la</strong> documentación que haygenerada, esto supone un trabajo serio <strong>de</strong> revisar<strong>la</strong> documentación disponible, y esto se aprovecha


para impartir <strong>la</strong> teoría re<strong>la</strong>tiva a <strong>la</strong> calidad <strong>de</strong>lsoftware y los proceso <strong>de</strong> gestión <strong>de</strong> calidad en el<strong>de</strong>sarrollo. Estos conceptos se presentan ligados a<strong>la</strong> p<strong>la</strong>nificación en tres iteraciones y a <strong>la</strong> necesidad<strong>de</strong> revisar los procedimientos <strong>de</strong> trabajo en cadaiteración, con objeto <strong>de</strong> mejorar <strong>la</strong> calidad.Para hacer esto posible se presenta el concepto<strong>de</strong> revisión formal técnica (Formal TechnicalReview o FTR) como el principal método <strong>de</strong>validación <strong>de</strong> <strong>la</strong> calidad <strong>de</strong> un proceso o <strong>de</strong> unproducto. Un grupo <strong>de</strong>be examinar parte o todoslos resultados <strong>de</strong> su trabajo (p<strong>la</strong>nes,especificaciones, mo<strong>de</strong>los, diseños, código, casos<strong>de</strong> pruebas, documentación,...) para buscarproblemas potenciales. Se insiste en que esteproceso tiene ventajas adicionales a <strong>la</strong> hora <strong>de</strong>garantizar que todos los miembros <strong>de</strong>l grupo, porhaber participado en revisiones <strong>de</strong>l trabajo <strong>de</strong> suscompañeros, estarán familiarizados con él ypodrán hacerse cargo <strong>de</strong> él en caso <strong>de</strong> ausencia,abandono, o enfermedad <strong>de</strong>l compañero.Así mismo, se explica el concepto <strong>de</strong> métricacomo medida específica que se toma <strong>de</strong> unproceso para po<strong>de</strong>r comprobar objetivamente siestá funcionando como es <strong>de</strong>bido. Se exige a losalumnos que en cada iteración diseñen <strong>la</strong>smétricas que consi<strong>de</strong>ren necesarias para evaluarsus procedimientos <strong>de</strong> trabajo y recopilen losdatos pertinentes. Estos datos se utilizarán en <strong>la</strong>srevisiones técnicas formales <strong>de</strong> los procedimientosestablecidos que se han <strong>de</strong> realizar al principio <strong>de</strong>cada nueva iteración.Finalmente se introduce el concepto <strong>de</strong> sesión<strong>de</strong> evaluación <strong>de</strong> un proyecto, en <strong>la</strong> que cadagrupo <strong>de</strong>be hacer un resumen <strong>de</strong> <strong>la</strong> situación <strong>de</strong>lproyecto en el que trabaja, incluyendo losprocedimientos que están empleando, losproblemas que han tenido, el ajuste a <strong>la</strong>p<strong>la</strong>nificación inicial, y datos objetivos que tengandisponible sobre su rendimiento hasta <strong>la</strong> fecha.Este tipo <strong>de</strong> sesiones cumplen un objetivomúltiple. Por un <strong>la</strong>do, permiten a cada grupoenterarse <strong>de</strong> los problemas y soluciones que estáexperimentando los <strong>de</strong>más, maximizando elnúmero <strong>de</strong> experiencias concretas a <strong>la</strong>s que se veexpuesto cada alumno, aunque sea indirectamente.Por otro <strong>la</strong>do, obligan a los alumnos tanto arealizar un seguimiento <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong>lproyecto como a p<strong>la</strong>ntearse <strong>la</strong> manera en que el<strong>de</strong>sarrollo observado pue<strong>de</strong> presentarse a terceraspersonas <strong>de</strong> manera coherente e informativa. Porúltimo, permite al profesor mantener unseguimiento y evaluación <strong>de</strong> <strong>la</strong> <strong>la</strong>bor <strong>de</strong> losalumnos. Esto garantiza que se pueda <strong>de</strong>tectar yremediar a tiempo posibles errores <strong>de</strong> concepto(que constituyen un riesgo importante cuando seestá <strong>de</strong>jando <strong>la</strong> <strong>la</strong>bor <strong>de</strong> gestión a los alumnos), oproblemas serios en <strong>la</strong> interacción personal <strong>de</strong>ntro<strong>de</strong> los grupos. Al mismo tiempo, simu<strong>la</strong>n en ciertamedida <strong>la</strong> necesidad real en el mundo <strong>de</strong> <strong>la</strong>empresa <strong>de</strong> rendir cuentas sobre el <strong>de</strong>sarrollo <strong>de</strong>proyectos a <strong>la</strong> superioridad.5. Valoración y conclusionesLos problemas que se han p<strong>la</strong>nteado comoobjetivos son conocidos en <strong>la</strong> literatura sobreenseñanza <strong>de</strong> ingeniería <strong>de</strong>l software [10,5,4]. Lasdistintas soluciones que se han propuestohistóricamente han ido dando forma a los p<strong>la</strong>nes<strong>de</strong> estudios <strong>de</strong> ingeniería <strong>de</strong>l software durante losúltimos años, incluyendo cada vez máshabitualmente una componente <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>proyectos. Aún así, es bastante habitual elfragmentar <strong>la</strong> docencia <strong>de</strong> <strong>la</strong> materia en dos partesdisjuntas: una que concentra <strong>la</strong> materiare<strong>la</strong>cionada con <strong>la</strong> gestión <strong>de</strong> proyectos, y otracentrada en <strong>la</strong> especificación y diseño <strong>de</strong> software.La presente propuesta está diseñada consi<strong>de</strong>randoque el proceso <strong>de</strong> <strong>de</strong>sarrollo es una tarea complejacuyas máximas dificulta<strong>de</strong>s resi<strong>de</strong>n no tanto en <strong>la</strong>ssubtareas concretas en que se pue<strong>de</strong> subdividirsino precisamente en el proceso <strong>de</strong> división <strong>de</strong>ltrabajo original y <strong>de</strong> posterior integración <strong>de</strong> losresultados obtenidos. En este sentido pue<strong>de</strong>enten<strong>de</strong>rse <strong>la</strong> <strong>la</strong>bor <strong>de</strong> especificación y diseñocomo una división <strong>de</strong> <strong>la</strong> funcionalidad (caso <strong>de</strong>uso) y <strong>la</strong> arquitectura (módulos) <strong>de</strong> unaaplicación, y <strong>la</strong> <strong>la</strong>bor <strong>de</strong> gestión como unadivisión <strong>de</strong>l trabajo en tareas que se asigna adistintos momentos y distintos miembros <strong>de</strong>lequipo. En ambos casos el <strong>de</strong>safío mayor no es elestablecer una división inicial, sino el integrar losresultados. Los problemas <strong>de</strong> integración semultiplican cuando a<strong>de</strong>más <strong>de</strong> integrar a ese nivelhay que integrar <strong>la</strong> división <strong>de</strong> gestión con <strong>la</strong>división <strong>de</strong> especificación y diseño. En estapropuesta se preten<strong>de</strong> integrar <strong>de</strong>s<strong>de</strong> el primermomento todo lo posible estas subtareas, yfacilitar al alumno un ejemplo <strong>de</strong> cómo todas <strong>la</strong>stareas que se le proponen interactúan en unproceso <strong>de</strong> <strong>de</strong>sarrollo real.


Existen propuestas recientes [3,13] quepreten<strong>de</strong>n dar solución a los mismos problemas.En [3] se propone asignar a cada equipo (<strong>de</strong> 3personas) <strong>la</strong> gestión <strong>de</strong> proyectos y un presupuesto<strong>de</strong> puntos <strong>de</strong> evaluación que han <strong>de</strong> utilizar paracontratar programadores <strong>de</strong> entre los miembros <strong>de</strong>otros grupos. En [13] se proponen una serie <strong>de</strong>'trucos sucios' que se emplean para dificultar <strong>la</strong>tarea <strong>de</strong> los alumnos con objeto <strong>de</strong> que el proceso<strong>de</strong> <strong>de</strong>sarrollo sea más afín a <strong>la</strong> experiencia realque han <strong>de</strong> sufrir luego. La presente propuestaproporciona ventajas simi<strong>la</strong>res sin necesidad <strong>de</strong>imponer criterios mercantilistas ni <strong>de</strong> que elprofesor se presente como antagonista <strong>de</strong>l alumno.Esta propuesta es un refinamiento <strong>de</strong> otraanterior [6] en <strong>la</strong> que se proponía utilizar elmo<strong>de</strong>lo <strong>de</strong> madurez <strong>de</strong> <strong>la</strong> capacidad <strong>de</strong> software(SW CMM) [2] como referencia para que losalumnos intentaran a lo <strong>la</strong>rgo <strong>de</strong>l curso constituiruna 'empresa' <strong>de</strong> <strong>de</strong>sarrollo con sus propiosprocedimientos <strong>de</strong> trabajo documentados. Seproponía intentar alcanzar el nivel 3 (cada grupo<strong>de</strong>bía en el proyecto <strong>de</strong>finir su propio proceso). Laexperiencia resultó positiva por cuanto que losalumnos <strong>de</strong>sarrol<strong>la</strong>ron por escrito versiones muyrazonadas <strong>de</strong> los procedimientos <strong>de</strong> trabajo, perono quedó c<strong>la</strong>ro hasta qué punto habían conseguidoapren<strong>de</strong>r <strong>de</strong> verdad a imp<strong>la</strong>ntarlos en <strong>la</strong> práctica.En <strong>la</strong> propuesta <strong>de</strong> este año se ha introducido <strong>la</strong>i<strong>de</strong>a <strong>de</strong> que <strong>la</strong> primera parte <strong>de</strong>l proceso esgestionado por el profesor, lo que libera a losalumnos durante ese periodo para que puedancentrarse en dominar <strong>la</strong>s técnicas. En términosprácticos se está tomando como referencia el nivel2 (<strong>la</strong> asignatura, entendida como una colección <strong>de</strong>proyectos bajo <strong>la</strong> misma gestión general - <strong>la</strong> <strong>de</strong>lprofesor - sigue un proceso más o menosestablecido - el que se ha discutido en teoría - peroque no está <strong>de</strong>finido específicamente en ningúnsitio - no hay manual <strong>de</strong> gestión <strong>de</strong> proyectos para<strong>la</strong> asignatura). Hasta <strong>la</strong> fecha (mediados <strong>de</strong> mayo)se vienen cumpliendo <strong>la</strong>s previsiones. Está por versi los resultados académicos ratifican <strong>la</strong> vali<strong>de</strong>zpedagógica <strong>de</strong>l método.Referencias[1] Fre<strong>de</strong>rick P. Brooks, Jr. The Mythical Man-Month. Addison-Wesley, 1995 (1ªed. 1975).[2] Carnegie Mellon University, SEI. TheCapability Maturity Mo<strong>de</strong>l: Gui<strong>de</strong>lines forImproving the Software Process. Addison-Wesley Publishing Company, Reading, MA,1995.[3] Ray Dawson, Twelve Dirty Tricks to TrainSoftware Engineers, ICSE 200, ACM.[4] Joint IEEE/ACM Task Force. ComputingCurricu<strong>la</strong> 2001. A Vision of the OverviewVolume, 2001, Steelman Draft[5] Ford, G. 1991 SEI Report in GraduateSoftware Engineering Education, SEI,Carnegie Mellon University, Pittsburgh, Tech.Rep. CMU/SEI-91-TR-2[6] P. Gervás, M.A. Gómez, A. Sarasa."Ingeniería <strong>de</strong>l software: ¿basta con<strong>de</strong>sarrol<strong>la</strong>r proyectos o haría falta probar aimp<strong>la</strong>ntar procesos <strong>de</strong> <strong>de</strong>sarrollo a <strong>la</strong>rgop<strong>la</strong>zo?", JENUI 2001.[7] P.Kruchten. The Rational Unified Process. AnIntroduction. Second Edition. Addison -Wesley, 2000.[8] I. Jacobson, G. Booch, J. Rumbaugh. UML. Elproceso unificado <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software.Ed. Addison Wesley Iberoamericana, 2000.[9] R.S.Pressman. Software Engineering: APractitioner's Approach. European adaptation,5th edition. McGraw-Hill, 2000.[10] Software Engineering CoordinatingCommittee (SWECC). Gui<strong>de</strong> to the SoftwareEngineering Body of Knowledge.http://www.swebok.org/[12] I.Sommerville. Software Engineering. 6thedition. Addison-Wesley, 2001.[13] K. Todd Stevens, Experiences TeachingSoftware Engineering for the First Time,ITiCSE 2001, ACM.


Inteligencia Artificial


SMIT: diseño e implementación <strong>de</strong> un agente sintético <strong>de</strong>presentación para <strong>la</strong>s Unida<strong>de</strong>s <strong>de</strong> Soporte a <strong>la</strong> Docencia <strong>de</strong>lPLAN-GMaria Agui<strong>la</strong>r, C<strong>la</strong>ra Inés Peña, Ramón FabregatInstitut d’Informàtica i Aplicacions (IIiA)Universitat <strong>de</strong> Girona (UdG)magui<strong>la</strong>r@eia.udg.es,c<strong>la</strong>renes@eia.udg.es, ramon.fabregat@udg.esResumenLos agentes <strong>de</strong> presentación, o agentes sintéticos,son una herramienta muy potente para guiar yayudar a los usuarios en su interacción conp<strong>la</strong>taformas informáticas <strong>de</strong> gran tamaño ocomplicadas. En este artículo se presenta el agenteSMIT (Synthetic Multimedia Interactive Tutor),un agente sintético que representa los mensajesdirigidos al estudiante en un sistema <strong>de</strong> tutoríainteligente, adoptando diferentes estilosantropomórficos. Este agente forma parte <strong>de</strong> losagentes <strong>de</strong> interfaz <strong>de</strong>l sistema multiagente MAS-PLANG (MultiAgent System PLANG) diseñadopara ofrecer características <strong>de</strong> adaptatividad a <strong>la</strong>p<strong>la</strong>taforma USD (Unitats <strong>de</strong> Suport a <strong>la</strong> Docència)utilizada para dar soporte a <strong>la</strong> enseñanzaaprendizajea través <strong>de</strong>l web.1. IntroducciónLos agentes sintéticos se han <strong>de</strong>sarrol<strong>la</strong>do paraanimar interfaces <strong>de</strong> usuario utilizando personajesreales o <strong>de</strong> aspecto real. En entornos educativosvirtuales, <strong>la</strong> concepción <strong>de</strong> estos agentes conapariencia agradable y cautivadora, provoca en elestudiante <strong>la</strong> ilusión <strong>de</strong> estar siempre asistidodurante su proceso <strong>de</strong> aprendizaje, lo cual segúnlos expertos, favorece ampliamente <strong>la</strong> adquisición<strong>de</strong>l conocimiento.Actualmente con <strong>la</strong> proliferación <strong>de</strong> <strong>la</strong>sp<strong>la</strong>taformas para generar agentes, se han<strong>de</strong>sarrol<strong>la</strong>do o utilizado diversos tipos <strong>de</strong> agentessintéticos en entornos para el comercio electrónicoy para <strong>la</strong> educación a distancia a través <strong>de</strong>l web.Por ejemplo, podriamos citar los personajesintroducidos por [3] para permitir diálogosanimados <strong>de</strong> ventas <strong>de</strong> productos o el PPP personapropuesto por [4] para mostrar, explicar ocomentar presentaciones gráficas <strong>de</strong> materialeseducativos.Para transformar el entorno educativo <strong>de</strong> <strong>la</strong>sUSD [13] <strong>de</strong>sarrol<strong>la</strong>do bajo el proyecto PLANG 1 ,en un sistema adaptativo teniendo en cuentaestilos <strong>de</strong> aprendizaje, se está construyendo elsistema multiagente MAS-PLANG [2], <strong>de</strong> cuyaarquitectura forma parte el agente SMIT [9], unagente sintético <strong>de</strong> presentación que asumediferentes estilos antropomórficos para representarlos mensajes dirigidos al estudiante. El objetivo <strong>de</strong>este documento es presentar en <strong>de</strong>talle losaspectos básicos <strong>de</strong> su diseño e implementación.En <strong>la</strong> sección 2 se <strong>de</strong>scribe en forma global eldiseño pedagógico <strong>de</strong> los tutores inteligentescomo marco para <strong>la</strong> introducción en <strong>la</strong> sección 3,<strong>de</strong>l sistema multiagente MAS-PLANG. Acontinuación <strong>la</strong>s secciones 4 y 5 <strong>de</strong>scriben eldiseño y <strong>la</strong> implementación <strong>de</strong>l agente SMIT y <strong>la</strong>sección 6 finalmente concluye el documento conun resumen y aspectos <strong>de</strong>l trabajo futuro.1 PLAN-G: PLAtaforma telemática <strong>de</strong> NuevaGeneración para <strong>la</strong> enseñanza abierta y a distancia.Este trabajo ha sido parcialmente financiado por <strong>la</strong>CICYT TEL-99-0976


2. Sobre el diseño pedagógico <strong>de</strong> tutoresinteligentesLa incorporación <strong>de</strong> <strong>la</strong> informática en <strong>la</strong>tecnología educativa ha <strong>de</strong>spertado <strong>de</strong>s<strong>de</strong> elprincipio importantes expectativas sobre <strong>la</strong>smejoras que podría aportar al aprendizaje. Des<strong>de</strong>entonces ha existido una <strong>la</strong>rga historia <strong>de</strong> éxitos ytambién <strong>de</strong> fracasos.Arruarte [1] en sus apreciaciones teóricasincluidas en su tesis doctoral sobre generación <strong>de</strong>sistemas <strong>de</strong> educación inteligentes, ha hecho unaimportante <strong>de</strong>scripción sobre el diseño pedagógico<strong>de</strong> los sistemas <strong>de</strong> tutoría inteligente (ITSs), <strong>la</strong>cual hemos aprovechado como base para el diseño<strong>de</strong>l sistema multiagente MAS-PLANG, marco <strong>de</strong>funcionamiento <strong>de</strong>l agente SMIT.En particu<strong>la</strong>r, los sistemas ITS tratan <strong>de</strong>aplicar <strong>la</strong>s técnicas <strong>de</strong> <strong>la</strong> Inteligencia Artificial al<strong>de</strong>sarrollo <strong>de</strong> sistemas <strong>de</strong> aprendizaje asistido porcomputador con el propósito <strong>de</strong> construir sistemas<strong>de</strong> enseñanza inteligentes; don<strong>de</strong> <strong>la</strong> pa<strong>la</strong>brainteligente se asocie a <strong>la</strong> capacidad <strong>de</strong> adaptacióndinámica al <strong>de</strong>sarrollo <strong>de</strong>l aprendizaje.Un ITS enfoca <strong>la</strong> educación como un proceso<strong>de</strong> cooperación entre el tutor y el alumno. Engeneral este proceso esta guiado por el tutor, elcual ha <strong>de</strong> analizar el comportamiento <strong>de</strong>l alumnotanto para saber cual es su nivel <strong>de</strong> conocimientocomo para satisfacer sus requerimientos y asípo<strong>de</strong>r <strong>de</strong>terminar y aplicar en todo momento <strong>la</strong>sestrategias educativas que se consi<strong>de</strong>ren masa<strong>de</strong>cuadas. También permite guiar al alumno ensu aprendizaje por unida<strong>de</strong>s <strong>de</strong> informacióncontro<strong>la</strong>das evitando así que se pierda cuandonavega a través <strong>de</strong> su contenido.Las siguientes cuatro componentescaracterízan un sistema <strong>de</strong> tutoría inteligente:• El Módulo <strong>de</strong>l dominio. Que constituye elconocimiento <strong>de</strong> <strong>la</strong> materia a enseñar. Este seutiliza para <strong>de</strong>terminar lo que se <strong>de</strong>bepresentar al estudiante y <strong>la</strong> forma <strong>de</strong>evaluarlo.• El Módulo pedagógico. En el que serepresentan <strong>la</strong>s diferentes estrategias <strong>de</strong>enseñanza y se implementan los métodos <strong>de</strong>control <strong>de</strong> <strong>la</strong> sesión mediante <strong>la</strong> elección ysequencialización a<strong>de</strong>cuada <strong>de</strong> dichasestrategias. Debe ser capaz <strong>de</strong> <strong>de</strong>cidir,utilizando <strong>la</strong> información tanto <strong>de</strong>l Módulo<strong>de</strong>l dominio como <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>l estudiante,que conceptos presentar en cada momento,cómo presentarlos y cuando y comointerrumpir al estudiante.• El Mo<strong>de</strong>lo <strong>de</strong>l estudiante: Que representa <strong>la</strong>imagen que el sistema tiene <strong>de</strong>l conocimientoque el estudiante haya adquirido durante elproceso <strong>de</strong> instrucción. También incorporadatos sobre su comportamiento que puedantener repercusión en su forma <strong>de</strong> apren<strong>de</strong>r.• El Módulo <strong>de</strong> diálogo: Que <strong>de</strong>fine <strong>la</strong> interfaz<strong>de</strong> comunicación <strong>de</strong>l sistema con el usuario.Esta componente se encarga <strong>de</strong> traducir <strong>la</strong>sintervenciones <strong>de</strong>l sistema <strong>de</strong> formainteligible para el alumno y transformar <strong>la</strong>sentradas <strong>de</strong> este a una representación internaque el sistema pueda procesar.El agente SMIT en nuestro caso, se ubica en elmódulo <strong>de</strong> diálogo <strong>de</strong>l entorno virtual <strong>de</strong>aprendizaje <strong>de</strong> <strong>la</strong>s USD para presentar alestudiante, por medio <strong>de</strong> metáforasantropomórficas agradables, los mensajesgenerados por los otros agentes <strong>de</strong>l sistema(actualmente sólo representa los mensajesprovenientes <strong>de</strong>l agente programable SONIA [14]<strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong>l MAS-PLANG propuesta en<strong>la</strong> Figura 1) durante una sesión <strong>de</strong> aprendizaje.El po<strong>de</strong>r guiar al estudiante durante suproceso <strong>de</strong> aprendizaje es una característica muyimportante a tener en cuenta en el diseño <strong>de</strong>tutores inteligentes y <strong>de</strong>be estar orientada no soloa permitir ver o trabajar con los contenidosdidácticos consi<strong>de</strong>rando el nivel <strong>de</strong> conocimiento<strong>de</strong>l estudiante o su estilo <strong>de</strong> aprendizaje como ennuestro caso, sino también a ofrecer un entorno <strong>de</strong>trabajo agradable y adaptado a <strong>la</strong>s preferencias <strong>de</strong>lestudiante. En este sentido, Opperman [12] realizauna muy buena c<strong>la</strong>sificación <strong>de</strong> hacia don<strong>de</strong>dirigir <strong>la</strong>s ten<strong>de</strong>ncias cuando se diseñan este tipo<strong>de</strong> sistemas:• Los sistemas <strong>de</strong> tutoría inteligente pue<strong>de</strong>n seradaptables o configurables por el estudiante.En este caso, es el estudiante quiensuministra explícitamente <strong>la</strong>s característicasparticu<strong>la</strong>res que <strong>de</strong>sea tener en su entorno <strong>de</strong>trabajo. Dependiendo por supuesto <strong>de</strong> <strong>la</strong>flexibilidad <strong>de</strong> cada entorno, esaspreferencias podrían ten<strong>de</strong>r por ejemplo, apo<strong>de</strong>r configurar los tipos <strong>de</strong> iconos


disponibles, <strong>la</strong> posición y el tamaño <strong>de</strong> <strong>la</strong>sventanas, <strong>la</strong>s herramientas <strong>de</strong> navegación,etc.• Los sistemas <strong>de</strong> tutoría inteligente pue<strong>de</strong>n seradaptativos. En este caso, es el sistema quemediante procesos especiales (técnicas <strong>de</strong>inteligencia artificial), percibe <strong>la</strong>scaracterísticas <strong>de</strong> aprendizaje <strong>de</strong>l estudiante yle ofrece dinámicamente un entornoeducativo personalizado.agentes: los agentes <strong>de</strong>l nivel superior o asistentespersonales <strong>de</strong>nominados PDAs y los agentes <strong>de</strong>lnivel inferior o agentes <strong>de</strong> información<strong>de</strong>nominados IAs. En <strong>la</strong> siguiente figura se pue<strong>de</strong>observar dicha arquitectura.El sistema multiagente MAS-PLANG sobre el quehab<strong>la</strong>remos en <strong>la</strong> siguiente sección, transforma elsistema hipermedia educativo configurable USDen un sistema hipermedia educativo adaptativo,teniendo en cuenta el estilo <strong>de</strong> aprendizaje <strong>de</strong>lestudiante que lo utiliza.3.- La arquitectura <strong>de</strong>l MAS-PLANGEl sistema MAS-PLANG forma parte <strong>de</strong> <strong>la</strong>sinvestigaciones <strong>de</strong>sarrol<strong>la</strong>das por el Grupo <strong>de</strong>Comunicaciones y Sistemas Distribuidos <strong>de</strong>lInstituto <strong>de</strong> Informática y Aplicaciones <strong>de</strong> <strong>la</strong>Universitat <strong>de</strong> Girona y se p<strong>la</strong>nteó para ofrecercaracterísticas <strong>de</strong> adaptatividad a <strong>la</strong>s Unida<strong>de</strong>s <strong>de</strong>Soporte a <strong>la</strong> Docencia USD a través <strong>de</strong> <strong>la</strong>implementación <strong>de</strong> procesos para:• Dirigir, contro<strong>la</strong>r y coordinar <strong>la</strong> interactividad<strong>de</strong>l estudiante con el sistema y los contenidosdidácticos.• Crear y mantener el mo<strong>de</strong>lo <strong>de</strong> estudiante.• Filtrar <strong>la</strong> información proveniente <strong>de</strong> <strong>la</strong>s bases<strong>de</strong> datos <strong>de</strong> acuerdo con algunos patronespreestablecidos.• Evaluar el conocimiento <strong>de</strong>l estudiante conbase en su perfil <strong>de</strong> aprendizaje.Para cumplir con estos objetivos, se diseñó unsistema multiagente utilizando agentesinteligentes con propieda<strong>de</strong>s <strong>de</strong> sociabilidad parainteractuar y co<strong>la</strong>borar con otros agentes ypropieda<strong>de</strong>s <strong>de</strong> adaptabilidad para según el casopermitir ser programados por el estudiante cuandociertas tareas sean importantes para complementaralgunas <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> aprendizajepropuestas.El sistema está compuesto por dos niveles <strong>de</strong>Figura 1.Arquitectura <strong>de</strong>l MAS-PLANGLos asistentes personales se ejecutan <strong>de</strong> formaconcurrente con <strong>la</strong>s aplicaciones <strong>de</strong>l cliente quepermiten el acceso al sistema, capturan <strong>la</strong>sacciones <strong>de</strong>l estudiante durante <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>una sesión <strong>de</strong> aprendizaje y le asisten conpresentaciones amenas en situaciones particu<strong>la</strong>res.Según su objetivo existen los siguientes:• El agente programable SONIA: que permite alestudiante automatizar ciertas tareas <strong>de</strong>aprendizaje mediante <strong>la</strong> programación <strong>de</strong><strong>de</strong>terminados eventos.• Los agentes monitores: que monitorizan <strong>la</strong>sactivida<strong>de</strong>s <strong>de</strong>l estudiante para generarretroalimentación a su módulo <strong>de</strong>comportamiento.• El agente Sintético SMIT: que se introduce <strong>de</strong>forma animada en <strong>la</strong> interfaz para presentaral estudiante los mensajes provenientes <strong>de</strong>otros agentes.• El agente <strong>de</strong> navegación: que organiza loscaminos <strong>de</strong> navegación mediante <strong>la</strong>interacción directa con <strong>la</strong> base <strong>de</strong> datos y losagentes didacta y <strong>de</strong> usuario.Los agentes <strong>de</strong> información actúan comointermediarios entre los agentes <strong>de</strong>l nivel superior(PDAs) y el módulo <strong>de</strong>l dominio, el módulo <strong>de</strong>


aprendizaje, y el mo<strong>de</strong>lo <strong>de</strong>l estudiante. Estos sec<strong>la</strong>sifican en:• El agente mo<strong>de</strong>lo <strong>de</strong>l estudiante: que seencarga <strong>de</strong> generar y mantener el mo<strong>de</strong>lo <strong>de</strong>lestudiante (recibe información <strong>de</strong> los agentesmonitores, aplica patrones <strong>de</strong> c<strong>la</strong>sificación ycategoriza los estudiantes, actualiza <strong>la</strong>s bases<strong>de</strong> datos, etc.).• El agente didacta: que selecciona <strong>la</strong>sestrategias pedagógicas idóneas para <strong>la</strong>organización <strong>de</strong> <strong>la</strong> sesión <strong>de</strong> aprendizaje,basándose en el mo<strong>de</strong>lo <strong>de</strong>l estudiante.4. Diseño <strong>de</strong>l Agente SMITComo su misión es <strong>la</strong> <strong>de</strong> mostrar <strong>de</strong> maneraagradable al estudiante los mensajes provenientes<strong>de</strong> los otros agentes <strong>de</strong>l sistema, SMIT adopta unestilo antropomórfico apropiado cada vez quepercibe los mensajes dirigidos al estudiante parapresentar su contenido <strong>de</strong> forma rápida y c<strong>la</strong>ra.Para el diseño <strong>de</strong> <strong>la</strong> estructura <strong>de</strong>comunicación entre los agentes <strong>de</strong> interfaz <strong>de</strong> <strong>la</strong>arquitectura MAS-PLANG y el agente SMIT,hemos adoptado el método <strong>de</strong>l tablón <strong>de</strong> anuncioso <strong>de</strong> <strong>la</strong> pizarra propuesto por [7], que consiste enreservar un espacio <strong>de</strong> memoria conocido portodos los agentes <strong>de</strong>l sistema, para que puedan<strong>de</strong>jar allí los mensajes dirigidos al estudiante.SMIT entonces estará siempre atento a leer elcontenido <strong>de</strong> <strong>la</strong> pizarra para realizar <strong>la</strong>s accionescorrespondientes con los mensajes encontrados.La Figura 2 esquematiza este proceso.A continuación se pue<strong>de</strong> observar <strong>la</strong> estructura<strong>de</strong> los mensajes <strong>de</strong>jados en <strong>la</strong> pizarra por losagentes <strong>de</strong> interfaz <strong>de</strong>l sistema:• Tipo: indica el tipo <strong>de</strong> mensaje. Por medio <strong>de</strong>este campo se <strong>de</strong>ci<strong>de</strong> el tipo <strong>de</strong> presentaciónque ha <strong>de</strong> efectuar el compositor.• Prioridad: indica el grado <strong>de</strong> urgencia. Estecampo permite or<strong>de</strong>nar los mensajes <strong>de</strong> <strong>la</strong>pizarra.• Remite: i<strong>de</strong>ntifica el agente que envía elmensaje. Esta información es necesaria parai<strong>de</strong>ntificar al cerrar <strong>la</strong> sesión, el agentereceptor <strong>de</strong> los registros <strong>de</strong> eventos sucedidoscon respecto al tratamiento dado al mensajepuesto en <strong>la</strong> pizarra.• Contenido: el texto <strong>de</strong>l mensajeFigura 2. Estructura <strong>de</strong> <strong>la</strong>s acciones realizadas por el agente SMIT


La presentación <strong>de</strong> un mensaje se construyecon <strong>la</strong> siguiente secuencia:• En un principio aparece el agente SMIThab<strong>la</strong>ndo (gesticu<strong>la</strong>ndo, con movimientossincronizados <strong>de</strong> <strong>la</strong> boca), mostrando elmensaje correspondiente a través <strong>de</strong> unainterfaz como <strong>la</strong> que se muestra en <strong>la</strong>Figura 3. En este punto se pue<strong>de</strong> interactuarcon el agente mediante tres botones: sepue<strong>de</strong> activar o <strong>de</strong>sactivar el sonido <strong>de</strong> <strong>la</strong>presentación (que por <strong>de</strong>fecto aparece consonido para l<strong>la</strong>mar <strong>la</strong> atención <strong>de</strong>l alumno),se pue<strong>de</strong> ver el historial <strong>de</strong> mensajesrecibidos, o se pue<strong>de</strong> aceptar el mensaje ycerrar <strong>la</strong> ventana.• Si el alumno no acepta el mensaje en untiempo <strong>de</strong>terminado, SMIT se duerme,como se muestra en <strong>la</strong> Figura 4. Cuandoestá dormido el mensaje no se pue<strong>de</strong> ver,pero se pue<strong>de</strong> pedir su reproducciónhaciendo un clic en el botón <strong>de</strong> repetirmensaje. Cuando SMIT duerme tambiénronca. El hecho <strong>de</strong> que se duerma sirvetanto para indicar al usuario que el mensajeya es viejo, como para l<strong>la</strong>mar su atención alhacer ruido.• Según el tipo <strong>de</strong> mensaje que presente, e<strong>la</strong>gente SMIT pue<strong>de</strong> aparecer con diferentesestados <strong>de</strong> ánimo, o moviendo <strong>de</strong> formadiferente <strong>la</strong> boca o los brazos. Si el mensajemostrado a<strong>de</strong>más tiene una característicaespecial, pue<strong>de</strong> aparecer un icono al <strong>la</strong>do<strong>de</strong> su contenido para resaltar dichacondición.• También hay que tener en cuenta lo quesuce<strong>de</strong> cuando llega un mensaje nuevo yaún no se ha aceptado el anterior. En esecaso se trabaja con una co<strong>la</strong> <strong>de</strong> mensajes en<strong>la</strong> misma ventana <strong>de</strong>l agente para evitarequívocos y aparecen unas flechas quepermiten el movimiento entre los mensajesexistentes, para po<strong>de</strong>r visualizar suscontenidos. Los mensajes van<strong>de</strong>sapareciendo <strong>de</strong> <strong>la</strong> co<strong>la</strong> a medida que elusuario los va aceptando, pero el alumnosiempre podrá consultar los mensajes quehan ido llegando haciendo un clic en elbotón <strong>de</strong>l historial.Figura 3. Interfaz <strong>de</strong>l agente SMITFigura 3. Interfaz <strong>de</strong>l agente SMITFigura 4.- El agente SMIT dormidoLa base <strong>de</strong> conocimiento <strong>de</strong>l agente consisteen una tab<strong>la</strong> que guarda <strong>la</strong>s características <strong>de</strong> losmensajes que pue<strong>de</strong>n llegar a <strong>la</strong> pizarra y <strong>la</strong>sinstrucciones sobre como mostrarlos. Porejemplo, el campo tipo <strong>de</strong> mensaje permite<strong>de</strong>cidir <strong>la</strong> estructura que va a tener <strong>la</strong>representación <strong>de</strong>l mensaje al estudiante. Es<strong>de</strong>cir, es un campo c<strong>la</strong>ve que asigna el “estado<strong>de</strong> ánimo <strong>de</strong>l agente” (alegre, serio, sorprendido)cuando muestra un mensaje y ese estado <strong>de</strong>ánimo repercute en un campo que indica el tipo<strong>de</strong> pelícu<strong>la</strong> en FLASH que se utilizará para <strong>la</strong>animación <strong>de</strong>l personaje. Dependiendo <strong>de</strong>l tipo<strong>de</strong> mensaje, también se manejan <strong>de</strong> una u otraforma sus contenidos textuales y en el idiomaseleccionado por el estudiante en el entorno <strong>de</strong>aprendizaje


5. Implementación <strong>de</strong>l agente SMIT5.1. Lenguajes <strong>de</strong> programación utilizadosEl sistema MAS-PLANG se ha <strong>de</strong>sarrol<strong>la</strong>dosobre <strong>la</strong> p<strong>la</strong>taforma FIPA-OS [11] compatiblecon los estándares propuestos por FIPA [5] para<strong>la</strong> generación <strong>de</strong> agentes.Como el lenguaje <strong>de</strong> programación básico<strong>de</strong> FIPA-OS es el Java, hemos utilizado paraSMIT <strong>la</strong> arquitectura cliente-servidor, <strong>de</strong> talmanera que un servlet (SMIT servidor) realicelos procesos <strong>de</strong> registro e integración <strong>de</strong>l agentecon los agentes <strong>de</strong> FIPA-OS y <strong>de</strong>l MAS-PLANG (utilizando ACL [6] para el envio yrecepción <strong>de</strong> mensajes) <strong>de</strong>l <strong>la</strong>do <strong>de</strong>l servidor ylibere (a través <strong>de</strong> un socket) un applet (SMITcliente) con <strong>la</strong> información necesaria (base <strong>de</strong>conocimiento) para el funcionamiento <strong>de</strong>l agente<strong>de</strong>l <strong>la</strong>do <strong>de</strong>l cliente (interacción con el usuario).En <strong>la</strong> máquina cliente, el applet para cumplircon su objetivo <strong>de</strong> representar los mensajesprovenientes <strong>de</strong> los otros agentes <strong>de</strong>l sistema ydirigidos al estudiante, realiza procesos <strong>de</strong>interacción directa con el motor <strong>de</strong> <strong>la</strong>spresentaciones mediante sentencias escritas enJavaScript, que es el lenguaje básico <strong>de</strong>programación <strong>de</strong>l entorno <strong>de</strong> aprendizaje <strong>de</strong> <strong>la</strong>sUSD. Para <strong>la</strong> comunicación entre los lenguajesJava y JavaScript hemos utilizado <strong>la</strong>s c<strong>la</strong>sesLiveConnect <strong>de</strong>sarrol<strong>la</strong>das por Netscape [10].El motor <strong>de</strong> <strong>la</strong>s presentaciones se <strong>de</strong>sarrollóa través <strong>de</strong>l programa Macromedia F<strong>la</strong>sh [8] porsu flexibilidad para <strong>la</strong> generación <strong>de</strong>presentaciones multimedia en animaciones parael web y porque es un programa que se basa en<strong>la</strong> reproducción corre<strong>la</strong>tiva <strong>de</strong> un conjunto <strong>de</strong>imágenes (frames) a un ritmo <strong>de</strong> 12 por segundo(o a un ritmo configurable) y permite mediante<strong>la</strong> programación en su lenguaje propioActionScript, incluir interactividad a <strong>la</strong>sanimaciones y comunicarse con <strong>la</strong> programaciónen JavaScript <strong>de</strong>l entorno <strong>de</strong> aprendizaje.En <strong>la</strong> Figura 5 se pue<strong>de</strong> observar <strong>la</strong>distribución <strong>de</strong> los diferentes módulos queconforman <strong>la</strong> programación <strong>de</strong>l agente SMIT ysus interacciones con el módulo generador <strong>de</strong> <strong>la</strong>spresentaciones, el cual recibe programación enJavaScript proveniente <strong>de</strong> <strong>la</strong> pizarra y mediantedos módulos escritos en HTML (con sentenciasen JavaScript y F<strong>la</strong>sh) <strong>de</strong>ci<strong>de</strong> <strong>la</strong> forma <strong>de</strong>representar los mensajes al estudiante.Figura 5. Esquema <strong>de</strong> <strong>la</strong> programación <strong>de</strong>l agente SMIT


5.2. Funcionamiento generalEl funcionamiento general <strong>de</strong> SMIT integrandocliente y servidor con <strong>la</strong> p<strong>la</strong>taforma FIPA-OS sepue<strong>de</strong> apreciar en <strong>la</strong> Figura 6. Cuando unalumno se conecta a <strong>la</strong> p<strong>la</strong>taforma se realizan lossiguientes procesos:• Se genera el SMIT Servidor registrándoseen FIPA-OS y recibiendo el conocimientoque le indica <strong>la</strong> forma <strong>de</strong> generar <strong>la</strong>spresentaciones (qué estilo antropomórficoadoptar y qué movimientos realizar) (pasos1 y 2).• Se libera el applet SMIT cliente con <strong>la</strong>información <strong>de</strong> <strong>la</strong> base <strong>de</strong> conocimientotransferida por el SMIT servidor (paso 3).• SMIT supervisa el estado <strong>de</strong> <strong>la</strong> pizarraatento a los mensajes dirigidos al estudianteque hayan <strong>de</strong>jado los <strong>de</strong>más agentes <strong>de</strong>lsistema (paso 4).• El motor generador <strong>de</strong> presentaciones<strong>de</strong>ci<strong>de</strong> <strong>de</strong> acuerdo al mensaje percibido y a<strong>la</strong> evaluación <strong>de</strong> <strong>la</strong> base <strong>de</strong> conocimiento<strong>de</strong>l agente SMIT, <strong>la</strong> forma <strong>de</strong> representar elmensaje al estudiante (seleccionando el tipo<strong>de</strong> pelícu<strong>la</strong> FLASH <strong>de</strong> acuerdo al tipo <strong>de</strong>mensaje y combinándolo con el contenido<strong>de</strong>l mismo) y a su vez mantiene un registro<strong>de</strong> los eventos re<strong>la</strong>cionados con eltratamiento dado a dicho mensaje (agenteemisor, hora <strong>de</strong> llegada <strong>de</strong>l mensaje a <strong>la</strong>pizarra, hora <strong>de</strong> salida <strong>de</strong>l mensaje alestudiante, hora <strong>de</strong> aceptación <strong>de</strong>l mensajepor parte <strong>de</strong>l estudiante, etc) (pasos 5 a 8).• Si el estudiante <strong>de</strong>ci<strong>de</strong> terminar <strong>la</strong> sesión, elSMIT cliente envía el registro <strong>de</strong> eventos<strong>de</strong> mensajes al SMIT servidor, para queéste se encargue <strong>de</strong> distribuirlo a loscorrespondientes agentes emisores,actualice <strong>la</strong> base <strong>de</strong> conocimiento si fuerael caso y finalmente se “<strong>de</strong>s-registre” <strong>de</strong>FIPA-OS (pasos 9 y 10).Figura 6. Funcionamiento general <strong>de</strong>l agente SMIT


6. ConclusionesConsi<strong>de</strong>rando que <strong>la</strong> asistencia al estudiantedurante su proceso <strong>de</strong> aprendizaje es un factorprimordial para facilitarle <strong>la</strong> adquisición <strong>de</strong>lconocimiento, hemos generado el agente SMIT,un agente sintético que mediante estilosantropomórficos agradables, representa alestudiante los mensajes provenientes <strong>de</strong> losotros agentes <strong>de</strong>l sistema integrados al entornoeducativo <strong>de</strong> <strong>la</strong>s Unida<strong>de</strong>s <strong>de</strong> Soporte a <strong>la</strong>Docencia <strong>de</strong> <strong>la</strong> UdG.Des<strong>de</strong> el punto <strong>de</strong> vista técnico, hemoslogrado el <strong>de</strong>sarrollo <strong>de</strong> un agente rápido en susreacciones, sencillo en su uso y transparente a <strong>la</strong>aparición <strong>de</strong> otros agentes <strong>de</strong>l sistema.Actualmente, probamos su funcionamientorepresentando los mensajes <strong>de</strong>l agenteprogramable SONIA <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong>lMAS-PLANG pero pensamos po<strong>de</strong>r contar enun futuro cercano, con <strong>la</strong> integración <strong>de</strong> losmensajes provenientes <strong>de</strong> los agentes monitoresy <strong>de</strong>l agente <strong>de</strong> navegación <strong>de</strong> esta mismaarquitectura.Referencias[1] Ana Arruarte. Fundamentos y diseño <strong>de</strong>IRIS: un entorno para <strong>la</strong> generación <strong>de</strong>sistemas <strong>de</strong> enseñanza inteligentes. Tesisdoctoral, Facultad <strong>de</strong> Informática,Universidad <strong>de</strong>l País Vasco, San Sebastián,España, 1998.[2] C. I. Peña, J. L. Marzo. Adaptive IntelligentAgent Approach to Gui<strong>de</strong> the WebNavigation on the PLAN-G DistanceLearning P<strong>la</strong>tform, IEE Colloquium "Lostin the Web - Navigation on the Internet",London, November 1999.[3] Elisabeth André, Thomas Rist. Presentingthrough Performing: on the use of multipleanimated characters in knowledge-basedpresentation systems. German ResearchCenter for Artificial Intelligence GmbH,Saarbrucken, Germany, 2000.[4] Elisabeth André, Jochen Müller, ThomasRist. The PPP Persona: a MultipurposeAnimated Presentacion Agent. GermanResearch Center for Artificial IntelligenceGmbH, Saarbrucken, Germany, 1996.[5] FIPA- Foundation for Intelligent PhysicalAgents. http://www.cselt.stet.it/fipa[6] FIPA- Foundation for Intelligent PhysicalAgents. Agent Comunication Language.FIPA97 Specification, version 2.0, part 1.http://www.fipa.org[7] Franco Zambonelli. Coordination,Communication and Col<strong>la</strong>boration.Coordination Mo<strong>de</strong>ls and Technologies forInternet Agents. EASSS 2000, 2n EuropeanAgents Systems Summer School,Saarbrücken, Germany, 2000.[8] Macromedia. http://www.macromedia.com[9] M. Agui<strong>la</strong>r. SMIT: Disseny iImplementació d’un Agent Sintètic <strong>de</strong>Presentació per les Unitats <strong>de</strong> Suport a <strong>la</strong>Docència <strong>de</strong>l PLAN-G, Proyecto final <strong>de</strong>carrera, Esco<strong>la</strong> Politècnica Superior,Universitat <strong>de</strong> Girona, España, 2001.[10] Netscape Developers Web Site.http://<strong>de</strong>veloper.netscape.com/[11] Nortel Networks Corporation. FIPA-OSV1.3.3 Distribution Notes, Open Source,2000. http://fipa-os.sourceforge.net/[12] R. Oppermann, R. Rossen, Kinshuk,Adaptability and Adaptivity in LearningSystems, Knowledge Transfer (Volume II)(Ed, A. Behrooz), Pace, London, UK, 1997,pp. 173-179.[13] R. Fabregat, J.L. Marzo, C.I. Peña,Teaching Support Units, Computers andEducation in the 21st Century: KluwerAca<strong>de</strong>mic Publishers, 2000, pp. 163-174.[14] S. Oliveras. Implementació d’un agentintel•ligent d’interfície per assistir al’estudiant quan realitza feinesd’aprenentatge en <strong>la</strong> p<strong>la</strong>taforma telemàticaeducativa <strong>de</strong>l PLAN-G, Proyecto final <strong>de</strong>carrera, Esco<strong>la</strong> Politècnica Superior.Universitat <strong>de</strong> Girona, España, 2000.


Docencia <strong>de</strong> prácticas <strong>de</strong> Tratamiento Digital <strong>de</strong> Imágenes y <strong>de</strong>Visión Artificial en <strong>la</strong> Universidad <strong>de</strong> AlmeríaFrancisco Guindos Rojas y José Antonio Piedra Fernán<strong>de</strong>z.Departamento Lenguajes y ComputaciónÁrea Ciencias <strong>de</strong> <strong>la</strong> Computación e Inteligencia Artificial.Universidad <strong>de</strong> Almería.e-mail: fguindos@ual.es jpiedra@ual.esResumenEste artículo busca facilitar el en<strong>la</strong>ce entre loscontenidos teóricos que se tratan en <strong>la</strong>s asignaturas <strong>de</strong>Tratamiento Digital <strong>de</strong> Imágenes y Visión Artificialy el <strong>de</strong>sarrollo mediante <strong>la</strong>s prácticas <strong>de</strong> dichosconceptos. Presentamos un entorno [3] [4] quepermita centrar al alumnado en los conceptos teóricosy que a su vez reduzca <strong>la</strong> complejidad a <strong>la</strong> hora <strong>de</strong>implementar los algoritmos propuestos en prácticas.1. IntroducciónEn <strong>la</strong> Universidad <strong>de</strong> Almería se imparten <strong>la</strong>sasignaturas <strong>de</strong> T.D.I. (Tratamiento Digital <strong>de</strong>Imágenes) y V.A. (Visión Artificial). En <strong>la</strong> tab<strong>la</strong> 1 serepresenta el carácter <strong>de</strong> <strong>la</strong>s asignaturas en <strong>la</strong>stitu<strong>la</strong>ciones en <strong>la</strong>s que se imparten.Hab<strong>la</strong>r hoy día <strong>de</strong> tratamiento <strong>de</strong> imágenes[2],implica hab<strong>la</strong>r <strong>de</strong> informática. Los sistemasinformáticos se han convertido en una herramientaindispensable en este campo. Des<strong>de</strong> <strong>la</strong>s tareas mássimples <strong>de</strong> procesado <strong>de</strong> imágenes a <strong>la</strong>s máscomplejas <strong>de</strong> visión artificial, todas el<strong>la</strong>s se abordanhoy utilizando los medios que <strong>la</strong> informática pone ennuestras manos.Así, en los estudios universitarios <strong>de</strong>informática, se han incluido asignaturas don<strong>de</strong> e<strong>la</strong>lumno adquiere los conocimientos necesarios para eltrabajo en esta área: adquisición, representación ymanipu<strong>la</strong>ción <strong>de</strong> imágenes. Se trata <strong>de</strong> una disciplinadon<strong>de</strong> <strong>la</strong> realización <strong>de</strong> prácticas es <strong>de</strong> sumaimportancia para su a<strong>de</strong>cuado aprendizaje, pero cuyarealización no es fácil <strong>de</strong> p<strong>la</strong>nificar, especialmentecuando se <strong>de</strong>be limitar a un espacio <strong>de</strong> tiemporeducido como es un cuatrimestre. El problema surgecuando se preten<strong>de</strong> realizar una práctica a un ciertonivel en el tratamiento <strong>de</strong> <strong>la</strong> imagen, pero para llegarhasta allí hay que realizar toda una serie <strong>de</strong> tareasprevias, que si bien pue<strong>de</strong>n enmarcarse <strong>de</strong>ntro <strong>de</strong>lobjetivo <strong>de</strong> <strong>la</strong> propia asignatura, reducen el tiempodisponible para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> práctica <strong>de</strong>seada.Por otra parte, <strong>la</strong> Visión Artificial [1] [5] se haconvertido en una <strong>de</strong> <strong>la</strong>s áreas <strong>de</strong> trabajo <strong>de</strong> <strong>la</strong>Inteligencia Artificial con más futuro. Son muchas loscampos <strong>de</strong> aplicación don<strong>de</strong> ya hoy se está utilizandocon éxito aportando un gran avance en los métodos <strong>de</strong>trabajo. Utilizando técnicas <strong>de</strong> Visión Artificial sepue<strong>de</strong> realizar un tratamiento inteligente <strong>de</strong> <strong>la</strong>simágenes recibidas en el or<strong>de</strong>nador en el que, másallá <strong>de</strong> <strong>la</strong> pura manipu<strong>la</strong>ción, se llega al análisis yreconocimientos <strong>de</strong> los objetos presentes en el<strong>la</strong>s.Asignatura. Ciclo Tipo CréditosTratamiento Digital <strong>de</strong>ImágenesVisión Artificial1º IngenieríaInformática2º IngenieríaInformáticaOptativa 6Optativa 6Tab<strong>la</strong> 1. Situación <strong>de</strong> <strong>la</strong>s asignaturas


La docencia práctica no trata <strong>de</strong> un recorridoexhaustivo por todos los métodos empleados en estastareas, sino que se ha escogido una metodología, conejemplos y un entorno <strong>de</strong> trabajo don<strong>de</strong> llevar a <strong>la</strong>práctica cada una <strong>de</strong> <strong>la</strong>s técnicas necesarias. Se trata<strong>de</strong> un entorno <strong>de</strong> trabajo realizado por los mismosautores y <strong>de</strong>stinado a facilitar <strong>la</strong> realización eimplementación <strong>de</strong> prácticas en asignaturas <strong>de</strong>Tratamiento Digital <strong>de</strong> Imágenes y Visión Artificial.Básicamente, es un conjunto <strong>de</strong> funciones <strong>de</strong>preprocesado, segmentación y <strong>de</strong>scripción <strong>de</strong>imágenes que permiten al alumno centrarsedirectamente en <strong>la</strong>s prácticas, liberándolo <strong>de</strong> <strong>la</strong>implementación <strong>de</strong> los prolegómenos necesarios parael<strong>la</strong>s.Las principales ventajas con respecto a otros sistemasson:• Utilización sencil<strong>la</strong>.• Fácil <strong>de</strong> insta<strong>la</strong>r.• No necesita <strong>de</strong> nigún otro software parausarse (simplemente el compi<strong>la</strong>dor).• Los tipos <strong>de</strong> datos (matrices e imágenes)verifican <strong>la</strong> vali<strong>de</strong>z <strong>de</strong> los datos (rango <strong>de</strong>los índices, valores iniciales, ...) en cadaacceso, lo que aunque menos eficiente, esmás a<strong>de</strong>cuado para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>sprácticas.2. Contenido <strong>de</strong> <strong>la</strong>s asignaturasEl contenido <strong>de</strong> los <strong>de</strong>scriptores <strong>de</strong> <strong>la</strong>s dos asignaturasa tratar se divi<strong>de</strong> en los bloques temáticos queaparecen a continuación.Tratamiento Digital <strong>de</strong> Imágenes:• Captación, preprocesado y representación <strong>de</strong>imágenes.• Transformadas en T.D.I.• Algoritmos <strong>de</strong> realce, restauración ysegmentación <strong>de</strong> imágenes.Visión Artificial:• Extracción y selección <strong>de</strong> <strong>de</strong>scriptores.• Representación.• Aproximaciones al reconocimiento.• Análisis <strong>de</strong> escenas.• Visión en 3D.Estos <strong>de</strong>scriptores se pue<strong>de</strong>n en<strong>la</strong>zar a través <strong>de</strong>un esquema <strong>de</strong> procesamiento <strong>de</strong> imágenes [2] don<strong>de</strong>quedarían englobados en <strong>la</strong> figura 1.A través <strong>de</strong> este esquema po<strong>de</strong>mos observar quelos <strong>de</strong>scriptores <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> T.D.I. quedaríanenmarcados mediante <strong>la</strong>s fases <strong>de</strong> adquisición <strong>de</strong>imágenes y preprocesado. Mientras que para <strong>la</strong>asignatura correspondiente a V.A. <strong>la</strong>s fases a tener encuentan serían segmentación, representación y<strong>de</strong>scripción y reconocimiento e interpretación.3. El entorno <strong>de</strong> trabajo IMtdiLa principal dificultad para <strong>la</strong> realización <strong>de</strong> prácticas<strong>de</strong> tratamiento <strong>de</strong> imágenes radica en que, antes <strong>de</strong>po<strong>de</strong>r aplicar cualquier función sobre una imagen esnecesario leer<strong>la</strong> <strong>de</strong>l medio <strong>de</strong> almacenamiento,almacenar<strong>la</strong> en una estructura <strong>de</strong> datos <strong>de</strong>l programay, frecuentemente, realizar unas tareas <strong>de</strong> preproceso.Ahí es don<strong>de</strong> resulta útil este entorno, que ofrece <strong>la</strong>sayudas necesarias para realizar estas tareas previascon el mínimo esfuerzo.Por otra parte, en <strong>la</strong> realización <strong>de</strong> prácticas <strong>de</strong>Visión Artificial <strong>la</strong> dificultad estriba en que, antes <strong>de</strong>po<strong>de</strong>r abordar <strong>la</strong>s tareas más propias <strong>de</strong> <strong>la</strong>s prácticas<strong>de</strong> esta materia, el alumno ha <strong>de</strong> vérse<strong>la</strong>s con otrasque se encuadran más en <strong>la</strong>s técnicas <strong>de</strong> TratamientoDigital <strong>de</strong> Imágenes. También ocurre que pararealizar una práctica <strong>de</strong> c<strong>la</strong>sificación yreconocimiento <strong>de</strong> imágenes, es indispensable elcontar con una serie <strong>de</strong> <strong>de</strong>scriptores <strong>de</strong> los objetosque en el<strong>la</strong>s aparecen y que no son rápidos <strong>de</strong>implementar.El entorno para prácticas IMtdi [3] [4] estái<strong>de</strong>ado para resolver estos problemas. Utilizando <strong>la</strong>sherramientas y librerías disponibles en el entorno <strong>de</strong>trabajo, el alumno podrá crear fácilmente en C++ suspropios programas en los que ponga a prueba <strong>la</strong>sfunciones <strong>de</strong> Tratamiento <strong>de</strong> Imágenes o <strong>la</strong>s <strong>de</strong> VisiónArtificial ambas objeto <strong>de</strong> interés, <strong>de</strong>dicando unmínimo esfuerzo a tareas <strong>de</strong> preprocesamiento.El objetivo fundamental es que el alumno puedacentrarse en el objetivo <strong>de</strong> <strong>la</strong> práctica que pretenda<strong>de</strong>sarrol<strong>la</strong>r sin pérdidas <strong>de</strong> tiempo en <strong>la</strong>implementación <strong>de</strong> funciones que no forman parte <strong>de</strong>los objetivos, pero que son necesarias para po<strong>de</strong>rrealizar<strong>la</strong>. Por ejemplo, el alumno pue<strong>de</strong> realizar unapráctica <strong>de</strong> implementación <strong>de</strong> filtros sin tener queocuparse <strong>de</strong> <strong>la</strong> lectura o escritura <strong>de</strong> <strong>la</strong> imagen.


SegmentaciónRepresentacióny <strong>de</strong>scripciónPreprocesadoAdquisición <strong>de</strong>imágenesBase <strong>de</strong> ConocimientoReconocimiento eInterpretaciónFigura 1. Sistema <strong>de</strong> procesamiento <strong>de</strong> imágenes.Por motivos <strong>de</strong> simplicidad y, dado el hecho <strong>de</strong>que <strong>la</strong> mayoría <strong>de</strong> los algoritmos estudiados trabajansobre imágenes representadas en niveles <strong>de</strong> gris, elentorno está especialmente diseñado para manipu<strong>la</strong>reste tipo <strong>de</strong> imágenes y, si bien admite imágenes encolor, <strong>la</strong> cobertura para el<strong>la</strong>s es reducida.En los siguientes subapartados se <strong>de</strong>scribe <strong>de</strong>manera simplificada <strong>la</strong> potencialidad <strong>de</strong>l entornoIMtdi para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong>sasignaturas T.D.I. y V.A.3.1. MatricesLa estructura básica para <strong>la</strong> representación <strong>de</strong> unaimagen [3] es <strong>la</strong> matriz. Por tanto, su diseño se hahecho <strong>de</strong> forma que mejora notablemente <strong>la</strong>scapacida<strong>de</strong>s básicas <strong>de</strong> manipu<strong>la</strong>ción <strong>de</strong> estasestructuras presente en el lenguaje <strong>de</strong> programaciónutilizado, C++. Este módulo, implementado como unac<strong>la</strong>se <strong>de</strong> C++ <strong>de</strong>nominada C_Matrix permite <strong>de</strong>finir ymanipu<strong>la</strong>r matrices <strong>de</strong> forma cómoda y segura. ConC_Matrix se pue<strong>de</strong>n <strong>de</strong>finir matrices <strong>de</strong> númerosreales, acce<strong>de</strong>r a sus elementos, obtener o modificarsus características, etc. También se incluye una buenacantidad <strong>de</strong> funciones, algunas <strong>de</strong> el<strong>la</strong>s c<strong>la</strong>ramenteorientadas al tratamiento digital <strong>de</strong> imágenes. Lasoperaciones que po<strong>de</strong>mos encontrar pue<strong>de</strong>n ser:funciones estadísticas, asignación y limitación <strong>de</strong>valores, operaciones matemáticas, funciones <strong>de</strong>propósito específico (como <strong>la</strong> Gaussiana o <strong>la</strong>convolución) y métodos <strong>de</strong> entrada-salida.3.2. ImágenesUna imagen se representa mediante una matriz <strong>de</strong>índices que hacen referencia a los elementos <strong>de</strong> unapaleta. A su vez, <strong>la</strong> paleta es otra matriz, en <strong>la</strong> quecada columna representa el valor para un componente<strong>de</strong> color y cada fi<strong>la</strong> es un color utilizado por <strong>la</strong>imagen.En el entorno <strong>de</strong> programación IMtdi se haincluido un módulo para manipu<strong>la</strong>ción <strong>de</strong> imágenes.En él se encuentra <strong>de</strong>finida <strong>la</strong> c<strong>la</strong>se C_Image quecontiene los datos y métodos necesarios para eltrabajo con imágenes con paleta. La c<strong>la</strong>se C_Image seha <strong>de</strong>finido como c<strong>la</strong>se <strong>de</strong>rivada <strong>de</strong> C_Matrix por loque hereda todos los métodos <strong>de</strong>finidos para <strong>la</strong>smatrices. Así, si aplicamos cualquier método <strong>de</strong> <strong>la</strong>c<strong>la</strong>se C_Matrix sobre una imagen, operará sobre <strong>la</strong>matriz principal <strong>de</strong> ésta. A<strong>de</strong>más, se incluyen algunosdatos específicos <strong>de</strong> una imagen, como es <strong>la</strong> presencia<strong>de</strong> <strong>la</strong> paleta o los métodos <strong>de</strong> lectura y escritura <strong>de</strong>formatos gráficos. La paleta también es una matriz,pero para utilizar sobre el<strong>la</strong> los métodos <strong>de</strong>finidospara matrices, hay que hacer referencia explícita ael<strong>la</strong>.3.3. PreprocesadoLa fase <strong>de</strong>l preprocesado está constituida por unconjunto <strong>de</strong> métodos que tienen <strong>la</strong> finalidad <strong>de</strong> realzaren <strong>la</strong> forma aquel<strong>la</strong>s características que nos interesanpara una aplicación concreta. La i<strong>de</strong>a se basa en<strong>de</strong>sechar todas aquel<strong>la</strong>s características que no seanútiles para el proceso al que pretendamos someter a <strong>la</strong>


imagen, al tiempo que se <strong>de</strong>ben conservar aquel<strong>la</strong>sque en alguna medida se consi<strong>de</strong>ren importantes.En el entorno <strong>de</strong> programación IMtdi se hanincluido los siguientes métodos para el preprocesado<strong>de</strong> imágenes:• Mecanismos <strong>de</strong> aproximación al rango <strong>de</strong>colores (como truncamiento o suavizado).• Métodos <strong>de</strong> procesamiento <strong>de</strong> puntos.- Función inversa.- Aumento <strong>de</strong> contraste.- Ecualización <strong>de</strong>l histograma.- Filtro exponencial.- Filtro logarítmico.- Función gamma.- Función uniforme.• Métodos <strong>de</strong> procesamiento <strong>de</strong> máscaras.- Métodos <strong>de</strong> aplicación <strong>de</strong> matrices <strong>de</strong>convolución.- Filtro <strong>de</strong> <strong>la</strong> media.- Filtro <strong>de</strong> <strong>la</strong> mediana.- Filtro paso bajo.- Filtro paso alto.- Filtro <strong>de</strong> High-Boost.- Filtro <strong>de</strong> Gauss.- Filtro <strong>de</strong> conservación.- Filtro <strong>de</strong> crimmins.3.4. SegmentaciónLa segmentación es una tarea <strong>de</strong> fundamentalimportancia en el análisis <strong>de</strong> imágenes. Su objetivo esdividir <strong>la</strong> imagen en partes, cada una <strong>de</strong> <strong>la</strong>s cuales secorrespon<strong>de</strong> con un objeto <strong>de</strong> <strong>la</strong> realidad. En general,los métodos <strong>de</strong> segmentación se basan en el hecho <strong>de</strong>que los píxeles que forman un objeto mantienen unacierta similitud entre ellos y, sin embargo, en <strong>la</strong>sfronteras que separan dos objetos aparecen mayoresvariaciones.En el entorno <strong>de</strong> tratamiento <strong>de</strong> imágenes IMtdise han incluido algunas funciones para segmentación<strong>de</strong> imágenes. Se encuentran <strong>de</strong>finidos en <strong>la</strong> c<strong>la</strong>seC_Matrix, por lo que operan tanto con matrices comocon imágenes, ya que se trata <strong>de</strong> una c<strong>la</strong>se <strong>de</strong>rivada.Sin embargo, hay que hacer notar que su ámbito <strong>de</strong>aplicación son <strong>la</strong>s imágenes en tonos <strong>de</strong> gris, ysiempre que <strong>la</strong> paleta <strong>de</strong> grises se encuentrenormalizada.Los métodos <strong>de</strong> segmentación que se integran son lossiguientes:• Métodos <strong>de</strong> segmentación por niveles <strong>de</strong>gris.- Isolíneas.- Floodfill.- Umbralizado.• Métodos <strong>de</strong> segmentación por gradientes.- Gradiente y pseudogradiente.- Watershed.3.5. Representación y <strong>de</strong>scripciónLa representación <strong>de</strong> una región en una imagencompren<strong>de</strong> dos tipos <strong>de</strong> procedimientos:Representación mediante <strong>la</strong>s características externas(contorno).Representación mediante <strong>la</strong>s características internas(los píxeles que compren<strong>de</strong>n <strong>la</strong> región).El seleccionar un esquema u otro <strong>de</strong>representación vendrá <strong>de</strong>terminado por el área <strong>de</strong>aplicación, así como, el tipo <strong>de</strong> problema que se <strong>de</strong>searesolver.En el entorno IMtdi se han programado tanto<strong>de</strong>scriptores externos o topológicos como <strong>de</strong>scriptoresinternos. Esto facilita <strong>la</strong> <strong>la</strong>bor a <strong>la</strong> hora <strong>de</strong> analizarimágenes con vista a reconocer objetos incluidos enel<strong>la</strong>s, ya que todo el proceso <strong>de</strong> extracción <strong>de</strong>características se encuentra <strong>de</strong>sarrol<strong>la</strong>do en dichoentorno. A<strong>de</strong>más <strong>la</strong>s características extraídas <strong>de</strong> unaimagen permiten ser almacenadas en formatos tancomunes como el CSV también usado por Excel.3.6. C<strong>la</strong>sificaciónEl problema <strong>de</strong> <strong>la</strong> c<strong>la</strong>sificación consiste básicamenteen lograr una partición <strong>de</strong>l espacio <strong>de</strong> característicasen regiones mutuamente excluyentes y en asignar acada región una c<strong>la</strong>se.El entorno IMtdi aunque no implementa esta<strong>la</strong>bor, <strong>la</strong> hace posible proporcionando los <strong>de</strong>scriptoresen los que ésta se basa. A<strong>de</strong>más, estos <strong>de</strong>scriptoresson almacenados en formatos legibles por cualquierprocesador <strong>de</strong> hojas <strong>de</strong> cálculo. Esto permite que obien se implementen los algoritmos <strong>de</strong> c<strong>la</strong>sificación obien se intenten resolver por <strong>la</strong>s herramientas <strong>de</strong> <strong>la</strong>sque dispone licencia <strong>la</strong> universidad, como pue<strong>de</strong> ser


el uso <strong>de</strong>l SPSS para los algoritmos tanto <strong>de</strong>c<strong>la</strong>sificación supervisada como <strong>de</strong> no supervisada.4. ConclusionesLa docencia práctica <strong>de</strong> T.D.I. y V.A. se ha p<strong>la</strong>nteado<strong>de</strong>s<strong>de</strong> <strong>la</strong>s siguientes perspectivas:• Facilitar el aprendizaje e implementación <strong>de</strong>algoritmos propuestos en el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>sprácticas a través <strong>de</strong>l entorno IMtdi.• Centrar al alumno en el estudio <strong>de</strong> técnicas<strong>de</strong> <strong>la</strong>s asignaturas y no tanto en los <strong>de</strong>talles<strong>de</strong> <strong>la</strong> implementación.El entorno IMtdi <strong>de</strong>sarrol<strong>la</strong>do para <strong>la</strong> docenciapráctica <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong>scritas ha permitido queel alumnado por un <strong>la</strong>do refuerce los conceptosteóricos y por otro <strong>de</strong>sarrolle prácticas a unacomplejidad impensable con <strong>la</strong> temporizaciónpropuesta <strong>de</strong> <strong>la</strong>s asignaturas lo que refuerza su propiasatisfacción y <strong>la</strong> <strong>de</strong> los profesores que <strong>la</strong> imparten.Referencias[1] Deryn Graham and Anthony Barrett.Knowledge-Based Image ProcessingSystem. Springer, 1997.[2] Gonzalez, R. Digital Image Processing.Addison Wesley, 1992.[3] Guindos Rojas F. y Piedra Fernán<strong>de</strong>z J.A. Tratamiento <strong>de</strong> Imágenes con IMtdi.Universidad <strong>de</strong> Almería. Servicio <strong>de</strong>Publicaciones, 2001.[4] Guindos Rojas F., Piedra Fernán<strong>de</strong>z J.A. y Peralta López M. Visión Artificialcon IMtdi. Universidad <strong>de</strong> Almería.Servicio <strong>de</strong> Publicaciones, 2001.[5] Sonka, M. Image Processing, Analysisand Machine Vision. Champan & Hall,1995.


Métodos pedagógicosinnovadores


Enseñar informática es como...Daniel Gayo AvelloDpto. <strong>de</strong> InformáticaUniversidad <strong>de</strong> OviedoC/Calvo Sotelo s/n 33007 Oviedoe-mail: dani@lsi.uniovi.esHortensia Fernán<strong>de</strong>z CuervoLicenciada en Psicopedagogíae-mail: tensi_f@hotmail.comResumenUn problema habitual al explicar conceptosinformáticos es su alto nivel <strong>de</strong> abstracción asícomo <strong>la</strong> dificultad para proporcionar ejemplosa<strong>de</strong>cuados y, a <strong>la</strong> vez, próximos a <strong>la</strong> experienciapersonal <strong>de</strong> los estudiantes.Una posible solución para estos problemasradica en <strong>la</strong> utilización <strong>de</strong> metáforas comoorganizadores previos que permitan al alumnocaptar <strong>la</strong> esencia <strong>de</strong> los conceptos que emu<strong>la</strong>npara po<strong>de</strong>r extrapo<strong>la</strong>r esos nuevosconocimientos al campo informático y apren<strong>de</strong>rcon mayor facilidad los conceptos explicados.En este artículo se presentan algunosaspectos <strong>de</strong> <strong>la</strong>s actuales teorías sobre <strong>la</strong> metáforaasí como <strong>la</strong>s implicaciones que tienen en elámbito docente. Por último, se muestran unastécnicas muy sencil<strong>la</strong>s para el <strong>de</strong>sarrollo <strong>de</strong>metáforas didácticas y algunas metáforasconstruidas mediante su aplicación.1. IntroducciónUn problema muy habitual en <strong>la</strong> docencia engeneral y en <strong>la</strong> didáctica <strong>de</strong> <strong>la</strong> informática enparticu<strong>la</strong>r está en <strong>la</strong> forma en que transmitimos anuestros alumnos unos conocimientos con unelevado grado <strong>de</strong> abstracción y, generalmente,muy alejados <strong>de</strong> sus experiencias yconocimientos previos.Si se quiere lograr un aprendizajeverda<strong>de</strong>ramente significativo es imprescindiblepartir <strong>de</strong> los conocimientos que poseen losestudiantes y en<strong>la</strong>zarlos con los conocimientosque les queremos transmitir.Naturalmente, esta tarea no es nada fácil yno hay una única manera <strong>de</strong> llevar<strong>la</strong> a cabosiendo el uso <strong>de</strong> metáforas una <strong>de</strong> <strong>la</strong>s formasposibles. A lo <strong>la</strong>rgo <strong>de</strong> este artículo seexpondrán brevemente algunas implicacionescognitivas y didácticas sobre <strong>la</strong> metáfora y suuso en <strong>la</strong> docencia, a<strong>de</strong>más <strong>de</strong> esbozar unasencil<strong>la</strong> técnica para el <strong>de</strong>sarrollo <strong>de</strong> metáforasdidácticas y presentar algunos ejemplos <strong>de</strong> <strong>la</strong>smismas.2. Teoría actual <strong>de</strong> <strong>la</strong> metáforaLas teorías sobre <strong>la</strong> metáfora pue<strong>de</strong>n remontarsehasta Aristóteles que en su obra Poética diceque “<strong>la</strong> metáfora es <strong>la</strong> aplicación a una cosa <strong>de</strong>un nombre que es propio <strong>de</strong> otra”; así, <strong>la</strong>metáfora sería un fenómeno puramente léxico y,aunque no se <strong>de</strong>scarta por completo su valorcognoscitivo, su función primordial sería <strong>la</strong> <strong>de</strong>proporcionar al entendimiento un p<strong>la</strong>cerestético.Des<strong>de</strong> entonces, el interés por <strong>la</strong> metáfora noha hecho más que aumentar y no sólo <strong>de</strong>s<strong>de</strong> unpunto <strong>de</strong> vista filosófico o lingüístico sinotambién en los campos <strong>de</strong> <strong>la</strong> psicologíacognitiva y <strong>la</strong> filosofía <strong>de</strong> <strong>la</strong> ciencia. Estosúltimos serán los que más nos interesen comocientíficos y docentes.Dos <strong>de</strong> los autores que más han influido en<strong>la</strong> visión que se tiene <strong>de</strong> <strong>la</strong> metáfora en amboscampos son Max B<strong>la</strong>ck y George Lakoff. Elprimero, sobre <strong>la</strong> base <strong>de</strong> los trabajos <strong>de</strong> IvorRichards, propuso una concepcióninteraccionista según <strong>la</strong> cual en toda metáforaexisten dos polos que interaccionan entre sí,siendo el significado <strong>de</strong> <strong>la</strong> metáfora el resultado<strong>de</strong> dicha interacción. El segundo, por su parte,reivindicó <strong>la</strong> importancia <strong>de</strong> <strong>la</strong> metáfora comoelemento facilitador <strong>de</strong>l aprendizaje.


Así, en <strong>la</strong> actualidad se consi<strong>de</strong>ra que <strong>la</strong>metáfora es el principal mecanismo para <strong>la</strong>comprensión <strong>de</strong> conceptos abstractos puestoque, al proporcionar un “mapeo” entre dosdominios conceptuales diferentes, permiteenten<strong>de</strong>r un dominio re<strong>la</strong>tivamente abstracto opoco estructurado en base a términos <strong>de</strong> otromás sencillo o, al menos, más estructurado. Estaconcepción ha resultado fundamental para <strong>la</strong>aplicación didáctica <strong>de</strong> <strong>la</strong> metáfora que se vienellevando a cabo durante los últimos años.3. La metáfora como organizador previoSegún Ausubel [1], el alumno alcanza unaprendizaje significativo al establecer re<strong>la</strong>cionesentre los nuevos conocimientos que recibe y susconocimientos previos (e.g., al enten<strong>de</strong>r el área<strong>de</strong> un triángulo a partir <strong>de</strong> <strong>la</strong> superficie <strong>de</strong> unrectángulo).Esta reestructuración <strong>de</strong> conocimientospue<strong>de</strong> apoyarse mediante el uso <strong>de</strong> los<strong>de</strong>nominados “organizadores previos”. Estosorganizadores son un material introductorio<strong>de</strong>sarrol<strong>la</strong>do por el profesor a fin <strong>de</strong>proporcionar un marco <strong>de</strong> alto nivel para losnuevos conocimientos que se van a presentar. Elpropósito fundamental <strong>de</strong> los organizadoresprevios es utilizar lo que ya saben los alumnosempujándoles a reflexionar sobre ello paraayudarles a compren<strong>de</strong>r lo que <strong>de</strong>sconocen y seles trata <strong>de</strong> explicar.Los organizadores previos pue<strong>de</strong>nc<strong>la</strong>sificarse, a su vez, en expositivos ycomparativos. Los primeros parten <strong>de</strong> unasituación más general que el concepto a explicara fin <strong>de</strong> mostrar <strong>la</strong> estructura general <strong>de</strong>l mismo;los segundos, en cambio, preten<strong>de</strong>n establecervínculos entre los conocimientos <strong>de</strong>l alumno yelementos presentes en el organizador paraexten<strong>de</strong>r los primeros hacia el nuevoconocimiento que se va a <strong>de</strong>scribir.De esta forma, <strong>la</strong> metáfora pue<strong>de</strong> serutilizada como un organizador previocomparativo; esto es, mediante <strong>la</strong> metáfora elprofesor pue<strong>de</strong> ofrecer a sus alumnos un“puente” que les permita salvar <strong>de</strong> una formamás sencil<strong>la</strong> el salto existente entre lo que yasaben y lo que se les va a explicar y, por tanto,<strong>de</strong>sconocen por completo.A lo <strong>la</strong>rgo <strong>de</strong> los años han sido muchas <strong>la</strong>smetáforas que han mostrado su utilidad a <strong>la</strong> hora<strong>de</strong> lograr un aprendizaje significativo <strong>de</strong>conceptos informáticos. Pue<strong>de</strong>n citarse algunosejemplos como [2] que presenta un estudioexperimental sobre <strong>la</strong> influencia <strong>de</strong> unorganizador previo metafórico en <strong>la</strong>comprensión <strong>de</strong> los vectores en Pascal, o [3] que<strong>de</strong>scribe <strong>la</strong> “metáfora <strong>de</strong> <strong>la</strong> consigna” para <strong>la</strong>explicación <strong>de</strong>l concepto <strong>de</strong> memoria dinámicay punteros, así como [4] que <strong>de</strong>muestra <strong>de</strong>manera ejemp<strong>la</strong>r <strong>la</strong> forma en que pue<strong>de</strong>nemplearse <strong>la</strong>s metáforas en un libro <strong>de</strong> texto 1 .En lo que resta <strong>de</strong> artículo se presentarán unconjunto <strong>de</strong> reg<strong>la</strong>s muy sencil<strong>la</strong>s que facilitaránal docente el <strong>de</strong>sarrollo “sistemático” <strong>de</strong>metáforas didácticas a fin <strong>de</strong> ofrecer<strong>la</strong>s a susalumnos como organizadores previos.4. Desarrollo <strong>de</strong> metáforas didácticasHemos visto que <strong>la</strong> metáfora tiene un papelcognitivo fundamental y pue<strong>de</strong> resultar unaherramienta extraordinariamente útil parafacilitar el aprendizaje significativo. Sinembargo, todas estas teorías no proporcionanmedios para el <strong>de</strong>sarrollo <strong>de</strong> nuevas metáforas;por ello, el profesor que <strong>de</strong>see crear metáforasdidácticas <strong>de</strong>pen<strong>de</strong> <strong>de</strong> su intuición para finalizarcon éxito esa tarea.En <strong>la</strong> mayor parte <strong>de</strong> los casos <strong>la</strong> intuición<strong>de</strong>l docente suele bastar para proporcionarmetáforas a<strong>de</strong>cuadas a los alumnos; sinembargo, no está <strong>de</strong> más proporcionar algunaspautas muy sencil<strong>la</strong>s que han facilitado eltrabajo <strong>de</strong> los autores con anterioridad.La i<strong>de</strong>a fundamental consiste en <strong>de</strong>terminar<strong>la</strong> naturaleza básica <strong>de</strong>l concepto a explicar; así,<strong>de</strong>be <strong>de</strong>terminarse si el término es un sistema(e.g., <strong>la</strong> arquitectura <strong>de</strong> un or<strong>de</strong>nador), unconcepto “tangible” (e.g., punteros y memoriadinámica) o un concepto “abstracto” (e.g., tipos<strong>de</strong>finidos por el usuario).1En [4] se presentan una serie <strong>de</strong> metáforasextraordinariamente c<strong>la</strong>ras para explicar, por ejemplo,el procesamiento <strong>de</strong> interrupciones (p.61) o el bloqueomutuo (p.159); también es <strong>de</strong> <strong>de</strong>stacar <strong>la</strong> forma en que<strong>la</strong>s citas que abren cada capítulo actúan comoorganizadores previos azuzando <strong>la</strong> curiosidad <strong>de</strong>llector.


Una vez se ha <strong>de</strong>terminado <strong>la</strong> naturaleza <strong>de</strong>lconcepto, <strong>de</strong>ben seguirse una serie <strong>de</strong> pasos queconducirían a una metáfora didáctica para elmismo o, al menos, a un “prototipo rápido” <strong>de</strong>metáfora susceptible <strong>de</strong> ser “refinado”.4.1. Metáforas sobre sistemasEl caso más sencillo que se pue<strong>de</strong> p<strong>la</strong>ntear a <strong>la</strong>hora <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r una metáfora didáctica esaquel en el que el concepto a <strong>de</strong>scribir es unsistema 2 . En este caso se <strong>de</strong>be comenzar<strong>de</strong>terminando los principales componentes queforman el sistema a <strong>de</strong>scribir, procurando nosuperar los siete elementos más/menos dos [5];si existiera un número mayor <strong>de</strong> componentes eldocente <strong>de</strong>bería p<strong>la</strong>ntearse una simplificación<strong>de</strong>l sistema o bien el <strong>de</strong>sarrollo <strong>de</strong> una metáforapara cada componente individual.Cuando ya se dispone <strong>de</strong> una lista <strong>de</strong>componentes se proce<strong>de</strong> a <strong>de</strong>terminar <strong>la</strong>sfunciones esenciales que lleva a cabo cada uno;nuevamente <strong>de</strong>berá procurarse que el número <strong>de</strong>tareas por componente sea reducido.A continuación, para cada componente,teniendo en cuenta <strong>la</strong> lista <strong>de</strong> acciones básicasque lleva a cabo, se <strong>de</strong>tal<strong>la</strong> una serie <strong>de</strong>elementos cotidianos 3 capaces <strong>de</strong> sustituirlo tal ycomo ha sido caracterizado (es <strong>de</strong>cir, en función<strong>de</strong> <strong>la</strong>s acciones básicas que lleva a cabo). Lametáfora final se construirá sustituyendo conestos nuevos objetos los componentes originales<strong>de</strong>l sistema.Una <strong>de</strong> <strong>la</strong>s mayores dificulta<strong>de</strong>s <strong>de</strong> este tipo<strong>de</strong> metáforas es el conseguir un escenariop<strong>la</strong>usible; por esa razón <strong>de</strong>be procurarse que <strong>la</strong>utilización conjunta <strong>de</strong> distintos elementos2 Según el diccionario <strong>de</strong> <strong>la</strong> R.A.E., un sistema es unconjunto <strong>de</strong> cosas que re<strong>la</strong>cionadas entre síor<strong>de</strong>nadamente contribuyen a <strong>de</strong>terminado objeto.3 A lo <strong>la</strong>rgo <strong>de</strong>l artículo se insistirá frecuentemente enque <strong>la</strong>s metáforas <strong>de</strong>ben construirse con elementoscotidianos. Esta recomendación no es trivial, ya [6]mantiene que un nivel <strong>de</strong> contreción elevado facilitaun aprendizaje significativo, situándose en una líneasimi<strong>la</strong>r [7] al seña<strong>la</strong>r que <strong>la</strong>s metáforas espaciales son<strong>la</strong>s que permiten un aprendizaje más a<strong>de</strong>cuado.Teniendo en cuenta esto, así como nuestra experienciacon el <strong>de</strong>sarrollo y uso <strong>de</strong> distintas metáforas, creemosque construir <strong>la</strong>s metáforas en base a elementosmanejados habitualmente por los alumnos <strong>la</strong>s hacemás c<strong>la</strong>ras y mejora su propósito docente.resulte lo menos forzada posible.Una vez se obtiene <strong>la</strong> metáfora se hacenecesario probar<strong>la</strong> para <strong>de</strong>terminar su idoneidad;para ello pue<strong>de</strong>n utilizarse algunas <strong>de</strong> <strong>la</strong>sre<strong>la</strong>ciones que Gentner [8] <strong>de</strong>finió para valoraruna metáfora: especificidad, riqueza,abstracción, sistematicidad, vali<strong>de</strong>z,exhaustividad, transparencia y extensibilidad.Las más interesantes <strong>de</strong> cara a una metáforadidáctica son <strong>la</strong> especificidad, <strong>la</strong> c<strong>la</strong>ridad y <strong>la</strong>transparencia.La especificidad indica hasta qué punto <strong>la</strong>base <strong>de</strong> <strong>la</strong> metáfora es inteligible; <strong>la</strong> c<strong>la</strong>ridad serefiere a <strong>la</strong> precisión <strong>de</strong> <strong>la</strong>s correspon<strong>de</strong>nciasentre elementos <strong>de</strong> <strong>la</strong> metáfora y los elementos<strong>de</strong>l concepto explicado, mientras que <strong>la</strong>transparencia indica <strong>la</strong> facilidad con que elreceptor percibe qué elementos <strong>de</strong> <strong>la</strong> metáforason aplicables al concepto explicado y cuáles nolo son.Obviamente, una metáfora didáctica <strong>de</strong>beser específica, esto es, emplear unos términosfácilmente comprensibles por todos losestudiantes (otra razón para recomendar <strong>la</strong>utilización <strong>de</strong> elementos cotidianos); a<strong>de</strong>más, e<strong>la</strong>lumno <strong>de</strong>be percibir fácilmente <strong>la</strong>scorrespon<strong>de</strong>ncias entre elementos <strong>de</strong> <strong>la</strong> metáforay <strong>de</strong>l concepto así como aquellos elementosmetafóricos que no son aplicables al conceptooriginal, es <strong>de</strong>cir, <strong>la</strong> metáfora <strong>de</strong>be ser lo másc<strong>la</strong>ra y transparente posible. Si <strong>la</strong> metáfora<strong>de</strong>sarrol<strong>la</strong>da es específica, c<strong>la</strong>ra y transparentetan sólo resta especificar c<strong>la</strong>ramente sus puntosfuertes y sus puntos débiles (aquellos elementosno aplicables al concepto) y preparar algunos“escenarios” para <strong>la</strong> metáfora que “recuer<strong>de</strong>n”contextos comunes para el concepto explicado.Por último, a <strong>la</strong> hora <strong>de</strong> exponer metáforas<strong>de</strong> sistemas conviene <strong>de</strong>stacar <strong>la</strong>s similitu<strong>de</strong>sentre cada componente <strong>de</strong>l sistema real y <strong>de</strong> <strong>la</strong>metáfora, mostrar el funcionamiento <strong>de</strong>l sistemametafórico y compararlo con el sistema real yseña<strong>la</strong>r <strong>la</strong>s diferencias entre <strong>la</strong> metáfora y elconcepto original. Más a<strong>de</strong><strong>la</strong>nte en este artículose muestra un ejemplo <strong>de</strong> este tipo <strong>de</strong> metáforasutilizada para explicar <strong>la</strong> arquitectura VonNeumann.4.2. Metáforas sobre conceptos “tangibles”En <strong>la</strong> mayor parte <strong>de</strong> los casos, el concepto a


explicar no es tan c<strong>la</strong>ro como un sistemaformado por un número fijo <strong>de</strong> componentes; sinembargo, muchos conceptos aún son losuficientemente tangibles como para seña<strong>la</strong>rvarios elementos con algún tipo <strong>de</strong> re<strong>la</strong>ciónentre sí y capaces <strong>de</strong> realizar o recibir acciones.Si el concepto a tratar se encuadra en estacategoría se <strong>de</strong>be comenzar enumerando unconjunto reducido <strong>de</strong> elementos (sustantivos) yacciones (verbos) que <strong>de</strong>scriban <strong>la</strong> esencia <strong>de</strong>lconcepto a explicar.Por cada elemento <strong>de</strong> <strong>la</strong> lista se escribe unalista <strong>de</strong> “sinónimos” proce<strong>de</strong>ntes <strong>de</strong> ámbitos noinformáticos. A partir <strong>de</strong> estas listas <strong>de</strong>características y acciones genéricas se localizanelementos cotidianos que pudieran ser <strong>de</strong>scritosen base a tales atributos.Si en el caso anterior se buscaban objetoscomunes para construir <strong>la</strong> metáfora y se<strong>de</strong>scartaban en caso <strong>de</strong> que no pudieranintegrarse <strong>de</strong> una forma p<strong>la</strong>usible, en éste setrata <strong>de</strong> localizar una serie <strong>de</strong> elementoscandidatos y, en una primera fase, evaluar <strong>la</strong>c<strong>la</strong>ridad <strong>de</strong> los mismos <strong>de</strong>scartando aquellos conmenor grado <strong>de</strong> correspon<strong>de</strong>ncia con el objeto aexplicar para, en una segunda, elegir <strong>la</strong> metáforamás transparente. En <strong>la</strong> sección “Ejemplos <strong>de</strong>metáforas didácticas” se presenta una metáfora<strong>de</strong> este tipo <strong>de</strong>sarrol<strong>la</strong>da para explicar punteros ymemoria dinámica.4.3. Metáforas sobre conceptos “abstractos”El caso más complicado a <strong>la</strong> hora <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>runa metáfora didáctica se p<strong>la</strong>ntea cuando elconcepto a explicar es totalmente abstracto.En semejantes ocasiones <strong>la</strong> estrategia mása<strong>de</strong>cuada consiste en enumerar el mayor númeroposible <strong>de</strong> términos que ayu<strong>de</strong>n a caracterizar elconcepto que se preten<strong>de</strong> <strong>de</strong>scribirmetafóricamente.Una vez se dispone <strong>de</strong> un conjunto a<strong>de</strong>cuadose or<strong>de</strong>na en función <strong>de</strong> <strong>la</strong> relevancia que tienecada término <strong>de</strong> cara a <strong>de</strong>scribir el concepto <strong>de</strong>partida, seleccionándose finalmente el conjuntomínimo que permita <strong>de</strong>scribir los rasgosfundamentales <strong>de</strong>l concepto a explicar.Posteriormente se <strong>de</strong>sarrol<strong>la</strong> una lista <strong>de</strong>conceptos que puedan servir como posiblemetáfora, todos ellos <strong>de</strong>ben ser caracterizablesmediante ese conjunto mínimo <strong>de</strong> rasgos.Finalmente, aplicando <strong>de</strong> nuevo los criterios <strong>de</strong>c<strong>la</strong>ridad y transparencia se selecciona elcandidato que constituye <strong>la</strong> metáfora mása<strong>de</strong>cuada.Como último ejemplo se presenta unametáfora didáctica que preten<strong>de</strong> mostrar <strong>la</strong>sventajas <strong>de</strong>l diseño <strong>de</strong>scen<strong>de</strong>nte <strong>de</strong> programasfrente al diseño ascen<strong>de</strong>nte.5. Ejemplos <strong>de</strong> metáforas didácticasEn el punto anterior se han <strong>de</strong>scrito algunasreg<strong>la</strong>s sencil<strong>la</strong>s que tienen como finalidadfacilitar el <strong>de</strong>sarrollo <strong>de</strong> metáforas didácticas. Eneste apartado se presentan, a modo <strong>de</strong> ilustraciónpara tales técnicas, tres ejemplos <strong>de</strong> metáforasdidácticas <strong>de</strong>sarrol<strong>la</strong>das por los autores y queestán siendo utilizadas con éxito en asignaturas<strong>de</strong> primer curso <strong>de</strong> Ingeniería Técnica enInformática y <strong>de</strong> <strong>la</strong> Licenciatura <strong>de</strong>Matemáticas.5.1. “La Caja”La arquitectura Von Neumann es un conceptofundamental que <strong>de</strong>bería explicarse a todoalumno que vaya a enfrentarse por vez primera auna asignatura <strong>de</strong> programación. Aún cuando setrata <strong>de</strong> un concepto muy sencillo y podríaexplicarse directamente, introduce una serie <strong>de</strong>términos (memoria, unidad aritmética,dispositivos <strong>de</strong> entrada/salida, etc.) que, al sernuevos para el alumno, pue<strong>de</strong>n hacer <strong>la</strong>comprensión <strong>de</strong>l mismo más difícil.Por esa razón se consi<strong>de</strong>ró interesante<strong>de</strong>sarrol<strong>la</strong>r una metáfora que permitiese explicar<strong>la</strong> arquitectura Von Neumann en términosaccesibles para el alumno; <strong>de</strong> este modo, unavez se establece un marco común en el quetodos los estudiantes se sienten cómodos, esposible (re)explicar <strong>la</strong> arquitectura empleandosus propios términos.A <strong>la</strong> hora <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r una metáfora paraexplicar este concepto <strong>de</strong>bemos, en primerlugar, <strong>de</strong>terminar su naturaleza; al tratarse <strong>de</strong> unsistema se proce<strong>de</strong> a <strong>de</strong>tal<strong>la</strong>r los elementos quelo constituyen:1. Memoria.2. Unidad aritmético-lógica.3. Dispositivos <strong>de</strong> E/S.


4. Procesador.Puesto que el número <strong>de</strong> componentes esreducido no es necesario simplificar el sistemani <strong>de</strong>sarrol<strong>la</strong>r metáforas in<strong>de</strong>pendientes paracada elemento. Se proce<strong>de</strong>, pues, a <strong>de</strong>terminar<strong>la</strong>s acciones básicas que caracterizan cadacomponente:- Memoria: permite leer/escribir información(datos e instrucciones) <strong>de</strong> forma nopermanente.- Unidad aritmético-lógica: realizaoperaciones matemáticas y lógicas sencil<strong>la</strong>s.- Dispositivos <strong>de</strong> E/S: permiten <strong>la</strong>comunicación <strong>de</strong>l sistema con el exterior.- Procesador: procesa instrucciones y emplealos elementos anteriores <strong>de</strong> manera a<strong>de</strong>cuadapara resolver dichas instrucciones.A partir <strong>de</strong> esta lista <strong>de</strong> elementoscaracterizados por <strong>la</strong>s acciones que llevan a cabose enumeran una serie <strong>de</strong> elementos cotidianosque puedan “sustituirlos”. Este proceso sigueuna estrategia <strong>de</strong> ensayo y error puesto que notodos los elementos inicialmente seleccionadospermitirían una metáfora p<strong>la</strong>usible. Al finalizarel proceso <strong>de</strong> selección se <strong>de</strong>ci<strong>de</strong> emplear lossiguientes:1. Una pizarra en sustitución <strong>de</strong> <strong>la</strong> memoria.2. Una calcu<strong>la</strong>dora en lugar <strong>de</strong> <strong>la</strong> unidadaritmético-lógica.3. Un teléfono para representar el canal <strong>de</strong>entrada/salida.4. Un ser humano capaz <strong>de</strong> utilizar <strong>la</strong> pizarra,<strong>la</strong> calcu<strong>la</strong>dora y el teléfono como sustituto<strong>de</strong>l procesador.Todos los elementos serían colocados en unrecinto cerrado, “La Caja”, <strong>de</strong> tal forma que <strong>la</strong>única vía <strong>de</strong> comunicación con el exterior sería<strong>la</strong> línea telefónica.Esta situación, aunque algo extraña, esp<strong>la</strong>usible por lo que tan sólo restaría <strong>de</strong>terminar<strong>la</strong> c<strong>la</strong>ridad y transparencia 4 <strong>de</strong> <strong>la</strong> misma y, apartir <strong>de</strong> aquí, los puntos fuertes y débiles quepresenta.Esta metáfora resulta muy c<strong>la</strong>ra puesto quese ha buscado un sustituto para cadacomponente <strong>de</strong>l sistema real que lleve a caboacciones simi<strong>la</strong>res a <strong>la</strong>s <strong>de</strong>l elemento original.Aún así, <strong>de</strong>berían comprobarse <strong>la</strong>s distintascorrespon<strong>de</strong>ncias:- La pizarra se correspon<strong>de</strong> con <strong>la</strong> memoria,permitiendo escribir y leer información(tanto datos como instrucciones).- La calcu<strong>la</strong>dora se correspon<strong>de</strong> con <strong>la</strong> unidadaritmético-lógica permitiendo realizaroperaciones aritméticas sencil<strong>la</strong>s.- El teléfono se correspon<strong>de</strong> con el canal <strong>de</strong>E/S y permite intercambiar informaciónentre el exterior y el sistema.- El ser humano se correspon<strong>de</strong> con elprocesador, como éste compren<strong>de</strong>instrucciones sencil<strong>la</strong>s y, <strong>de</strong> <strong>la</strong> misma formaen que el procesador utiliza <strong>de</strong> formaa<strong>de</strong>cuada <strong>la</strong> memoria, <strong>la</strong> unidadaritmético-lógica y los dispositivos <strong>de</strong> E/S,el ser humano utiliza <strong>la</strong> pizarra, <strong>la</strong>calcu<strong>la</strong>dora y el teléfono.Como se pue<strong>de</strong> ver, <strong>la</strong>s correspon<strong>de</strong>nciasentre <strong>la</strong> metáfora y el concepto que preten<strong>de</strong>explicar son muchas y fácilmente apreciables.Sin embargo, dichas correspon<strong>de</strong>ncias noson totalmente fieles; el concepto <strong>de</strong>transparencia indicará si <strong>la</strong>s características <strong>de</strong> <strong>la</strong>metáfora no aplicables al concepto sonfácilmente i<strong>de</strong>ntificables por el alumno:- La pizarra <strong>de</strong>be borrarse <strong>de</strong> maneraexplícita, sin embargo, en <strong>la</strong> implementaciónque conocen los alumnos <strong>de</strong> <strong>la</strong> arquitecturaVon Neumann, el or<strong>de</strong>nador electrónico, <strong>la</strong>memoria se borra al cesar el suministroeléctrico.- La calcu<strong>la</strong>dora permite realizar operacionesaritméticas pero no lógicas.- El teléfono es un canal <strong>de</strong> entrada/salidaFig. 1. “La Caja” (metáfora <strong>de</strong> <strong>la</strong> arquitectura VonNeumman).4 Si en <strong>la</strong> construcción <strong>de</strong> <strong>la</strong>s metáforas se empleanúnicamente elementos cotidianos no seríaestrictamente necesario comprobar <strong>la</strong> especificidad <strong>de</strong><strong>la</strong> metáfora puesto que todos los alumnoscompren<strong>de</strong>rían fácilmente los elementos utilizados.


pero no un dispositivo <strong>de</strong> E/S.- El ser humano acepta muchas más“instrucciones” que un procesador real,a<strong>de</strong>más <strong>de</strong> po<strong>de</strong>r actuar como memoria ycomo unidad aritmético-lógica.Resulta obvio que <strong>la</strong> metáfora presentavarios puntos débiles, sin embargo, sonfácilmente i<strong>de</strong>ntificables y, aún cuando no todosfueran <strong>de</strong>tectados por el alumno, seríanfácilmente reconocibles al ser seña<strong>la</strong>dos por elprofesor.A <strong>la</strong> vista <strong>de</strong> este somero análisis resultabastante evi<strong>de</strong>nte que <strong>la</strong> metáfora propuesta esp<strong>la</strong>usible, c<strong>la</strong>ra y transparente por lo cual essusceptible <strong>de</strong> ser utilizada en el au<strong>la</strong> pudiendoemplearse <strong>de</strong> muchas formas diferentes:- Para explicar los componentes <strong>de</strong> <strong>la</strong>arquitectura por analogía una vez explicadoslos <strong>de</strong> “La Caja”; en este caso esfundamental seña<strong>la</strong>r los aspectos en los quese diferencian <strong>la</strong> metáfora y el concepto real.- Para explicar el funcionamiento <strong>de</strong> <strong>la</strong>arquitectura Von Neumann directamentesobre “La Caja”; se pue<strong>de</strong> pedir a losalumnos que escriban un algoritmo paradictárselo a un hipotético compañero situadoen el interior <strong>de</strong> <strong>la</strong> misma y discutir <strong>la</strong> formaen que se “ejecutaría”.- La actividad anterior pue<strong>de</strong> llevarse a cabotambién mediante dinámica <strong>de</strong> grupos,colocando a un alumno <strong>de</strong>ntro <strong>de</strong> “La Caja”y dividiendo <strong>la</strong> c<strong>la</strong>se en grupos encargados<strong>de</strong> construir algoritmos que seríanintroducidos en el sistema.Esta metáfora ha sido utilizada <strong>de</strong> formamuy satisfactoria con alumnos <strong>de</strong> primer curso<strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> Algorítmica y Lenguajes <strong>de</strong>Programación (Licenciatura <strong>de</strong> Matemáticas) asícomo en una lección <strong>de</strong> introducción a <strong>la</strong>informática en el Programa Universitario paraMayores Universidad <strong>de</strong> Oviedo 5 .5.2. Calle Falsa, 123Los conceptos <strong>de</strong> punteros y memoria dinámicason tremendamente importantes y también sonfuente <strong>de</strong> muchos quebra<strong>de</strong>ros <strong>de</strong> cabeza tantopara los alumnos como para los docentes a <strong>la</strong>hora <strong>de</strong> explicarlos <strong>de</strong> una manera atractiva y5 www.uniovi.es/Vicerrectorados/Extension/pumuo/fácilmente comprensible.Esta problemática llevó a los autores abuscar una metáfora alternativa a <strong>la</strong>s yaexistentes (e.g., <strong>la</strong> <strong>de</strong>scrita en [3]). Esta metáforaes distinta <strong>de</strong> <strong>la</strong> presentada en el punto anteriorpuesto que en este caso no se trata <strong>de</strong> <strong>de</strong>scribirun sistema sino un concepto más abstractoaunque aún re<strong>la</strong>tivamente tangible.Para ello se procedió en primer lugar aenumerar “sustantivos” que <strong>de</strong>scribiesen <strong>de</strong>manera a<strong>de</strong>cuada lo esencial <strong>de</strong>l concepto, seencontraron dos principales:- Puntero.- Variable apuntada.Seguidamente se escribió una lista <strong>de</strong>“verbos” que hicieran referencia a accionessobre los elementos anteriores:- Asignar memoria.- Liberar memoria.- Asignar un valor a un puntero.- Asignar un valor a una variable apuntada.- Eliminar un puntero.Posteriormente se procedió a e<strong>la</strong>borar listas <strong>de</strong>“sinónimos” <strong>de</strong> ámbitos no informáticos;empleándose los criterios <strong>de</strong> c<strong>la</strong>ridad ytransparencia para su refinamiento. Finalmentelos sinónimos que se obtuvieron fueron lossiguientes:- Como “sinónimo” <strong>de</strong> puntero, direcciónpostal apuntada en una tarjeta.- Como “sinónimo” <strong>de</strong> variable apuntada, unso<strong>la</strong>r (o un edificio).Por lo que respecta a <strong>la</strong>s acciones básicas:- Escribir una dirección en una tarjeta sería <strong>la</strong>acción equivalente a <strong>la</strong> <strong>de</strong> asignar un valor aun puntero.- Romper una tarjeta con una dirección escritaequivaldría a eliminar un puntero.- Escribir <strong>la</strong> dirección <strong>de</strong> un so<strong>la</strong>r vacío seríaequivalente a asignar memoria.- Construir un edificio en un so<strong>la</strong>r indicadopor una dirección sería el equivalente aasignar un valor a una variable apuntada.- Demoler un edificio equivaldría a liberarmemoria.Esta metáfora es bastante p<strong>la</strong>usible (salvopor <strong>la</strong> velocidad con <strong>la</strong> que se construirían y<strong>de</strong>rruirían edificios) y resulta también c<strong>la</strong>ra ytransparente.A <strong>la</strong> hora <strong>de</strong> utilizar<strong>la</strong> en c<strong>la</strong>se se hizo endos fases y siempre mostrando tras <strong>la</strong> metáforas


<strong>la</strong> contrapartida con punteros.En <strong>la</strong> primera fase se utilizó para separarc<strong>la</strong>ramente el concepto <strong>de</strong> puntero <strong>de</strong>l <strong>de</strong>variable apuntada. Los alumnos distinguenperfectamente una tarjeta con <strong>la</strong> dirección“Calvo Sotelo s/n 33007. Oviedo” <strong>de</strong>l edificiosituado en esa dirección y, a partir <strong>de</strong> éste yotros ejemplos, pue<strong>de</strong>n extrapo<strong>la</strong>r el mismoconocimiento al ámbito <strong>de</strong> <strong>la</strong> memoria dinámica.En esta misma fase se pue<strong>de</strong> explicar <strong>de</strong>forma simi<strong>la</strong>r el concepto <strong>de</strong> puntero “basura”(utilizando una tarjeta con una dirección ficticiacomo “Calle Falsa, 123. Springfield”) o <strong>la</strong>existencia <strong>de</strong> edificios (datos) a los que no esposible llegar puesto que se ha perdido sudirección (puntero).Llegados a este punto, los alumnos yadistinguen <strong>la</strong> diferencia entre <strong>la</strong> modificación o<strong>de</strong>saparición <strong>de</strong> una variable <strong>de</strong> tipo puntero y <strong>la</strong>modificación o eliminación <strong>de</strong> <strong>la</strong> variableapuntada. En este momento se pasa a <strong>la</strong> segundafase en <strong>la</strong> que se explican los conceptos <strong>de</strong>asignación y liberación <strong>de</strong> memoria.La liberación <strong>de</strong> memoria es muy sencil<strong>la</strong>,dada una dirección siempre pue<strong>de</strong> <strong>de</strong>molerse eledificio allí situado para <strong>de</strong>jar un so<strong>la</strong>r. Laasignación <strong>de</strong> memoria pue<strong>de</strong> explicarsemediante <strong>la</strong> asignación a una tarjeta <strong>de</strong> unadirección que se correspon<strong>de</strong> con un so<strong>la</strong>r vacío,en el que se podrán construir diferentes edificios<strong>de</strong> distintas alturas.Este último es el principal punto débil <strong>de</strong> <strong>la</strong>metáfora y así se les <strong>de</strong>be hacer notar a losalumnos. Las direcciones sólo indican <strong>la</strong>localización <strong>de</strong> un so<strong>la</strong>r o edificio pero no <strong>la</strong>c<strong>la</strong>se <strong>de</strong> edificio (el tipo <strong>de</strong> dato). Sin embargo,los punteros siempre apuntan a un tipo<strong>de</strong>terminado no existiendo <strong>la</strong> posibilidad <strong>de</strong><strong>de</strong>cidir el tipo en el momento <strong>de</strong> asignarmemoria.A pesar <strong>de</strong> este inconveniente, <strong>la</strong> metáforacumple el objetivo fundamental para el que fuecreada: explicar conceptos básicos <strong>de</strong> punteros ymemoria dinámica, habiendo sido utilizada en <strong>la</strong>asignatura <strong>de</strong> Algorítmica y Lenguajes <strong>de</strong>Programación.5.3. Los fabricantes <strong>de</strong> puzzlesEn todas <strong>la</strong>s asignaturas <strong>de</strong> programación seintroducen los conceptos <strong>de</strong> diseño <strong>de</strong>scen<strong>de</strong>ntey ascen<strong>de</strong>nte, primándose generalmente elprimero sobre el segundo.Normalmente, cuando se explica esto a losalumnos éstos aún tienen muy poca experienciay los ejercicios que han visto aún son <strong>de</strong>masiadosencillos como para po<strong>de</strong>r apreciar <strong>la</strong>sdiferencias entre un enfoque <strong>de</strong>scen<strong>de</strong>nte y unoascen<strong>de</strong>nte.Por esa razón, se p<strong>la</strong>nteó <strong>la</strong> necesidad <strong>de</strong>e<strong>la</strong>borar una metáfora para que los estudiantespudiesen apreciar <strong>de</strong> una forma casi inmediata<strong>la</strong>s características <strong>de</strong> uno y otro p<strong>la</strong>nteamiento y<strong>la</strong>s razones que hacen preferible el diseño<strong>de</strong>scen<strong>de</strong>nte frente al ascen<strong>de</strong>nte.El problema principal con el concepto que sepretendía explicar <strong>de</strong> forma metafórica era sutotal abstracción; por este motivo el punto <strong>de</strong>partida consistió en el <strong>de</strong>sarrollo <strong>de</strong> una lista <strong>de</strong>términos que, <strong>de</strong> una forma u otra, permitierancaracterizar el diseño <strong>de</strong>scen<strong>de</strong>nte y/oascen<strong>de</strong>nte.Algunos <strong>de</strong> los términos que entraron aformar parte <strong>de</strong> esta lista fueron los siguientes:<strong>de</strong>scomposición, integración, interfaz,acop<strong>la</strong>miento, <strong>de</strong>talle, particu<strong>la</strong>ridad,generalidad, modu<strong>la</strong>ridad, etc.Una vez finalizada <strong>la</strong> lista se seleccionó elmenor número posible <strong>de</strong> términos para<strong>de</strong>scribir <strong>de</strong> manera a<strong>de</strong>cuada el concepto aexplicar optándose por: <strong>de</strong>scomposición,integración, interfaz y <strong>de</strong>talle.Posteriormente se procedió a buscardistintos conceptos que pudieran ser <strong>de</strong>scritos enbase a esos términos, seleccionándosefinalmente como metáfora el proceso <strong>de</strong>fabricación <strong>de</strong> puzzles.Esta metáfora, al referirse a un conceptototalmente abstracto, es <strong>la</strong> menos c<strong>la</strong>ra ytransparente <strong>de</strong> los tres ejemplos presentados yprecisa una explicación algo más <strong>de</strong>tal<strong>la</strong>da.En <strong>la</strong> metáfora <strong>de</strong> <strong>la</strong> fabricación <strong>de</strong> puzzlesestán presentes los siguientes elementos:- La imagen que aparece al construir el puzzlees el problema resuelto por el algoritmo adiseñar.- Las piezas que forman el puzzle secorrespon<strong>de</strong>n con los distintos módulos queaparecen en el proceso <strong>de</strong> diseño.- La forma <strong>de</strong> cada pieza y <strong>la</strong> manera en queencaja con sus vecinas representa losinterfaces <strong>de</strong> los distintos subprogramas.


- El proceso <strong>de</strong> diseño <strong>de</strong>scen<strong>de</strong>nte oascen<strong>de</strong>nte es representado en <strong>la</strong> metáforapor <strong>la</strong> forma en que se obtienen <strong>la</strong>s piezasque conforman el puzzle.En <strong>la</strong> metáfora que se <strong>de</strong>scribe se explica alos alumnos que hay dos formas <strong>de</strong> obtener <strong>la</strong>spiezas <strong>de</strong>l puzzle: empleando un troquel quetrocea <strong>la</strong> lámina en <strong>la</strong>s distintas piezas (diseño<strong>de</strong>scen<strong>de</strong>nte) o bien recortando <strong>la</strong>s piezas <strong>de</strong>forma individual y dibujando en cada una <strong>la</strong>fracción <strong>de</strong> <strong>la</strong> figura total que le correspon<strong>de</strong>(diseño ascen<strong>de</strong>nte).A <strong>la</strong> vista <strong>de</strong> esto resulta evi<strong>de</strong>nte que estametáfora también es <strong>la</strong> menos transparente <strong>de</strong><strong>la</strong>s tres presentadas puesto que aunque sonmuchos los aspectos <strong>de</strong> <strong>la</strong> metáfora noaplicables al concepto explicado no son fáciles<strong>de</strong> apreciar por parte <strong>de</strong> los alumnos.Por esa razón, esta metáfora resulta muy útilp<strong>la</strong>ntear<strong>la</strong> para su discusión y comentario <strong>de</strong>ntro<strong>de</strong>l grupo c<strong>la</strong>se. La finalidad fundamental <strong>de</strong> <strong>la</strong>discusión es que los alumnos se percaten <strong>de</strong> queel diseño ascen<strong>de</strong>nte y, especialmente, el<strong>de</strong>scen<strong>de</strong>nte no se parecen a <strong>la</strong> forma en que sefabrican los puzzles y que, sin embargo,empleando uno u otro pue<strong>de</strong>n obtenerse efectossimi<strong>la</strong>res a los logrados en <strong>la</strong> metáfora:modu<strong>la</strong>ridad o nivel <strong>de</strong> <strong>de</strong>talle incorrectos,interfaces poco a<strong>de</strong>cuados, difícil integración <strong>de</strong>los elementos, etc.La metáfora <strong>de</strong> los fabricantes <strong>de</strong> puzzles seha utilizado con éxito en <strong>la</strong> asignaturaMetodología <strong>de</strong> <strong>la</strong> Programación I <strong>de</strong> IngenieríaTécnica en Informática.6. ConclusionesEn este artículo se han presentado <strong>la</strong>s líneasteóricas fundamentales que marcan el actualestudio <strong>de</strong> <strong>la</strong> metáfora así como una estrategiamuy sencil<strong>la</strong> para el <strong>de</strong>sarrollo sistematizado <strong>de</strong>metáforas didácticas.Esta estrategia permite obtener, a partir <strong>de</strong>lconcepto que se <strong>de</strong>sea explicar, metáforasp<strong>la</strong>usibles, c<strong>la</strong>ras y transparentes que pue<strong>de</strong>nrepresentar tanto sistemas o conceptos tangiblescomo conceptos totalmente abstractos.Para ilustrar <strong>la</strong> utilización <strong>de</strong> <strong>la</strong> estrategiapropuesta se han <strong>de</strong>scrito tres metáforasdidácticas diferentes abarcando <strong>de</strong>s<strong>de</strong> <strong>la</strong>arquitectura Von Neumann hasta el diseño<strong>de</strong>scen<strong>de</strong>nte pasando por punteros y memoriadinámica.Referencias[1] David P. Ausubel. Psicología educativa: unpunto <strong>de</strong> vista cognoscitivo. Edición enespañol <strong>de</strong> Educational Psychology. Acognitive View. 1976/1968.[2] Katherine N. Macfar<strong>la</strong>ne, Barbee T.Mynatt. A study of an advance organizer asa technique for teaching computerprogramming concepts. Proceedings of the19th SIGCSE Technical Symposium onComputer Science Education, pp. 240-243.1988.[3] Ricardo Jiménez Peris, Cristóbal ParejaFlores, Marta Patiño Martínez, J. ÁngelVelázquez Iturbi<strong>de</strong>. The Locker Metaphorto Teach Dynamic Memory. ACM SIGCSETechnical Symposium'97. San José,California, EE.UU., pp. 169-173. 1997.[4] Harvey M. Deitel. Introducción a lossistemas operativos (segunda edición).Edición en español <strong>de</strong> Operating Systems,Second Edition. 1993/1990.[5] George A. Miller. The Magical NumberSeven, Plus or Minus Two: Some Limits onOur Capacity for Processing Information.The Psychological Review, vol. 63, pp.81-97. 1956.[6] Richard E. Mayer. Some conditions ofmeaningful learning for computerprogramming: advance organizers andsubject control of frame or<strong>de</strong>r. Journal ofEducational Psychology, vol. 68 (2), pp.143-150. 1976.[7] John M. Carroll, John C. Thomas.Metaphor and the CognitiveRepresentation of Computing Systems.IEEE Transactions on Systems, Man, andCybernetics, vol. 12 (2), pp. 107-116. 1982.[8] Dedre Gentner. Structure mapping: Atheoretical framework for analogy.Cognitive Science, vol. 7, pp. 155-170.1983.


Creatividad y resolución <strong>de</strong> problemas en <strong>la</strong>s carreras <strong>de</strong>informáticaGil Gómez, Hermenegildo; Montesa Andrés, José O; Albors Garrigós, José.Departamento <strong>de</strong> Organización <strong>de</strong> EmpresasUniversidad Politécnica <strong>de</strong> Valencia46022, ValenciaTel. (96) 387.76.82, Fax (96) 387.76.89e-mail { hgilgom@omp.upv.es, jomontesa@upvnet.upv.es, jalbors@omp.upv.es, }ResumenEl siguiente artículo trata <strong>de</strong> explicar <strong>la</strong> necesidad<strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> asignaturas que faciliten <strong>la</strong>sre<strong>la</strong>ciones interpersonales y el crecimientopersonal en carreras técnicas. En dicho contextose presenta <strong>la</strong> asignatura <strong>de</strong> Creatividad yResolución <strong>de</strong> Problemas en empresas <strong>de</strong> TIimpartida en <strong>la</strong> Escue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong>Informática <strong>de</strong> <strong>la</strong> Universidad Politécnica <strong>de</strong>Valencia.1.- Introducción y justificación.En un mundo competitivo como el actual, <strong>la</strong>necesidad <strong>de</strong> buscar nuevas i<strong>de</strong>as, <strong>de</strong> hacer algodistinto, <strong>de</strong> diferenciarse <strong>de</strong> nuestroscompetidores, se ha convertido en esencial. Estetema ha sido muy bien tratado por Michael Porteren su libro Estrategia competitiva.[1].El empresario innovador busca estadiferenciación, y no sólo en los productos queven<strong>de</strong> o en los servicios que presta, sino tambiénen <strong>la</strong>s tareas, en <strong>la</strong> forma como encara losproyectos, etc.Adoptar <strong>la</strong> innovación como premisa básica<strong>de</strong> administración implica convertir<strong>la</strong> en algosistemático. Según Peter Drucker <strong>la</strong> innovaciónsistemática consiste en [2]:1. La búsqueda organizada <strong>de</strong> cambios con unobjetivo <strong>de</strong>terminado, y2. El análisis <strong>de</strong> <strong>la</strong>s oportunida<strong>de</strong>s que ellospue<strong>de</strong>n ofrecer para <strong>la</strong> innovación social oeconómica.El proceso sistemático <strong>de</strong> búsqueda <strong>de</strong>innovaciones está estrechamente re<strong>la</strong>cionado conel proceso <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones. Aquíencontramos dos elementos don<strong>de</strong> <strong>la</strong> innovaciónjuega un papel importantísimo:• En el problema, cuando éste se <strong>de</strong>fine como"el aprovechamiento <strong>de</strong> oportunida<strong>de</strong>s". Estetipo <strong>de</strong> problema surge normalmente comoconsecuencia <strong>de</strong> una nueva i<strong>de</strong>a que setraduce en un nuevo objetivo.• En <strong>la</strong> <strong>de</strong>cisión, cuando es necesario generarcursos <strong>de</strong> acción alternativos. En este caso <strong>la</strong>innovación viene dada por <strong>la</strong> cuota <strong>de</strong>creatividad aportada al proceso y <strong>la</strong>implementación <strong>de</strong> cursos <strong>de</strong> accióndiferentes <strong>de</strong> los tradicionales.En este sentido se orienta <strong>la</strong> propuesta <strong>de</strong>asignatura impartida en <strong>la</strong> Escue<strong>la</strong> <strong>Universitaria</strong><strong>de</strong> Informática <strong>de</strong> <strong>la</strong> Universidad Politécnica <strong>de</strong>Valencia “Creatividad y Resolución <strong>de</strong> Problemasen Empresas <strong>de</strong> TI” con el objetivo <strong>de</strong> ofrecer a <strong>la</strong>sociedad personas que generen aplicacionesinformáticas que permitan a sus empresas uorganizaciones obtener mejoras competitivasmediante <strong>la</strong> aplicación <strong>de</strong> técnicas y habilida<strong>de</strong>sespecíficas.Toda <strong>la</strong> enseñanza clásica se nutre <strong>de</strong>conceptos, técnicas y herramientas principalmentebasadas en el análisis, <strong>la</strong> lógica y <strong>la</strong>estructuración. Consecuentemente, muchos <strong>de</strong>nuestros alumnos se encuentran "bloqueados" paragenerar alternativas creativas.Conocer el proceso creativo y sus técnicas asícomo <strong>la</strong> necesidad <strong>de</strong> resolver problemaspermitirá a los estudiantes <strong>de</strong>sarrol<strong>la</strong>r una parte <strong>de</strong>


su capacidad potencial que redundará enpropuestas creativas.Sin embargo, ser creativo no es ser innovador.La innovación es creatividad aplicada. Para sercreativo e innovador es necesario que vayamosmás allá <strong>de</strong>l proceso creativo y sus técnicas. Lainnovación tiene re<strong>la</strong>ción directa con <strong>la</strong>implementación.Theodore Levitt se refería a <strong>la</strong> creatividad einnovación diciendo:"Creatividad es pensar cosas nuevas.Innovación es hacer cosas nuevas. Las i<strong>de</strong>asson inútiles a menos que sean usadas. Laprueba <strong>de</strong> su valor está en suimplementación."El proceso creativo y <strong>la</strong> innovación tienen unaestrecha re<strong>la</strong>ción con el proceso <strong>de</strong> toma <strong>de</strong><strong>de</strong>cisiones. En general, podríamos <strong>de</strong>cir que <strong>la</strong>creatividad es más importante en <strong>la</strong>s primerasetapas, cuando el proceso divergente es másnecesario.Luego, cuando entramos en acción, <strong>la</strong>creatividad se convierte en innovación y estoforma parte <strong>de</strong> <strong>la</strong> implementación.En <strong>la</strong>s organizaciones hay individuoscreativos e individuos innovadores, pero a vecesno son <strong>la</strong> misma persona. Existen innovadores quetoman i<strong>de</strong>as <strong>de</strong> otros y <strong>la</strong>s llevan a <strong>la</strong> práctica.El individuo innovador se basa en <strong>la</strong> teoría <strong>de</strong>que el cambio es algo normal y saludable. No love como una amenaza, un enemigo contra el cualtiene que luchar. Adoptar <strong>la</strong> innovación implicauna búsqueda continua y sistemática <strong>de</strong>l cambiocon el propósito <strong>de</strong> adaptar <strong>la</strong>s estrategias y losp<strong>la</strong>nes a <strong>la</strong> nueva realidad.La creencia común es que el innovador esarriesgado, y en cierta medida lo es. Si no,observemos <strong>la</strong> lista <strong>de</strong> víctimas en el campo <strong>de</strong> <strong>la</strong>alta tecnología, don<strong>de</strong> se invierten millones <strong>de</strong>dó<strong>la</strong>res en proyectos que, en un principio, tienenun alto porcentaje <strong>de</strong> incertidumbre. Pero quizásea más arriesgado buscar <strong>la</strong> optimización encampos don<strong>de</strong> el mercado ya está dando señales<strong>de</strong> cambio.Un ejemplo concreto <strong>de</strong>l riesgo en optimizarlo existente, en lugar <strong>de</strong> apuntar hacia <strong>la</strong>s nuevasnecesida<strong>de</strong>s, lo tenemos en el mercado <strong>de</strong> <strong>la</strong>Informática: IBM mantuvo su mira en el hardwarey Microsoft apuntó al software. Uno se orientó aoptimizar lo existente, el otro a innovaratendiendo el mercado. La ventaja <strong>de</strong> <strong>la</strong>innovación en este ejemplo, por ahora, es c<strong>la</strong>ra.2.- Metodología <strong>de</strong>sarrol<strong>la</strong>da.El método <strong>de</strong> enseñanza se <strong>de</strong>sarrol<strong>la</strong> eligiendo unmo<strong>de</strong>lo combinado <strong>de</strong> exposición teórica paraexplicar los conceptos <strong>de</strong> <strong>la</strong> asignatura, tipolección magistral participativa y una parte que <strong>la</strong><strong>de</strong>nominamos Práctica <strong>de</strong> Au<strong>la</strong> don<strong>de</strong> mediante elp<strong>la</strong>nteamiento y análisis <strong>de</strong> casos prácticos realesse preten<strong>de</strong> aplicar y poner en práctica losconceptos teóricos y <strong>de</strong> aplicación comentados en<strong>la</strong> primera parte.La Lección Magistral sigue siendo el métododocente más usado en enseñanza universitaria.Bien realizada es pertinente para el logro <strong>de</strong>ciertos objetivos: adquirir información actualizaday bien organizada, facilitar <strong>la</strong> comprensión yaplicación <strong>de</strong> los procedimientos específicos <strong>de</strong> <strong>la</strong>asignatura y elevar los niveles motivacionales <strong>de</strong>los estudiantes hacia <strong>la</strong> asignatura [3].Es fundamental en el <strong>de</strong>sarrollo <strong>de</strong> unaasignatura que preten<strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong>s habilida<strong>de</strong>sinterpersonales <strong>de</strong> los alumnos que el mo<strong>de</strong>lo <strong>de</strong>Lección Magistral se convierta en un mo<strong>de</strong>lo <strong>de</strong>Lección Magistral Participativa don<strong>de</strong> se facilitael aprendizaje activo y cooperativo <strong>de</strong> losestudiantes. Para que en nuestras c<strong>la</strong>ses losestudiantes logren sus objetivos marcados <strong>de</strong>aprendizaje activo y cooperativo es necesario quecump<strong>la</strong>n <strong>la</strong>s siguientes características yexigencias:• Estar bien preparada.• Estar bien estructurada.• Ser impartida con c<strong>la</strong>ridad, expresividad yentusiasmo.• Dar oportunidad al estudiante para intervenir.• Manejar eficazmente <strong>la</strong>s intervenciones <strong>de</strong>los alumnos.• Despertar <strong>la</strong> necesidad <strong>de</strong> seguiraprendiendo: motivar.• Se fomenta el aprendizaje cooperativo entrelos estudiantes.


2.1.- Facilitar <strong>la</strong> participación.Nos gustaría hacer hincapié en este punto ya quelo consi<strong>de</strong>ramos esencial en el aprendizaje <strong>de</strong><strong>la</strong>lumno. El aprendizaje eficaz (aquel quepromueve cambios en los conocimientos,<strong>de</strong>strezas y actitu<strong>de</strong>s) <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l grado <strong>de</strong>participación activa que los estudiantes tengan enel proceso enseñanza-aprendizaje, bien seaindividual o grupalmente.. Para llevar a cabo unabuena enseñanza y un buen aprendizaje,consecuentemente, los profesores <strong>de</strong>ben fomentar<strong>la</strong> participación y cooperación en c<strong>la</strong>se <strong>de</strong> susalumnos. Hay dos recursos fundamentales queempleamos para facilitar el aprendizaje activo ycooperativo: el manejo eficaz <strong>de</strong> <strong>la</strong>s preguntas y<strong>la</strong>s técnicas <strong>de</strong> grupo en el au<strong>la</strong>.2.2 Técnicas <strong>de</strong> grupoLos objetivos inmediatos <strong>de</strong> una enseñanza enpequeños grupos es conseguir que los estudiantehablen y piensen. Los objetivos a <strong>la</strong>rgo p<strong>la</strong>zo sonel crecimiento y competencia personal [4]. Estosobjetivos pue<strong>de</strong>n ser expresados <strong>de</strong> <strong>la</strong> siguienteforma:• El <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s técnicas <strong>de</strong>comunicación.• El <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s competenciasintelectuales y profesionales.• El crecimiento personal <strong>de</strong> los estudiantes (yseguramente <strong>de</strong>l docente).Estos tres objetivos están interconectados en<strong>la</strong> práctica y cada uno <strong>de</strong> ellos tiene implicacionesen <strong>la</strong> función <strong>de</strong>l tutor en <strong>la</strong> enseñanza <strong>de</strong>pequeños grupos. Si el tutor o docente pasa <strong>la</strong>mayor parte <strong>de</strong>l tiempo hab<strong>la</strong>ndo habrá menoroportunidad <strong>de</strong> que los estudiantes <strong>de</strong>sarrollen sustécnicas individuales o <strong>de</strong> comunicación. Dehecho <strong>la</strong> función <strong>de</strong>l profesor es: dirigir <strong>la</strong> tarea <strong>de</strong>aprendizaje, los individuos y los procesosgrupales.3 Temario <strong>de</strong> <strong>la</strong> AsignaturaA continuación se presenta el temario propuesto<strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> tres créditos impartida en <strong>la</strong>Escue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong> Informática <strong>de</strong> <strong>la</strong>Universidad Politécnica <strong>de</strong> Valencia.En primer lugar se expone un bloque <strong>de</strong>Resolución <strong>de</strong> problemas y toma <strong>de</strong> <strong>de</strong>cisionesdon<strong>de</strong> se p<strong>la</strong>ntean metodologías <strong>de</strong> aplicaciónindividual y grupal, po<strong>de</strong>mos diferenciar trestemas principales:1. El Proceso <strong>de</strong> resolución <strong>de</strong> problemas.2. Metodologías actuales en <strong>la</strong> resolución <strong>de</strong>problemas <strong>de</strong> forma individual.3. Metodologías actuales en <strong>la</strong> resolución <strong>de</strong>problemas en grupo.A continuación entraríamos en <strong>la</strong> parte <strong>de</strong>creatividad <strong>la</strong> cual está programada para ocupar<strong>la</strong>s dos terceras partes <strong>de</strong>l tiempo <strong>de</strong> docencia ytendríamos otros dos bloques diferenciadores:Bloque II: Enfoque <strong>de</strong>l pensamiento anteconflictos4. Lógica <strong>de</strong>l pensamiento.5. El pensamiento <strong>la</strong>teral.6. Seis sombreros para pensar.Bloque III: Creatividad.7. Mitos sobre <strong>la</strong> creatividad (Cómofomentar mi creatividad).8. Métodos y técnicas para <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong>creatividad.4 EvaluaciónLa evaluación <strong>de</strong> <strong>la</strong> asignatura se estableceráconsi<strong>de</strong>rando prioritariamente <strong>la</strong> asistencia y <strong>la</strong>participación activa <strong>de</strong> los alumnos, esto tendrá unpeso no sólo fundamental sino obligatorio, es<strong>de</strong>cir el alumno que no haya asistido y seguido <strong>la</strong>asignatura <strong>de</strong> manera digamos que continua, notendrá oportunidad <strong>de</strong> aprobar <strong>la</strong> asignatura.Al final <strong>de</strong> <strong>la</strong> misma se realizará una prueba en <strong>la</strong>que se combinarán conceptos básicos teóricos yejercicios prácticos aplicados. Está prueba<strong>de</strong>terminará o diferenciará <strong>la</strong>s calificacionesfinales, aunque <strong>la</strong> asistencia y el interés en <strong>la</strong>asignatura y <strong>la</strong> realización <strong>de</strong> todos los ejerciciosprácticos propuestos a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong>s sesionespue<strong>de</strong> ser suficiente para salvar <strong>la</strong> asignatura.


5 Bibliografía usada en <strong>la</strong> asignaturaDE BONO “El pensamiento <strong>la</strong>teral - Manual <strong>de</strong>creatividad” -Paidos, 1991DE BONO “Como enseñar a pensar a tu hijo”,Paidos, 1995DE BONO, E.: "Seis sombreros para pensar",Editorial Granica. Barcelona. 1997.VON OECH El <strong>de</strong>spertar <strong>de</strong> <strong>la</strong> creatividad Díaz<strong>de</strong> Santos, 1987BUZAN, T.: "El libro <strong>de</strong> los Mapas Mentales",Ediciones Urano. Barcelona. 1996MIHALKO, MICHAEL: "Thinkertoys. Cómo<strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> creatividad en <strong>la</strong> empresa", EditorialGestión 2000. Barcelona. 1999.PONTI, F.: "La empresa Creativa", EditorialGranica. Barcelona. 2001.GOLEMAN, D., KAUFMANN. P. y RAY, M.:"El espíritu creativo", Vergara. Buenos Aires.FABRA, M.LL., “Técnicas <strong>de</strong> Grupo para <strong>la</strong>Cooperación, CEAC, 1992ROBBINS, “Comportamiento Organizacional”,Prentice Hall, 1996.MICHALKO, M., “Los secretos <strong>de</strong> los Genios <strong>de</strong><strong>la</strong> Creatividad”, Gestión 2000, 1999.MITROFF, I. “Convierta Problemas enSoluciones Inteligentes”, Amat, 2000.6.-Reflexiones <strong>de</strong> los profesores y losalumnosLos profesores <strong>de</strong> <strong>la</strong> asignatura tenemos unapercepción positiva <strong>de</strong> esta primera experiencia.En primer lugar, como ocurre en muchas <strong>de</strong> <strong>la</strong>sasignaturas <strong>de</strong> libre elección, nos encontramos conel riesgo <strong>de</strong> que <strong>la</strong> propuesta no fuese aceptadapor los alumnos y más teniendo en cuenta que esuna asignatura ofertada por el <strong>de</strong>partamento <strong>de</strong>organización <strong>de</strong> empresas y enmarcada en unacarrera técnica como es <strong>la</strong> <strong>de</strong> Ingeniero Técnico<strong>de</strong> Informática. Pero nuestra sorpresa fue <strong>la</strong> <strong>de</strong>encontrarnos con 40 matricu<strong>la</strong>dos <strong>de</strong> los cualesunos 33 van habitualmente a c<strong>la</strong>se. El primer día<strong>de</strong> c<strong>la</strong>se hicimos <strong>la</strong> pregunta <strong>de</strong> ¿por qué se habíanmatricu<strong>la</strong>do en <strong>la</strong> asignatura? Y <strong>la</strong> respuesta fueque el título, y más concretamente <strong>la</strong> pa<strong>la</strong>bra“creatividad” les l<strong>la</strong>maba <strong>la</strong> atención. A lo <strong>la</strong>rgo<strong>de</strong>l curso hemos comprobado como los alumnosse encontraban cómodos en c<strong>la</strong>se, a pesar <strong>de</strong> queel horario no era muy creativo (<strong>de</strong> 15:30 a 17:30horas), participando activamente en los diferentesejercicios, haciendo preguntas…A<strong>de</strong>más tambiénhemos comprobado el nivel <strong>de</strong> madurez <strong>de</strong> ellos,hay que tener en cuenta que son alumnos <strong>de</strong>primer curso, pero aún así, algunos mostraban unnivel <strong>de</strong> madurez bastante consi<strong>de</strong>rable, aunquetambién hay gente en el <strong>la</strong>do opuesto.6.1 Proyecto futuroDentro <strong>de</strong> <strong>la</strong> línea que se inició con el P<strong>la</strong>n <strong>de</strong>Innovación Educativa (PIE) y que está siguiendosu nueva andadura con el <strong>de</strong>sarrollo <strong>de</strong>l ProyectoEuropa, se hace pública <strong>la</strong> XIII convocatoria <strong>de</strong>los Proyectos <strong>de</strong> Innovación Docente (PID’s), queaño tras año han ido adaptándose a <strong>la</strong>snecesida<strong>de</strong>s <strong>de</strong>l contexto universitario. Así, estanueva edición preten<strong>de</strong> potenciar aquel<strong>la</strong>siniciativas que el profesorado esté dispuesto allevar a cabo, y que se orienten fundamentalmentea propiciar un aprendizaje más activo ycomprometido por parte <strong>de</strong> los estudiantes. Eneste sentido, <strong>la</strong> experiencia nos ha motivado parapresentar un Proyecto <strong>de</strong> Innovación Docente enel Instituto <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong> Educación (ICE) <strong>de</strong><strong>la</strong> Universidad.En <strong>la</strong> preparación <strong>de</strong>l mismo hemos grabado <strong>la</strong>sactuaciones prácticas <strong>de</strong> los alumnos, en concretoen un ejercicio don<strong>de</strong> se aplica <strong>la</strong> técnica <strong>de</strong> los 6sombreros para pensar <strong>de</strong> Edward <strong>de</strong> Bono, asícomo <strong>la</strong>s opiniones <strong>de</strong> ellos. Observamos <strong>la</strong>motivación y el interés por <strong>la</strong> asignatura en susreflexiones y nos sugieren <strong>la</strong> necesidad <strong>de</strong>incrementar esas 30 horas lectivas con que cuentaactualmente <strong>la</strong> asignatura. El carácterfundamentalmente práctica <strong>de</strong> <strong>la</strong> asignatura es otrafortaleza que apuntan los estudiantes. Y como<strong>de</strong>bilidad quizá <strong>la</strong> falta <strong>de</strong> unos apuntes <strong>de</strong> <strong>la</strong>materia. Estamos actualmente tratando <strong>de</strong>confeccionar unos apuntes para el próximo curso.7.-ConclusionesCada día <strong>la</strong>s empresas y organizaciones exigen y<strong>de</strong>mandan habilida<strong>de</strong>s particu<strong>la</strong>res a susempleados. Ya no basta con una formacióntécnica sin más, sino que se valora muypositivamente <strong>la</strong>s habilida<strong>de</strong>s interpersonalescomo el trabajo en equipo, <strong>la</strong> comunicación y <strong>la</strong>


aplicación <strong>de</strong> técnicas creativas que faciliten <strong>la</strong>generación <strong>de</strong> i<strong>de</strong>as y en consecuencia <strong>la</strong>resolución <strong>de</strong> problemas. Esta generación <strong>de</strong> i<strong>de</strong>aspuestas en <strong>la</strong> práctica fomentan <strong>la</strong> innovación en<strong>la</strong> empresa y permiten a <strong>la</strong> misma estar en <strong>la</strong>vanguardia <strong>de</strong> <strong>la</strong> Economía y por tanto tener unaposición competitiva buena en <strong>la</strong> Economíaglobalizada en <strong>la</strong> que actualmente se encuentran<strong>la</strong>s organizaciones. En este sentido los quesuscribimos <strong>la</strong> presente comunicación p<strong>la</strong>nteamos<strong>la</strong> asignatura <strong>de</strong> “Creatividad y Resolución <strong>de</strong>Problemas en empresas <strong>de</strong> TI” con <strong>la</strong> intención <strong>de</strong>facilitar a los futuros ingenieros unas técnicas yunos mo<strong>de</strong>los que cada vez se están <strong>de</strong>mandandomás en <strong>la</strong>s organizaciones.8.-Bibliografía Referenciada[1] Porter, M. “Estrategia competitiva”1993.[2] Drucker, P., “Innovation an<strong>de</strong>ntrepreneurship” -HARPER & ROW, NEWYORK, 1986.[3] Cruz Tomé, M.A. “Lección MagistralParticipativa”. Seminario <strong>de</strong> Formación<strong>Universitaria</strong>. ICE. UPV, 2000.[4] Fabra, Mª Ll., “Técnicas <strong>de</strong> Grupo”, CEAC,1986.


Cómo conseguir que los alumnos hagan más ejerciciosMiguel Valero-GarcíaDept. <strong>de</strong> Arquitectura <strong>de</strong> ComputadoresUniversitat Politécnica <strong>de</strong> Catalunya (Barcelona)e-mail: miguel@ac.upc.esResumenEn esta ponencia se <strong>de</strong>scribe un método <strong>de</strong>aprendizaje cooperativo informal que se haaplicado en una asignatura <strong>de</strong> primer año <strong>de</strong>ingeniería informática. Se analiza <strong>la</strong> forma en queel método aborda varias <strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>sexperimentadas por los profesores <strong>de</strong> <strong>la</strong> asignaturapara conseguir que los alumnos hagan losejercicios <strong>de</strong>l curso. El método ha sido bienvalorado tanto por los alumnos como por losprofesores, aunque todavía no estásuficientemente imp<strong>la</strong>ntado como para que seobserven mejoras significativas en el rendimientoacadémico.1. La asignaturaEl método que se <strong>de</strong>scribe se ha ensayado en <strong>la</strong>asignatura Estructura <strong>de</strong> Computadores 1 (<strong>de</strong>ahora en a<strong>de</strong><strong>la</strong>nte EC1). Esta asignatura pertenecea <strong>la</strong> Fase Selectiva <strong>de</strong> <strong>la</strong>s ingenierías informáticasque se imparten en <strong>la</strong> Facultat d’Informàtica <strong>de</strong>Barcelona. Por tanto, es una asignatura conmuchos alumnos en su primer año <strong>de</strong> estudiosuniversitarios. Por ejemplo, durante el curso 2000-2001 <strong>la</strong> asignatura ha tenido alre<strong>de</strong>dor <strong>de</strong> 800alumnos, repartidos en 3 grupos en el cuatrimestre<strong>de</strong> otoño y 6 grupos en el cuatrimestre <strong>de</strong>primavera (cada grupo tiene entre 80 y 100alumnos).La asignatura EC1 cubre esencialmente dostemas:• El lenguaje máquina/ensamb<strong>la</strong>dor <strong>de</strong> <strong>la</strong>familia <strong>de</strong> procesadores i80X86• El subsistema <strong>de</strong> entrada/salida <strong>de</strong> uncomputadorLos objetivos formativos <strong>de</strong> <strong>la</strong> asignatura sonesencialmente <strong>de</strong> tipo comprensión. Es <strong>de</strong>cir, losalumnos <strong>de</strong>ben aplicar recetas bien establecidaspara obtener <strong>la</strong> respuesta correcta (normalmenteúnica) al problema [1]. Un ejemplo típico <strong>de</strong>ejercicio es <strong>de</strong>terminar el contenido <strong>de</strong> losregistros <strong>de</strong>l procesador <strong>de</strong>spués <strong>de</strong> ejecutar unasecuencia <strong>de</strong> 3 ó 4 instrucciones <strong>de</strong> lenguajeensamb<strong>la</strong>dor.La asignatura tiene tres tipos <strong>de</strong> c<strong>la</strong>ses:• C<strong>la</strong>ses <strong>de</strong> teoría (3 horas a <strong>la</strong> semana)• C<strong>la</strong>ses <strong>de</strong> problemas (1 hora a <strong>la</strong> semana):cada grupo <strong>de</strong> teoría se divi<strong>de</strong> en dossubgrupos <strong>de</strong> problemas (por tanto, elprofesor imparte dos horas a <strong>la</strong> semana, una acada grupo).• C<strong>la</strong>ses <strong>de</strong> <strong>la</strong>boratorio (2 horas cada quincedías): cada grupo <strong>de</strong> teoría se divi<strong>de</strong> encuatro <strong>de</strong> <strong>la</strong>boratorio (por tanto, el profesorimparte una media <strong>de</strong> 4 horas <strong>de</strong> <strong>la</strong>boratorio a<strong>la</strong> semana).La asignatura EC1 se aprueba, al igual que otrasmuchas <strong>de</strong> nuestros p<strong>la</strong>nes <strong>de</strong> estudios, haciendomuchos ejercicios. Por ello, <strong>la</strong> cuestiónfundamental es cómo conseguir que los alumnoshagan ejercicios. Esa es <strong>la</strong> problemática que sediscute a continuación y sobre <strong>la</strong> que preten<strong>de</strong>incidir el método <strong>de</strong>scrito en esta ponencia.


2. Las c<strong>la</strong>ses <strong>de</strong> problemasEn los últimos cuatrimestres, los profesores <strong>de</strong> <strong>la</strong>asignatura solemos pasar una encuesta al inicio<strong>de</strong>l cuatrimestre en <strong>la</strong> que pedimos a losestudiantes que valoren, entre otras cosas:1. Qué características <strong>de</strong>be tener <strong>la</strong>asignatura para que pueda serconsi<strong>de</strong>rada “<strong>de</strong> calidad”2. Cuáles fueron <strong>la</strong>s razones <strong>de</strong>l pocoéxito en <strong>la</strong> asignatura el cuatrimestreanterior (sólo para los repetidores)Habitualmente, uno <strong>de</strong> los elementos que aparecencomo respuesta a <strong>la</strong> pregunta 1 es:“Que haya muchos ejercicios resueltos”Por otra parte, <strong>la</strong> respuesta que domina siempre en<strong>la</strong> segunda pregunta es:“No hice suficientes ejercicios”Esta encuesta resulta útil para poner <strong>de</strong> manifiestoante los estudiantes que lo importante es que losejercicios los hagan ellos, y no nosotros losprofesores. A nosotros, los profesores, tambiénnos ha costado un tiempo tomar conciencia c<strong>la</strong>ra<strong>de</strong> <strong>la</strong>s implicaciones <strong>de</strong> esta cuestión, tal y comose verá en <strong>la</strong> breve <strong>de</strong>scripción que se ofrece acontinuación, a cerca <strong>de</strong> <strong>la</strong> evolución <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses<strong>de</strong> problemas.En una primera fase <strong>de</strong> <strong>la</strong> historia <strong>de</strong> <strong>la</strong> asignatura,los profesores <strong>de</strong>sarrollábamos <strong>la</strong> teoría en <strong>la</strong>sc<strong>la</strong>ses <strong>de</strong> teoría y mostrábamos cómo se resuelvenlos problemas en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> problemas.Proponíamos ejercicios a los alumnos para quehiciesen en casa (en esas horas <strong>de</strong> trabajo personalque todo alumno <strong>de</strong>be <strong>de</strong>dicar a <strong>la</strong> asignatura).Este p<strong>la</strong>nteamiento (bastante generalizado en <strong>la</strong>mayoría <strong>de</strong> <strong>la</strong>s asignaturas) tiene <strong>la</strong>s siguientescaracterísticas:• Es eficiente, puesto que el profesor pue<strong>de</strong><strong>de</strong>sarrol<strong>la</strong>r mucha teoría y proporcionar a losalumnos muchos ejercicios resueltos. Por unaparte, el profesor tien<strong>de</strong> a sentirse satisfecho<strong>de</strong> su trabajo, especialmente si tiene <strong>la</strong>sensación <strong>de</strong> que ha explicado con c<strong>la</strong>ridad.Por otra parte, el alumno se siente tranquilocon una buena colección <strong>de</strong> ejerciciosresueltos en <strong>la</strong> carpeta. Puesto que los haentendido todos, piensa que será capaz <strong>de</strong>resolver ejercicios simi<strong>la</strong>res cuando llegue elmomento.• Aquellos alumnos que se <strong>de</strong>cidían a hacerejercicios en casa, se encontraban solos ante<strong>la</strong>s primeras dificulta<strong>de</strong>s. Es <strong>de</strong>cir, el profesorno estaba en el sitio oportuno en el momentoen que más importante es su intervención enel proceso <strong>de</strong> aprendizaje.• El profesor no tenía ninguna realimentaciónantes <strong>de</strong>l primer examen (un examen parcialcuando el curso está bastante avanzado), locual limita extraordinariamente su capacidadpara intervenir.En resumen, este p<strong>la</strong>nteamiento ignorabacompletamente una realidad que se ponía <strong>de</strong>manifiesto cuando ya era <strong>de</strong>masiado tar<strong>de</strong>.Conviene citar aquí a John Cowan [2]:El trabajo <strong>de</strong>l profesor consiste encrear situaciones <strong>de</strong> <strong>la</strong>s que el alumnono pue<strong>de</strong> escapar si haber aprendidoEs obvio que en el p<strong>la</strong>nteamiento <strong>de</strong>scrito losalumnos estaban escapando sin apren<strong>de</strong>r.En una segunda fase, se adquirió <strong>la</strong> concienciac<strong>la</strong>ra <strong>de</strong> que los alumnos <strong>de</strong>bían resolverejercicios en c<strong>la</strong>se <strong>de</strong> problemas, con <strong>la</strong> presencia<strong>de</strong>l profesor, para que éste pudiese intervenir ante<strong>la</strong>s primeras dificulta<strong>de</strong>s. Por otra parte, sólo asípodía justificarse que los grupos <strong>de</strong> problemasfuesen reducidos (<strong>la</strong> mitad que los <strong>de</strong> teoría). Asípues, en esta segunda fase, en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>problemas se proponían ejercicios que losalumnos <strong>de</strong>bían resolver allí mismo, <strong>de</strong> forma queel profesor pudiese intervenir al aparecer <strong>la</strong>sprimeras dificulta<strong>de</strong>s.De forma natural, aparecieron dos p<strong>la</strong>nteamientosdistintos. Algunos profesores adoptaban <strong>la</strong> política<strong>de</strong> ofrecer <strong>la</strong> solución correcta al final <strong>de</strong> <strong>la</strong> c<strong>la</strong>se,con lo cual muchos alumnos se limitaban aesperar a que se hiciese pública esa solución paracopiar<strong>la</strong>. En una variante más radical, algunos


profesores no ofrecían en ningún momento <strong>la</strong>solución correcta. Los alumnos que quisiesen,podrían entregar el ejercicio al profesor que lo<strong>de</strong>volvería corregido a <strong>la</strong> semana siguiente. Losejercicios entregados no serían tenidos en cuentapara el cálculo <strong>de</strong> <strong>la</strong> nota, puesto que se suponíaque, en caso <strong>de</strong> tenerlos en cuenta, se produciríauna ava<strong>la</strong>ncha <strong>de</strong> entregas que <strong>de</strong>sbordaría a losprofesores. Un resultado <strong>de</strong> esta variante era quemuchos alumnos abandonaban <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>problemas a <strong>la</strong>s pocas semanas, para asistir a <strong>la</strong>sc<strong>la</strong>ses <strong>de</strong> los profesores que sí daban <strong>la</strong>ssoluciones.En general, <strong>la</strong>s características <strong>de</strong> estas estrategiasson:• Se recorta un poco el tiempo para <strong>de</strong>sarrol<strong>la</strong>r<strong>la</strong> teoría, puesto que una parte <strong>de</strong> <strong>la</strong>s horas <strong>de</strong>teoría <strong>de</strong>ben usarse para ejemplificar <strong>la</strong>resolución <strong>de</strong> problemas (que ya no se va ahacer en <strong>la</strong>s horas <strong>de</strong> problemas, comoocurría en <strong>la</strong> fase anterior).• Se consigue que algunos estudiantes haganmás ejercicios, pero muchos alumnos siguensin hacerlos. Como se ha indicado, en loscasos en los que el profesor resolvía elejercicio al final, muchos alumnossimplemente esperaban. Si el profesor noresolvía el ejercicio, muchos alumnos<strong>de</strong>jaban <strong>de</strong> venir a <strong>la</strong>s c<strong>la</strong>ses. Este abandono<strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> problemas (en torno al 50%)repercute en una mejora <strong>de</strong> <strong>la</strong>s condicionespara aten<strong>de</strong>r a los que se quedan, pero haceque el impacto <strong>de</strong> <strong>la</strong> estrategia en elrendimiento académico sea escaso, puestoque sigue habiendo muchos alumnos que“escapan” <strong>de</strong> <strong>la</strong> situación <strong>de</strong> aprendizajecreada.• El profesor tiene más elementos <strong>de</strong> juiciosobre <strong>la</strong> marcha <strong>de</strong> <strong>la</strong> asignatura, puesto queve trabajar a los alumnos en c<strong>la</strong>se, y corrigelos ejercicios que entregan los alumnos. Escurioso observar que cuando se tienen esoselementos <strong>de</strong> juicio el profesor percibe conc<strong>la</strong>ridad <strong>la</strong>s dificulta<strong>de</strong>s <strong>de</strong> aprendizaje <strong>de</strong> losalumnos, lo cual pue<strong>de</strong> repercutir en sumoral, cosa que no pasaba en <strong>la</strong> primera fase,cuando el profesor no tenía feedback y secreaba fácilmente <strong>la</strong> ilusión <strong>de</strong> que todo vabien.• El trabajo <strong>de</strong> corrección <strong>de</strong> ejerciciosaumenta, aunque no excesivamente puestoque, como se ha indicado antes, no sonmuchos los alumnos que asistenregu<strong>la</strong>rmente a <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> problemas en <strong>la</strong>sque no se da <strong>la</strong> solución y se recogen losejercicios.La <strong>de</strong>scripción que acabamos <strong>de</strong> ofrecer se haorganizado en dos fases para facilitar <strong>la</strong>exposición <strong>de</strong> los dilemas y dificulta<strong>de</strong>s a los quepreten<strong>de</strong> dar respuesta el método que se <strong>de</strong>scribe acontinuación. No obstante, <strong>la</strong> historia real nonecesariamente se ha <strong>de</strong>sarrol<strong>la</strong>do en dos fasesbien <strong>de</strong>limitadas, y posiblemente diferentesprofesores <strong>de</strong> <strong>la</strong> asignatura han vivido <strong>la</strong> historia<strong>de</strong> formas parcialmente distintas.3. El método propuestoEl método que proponemos a continuación utiliza<strong>la</strong> estrategia <strong>de</strong> aprendizaje cooperativo en gruposinformales [3]. La mecánica es <strong>la</strong> siguiente:• El profesor propone un ejercicio que losalumnos <strong>de</strong>ben resolver en c<strong>la</strong>se <strong>de</strong> formaindividual. El ejercicio se les reparte en unpapel aparte en el que <strong>de</strong>ben escribir <strong>la</strong>solución (esto aumenta <strong>la</strong> relevancia que losalumnos atribuyen a <strong>la</strong> actividad). Se lesexplica que en <strong>la</strong> última parte <strong>de</strong> <strong>la</strong> sesión<strong>de</strong>berán reunirse con otros compañeros paracomparar <strong>la</strong>s soluciones.• Durante <strong>la</strong> resolución individual, se anima alos alumnos a que discutan el problema consus vecinos. El profesor atien<strong>de</strong> <strong>la</strong>s dudasque se produzcan.• Al finalizar <strong>la</strong> fase <strong>de</strong> resolución individual,el profesor organiza grupos <strong>de</strong> 3 ó 4estudiantes, <strong>de</strong> forma que los miembros <strong>de</strong> ungrupo no hayan interactuado entre sí durante<strong>la</strong> resolución individual. El objetivo <strong>de</strong>lgrupo es ponerse <strong>de</strong> acuerdo en <strong>la</strong> solucióncorrecta. Para ello, comparan <strong>la</strong>s solucionesindividuales y si hay discrepancias <strong>la</strong>sac<strong>la</strong>ran. Cuando llegan al consenso, escriben<strong>la</strong> solución correcta y <strong>la</strong> firman. Si alguno <strong>de</strong>


los alumnos no está <strong>de</strong> acuerdo, no firma ypue<strong>de</strong> entregar su solución particu<strong>la</strong>r.• El profesor recoge <strong>la</strong>s solucionesconsensuadas, <strong>la</strong>s corrige y <strong>la</strong>s <strong>de</strong>vuelve <strong>la</strong>semana siguiente.4. Qué ha cambiadoVeamos ahora en que medida el método propuestoproduce un cambio <strong>de</strong> <strong>la</strong> situación en re<strong>la</strong>ción a<strong>la</strong>s dificulta<strong>de</strong>s <strong>de</strong>scritas en <strong>la</strong> sección 2.• Los alumnos hacen ejercicios en c<strong>la</strong>se.A<strong>de</strong>más, no se produce el abandono típicoque tiene lugar cuando los alumnos constatanque el profesor no dará <strong>la</strong> solución al final <strong>de</strong><strong>la</strong> c<strong>la</strong>se. Hay dos explicaciones para esto. Poruna parte, los alumnos valoran <strong>la</strong> discusióncon sus compañeros (que no se producía <strong>de</strong>forma tan intensa en <strong>la</strong>s fases anteriores). Porotra parte, el método se ha aplicadoindistintamente en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría y <strong>de</strong>problemas, con lo cual el p<strong>la</strong>nteamiento “iréa <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> problemas <strong>de</strong> otro profesor”no tiene sentido.• Los alumnos intentan hacer bien losejercicios. El hecho <strong>de</strong> que cada alumnotenga que exponer su solución a loscompañeros <strong>de</strong>l grupo al final <strong>de</strong> <strong>la</strong> c<strong>la</strong>sehace que entre en juego su motivación que“quedar bien” en el grupo, lo cual le induce aesforzarse más durante <strong>la</strong> resoluciónindividual. Esto se traduce, por ejemplo, enun mayor número <strong>de</strong> preguntas al profesorpara ac<strong>la</strong>rar dudas. A<strong>de</strong>más, tien<strong>de</strong> areducirse <strong>la</strong> típica situación en <strong>la</strong> que dosalumnos trabajan aparentemente juntos elejercicio, siendo en realidad uno <strong>de</strong> ellos elque lo resuelve y el otro el que mira como sehace.• Durante <strong>la</strong> discusión final en grupo losalumnos se ac<strong>la</strong>ran entre sí muchas <strong>de</strong> susdudas. Se sabe que en una situación así, uncompañero que se acaba <strong>de</strong> enfrentar almismo ejercicio pue<strong>de</strong> ser más eficaz que elpropio profesor a <strong>la</strong> hora <strong>de</strong> resolver dudas.El beneficio <strong>de</strong> <strong>la</strong> discusión es importantetanto para el que ve su duda resuelta comopara el que resuelve <strong>la</strong> duda <strong>de</strong> otro, que ve<strong>de</strong> esta forma afianzados sus conocimientos ysu confianza en sí mismo. En resumen, elfeedback que recibe cada alumno sobre elestado <strong>de</strong> sus conocimientos se multiplica.• El profesor corrige un número pequeño <strong>de</strong>ejercicios (uno por cada grupo <strong>de</strong> 3 ó 4) conlo cual los alumnos pue<strong>de</strong>n tener un feedbackregu<strong>la</strong>r <strong>de</strong>l profesor, a un coste mo<strong>de</strong>radopara éste.A<strong>de</strong>más <strong>de</strong> estas mejoras, aparecen otroselementos positivos adicionales, en virtud <strong>de</strong> <strong>la</strong>naturaleza el método utilizado:• Los alumnos se van conociendo yre<strong>la</strong>cionando a medida que se avanza en elcurso, lo cual hace que el clima humano <strong>de</strong> <strong>la</strong>c<strong>la</strong>se mejore notablemente.• Los alumnos ponen en práctica y mejoran sushabilida<strong>de</strong>s para discutir y alcanzar unconsenso.5. Dificulta<strong>de</strong>sLas dificulta<strong>de</strong>s que a priori pue<strong>de</strong> p<strong>la</strong>ntear elmétodo propuesto aquí tienen que ver con <strong>la</strong>mecánica <strong>de</strong> <strong>la</strong> formación <strong>de</strong> los grupos, <strong>la</strong>incomodidad <strong>de</strong> <strong>la</strong>s au<strong>la</strong>s para el trabajo <strong>de</strong> losgrupos y el mayor tiempo que se requiere pararealizar <strong>la</strong> actividad.Tal y como se ha indicado antes, es importanteque los grupos estén constituidos por alumnos queno hayan interactuado durante <strong>la</strong> fase <strong>de</strong>resolución individual. Por tanto, no vale el hacergrupos con el compañero <strong>de</strong> al <strong>la</strong>do y los dos <strong>de</strong>atrás (lo cual sería óptimo en términos <strong>de</strong> tiempo).La técnica que se ha utilizado hasta ahora esasignar un número a cada alumno, <strong>de</strong> formacíclica, y hacer que los 3 ó 4 alumnos a los que seles ha asignado el mismo número se reúnan en unpunto dado <strong>de</strong> <strong>la</strong> c<strong>la</strong>se (conviene, por ejemplo,dibujar un mapa <strong>de</strong> <strong>la</strong> c<strong>la</strong>se indicando dón<strong>de</strong><strong>de</strong>ben reunirse cada uno <strong>de</strong> los grupos).Obviamente, esto produce un gran movimiento <strong>de</strong>alumnos durante unos segundos. Sin embargo, unavez adquirida <strong>la</strong> mecánica, el tiempo que se pier<strong>de</strong>no es excesivo (el sistema a funcionado bien congrupos <strong>de</strong> 60 ó 70 alumnos). Por otra parte, si elmétodo se aplica en c<strong>la</strong>ses <strong>de</strong> dos horas, pue<strong>de</strong>


aprovecharse el <strong>de</strong>scanso (en el que típicamentelos alumnos se mueven <strong>de</strong> su sitio) para organizarlos grupos.Ciertamente, el mobiliario <strong>de</strong> nuestras au<strong>la</strong>s no esel más a<strong>de</strong>cuado para facilitar el trabajo <strong>de</strong> grupos<strong>de</strong> más <strong>de</strong> dos personas. Al aplicar el métodopropuesto, muchos alumnos acababan sentadosencima <strong>de</strong> los pupitres, girados hacia atrás y conlos papeles encima <strong>de</strong> <strong>la</strong>s rodil<strong>la</strong>s. No obstante,esta circunstancia no parece haber dificultadoexcesivamente el trabajo, si bien es cierto quesiempre que se ha aplicado el método, <strong>la</strong>capacidad <strong>de</strong>l au<strong>la</strong> era superior a <strong>la</strong> ocupación enese momento. El problema sería más grave encaso <strong>de</strong> un au<strong>la</strong> completamente ocupada. En esecaso, sin embargo, existe todavía <strong>la</strong> posibilidad <strong>de</strong>hacer que los alumnos se reúnan fuera <strong>de</strong>l au<strong>la</strong>(quizá en au<strong>la</strong>s cercanas <strong>de</strong>socupadas, o inclusoen pasillos y otros espacios <strong>de</strong> uso general).Finalmente, no cabe duda <strong>de</strong> que <strong>la</strong> formación y eltrabajo <strong>de</strong> los grupos hacen que el tiempo que<strong>de</strong>be <strong>de</strong>stinarse a <strong>la</strong> actividad aumente en re<strong>la</strong>cióna estrategias como <strong>la</strong>s <strong>de</strong>scritas en <strong>la</strong> sección 2.Lógicamente, <strong>de</strong>fen<strong>de</strong>mos que es un tiempo bienempleado, pero es cierto que en el caso <strong>de</strong>temarios apretados, pue<strong>de</strong> p<strong>la</strong>ntearse un problema<strong>de</strong> falta <strong>de</strong> tiempo. En este caso, pue<strong>de</strong> adoptarseuna variante que consiste en proponer a losalumnos que resuelvan el ejercicio <strong>de</strong> formaindividual en casa, <strong>de</strong> forma que en c<strong>la</strong>se, quizá<strong>de</strong>spués <strong>de</strong> unos minutos <strong>de</strong> repaso, se inicia <strong>la</strong>fase <strong>de</strong> discusión en grupo. Aunque esta variantedificulta mucho <strong>la</strong> posibilidad <strong>de</strong> que el profesorresuelva dudas individuales en el momento en quese producen, retiene aún muchas <strong>de</strong> <strong>la</strong>s virtu<strong>de</strong>s<strong>de</strong>l método tal y como se ha propuesto en <strong>la</strong>sección 3.6. ValoraciónLa aplicación frecuente y sistemática <strong>de</strong>l métodopropuesto <strong>de</strong>bería propiciar un aumento en elrendimiento académico <strong>de</strong> los alumnos (e<strong>la</strong>umento <strong>de</strong> <strong>la</strong> tasa <strong>de</strong> alumnos aprobados <strong>de</strong>beríaser uno <strong>de</strong> los objetivos <strong>de</strong> cualquier mejoradocente). Sin embargo, esa mejora <strong>de</strong> rendimientono se ha constatado todavía en <strong>la</strong> asignatura EC1,precisamente porque el método no se ha aplicado<strong>de</strong> forma frecuente y sistemática. En realidad, seha aplicado <strong>de</strong> forma puntual, con el objetivo <strong>de</strong>ensayar <strong>la</strong> mecánica, analizar <strong>la</strong> reacción <strong>de</strong> losalumnos y <strong>de</strong> los propios profesores.Los profesores han valorado positivamente elmétodo, esencialmente porque se consiguen unasdosis <strong>de</strong> actividad por parte <strong>de</strong> los alumnossuperiores a <strong>la</strong>s que se consiguen con otrosmétodos. La mecánica ha funcionado bien, inclusoen grupos <strong>de</strong> alre<strong>de</strong>dor <strong>de</strong> 60 alumnos. En todocaso, se constata <strong>la</strong> necesidad <strong>de</strong> reorganizar elprograma y, en particu<strong>la</strong>r, recortar el temarioexpuesto en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría, si es que sepreten<strong>de</strong> aplicar con frecuencia el método(efectivamente, el temario acostumbra a ser unabarrera para <strong>la</strong> innovación docente).La reacción <strong>de</strong> los alumnos se ha evaluadomediante dos tipos <strong>de</strong> encuesta: el CuIC y elSEEQ.El CuIC (Cuestionario <strong>de</strong> Inci<strong>de</strong>ncias Críticas) [4]es una consulta que se hace a los alumnos con unacierta frecuencia a lo <strong>la</strong>rgo <strong>de</strong>l curso. Al final <strong>de</strong>una sesión <strong>de</strong> c<strong>la</strong>se, se les pi<strong>de</strong> que respondan a<strong>la</strong>s dos preguntas siguientes:¿Qué ha sido lo más estimu<strong>la</strong>nte, c<strong>la</strong>rificadory positivo en el último período <strong>de</strong>l curso?¿Qué ha sido lo más <strong>de</strong>sconcertante, oscuroy negativo en el último período <strong>de</strong>l curso?Los alumnos <strong>de</strong>ben contestar estas preguntas <strong>de</strong>forma anónima, rápida (un minuto) y concreta.Los resultados <strong>de</strong>l CuIC ponen <strong>de</strong> manifiesto queentre los aspectos más valorados aparecen siempre<strong>la</strong>s discusiones entre compañeros que se propiciancon el método propuesto. Por tanto, pue<strong>de</strong>afirmarse que los alumnos reaccionanfavorablemente.El SEEQ (Stu<strong>de</strong>nts Evaluation of EducationalQuality) es una encuesta <strong>de</strong>bida a H. Marsh [5],que se usa <strong>de</strong>s<strong>de</strong> comienzos <strong>de</strong> los años 80(especialmente en el ámbito anglosajón) pararecoger <strong>la</strong> opinión <strong>de</strong> los alumnos sobre elprofesor y <strong>la</strong> asignatura. Es i<strong>de</strong>al para i<strong>de</strong>ntificaraspectos a mejorar. Des<strong>de</strong> hace dos cuatrimestres,los profesores <strong>de</strong> EC1 <strong>de</strong>cidimos utilizar esta


encuesta para empren<strong>de</strong>r un proceso <strong>de</strong> mejoracontinuada, consistente en:1. Pasar <strong>la</strong> encuesta SEEQ al final <strong>de</strong>cuatrimestre2. I<strong>de</strong>ntificar los aspectos peor valorados por losalumnos3. Seleccionar alguno <strong>de</strong> los aspectos peorvalorados para mejorarlo4. Hacer un p<strong>la</strong>n <strong>de</strong> mejora5. Llevar a cabo el p<strong>la</strong>n6. Volver a pasar el SEEQ al final <strong>de</strong>lcuatrimestre y analizar el impacto <strong>de</strong> <strong>la</strong>smedidas adoptadasEn el cuatrimestre 1999-2000 (2) los aspectospeor valorados por los alumnos fueron (en unaesca<strong>la</strong> <strong>de</strong> 1 a 5):25.- Los comentarios <strong>de</strong>l profesor sobre losexámenes y trabajo corregidos fueron <strong>de</strong> muchaayuda (2,93)13.- En este curso se animaba a los alumnos aparticipar en <strong>la</strong>s discusiones <strong>de</strong> c<strong>la</strong>se (3,11)26.- Los métodos <strong>de</strong> evaluación <strong>de</strong> este curso sonjustos y a<strong>de</strong>cuados (3,16)28.- La bibliografía y el material recomendado eneste curso son valiosos (3,20)El equipo <strong>de</strong> profesores <strong>de</strong>cidió intentar unamejora <strong>de</strong>l aspecto número 13. Para ello, cadaprofesor se comprometió a aplicar en su c<strong>la</strong>se, almenos 3 veces durante el curso, el método<strong>de</strong>scrito en esta ponencia en su c<strong>la</strong>se. Se esperabaque con ello los alumnos percibiesen un mayorgrado <strong>de</strong> participación en c<strong>la</strong>se.El resultado <strong>de</strong>l SEEQ al final <strong>de</strong>l cuatrimestre2000-2001 (1) (unos 300 alumnos), por lo querespecta al aspecto que nos interesa aquí fue:13.- En este curso se animaba a los alumnos aparticipar en <strong>la</strong>s discusiones <strong>de</strong> c<strong>la</strong>se (3,32)Se pone por tanto <strong>de</strong> manifiesto una mejoraapreciable en <strong>la</strong> percepción <strong>de</strong> los alumnos. Esinteresante notar (no se aportan los datos aquí)que muchos <strong>de</strong> los otros aspectos evaluados por elSEEQ recibieron una valoración peor por parte <strong>de</strong>los alumnos. Esto no es <strong>de</strong> extrañar puesto que elperfil <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción <strong>de</strong> estudiantes cambia <strong>de</strong>lcuatrimestre <strong>de</strong> otoño al cuatrimestre <strong>de</strong>primavera (en particu<strong>la</strong>r, el porcentaje <strong>de</strong>repetidores). En estas condiciones, <strong>la</strong> mejorapercibida en el aspecto objeto <strong>de</strong> nuestra actuacióntiene una significación importante.En el cuatrimestre 2000-2001 (2) (unos 500alumnos), en el que el perfil <strong>de</strong> los alumnos escomparable al <strong>de</strong>l cuatrimestre en que se tomaronlos primeros datos, el resultado fue:13.- En este curso se animaba a los alumnos aparticipar en <strong>la</strong>s discusiones <strong>de</strong> c<strong>la</strong>se (3,43)Este resultado muestra una consolidación <strong>de</strong> <strong>la</strong>mejora.Por último, cabe mencionar que el uso <strong>de</strong>l métodopropuesto también ha tenido un impacto en losresultados <strong>de</strong> <strong>la</strong> encuesta que nuestra Universidadutiliza para evaluar a los profesores. En el casoparticu<strong>la</strong>r <strong>de</strong>l autor <strong>de</strong> esta ponencia, <strong>la</strong> encuestainstitucional había dado siempre un valor <strong>de</strong> entre3,9 y 4,1 (en una esca<strong>la</strong> <strong>de</strong> 1 a 5), conin<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> los innumerables esfuerzos pormejorar <strong>la</strong> calidad <strong>de</strong> <strong>la</strong>s exposiciones o <strong>de</strong> losmateriales producidos para los alumnos. En elcuatrimestre 2000-2001 (2), en el que se aplicó elmétodo con frecuencia, <strong>la</strong> valoración obtenida en<strong>la</strong> encuesta fue 4,7.7. ConclusiónCuando se ha propuesto el método <strong>de</strong>scrito aquí aotros compañeros, con frecuencia se ha p<strong>la</strong>nteadoreticencias acerca <strong>de</strong>:1. La viabilidad <strong>de</strong>l método, especialmente engrupos con muchos alumnos2. El grado <strong>de</strong> aceptación <strong>de</strong> los alumnos3. El impacto en el nivel <strong>de</strong> aprendizajeNuestra experiencia ha puesto <strong>de</strong> manifiesto que<strong>la</strong>s reticencias (1) y (2) no están fundadas. Elmétodo ha sido operativo en grupos <strong>de</strong> más <strong>de</strong> 60alumnos, en una asignatura <strong>de</strong> primer año.A<strong>de</strong>más, los alumnos han manifestado un grado


<strong>de</strong> aceptación superior al <strong>de</strong> otros métodosensayados previamente.En cuanto al impacto en el nivel <strong>de</strong> aprendizaje,tal y como se ha mencionado antes, no estamos encondiciones <strong>de</strong> afirmar nada. Sólo pue<strong>de</strong> esperarseese impacto <strong>de</strong>spués <strong>de</strong> un uso frecuente ysistemático <strong>de</strong>l método. Esto tardará más en llegarpuesto que implica una reorganización <strong>de</strong>lprograma y, probablemente, un recorte en elnúmero <strong>de</strong> horas <strong>de</strong> c<strong>la</strong>se expositiva.Por otra parte, no hay que olvidar los beneficiosadicionales <strong>de</strong>l método, que difícilmente sepondrán <strong>de</strong> manifiesto con los sistemas <strong>de</strong>evaluación clásicos. En particu<strong>la</strong>r:• Los alumnos se lo pasan mejor en c<strong>la</strong>se, yeso es bueno in<strong>de</strong>pendientemente <strong>de</strong> cuál seael nivel <strong>de</strong> aprendizaje final• Los alumnos <strong>de</strong>sarrol<strong>la</strong>n habilida<strong>de</strong>s socialesimportantes (discutir <strong>de</strong> forma or<strong>de</strong>nada,expresarse con c<strong>la</strong>ridad, alcanzar unconsenso, etc.).Finalmente, un comentario que nos pareceimportante en cuanto a <strong>la</strong> aplicabilidad <strong>de</strong> <strong>la</strong>sestrategias <strong>de</strong> aprendizaje cooperativo.Comentando el método con algún compañero <strong>de</strong>mayor experiencia docente, éste manifestó susdudas sobre <strong>la</strong> utilidad <strong>de</strong>l trabajo en grupo en elcaso <strong>de</strong> ejercicios como los <strong>de</strong> nuestra asignatura,en los que <strong>la</strong> solución es única y no hay muchoterreno para el <strong>de</strong>bate ni para el p<strong>la</strong>nteamiento <strong>de</strong>caminos y perspectivas alternativas. Laexperiencia nos ha mostrado que incluso paratrabajar objetivos <strong>de</strong> bajo nivel <strong>de</strong> competenciacomo los nuestros, el trabajo en gruposcooperativos pue<strong>de</strong> tener un papel fundamental,puesto que permite que muchos alumnos puedanac<strong>la</strong>rar entre ellos sus dudas sobre <strong>la</strong> forma <strong>de</strong>resolver los ejercicios, ayudando en este propósitoal profesor, que siempre es un recurso limitadocuando el número <strong>de</strong> alumnos en c<strong>la</strong>se es elevado.Referencias[1] M. Valero-García y J.J. Navarro, Niveles <strong>de</strong>competencia <strong>de</strong> los objetivos formativos en <strong>la</strong>singenierías. VII <strong>Jornadas</strong> sobre Enseñanza<strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática JENUI2001p.149[2] J. Cowan On Becoming an InnovativeUniversity Teacher, Open University Press,1998 Publishers 1995.[3] D.W. Johnson, R.T.. Johnson y K.A. SmithCooperative Learning: Increasing CollegeFaculty Instructional Productivity, ASHE-ERIC Higher Education Report N. 4, GeorgeWashington University, 1991.[4] S.D. Brookfield, Becoming a CriticallyReflective Teacher, Jossey Bass Publishers1995.[5] H. Marsh y M.J. Dunkin, Stu<strong>de</strong>nts’ evaluationsof university teaching: A multidimensionalperspective, Effective Teaching in HigherEducation: Research and Practice (New York1997), p. 241.


Cómo NO hacer unas prácticas <strong>de</strong> programaciónAgustín Cernuda <strong>de</strong>l RíoDepartamento <strong>de</strong> Informática - Universidad <strong>de</strong> OviedoEscue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong> Ingeniería Técnica en Informática <strong>de</strong> OviedoFacultad <strong>de</strong> Ciencias - C/ Calvo Sotelo, S/N - 33007 Oviedoguti@lsi.uniovi.esResumenEn <strong>la</strong> enseñanza universitaria <strong>de</strong> asignaturas <strong>de</strong>programación los alumnos reproducen,invariablemente, multitud <strong>de</strong> actitu<strong>de</strong>s altamentenocivas. Abarcan aspectos muy variados, tantotécnicos (codificación apresurada y <strong>de</strong>sor<strong>de</strong>nada,<strong>de</strong>spreciar los mensajes <strong>de</strong> error <strong>de</strong>l compi<strong>la</strong>dor)como <strong>de</strong> comportamiento (no acudir a tutorías ohacerlo sólo en <strong>la</strong>s fechas previas a <strong>la</strong> entrega <strong>de</strong>una práctica) como <strong>de</strong> pura <strong>de</strong>ontología (copia <strong>de</strong>prácticas). A pesar <strong>de</strong> <strong>la</strong>s advertencias en contra,resulta extremadamente difícil erradicar estoshábitos.Adoptando un enfoque alternativo, quizás eluso <strong>de</strong>l humor y <strong>la</strong> ironía permitan que el mensajellegue al alumno. A<strong>de</strong>más, también pue<strong>de</strong> serinteresante p<strong>la</strong>ntearse <strong>la</strong> enseñanza en negativo.1 IntroducciónLa comunidad <strong>de</strong> alumnos resulta con frecuenciaespecialmente refractaria a cierto tipo <strong>de</strong> consejossobre <strong>la</strong> programación y <strong>la</strong> realización <strong>de</strong>prácticas, cosa perfectamente lógica si se piensaen su perfil y su juventud. No hay que olvidar,a<strong>de</strong>más, que muchos profesionales (incluyendolos profesores y al autor <strong>de</strong> este artículo) caen enciertos errores una y otra vez, con lo que casi nocabe culpar al alumno (más inexperto) porcometer esos mismos errores.¿Qué se pue<strong>de</strong> hacer al respecto? Está c<strong>la</strong>roque <strong>de</strong> alguna manera hay que l<strong>la</strong>mar <strong>la</strong> atención<strong>de</strong>l alumno sobre su propio comportamiento ypredisponerlo en contra <strong>de</strong> estas actitu<strong>de</strong>s. Perolos consejos en positivo no suelen funcionar. Poreso hemos <strong>de</strong>cidido adoptar otro enfoque:aconsejar (<strong>de</strong> manera irónica) lo peor.Esperábamos que esto ayudase por tres razones:• El humor, <strong>la</strong> ironía, <strong>la</strong> ridiculización, resultanmucho más amenos para un alumno típico quelos consejos académicos. Cabe esperar unamayor penetración <strong>de</strong>l mensaje.• Esta ridiculización <strong>de</strong> comportamientos(nunca <strong>de</strong> personas) pue<strong>de</strong> ser una “vacuna”eficaz; el alumno estará sensibilizado contra loabsurdo <strong>de</strong> ciertas actitu<strong>de</strong>s, y esto es unpo<strong>de</strong>roso factor <strong>de</strong> motivación. Si el miedo alridículo impi<strong>de</strong> a los alumnos hacer preguntas,quizás les impida cometer errores 1 .• Hay ciertas habilida<strong>de</strong>s que se pue<strong>de</strong>ncaracterizar en gran medida a partir <strong>de</strong> lo queno hay que hacer (por ejemplo, cómo noutilizar un procesador <strong>de</strong> textos [1]). Enprogramación, una vez que se conocen <strong>la</strong>shabilida<strong>de</strong>s básicas, un buen programador sedistingue en gran parte por <strong>la</strong>s cosas que nohace.Partiendo <strong>de</strong> estas premisas, <strong>de</strong>cidimos redactarun documento que recogiese los errores másfrecuentes, con el fin <strong>de</strong> que un alumno pudiesei<strong>de</strong>ntificarlos con facilidad incluso cuando loscometiese <strong>de</strong> manera inconsciente, y publicarlo enforma <strong>de</strong> página web.1 Queda c<strong>la</strong>ro que esto pue<strong>de</strong> aplicarse sólo con sumocuidado y a errores evitables <strong>de</strong> actitud, no técnicos o <strong>de</strong>comprensión; sería totalmente contraproducente (einaceptable <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista ético) ridiculizar a<strong>la</strong>lumno por cometer un error con un puntero, porejemplo.


En este artículo se incluye una versiónligeramente reducida <strong>de</strong> dicho documento. Hayque advertir que el lenguaje utilizado en el mismo,lógicamente, no respon<strong>de</strong> al estilo habitual en undocumento científico como el presente. Noobstante, hemos <strong>de</strong>cidido incluir los textos aquísin modificaciones, puesto que alterarlos paradarles un aspecto más académico <strong>de</strong>svirtuaríanotablemente <strong>la</strong> utilidad <strong>de</strong> este artículo.A continuación se incluye, pues, una selección<strong>de</strong>l texto final; <strong>la</strong> versión completa está disponibleen [2]. En un apartado final se ofrecerán algunasconclusiones e información sobre el efecto quehasta ahora ha tenido el documento entre e<strong>la</strong>lumnado <strong>de</strong> <strong>la</strong> Escue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong>Ingeniería Técnica en Informática <strong>de</strong> Oviedo.2 De <strong>la</strong> programación propiamente dicha2.1 Ignora los mensajes <strong>de</strong> errorLos compi<strong>la</strong>dores, los sistemas operativos, etc.emiten mensajes <strong>de</strong> error sólo para que los usensus creadores, o para justificar sus sueldos.Leer esos mensajes, a<strong>de</strong>más, lleva un tiempoprecioso que se podría <strong>de</strong>dicar a escribir máscódigo, por lo que atentan contra nuestraproductividad.Y por último, para enten<strong>de</strong>r esos mensajeshacen falta conocimientos informáticos -cosa queno <strong>de</strong>bemos cultivar, ya que en realidad todosestamos estudiando para jefes-, y encima... ¡<strong>la</strong>mayoría <strong>de</strong> <strong>la</strong>s veces esos mensajes están eninglés! No caigas en <strong>la</strong> trampa. Ignóralos.2.2 Ignora <strong>la</strong>s advertencias, "warnings" o"hints"Al igual que en el caso <strong>de</strong> los errores, estosmensajes son difíciles <strong>de</strong> enten<strong>de</strong>r (por lo menosmás difíciles que los mensajes cortos <strong>de</strong> losmóviles), y encima suelen estar en inglés.Es más, ignorar los "warnings" le da a uno unapátina <strong>de</strong> programador profesional que no tienemiedo <strong>de</strong> los or<strong>de</strong>nadores. ¿Qué mejor<strong>de</strong>mostración <strong>de</strong> madurez como programador quepresentar un programa que al compi<strong>la</strong>r da<strong>de</strong>cenas, no, cientos <strong>de</strong> warnings, sin que su autorse inmute? Se nota que es un programadorexperimentado, que no se ami<strong>la</strong>na por nada, y quea<strong>de</strong>más está <strong>de</strong>masiado ocupado para per<strong>de</strong>r eltiempo con tonterías.2.3 Escribe el código directamente sin pensarAl final, no nos engañemos. ¿Qué es lo queestamos construyendo? Un programa. ¿Qué es loúnico imprescindible en un programa? El código.¿Qué es lo que <strong>de</strong> verdad funciona? El código. Nohay que per<strong>de</strong>r ni un minuto en usar mediosarcaicos como lápices, bolígrafos o papel. Tú eresun miembro <strong>de</strong> pleno <strong>de</strong>recho <strong>de</strong> <strong>la</strong> generaciónWAP. No haces el ridículo escribiendo costosassí<strong>la</strong>bas, ¿verdad? Pues no hagas el ridículopensando en nada, cuando hay tanto código porescribir.Cuanto antes te quites <strong>de</strong> enmedio este rollo<strong>de</strong> programar, mejor. Y eso, muñeco, sólo lopue<strong>de</strong>s acelerar escribiendo más y más líneas.2.4 Aunque el código no compile o no funcione,sigue escribiendoEs sabido que los mensajes <strong>de</strong> error son unainterrupción inadmisible, una traba estúpida anuestro trabajo. ¿Qué pue<strong>de</strong>s hacer si tienes unerror <strong>de</strong> compi<strong>la</strong>ción? Ya hemos visto que leérseloy compren<strong>de</strong>rlo no es una opción válida.Se pue<strong>de</strong> intentar hacer algún cambioaleatorio en el código fuente, a ver si hay forma <strong>de</strong>engañar a ese estúpido compi<strong>la</strong>dor. Pero si eso nofunciona, no pierdas más tiempo. NO, no caigasen <strong>la</strong> tentación <strong>de</strong> leer el mensaje <strong>de</strong> error ointentar compren<strong>de</strong>rlo (tú tienes un prestigio alque te <strong>de</strong>bes). Sigue escribiendo código, que es <strong>de</strong>lo que se trata para acabar con esta asquerosaasignatura. Más a<strong>de</strong><strong>la</strong>nte, ya arreg<strong>la</strong>rás el error. Essabido, a<strong>de</strong>más, que los errores tien<strong>de</strong>n a<strong>de</strong>saparecer solos con el tiempo si no se los miramucho. Cuando eso pase, ya tendrás el programacasi acabado. Compi<strong>la</strong>rás, ejecutarás, y siprobases (que tampoco hace falta) verías que todofunciona perfectamente.


Si el código compi<strong>la</strong>, eso ya es el paraíso; nadanos impi<strong>de</strong> seguir escribiendo código para liquidar<strong>de</strong> una vez esta odiosa práctica. El que elprograma no haga lo que se quería que hiciera noes tan importante, ya lo arreg<strong>la</strong>remos más tar<strong>de</strong>,cuando esté acabado. A<strong>de</strong>más, siempre pue<strong>de</strong>pasar que en un golpe <strong>de</strong> suerte los profesorescambien el enunciado <strong>de</strong> <strong>la</strong> práctica y entonces síque encaje con nuestro programa, así que no hayque arriesgarse a hacer trabajo inútil arreg<strong>la</strong>ndo unprograma que va <strong>de</strong>scarriado.2.5 Si el código tiene un error que no seproduce siempre, ignóralo y sigue escribiendoMejor aún que en el punto anterior. Si el error nose produce siempre, va a ser difícil <strong>de</strong> encontrar, ya<strong>de</strong>más pue<strong>de</strong> que en <strong>la</strong> <strong>de</strong>mostración <strong>de</strong> <strong>la</strong>práctica no salga, y a<strong>de</strong>más pue<strong>de</strong> que<strong>de</strong>saparezca solo si no lo miras. Así que no tepreocupes, seguro que no es nada grave.2.6 Si el código tiene un error que se producesiempre, cambia cosas aleatoriamente hastaque <strong>de</strong>saparezcaYa hemos hab<strong>la</strong>do en contra <strong>de</strong> pararse y pensar.Si hay un error que, por algún capricho, quiereseliminar, simplemente prueba a escribir el mismocódigo <strong>de</strong> otras formas diversas. Esto tiene <strong>la</strong>ventaja <strong>de</strong> que a lo mejor se soluciona, y a<strong>de</strong>máshabrás conseguido que se solucione: 1) sinenten<strong>de</strong>r cuál era <strong>la</strong> causa, y 2) sin <strong>de</strong>jar <strong>de</strong>escribir código. C<strong>la</strong>ramente, este es elcomportamiento más profesional.2.7 Construye enormes porciones <strong>de</strong> código sincompi<strong>la</strong>r / ejecutar / probarNo compiles con frecuencia; no <strong>de</strong>s pasospequeñitos. Tú eres un profesional, y tienes quedar pasos <strong>de</strong> gigante. Escribe miles <strong>de</strong> líneas <strong>de</strong>código, y ya <strong>de</strong>spués compi<strong>la</strong>. Así será muchomás entretenido buscar los errores <strong>de</strong> compi<strong>la</strong>cióny arreg<strong>la</strong>r el código, lo que constituye unexcelente ejercicio.Respecto a ejecutar el programa que escribes,si intentas tener siempre un programa quefuncione parcialmente, <strong>de</strong>scubrirás los erroresmuy pronto, y a<strong>de</strong>más al haber hecho pocasmodificaciones <strong>de</strong>s<strong>de</strong> <strong>la</strong> última vez, te será<strong>de</strong>masiado fácil saber dón<strong>de</strong> has introducido elnuevo error. Esto sólo lo hacen los miedicas. Unverda<strong>de</strong>ro programador hace el programa entero, yluego lo digiere entero, como una boa. Nadasustituye a <strong>la</strong> maravillosa sensación <strong>de</strong> buscar unerror que se oculta en <strong>la</strong>s últimas 10.000 líneas <strong>de</strong>código que has escrito; si sólo son 10 ó 20, <strong>la</strong> cosano tiene ciencia.2.8 No escribas comentarios, salvo losobligatoriosYa lo hemos dicho antes. ¿Cuál es el objetivo <strong>de</strong>todo esto? Hacer un programa. ¿Y <strong>de</strong> qué constaun programa? De código. Todo código que no seaejecutable no es realmente necesario. Ponercomentarios explicando algo es un insulto a <strong>la</strong>inteligencia <strong>de</strong> un programador; cualquiera quevea un programa, si conoce el lenguaje <strong>de</strong>programación, sabe perfectamente lo que hace eseprograma, cómo y por qué.Si hay comentarios obligatorios (<strong>de</strong>scripciones<strong>de</strong> funciones y toda esa morral<strong>la</strong>), esos sí hay queponerlos, aunque no se tenga nada interesante que<strong>de</strong>cir. A los profesores les gustan esas tonterías yte pondrán más nota.2.9 Ignora los enunciadosLos enunciados y <strong>la</strong>s especificaciones son unrollo. Hab<strong>la</strong>n <strong>de</strong> problemas que no nos interesan,son <strong>la</strong>rgos, prolijos, y en realidad no son más queun simple ejercicio <strong>de</strong> narcisismo <strong>de</strong> losprofesores para que veamos cuánto creen quesaben. Limítate a echar un vistazo, <strong>de</strong>ci<strong>de</strong> más omenos qué te están pidiendo, y es suficiente;seguir leyendo el enunciado, o volver a leerlo mása<strong>de</strong><strong>la</strong>nte, es un obstáculo en nuestra verda<strong>de</strong>ramisión. Que no es otra, por supuesto, que escribirel código. Por tanto, una vez intuido más o menoslo que se pi<strong>de</strong>, entierra el enunciado en el fondo<strong>de</strong> <strong>la</strong> pi<strong>la</strong> <strong>de</strong> papeles más alta que tengas, o en <strong>la</strong>sprofundida<strong>de</strong>s <strong>de</strong>l directorio temporal <strong>de</strong> tuor<strong>de</strong>nador.


2.10 Ignora <strong>la</strong>s normas <strong>de</strong> programación ypresentaciónLas normas que dicen cómo <strong>de</strong>be escribirse elcódigo, o cómo <strong>de</strong>be presentarse <strong>la</strong> práctica, sonun ejercicio <strong>de</strong> prepotencia por parte <strong>de</strong> losprofesores. A ellos les gusta dominarnos,obligarnos a hacer cosas que no tienen ningúnsentido, y por eso escriben normas. No te prestes aese juego. Todas esas normas son totalmenteinnecesarias, ya que aun sin el<strong>la</strong>s <strong>la</strong>s prácticasentregadas cumplirán los requisitos <strong>de</strong> calida<strong>de</strong>xigibles. Respecto a <strong>la</strong> facilidad <strong>de</strong> manejo por suparte, ¿no cobran para corregir<strong>la</strong>s? No te molestessiquiera en poner tu nombre o tu curso en <strong>la</strong>sprácticas, ya que en realidad no tienen mayordificultad en recordar tu cara, tu estiloinconfundible <strong>de</strong> programación, y sabrán que <strong>la</strong>práctica es tuya <strong>de</strong> todas formas.2.11 Escribe <strong>la</strong> documentación al final¿Cómo vas a escribir un documento <strong>de</strong>scribiendoun programa que no existe? Por otra parte, ¿quésentido tiene escribir documentos para ti mismosobre lo que vas haciendo? ¡Todo lo que puedasleer en ellos, ya lo sabes, puesto que lo habrásescrito tú! Así que el único motivo para escribirdocumentación <strong>de</strong> un programa es que losprofesores <strong>la</strong> pi<strong>de</strong>n. Y eso pue<strong>de</strong> solucionarse eldía anterior a <strong>la</strong> entrega. Si, a<strong>de</strong>más, haces elprograma durante los días previos a <strong>la</strong> fecha <strong>de</strong>entrega, no tendrás el problema <strong>de</strong> que se te olvi<strong>de</strong>algo y necesites mirar documentos; todo estarámuy reciente en tu cabeza.2.12 No aprendas a utilizar el <strong>de</strong>purador niotras herramientasSi se produce un error en tu código, al fin y alcabo todo lo que sabes sobre programación te lohan enseñado los profesores. ¿De quién es, pues,<strong>la</strong> culpa <strong>de</strong> que tú tengas un error? Es <strong>de</strong>lprofesor; por tanto, que sea él quien lo busque y losolucione. Los errores <strong>de</strong> programación son algoexcepcional, cuando seas profesional no tendrásque enfrentarte a ellos, por lo que en tu etapa <strong>de</strong>formación es normal que no emplees tiempo niesfuerzo en apren<strong>de</strong>r a arreg<strong>la</strong>rlos.3 De <strong>la</strong> re<strong>la</strong>ción con el profesor3.1 No pidas ayudaSi no sabes hacer algo, si tienes alguna duda, si tehas perdido, nunca pidas ayuda, nunca hagaspreguntas en c<strong>la</strong>se, ni vayas a ninguna tutoría.Hay miles <strong>de</strong> razones para esto, pero aquí daremossólo algunas:• Si vas a una tutoría a hacer preguntas, estásadmitiendo que eres estúpido.• Si vas a una tutoría a hacer preguntas, lesdarás trabajo y te cogerán manía.• Si no entien<strong>de</strong>s algo, <strong>la</strong> culpa es <strong>de</strong>l profesor.Pero ¿y si vas y te lo explican y sigues sinenten<strong>de</strong>rlo? Entonces, <strong>la</strong> culpa pasará a sertuya, ¿podrás soportar esa vergüenza?• Si preguntas, pue<strong>de</strong> quedar en evi<strong>de</strong>ncia queno sabes algo que <strong>de</strong>berías saber. Es mejorcontinuar en <strong>la</strong> ignorancia que correr eseriesgo.• Si preguntas en c<strong>la</strong>se, no sólo es que te oiga elprofesor. Es que, c<strong>la</strong>ro, también te oirán tuscompañeros. Y es evi<strong>de</strong>nte que tú vas a ser <strong>la</strong>única persona en <strong>la</strong> sa<strong>la</strong> que necesite esaexplicación, porque los <strong>de</strong>más, que nacieronaprendidos, seguro que lo entien<strong>de</strong>n. Con locual seguro que pasan a opinar que eresestúpido.• Si preguntas en c<strong>la</strong>se, a lo mejor el profesor teresuelve <strong>la</strong> duda. Pero c<strong>la</strong>ro, obtendrá unavaliosa información; a partir <strong>de</strong> <strong>la</strong>s preguntas<strong>de</strong> los alumnos, pue<strong>de</strong> que se dé cuenta <strong>de</strong> quesu explicación no ha sido buena, <strong>de</strong> que <strong>la</strong>organización <strong>de</strong>l curso no es a<strong>de</strong>cuada, <strong>de</strong> queestá yendo <strong>de</strong>masiado rápido, o cualquier otracosa. ¿Acaso vas a darle esta informacióngratis? ¿Y si se le ocurre utilizar esainformación para mejorar sus explicaciones?No seas insensato, no le facilites <strong>la</strong>s cosas.¿Acaso te beneficia en algo que vayaconvirtiéndose en mejor profesor?.Conclusión: nunca pidas ayuda ni acudas a unatutoría. Es mucho mejor confiar en tuscompañeros, ya que al fin y al cabo están en tusituación, mientras que el profesor es tucontrincante, tu oponente, tu enemigo.Sólo hay dos excepciones a esta reg<strong>la</strong>: pue<strong>de</strong>spreguntar si te has encontrado con algún problema


y no te da <strong>la</strong> gana buscarlo. Entonces, sí estájustificado que acudas al profesor para que sea élel que haga tu trabajo. Si se niega, critícale en lospasillos.La segunda es que se pue<strong>de</strong> acudir a tutoríasen <strong>la</strong> semana previa a <strong>la</strong> entrega <strong>de</strong>l programa.Estará lleno <strong>de</strong> gente, el profesor se <strong>de</strong>dicará enexclusiva a aten<strong>de</strong>r alumnos obviando otras tareas,y a<strong>de</strong>más si no te atien<strong>de</strong> podrás criticarlo en lospasillos. Cada vez que vayas, tendrás que esperardurante horas, y eso te permitirá re<strong>la</strong>cionarte concompañeros en <strong>la</strong> co<strong>la</strong>. Todo son ventajas.3.2 Nunca <strong>de</strong>scribas un problema en <strong>de</strong>talleSi a pesar <strong>de</strong> todo <strong>de</strong>ci<strong>de</strong>s saltarte el puntoanterior, y pi<strong>de</strong>s ayuda, ten en cuenta una reg<strong>la</strong> <strong>de</strong>oro que te será también muy útil en tu vidaprofesional (no en vano <strong>la</strong> siguen multitud <strong>de</strong>profesionales y usuarios <strong>de</strong> <strong>la</strong> informática).NUNCA <strong>de</strong>scribas un problema en <strong>de</strong>talle.Ejemplo. Si durante el <strong>de</strong>sarrollo <strong>de</strong> unprograma se produce algún suceso que te resulta<strong>de</strong>sagradable, acu<strong>de</strong> al profesor y dile: "Ayer mepasó algo que no me agrada". El pondrá cara <strong>de</strong>esperar más datos; aguanta, no digas nada más.No se te ocurra entrar en <strong>de</strong>talles como estos:• Si el suceso <strong>de</strong>sagradable se produjo durante<strong>la</strong> compi<strong>la</strong>ción <strong>de</strong>l programa o durante <strong>la</strong>ejecución.• Si el suceso <strong>de</strong>sagradable hizo que elprograma terminase súbitamente su ejecucióno bien hizo que <strong>la</strong> ejecución continuasein<strong>de</strong>finidamente, o simplemente el programano hizo lo que esperabas que hicera <strong>de</strong>s<strong>de</strong> unpunto <strong>de</strong> vista funcional.Otro ejemplo. Si el suceso <strong>de</strong>sagradable seprodujo durante <strong>la</strong> compi<strong>la</strong>ción, no le digas alprofesor el mensaje <strong>de</strong> error y <strong>la</strong> línea en <strong>la</strong> que seprodujo dicho error. Dile sólo algo como "Medaba no sé qué error, o algo".Otro ejemplo. Si el suceso <strong>de</strong>sagradable seprodujo durante <strong>la</strong> ejecución, y provocó <strong>la</strong> súbitaterminación <strong>de</strong>l programa, nunca anotes elmensaje producido, ni le digas al profesor el texto<strong>de</strong>l mismo. Di simplemente "Me daba no sé quéerror, o algo".Evi<strong>de</strong>ntemente, si el suceso <strong>de</strong>sagradableconsistía en que el programa no hacía lo queesperabas, no se te ocurra <strong>de</strong>cirle al profesor enqué situación exacta lo producía (si era al leer unfichero vacío, o antes o <strong>de</strong>spués <strong>de</strong> que pasasealguna otra cosa). Evita una <strong>de</strong>scripción como "Elerror se produce siempre que cargo un segundofichero y el primero estaba vacío". Tú di sólo <strong>la</strong>frase mágica: "Me daba no sé qué error, o algo".¿Lo vas pil<strong>la</strong>ndo?3.3 Lleva siempre los fuentes equivocadosSupongamos que, contra todos nuestros consejosanteriores, acu<strong>de</strong>s al profesor, y a<strong>de</strong>más vas apreguntarle por un problema concreto. Si elprofesor se niega a examinar tus fuentes, podráscriticarle en los pasillos y advertir a futurosalumnos contra él, pero pue<strong>de</strong> darse el caso <strong>de</strong> queel tío te reciba y tú acabes entrando ypreguntando. Haces mal, pero <strong>la</strong> situación aúntiene arreglo: procura llevar los fuentesequivocados. Por ejemplo, si tienes un problema,y haces diversas modificaciones que no danresultado, o incluso generan problemas nuevos,acu<strong>de</strong> con los últimos fuentes, pero pregunta porel problema original. Así, el profesor buscaráinútilmente un error cuando se le producirá otro.Entonces di algo como "Ah, bueno es que <strong>de</strong>spuésprobé una cosa. Quita esa línea <strong>de</strong> ahí..."Si manejas este proceso con habilidad, pue<strong>de</strong>srealizar toda una sesión <strong>de</strong> codificación allímismo, en <strong>la</strong>s tutorías. Esto es particu<strong>la</strong>rmenteaconsejable si hay otros compañeros esperandofuera. El profesor cogerá ma<strong>la</strong> fama, trabajará mástiempo, harás que el resto <strong>de</strong> los alumnos tenganmás trabas para avanzar, con lo que el nivel <strong>de</strong> <strong>la</strong>c<strong>la</strong>se se mantendrá en cierto equilibrio y así nopensarán en ampliar el temario en futuros años...Tómatelo como un servicio a <strong>la</strong> comunidad.3.4 No aísles el problemaVolvamos a suponer que eres un irresponsable yacu<strong>de</strong>s a una tutoría. No se te ocurra ais<strong>la</strong>r elproblema antes <strong>de</strong> ir. Si se produce un error en unfichero <strong>de</strong> entrada <strong>de</strong> 1 MB, no intentes irprobando con ficheros más pequeños hasta acotarqué produce el error, ni intentes crear un mini-


programa que reproduzca el mismo error. Esopodría permitir al profesor averiguar el problema<strong>de</strong> manera certera y rápida. Es mucho mejor quese lea miles <strong>de</strong> líneas <strong>de</strong> código y que haga trazascon centenares <strong>de</strong> miles <strong>de</strong> pasos. De este modo,ejercitará notablemente sus artes adivinatorias ypodrás verificar su capacidad <strong>de</strong> <strong>de</strong>ducción. Porsupuesto, si se niega a buscar tu error, critícale enlos pasillos.3.5 Usa el correo electrónico con habilidadHay preguntas que son prácticamente imposibles<strong>de</strong> resolver por correo electrónico, si se hacenbien. Cultiva este arte. Haz que tu pregunta seatotalmente inconcreta. Ejemplo: "Me da no sé quéerror, o algo. Aquí te mando el fuente". Tambiénpue<strong>de</strong>s hacer una pregunta un tanto más concreta,pero no mandar el fuente: "En mi c<strong>la</strong>seTDispositivo en el constructor me da no sé quéerror, o algo". Si el profesor no resuelve elproblema, critícalo en los pasillos porincompetente.Por supuesto, escribe el mensaje <strong>de</strong> corrido ymándalo; no lo leas por segunda vez intentandoponerte en el lugar <strong>de</strong>l profesor. Eso te podríallevar a <strong>de</strong>tectar errores, y no es eso lo que sepreten<strong>de</strong>.3.6 Eskríbelo todo cn abrvtrs o konsonantesekstrañasLos profesores son unos puretas. Tú eresgeneración WAP. O si no, al menos serás un pokoradikal. Intenta escribir mensajes que no resultenfáciles <strong>de</strong> leer. El tío, aunque crea que no, tendráque hacer un esfuerzo extra, y a<strong>de</strong>más en <strong>la</strong>pantal<strong>la</strong> <strong>de</strong> un or<strong>de</strong>nador, ante <strong>la</strong> que quizás llevevarias horas. Eso facilitará su concentración yaumentará su buen humor.3.7 Comete faltas <strong>de</strong> ortografíaLa ortografía es una burda convención; hasta JuanRamón Jiménez ponía jotas don<strong>de</strong> le daba <strong>la</strong> gana,y hasta Gabriel García Márquez abogaba poreliminar <strong>la</strong> ortografía. Evi<strong>de</strong>ntemente, tú no eresmenos que ellos, así que tienes el mismo <strong>de</strong>rechoa escribir como quieras.¿Que no tienes costumbre <strong>de</strong> cometer faltas <strong>de</strong>ortografía? Es bien fácil. Pue<strong>de</strong>s empezar por elejercicio más fácil, más frecuente y másprovechoso: "Haber si me sale". Ya, ya sé; <strong>la</strong>forma correcta es "A ver si me sale" (comodiciendo "veamos si me sale"), pero ¿no encierrauna brutal poesía esa brusca contracción <strong>de</strong> dospa<strong>la</strong>bras en una, esa alteración semántica <strong>de</strong>utilizar el verbo "haber" sin significado alguno,esa hermosa pa<strong>la</strong>bra que arroja simultáneamenteuna B y una H (<strong>la</strong>s letras más peligrosas <strong>de</strong> <strong>la</strong>ortografía españo<strong>la</strong>) a los ojos <strong>de</strong>l lector? Si teapetece darle al profesor una bofetada y no tienesarrestos, escríbele un "Haber si puedo ir mañana atutorías", que es lo más parecido.3.8 No te i<strong>de</strong>ntifiquesEl correo electrónico tiene otra cosa divertida.Pue<strong>de</strong>s empezar a <strong>la</strong>rgar sin que el tío sepa ni <strong>de</strong>qué grupo eres, ni quién eres. Todo se arreg<strong>la</strong>rá sien ese caso lo tuteas, porque así aumenta <strong>la</strong>familiaridad y no hace falta el nombre. Mejor aúnes escribir un mensaje en el que no sepa ni <strong>de</strong> quétitu<strong>la</strong>ción eres. Sí, por ejemplo: "¿Cuál es <strong>la</strong> fecha<strong>de</strong> entrega para <strong>la</strong> primera práctica? Firmado:Fefu". Si el profesor da más <strong>de</strong> una asignatura endiferentes carreras (cosa extraordinariamenteprobable), será un buen ejercicio para él coger <strong>la</strong>slistas <strong>de</strong> alumnos <strong>de</strong> todas el<strong>la</strong>s y buscar algo quepueda casar con "Fefu".4 Y, sobre todo...4.1 Deja el trabajo para el finalDes<strong>de</strong> el primer día, el profesor insistirá enintentar pedir cosas para <strong>la</strong> semana siguiente.Intentará avisar <strong>de</strong> que hay que ir haciendo eltrabajo a un ritmo constante y <strong>de</strong>cidido <strong>de</strong>s<strong>de</strong> elprincipio.No le escuches.La programación <strong>de</strong> or<strong>de</strong>nadores, aunque es unadisciplina joven, tiene ya sagradas tradiciones, yuna <strong>de</strong> el<strong>la</strong>s es <strong>la</strong> prisa en los días previos a unaentrega. Evitar ese estrés sería una nefastapreparación para tu vida profesional. Deja que el


trabajo se acumule, <strong>de</strong>soye <strong>la</strong>s advertencias o lossignos <strong>de</strong> retraso. No interrumpas tu vida ni <strong>de</strong>jes<strong>de</strong> ir a esquiar para recuperar tiempo perdido. Ycuando ya estés al límite <strong>de</strong>l <strong>de</strong>sastre, cuandofalten dos semanas para <strong>la</strong> entrega <strong>de</strong> un programaestimado para cuatro meses... entonces empieza aescribir código como si no hubiera un mañana.¿Qué aliciente tendría esta profesión si losprogramas se construyeran sin prisa y sin pausa?¿Qué sería <strong>de</strong> <strong>la</strong> imagen <strong>de</strong>l melenudo barbudo (omelenuda barbuda) maloliente (por no tenertiempo para afeitarse / cortarse <strong>la</strong>s puntas /ducharse) con una camiseta <strong>de</strong> Mega<strong>de</strong>th (en <strong>la</strong>scamisetas jeviatas se ven menos <strong>la</strong>s manchas,gracias a su color negro y a los complejosdibujos), que lleva 48 horas ininterrumpidasdándole a <strong>la</strong> tec<strong>la</strong>? ¿Estarías acaso preparado parair a <strong>la</strong> Campus Party y matar monstruos en unapantal<strong>la</strong>, con el culo sobre una sil<strong>la</strong> <strong>de</strong> me<strong>la</strong>mina y<strong>la</strong> cabeza bajo un techo <strong>de</strong> lona a 35ºC, durantetres días seguidos? ¿Cómo podríamos sentirnos unpoquito héroes si todos los días nos vamos adormir cuando nos entra el sueño? ¿Qué sería <strong>de</strong><strong>la</strong>s fábricas <strong>de</strong> Cocaco<strong>la</strong>, qué sería <strong>de</strong> JuanValdés, qué sería <strong>de</strong> <strong>la</strong>s refinerías <strong>de</strong> cafeína que<strong>de</strong>stinan <strong>la</strong> mitad <strong>de</strong> su producción a losprogramadores? ¿Acaso Sandra Bullock o RobertRedford cuando hacían <strong>de</strong> hackers se sentaban consus apuntes al <strong>la</strong>do <strong>de</strong>l or<strong>de</strong>nador, pensaban,tecleaban sin prisa y a <strong>la</strong> hora habitual se iban algimnasio o al bar <strong>de</strong> <strong>la</strong> esquina, y así un día trasotro durante cuatro meses? ¿Acaso el tío ese <strong>de</strong>"Operación Swordfish" habría roto <strong>la</strong> c<strong>la</strong>ve <strong>de</strong>lPentágono si no hubiera estado un esbirro <strong>de</strong>lTravolta apuntántole con una pisto<strong>la</strong> mientras otraesbirra <strong>de</strong>l Travolta lo distraía?No, amigo, no. Para vivir tranquilo, te habríasmatricu<strong>la</strong>do en otra carrera. ¿Te imaginas ir ac<strong>la</strong>se y que cuando el tío diga "Quién tiene hechonosequé" tú puedas <strong>de</strong>cirle "yo", y que cuandoexplique lo siguiente que hay que implementar túestés atendiendo y entendiendo lo que dice porquelo anterior ya lo tienes funcionando?Eso es para empollones y flojos <strong>de</strong> espíritu.Ya lo sabes. Deja todo el trabajo para el final.4.2 Copia <strong>la</strong>s prácticasCopia <strong>la</strong>s prácticas; ya sean <strong>la</strong>s actuales por uncompañero <strong>de</strong> c<strong>la</strong>se, o prácticas <strong>de</strong>l año pasado.Cada profesor pue<strong>de</strong> tener que corregir varias<strong>de</strong>cenas <strong>de</strong> prácticas; es difícil reconocersimilitu<strong>de</strong>s entre tantos programas. Si <strong>la</strong>sreconocen, a<strong>de</strong>más, no es fácil <strong>de</strong>mostrarlo,recurre y lleva el caso hasta el TribunalConstitucional. Te llevará muchísimo más tiempoy esfuerzo que hacer <strong>la</strong>s prácticas, pero el caso es<strong>de</strong>mostrar que eres más listo que el profesor y nodar nunca el brazo a torcer.La sensación <strong>de</strong> ahorro <strong>de</strong> trabajo que dacopiar una práctica (o parte <strong>de</strong> el<strong>la</strong>) es inigua<strong>la</strong>bley merece <strong>la</strong> pena. No importa que luego que<strong>de</strong>s enevi<strong>de</strong>ncia en <strong>la</strong> <strong>de</strong>mostración, o en el examenpráctico, o que en el fondo no hayas aprendido lonecesario, ya que el objetivo <strong>de</strong> <strong>la</strong>s prácticas no esel aprendizaje, sino sólo <strong>la</strong> obtención <strong>de</strong> unosasquerosos créditos. Por tanto, copia lo quepuedas. Si un profesor te suspen<strong>de</strong> por copiar,critícale en los pasillos.5 Efectos <strong>de</strong>l documento en <strong>la</strong>comunidadLa dirección <strong>de</strong> <strong>la</strong> página web que contiene los“anti-consejos” fue comunicada, vía correoelectrónico (un viernes), a los alumnos <strong>de</strong> 3 <strong>de</strong> los14 grupos <strong>de</strong> prácticas <strong>de</strong> <strong>la</strong> asignatura Estructuras<strong>de</strong> Datos y <strong>de</strong> <strong>la</strong> Información, <strong>de</strong>spués <strong>de</strong> quepresentasen el primer módulo <strong>de</strong> prácticas <strong>de</strong> estaasignatura. En el número <strong>de</strong>l lunes siguiente <strong>de</strong>lboletín informativo electrónico editado por losalumnos, InfoEUITIO [3], que cuenta con unos300 suscriptores, apareció una reseña <strong>de</strong>ldocumento; y varios profesores <strong>de</strong> otrasasignaturas han sugerido su lectura. Desgraciadamente,esta acogida no estaba prevista y nohay estadísticas <strong>de</strong> acceso a <strong>la</strong> página, pero cabesuponer que el documento ha alcanzado unnotable grado <strong>de</strong> difusión. El autor ha recibidovarios mensajes al respecto, tanto <strong>de</strong> alumnoscomo <strong>de</strong> profesores.En especial, resulta curioso apreciar que <strong>la</strong>respuesta <strong>de</strong> los alumnos es muy positiva; se leenel documento, les gusta, no se sienten ofendidos


en absoluto, admiten sin paliativos que se venretratados en gran medida, y han contribuidomucho a su difusión. Un alumno sugería que,dado que InfoEUITIO no llega a todos losalumnos (sólo a los que se suscriben), <strong>de</strong>beríaenviarse el en<strong>la</strong>ce a <strong>la</strong>s listas <strong>de</strong> correo <strong>de</strong> <strong>la</strong>sdiversas asignaturas (Metodología <strong>de</strong> <strong>la</strong>Programación I y II, Estructuras <strong>de</strong> Datos y <strong>de</strong> <strong>la</strong>Información, etc.) 2Es pronto para saber si realmente estasinstrucciones tendrán algún impacto en <strong>la</strong> calidad<strong>de</strong>l trabajo que <strong>de</strong>sarrol<strong>la</strong>n los alumnos. Pero sípo<strong>de</strong>mos concluir que este estilo <strong>de</strong> presentación<strong>de</strong> <strong>la</strong> información ha permitido alcanzar unsorpren<strong>de</strong>nte grado <strong>de</strong> penetración y una respuestaextremadamente positiva.Referencias[1] Agustín Cernuda <strong>de</strong>l Río. Informática -Microsoft Word (II). Cómo NO utilizar unprocesador <strong>de</strong> textos. Noviembre <strong>de</strong> 2001.[2] Agustín Cernuda <strong>de</strong>l Río. Cómo NO realizaruna práctica <strong>de</strong> programación.http://www.agustincernuda.com/noprog.html[3] Delegación <strong>de</strong> alumnos <strong>de</strong> EUITIO.http://petra.euitio.uniovi.es/~<strong>de</strong>legaci2De hecho, su difusión se ha extendido a entornosprofesionales externos a <strong>la</strong> Escue<strong>la</strong>, y es difícil conoceren este momento hasta dón<strong>de</strong> alcanza.


La autoevaluación como método <strong>de</strong> aprendizajeDaniel Gayo Avello 1 Hortensia Fernán<strong>de</strong>z Cuervo 2 Fernando Torre Cervigón 11Dpto. <strong>de</strong> InformáticaUniversidad <strong>de</strong> OviedoC/Calvo Sotelo s/n 33007 Oviedoe-mail: {dani,torre}@lsi.uniovi.es2Licenciada en Psicopedagogíae-mail: tensi_f@hotmail.comResumenAlgorítmica y Lenguajes <strong>de</strong> Programación es unaasignatura troncal impartida en <strong>la</strong> licenciatura <strong>de</strong>Matemáticas <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Oviedo.Aunque algunos alumnos tienen un interésespecial por <strong>la</strong> informática en general y por <strong>la</strong>programación en particu<strong>la</strong>r, muchos estudiantesencuentran <strong>la</strong> asignatura <strong>de</strong>masiado compleja.Esta circunstancia es especialmente acentuada enel estudio <strong>de</strong> <strong>la</strong> teoría, señalándose estoscontenidos como <strong>la</strong> principal dificultad <strong>de</strong> <strong>la</strong>asignatura.Partiendo <strong>de</strong> esta situación, los autores<strong>de</strong>cidieron explorar nuevas vías para facilitar a losalumnos el aprendizaje <strong>de</strong> los contenidos teóricos.Así, se analizó <strong>la</strong> factibilidad <strong>de</strong>l uso <strong>de</strong>herramientas <strong>de</strong> autoevaluación online comosistema <strong>de</strong> autoaprendizaje. Para ello, seseleccionaron dos tipos <strong>de</strong> herramienta distintos yse llevó a cabo un experimento <strong>de</strong> investigacióneducativa a fin <strong>de</strong> <strong>de</strong>terminar, por un <strong>la</strong>do, <strong>la</strong>sposibilida<strong>de</strong>s <strong>de</strong> <strong>la</strong> autoevaluación como sistema<strong>de</strong> autoaprendizaje y, por otro, <strong>la</strong>s posiblesventajas <strong>de</strong> una herramienta sobre <strong>la</strong> otra.1. IntroducciónLa asignatura <strong>de</strong> Algorítmica y Lenguajes <strong>de</strong>Programación es una asignatura troncal <strong>de</strong> docecréditos que se imparte en primer curso <strong>de</strong> <strong>la</strong>licenciatura <strong>de</strong> Matemáticas <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Oviedo. La mitad <strong>de</strong> los créditos totales se<strong>de</strong>dican a contenidos teóricos, repartiéndose losseis restantes entre prácticas <strong>de</strong> tablero y prácticas<strong>de</strong> <strong>la</strong>boratorio.Aunque algunos <strong>de</strong> los alumnos matricu<strong>la</strong>dosen <strong>la</strong> asignatura ya han tenido contactos con <strong>la</strong>informática, para <strong>la</strong> mayor parte <strong>de</strong> los estudiantes<strong>la</strong> asignatura supone su primer acercamiento a losor<strong>de</strong>nadores, resultándoles re<strong>la</strong>tivamentecompleja.En <strong>la</strong>s primeras c<strong>la</strong>ses se presentan losconceptos fundamentales (algoritmo, procesador,acción, variable, etc.). Sin embargo, pronto <strong>la</strong>materia alcanza un mayor grado <strong>de</strong> dificultad(estructuras <strong>de</strong> control, subprogramas,recursividad, etc.) y son muchos los alumnos queacusan el cambio.Conociendo <strong>la</strong> dificultad <strong>de</strong> <strong>la</strong> asignatura paraalumnos <strong>de</strong> primer curso y conscientes <strong>de</strong> <strong>la</strong>importancia que <strong>la</strong> motivación tiene en el proceso<strong>de</strong> enseñanza-aprendizaje, se <strong>de</strong>sarrol<strong>la</strong> unapágina web 1 <strong>de</strong> <strong>la</strong> asignatura. A través <strong>de</strong> dichaweb los alumnos pue<strong>de</strong>n acce<strong>de</strong>r a transparencias,apuntes, enunciados y soluciones <strong>de</strong> ejercicios yexámenes así como a un foro <strong>de</strong> discusión.Cuando habían transcurrido unos tres meses<strong>de</strong>l curso se pasó una pequeña encuesta a losalumnos a fin <strong>de</strong> <strong>de</strong>terminar cómo percibían <strong>la</strong>asignatura, al profesorado, al grupo c<strong>la</strong>se y a símismos. Las principales conclusiones que seextrajeron <strong>de</strong> este estudio fueron:1. Los alumnos percibían <strong>de</strong> forma positiva tantoal profesorado como a <strong>la</strong> asignatura.2. Consi<strong>de</strong>raban <strong>la</strong> asignatura importante einteresante y al mismo tiempo difícil,especialmente <strong>la</strong> parte teórica.3. Los alumnos afirmaban estudiar poco o nada,sobre todo <strong>la</strong> teoría <strong>de</strong> <strong>la</strong> asignatura.Tales resultados causaron cierta perplejidad1 www.di.uniovi.es/~dani/asignaturas/in<strong>de</strong>x.html#alp


entre los profesores <strong>de</strong> <strong>la</strong> asignatura y lesanimaron a p<strong>la</strong>ntearse formas <strong>de</strong> abordar elprincipal problema que traslucía en <strong>la</strong> encuesta: elescaso estudio <strong>de</strong> los contenidos teóricos.2. P<strong>la</strong>nteamiento <strong>de</strong>l problemaSimultáneamente al <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> encuestaanterior se había p<strong>la</strong>nteado <strong>la</strong> posibilidad <strong>de</strong>ofrecer algún tipo <strong>de</strong> sistema <strong>de</strong> autoevaluaciónmediante pruebas objetivas en <strong>la</strong> web <strong>de</strong> <strong>la</strong>asignatura. De esta manera, los alumnosdispondrían <strong>de</strong> un instrumento que les permitiría<strong>de</strong>terminar <strong>de</strong> forma sencil<strong>la</strong> el grado <strong>de</strong>aprendizaje que estaban alcanzando.Este p<strong>la</strong>nteamiento, aunque sencillo, p<strong>la</strong>nteabaserias dudas. En primer lugar, podía hacer creer,equivocadamente, a los alumnos que <strong>la</strong> asignaturasería evaluada mediante el uso <strong>de</strong> tales pruebasobjetivas. En segundo lugar, a no ser que <strong>la</strong>spreguntas <strong>de</strong> tales pruebas fueran modificadas concierta frecuencia, se podría producir un simpleaprendizaje <strong>de</strong> respuestas en lugar <strong>de</strong> unaprendizaje significativo <strong>de</strong> los contenidos. Porúltimo, al tratarse <strong>de</strong> pruebas cerradas sinposibilidad <strong>de</strong> explicación alguna sobre <strong>la</strong>corrección o incorrección <strong>de</strong> <strong>la</strong>s alternativaspodría, en el mejor <strong>de</strong> los casos, disuadir a<strong>la</strong>lumno <strong>de</strong> su uso y, en el peor, frustrarle en elestudio <strong>de</strong> <strong>la</strong> asignatura.Por esas razones se <strong>de</strong>cidió buscar opcionesalternativas a <strong>la</strong>s pruebas <strong>de</strong> respuesta múltiple.Tras un período <strong>de</strong> búsqueda bastante exhaustivose encontró una herramienta <strong>de</strong> autoevaluacióncon un enfoque diferente: Duck 2 .Duck es una herramienta <strong>de</strong>sarrol<strong>la</strong>da por elBiology Computer Resource Center <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Massachusetts Amherst.Básicamente se trata <strong>de</strong> un conjunto <strong>de</strong> scriptsPHP 3 que permiten implementar un sistema <strong>de</strong>“cursos”. Un curso dispone <strong>de</strong> una o más áreasincluyendo cada área varias preguntas.Hay tres aspectos fundamentales quediferencian a Duck <strong>de</strong> una herramienta <strong>de</strong>respuesta múltiple: el tipo <strong>de</strong> preguntas, <strong>la</strong>evaluación y <strong>la</strong> navegación. Duck admitepreguntas <strong>de</strong> respuesta múltiple, respuesta corta y2 http://bcrc.bio.umass.edu/projects/duck/3 http://www.php.net<strong>de</strong> respuesta extensa (estas últimas pue<strong>de</strong>n serenviadas al tutor para su revisión). Por otra parte,en Duck no se otorga ninguna puntuación a <strong>la</strong>srespuestas puesto que éstas no son ni correctas niincorrectas; en su lugar, cada respuesta tiene unfeedback que <strong>la</strong> matiza y sirve para resolver <strong>la</strong>sposibles dudas <strong>de</strong>l alumno. Por último, en Duckno es necesario seguir una navegación lineal, elusuario pue<strong>de</strong> ir a <strong>la</strong>s preguntas que más leinteresen, explorar todas <strong>la</strong>s respuestas, retroce<strong>de</strong>ra preguntas anteriores, etc.Estas características hacían <strong>de</strong> Duck unaposibilidad interesante <strong>de</strong> cara a <strong>de</strong>sarrol<strong>la</strong>r unaherramienta <strong>de</strong> autoevaluación que aportara unvalor añadido para los estudiantes.Así pues, al p<strong>la</strong>ntearse <strong>la</strong> necesidad <strong>de</strong>explorar nuevas formas <strong>de</strong> apoyar el aprendizaje<strong>de</strong> <strong>la</strong> teoría <strong>de</strong> <strong>la</strong> asignatura se vio <strong>la</strong> posibilidad<strong>de</strong> emplear herramientas <strong>de</strong> autoevaluación paratal fin, así como <strong>la</strong> obligación <strong>de</strong> analizar tantoherramientas tradicionales <strong>de</strong> respuesta múltiplecomo Duck. De esta forma sería posible<strong>de</strong>terminar si el uso <strong>de</strong> tales instrumentos podíafavorecer en alguna medida el aprendizaje y, encaso afirmativo, si existía un p<strong>la</strong>nteamiento mása<strong>de</strong>cuado que otro.3. Antece<strong>de</strong>ntes3.1 Evaluación y aprendizajeEn <strong>la</strong> literatura se encuentran múltiples referenciasa <strong>la</strong> influencia <strong>de</strong> <strong>la</strong> evaluación en el aprendizaje;sin embargo, aunque todas constatan una mejoríaen el aprendizaje <strong>de</strong> los alumnos, ningunaproporciona pruebas que permitan establecer unavincu<strong>la</strong>ción inequívoca entre ambos fenómenos.Por ejemplo, [1] <strong>de</strong>scribe <strong>la</strong> utilización <strong>de</strong> unaherramienta <strong>de</strong> respuesta múltiple como sistema<strong>de</strong> evaluación online así como los positivosefectos que tuvo en los resultados <strong>de</strong> losestudiantes; sin embargo, el objetivo <strong>de</strong> <strong>la</strong>aplicación no era el aprendizaje sino <strong>la</strong> evaluación<strong>de</strong>l alumnado y los autores no hacen ningunaafirmación categórica sobre <strong>la</strong> re<strong>la</strong>ción existenteentre evaluación y aprendizaje.La referencia [2] trata una experiencia simi<strong>la</strong>r:el empleo <strong>de</strong> una herramienta <strong>de</strong> evaluación poror<strong>de</strong>nador como sistema <strong>de</strong> evaluación formativa;nuevamente, no se proporcionan datos que


permitan vincu<strong>la</strong>r evaluación y aprendizaje.Por lo que respecta a iniciativas en el ámbitoespañol, [3] presenta algunas conclusiones sobre<strong>la</strong> utilización <strong>de</strong> una aplicación informática <strong>de</strong>autoevaluación con refuerzo; sin embargo, aunquelos resultados parecen positivos son puramentecualitativos y, por tanto, difíciles <strong>de</strong> valorar.Así pues, el presente artículo preten<strong>de</strong> aportaralgo más <strong>de</strong> luz a este interesante método <strong>de</strong>aprendizaje mediante un estudio riguroso quevincule <strong>de</strong> forma inequívoca <strong>la</strong> influencia <strong>de</strong> <strong>la</strong>(auto)evaluación en el (auto)aprendizaje.3.2. Aprendizaje operante vs. significativoEn este apartado explicaremos brevemente dostipos <strong>de</strong> aprendizaje que aparecen implícitos en <strong>la</strong>sherramientas <strong>de</strong> autoevaluación: el aprendizajeoperante [4] y el significativo [5][6].Po<strong>de</strong>mos <strong>de</strong>cir que aprendizaje operante esaquel en el que <strong>la</strong> conducta, lo que un individuohace o dice, se produce en función <strong>de</strong> susconsecuencias (p.ej. aparcar en lugares permitidospara evitar <strong>la</strong>s multas).Enten<strong>de</strong>mos, en cambio, por aprendizajesignificativo el que se logra al establecersere<strong>la</strong>ciones entre los conocimientos previos <strong>de</strong><strong>la</strong>lumno y los nuevos conocimientos (p.ej. alexplicar el cálculo <strong>de</strong>l área <strong>de</strong> un triángulo a partir<strong>de</strong> <strong>la</strong> superficie <strong>de</strong> un rectángulo).Al aplicar estos conceptos teóricos alexperimento <strong>de</strong>scrito, encontramos que <strong>la</strong>herramienta tradicional <strong>de</strong> respuesta múltiple seencuadraría <strong>de</strong>ntro <strong>de</strong>l aprendizaje operantepuesto que cada vez que el alumno respon<strong>de</strong> a unapregunta <strong>la</strong> herramienta le indica si <strong>la</strong> respuesta escorrecta o no provocando el refuerzo o <strong>la</strong>extinción <strong>de</strong> <strong>la</strong> misma. Duck, en cambio, se adaptaa un aprendizaje significativo puesto que e<strong>la</strong>lumno, al respon<strong>de</strong>r, no se encuentra una“evaluación” sino una serie <strong>de</strong> argumentos sobre<strong>la</strong> pregunta y <strong>la</strong> respuesta seleccionada que lepermiten e<strong>la</strong>borar asociaciones que le llevan acerciorarse sobre <strong>la</strong> solución más a<strong>de</strong>cuada.4. Formu<strong>la</strong>ción <strong>de</strong> hipótesisAsí, se p<strong>la</strong>nteaban dos cuestiones: en primer lugar<strong>de</strong>bía <strong>de</strong>terminarse si el uso <strong>de</strong> herramientas <strong>de</strong>autoevaluación online mejoraba el aprendizaje <strong>de</strong>los alumnos; en segundo, había que comprobar siuna aplicación con retroalimentación (aprendizajesignificativo) era superior a instrumentos <strong>de</strong>respuesta múltiple (aprendizaje operante). Así, elexperimento <strong>de</strong>bía tratar <strong>de</strong> <strong>de</strong>mostrar <strong>la</strong>ssiguientes hipótesis:- La utilización <strong>de</strong> herramientas <strong>de</strong>autoevaluación en el web mejora e<strong>la</strong>prendizaje por parte <strong>de</strong> los alumnos <strong>de</strong>conceptos teóricos <strong>de</strong> programación.- La herramienta <strong>de</strong> autoevaluación Duckresulta más útil para los alumnos queherramientas <strong>de</strong> respuesta múltiple.5. Metodología5.1. I<strong>de</strong>ntificación <strong>de</strong> <strong>la</strong>s variablesPara el <strong>de</strong>sarrollo <strong>de</strong>l experimento seseleccionaron únicamente dos variables: <strong>la</strong>herramienta <strong>de</strong> autoevaluación constituiría <strong>la</strong>variable in<strong>de</strong>pendiente mientras que elrendimiento académico en <strong>la</strong> parte teórica sería <strong>la</strong>variable <strong>de</strong>pendiente; el principal objetivo <strong>de</strong> <strong>la</strong>investigación sería <strong>de</strong>terminar <strong>la</strong> influencia <strong>de</strong> <strong>la</strong>primera sobre <strong>la</strong> segunda.5.2. Pob<strong>la</strong>ción y muestraLa pob<strong>la</strong>ción objeto <strong>de</strong>l estudio fueron losmatricu<strong>la</strong>dos en <strong>la</strong> asignatura <strong>de</strong> ALP en <strong>la</strong>Licenciatura <strong>de</strong> Matemáticas <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Oviedo en el curso 2001/2002.Sobre esta pob<strong>la</strong>ción se llevó a cabo unmuestreo aleatorio estratificado 4 , para ello sedividió <strong>la</strong> pob<strong>la</strong>ción en distintos estratos teniendoen cuenta el sexo 5 <strong>de</strong> los alumnos y el número <strong>de</strong>ocasiones en que el alumno estuvo matricu<strong>la</strong>do en<strong>la</strong> asignatura.4 El muestreo aleatorio estratificado implica dividir <strong>la</strong>pob<strong>la</strong>ción en subgrupos homogéneos y disjuntos paratomar una muestra aleatoria <strong>de</strong> cada subgrupo.5 En varias referencias [7][8][9] se afirma que mujeres yhombres se enfrentan a los or<strong>de</strong>nadores <strong>de</strong> formadiferente, no mejor o peor, sino distinta; aun cuando esmuy posible que dichas diferencias no se <strong>de</strong>ban tanto alsexo <strong>de</strong>l usuario como a estereotipos sociales asociadosa cada género, los autores consi<strong>de</strong>raron una medidapreventiva garantizar el mismo número <strong>de</strong> sujetos <strong>de</strong>cada sexo en cada grupo.


Así, resultó que <strong>la</strong> pob<strong>la</strong>ción estaba formadapor 23 mujeres y 19 hombres. A<strong>de</strong>más,exceptuando tres personas que se matricu<strong>la</strong>banpor segunda vez en <strong>la</strong> asignatura, el restoformalizaban matrícu<strong>la</strong> por vez primera. Estehecho también categorizaba a los alumnos poredad, 18 años para los <strong>de</strong> primera matrícu<strong>la</strong> y 19para los <strong>de</strong> segunda.Una vez <strong>de</strong>terminados los estratos seseleccionaron <strong>de</strong> forma aleatoria un número fijo<strong>de</strong> individuos <strong>de</strong> cada estrato asignándolos a losgrupos 1, 2 y 3. La <strong>de</strong>terminación <strong>de</strong> <strong>la</strong> naturaleza<strong>de</strong> cada grupo (control o experimental) también se<strong>de</strong>cidió <strong>de</strong> forma aleatoria quedando vincu<strong>la</strong>dos<strong>de</strong> esta forma: 1-control, 2-duck y 3-tradicional.Al término <strong>de</strong> este proceso se disponía <strong>de</strong> unamuestra <strong>de</strong> 24 sujetos distribuidos en tres gruposen los que había 4 mujeres y 4 hombres, contandocada grupo con un alumno repetidor.Durante el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> investigación, seprodujo muerte experimental 6 en los tres grupos(en ningún caso afectó a los repetidores),finalizando <strong>la</strong> investigación con 6 sujetos en elgrupo <strong>de</strong> control y 7 en cada grupo experimental.5.3. Diseño <strong>de</strong>l experimentoEl experimento es un diseño multivalentepretest-postest en el que hay un grupo <strong>de</strong> control yun grupo experimental para cada una <strong>de</strong> <strong>la</strong>sherramientas <strong>de</strong> autoevaluación (grupos duck ytradicional). Cada grupo consta <strong>de</strong> 8 individuoscuya asignación ha sido aleatoria. Los tres gruposrealizarían un pretest y un postest. El grupo <strong>de</strong>control no recibiría tratamiento mientras que losgrupos experimentales recibirían dos nivelesdistintos <strong>de</strong> <strong>la</strong> variable in<strong>de</strong>pendiente: el grupoduck utilizaría <strong>la</strong> herramienta Duck y el grupotradicional <strong>la</strong> herramienta <strong>de</strong> respuesta múltiple.5.4. ProcedimientoLas sesiones experimentales tuvieron lugar en una<strong>de</strong> <strong>la</strong>s sa<strong>la</strong>s <strong>de</strong> or<strong>de</strong>nadores <strong>de</strong> <strong>la</strong> Facultad <strong>de</strong>Ciencias <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Oviedo durante tresviernes consecutivos en horario <strong>de</strong> mañana.Durante <strong>la</strong> primera sesión se pasó uncuestionario a los alumnos para <strong>de</strong>terminar su6La mortalidad experimental es <strong>la</strong> pérdida <strong>de</strong>participantes a lo <strong>la</strong>rgo <strong>de</strong> un experimento con grupos.actitud hacia <strong>la</strong> asignatura 7 ; posteriormente, se lesadministró un pretest para precisar su rendimientoacadémico en <strong>la</strong> parte teórica <strong>de</strong> ALP conanterioridad al experimento. Dicho pretestconsistió en un cuestionario <strong>de</strong> 20 ítems re<strong>la</strong>tivosa los temas “Funciones y subrutinas” y“Recursividad”, cada ítem presentaba 4 posiblesrespuestas siendo una so<strong>la</strong> válida. En <strong>la</strong>evaluación <strong>de</strong>l cuestionario se penalizaba el uso<strong>de</strong>l azar como método <strong>de</strong> respuesta otorgando 1/2punto por cada acierto y -1/6 a cada fallo.A los alumnos se les notificó <strong>la</strong> forma en quese iba a puntuar dicha “prueba” aunque no se lesinformó 8 <strong>de</strong> <strong>la</strong> naturaleza <strong>de</strong>l experimento; se leshizo creer que participaban en un programa <strong>de</strong>evaluación <strong>de</strong> <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> enseñanza a fin <strong>de</strong>que <strong>la</strong>s respuestas al pretest no se vierancondicionadas por un ambiente <strong>de</strong> “examen”.En esta primera sesión, justo a continuación<strong>de</strong>l pretest, los grupos duck y tradicionalrecibieron su primera sesión <strong>de</strong> tratamiento;recibiendo <strong>la</strong> segunda el viernes siguiente.El tratamiento recibido por el grupotradicional consistía en <strong>la</strong> utilización durante unahora <strong>de</strong> una herramienta simi<strong>la</strong>r a una pruebaobjetiva <strong>de</strong> respuesta múltiple; dicha herramientadisponía <strong>de</strong> 40 ítems 9 con 4 respuestas cada uno y7 El instrumento utilizado fue una esca<strong>la</strong> <strong>de</strong> Likert; unmétodo don<strong>de</strong> <strong>la</strong>s opiniones sobre un concepto varían<strong>de</strong>s<strong>de</strong> el “total <strong>de</strong>sacuerdo” hasta el “total acuerdo”.8 El comportamiento <strong>de</strong> un individuo, en particu<strong>la</strong>r suproductividad, pue<strong>de</strong> cambiar consi<strong>de</strong>rablemente si esconsciente <strong>de</strong> que se le observa (efecto Hawthorne); estehecho fue <strong>de</strong>tectado por vez primera en unainvestigación realizada en una fábrica <strong>de</strong> Hawthorne(Illinois, EEUU) que pretendía <strong>de</strong>terminar el efecto <strong>de</strong> <strong>la</strong>iluminación sobre <strong>la</strong> productividad. La productividad seincrementaba siempre, in<strong>de</strong>pendientemente <strong>de</strong>l aumentoo disminución <strong>de</strong> <strong>la</strong> intensidad lumínica; por ello, sellegó a <strong>la</strong> conclusión <strong>de</strong> que el hecho <strong>de</strong> saberseobservados era lo que afectaba a <strong>la</strong> productividad <strong>de</strong> lostrabajadores. Por otro <strong>la</strong>do, si los individuos saben quepertenecen a un grupo <strong>de</strong>terminado, en especial al <strong>de</strong>control, pue<strong>de</strong>n producirse efectos <strong>de</strong> <strong>de</strong>smoralización(puesto que no se espera mejoría por su parte) orivalidad (al esforzarse mucho más que <strong>de</strong> costumbrepara “<strong>de</strong>mostrar” al investigador que son “mejores” quelos grupos tratados).9 Los ítems <strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong> autoevaluación, aligual que el pretest y el postest, trataban los temas“Funciones y Subrutinas” y “Recursividad”; un 25% <strong>de</strong>los ítems <strong>de</strong> <strong>la</strong>s herramientas aparecían en el pretest y enel postest.


permitía al usuario saber si había “acertado” o“fal<strong>la</strong>do” en su respuesta así como calcu<strong>la</strong>r unapuntuación total o ver <strong>la</strong>s respuestas correctas.El grupo duck utilizaba, durante el mismoperíodo <strong>de</strong> tiempo, una herramienta simi<strong>la</strong>r a <strong>la</strong><strong>de</strong>l grupo tradicional puesto que disponía <strong>de</strong> losmismos ítems y respuestas. Sin embargo,presentaba importantes diferencias respecto a <strong>la</strong>herramienta tradicional; en primer lugar <strong>la</strong>srespuestas no eran correctas o incorrectas sino quesu selección proporcionaba una explicación acerca<strong>de</strong> su vali<strong>de</strong>z; a<strong>de</strong>más, el alumno no obteníaningún tipo <strong>de</strong> puntuación.Al finalizar <strong>la</strong> primera sesión se pasó a losalumnos <strong>de</strong> los grupos duck y tradicional uncuestionario para <strong>de</strong>terminar el grado <strong>de</strong>satisfacción respecto a su herramienta.Para terminar el experimento, una semana<strong>de</strong>spués <strong>de</strong> <strong>la</strong> conclusión <strong>de</strong>l tratamiento se pasó alos alumnos <strong>de</strong> los tres grupos un cuestionario 10para <strong>de</strong>terminar el trabajo personal que habían<strong>de</strong>dicado a <strong>la</strong> asignatura durante el mes en que sehabía llevado a cabo <strong>la</strong> experiencia. A<strong>de</strong>más, seadministró a los tres grupos un postest quecontenía los mismos ítems que el pretest aunquetanto <strong>la</strong>s preguntas como <strong>la</strong>s respuestas a cadapregunta aparecían en un or<strong>de</strong>n distinto.En <strong>la</strong> Tab<strong>la</strong> 1 se muestra <strong>la</strong> forma en que sellevaron a cabo <strong>la</strong>s distintas sesiones.1º Viernes09.00 Pretest grupos tradicional y duck.09.40 1º Tratamiento grupos tradicional y duck.11.00Cuestionario satisfacción grupos tradicional yduck.11.15Salida grupos tradicional y duck.Pretest grupo control.6. Discusión <strong>de</strong> los resultadosMediante el experimento se obtuvieron datos para<strong>de</strong>terminar <strong>la</strong> actitud <strong>de</strong> los alumnos ante <strong>la</strong>asignatura, los conocimientos teóricos antes <strong>de</strong>ltratamiento (pretest), los conocimientos teóricostras el tratamiento o en ausencia <strong>de</strong> éste (postest),así como el esfuerzo <strong>de</strong>dicado a <strong>la</strong> asignatura.A partir <strong>de</strong> dichos datos se <strong>de</strong>bía <strong>de</strong>terminar siexistían o no diferencias significativas entre <strong>la</strong>spuntuaciones medias obtenidas por los distintosgrupos antes y <strong>de</strong>spués <strong>de</strong>l tratamiento. Si <strong>la</strong>sdiferencias eran estadísticamente significativas ylos tres grupos eran aptitudinal y actitudinalmenteequivalentes entonces dichas diferencias sólopodrían ser atribuidas al tratamiento. Para e<strong>la</strong>nálisis <strong>de</strong> datos se usó el paquete SPSS.En primer lugar, hubo que <strong>de</strong>terminar si losgrupos eran equivalentes en cuanto a su actitudhacia <strong>la</strong> asignatura, sus aptitu<strong>de</strong>s (pretest) y eltrabajo personal realizado durante <strong>la</strong>s semanas quellevó el experimento. Para comprobar esto serealizó un ANOVA 11 <strong>de</strong> un solo factor para cadauna <strong>de</strong> <strong>la</strong>s medidas: actitud, aptitud y trabajopersonal.A continuación se <strong>de</strong>bía <strong>de</strong>terminar si <strong>la</strong>situación <strong>de</strong>l grupo <strong>de</strong> control en el postest erasimi<strong>la</strong>r a <strong>la</strong> mostrada en el pretest, así comocomparar los grupos experimentales con dichogrupo <strong>de</strong> control y con su situación original enbúsqueda <strong>de</strong> mejorías. Todas estas comparacionesse limitan, básicamente, a contrastar <strong>la</strong>spuntuaciones medias obtenidas por los distintosgrupos; para ello se emplea <strong>la</strong> prueba T <strong>de</strong>Stu<strong>de</strong>nt 12 .Por último se tenía que comprobar si el grupo2º Viernes3º Viernes09.00 2º Tratamiento grupos tradicional y duck10.00Cuestionario para <strong>de</strong>terminar trabajopersonal grupos duck y tradicional.10.15 Postest grupos duck y tradicional.10.45Cuestionario para <strong>de</strong>terminar trabajopersonal grupo control.11.00 Postest grupo control.Tab<strong>la</strong> 1. Temporalización <strong>de</strong> <strong>la</strong>s sesiones10 El instrumento utilizado fue una esca<strong>la</strong> <strong>de</strong> Thurstone.11 Análisis <strong>de</strong> <strong>la</strong> varianza.12La prueba T permite comparar muestrasin<strong>de</strong>pendientes entre sí (p.ej. <strong>la</strong>s notas <strong>de</strong> dos gruposdistintos) o re<strong>la</strong>cionadas (p.ej. <strong>la</strong>s notas <strong>de</strong> un mismogrupo antes y <strong>de</strong>spués <strong>de</strong> un tratamiento) y <strong>de</strong>terminar si<strong>la</strong>s diferencias entre <strong>la</strong>s medias son significativas o no.Este contraste <strong>de</strong>be aplicarse <strong>de</strong> forma uni<strong>la</strong>teral si sepreten<strong>de</strong> <strong>de</strong>terminar una mejoría o superioridad y <strong>de</strong>forma bi<strong>la</strong>teral si sólo se quieren <strong>de</strong>terminar diferenciasentre <strong>la</strong>s muestras. Tanto ANOVA como <strong>la</strong> prueba Trequieren que <strong>la</strong>s muestras sigan una distribuciónaproximadamente normal, para garantizar este supuestopue<strong>de</strong> emplearse el test <strong>de</strong> normalidad <strong>de</strong> Shapiro-Wilk;asímismo, es necesario que <strong>la</strong>s varianzas <strong>de</strong> <strong>la</strong>s muestrassean homogéneas, <strong>la</strong> prueba <strong>de</strong> Levene suele utilizarsepara esta verificación.


duck (que, recor<strong>de</strong>mos, siguió un aprendizajesignificativo) había obtenido mejores resultadosque el grupo tradicional (aprendizaje operante).En aras <strong>de</strong> <strong>la</strong> brevedad los resultadosnuméricos se presentan en un apéndicelimitándonos aquí a discutir <strong>la</strong>s conclusiones quese pue<strong>de</strong>n extraer <strong>de</strong> los mismos.Como se pue<strong>de</strong> apreciar en <strong>la</strong> primera parte<strong>de</strong>l análisis estadístico, <strong>la</strong>s puntuacionesalcanzadas por los tres grupos en todas <strong>la</strong>smedidas (pretest, postest, actitud y trabajo)seguían distribuciones normales y presentabanvarianzas homogéneas; <strong>de</strong> esta forma se cumplíanlos requisitos para aplicar tanto ANOVA como <strong>la</strong>prueba T <strong>de</strong> Stu<strong>de</strong>nt.La aplicación <strong>de</strong> ANOVA a los resultadosobtenidos en el pretest, prueba <strong>de</strong> actitud y nivel<strong>de</strong> trabajo mostraron que los tres grupos eranequivalentes en todos los aspectos; es <strong>de</strong>cir, susaptitu<strong>de</strong>s y actitu<strong>de</strong>s hacia <strong>la</strong> asignatura eranequivalentes y durante el período <strong>de</strong> tiempo queduró el experimento los tres grupos estudiaron <strong>la</strong>asignatura en <strong>la</strong> misma medida (más bien poco).Esto quiere <strong>de</strong>cir que <strong>la</strong>s diferencias existentesentre <strong>la</strong>s puntuaciones obtenidas en el postest noserían achacables ni a diferencias aptitudinales oactitudinales ni a un esfuerzo diferente por parte<strong>de</strong> los alumnos, tan sólo a <strong>la</strong> única variable que losdiferenciaba: <strong>la</strong> herramienta <strong>de</strong> autoevaluaciónempleada.La aplicación <strong>de</strong> <strong>la</strong> prueba T <strong>de</strong> Stu<strong>de</strong>nt<strong>de</strong>mostró que, en el postest, los grupos duck ytradicional presentaron una mejoría significativarespecto al grupo <strong>de</strong> control y respecto a susituación inicial en el pretest; por el contrario, elgrupo <strong>de</strong> control, aunque empeoró ligeramente nolo hizo <strong>de</strong> forma significativa (es <strong>de</strong>cir,permaneció sin cambios).Así pues, queda <strong>de</strong>mostrada nuestra primerahipótesis: <strong>la</strong> utilización <strong>de</strong> herramientas <strong>de</strong>autoevaluación en el web mejora el aprendizajepor parte <strong>de</strong> los alumnos <strong>de</strong> conceptos teóricos.Por lo que respecta a <strong>la</strong> superioridad <strong>de</strong> Duckfrente a herramientas tradicionales, no se<strong>de</strong>mostró, puesto que <strong>la</strong> diferencia entre los dosgrupos experimentales no fue significativa. Sinembargo, esto no quiere <strong>de</strong>cir que ambasherramientas sean equivalentes, sería necesariorealizar más experiencias a fin <strong>de</strong> <strong>de</strong>mostrar orefutar <strong>de</strong>finitivamente <strong>la</strong> hipótesis.En <strong>la</strong>s gráficas que se proporcionan tambiénen el apéndice se pue<strong>de</strong>n apreciar <strong>de</strong> una formamuy intuitiva los resultados <strong>de</strong>l experimento.7. Conclusiones y trabajo futuroA <strong>la</strong> vista <strong>de</strong> los resultados se pue<strong>de</strong> afirmar, sinlugar a dudas, que <strong>la</strong> utilización <strong>de</strong> herramientas<strong>de</strong> autoevaluación en el Web facilita a losalumnos el aprendizaje <strong>de</strong> conceptos teóricos <strong>de</strong>asignaturas <strong>de</strong> programación.La cuestión <strong>de</strong> si es preferible emplear unaherramienta <strong>de</strong> respuesta múltiple o, por elcontrario, resulta más a<strong>de</strong>cuada una herramientaque proporcione un feedback al alumno aún quedaabierta.Es cierto que el grado <strong>de</strong> satisfacción fuemayor en el caso <strong>de</strong>l grupo que utilizó el segundotipo <strong>de</strong> herramienta, Duck, que en aquellosalumnos que emplearon una herramientatradicional. Sin embargo, los resultados obtenidosen el postest por ambos grupos fueronestadísticamente equivalentes por lo que no sepue<strong>de</strong> afirmar que haya diferencias significativasen cuanto al aprendizaje adquirido mediante el uso<strong>de</strong> una u otra herramienta.No obstante, es preciso seña<strong>la</strong>r que losestudiantes utilizarán estos instrumentos <strong>de</strong> unaforma totalmente voluntaria; por ello, es posibleque en una aplicación real sí existan diferenciascuantificables en los resultados obtenidos por losalumnos en función <strong>de</strong> <strong>la</strong> herramienta elegida. Porotro <strong>la</strong>do, habrá que tener en cuenta queiniciativas como <strong>la</strong> <strong>de</strong>scrita tien<strong>de</strong>n a seraprovechadas únicamente por los alumnos más<strong>de</strong>stacados [10].Por tales razones, una vez <strong>de</strong>mostrada <strong>la</strong>utilidad <strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong> autoevaluacióncomo sistemas <strong>de</strong> autoaprendizaje, los autorespreten<strong>de</strong>n llevar a cabo una nueva investigaciónque <strong>de</strong>termine en una situación real cuál <strong>de</strong> losdos enfoques es más a<strong>de</strong>cuado.Referencias[1] Phil Davies. Learning Through Assessment:OLAL. On-Line Assessment and Learning.Conference Proceedings -Flexible Learning-3rd Annual Computer Assisted AssessmentConference, Loughborough, UK. 1999.


[2] Leith Sly, Léonie J. Rennie. Computermanaged learning: Its use in formative aswell as summative assessment. ConferenceProceedings -Flexible Learning- 3rd AnnualComputer Assisted Assessment Conference,Loughborough, UK. 1999.[3] J.M. Serra, Rafael Serra Simal.Autoevaluación con refuerzo, comoherramienta informática individual <strong>de</strong> apoyoen el aprendizaje. III Congreso Edutec. 1997.[4] Burrhus F. Skinner. La conducta <strong>de</strong> losorganismos. Edición en español <strong>de</strong> TheBehavior of Organisms: An ExperimentalAnalysis. 1938/1975.[5] David P. Ausubel. Psicología educativa: unpunto <strong>de</strong> vista cognoscitivo. Edición enespañol <strong>de</strong> Educational Psychology. Acognitive View. 1976/1968.[6] Mario Carretero. Constructivismo yeducación. 1993.[7] Janet Carter, Tony Jenkins. Gen<strong>de</strong>r andProgramming: What’s Going On?Proceedings of the 4th AnnualSIGCSE/SIGCUE conference on Innovationand Technology in Computer ScienceEducation. 1999.[8] Charles M. Ray, Carolee Sormunen, ThomasM. Harris. Men's and Women's Attitu<strong>de</strong>sToward Computer Technology: AComparison. Information Technology,Learning and Performance Journal. 1999.[9] Leslie J. Francis. The Re<strong>la</strong>tionship BetweenComputer Re<strong>la</strong>ted Attitu<strong>de</strong>s and Gen<strong>de</strong>rStereotyping of Computer Use. Computers &Education, vol. 22(4) 283-289. 1994.[10] Curtis A. Carver, Richard Howard. AnAssesment of Networked Multimedia andHypermedia. 1995 IEEE/ASEE Frontiers inEducation Conference. 1995.Apéndice: Análisis estadísticoNota: Se emplea un nivel <strong>de</strong> significancia <strong>de</strong>l 95% (0,05)Aproximación a <strong>la</strong> distribución normal <strong>de</strong> <strong>la</strong>s puntuaciones en el pretest (Shapiro-Wilk)Grupo W Sig. Conclusióncontrol 0,938 0,559 0,938 ≅ 1 y 0,559 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalduck 0,898 0,365 0,898 ≅ 1 y 0,365 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normaltradicional 0,947 0,672 0,947 ≅ 1 y 0,672 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalHomogeneidad <strong>de</strong> <strong>la</strong>s varianzas entre <strong>la</strong>s puntuaciones en el pretest (Levene)Estadístico <strong>de</strong> Levene gl1 gl2 Sig. Conclusión0,879 2 19 0,431 0,431 >> 0,05 ! Las varianzas son homogéneasEquivalencia entre <strong>la</strong>s puntuaciones en el pretest (ANOVA <strong>de</strong> un solo factor)Suma <strong>de</strong> Grados Mediacuadrados libertad cuadráticaF Sig. Conclusiónintergrupos 17,537 2 8,769 2,645 0,097 0,097 > 0,05 ! Aptitu<strong>de</strong>s equivalentesintragrupos 62,977 19 3,315total 80,514 21Aproximación a <strong>la</strong> distribución normal <strong>de</strong> <strong>la</strong>s puntuaciones en <strong>la</strong> esca<strong>la</strong> <strong>de</strong> Likert para <strong>la</strong> actitudGrupo W Sig. Conclusióncontrol 0,972 0,899 0,972 ≅ 1 y 0,899 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalduck 0,967 0,857 0,967 ≅ 1 y 0,857 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normaltradicional 0,921 0,471 0,921 ≅ 1 y 0,471 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalHomogeneidad <strong>de</strong> <strong>la</strong>s varianzas entre <strong>la</strong>s puntuaciones en <strong>la</strong> esca<strong>la</strong> <strong>de</strong> Likert para <strong>la</strong> actitudEstadístico <strong>de</strong> Levene gl1 gl2 Sig. Conclusión0,391 2 19 0,682 0,682 >> 0,05 ! Las varianzas son homogéneasEquivalencia entre <strong>la</strong>s puntuaciones en <strong>la</strong> esca<strong>la</strong> <strong>de</strong> Likert para <strong>la</strong> actitudSuma <strong>de</strong> Grados Mediacuadrados libertad cuadráticaF Sig. Conclusiónintergrupos 0,305 2 0,153 0,014 0,986 0,986 > 0,05 ! Actitu<strong>de</strong>s equivalentesintragrupos 200,286 19 10,541total 200,591 21


Aproximación a <strong>la</strong> distribución normal <strong>de</strong> <strong>la</strong>s puntuaciones en <strong>la</strong> esca<strong>la</strong> <strong>de</strong> Thurstone para trabajo personalGrupo W Sig. Conclusióncontrol 0,930 0,522 0,930 ≅ 1 y 0,522 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalduck 0,864 0,214 0,864 ≅ 1 y 0,214 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normaltradicional 0,909 0,416 0,909 ≅ 1 y 0,416 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalHomogeneidad <strong>de</strong> <strong>la</strong>s varianzas entre <strong>la</strong>s puntuaciones en <strong>la</strong> esca<strong>la</strong> <strong>de</strong> Thurstone para trabajo personalEstadístico <strong>de</strong> Levene gl1 gl2 Sig. Conclusión1,345 2 17 0,287 0,287 >> 0,05 ! Las varianzas son homogéneasEquivalencia entre <strong>la</strong>s puntuaciones en <strong>la</strong> esca<strong>la</strong> <strong>de</strong> Thurstone para trabajo personalSuma <strong>de</strong> Grados Mediacuadrados libertad cuadráticaF Sig. Conclusiónintergrupos 8,568 2 4,284 1,013 0,384 0,384 > 0,05 ! Trabajo equivalenteintragrupos 71,879 17 4,228total 80,448 19Aproximación a <strong>la</strong> distribución normal <strong>de</strong> <strong>la</strong>s puntuaciones en el postestGrupo W Sig. Conclusióncontrol 0,912 0,441 0,912 ≅ 1 y 0,441 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalduck 0,908 0,410 0,908 ≅ 1 y 0,410 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normaltradicional 0,985 0,978 0,985 ≅ 1 y 0,978 >> 0,05 ! La distribución pue<strong>de</strong> consi<strong>de</strong>rarse normalHomogeneidad <strong>de</strong> <strong>la</strong>s varianzas entre <strong>la</strong>s puntuaciones en el postestEstadístico <strong>de</strong> Levene gl1 gl2 Sig. Conclusión0,341 2 17 0,716 0,716 >> 0,05 ! Las varianzas son homogéneasMejoría en el postest frente al grupo control y <strong>de</strong> duck frente al tradicional (prueba T para muestras in<strong>de</strong>pendientes)Grupos comparados T Grados libertad Sig. uni<strong>la</strong>teral Conclusiónduck vs. control 3,027 11 0,0060 0,0060 0,05 ! Mejoría no significativaCambios respecto a <strong>la</strong> situación inicial (prueba T para muestras emparejadas)Grupos T Grados libertad Sig. bi<strong>la</strong>teral Conclusiónduck vs. duck 11,664 6 0,000 0,000 0,05 ! Diferencia no significativaProbabilidadDistribución <strong>de</strong> <strong>la</strong>s puntuaciones en el pretest0,350,30,250,20,150,10,0500,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0NotaGrupo control Grupo duck Grupo tradicionalProbabilidadDistribución <strong>de</strong> <strong>la</strong>s puntuaciones en el postest0,250,20,150,10,0500,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0NotaGrupo control Grupo duck Grupo tradicionalEvolución <strong>de</strong>l grupo controlEvolución <strong>de</strong> los grupos tratadosProbabilidad0,20,150,10,0500,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0NotaPretest PosttestProbabilidad0,40,30,20,100,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0NotaGrupo duck pretestGrupo duck posttestGrupo tradicional pretest Grupo tradicional posttest


Nuevas técnicas <strong>de</strong> aprendizaje: CybergymkhanaPedro José Lara Bercial, Juan José Escribano, David AtauriDep. <strong>de</strong> Programación e Ingeniería <strong>de</strong>l Softwaree-mail:{pedro,jje, atauri}@dpris.esi.uem.esUniversidad Europea CEES28670 Vil<strong>la</strong>viciosa <strong>de</strong> OdónResumenEn esta ponencia se presenta una nuevaconcepción en <strong>la</strong> utilización <strong>de</strong> Internet para <strong>la</strong>realización <strong>de</strong> ejercicios y el aprendizaje <strong>de</strong>técnicas <strong>de</strong> búsqueda en <strong>la</strong> red, basada en <strong>la</strong>posibilidad <strong>de</strong> realizar pequeños juegos <strong>de</strong> pistasutilizando <strong>la</strong>s nuevas tecnologías.1. IntroducciónEs un hecho que <strong>la</strong>s Nuevas Tecnologías <strong>de</strong> <strong>la</strong>Información y <strong>la</strong> Comunicación (NTIC) hancambiado tanto <strong>la</strong> forma en que se imparten <strong>la</strong>sc<strong>la</strong>ses, como los hábitos <strong>de</strong> estudio <strong>de</strong>luniversitario <strong>de</strong>l siglo XXI.Según el acta <strong>de</strong>l <strong>de</strong>bate sobre nuevastecnologías celebrado en Sevil<strong>la</strong> en el año 2000,en el marco <strong>de</strong> <strong>la</strong>s <strong>Jornadas</strong> Andaluzas <strong>de</strong>Calidad[5], estas nuevas tecnologías se aplicanpara apoyar <strong>la</strong> docencia <strong>de</strong> <strong>la</strong> siguiente manera:• Proporcionar información sobre aspectosre<strong>la</strong>cionados con <strong>la</strong> gestión <strong>de</strong> <strong>la</strong> asignatura:programa <strong>de</strong>l curso, fechas <strong>de</strong> exámenes,horarios <strong>de</strong> tutoría, etc.• Ampliar y dar una nueva perspectiva a <strong>la</strong>comunicación entre el profesor y losestudiantes, así como <strong>de</strong> los estudiantes entresí. Esta comunicación mediada por elor<strong>de</strong>nador incluye <strong>la</strong>s modalida<strong>de</strong>s sincrónica(mediante el chat) y asincrónica (a través <strong>de</strong>luso <strong>de</strong>l correo electrónico; que se pue<strong>de</strong>realizar <strong>de</strong> forma simple o con <strong>la</strong>implementación <strong>de</strong> listas <strong>de</strong> distribución.Otro apoyo consiste en <strong>la</strong> realización <strong>de</strong>tutorías electrónicas y foros electrónicos <strong>de</strong><strong>la</strong>s asignaturas.• Como fórmu<strong>la</strong> alternativa y complementariaa <strong>la</strong> docencia presencial, <strong>la</strong>s NTIC sonutilizadas para <strong>de</strong>sarrol<strong>la</strong>r estrategias <strong>de</strong>aprendizaje y activida<strong>de</strong>s <strong>de</strong> formación através <strong>de</strong> Internet. Este tipo <strong>de</strong> uso <strong>de</strong> <strong>la</strong>sNTIC incluye <strong>la</strong> realización <strong>de</strong> materialesdidácticos en formato hipermedial.Centrando <strong>la</strong> discusión en este último punto,los esfuerzos por utilizar <strong>la</strong>s NTIC como apoyo a<strong>la</strong> docencia presencial, van <strong>de</strong>s<strong>de</strong> el aprendizajeen tiempo real, a <strong>la</strong> pura utilización <strong>de</strong> Internetcomo biblioteca universal. En <strong>la</strong> dirección primeravan los esfuerzos <strong>de</strong>l proyecto Numina [6], que seestá llevando a cabo conjuntamente por <strong>la</strong> UNCW(University North Carolina at Wilmington),Pearson Education y Hypercube. Dicho proyectose basa en <strong>la</strong> utilización re<strong>de</strong>s inalámbricas en e<strong>la</strong>u<strong>la</strong> que establecen entre el docente y losestudiantes un vehículo inmediato <strong>de</strong> transmisión<strong>de</strong> preguntas y respuestas. Se permite <strong>de</strong> estemodo <strong>la</strong> exposición casi instantánea <strong>de</strong> losresultados <strong>de</strong> <strong>la</strong>s respuestas realizadas, generandoestadísticas y todo tipo <strong>de</strong> análisis y discusiones“al vuelo”.Otro ejemplo es nuestro propio proyectoIncampus [10][11] que comenzó a imp<strong>la</strong>ntarse e<strong>la</strong>ño pasado y ha convertido a <strong>la</strong> UniversidadEuropea <strong>de</strong> Madrid en el primer campusinalámbrico <strong>de</strong> España, en el cual es posibleacce<strong>de</strong>r a <strong>la</strong> Intranet, Internet y a todos losrecursos <strong>de</strong> <strong>la</strong> red —impresoras, discos duros,etc.— <strong>de</strong>s<strong>de</strong> un or<strong>de</strong>nador portátil en cualquierlugar <strong>de</strong>l dicho campus. Apoyándonos en estainfraestructura, pero más orientados hacia <strong>la</strong>búsqueda <strong>de</strong> información en Internet <strong>de</strong> manerarápida y efectiva, van los esfuerzos que han dadoorigen a <strong>la</strong> cybergymkhana.


Es indudable que <strong>la</strong> red se ha convertido enuna <strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong> búsqueda <strong>de</strong>información y apoyo al aprendizaje,fundamentales para estudiantes <strong>de</strong> todo corte queapren<strong>de</strong>n a utilizar<strong>la</strong> en <strong>la</strong> Universidad ycontinúan haciendo uso <strong>de</strong> el<strong>la</strong> durante su carreraprofesional. Si nos centramos a<strong>de</strong>más en losestudiantes <strong>de</strong> Ingeniería o carreras más técnicas,el uso <strong>de</strong> <strong>la</strong> red <strong>de</strong> re<strong>de</strong>s durante sus estudios yposteriormente, una vez finalizados estos, se haceaún mucho más frecuente y esencial para ellos.Por otra parte <strong>la</strong> red ha experimentado uncrecimiento tan acelerado que se han pasado <strong>de</strong>los 2.100 millones <strong>de</strong> páginas en Internet [1] ymás <strong>de</strong> 2 millones <strong>de</strong> sitios web [3] en el año 2000a 2.1 billones <strong>de</strong> páginas [4] y más <strong>de</strong> 122millones <strong>de</strong> dominios [11] registrados a principios<strong>de</strong>l 2002. Este <strong>de</strong>smesurado aumento <strong>de</strong> <strong>la</strong>información distribuida en <strong>la</strong> red, convierte elproceso <strong>de</strong> búsqueda en una aventura que a vecesacaba con <strong>la</strong> cance<strong>la</strong>ción <strong>de</strong> <strong>la</strong> misma por <strong>la</strong>imposibilidad <strong>de</strong> encontrar, entre los cientos <strong>de</strong>resultados obtenidos, aquello que necesitamos.Los problemas inherentes a cualquier sistema <strong>de</strong>información -<strong>de</strong>sorientación, navegabilidadineficiente y sobrecarga <strong>de</strong> conocimientosrecuperados- se multiplican en Internet hasta elpunto <strong>de</strong> que los internautas novatos y los no tannovatos, se confun<strong>de</strong>n y frustran con cómo buscary con lo que encuentran [12].Sin embargo y siendo realistas, tal y comodice Scout Brandt, profesor <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Purdue, solo hay una cosa peor que intentar buscaralgo en Internet, y es enseñar a otro a hacerlo[2].A pesar <strong>de</strong> ello, <strong>la</strong>s discusiones sobre cómoenseñar a buscar información, apuntan a <strong>la</strong> i<strong>de</strong>a <strong>de</strong>que, en concreto en entornos hipertextuales, e<strong>la</strong>prendizaje <strong>de</strong>be ser experimental [13],asemejándose en cierta manera a <strong>la</strong> conocidamemoria fotográfica. Es <strong>de</strong>cir, un internautaexperimentado, basa <strong>la</strong>s construcciones <strong>de</strong> susbúsquedas y el filtrado <strong>de</strong> los resultados, enexperiencias anteriores, utilizando lo quepodríamos l<strong>la</strong>mar patrones <strong>de</strong> búsqueda queempíricamente suelen dar buen resultado.En un intento <strong>de</strong> enseñar a los alumnos <strong>de</strong>primero <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> Introducción a <strong>la</strong>Informática en Red (IIR) <strong>de</strong> <strong>la</strong>s diferentes carreras<strong>de</strong> <strong>la</strong> Escue<strong>la</strong> Superior <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> UEM,<strong>la</strong>s mejores técnicas <strong>de</strong> búsqueda asociadas con <strong>la</strong>localización <strong>de</strong> contenidos en Internet yentrenarles en <strong>la</strong>s mismas, surgió <strong>la</strong> i<strong>de</strong>a <strong>de</strong>realizar un juego basado en <strong>la</strong> entrega sucesivas<strong>de</strong> pistas cuyas soluciones <strong>de</strong>bían ser obtenidas através <strong>de</strong> Internet. Para ello se <strong>de</strong>sarrol<strong>la</strong>ron losmecanismos hardware y software necesarios paraque <strong>de</strong> forma global y totalmente automática todoslos alumnos matricu<strong>la</strong>dos pudieran competir <strong>de</strong>manera remota y en cualquier momento, a cambio<strong>de</strong> pequeñas recompensas en <strong>la</strong> nota final <strong>de</strong> <strong>la</strong>asignatura.2. CybergymkhanaEl juego <strong>de</strong> <strong>la</strong> gymkhana podría <strong>de</strong>finirse como unjuego <strong>de</strong> pruebas que han <strong>de</strong> ir realizándose unapor una, y en el que <strong>la</strong> resolución <strong>de</strong> una pruebaconcreta <strong>de</strong>pen<strong>de</strong> directamente <strong>de</strong> <strong>la</strong> soluciónencontrada para <strong>la</strong> prueba anterior.Las pruebas normalmente consisten enlocalizar un lugar y encontrar o conseguir algo endicho sitio. Para ello el organizador reparte una omás pistas para cada prueba y los concursantes<strong>de</strong>ben interpretar<strong>la</strong>s a<strong>de</strong>cuadamente paraconseguir hal<strong>la</strong>r <strong>la</strong> solución que como ya se hacomentado es necesaria para seguir a<strong>de</strong><strong>la</strong>nte con<strong>la</strong> gymkhana.En el caso <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> IIR, <strong>la</strong>cybergymkhana cumple un doble objetivo. Por un<strong>la</strong>do, como se dijo anteriormente, entrenar a losalumnos en <strong>la</strong> búsqueda efectiva <strong>de</strong> informaciónen Internet. Y por otro aprovechar el juego en si,para generar cybergymkhanas re<strong>la</strong>cionadas con untema concreto <strong>de</strong> los que componen el temario <strong>de</strong><strong>la</strong> asignatura. Así, <strong>la</strong> propia búsqueda sirvetambién <strong>de</strong> apoyo al estudio.Dado el carácter lúdico y no obligatorio <strong>de</strong> <strong>la</strong>participación en <strong>la</strong>s diferentes cybergymkhanas,no es posible asegurar un número alto <strong>de</strong> alumnosparticipantes, por lo que, para animarles a jugar,se <strong>de</strong>cidió este año 2001-2002, recompensar a losdos primeros que consiguieran terminar <strong>la</strong>cybergymkhana con dos “vidas” para <strong>la</strong> parte <strong>de</strong>test <strong>de</strong>l examen final. En este examen <strong>la</strong>puntuación es <strong>la</strong> suma <strong>de</strong> todas <strong>la</strong>s preguntas


acertadas menos <strong>la</strong>s no acertadas, por lo que <strong>la</strong>posibilidad <strong>de</strong> fal<strong>la</strong>r dos preguntas sin <strong>de</strong>scontarpuntos fue bastante bien aceptada por los alumnosnuevas pistas a <strong>la</strong> prueba, especificando<strong>la</strong> solución y un posible mensaje <strong>de</strong>ayuda (Figura 3).FuncionamientoDado el carácter automático <strong>de</strong>l proceso <strong>de</strong>administración y resolución <strong>de</strong> <strong>la</strong> cybergymkhana,se crearon un sitio <strong>de</strong> Internet y una serie <strong>de</strong>páginas <strong>de</strong>s<strong>de</strong> <strong>la</strong>s que es posible realizar <strong>la</strong>ssiguientes operaciones:Figura 3. Página <strong>de</strong> creación <strong>de</strong> pistasFigura 1. Página <strong>de</strong> Inicio <strong>de</strong> <strong>la</strong> cybergymkhana• Monitorización <strong>de</strong>l avance <strong>de</strong> losparticipantes: Permite saber en cualquiermomento el estado <strong>de</strong> un participanteindicando <strong>la</strong> pista que actualmente estáintentando resolver, <strong>la</strong>s ayuda que hapedido, los errores cometidos y <strong>la</strong> fecha<strong>de</strong> <strong>la</strong> última pista resuelta (Figura 4).• Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong> administración:• Configuración <strong>de</strong> <strong>la</strong> Cybergymkhana:Permite especificar el nombre <strong>de</strong> <strong>la</strong>tab<strong>la</strong> <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos <strong>de</strong>cybergymkhanas que almacenará todolo referente a <strong>la</strong> actual y algunaspropieda<strong>de</strong>s más <strong>de</strong> <strong>la</strong> misma (Figura 2).Figura 4. Página <strong>de</strong> alta <strong>de</strong> participanteFigura 2. Página <strong>de</strong> administración• Construcción <strong>de</strong> <strong>la</strong> Cybergymkhana: Elusuario administrador pue<strong>de</strong> añadir• Des<strong>de</strong> le punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong> participación• Alta <strong>de</strong> participantes: Cualquier personaque quiera participar, <strong>de</strong>be registrarse en<strong>la</strong> cybergymkhana conectándose a <strong>la</strong>página principal y dando entre otrosdatos su dirección <strong>de</strong> correo, direcciónque se utilizará para enviarle sucontraseña <strong>de</strong> acceso al juego, que lei<strong>de</strong>ntifica como participante y ledistingue <strong>de</strong>l resto <strong>de</strong> jugadores.


• Lectura y resolución <strong>de</strong> <strong>la</strong> pistasiguiente: Cada participante pue<strong>de</strong> leer eintentar solucionar una pista concretatambién a través <strong>de</strong> Internet (Figura 5).Si acierta, inmediatamente se lemostrará <strong>la</strong> pista siguiente, si fal<strong>la</strong> se lecontabilizará el error para más tar<strong>de</strong>evaluar su participación. Por cada errorse le suman cinco horas al tiempo final<strong>de</strong>dicado a esa pista.objeto que tiene un método que quita el foco <strong>de</strong>lratón sobre dicho objeto. Este método se l<strong>la</strong>maigual que un famoso grupo musical británico <strong>de</strong>los 90.Uno <strong>de</strong> sus componentes era Ingeniero <strong>de</strong>Sistemas Computacionales antes <strong>de</strong> pasar aformar parte <strong>de</strong>l grupo. ¿Cuál es el primerapellido <strong>de</strong> dicho miembro?(La compañía <strong>de</strong> <strong>la</strong> pista uno era Kodiac Graphicsy, obviamente, no se <strong>de</strong>cía en el texto <strong>de</strong> <strong>la</strong> pistados)Para resolver esta pista, había que utilizar almenos dos buscadores distintos, ya que en elmismo buscador en el que aparecía información<strong>de</strong>l grupo musical, no aparecía <strong>la</strong> informaciónacerca <strong>de</strong>l método <strong>de</strong>l objeto al que se refiere <strong>la</strong>pista. Y a<strong>de</strong>más, obligaba <strong>de</strong> alguna manera a irfamiliarizándose con <strong>la</strong> siempre ardua <strong>la</strong>bor <strong>de</strong>localizar información técnica en dichos manuales.Figura 5. Página <strong>de</strong> resolución <strong>de</strong> pistas• Petición <strong>de</strong> Ayuda: Si se es incapaz <strong>de</strong>encontrar <strong>la</strong> solución se pue<strong>de</strong> pedir unaayuda por pista pero el participante serápenalizado con tres horas que sesumarán al tiempo final <strong>de</strong>dicado aresolver <strong>la</strong> pista.Ejemplo <strong>de</strong> PistasA modo <strong>de</strong> ejemplo en una <strong>de</strong> <strong>la</strong>scybergymkhanas <strong>de</strong> este año, cuyo tema centraleran los manuales en línea que se pue<strong>de</strong>nencontrar en Internet, aparecían <strong>la</strong>s siguientespistas:Ejemplo 1:Pista 2: La compañía <strong>de</strong> diseño web <strong>de</strong> <strong>la</strong> pistauno, proporciona a<strong>de</strong>más servicios <strong>de</strong> consultoríay entrenamiento en diversas herramientas <strong>de</strong>diseño así como en un par <strong>de</strong> lenguajes <strong>de</strong>programación muy usados en diseño web. Uno <strong>de</strong>ellos, capaz <strong>de</strong> trabajar con “objetos” utilizaconcretamente para trabajar con botones unEjemplo 2:Pista 3: De <strong>la</strong>s dos tecnologías <strong>de</strong> programaciónnombradas en <strong>la</strong> pista 3, una fue creada porRasmus Lerdorf en 1996. Sin embargo <strong>la</strong> versión3 <strong>de</strong> dicho lenguaje, que introdujo un nuevo“parser” bastante mejorado, fue <strong>de</strong>sarrol<strong>la</strong>dafundamentalmente por otros dos ingenieros en unpaís <strong>de</strong> oriente medio. Uno <strong>de</strong> ellos haparticipado recientemente en un congreso enFrankfurt.¿Cuál es el dominio <strong>de</strong>l servidor <strong>de</strong> correo <strong>de</strong><strong>la</strong> cuenta <strong>de</strong>l administrador <strong>de</strong>l web <strong>de</strong>lcongreso?En esta ocasión <strong>la</strong> pista obliga, a<strong>de</strong>más <strong>de</strong> abucear en <strong>la</strong> historia <strong>de</strong> un lenguaje <strong>de</strong>programación, a re<strong>la</strong>cionar conceptos estudiadosen <strong>la</strong> asignatura como por ejemplo: dominio,servidor <strong>de</strong> correo y cuenta <strong>de</strong> usuario.Aspectos técnicosDes<strong>de</strong> el punto <strong>de</strong> vista técnico, <strong>la</strong> arquitectura <strong>de</strong>lsistema se correspon<strong>de</strong> con <strong>la</strong> <strong>de</strong> <strong>la</strong> figura 6. Enel<strong>la</strong> pue<strong>de</strong> observarse que existe una máquinaservidora en <strong>la</strong> que está ejecutando un servidor


http, encargado <strong>de</strong> recibir <strong>la</strong>s peticiones hechaspor los usuarios e interpretar<strong>la</strong>s para <strong>de</strong>volver <strong>la</strong>scorrespondientes páginas web. Estas páginas sonpáginas activas capaces <strong>de</strong> obtener y modificarinformación <strong>de</strong> una base <strong>de</strong> datos que tambiénestá insta<strong>la</strong>da y funcionando en dicha máquinaservidora.El usuario conectado a Internet <strong>de</strong>s<strong>de</strong> su PC<strong>de</strong> sobremesa o <strong>de</strong>s<strong>de</strong> su portátil, pue<strong>de</strong>conectarse al servidor web, registrarse, ycomenzar a participar en <strong>la</strong> última cybergymkhanaque el administrador haya colgado utilizando elmismo mecanismo remoto.Administradoro alumnoAdministradoro AlumnoEstación <strong>de</strong>TrabajoNavegadorLaptopNavegadorLaptopInternetMáquina ServidoraApache WebServerPáginasPHPFigura 6. Arquitectura <strong>de</strong> <strong>la</strong> cybergymkhanaBase <strong>de</strong>DatosEl servidor web insta<strong>la</strong>do en <strong>la</strong> máquina servidoraes un Apache [7]: un servidor <strong>de</strong> libre distribuciónconstruido en C y con código fuente libre. La base<strong>de</strong> datos es MySQL [8], uno <strong>de</strong> los sistemas <strong>de</strong>base <strong>de</strong> datos con código abierto más popu<strong>la</strong>res.Las páginas encargadas <strong>de</strong> solicitar y mostrarinformación al usuario, tanto al administradorcomo al participante, están <strong>de</strong>sarrol<strong>la</strong>dasutilizando PHP [9], que es un conocido lenguaje<strong>de</strong> programación basado en guiones y orientado al<strong>de</strong>sarrollo <strong>de</strong> aplicaciones Web. PHP pue<strong>de</strong> irembebido en páginas HTML y ser interpretado enel <strong>la</strong>do servidor.3. ConclusionesDes<strong>de</strong> el punto <strong>de</strong> vista docente, <strong>la</strong> experienciallevada a cabo durante el primer cuatrimestre <strong>de</strong>lcurso 2001-2002 tuvo un gran éxito, con un altonúmero <strong>de</strong> participantes en <strong>la</strong> competición y conun gran número <strong>de</strong> preguntas <strong>de</strong> marcado caráctereducativo, surgidas a raíz <strong>de</strong> los diferentesintentos <strong>de</strong> los alumnos por encontrar <strong>la</strong>ssoluciones a <strong>la</strong>s pistas.A modo <strong>de</strong> ejemplo, <strong>de</strong> <strong>la</strong>s pistas comentadasanteriormente, surgieron cuestiones tales comoqué es consultoría, qué es un objeto <strong>de</strong>programación, qué es un método <strong>de</strong> un objeto, quées un parser, y quién es el webmaster entre otras.Preguntas todas el<strong>la</strong>s directa o indirectamentere<strong>la</strong>cionadas con <strong>la</strong> asignatura <strong>de</strong> IIR.El número <strong>de</strong> alumnos que completó <strong>la</strong>cybergymkhana antes <strong>de</strong>l examen final fue <strong>de</strong> 6 <strong>de</strong>un total <strong>de</strong> 75, mientras que el total <strong>de</strong> alumnosque llegaron a resolver al menos una pista fue <strong>de</strong>40. Aunque el sistema <strong>de</strong> penalizaciones hizo queel ganador o ganadores <strong>de</strong> <strong>la</strong> recompensa nofuesen rápidamente i<strong>de</strong>ntificados, esto no evitóque un alto porcentaje <strong>de</strong> alumnos abandonasen alver que dos o más <strong>de</strong> sus compañeros ya habíanresuelto gran cantidad <strong>de</strong> pistas. En próximascybergymkhanas se probaran nuevos mo<strong>de</strong>los <strong>de</strong>recompensa que palien el abandono sin influenciar<strong>de</strong>masiado en <strong>la</strong> evaluación real que ha <strong>de</strong> hacerse<strong>de</strong> lo aprendido por el alumno.A<strong>de</strong>más, en futuras experiencias re<strong>la</strong>cionadascon el juego, podría pensarse en <strong>la</strong> posibilidad <strong>de</strong>que los propios alumnos divididos en gruposdiseñaran <strong>la</strong>s pistas a resolver por suscompañeros. De esta manera, no solo apren<strong>de</strong>ríanjugando sino preparando el juego, ya que comoquedó patente este año, preparar <strong>la</strong>Cybergymkhana lleva un trabajo extra basado enhacer búsquedas en <strong>la</strong> red y en re<strong>la</strong>cionarconceptos <strong>de</strong> <strong>la</strong> propia asignatura queperfectamente pue<strong>de</strong> complementar <strong>la</strong> docencia <strong>de</strong>ésta.Referencias[1] B.H. Murray y A. Moore, Sizing the Internet,Cyveil<strong>la</strong>nceInc.,julio2000,(www.cyveil<strong>la</strong>nce.com)[2] Brandt Scott, Constructivism: Teaching forUn<strong>de</strong>rstanding of the Internet.Communications of the ACM. Octubre 1997.[3] http://www.qwentes.com[4] http://www.news-star.com


[5] http://www.ice.uma.es/ieev/biblos/jac.htm[6] http://aa.uncwil.edu/numina[7] http://www.apache.org[8] http://www.mysql.com[9] http://www.php.net[10] http://www.cisco.com/global/ES/solutions/smb/webmarketing/wm_casestudy_home.shtml[11] http://www.ganar.com/edicion/noticia/0,2458,9270,00.html[12] Internet Software Consortium(http://www.isc.org)[13] Oliver, R. Interactive information systems:Information access and retrieval. ElectronicLibrary 13, 3 (June. 1995), 187–193.[14] Spiro, R., Feltovich, P., Jacobson, M., andCoulson, R. Cognitive flexibility,constructivism, and hypertext: Random


$SOLFDFLyQGHODVGLUHFWLYDV(8523$HQODDVLJQDWXUDGH6LVWHPDVGH7UDQVPLVLyQGH'DWRV3URJUDPDV$0(


0DUFRGHGHVDUUROORGHOSUR\HFWR(8523$3UHFHGHQWHVEn 1988, <strong>la</strong> Universidad Politécnica <strong>de</strong> Valenciapuso en marcha el P<strong>la</strong>n <strong>de</strong> Innovación Educativa(PIE). En aquel momento representaba unapropuesta atrevida y avanzada encaminada aincentivar <strong>la</strong>s mejoras <strong>de</strong>l sistema enseñanzaaprendizajeen <strong>la</strong> docencia. Las principalespropuestas <strong>de</strong>l PIE se resumen a continuación:• Las enseñanzas <strong>de</strong>ben enfocarse a <strong>la</strong>consecución <strong>de</strong>l saber hacer <strong>de</strong>l alumno.• El sistema <strong>de</strong> evaluación <strong>de</strong>be respon<strong>de</strong>r acriterios como el control continuo <strong>de</strong>l trabajo,el dominio <strong>de</strong> <strong>la</strong>s técnicas, <strong>la</strong> capacidad <strong>de</strong>interre<strong>la</strong>ción con los compañeros/as y <strong>la</strong>iniciativa <strong>de</strong>l alumno.• Es fundamental que el alumno <strong>de</strong> nuevoingreso lo haga motivado y con unaformación a<strong>de</strong>cuada.Durante estos doce años transcurridos se hanaprobado numerosos PIE’s, los cuales, en sumayoría, han producido un efecto positivo en <strong>la</strong>mejora docente.Por otra parte, <strong>la</strong> acción <strong>de</strong>l PIE y otrasiniciativas han conducido a un incremento muyapreciable <strong>de</strong> <strong>la</strong> docencia en <strong>la</strong>boratorio (el 45%<strong>de</strong> los créditos impartidos en <strong>la</strong> UPV se <strong>de</strong>dican aello) pero, por <strong>de</strong>sgracia, ello se ha producido acosta <strong>de</strong> los créditos <strong>de</strong> prácticas en au<strong>la</strong> (sólorepresentan un 20% <strong>de</strong>l total <strong>de</strong> créditosimpartidos) manteniéndose muy elevados los <strong>de</strong>c<strong>la</strong>ses teóricas (35% <strong>de</strong> los créditos impartidos).3UR\HFWR(8523$Todo ello nos sitúa en unas coor<strong>de</strong>nadasdiferentes que exigen cambios en los objetivos yen <strong>la</strong> forma <strong>de</strong> abordarlos. Por ello se propone elProyecto EUROPA [7].El Proyecto EUROPA (Una EnseñanzaORientada al APrendizaje) se apoya en el P<strong>la</strong>n <strong>de</strong>Innovación Educativa (PIE) y toma <strong>de</strong> él parte <strong>de</strong>sus objetivos, en algunos casos los amplía y enotros los complementa con nuevas propuestas.Estos objetivos se resumen a continuación.• Enfocar <strong>la</strong>s enseñanzas a <strong>la</strong> consecución <strong>de</strong>lsaber hacer <strong>de</strong>l alumno y lograr, a<strong>de</strong>más, queel alumno <strong>de</strong>sarrolle al máximo su capacidad<strong>de</strong> autoaprendizaje.• Incidir <strong>de</strong>cididamente en <strong>la</strong> mejora <strong>de</strong> lossistemas <strong>de</strong> evaluación, favoreciendo <strong>la</strong>evaluación continua y <strong>la</strong> medida <strong>de</strong>l saberhacer real <strong>de</strong>l alumno.• Poner <strong>la</strong> enseñanza al servicio <strong>de</strong> <strong>la</strong> sociedad,orientando <strong>la</strong> docencia hacia el empleo.• Promover mejoras en <strong>la</strong> docencia queimpliquen <strong>de</strong> un modo global a los Centros yDepartamentos, por un <strong>la</strong>do, y <strong>de</strong> un modopersonalizado e individual a cada profesor ya cada alumno.La forma <strong>de</strong> abordar estos objetivos seconcreta en cinco programas.• Programa De Ayuda Complementaria A LaEnseñanza (ACE).• Programa De Ayuda A La OrganizaciónDocente (ADO).• Programa De Ayuda A La Formación IntegralDel Alumno (AFI).• Programa De Ayuda A La Mejora En ElAprendizaje (AMA).• Programa De Ayuda A La Mejora De LaEnseñanza (AME).En el presente curso se ha solicitado, y ha sidoconcedido, un proyecto AME, en concreto lossubproyectos AME-2 sobre nuevos métodos <strong>de</strong>enseñanza-aprendizaje y AME-3 sobre mejora <strong>de</strong>los sistemas <strong>de</strong> evaluación. Dentro <strong>de</strong> estaconcesión está <strong>la</strong> co<strong>la</strong>boración, como becarios, <strong>de</strong>dos alumnos que realizarán <strong>la</strong>bores <strong>de</strong> apoyo a losprofesores.'HVFULSFLyQGHOSUR\HFWRGHDVLJQDWXUDPara <strong>la</strong> realización <strong>de</strong>l proyecto EUROPA en <strong>la</strong>asignatura <strong>de</strong> Sistemas <strong>de</strong> Transmisión <strong>de</strong> Datos,se escogieron diversos objetivos que permitiesenalcanzar el objetivo. Este objetivo principalconsiste en mejorar <strong>la</strong> asimi<strong>la</strong>ción, por parte <strong>de</strong><strong>la</strong>lumno, <strong>de</strong> los conceptos re<strong>la</strong>cionados con <strong>la</strong>asignatura. La herramienta empleada es <strong>la</strong>introducción <strong>de</strong> nuevos métodos <strong>de</strong> enseñanzabasados en el papel activo <strong>de</strong>l alumno. Y esto se


hace por medio <strong>de</strong> activida<strong>de</strong>s tutorizadas <strong>de</strong>trabajo en grupo y seminarios <strong>de</strong> discusión.0HWRGRORJtDGRFHQWHLa metodología docente clásica, empleadahabitualmente en el sistema <strong>de</strong> enseñanzaaprendizajetradicional, divi<strong>de</strong> <strong>la</strong>s accionesformativas en teoría, dividida a su vez en c<strong>la</strong>sesmagistrales y sesiones <strong>de</strong> problemas, y prácticas,asociadas, respectivamente, al au<strong>la</strong> y al<strong>la</strong>boratorio.Para contrastar estas acciones con <strong>la</strong>s queposteriormente se expondrán se explica acontinuación cómo se han p<strong>la</strong>nteado en <strong>la</strong>p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong> asignatura.• 6HVLRQHV GH WHRUtD: Explicación <strong>de</strong> losfundamentos teóricos por parte <strong>de</strong>l profesor,generalmente en el au<strong>la</strong>. Es lo que constituye<strong>la</strong> clásica sesión magistral. El alumnonormalmente asimi<strong>la</strong> estos conceptos pormedio <strong>de</strong> <strong>la</strong> toma <strong>de</strong> apuntes.• 6HVLRQHV GH SUREOHPDV: El profesor p<strong>la</strong>nteaejemplos prácticos y los resuelve en pizarra.Estas sesiones también se suelen realizar enel au<strong>la</strong> don<strong>de</strong> el alumno resuelve y corrigelos problemas.• 6HVLRQHV GH SUiFWLFDV HQ ODERUDWRULR. Don<strong>de</strong>el profesor p<strong>la</strong>ntea ejercicios <strong>de</strong> <strong>de</strong>sarrolloprocedimental y don<strong>de</strong> el alumno adquiere<strong>la</strong>s habilida<strong>de</strong>s y <strong>de</strong>strezas complementarias<strong>de</strong> <strong>la</strong> aplicación práctica <strong>de</strong> los conceptosteóricos.Para que los alumnos puedan <strong>de</strong>sarrol<strong>la</strong>rhabilida<strong>de</strong>s útiles en el mundo empresarial [3], sehan p<strong>la</strong>nteado dos nuevas acciones formativas.Estas nuevas metodologías son <strong>la</strong>s siguientes:• 6HPLQDULRV: Consisten en p<strong>la</strong>ntear y realizaralguna <strong>de</strong> <strong>la</strong>s distintas técnicas <strong>de</strong> trabajo engrupo, e individual, que se <strong>de</strong>sarrol<strong>la</strong>n porparte <strong>de</strong> los alumnos.• $FWLYLGDGHV: Consisten en <strong>la</strong> realizaciónobligatoria por parte <strong>de</strong> los alumnos <strong>de</strong>trabajos teórico-prácticos re<strong>la</strong>tivos a <strong>la</strong>asignatura. Dichos trabajos serán tutorizadospor el profesor en co<strong>la</strong>boración con uno ovarios alumnos-tutores <strong>de</strong> activida<strong>de</strong>s.0HWRGRORJtDGHHYDOXDFLyQPara <strong>la</strong> evaluación <strong>de</strong> los seminarios <strong>de</strong> discusiónse valorará por parte <strong>de</strong>l profesor <strong>la</strong> participaciónactiva <strong>de</strong>l alumno en los seminarios, el grado <strong>de</strong>comprensión y asimi<strong>la</strong>ción <strong>de</strong> <strong>la</strong> materia que se<strong>de</strong>duce <strong>de</strong> sus intervenciones y el grado <strong>de</strong>preparación <strong>de</strong> los materiales.La evaluación <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s en grupo(trabajos) se realizará mediante evaluaciónpersonal por parte <strong>de</strong>l profesor en base a losencuentros <strong>de</strong> tutorización (evaluación continua) ymediante encuesta a <strong>la</strong> c<strong>la</strong>se, don<strong>de</strong> cada alumnopuntuará sobre un máximo <strong>de</strong> 10 puntos variosaspectos <strong>de</strong>l trabajo, como son el contenido, <strong>la</strong>c<strong>la</strong>ridad <strong>de</strong> <strong>la</strong> exposición o <strong>la</strong> aplicación práctica.Dentro <strong>de</strong> <strong>la</strong> evaluación <strong>de</strong> <strong>la</strong> asignatura,también se <strong>de</strong>be tener en cuenta los conocimientosteóricos y prácticos adquiridos por los mediostradicionales. Esta pon<strong>de</strong>ración se pue<strong>de</strong> observaren <strong>la</strong> tab<strong>la</strong> 1.0pWRGR ÈUHD (YDOXDFLyQ 3HVRTeoría Cuestiones 25%Clásico Problemas Problemas 15%Prácticas Cuestiones 20%Seminarios EvaluaciónInnovadorcontinua 20%Activida<strong>de</strong>s Presentaciónoral 20%Tab<strong>la</strong> 1. Pon<strong>de</strong>ración <strong>de</strong> <strong>la</strong>s evaluaciones <strong>de</strong> <strong>la</strong>s distintasmetodologías.Cabe <strong>de</strong>stacar que a <strong>la</strong> parte innovadora <strong>de</strong> <strong>la</strong>asignatura se le ha dado un 40% <strong>de</strong> peso en <strong>la</strong> notafinal, <strong>de</strong>bido a que hasta el final <strong>de</strong>l curso no seconocerá el impacto que esta parte pueda tener enel alumnado. Dentro <strong>de</strong> <strong>la</strong> parte innovadora se hadistribuido equitativamente (20%) el pesocorrespondiente a seminarios y activida<strong>de</strong>s.'HVFULSFLyQGHODLQQRYDFLyQGRFHQWH6HPLQDULRVLos seminarios tratan <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r capacida<strong>de</strong>s yactitu<strong>de</strong>s que no se cubren sólo con los métodos


tradicionales <strong>de</strong> teoría y prácticas o con <strong>la</strong> nuevametodología <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s.Las actitu<strong>de</strong>s principales que se intentan<strong>de</strong>sarrol<strong>la</strong>r son:• Sentido y espíritu crítico.• Capacidad <strong>de</strong> análisis y síntesis.• Capacidad <strong>de</strong> discusión y argumentación.Para lograr estas capacida<strong>de</strong>s se ha p<strong>la</strong>nteado<strong>la</strong> realización <strong>de</strong> diversas acciones -individuales oen grupo-, en <strong>la</strong>s que el alumno sea partícipeactivo <strong>de</strong> <strong>la</strong>s mismas. Por unificar <strong>la</strong> terminología,a estas acciones se les ha <strong>de</strong>nominado seminarios.Las acciones que se han propuesto, <strong>de</strong>rivan <strong>de</strong>diversas metodologías <strong>de</strong> trabajo en grupoampliamente empleadas. Entre el<strong>la</strong>s cabe <strong>de</strong>stacar<strong>la</strong>s expuestas a continuación, que son <strong>la</strong>s que serealizarán en los seminarios.• 6HPLQDULR. Grupo reducido que estudia untema intensivamente en varias sesiones en <strong>la</strong>sque todos participan aportando susindagaciones. Es a <strong>la</strong> vez una técnica <strong>de</strong>grupo y una técnica <strong>de</strong> conocimiento einvestigación.• 0HVD UHGRQGD. Se parte <strong>de</strong> exposicionessucesivas <strong>de</strong> alumnos que tienen diferentespuntos <strong>de</strong> vista acerca <strong>de</strong> un mismo tema. Acontinuación se mantiene una discusión en <strong>la</strong>que interviene un mo<strong>de</strong>rador.• )RUR. En el que el grupo en su totalidadrealiza un <strong>de</strong>bate abierto en torno a un tema,hecho o problema. La participación <strong>de</strong> cadauno se reduce a 2 ó 3 minutos.• 0pWRGRV GH FDVRV \ SUR\HFWRV. Don<strong>de</strong> seestudia un caso real, se discute, se sacanconclusiones y se propone un proyecto <strong>de</strong>imp<strong>la</strong>ntación o <strong>de</strong> abordaje <strong>de</strong>l tema.Los seminarios se realizan en el au<strong>la</strong> <strong>de</strong> teoría,lo cual es lógico puesto que son una ampliacióninnovadora <strong>de</strong> ésta y no precisan <strong>de</strong> un materialcomplementario <strong>de</strong> <strong>la</strong>boratorio.La p<strong>la</strong>nificación <strong>de</strong> los seminarios a lo <strong>la</strong>rgo<strong>de</strong>l curso se expone en <strong>la</strong> tab<strong>la</strong> 2. En <strong>la</strong> citadatab<strong>la</strong> se observa cómo se ha dispuesto un primerseminario a <strong>la</strong> conclusión <strong>de</strong>l bloque I.Este primer seminario es un HVWXGLR GH FDVRque se realiza para afianzar los conocimientosbásicos <strong>de</strong> <strong>la</strong> asignatura. El estudio <strong>de</strong> casos hasido ampliamente empleado en <strong>la</strong>s enseñanzastécnicas como método activo <strong>de</strong> enseñanzaaprendizaje[4].6HVLyQ &RQWHQLGR1 Presentación2 Sistemas Teleinformáticos.3 Medios <strong>de</strong> transmisión4 Señal I. Conceptos.5 Señal II. Aplicaciones.6 Mo<strong>de</strong>ms7 Transmisión Serie8 SEMINARIO9 ADSL - Mo<strong>de</strong>m Cable.10 Tarjetas <strong>de</strong> Red - Ethernet.11 Transmisiones inalámbricas.12 SEMINARIO13 SEMINARIO14 SEMINARIOTab<strong>la</strong> 2. P<strong>la</strong>nificación <strong>de</strong> los seminarios.Los posteriores seminarios están encaminadosa realizar activida<strong>de</strong>s <strong>de</strong> grupo más re<strong>la</strong>cionadascon los conocimientos adquiridos en el segundobloque, por lo que se p<strong>la</strong>ntean especialmentealgunas activida<strong>de</strong>s <strong>de</strong> <strong>la</strong>s seleccionadas entre <strong>la</strong>amplia bibliografía existente al respecto [6].Cabe <strong>de</strong>stacar el intento <strong>de</strong> participaciónactiva por parte <strong>de</strong>l alumnado que se intenta darcon esta técnica. En posteriores estudios se iránañadiendo los resultados que <strong>de</strong>riven <strong>de</strong> aplicar<strong>la</strong>en <strong>la</strong> asignatura, así como <strong>la</strong> opinión <strong>de</strong> losalumnos sobre esta metodología.


NRZMultinivel.Manchester 4B5B RZ Retrasada 8B6T Bipo<strong>la</strong>r&RGLILFDFLyQASK + ASKMultinivelFSK + FSKMultinivelPSK + PSKMultinivel16-QAMQAM normaV290RGXODFLyQMultiplexaciónFDM y FDMA.0XOWLSOH[DFLyQFFT (Fast FourierTransform).Implementación.0HGLRVGHWUDQVPLVLyQCaracterización <strong>de</strong>lcomportamiento <strong>de</strong>lpar trenzado.Caracterización <strong>de</strong>lcomportamiento <strong>de</strong>lcoaxialCaracterización <strong>de</strong>lcomportamiento <strong>de</strong><strong>la</strong> fibra óptica.Implementación <strong>de</strong> losruidos en los medios <strong>de</strong>transmisión.Visor <strong>de</strong>archivosFigura 1. Conjunto <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s$FWLYLGDGHVLas activida<strong>de</strong>s tratan <strong>de</strong> unificar <strong>la</strong> comprensión<strong>de</strong> los conocimientos teóricos expuestos en el au<strong>la</strong>con el <strong>de</strong>sarrollo <strong>de</strong> los mismos en el <strong>la</strong>boratorio.Esto en sí mismo no es ninguna innovación,pero en el presente curso se p<strong>la</strong>nteó <strong>la</strong> posibilidad<strong>de</strong> lograr algunos <strong>de</strong> los objetivos EUROPA pormedio <strong>de</strong> un método docente innovador.Las activida<strong>de</strong>s consisten en <strong>la</strong> realizaciónobligatoria por parte <strong>de</strong> grupos <strong>de</strong> alumnos <strong>de</strong>trabajos teórico/prácticos re<strong>la</strong>tivos a un área <strong>de</strong>ltemario <strong>de</strong>l Bloque I <strong>de</strong> <strong>la</strong> asignatura. Dichostrabajos son tutorizados por el profesor, enco<strong>la</strong>boración con los alumnos tutores <strong>de</strong>activida<strong>de</strong>s y seminarios.Los contenidos organizados <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>sse pue<strong>de</strong>n ver en <strong>la</strong> figura 1. Estos contenidos seextraen <strong>de</strong>l Bloque I <strong>de</strong> teoría, y están basados enel libro <strong>de</strong> referencia <strong>de</strong> <strong>la</strong> asignatura [1]. Elcomponente práctico consistirá en <strong>la</strong>implementación <strong>de</strong> un código que, a partir <strong>de</strong> <strong>la</strong>entrada <strong>de</strong> un archivo <strong>de</strong> datos, los codifique,module o simule <strong>la</strong> transmisión y vuelque elresultado en otro archivo <strong>de</strong> datos. Este proceso sehará en ambos sentidos.El funcionamiento <strong>de</strong> cada módulo <strong>de</strong>berá sersimi<strong>la</strong>r, teniendo una entrada y salida <strong>de</strong> archivospor medio <strong>de</strong> <strong>la</strong>s cuales se comunican los datoscon los otros módulos que estén a un nivelsuperior o inferior. Este modo <strong>de</strong> funcionamientose ve en <strong>la</strong> figura 2.Abce<strong>de</strong>asasasasaSadadsaAsdasdsdsadsCodificación/<strong>de</strong>codificaciónBytesoriginalesTx/Rx10001001010010100010100101010011111100111011010110010SeñalcodificadaTx/RxModu<strong>la</strong>ción/<strong>de</strong>modu<strong>la</strong>ción10001001010010100010100101010011111100111011010110010Señalmodu<strong>la</strong>daTx/RxFigura 2. Interactuado <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>sMedios <strong>de</strong>transmisión10001001010010100010100101010011111100111011010110010SeñaltransmitidaTx/RxPara <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s, losalumnos se organizan en grupos que trabajan en


horario <strong>de</strong> prácticas. El funcionamiento <strong>de</strong> losgrupos <strong>de</strong> activida<strong>de</strong>s se expone a continuación.1. Se forman los grupos <strong>de</strong> activida<strong>de</strong>s, que<strong>de</strong>berán tener cinco componentes. En casosexcepcionales justificados se podrá admitirgrupos <strong>de</strong> menos <strong>de</strong> cinco componentes.2. En <strong>la</strong> composición <strong>de</strong> los grupos <strong>de</strong>be <strong>de</strong>asumirse <strong>la</strong> responsabilidad <strong>de</strong> un área <strong>de</strong>trabajo. Las áreas que se han creado son <strong>la</strong>ssiguientes.a. Coordinación interna y externab. Documentación.c. Implementación: análisis.d. Implementación: programación.e. Implementación: pruebas.3. A lo <strong>la</strong>rgo <strong>de</strong>l semestre, los grupos acu<strong>de</strong>n al<strong>la</strong>boratorio para <strong>de</strong>sarrol<strong>la</strong>r el trabajoasignado. A su vez se realizan reunionesperiódicas para resolver los problemas <strong>de</strong>compatibilidad <strong>de</strong> archivos, funciones y<strong>la</strong>bores simi<strong>la</strong>res <strong>de</strong> coordinación. Se trata <strong>de</strong>que conozcan <strong>la</strong> realidad <strong>de</strong> <strong>la</strong> comunicaciónen un proyecto en el que están involucradosvarios grupos <strong>de</strong> trabajo.La p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s a lo <strong>la</strong>rgo<strong>de</strong>l curso se realiza <strong>de</strong> <strong>la</strong> manera expuesta en <strong>la</strong>tab<strong>la</strong> 3.La primera <strong>de</strong> <strong>la</strong>s sesiones <strong>de</strong> activida<strong>de</strong>s estádirigida a mostrar el sistema <strong>de</strong> trabajo y a enseñarlos esqueletos <strong>de</strong> <strong>la</strong>s aplicaciones sobre el que losalumnos <strong>de</strong>ben programar el módulocorrespondiente. A lo <strong>la</strong>rgo <strong>de</strong>l curso, los alumnos<strong>de</strong>sarrol<strong>la</strong>n <strong>la</strong>s <strong>la</strong>bores <strong>de</strong> documentación yprogramación para, en <strong>la</strong> última sesión, mostrarlos resultados a los compañeros.6HVLyQ &RQWHQLGR1 Medios <strong>de</strong> Transmisión.2 ACTIVIDADES.3 Mo<strong>de</strong>ms4 Señal Transmisión Serie.5 ACTIVIDADESTab<strong>la</strong> 3. P<strong>la</strong>nificación <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s.Durante el curso, los profesores y los alumnostutores son los encargados <strong>de</strong> revisar <strong>la</strong> evolución<strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s, así como <strong>de</strong> contro<strong>la</strong>r <strong>la</strong>coordinación entre los grupos. Esto último esnecesario ya que este aspecto también se evalúa.Se <strong>de</strong>staca que <strong>la</strong>s <strong>la</strong>bores <strong>de</strong> programaciónson escasas ya que los algoritmos a implementarestán ampliamente <strong>de</strong>sarrol<strong>la</strong>dos, por lo que <strong>la</strong><strong>la</strong>bor <strong>de</strong>l grupo <strong>de</strong>be centrarse principalmente enaportar su parte <strong>de</strong> código al conjunto global, asícomo a documentar todo el proceso y presentarlos resultados públicamente. &RRUGLQDFLyQ \ FRPXQLFDFLyQ HQ ODVDFWLYLGDGHVCuando el alumno finalice su formación <strong>de</strong>beráhaber <strong>de</strong>sarrol<strong>la</strong>do ciertas habilida<strong>de</strong>s <strong>de</strong> trabajoen grupo, comunicación y coordinación, así como<strong>la</strong> capacidad <strong>de</strong> asumir su URO <strong>de</strong>ntro <strong>de</strong>l grupo <strong>de</strong>trabajo <strong>de</strong> <strong>la</strong> empresa. Por ello, se ha p<strong>la</strong>nteadodar un paso más en <strong>la</strong>s activida<strong>de</strong>s por medio <strong>de</strong> <strong>la</strong>coordinación <strong>de</strong>ntro <strong>de</strong>l propio grupo y <strong>la</strong>coordinación intergrupal.La novedad <strong>de</strong> incluir una acción formativa <strong>de</strong>trabajo en grupo no es única ni innovadora, sinembargo, sí que se ha consi<strong>de</strong>rado como noveda<strong>de</strong>l hecho <strong>de</strong> que estos grupos <strong>de</strong>ban <strong>de</strong>comunicarse entre ellos, tanto a nivel verticalcomo a nivel horizontal [5].• &RPXQLFDFLyQ YHUWLFDO En el proyecto <strong>de</strong>activida<strong>de</strong>s expuesto anteriormente, losgrupos escogen un área <strong>de</strong> <strong>la</strong> transmisión <strong>de</strong>datos en <strong>la</strong> que trabajar: codificación,modu<strong>la</strong>ción o medios <strong>de</strong> transmisión, Entreestas “capas” <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>berá existiruna comunicación para consensuar formato<strong>de</strong> los archivos, configuración <strong>de</strong>aplicaciones y paso <strong>de</strong> datos entre unas capasy otras. A<strong>de</strong>más <strong>de</strong>berá haber unacoordinación para <strong>la</strong>s pruebas comunes <strong>de</strong>varias capas.• &RPXQLFDFLyQ KRUL]RQWDO Gran parte <strong>de</strong>lcódigo que <strong>de</strong>ba <strong>de</strong>sarrol<strong>la</strong>r cada grupo, asícomo <strong>de</strong> <strong>la</strong> documentación, será común atodos los grupos que trabajen <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>misma capa. Por ello, entre los grupos <strong>de</strong>beráexistir una comunicación para no repetirtrabajo y repartirse <strong>la</strong> faena común entretodos.Con este sistema se preten<strong>de</strong> estudiar <strong>la</strong>sinteractuaciones entre grupos cuando el trabajo <strong>de</strong>


unos <strong>de</strong>pen<strong>de</strong> <strong>de</strong> otros [2]. De esta forma <strong>la</strong>comunicación entre coordinadores, tal y como seve en <strong>la</strong> figura 3, será muy importante. Esto últimohace que uno <strong>de</strong> los componentes <strong>de</strong> los grupos<strong>de</strong>ba asumir el papel <strong>de</strong> coordinador ycomunicador. Se preten<strong>de</strong> con ello que losalumnos sepan conce<strong>de</strong>rle <strong>la</strong> importancianecesaria a <strong>la</strong> figura <strong>de</strong> coordinador <strong>de</strong> proyectos.&RRUGLQDFLyQYHUWLFDOCapa físicaCapa modu<strong>la</strong>ciónCapa codificación*UXSR C *UXSR C *UXSRP C*UXSR C *UXSR C *UXSRQ C*UXSR C *UXSR C *UXSRR C&RRUGLQDFLyQKRUL]RQWDOFigura 3. Re<strong>la</strong>ciones <strong>de</strong> comunicación entre los diversosgrupos <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s.Otro <strong>de</strong> los objetivos consiste en comprobar siemerge <strong>de</strong> forma natural <strong>la</strong> figura <strong>de</strong>l coordinador<strong>de</strong> capa horizontal y el coordinador vertical entre<strong>la</strong>s diversas capas. Esta figura es necesaria y, encaso <strong>de</strong> no surgir, <strong>de</strong>berá ser adoptada por losalumnos-tutores bajo <strong>la</strong> coordinación <strong>de</strong> losprofesores.&RQFOXVLRQHVEn este artículo se ha propuesto una metodologíadocente en <strong>la</strong> que el alumno <strong>de</strong>sarrol<strong>la</strong> unashabilida<strong>de</strong>s por medio <strong>de</strong> seminarios y activida<strong>de</strong>sinnovadoras. Estas activida<strong>de</strong>s o seminarios estándirigidos por los profesores y alumnos tutores quefacilitan <strong>la</strong> coordinación y comunicación entre losgrupos.0HWRGRORJtD %ORTXH, %ORTXH,,ClásicaTeoría y prácticaInnovadora Activida<strong>de</strong>s SeminariosTab<strong>la</strong> 4. Aportación <strong>de</strong> <strong>la</strong> innovación en <strong>la</strong> estructura <strong>de</strong><strong>la</strong> asignatura.Al final <strong>de</strong>l curso se realizará una encuesta alos alumnos que, junto a <strong>la</strong>s calificaciones, seráanalizada para po<strong>de</strong>r extraer conclusiones sobre <strong>la</strong>conveniencia o inconveniencia <strong>de</strong> estametodología.Cabe <strong>de</strong>stacar <strong>la</strong> ilusión puesta por parte <strong>de</strong>los profesores <strong>de</strong> <strong>la</strong> asignatura y <strong>de</strong> los alumnos enemplear metodologías que favorezcan el<strong>de</strong>sarrollo <strong>de</strong> habilida<strong>de</strong>s y capacida<strong>de</strong>s añadidas a<strong>la</strong>s propias que se obtienen al cursar <strong>la</strong> asignatura.5HIHUHQFLDV[1] Alberto Bonastre Pina, Félix Buendía García,Manuel Pérez Malumbres. (TXLSRV\6LVWHPDVGH7UDQVPLVLyQGH'DWRV. SPUPV. 1994[2] Contreras J.M. &yPR WUDEDMDU HQ JUXSR. Ed.San Pablo. 1997.[3] James L. Gibson. /DV 2UJDQL]DFLRQHV&RPSRUWDPLHQWR (VWUXFWXUD 3URFHVRV.McGraw-Hill. 1996.[4] Leoncio Jimenez C., Pablo Kendall J.Angelica Urrutia S., Jorge Ibañez E. 3URSXHVWD0HWRGROyJLFD SDUD DQDOL]DU FDVRV FRPR0RGHORGH$SUHQGL]DMH. La Revista electrónica<strong>de</strong>l DIICC. Edición Nº7. 2002.[5] Musitu, G. 3VLFRORJtD GH OD FRPXQLFDFLyQ.Nau Llibres. 1987.[6] Newstrom, John W. Edward E. Scannell. HMHUFLFLRV SDUD GLQiPLFD GH JUXSRV XQDHVWUDWHJLD GH DSUHQGL]DMH \ HQVHxDQ]D.McGraw-Hill, cop. 1989[7] Vicerrectorado <strong>de</strong> coordinación académica yalumnado. 8QD HQVHxDQ]D RULHQWDGD DODSUHQGL]DMHSUR\HFWR(8523$. UPV. 2001


Una herramienta <strong>de</strong> apoyo para <strong>la</strong> enseñanza <strong>de</strong> informática enestudios empresarialesPedro L. Pérez Serrano, Luis Arévalo RosadoDepartamento <strong>de</strong> InformáticaUniversidad <strong>de</strong> Extremadura10071 Cácerese-mail: { plperez,ljarevalo}@unex.esResumenEn este artículo se presenta una experienciallevada a cabo en <strong>la</strong> Facultad <strong>de</strong> CienciasEconómicas y Empresariales <strong>de</strong> Badajoz. Esta secentra en <strong>la</strong> metodología utilizada para <strong>la</strong>realización, impartición y seguimiento <strong>de</strong> <strong>la</strong>sprácticas <strong>de</strong> <strong>la</strong>s asignaturas <strong>de</strong> informática queexisten en dicho Centro, si bien esta metodologíase pue<strong>de</strong> poner en práctica en cualquier asignatura<strong>de</strong> informática <strong>de</strong> cualquier titu<strong>la</strong>ción. Con eseobjetivo se han adaptado <strong>la</strong>s características <strong>de</strong> unsoftware <strong>de</strong> administración remota <strong>de</strong> libredistribución, comentando <strong>la</strong>s ventajas einconvenientes que hemos encontrado para el<strong>de</strong>sarrollo <strong>de</strong> una c<strong>la</strong>se interactiva. Por una parte<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> rendimiento <strong>de</strong> <strong>la</strong>computadora, y por otra parte, <strong>la</strong>s ventajas einconvenientes que tiene para los alumnos elseguimiento <strong>de</strong> <strong>la</strong> c<strong>la</strong>se <strong>de</strong> prácticas utilizandoesta metodología.1. PresentaciónLa presencia <strong>de</strong> informática en <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong>empresariales en esta Facultad [1] es, conre<strong>la</strong>ción a otras faculta<strong>de</strong>s <strong>de</strong> estudiosempresariales, bastante relevante. Se pue<strong>de</strong> <strong>de</strong>cirque en todas <strong>la</strong>s titu<strong>la</strong>ciones que impartimosdocencia, <strong>la</strong> informática <strong>de</strong>ntro <strong>de</strong> los distintosp<strong>la</strong>nes <strong>de</strong> estudios empresariales, se encuentrasiempre presente. En los nuevos p<strong>la</strong>nes renovadosen 1998, se imp<strong>la</strong>ntó como asignatura troncal en3º <strong>de</strong> Diplomatura en Empresariales, obligatoriaen 1º <strong>de</strong> Licenciatura en Economía y optativa en2º y 3º <strong>de</strong> Diplomatura en Re<strong>la</strong>ciones Laborales yLicenciatura en Administración y Dirección <strong>de</strong>Empresas. A<strong>de</strong>más <strong>de</strong> estas asignaturas, el alumnotiene <strong>la</strong> posibilidad <strong>de</strong> matricu<strong>la</strong>rse en otraasignatura <strong>de</strong> libre elección, Informática Básica,en <strong>la</strong> cual se explican conceptos generales <strong>de</strong>informática, procesador <strong>de</strong> texto y diseño <strong>de</strong>página web, asignatura que todos los años elporcentaje <strong>de</strong> ocupación <strong>de</strong> <strong>la</strong> misma es <strong>de</strong>l 100%por parte <strong>de</strong> los alumnos, quedando incluso lista<strong>de</strong> espera por posibles anu<strong>la</strong>ciones <strong>de</strong> matrícu<strong>la</strong>.Con todo esto, unido a los continuos cambiosen el campo <strong>de</strong> <strong>la</strong> informática, junto con <strong>la</strong>implicación directa que tiene, cada vez mas, en elmundo empresarial, nos obliga a esforzarnos y aactualizarnos para mejorar <strong>la</strong> calidad docente <strong>de</strong>tal forma que el alumno recién titu<strong>la</strong>do tenga losconocimientos suficientes como para valerse porsi mismo en <strong>la</strong> utilización <strong>de</strong> <strong>la</strong>s herramientas mascomúnmente utilizadas en <strong>la</strong>s empresas. Nopo<strong>de</strong>mos consentir ya, en los tiempos que correnactualmente que un alumno no poseaconocimientos básicos <strong>de</strong> manejo [2] <strong>de</strong> hojas <strong>de</strong>cálculo, bases <strong>de</strong> datos, internet entre otros.2. ObjetivosMas que un objetivo, lo que nos p<strong>la</strong>nteamos fueuna nueva metodología <strong>de</strong> impartir <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>prácticas, frente a posibles problemas tales comoel alto número <strong>de</strong> alumnos con los que nosencontramos por grupo <strong>de</strong>bido bien <strong>de</strong> espacio,disponibilidad <strong>de</strong> profesorado, número <strong>de</strong> créditosasignados a prácticas o por cuestiones <strong>de</strong>incompatibilidad <strong>de</strong> horarios, problemas muycomunes en muchas faculta<strong>de</strong>s. Con todo ello,junto con <strong>la</strong> precariedad que a veces nosencontramos en <strong>la</strong>s sa<strong>la</strong>s <strong>de</strong> prácticas, en <strong>la</strong>scuales no siempre po<strong>de</strong>mos encontrar un cañón <strong>de</strong>


Figura 1. Encuesta realizada el primer día <strong>de</strong> c<strong>la</strong>seví<strong>de</strong>o, imprescindible a nuestro parecer, fue lo quenos motivó a realizar esta i<strong>de</strong>a y poner<strong>la</strong> enpráctica y ver los resultados.Esta c<strong>la</strong>ro que el objetivo marcado pornosotros como profesores a <strong>la</strong> hora <strong>de</strong> dar unac<strong>la</strong>se <strong>de</strong> prácticas es que sean lo más interactiva yeficiente posible, y que el alumno siga <strong>la</strong> c<strong>la</strong>se almismo ritmo que nuestras explicaciones. Esto, conel cañón <strong>de</strong> ví<strong>de</strong>o se pue<strong>de</strong> conseguir, <strong>de</strong> tal formaque el alumno observa <strong>la</strong>s explicaciones que seestán realizando, proyectadas con el, al mismotiempo que <strong>la</strong>s aplica en su or<strong>de</strong>nador.Pero, ¿cómo explicar conceptos, herramientas,ejercicios sin <strong>la</strong> disponibilidad (muchas veces) <strong>de</strong>un cañón <strong>de</strong> ví<strong>de</strong>o?, ¿no damos <strong>la</strong> c<strong>la</strong>se?,¿utilizamos <strong>la</strong> pizarra para <strong>la</strong>s explicaciones ovamos or<strong>de</strong>nador por or<strong>de</strong>nador explicando a losalumnos?. Evi<strong>de</strong>ntemente <strong>la</strong> respuesta está c<strong>la</strong>ra,no. Hay que pensar que los alumnos, en nuestrocaso en particu<strong>la</strong>r tienen muy pocas horas <strong>de</strong>prácticas (según <strong>la</strong> distribución <strong>de</strong> créditos <strong>de</strong>prácticas <strong>de</strong> <strong>la</strong> asignatura) y que en el poco tiempoque tienen <strong>de</strong>ben <strong>de</strong> aprovechar<strong>la</strong>s lo mejorposible. Debemos hacer pues <strong>la</strong>s prácticas lo másefectivas posible, sobre todo observando a<strong>de</strong>másque, aun siendo no obligatoria <strong>la</strong> asistencia aprácticas, el porcentaje <strong>de</strong> asistencia ronda el100% (está visto que en <strong>la</strong> Universidad, elconcepto <strong>de</strong> obligatoriedad a veces es másnegativo que el <strong>de</strong> no obligatoriedad).A<strong>de</strong>más hay que tener en cuenta que existenmuchos alumnos que cuando empieza elcuatrimestre poseen muy pocos conocimientos oninguno acerca <strong>de</strong> informática, tal y como serefleja en <strong>la</strong> encuesta realizada el primer día <strong>de</strong>c<strong>la</strong>se, figura 1. Por este motivo a estos alumnoses imposible enseñarle algo práctico sin quetengan una pequeña guía (bien sea cañón <strong>de</strong> vi<strong>de</strong>o,transparencia, apuntes muy <strong>de</strong>tal<strong>la</strong>do) <strong>de</strong> ayuda.Por otra parte en <strong>de</strong>terminadas prácticas <strong>de</strong>bido algran número <strong>de</strong> alumnos, <strong>la</strong>s últimas fi<strong>la</strong>s noobservan con suficiente c<strong>la</strong>ridad lo proyectado enel cañón <strong>de</strong> vi<strong>de</strong>o.


Todos estos motivos nos obligaron a intentar<strong>de</strong>sarrol<strong>la</strong>r una nueva metodología que motivaránlo máximo a los alumnos y les distrajera lomínimo. Ésta se muestra a continuación.3. Metodología3.1. IntroducciónLa i<strong>de</strong>a consiste en aprovechar los recursos <strong>de</strong> losque dispone nuestra Facultad y <strong>la</strong>s nuevastecnologías para <strong>de</strong>sarrol<strong>la</strong>r una c<strong>la</strong>se interactiva.Esta consiste en el <strong>de</strong>sarrollo <strong>de</strong> un monitorvirtual que muestra <strong>la</strong> información <strong>de</strong>l monitor <strong>de</strong>lprofesor en cada uno <strong>de</strong> los equipos <strong>de</strong> losalumnos. Esta tecnología pue<strong>de</strong> ser aplicada comoelemento adicional al cañón <strong>de</strong> vi<strong>de</strong>o. De estamanera los alumnos disponen <strong>de</strong> una ayuda con <strong>la</strong>cual visualizan <strong>de</strong> una forma más c<strong>la</strong>ra y concisalo mostrado por el cañón o simplemente pue<strong>de</strong> serutilizado como un medio <strong>de</strong> exposición. Elor<strong>de</strong>nador <strong>de</strong>l profesor actúa como servidor y losequipos <strong>de</strong> los alumnos como clientes, don<strong>de</strong> elservidor se encarga <strong>de</strong> capturar <strong>la</strong> pantal<strong>la</strong> yenviar<strong>la</strong> a cada uno <strong>de</strong> los or<strong>de</strong>nadores <strong>de</strong> losalumnos. A <strong>la</strong> hora <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r estametodología dos posibles soluciones pue<strong>de</strong>n sertomadas:• Solución mediante hardware• Solución mediante softwareLa primera solución actualmente es utilizadaen <strong>la</strong> Facultad <strong>de</strong> Ciencias <strong>de</strong>l Deporte en <strong>la</strong>Universidad <strong>de</strong> Extremadura. Esta consiste en <strong>la</strong>existencia <strong>de</strong> un cuadro <strong>de</strong> control que recibe <strong>la</strong>señal <strong>de</strong>l monitor <strong>de</strong>l profesor y se encarga según<strong>la</strong> configuración <strong>de</strong>l cuadro <strong>de</strong> mando <strong>de</strong> enviar<strong>la</strong>a cada uno <strong>de</strong> los alumnos seleccionados.Mediante este cuadro <strong>de</strong> control el profesor escapaz <strong>de</strong> canalizar <strong>la</strong> información a toda <strong>la</strong> sa<strong>la</strong>, aun grupo <strong>de</strong>terminado <strong>de</strong> alumnos o incluso a unosólo. A<strong>de</strong>más es capaz <strong>de</strong> invertir los papeles, es<strong>de</strong>cir, que sea el monitor <strong>de</strong> un alumno el quepueda ser visualizado por el resto <strong>de</strong> loscompañeros. Esta solución es idónea, sinembargo, el principal inconveniente que tiene esel coste. Por una parte se <strong>de</strong>be realizar <strong>la</strong> compra<strong>de</strong>l cuadro <strong>de</strong> mando y los correspondientesinterfaces <strong>de</strong> conexión con el monitor y por otraparte realizar una insta<strong>la</strong>ción <strong>de</strong> cableado queconecte correctamente todos los equipos <strong>de</strong> <strong>la</strong>sa<strong>la</strong>.La otra solución consiste en aprovechar losmedios <strong>de</strong> transmisión que dispone cada uno <strong>de</strong>los or<strong>de</strong>nadores. La información proce<strong>de</strong>nte <strong>de</strong>lmonitor <strong>de</strong>l profesor es recogida por unaaplicación que se encarga <strong>de</strong> enviar<strong>la</strong> vía etherneta cada uno <strong>de</strong> los equipos clientes que seencuentran conectado. Para <strong>de</strong>sarrol<strong>la</strong>r estasolución buscamos en <strong>la</strong> red aplicaciones <strong>de</strong> libredistribución con <strong>la</strong>s características comentadasanteriormente. Existía una característicaprimordial que <strong>de</strong>be poseer <strong>la</strong> aplicación utilizada,<strong>la</strong> velocidad <strong>de</strong> transferencia entre el servidor ylos clientes. Si esta velocidad no es losuficientemente rápida pue<strong>de</strong> producir que elrefresco <strong>de</strong> <strong>la</strong> pantal<strong>la</strong> <strong>de</strong>l alumno sea ina<strong>de</strong>cuado,provocando una visión incomoda <strong>de</strong>l monitor yque el alumno se pue<strong>de</strong> distraer con mayorfacilidad.Por este motivo <strong>la</strong> selección <strong>de</strong>l protocolo esmuy importante. El lenguaje seleccionado para <strong>la</strong>comunicación entre los equipos fue IPX porque elservidor so<strong>la</strong>mente tiene que enviar un únicopaquete <strong>de</strong> información, el cuál, se distribuyemediante difusión o “broadcast” a todos losequipos <strong>de</strong> <strong>la</strong> red. Esta solución es <strong>la</strong> más eficienteporque es in<strong>de</strong>pendiente <strong>de</strong>l número <strong>de</strong> equiposque se encuentren conectado en ese momento alservidor <strong>de</strong> pantal<strong>la</strong>. Los frutos <strong>de</strong> esta búsquedano fueron los esperados y esta situación nosobligó a <strong>la</strong> búsqueda <strong>de</strong> aplicaciones basadas en elprotocolo TCP/IP. La principal <strong>de</strong>sventaja <strong>de</strong> estasolución es que el servidor tiene que enviar elmismo paquete <strong>de</strong> información a tantos equiposcomo clientes se encuentren conectados alservidor, siendo más lento <strong>la</strong> transferencia <strong>de</strong> <strong>la</strong>información.Aun cambiando nuestras los objetivos <strong>de</strong> <strong>la</strong>búsqueda no se ha encontrado ninguna aplicaciónpara el <strong>de</strong>sarrollo <strong>de</strong> c<strong>la</strong>ses interactivas, motivoque nos obligo a <strong>la</strong> búsqueda <strong>de</strong> aplicaciones condistintas funcionalida<strong>de</strong>s que se pudieran adaptara los fines docentes marcados. En este caso setrata <strong>de</strong> una aplicación, RTVNC[3] cuya ventanaprincipal se muestra en <strong>la</strong> figura 2. El principal


Figura 2. Programa RTVNCobjetivo <strong>de</strong> <strong>la</strong> aplicación es <strong>la</strong> administraciónremota <strong>de</strong> servidores. Ésta consiste en mostrar <strong>la</strong>información <strong>de</strong>l servidor para que pueda seradministrado <strong>de</strong>s<strong>de</strong> otro sitio físico. La i<strong>de</strong>a es <strong>la</strong>misma para <strong>la</strong> enseñanza mediante or<strong>de</strong>nador,cada cliente se conecta al servidor y pue<strong>de</strong>visualizar <strong>la</strong> pantal<strong>la</strong> <strong>de</strong> este. El funcionamiento esmuy simple, a <strong>la</strong> hora <strong>de</strong> comienzo <strong>de</strong> <strong>la</strong> c<strong>la</strong>se,cada uno <strong>de</strong> los alumnos ejecuta <strong>la</strong> aplicacióncliente y el profesor queda resi<strong>de</strong>nte el programaservidor en su or<strong>de</strong>nador.3.2. Funcionalida<strong>de</strong>sUna vez conocida <strong>la</strong> aplicación a utilizar para el<strong>de</strong>sarrollo <strong>de</strong> esta nueva metodología, <strong>de</strong>bemosconocer cual son <strong>la</strong>s características quenecesitamos para <strong>la</strong> impartición <strong>de</strong> una c<strong>la</strong>seinteractiva. Estas funcionalida<strong>de</strong>s se muestran acontinuación:• Se busca que el alumno pueda continuartrabajando con el resto <strong>de</strong> <strong>la</strong>s aplicacionesaunque el monitor virtual se encuentre enfuncionamiento. En aquellos casos en los queel alumno no entienda alguna explicación onecesita visualizar con mayor c<strong>la</strong>ridad elmonitor <strong>de</strong>l profesor para continuar con <strong>la</strong>práctica, pue<strong>de</strong> recurrir a esta ventana <strong>de</strong>ayuda y posteriormente minimizar<strong>la</strong>.• Otra funcionalidad sería <strong>la</strong> posibilidad <strong>de</strong> ver<strong>la</strong> ventana a pantal<strong>la</strong> completa. Esta pue<strong>de</strong>ser utilizada cuando el profesor este<strong>de</strong>sarrol<strong>la</strong>ndo una c<strong>la</strong>se teórico-práctica ouna presentación. El alumno pue<strong>de</strong> observarsu monitor y no necesita esforzar <strong>la</strong> vistapara ver con c<strong>la</strong>ridad el cañón <strong>de</strong> vi<strong>de</strong>o pararealizar el seguimiento <strong>de</strong> <strong>la</strong> explicaciónrealizada por el profesor y sin <strong>la</strong> distracción<strong>de</strong> otras aplicaciones.• Re<strong>la</strong>cionada con <strong>la</strong> anterior, seríaconveniente que se pudiera bloquear el ratóny el tec<strong>la</strong>do <strong>de</strong> los equipos <strong>de</strong> los alumnos.Esta es necesaria en muchas ocasiones paraque el alumno no se distraiga con losprogramas insta<strong>la</strong>dos en el or<strong>de</strong>nador.• Por último <strong>la</strong> posibilidad <strong>de</strong> realizar una c<strong>la</strong>secorporativa, es <strong>de</strong>cir, el <strong>de</strong>sarrollo <strong>de</strong> unejercicio en el or<strong>de</strong>nador <strong>de</strong>l profesor porparte <strong>de</strong> todos los alumnos. De esta forma elprofesor pue<strong>de</strong> motivar a los alumnos en <strong>la</strong>realización <strong>de</strong>l ejercicio.Todas estas funcionalida<strong>de</strong>s sonproporcionadas por <strong>la</strong> aplicación seleccionada.Esta aplicación a<strong>de</strong>más dispone <strong>de</strong> otrascaracterísticas que son mostradas a continuación:


• Posibilidad <strong>de</strong> seleccionar distintos algoritmos<strong>de</strong> compresión que se utiliza en el envió <strong>de</strong><strong>la</strong> información. En <strong>de</strong>terminadas situación <strong>la</strong>utilización <strong>de</strong> un algoritmo u otro pue<strong>de</strong>proporcionar enviar mayor información acada uno <strong>de</strong> los programas clientes.• Posibilidad <strong>de</strong> seleccionar <strong>la</strong> captura <strong>de</strong> <strong>la</strong>pantal<strong>la</strong> con 8 bits. Esta característica es muyinteresante para su uso en re<strong>de</strong>s lentas cuyotráfico <strong>de</strong> información pue<strong>de</strong> estar reducidopor el número <strong>de</strong> or<strong>de</strong>nadores o el ancho <strong>de</strong><strong>la</strong> red.3.3. Resultados <strong>de</strong> <strong>la</strong> metodología. EncuestaEsta metodología ha sido utilizada este año en <strong>la</strong>Facultad <strong>de</strong> Ciencias Económicas yEmpresariales. Este centro dispone <strong>de</strong> dos sa<strong>la</strong>sformadas por 25 equipos cada una. Lascaracterísticas son bastantes dispares. La primera<strong>de</strong> el<strong>la</strong> se encuentra formada Pentium I 133 con 32MB y <strong>la</strong> otra por Pentium III 500 con 64 MB. Estadiferencia tan notable en los or<strong>de</strong>nadores, secomprueba en cuanto al nivel computacional <strong>de</strong> <strong>la</strong>aplicación. A continuación se muestran losresultados obtenidos comentando <strong>la</strong>s ventajas einconvenientes que hemos encontrado, por unaparte <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> rendimiento <strong>de</strong> <strong>la</strong>computadora, como por otra parte, <strong>la</strong>s ventajas einconvenientes que tiene para los alumnos elseguimiento <strong>de</strong> <strong>la</strong> c<strong>la</strong>se <strong>de</strong> prácticas utilizandoesta metodología.Los resultados que se han obtenido a nivelcomputacional han sido satisfactorios sabiendoque el <strong>de</strong>sarrollo <strong>de</strong> esta metodología podíasuce<strong>de</strong>r que no funcionara <strong>de</strong>bido al uso <strong>de</strong> unprotocolo y una aplicación ina<strong>de</strong>cuada para estosobjetivos. El <strong>de</strong>sarrollo <strong>de</strong> esta metodología hasido probada en <strong>la</strong> segunda sa<strong>la</strong> <strong>de</strong>bido a <strong>la</strong> mayorcapacidad computacional que disponen. El primerproblema observado <strong>de</strong> <strong>la</strong> utilización <strong>de</strong> estaaplicación viene provocado por una sobrecargacomputacional <strong>de</strong>l equipo que actúa comoservidor <strong>de</strong> pantal<strong>la</strong>. Esta situación vieneprovocada por el número tan elevado <strong>de</strong>información que tiene que enviar el programaservidor a cada uno <strong>de</strong> los clientes. A mayorTab<strong>la</strong>1. Datos <strong>de</strong> <strong>la</strong> encuesta <strong>de</strong> <strong>la</strong> metodología


número <strong>de</strong> clientes <strong>la</strong> carga computacional <strong>de</strong>lservidor es mayor y disminuye el rendimiento <strong>de</strong>lmismo. Esta situación no ha provocado en ningúnmomento el mal <strong>de</strong>sarrollo <strong>de</strong> esta metodología, sibien está c<strong>la</strong>ro que con un servidor más potentefuncionaría mejor, ya que estamos hab<strong>la</strong>ndo <strong>de</strong>Pentium a 500Mhz.Otra característica que se ha observado, essegún se incrementa el número <strong>de</strong> clientes elretardo <strong>de</strong> <strong>la</strong> información en los clientes aumenta.Se ha probado con 20 clientes y el seguimiento <strong>de</strong><strong>la</strong> c<strong>la</strong>se era permisible, con un cierto retardo,retardo que se pue<strong>de</strong> disminuir con equipos máspotentes. A un número reducido <strong>de</strong> clientes, <strong>la</strong>visión en los equipos <strong>de</strong> los alumnos se producíaen tiempo casi real, mientras que a mayor número<strong>de</strong> clientes se producía un pequeño retardo. Laresolución <strong>de</strong> <strong>la</strong> pantal<strong>la</strong> tiene que ser <strong>la</strong> mismapara todos los equipos o inferior a <strong>la</strong> <strong>de</strong>l servidor.Este no es tan importante como los anteriores pero<strong>de</strong>be ser tenido en cuenta. A<strong>de</strong>más si utilizamosuna resolución muy alta provoca que el retardo enlos clientes sea mayor <strong>de</strong>bido a que tiene queenviar mayor información. Si se produce uncambio cuando se esta utilizando <strong>la</strong> aplicación,provoca el cierre <strong>de</strong> <strong>la</strong> misma.Los resultados <strong>de</strong> esta metodología en losalumnos fueron realizados mediante encuesta quese pue<strong>de</strong> observar en <strong>la</strong> tab<strong>la</strong> 1. Esta ha sidorealizada en dos asignaturas que se imparten en <strong>la</strong>Facultad <strong>de</strong> Económica. Los resultados gráficos<strong>de</strong> <strong>la</strong> encuesta pue<strong>de</strong> visualizarse en <strong>la</strong> figura 3.Como se observa los alumnos <strong>de</strong> <strong>la</strong> asignaturainformática básica fueron un poco más reacios aluso <strong>de</strong> esta tecnología. Esta situación pue<strong>de</strong>producirse porque estos alumnos normalmenteescogen esta asignatura en el primer curso <strong>de</strong> <strong>la</strong>carrera y no han trabajado normalmente con elor<strong>de</strong>nador. Los alumnos <strong>de</strong> aplicada recibieronesta aplicación con mayor curiosidad <strong>de</strong>bido a quepara el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s prácticas necesitanobservar el cañón con mayor c<strong>la</strong>ridad.Por los datos obtenidos en <strong>la</strong> encuestapo<strong>de</strong>mos concluir que el uso <strong>de</strong> esta metodologíaha sido una experiencia positiva en el <strong>de</strong>sarrollo<strong>de</strong> una c<strong>la</strong>se interactiva. Se observó que <strong>la</strong>distracción por parte <strong>de</strong>l alumnado ha disminuidopor el uso <strong>de</strong> una herramienta que consiguiól<strong>la</strong>marles <strong>la</strong> atención. Los resultados <strong>de</strong> <strong>la</strong>s notasFigura 3. Resultado <strong>de</strong> <strong>la</strong> encuesta <strong>de</strong> <strong>la</strong> metodología.


<strong>de</strong> prácticas también han mejorado.4. ConclusionesSalvando los posibles inconvenientes técnicoscomentados anteriormente, en este artículo hemospropuesto una forma <strong>de</strong> subsanar problemas conlos cuales nos encontramos a veces en <strong>la</strong>s sa<strong>la</strong>s <strong>de</strong>prácticas así como una posible metodología nuevapara impartir c<strong>la</strong>ses prácticas <strong>de</strong> informática.Con <strong>la</strong> posible utilización <strong>de</strong> esta técnica e<strong>la</strong>lumno pue<strong>de</strong> seguir perfectamente <strong>la</strong>sexplicaciones <strong>de</strong>l profesor, sin necesidad <strong>de</strong>, poruna parte, el profesor moverse <strong>de</strong> su or<strong>de</strong>nador,pudiendo resolver <strong>la</strong> duda monitorizando en unaventana <strong>de</strong>l or<strong>de</strong>nador <strong>de</strong>l alumno, el or<strong>de</strong>nador<strong>de</strong>l profesor, y este explicar mediante <strong>la</strong> accióncorrespondiente en <strong>la</strong> aplicación u ejercicio que seesté realizando, <strong>la</strong> duda al alumno, el cual ve en <strong>la</strong>pantal<strong>la</strong> <strong>de</strong> su or<strong>de</strong>nador cómo se realizaría <strong>la</strong>acción, pasando rápidamente el alumno arealizarlo en su práctica, simplementeminimizando <strong>la</strong> ventana <strong>de</strong>l profesor ymaximizando <strong>la</strong> suya. Esta explicación podrá servisualizada en todos los or<strong>de</strong>nadores <strong>de</strong> losalumnos que lo <strong>de</strong>seen. Por otra parte es unaforma <strong>de</strong> que el alumno esté aprovechando al100%, a nuestro modo <strong>de</strong> ver <strong>la</strong> c<strong>la</strong>se, ya quepodríamos hacer a <strong>la</strong> inversa, ver <strong>de</strong>s<strong>de</strong> elor<strong>de</strong>nador <strong>de</strong>l profesor, en todo momento, quéestá realizando cada uno <strong>de</strong> los or<strong>de</strong>nadores <strong>de</strong> losalumnos.Referencias[1] Pérez Serrano, P. L. La asignatura <strong>de</strong>informática aplicada a <strong>la</strong> gestión <strong>de</strong> <strong>la</strong> empresa enDiplomatura en Ciencias Empresariales. VIJENUI 2000.[2] Lapeña Marcos, María Jesús. La enseñanza <strong>de</strong><strong>la</strong> informática en estudios empresariales. VIIJENUI 2001.[3]RTVNC. http://zone.syracuse.net/winme/adnload / 18374 9_63804.html


Representación interna y aritmética <strong>de</strong> los números encomputadores: Activida<strong>de</strong>s para el <strong>la</strong>boratorioEster M. Garzón, Inmacu<strong>la</strong>da García, José-Jesús Fernán<strong>de</strong>zDpto. Arquitectura <strong>de</strong> Computadores y ElectrónicaUniversidad <strong>de</strong> Almería. E-04120 Almeríae-mail: {ester,inma,jose}@ace.ual.es.ResumenEn este trabajo se <strong>de</strong>scribe una estrategia paraabordar el tema <strong>de</strong> <strong>la</strong> representación <strong>de</strong> losnúmeros y <strong>la</strong> aritmética en los computadores.Este tema está incluido en los p<strong>la</strong>nes <strong>de</strong> estudios<strong>de</strong> <strong>la</strong> mayoría <strong>de</strong> los títulos <strong>de</strong> ingeniero,especialmente en Ingeniería Informática. Estainiciativa educativa se basa en un conjunto <strong>de</strong>ejercicios prácticos, p<strong>la</strong>nteados para subrayar<strong>la</strong>s principales características <strong>de</strong> <strong>la</strong> representacióninterna <strong>de</strong> los números y su aritmética.Los ejercicios se <strong>de</strong>sarrol<strong>la</strong>n con un entornocomputacional que constituye una valiosa herramientapara que los estudiantes reflexionensobre este tema, abordando los aspectosmás importantes, eliminando activida<strong>de</strong>s tediosas.Esta propuesta pue<strong>de</strong> incluirse en cursosintroductorios re<strong>la</strong>cionados con Estructura<strong>de</strong> Computadores, Programación, MatemáticaDiscreta o Métodos Numéricos.1 IntroducciónLa computación numérica es una herramientaesencial en todos los campos <strong>de</strong> <strong>la</strong> Ingenieríay <strong>la</strong> Ciencia [14]. Ingenieros y científicos hacenun uso intensivo <strong>de</strong> métodos numéricos ycomputadores para resolver problemas complejos.Para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> computaciónnumérica, es <strong>de</strong> enorme importancia enten<strong>de</strong>rcómo se representan los números internamenteen un computador, cómo se llevan a cabo<strong>la</strong>s operaciones aritméticas y cuáles son sus limitaciones.Algunas <strong>de</strong> <strong>la</strong>s causas más importantes<strong>de</strong> fallos <strong>de</strong> los sistemas están re<strong>la</strong>cionadasdirectamente con errores <strong>de</strong> computaciónnumérica [3,4]. Por ejemplo, algunos <strong>de</strong>sastres<strong>de</strong> <strong>la</strong> vida real que se atribuyen a errores <strong>de</strong> <strong>de</strong>ese tipo son: el fallo <strong>de</strong>l misil Patriot durante<strong>la</strong> Guerra <strong>de</strong>l Golfo en 1991 [8], <strong>la</strong> explosión<strong>de</strong>l Ariane 5 <strong>la</strong>nzado al espacio por <strong>la</strong> AgenciaEspacial Europea en junio <strong>de</strong> 1996 [1] y otros.Aunque <strong>la</strong> computación numérica se basaprincipalmente en <strong>la</strong> aritmética en punto flotante,<strong>la</strong> representación interna <strong>de</strong> enteros y suaritmética también tienen importancia [10], yaque <strong>la</strong>s operaciones con enteros están incluidasen casi todas <strong>la</strong>s aplicaciones <strong>de</strong> un computador.La representación interna <strong>de</strong> enteros másextendida entre los computadores mo<strong>de</strong>rnos esel complemento a dos. Las principales características<strong>de</strong> este formato son los rangos <strong>de</strong>representación y los algoritmos para llevar acabo <strong>la</strong>s operaciones aritméticas.Debido a <strong>la</strong> gran importancia <strong>de</strong> <strong>la</strong> computaciónen punto flotante en el contexto <strong>de</strong><strong>la</strong> computación numérica [7], los científicos eingenieros <strong>de</strong>ben tener un profundo conocimiento<strong>de</strong> <strong>la</strong> aritmética en punto flotante yen particu<strong>la</strong>r <strong>de</strong>l formato estándar IEEE 754.Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong> computaciónnumérica es importante conocer aspectos talescomo rango, precisión y propieda<strong>de</strong>s algebraicasre<strong>la</strong>cionadas con cualquier representaciónfinita en punto flotante.Por otra parte, diversos aspectos <strong>de</strong>l diseño<strong>de</strong> computadores también requieren un profundoconocimiento <strong>de</strong> <strong>la</strong> aritmética en punto


flotante: (1) <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong> arquitectura<strong>de</strong>l computador, que aborda el diseño<strong>de</strong>l repertorio <strong>de</strong> instrucciones, incluyendoaquel<strong>la</strong>s instrucciones que involucran operacionesen punto flotante; (2) <strong>de</strong>s<strong>de</strong> el punto<strong>de</strong> vista <strong>de</strong>l compi<strong>la</strong>dor y diseño <strong>de</strong> lenguajes<strong>de</strong> programación, en el sentido <strong>de</strong> que <strong>la</strong>semántica <strong>de</strong>l lenguaje <strong>de</strong>be ser suficientementec<strong>la</strong>ra para efectuar una a<strong>de</strong>cuada traducción<strong>de</strong> los programas a lenguaje máquina (3)<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l sistema operativo,en lo que se refiere al tratamiento <strong>de</strong> excepciones,en el sentido <strong>de</strong> que los manejadores <strong>de</strong>excepciones pue<strong>de</strong>n ser <strong>de</strong>finidos por el propiousuario <strong>de</strong> acuerdo con el problema que se estétratando.Las recomendaciones sobre los curricu<strong>la</strong> <strong>de</strong>los estudios <strong>de</strong> Informática establecidas porThe Joint IEEE Computer Society y ACMTask Force han consi<strong>de</strong>rado siempre el tema<strong>de</strong> <strong>la</strong> representación interna <strong>de</strong> los datos comofundamental en el área <strong>de</strong> Arquitectura <strong>de</strong>Computadores en <strong>la</strong> fase introductoria <strong>de</strong>l curriculum;también han consi<strong>de</strong>rado este temare<strong>la</strong>cionado con Lenguajes <strong>de</strong> Programación yCiencias <strong>de</strong> <strong>la</strong> Computación.A pesar <strong>de</strong> su gran importancia y <strong>de</strong>l hecho<strong>de</strong> ser un aspecto fundamental en el curriculum<strong>de</strong> Ingeniería Informática, <strong>la</strong> representaciónen punto flotante es poco conocidapor los estudiantes y sólo es bien entendidapor expertos. Ha habido diversas iniciativasen los años noventa [12,2,13] y otras más recientes[6,9] para hacer más asequible este temaa los estudiantes. Algunas <strong>de</strong> el<strong>la</strong>s [2,6,9]se centran directamente en el estándar IEEE<strong>de</strong> punto flotante, explicando <strong>la</strong> propia representacióny los aspectos re<strong>la</strong>cionados con ésta.Otras [12,13] hacen uso <strong>de</strong> una representaciónintermedia en punto flotante para ilustrar losprincipales conceptos. Los trabajos [12] y [9]también incluyen ejercicios para c<strong>la</strong>rificar losconceptos <strong>de</strong> precisión y rango presentes encualquier representación finita en punto flotante.Finalmente, <strong>la</strong> referencia [9] ofrece unaserie <strong>de</strong> programas para mostrar c<strong>la</strong>ramente<strong>la</strong>s propieda<strong>de</strong>s y limitaciones <strong>de</strong>l estándarIEEE, <strong>de</strong>s<strong>de</strong> <strong>la</strong> perspectiva <strong>de</strong> <strong>la</strong> computaciónnumérica.En este trabajo, <strong>de</strong>scribimos nuestra propuestapara <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> representacióninterna <strong>de</strong> los números y <strong>la</strong> aritmética en loscomputadores, tanto enteros como reales, conel objetivo <strong>de</strong> ser incluida en asignaturas <strong>de</strong>los primeros cursos <strong>de</strong> Ingeniería Informática.Con el fin <strong>de</strong> facilitar <strong>la</strong> ilustración <strong>de</strong> los principalesconceptos re<strong>la</strong>cionados con <strong>la</strong> representacióninterna <strong>de</strong> los números enteros y reales,esta propuesta hace uso <strong>de</strong> (1) un conjunto <strong>de</strong>ejercicios prácticos; (2) un entorno computacionalconstituido por una serie <strong>de</strong> programasauxiliares y (3) un formato en punto flotantereducido que sirve para introducir el formatoIEEE.2 Representación interna <strong>de</strong> enteros.Aritmética enteraLa representación más extendida para losnúmeros enteros es el complemento a dos [10].El rango <strong>de</strong> <strong>la</strong> representación <strong>de</strong> enteros encomplemento a dos, con ca<strong>de</strong>nas <strong>de</strong> p bits, es[−2 p−1 , 2 p−1 −1]. Con este código se tiene unaúnica representación para el cero por lo que sefacilita su <strong>de</strong>tección. Por otro <strong>la</strong>do, esta representaciónes especialmente a<strong>de</strong>cuada <strong>de</strong>s<strong>de</strong>el punto <strong>de</strong> vista <strong>de</strong>l hardware porque no requierecircuitos adicionales para <strong>la</strong> operación<strong>de</strong> <strong>la</strong> resta.Con el objetivo <strong>de</strong> ilustrar los aspectos re<strong>la</strong>cionadoscon esta representación, se ha diseñadoun conjunto <strong>de</strong> ejercicios prácticos, basadosen un entorno computacional que se presentamas a<strong>de</strong><strong>la</strong>nte. Estos ejercicios se pue<strong>de</strong>nc<strong>la</strong>sificar en dos grupos re<strong>la</strong>cionados con <strong>la</strong> representacióny con <strong>la</strong> aritmética.2.1 Nuestra propuesta para enseñarrepresentación <strong>de</strong> números enterosLos ejercicios incluidos en este grupo proponenal alumno: (1) convertir <strong>de</strong> código <strong>de</strong>cimal acomplemento a dos, diversos enteros empleandodistintos valores <strong>de</strong> longitud <strong>de</strong> pa<strong>la</strong>bra (p);(2) <strong>de</strong>terminar el número mínimo <strong>de</strong> bits que


se necesita para representar un número dado;(3) <strong>de</strong>terminar el rango <strong>de</strong> <strong>la</strong> representación encomplemento a dos para diferentes longitu<strong>de</strong>s<strong>de</strong> pa<strong>la</strong>bra.Un ejemplo <strong>de</strong> ejercicio incluido en este grupoes:(a) Determinar <strong>la</strong> representación en complementoa 2 <strong>de</strong> los enteros siguientes:−15, 127, 128, −300, con una longitud <strong>de</strong> pa<strong>la</strong>brap = 8.(b) Con <strong>la</strong> misma longitud <strong>de</strong> pa<strong>la</strong>bra, efectuar<strong>la</strong> conversión inversa aplicando como entradalos resultados <strong>de</strong>l apartado anterior.(c) En principio los resultados obtenidos en(b) <strong>de</strong>berían ser iguales a <strong>la</strong>s entradas <strong>de</strong> (a).Analizar por qué en algunos casos eso no haocurrido.2.2 Nuestra propuesta para enseñararitmética enteraLos ejercicios que se c<strong>la</strong>sifican en este grupoincluyen el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s operacionesaritméticas usando diferentes longitu<strong>de</strong>s <strong>de</strong>pa<strong>la</strong>bra. El software que se ha diseñado paraestos ejercicios ilustran los algoritmos quese implementan en <strong>la</strong>s unida<strong>de</strong>s aritméticas <strong>de</strong>enteros (suma/resta, algoritmo <strong>de</strong> Booth, divisióncon y sin restauración), ofreciendo el<strong>de</strong>talle <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> dichos algoritmos yteniendo en cuenta <strong>la</strong> situación excepcionaloverflow.En el <strong>de</strong>sarrollo <strong>de</strong> este tipo <strong>de</strong> ejerciciosse sugiere a los alumnos que efectúen <strong>la</strong>s diferentesoperaciones aritméticas con diversosvalores <strong>de</strong> longitud <strong>de</strong> pa<strong>la</strong>bra, haciendo uso<strong>de</strong>l entorno computacional.3 Representación y aritmética enpunto flotanteEl estándar IEEE ha sido ampliamente adoptadopara <strong>la</strong> representación interna <strong>de</strong> los reales.Se utiliza prácticamente en todos los procesadoresy coprocesadores numéricos <strong>de</strong> hoyen día para llevar a cabo los cálculos en puntoflotante [2,5]. Esta sección comienza revisandolos aspectos más <strong>de</strong>stacables <strong>de</strong> este estándary a continuación se centra en <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>nuestra propuesta para facilitar <strong>la</strong> enseñanza<strong>de</strong> estos conceptos.3.1 El estándar IEEE 754 para <strong>la</strong>representación binaria en puntoflotanteEl estándar IEEE <strong>de</strong>fine un formato <strong>de</strong> simpleprecisión, <strong>de</strong> forma que el número real rexpresado en notación exponencial comor = (−1) s × (1.m) × 2 E−Sse representa por una ca<strong>de</strong>na <strong>de</strong> 32 bits quese organizan como sigue: un bit para el signo(s), n e = 8 bits para el exponente sesgadoE = e + S (<strong>de</strong>notando e el exponente y S =2 ne−1 − 1 el sesgo) y n m = 23 bits para <strong>la</strong>mantisa. La base implícita que se consi<strong>de</strong>ra enesta representación es 2. El formato <strong>de</strong> dobleprecisión dispone <strong>de</strong> 64 bits, <strong>de</strong> los cuales 11están <strong>de</strong>stinados al exponente, 52 a <strong>la</strong> mantisay uno al signo.Existe una gran variedad <strong>de</strong> conceptos re<strong>la</strong>cionadoscon <strong>la</strong> representación en punto flotanteque cualquier Ingeniero Informático <strong>de</strong>beconocer:- El número <strong>de</strong> bits <strong>de</strong>l exponente y mantisa<strong>de</strong>finen el rango y <strong>la</strong> precisión <strong>de</strong> <strong>la</strong> representación.- La distancia entre dos datos en punto flotanteconsecutivos varía a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong> rectareal. A medida que se consi<strong>de</strong>ran valores mayores,esa distancia es mayor y viceversa.- Existe distancia re<strong>la</strong>tivamente significativaentre el cero y el menor real distinto <strong>de</strong> cero.No obstante, el uso <strong>de</strong> números <strong>de</strong>normalizadospermite reducir esta distancia.- Se <strong>de</strong>fine <strong>la</strong> precisión <strong>de</strong> <strong>la</strong> máquina, ɛ mach ,como <strong>la</strong> distancia entre 1.0 y el menor númeromayor que 1.0 representable por el formato.Este parámetro se pue<strong>de</strong> tomar como una medida<strong>de</strong> <strong>la</strong> precisión <strong>de</strong> <strong>la</strong>s operaciones en puntoflotante.- El cero se representa por una ca<strong>de</strong>na <strong>de</strong>bits <strong>de</strong> valor cero.


- Los errores <strong>de</strong> redon<strong>de</strong>o, truncamiento ycance<strong>la</strong>ción están presentes en <strong>la</strong> aritméticaen punto flotante.- Se asocian códigos especiales (Infinito,Not-a-Number) a situaciones excepcionales.- Las rutinas que tratan <strong>la</strong>s excepcionesestán bajo el control <strong>de</strong> usuario/programador.- La representación en punto flotante nocumple exactamente <strong>la</strong>s reg<strong>la</strong>s fundamentales<strong>de</strong>l álgebra convencional. Propieda<strong>de</strong>s comoasociativa o distributiva no se verifican exactamente.3.2 Nuestra propuesta para enseñararitmética en punto flotantePor sencillez, en el <strong>de</strong>sarrollo <strong>de</strong> los ejerciciosprácticos se va a utilizar una versión reducida<strong>de</strong>l formato IEEE 754 <strong>de</strong> representación <strong>de</strong>números reales. En términos generales, nuestroformato sigue todas <strong>la</strong>s convenciones <strong>de</strong>lestándar IEEE 754, pero emplea sólo 12 bits,<strong>de</strong> los cuales n e = 5 bits están <strong>de</strong>stinados alexponente, n m = 6 bits a <strong>la</strong> mantisa y unoal signo. El empleo <strong>de</strong> este formato <strong>de</strong> representacióntan particu<strong>la</strong>r, nos va a permitir vermás fácilmente todos los conceptos y problemas<strong>de</strong> aproximación, redon<strong>de</strong>os y precisiónasociados a <strong>la</strong> representación <strong>de</strong> los númerosreales. La Tab<strong>la</strong> 1 resume <strong>la</strong>s principales características<strong>de</strong> este formato reducido.El uso <strong>de</strong> esta versión reducida <strong>de</strong>l formatoestándar IEEE 754 trata <strong>de</strong> alcanzar los siguientesobjetivos: (1) i<strong>de</strong>ntificar fácilmente<strong>la</strong> re<strong>la</strong>ción entre el número real y su representaciónen punto flotante así como los efectos<strong>de</strong> redon<strong>de</strong>o en <strong>la</strong> conversión; (2) ilustrarc<strong>la</strong>ramente <strong>la</strong> re<strong>la</strong>ción <strong>de</strong> compromiso rango/precisión;(3) <strong>de</strong>sarrol<strong>la</strong>r los algoritmos <strong>de</strong><strong>la</strong>s operaciones aritméticas en punto flotante;(4) amplificar <strong>la</strong>s anomalías propias <strong>de</strong> <strong>la</strong> computaciónen punto flotante, <strong>de</strong> forma que eluso <strong>de</strong> este formato reducido permite i<strong>de</strong>ntificar<strong>la</strong>smás fácilmente; (5) permitir cálculoscon lápiz y papel poco tediosos, si son necesarios.En resumen el formato que proponemoses bastante a<strong>de</strong>cuado para ilustrar los aspectosTab<strong>la</strong>1. Reprentación en punto flotante reducidaCaracterísticas más importantes<strong>de</strong> <strong>la</strong> representaciónLongitud representación: 12 bits:signo: 1 bitexponente: n e =5 bitsmantisa: n m =6 bitsSesgo <strong>de</strong>l exponente: 2 ne−1 − 1 = 15 = 01111 2Rango <strong>de</strong>l exponente: [−14, 15]Precisión <strong>de</strong> <strong>la</strong> máquina: ɛ mach = 2 −nm = 2 −6redon<strong>de</strong>os empleados: Trunc., más cercanoNúmeros <strong>de</strong>normalizados: Consi<strong>de</strong>radosExcepciones consi<strong>de</strong>r.: Overflow, Un<strong>de</strong>rflow,Invalid,División por ceroValores especiales positivos más importantesValor especial Representación ValorMayor normal.: 0 11110 111111 +1.984375 × 2 15Menor normal.: 0 00001 000000 +1.000000 × 2 −14Mayor <strong>de</strong>normal.: 0 00000 111111 +0.984375 × 2 −14Menor <strong>de</strong>normal.: 0 00000 000001 +0.015625 × 2 −14+ cero 0 00000 000000 +0.0+ Infinito: 0 11111 000000 ---NaN: 0 11111 111111 ---más relevantes <strong>de</strong> <strong>la</strong> representación en puntoflotante.Por otra parte, se ha diseñado un conjunto<strong>de</strong> ejercicios prácticos que tienen como objetivoilustrar tales aspectos. Estos ejercicios seresuelven haciendo uso <strong>de</strong> un entorno computacionalque se convierte en una valiosa herramienta,<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista pedagógico.Este conjunto <strong>de</strong> ejercicios se pue<strong>de</strong> c<strong>la</strong>sificaren diferentes categorías:1. Conversión <strong>de</strong> <strong>de</strong>cimal a punto flotante,analizando los efectos <strong>de</strong> los distintos modos<strong>de</strong> redon<strong>de</strong>o.2. El siguiente grupo <strong>de</strong> ejercicios, trata<strong>de</strong> facilitar el aprendizaje <strong>de</strong> conceptos talescomo precisión, rango y compromiso rango/precisión.Incluye <strong>la</strong>s activida<strong>de</strong>s siguientes:– Determinación <strong>de</strong> <strong>la</strong> representación <strong>de</strong> diferentesnúmeros reales usando diversosformatos, es <strong>de</strong>cir variando el número <strong>de</strong>bits <strong>de</strong>dicados al exponente y mantisa.– Determinación <strong>de</strong> <strong>la</strong> distancia entre dosnúmeros en punto flotante consecutivosen algunos intervalos, para diversos formatos<strong>de</strong> representación.


– Determinación <strong>de</strong> los rangos <strong>de</strong> representación<strong>de</strong> varios formatos en punto flotante,incluyendo los sub-rangos <strong>de</strong> números<strong>de</strong>normalizados y normalizados.– Cálculo <strong>de</strong> los números mínimos <strong>de</strong> bitspara exponente y mantisa sujetos a ciertasrestricciones, por ejemplo, ser capaz<strong>de</strong> distinguir <strong>la</strong> representación <strong>de</strong> dosnúmeros muy próximos.Como ejemplo, <strong>la</strong> Figura 1 resume el procesopara <strong>de</strong>terminar el numero mínimo <strong>de</strong> bits enexponente y mantisa, para distinguir los reales15.9 y 15.925 y a <strong>la</strong> vez representar el número100000.Determinación <strong>de</strong>l número mínimo <strong>de</strong> bitsen <strong>la</strong> mantisa para distinguir 15.9 y 15.92515.9 15.925Formato Float Representación Representaciónn e = 5, n m = 6 010010 111111 010010 111111n e = 5, n m = 7 010010 1111110 010010 1111110n e = 5, n m = 8 010010 11111100 010010 11111101n e = 5, n m = 8 15.9→15.875 15.925→15.90625Determinación <strong>de</strong> el número mínimo <strong>de</strong> bitspara que a<strong>de</strong>más 100000. representableNúmero Real: 100000.Formato Float Representación Valorn e = 5, n m = 8 0 11111 00000000 +Infiniton e = 6, n m = 8 0 101111 10000110 99840.0Figura 1. Proceso para <strong>de</strong>terminar el formato en puntoflotante más corto en el que los números 15.9 y 15.925 sedistinguen y el real 100000.0 es representable. Soluciónobtenida: n e = 6, n m = 83. El siguiente grupo <strong>de</strong> ejercicios tiene comoobjetivo que los estudiantes analicen losprocedimientos que se llevan a cabo para efectuaroperaciones aritméticas con datos en puntoflotante. Los ejercicios <strong>de</strong>sarrol<strong>la</strong>n sumas,restas, productos y cocientes con diferentesoperandos, haciendo uso <strong>de</strong> distintos modos<strong>de</strong> redon<strong>de</strong>o y midiendo el error re<strong>la</strong>tivo <strong>de</strong> losresultados. Los operandos que se proponen sehan escogido <strong>de</strong> forma que se presenten diversassituaciones. Por ejemplo, sumas <strong>de</strong> parejas<strong>de</strong> reales <strong>de</strong> magnitud muy distinta (en nuestroformato reducido 1000.0 + 2.5 → 1000.0).Por otra parte, los programas incluidos en elentorno generan, como salida, una explicación<strong>de</strong>tal<strong>la</strong>da <strong>de</strong>l proceso que se lleva a cabo paraefectuar <strong>la</strong> operación aritmética en cuestión.De esta forma los estudiantes pue<strong>de</strong>n distinguirfácilmente los distintas acciones asociadasa dichas operaciones.4. Otra categoría <strong>de</strong> ejercicios analiza <strong>la</strong>sdistintas anomalías algebraicas que tienen suorigen en <strong>la</strong> naturaleza finita <strong>de</strong> <strong>la</strong> representaciónen punto flotante. Nos parece importanteque los alumnos reflexionen sobre <strong>la</strong> aritméticaen punto flotante <strong>de</strong>l computador y tambiénsobre <strong>la</strong>s limitaciones <strong>de</strong> ésta. Los ejercicios<strong>de</strong> este grupo incluyen:– Análisis <strong>de</strong>l error <strong>de</strong> cance<strong>la</strong>ción que seproduce en <strong>la</strong> sustracción <strong>de</strong> dos operandos<strong>de</strong> magnitud muy próxima.– Ejercicios que muestran el efecto <strong>de</strong> acumu<strong>la</strong>ción<strong>de</strong> errores <strong>de</strong> redon<strong>de</strong>o. Porejemplo, se multiplica un real por un enteromediante <strong>la</strong> suma sucesiva <strong>de</strong>l primero,aplicando distintos modos <strong>de</strong> redon<strong>de</strong>o.Los estudiantes analizan <strong>la</strong> evolución <strong>de</strong>lerror durante el proceso <strong>de</strong> <strong>la</strong> suma. LaFigura 2 muestra <strong>la</strong> salida que ofrece elentorno cuando se pi<strong>de</strong> efectuar el producto1.999 × 10.TruncamientoMultiplicación 1.999 × 10Redon<strong>de</strong>o más cercanoIter Representación Value Representación Valor------------------------------------- -----------------------------1 -> 0 01111 111111 -> 1.99900 0 01111 111111 -> 1.999002 -> 0 10000 111111 -> 3.96875 0 10000 111111 -> 3.968753 -> 0 10001 011111 -> 5.93750 0 10001 011111 -> 5.937504 -> 0 10001 111110 -> 7.87500 0 10001 111111 -> 7.937505 -> 0 10010 001110 -> 9.75000 0 10010 001111 -> 9.875006 -> 0 10010 011101 -> 11.62500 0 10010 011111 -> 11.875007 -> 0 10010 101100 -> 13.50000 0 10010 101111 -> 13.875008 -> 0 10010 111011 -> 15.37500 0 10010 111111 -> 15.875009 -> 0 10011 000101 -> 17.25000 0 10011 000111 -> 17.7500010-> 0 10011 001100 -> 19.00000 0 10011 001111 -> 19.75000Figura 2. Producto 1.999×10 mediante sumas sucesivas,haciendo uso <strong>de</strong>l formato en punto flotante reducido, condos modos <strong>de</strong> redon<strong>de</strong>o.– Ejercicios que <strong>de</strong>muestran que algunas reg<strong>la</strong>sfundamentales <strong>de</strong>l álgebra convencionalno se verifican en computación enpunto flotante: (1) adición y producto enpunto flotante no son exactamente asociativas;(2) <strong>la</strong> propiedad distributiva <strong>de</strong>l


producto respecto <strong>de</strong> <strong>la</strong> suma no se verificaexactamente; (3) <strong>la</strong> propiedad <strong>de</strong> cance<strong>la</strong>ciónno siempre es válida, es <strong>de</strong>cir silos números positivos en punto flotante A,B, C verifican A+B = A+C, no siemprese verifica B = C; (4) el producto <strong>de</strong> unnúmero en punto flotante por su inversono siempre es igual a 1; (5) es casi siempreerróneo preguntar si dos números enpunto flotante son iguales.Un ejemplo muy interesante re<strong>la</strong>cionadocon <strong>la</strong>s anomalías algebraicas en puntoflotante está re<strong>la</strong>cionado con <strong>la</strong> computación<strong>de</strong> <strong>la</strong> Serie Armónica:H N = 1 + 1/2 + 1/3 + . . . + 1/N.Hacemos uso <strong>de</strong> esta serie para mostrarque el or<strong>de</strong>n distinto <strong>de</strong> sucesivas sumasproduce resultado distinto, es <strong>de</strong>cir, nose verifica <strong>la</strong> propiedad asociativa para <strong>la</strong>suma. Se propone calcu<strong>la</strong>r <strong>la</strong> serie en elor<strong>de</strong>n que aparece en <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong>serie y, por otra parte, calcu<strong>la</strong>r ésta enor<strong>de</strong>n inverso y comparar los resultados.La Figura 3 muestra <strong>la</strong> salida que generael entorno computacional, cuando se <strong>de</strong>sarrol<strong>la</strong>nestos ejercicios.Por otra parte, está <strong>de</strong>mostrado matemáticamenteque esta serie diverge; noobstante, en aritmética en punto flotanteno diverge <strong>de</strong>bido a los errores <strong>de</strong> redon<strong>de</strong>o.Se han propuesto también ejerciciosre<strong>la</strong>tivos a esta cuestión.Computación <strong>de</strong> <strong>la</strong> Serie Armónica∑ 10∑11 1n=1 nn=10 nIn<strong>de</strong>x Number Sum 1..N Number Sum N..1----- --------------------------- ---------------------------1 1/1 = 1.00000 1.000000 1/10 = 0.10000 0.1000002 1/2 = 0.50000 1.500000 1/9 = 0.11111 0.2109383 1/3 = 0.33333 1.828125 1/8 = 0.12500 0.3359384 1/4 = 0.25000 2.062500 1/7 = 0.14286 0.4765625 1/5 = 0.20000 2.250000 1/6 = 0.16667 0.6406256 1/6 = 0.16667 2.406250 1/5 = 0.20000 0.8437507 1/7 = 0.14286 2.562500 1/4 = 0.25000 1.0937508 1/8 = 0.12500 2.687500 1/3 = 0.33333 1.4218759 1/9 = 0.11111 2.812500 1/2 = 0.50000 1.92187510 1/10 = 0.10000 2.906250 1/1 = 1.00000 2.937500Figura 3. Computación <strong>de</strong> <strong>la</strong> serie armónica con N = 10,haciendo uso <strong>de</strong>l formato en punto flotante reducido ydistintos or<strong>de</strong>nes <strong>de</strong> los sumandos5. Finalmente, los ejercicios re<strong>la</strong>cionadoscon <strong>la</strong>s excepciones constituyen otro grupo <strong>de</strong>activida<strong>de</strong>s. Puesto que el estándar IEEE754 permite que <strong>la</strong>s rutinas que tratan <strong>la</strong>sexcepciones estén bajo el control <strong>de</strong>l usuario/programador,es extremadamente importanteque el alumno esté familiarizado con <strong>la</strong>ssituaciones que producen excepciones, cómotratar<strong>la</strong>s y qué valores en punto flotante generanexcepciones. Los ejercicios que están <strong>de</strong>ntro<strong>de</strong> esta categoría están re<strong>la</strong>cionados con<strong>la</strong>s siguientes cuestiones:– Algunas operaciones aritméticas con datosnuméricos en punto flotante pue<strong>de</strong>ngenerar excepciones, <strong>de</strong>bido a que el resultadosea no representable. Por ejemplo,el producto <strong>de</strong> dos números <strong>de</strong> muypequeña magnitud pue<strong>de</strong> generar una excepción<strong>de</strong> tipo Un<strong>de</strong>rflow, o <strong>la</strong> suma <strong>de</strong>dos números <strong>de</strong> gran magnitud pue<strong>de</strong> generaruna excepción <strong>de</strong> tipo Overflow,etc. Dos ejemplos concretos en el formatoen punto flotante reducido producen excepciones:0.0009 ∗ 0.001 genera Un<strong>de</strong>rflowy 1875 ∗ 35 genera Overflow.– Dado un número en punto flotante A, <strong>de</strong>terminarel resultado <strong>de</strong> <strong>la</strong>s operacionesen punto flotante A + ∞, A ∗ ∞, A/0,A/∞.– <strong>de</strong>terminar el resultado <strong>de</strong> <strong>la</strong>s operacionesen punto flotante ∞ + 0, ∞ + ∞, ∞ − ∞,∞∗0, ∞∗∞, ∞∗(−∞), 0/0, ∞/∞, ∞/0.La Figura 4 muestra diferentes situacionesexcepcionales, <strong>la</strong>s operaciones con <strong>la</strong>s que seasocian y el valor en punto flotante que generan.Esta correspon<strong>de</strong>ncia <strong>de</strong>be verificarsepor todo formato en punto flotante que se rijapor el estándar IEEE.Cabe <strong>de</strong>stacar, para concluir esta sección,que los ejercicios prácticos <strong>de</strong>scritos se <strong>de</strong>sarrol<strong>la</strong>ncon un soporte computacional que se<strong>de</strong>scribe en <strong>la</strong> siguiente sección. Los programasque forman parte <strong>de</strong> este entorno estándiseñados para generar <strong>la</strong>s respuestas y justificaciones<strong>de</strong> los ejercicios que acaban <strong>de</strong> ser<strong>de</strong>scritos.


Singu<strong>la</strong>r operation Exception Returned valueA − ∞ Overflow -Infinito∞ + ∞ Overflow +Infinito∞ − ∞ Invalid NaNA ∗ ∞ Overflow ±Infinito∞ ∗ 0 Invalid NaN∞ ∗ (−∞) Overflow -InfinitoA/0 Division-by-zero ±InfinitoA/∞ Un<strong>de</strong>rflow ±Cero0/0 Invalid NaN∞/∞ Invalid NaN−∞/0 Overflow -InfinitoFigura 4. Diversas situaciones que producen excepcionesen nuestro formato. El símbolo ± significa que el signo<strong>de</strong>l resultado <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l signo <strong>de</strong>l operando.4 El entorno computacional auxiliarHemos <strong>de</strong>sarrol<strong>la</strong>do un entorno computaciona<strong>la</strong>uxiliar para que los estudiantes <strong>de</strong>sarrollenactivida<strong>de</strong>s prácticas sobre <strong>la</strong> representacióny <strong>la</strong> aritmética <strong>de</strong> los computadores,facilitándoles <strong>la</strong> comprensión <strong>de</strong> los principalesaspectos re<strong>la</strong>cionados con este tema. Elentorno está constituido por un conjunto <strong>de</strong>programas escritos en lenguaje <strong>de</strong> programaciónC estándar. Con el objetivo <strong>de</strong> construiruna herramienta in<strong>de</strong>pendiente <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma,en <strong>la</strong> medida <strong>de</strong> lo posible, los programasinternamente aplican técnicas re<strong>la</strong>cionadascon aritmética <strong>de</strong> múltiple precisión, paragenerar <strong>la</strong>s representaciones y <strong>la</strong>s operacionesaritméticas en punto flotante. Hemos comprobadolos programas en diferentes p<strong>la</strong>taformas(PC, SGI, Sun, Alpha) y diferentes sistemasoperativos (Windows, Linux, IRIX, So<strong>la</strong>ris)obteniendo resultados coherentes. Losprogramas pue<strong>de</strong>n ser ejecutados en conso<strong>la</strong>,especificando en <strong>la</strong> línea <strong>de</strong> comandos los operandos<strong>de</strong> entrada y <strong>la</strong>s opciones. Para losprogramas re<strong>la</strong>cionados con <strong>la</strong> representacióny aritmética en punto flotante, <strong>la</strong>s opciones incluyen<strong>la</strong> posibilidad <strong>de</strong> especificar el número<strong>de</strong> bits para el exponente y para <strong>la</strong> mantisa; <strong>la</strong>opción por <strong>de</strong>fecto está asociada con el formatoreducido que hemos <strong>de</strong>scrito en <strong>la</strong> secciónanterior (n e = 5, n m = 6).También hemos <strong>de</strong>sarrol<strong>la</strong>do un entornomás amigable y basado en web para los programas.Con este entorno los alumnos no necesitantrabajar directamente en una ventanaconso<strong>la</strong> y <strong>la</strong> línea <strong>de</strong> comandos, sino que pue<strong>de</strong>nacce<strong>de</strong>r al entorno a través <strong>de</strong> su navegadory, <strong>de</strong> forma transparente, ejecutar losprogramas en el servidor web.El entorno web está basado en formu<strong>la</strong>riosHTML (HyperText Markup Language) ytecnología CGI (Common Gateway Interface)[11]. Los estudiantes hacen uso <strong>de</strong> su navegadorpara: (1) seleccionar el programa que<strong>de</strong>be ejecutarse, (2) especificar los operandosy <strong>la</strong>s opciones y (3) enviar los datos al servidor.La tecnología CGI se encarga <strong>de</strong> obtenerlos datos enviados por el cliente web, ejecutarel programa en el servidor con los parámetros<strong>de</strong> entrada especificados y, finalmente, enviarlos resultados al cliente.Nuestro entorno, que está disponible en <strong>la</strong>URL http://www.ace.ual.es/RAC/, está estructuradoen dos bloques principales. Porun <strong>la</strong>do, todos los programas re<strong>la</strong>cionados con<strong>la</strong> representación y aritmética <strong>de</strong> los enterosy por otro, los re<strong>la</strong>tivos a representación yaritmética en punto flotante. A<strong>de</strong>más, existeun manual explicativo que contiene un resumen<strong>de</strong> los conceptos teóricos y los enunciados<strong>de</strong> todos los ejercicios, que están re<strong>la</strong>cionadoscon el amplio espectro <strong>de</strong> conceptos asociadosa <strong>la</strong> representación y aritmética <strong>de</strong> los númerosen un computador, como se ha <strong>de</strong>scrito en esteartículo.Des<strong>de</strong> el punto <strong>de</strong> vista pedagógico, esteentorno constituye una herramienta auxiliari<strong>de</strong>al para los estudiantes. El entorno y el conjunto<strong>de</strong> activida<strong>de</strong>s diseñadas facilitan enormemente,y <strong>de</strong>s<strong>de</strong> una perspectiva eminentementepráctica, <strong>la</strong> compresión <strong>de</strong> todos losconceptos re<strong>la</strong>cionados con <strong>la</strong> representación<strong>de</strong> números <strong>de</strong> longitud finita y su aritméticaen computadores.5 ConclusionesEn este artículo hemos <strong>de</strong>scrito una estrategiaeducativa para <strong>de</strong>sarrol<strong>la</strong>r el tema <strong>de</strong> representacióny aritmética <strong>de</strong> los números en un computador,tanto enteros como reales. Con el


objetivo <strong>de</strong> preparar a los estudiantes <strong>de</strong> ingenieríasinformáticas, para que puedan abordarproblemas computacionales <strong>de</strong> <strong>la</strong> vida real, se<strong>de</strong>sarrol<strong>la</strong>n un conjunto <strong>de</strong> activida<strong>de</strong>s re<strong>la</strong>cionadascon los conceptos <strong>de</strong> computaciónnumérica. Nuestra estrategia también está dirigidaa ofrecer a los estudiantes conceptos elementalesque forman parte <strong>de</strong> cursos sobre arquitectura<strong>de</strong> computadores, lenguajes <strong>de</strong> programacióny métodos numéricos.Nuestra propuesta consiste, principalmente,en un conjunto <strong>de</strong> ejercicios prácticos cuidadosamentediseñados para <strong>de</strong>stacar los aspectosmás importantes re<strong>la</strong>cionados con <strong>la</strong> representaciónfinita <strong>de</strong> los números. A<strong>de</strong>más, ofrecemosun entorno computacional para que losestudiantes <strong>de</strong>sarrollen dichos ejercicios. Después<strong>de</strong> trabajar siguiendo esta estrategia educativadurante varios cursos, en el <strong>de</strong>sarrollo<strong>de</strong> <strong>la</strong> asignatura Estructura <strong>de</strong> Computadores<strong>de</strong> Ingeniería Técnica Informática <strong>de</strong> Sistemas,po<strong>de</strong>mos <strong>de</strong>cir que nuestra iniciativafacilita el aprendizaje <strong>de</strong> dicho tema.Referencias[1] Ariane 501 Inquiry Board. ”Ariane5. Flight 501 failure.” InquiryBoard Report, 1996, [Online] Avai<strong>la</strong>ble:http://www.esa.int/export/esaCP//Pr 33 1996 p EN.html.[2] D. Goldberg. What every computer scientistshould know about floating-point arithmetic.ACM Computing Surveys, 23(1):5–48, 1991.[3] L. Hatton and A. Roberts. How accurate isscientific software? IEEE Trans. SoftwareEng., 20(10):785–797, 1994.[4] N.J. Higham. Accuracy and Stability of NumericalAlgorithms. SIAM, 1996.[5] W. Kahan. IEEE standard 754 for binaryfloating-point arithmetic. World-Wi<strong>de</strong> Web document, 1996. [Online] Avai<strong>la</strong>ble:http://www.cs.berkeley.edu/∼wkahan//ieee754status/ieee754.ps[6] W. Kahan. Ruminations on the <strong>de</strong>signof floating-point arithmetic. World-Wi<strong>de</strong>Web document, 2000. [Online] Avai<strong>la</strong>ble:http://www.cs.nyu.edu/cs/faculty//overton/book/docs/[7] D.E. Knuth. The art of computer programming,third edition., volume 2, SeminumericalAlgorithms. Addison-Wesley, 1998.[8] General Accounting Office (Information Managementand Technology Division). “PatriotMissile Software Problem,” General AccountingOffice Report, 1992 [Online] Avai<strong>la</strong>ble:http://www.fas.org/spp/starwars/gao//im92026.htm[9] M.L. Overton. Numerical Computing and theIEEE Floating Point Standard. SIAM, 2001.[10] D.A. Patterson and J.L. Hennessy. ComputerOrganization and Design. The Hardware/SoftwareInterface. Morgan KaufmannPub., 1998.[11] G. Birznieks S. Guelich, S. Gundavaram.CGI Programming on the World Wi<strong>de</strong> Web.O’Reilly, 2000.[12] T.J. Scott. Mathematics and computer scienceat odds over real numbers. ACM SIGC-SE Bulletin (ACM Special Interest Groupon Computer Science Education), 23(1):130–139, 1991.[13] C.W. Steidley. Floating point arithmetic basicexercises in mathematical reasoning forcomputer science majors. Computers in EducationJournal, 2(4):1–6, 1992.[14] C.W. Ueberhuber. Numerical Computation.Methods, Software, and Analysis. Springer-Ver<strong>la</strong>g, 1997.


Un enfoque algorítmico para enseñar “Visión por Computador”en <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> InformáticaA. B. Moreno, A. Sánchez, J. VélezDept. <strong>de</strong> Ciencias Experimentales e IngenieríaUniversidad Rey Juan Carlos28933 Móstoles (Madrid), Spaine-mail: a.b.moreno@escet.urjc.es, an.sanchez@escet.urjc.es, j.velez@escet.urjc.esResumenEste artículo <strong>de</strong>scribe el enfoque y <strong>de</strong>sarrollo <strong>de</strong>un curso sobre “Visión por Computador”,impartido en el tercer curso <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ciónIngeniería Técnica en Informática <strong>de</strong> Sistemas<strong>de</strong> <strong>la</strong> Universidad Rey Juan Carlos <strong>de</strong> Madrid.El artículo refleja nuestro punto <strong>de</strong> vista yexperiencia sobre cómo enseñar esta materiainterdisciplinar a los alumnos <strong>de</strong> titu<strong>la</strong>cionesinformáticas, con vistas a una mejorcomprensión <strong>de</strong> <strong>la</strong>s operaciones habituales sobreimágenes así como <strong>de</strong> los algoritmos másapropiados para implementar<strong>la</strong>s. Lasaplicaciones <strong>de</strong> “Tratamiento <strong>de</strong> Imágenes” y <strong>de</strong>“Visión por Computador” han adquirido unagran importancia por sus múltiples usos enentornos industriales. Al mismo tiempo, ofrecena los estudiantes <strong>la</strong> posibilidad <strong>de</strong> utilizar susconocimientos sobre algoritmia para abordar<strong>la</strong>s.Mostrar <strong>la</strong> re<strong>la</strong>ción entre lo aprendido en cursosprevios sobre “Algoritmos y Estructuras <strong>de</strong>Datos” con los diversos problemas <strong>de</strong> “Visiónpor Computador” estudiados en esta asignatura,contribuye a que el curso resulte más interesantepara los alumnos.1. IntroducciónEn los cursos introductorios sobre “TratamientoDigital <strong>de</strong> Imágenes” y “Visión porComputador” se estudian los procesossistemáticos que, aplicados sobre una imagendigital producen otra imagen modificada másapropiada para cierto propósito (por ejemplo,para ser visualizada, analizada, comprimida,etc.). Se trata <strong>de</strong> un área con múltiplesaplicaciones en diversas disciplinas tantocientíficas (biología, astronomía, meteorología,medicina...) como industriales (robótica,procesamiento <strong>de</strong> documentos, arte,biometría...)[5]. Como en otras áreas científicas,los problemas <strong>de</strong> “Visión por Computador” sepue<strong>de</strong>n resolver <strong>de</strong> una manera metódica yestructurada. El análisis y el diseño eficiente <strong>de</strong>los algoritmos usados en <strong>la</strong>s aplicaciones quetrabajan sobre imágenes son componentescríticos en toda metodología <strong>de</strong> procesamiento<strong>de</strong> imágenes. Dado el elevado número <strong>de</strong>aplicaciones que manipu<strong>la</strong>n imágenes, resultaapropiado para un estudiante <strong>de</strong> IngenieríaInformática, conseguir conocimientos prácticossobre <strong>la</strong>s operaciones más importantes <strong>de</strong>tratamiento <strong>de</strong> imágenes y sobre <strong>la</strong> maneraeficiente <strong>de</strong> implementar dichas operaciones.Estos conocimientos se pue<strong>de</strong>n utilizar yampliar en materias afines, por ejemplo, encursos más avanzados <strong>de</strong> “Visión Artificial” o<strong>de</strong> “Robótica”.El enfoque propuesto en este trabajo se haaplicado a <strong>la</strong> asignatura “Visión Computacional”<strong>de</strong> Ingeniería Técnica en Informática <strong>de</strong>Sistemas <strong>de</strong> <strong>la</strong> Universidad Rey Juan Carlos.Esta asignatura es optativa, y se imparte en eltercer curso <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción durante uncuatrimestre (14 semanas) con tres horaslectivas por semana. El curso está estructuradoen c<strong>la</strong>ses teóricas y prácticas. La teoría <strong>de</strong>be seraprobada mediante un examen escrito. La partepráctica está organizada en dos partesprincipales: (1) una práctica <strong>de</strong> tratamiento <strong>de</strong>


imágenes que cada alumno realiza <strong>de</strong> formaindividual, y (2) un proyecto consistente en unaaplicación <strong>de</strong> “Visión por Computador” para serrealizado por grupos <strong>de</strong> tres alumnos. Para <strong>la</strong>sprácticas se requiere el conocimiento <strong>de</strong> unlenguaje <strong>de</strong> programación estructurada <strong>de</strong> altonivel (preferentemente Pascal o C). Dichoconocimiento se consigue cursando otrasasignaturas troncales como “Metodología <strong>de</strong> <strong>la</strong>Programación” y “Estructuras <strong>de</strong> Datos y <strong>de</strong> <strong>la</strong>Información”, impartidas respectivamente en loscursos primero y segundo <strong>de</strong> <strong>la</strong> carrera. Para <strong>la</strong>realización <strong>de</strong> los proyectos propuestos, esposible usar <strong>la</strong>s librerías <strong>de</strong> software disponiblespara el curso: MATLAB [9] y <strong>la</strong> biblioteca <strong>de</strong>funciones MIL <strong>de</strong> <strong>la</strong> tarjeta digitalizadoraMeteor 2/4 Matrox [10] para prototipado y<strong>de</strong>sarrollo rápido <strong>de</strong> programas.A continuación se <strong>de</strong>scribe <strong>la</strong> estructura <strong>de</strong>lresto <strong>de</strong>l artículo. La sección 2 resume nuestrasi<strong>de</strong>as generales sobre <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> “VisiónComputacional” en titu<strong>la</strong>ciones informáticas. Lasección 3 <strong>de</strong>scribe los elementos <strong>de</strong> teoría <strong>de</strong>lcurso. En <strong>la</strong> sección 4 se presentan variosejemplos <strong>de</strong> prácticas propuestas en el curso. En<strong>la</strong> sección 5 se <strong>de</strong>scriben algunas propuestas <strong>de</strong>proyectos en grupo sobre aplicaciones reales <strong>de</strong>visión por computador, don<strong>de</strong> se pone énfasis enlos requerimientos <strong>de</strong> corrección y eficiencia <strong>de</strong><strong>la</strong>s soluciones programadas. Finalmente, <strong>la</strong>sección 6 resume <strong>la</strong>s conclusiones extraídas <strong>de</strong>nuestra experiencia.2. Reflexiones sobre <strong>la</strong> enseñanza <strong>de</strong>“Visión por Computador” en titu<strong>la</strong>cionesinformáticas.Como hemos indicado, <strong>la</strong> “Visión porComputador” es una materia interdisciplinar.Está re<strong>la</strong>cionada con <strong>la</strong> informática, <strong>la</strong>smatemáticas y <strong>la</strong> ingeniería, y también con otrasáreas don<strong>de</strong> se pue<strong>de</strong> aplicar (por ejemplo, <strong>la</strong>medicina o <strong>la</strong> geología). Este carácterinterdisciplinar convierte a <strong>la</strong> asignatura enatractiva y <strong>de</strong> gran utilidad profesional pero, porotro <strong>la</strong>do, hace difícil el diseño <strong>de</strong> cursosbasados en tratamiento <strong>de</strong> imágenes y visióncomputacional. En consecuencia, el profesorado<strong>de</strong>be optar inevitablemente por diferentesenfoques, por lo que los simples objetivos <strong>de</strong> <strong>la</strong>asignatura pue<strong>de</strong>n variar muchísimo. En nuestrocaso, al encontrarnos en una titu<strong>la</strong>ción <strong>de</strong>informática y tratarse a<strong>de</strong>más <strong>de</strong> un primer cursoen el área <strong>de</strong> <strong>la</strong> “Visión por Computador”,nuestro p<strong>la</strong>nteamiento consiste principalmenteen introducir los problemas y técnicas <strong>de</strong>ltratamiento digital <strong>de</strong> imágenes y visiónartificial <strong>de</strong>s<strong>de</strong> una perspectiva algorítmica.Otras consi<strong>de</strong>raciones a tener en cuenta alp<strong>la</strong>nificar los contenidos y <strong>la</strong> orientación <strong>de</strong>lcurso son <strong>la</strong>s siguientes:• La visión computacional es una materia “enauge”.Actualmente muchas empresas tienen unaopinión bastante positiva sobre el futuro <strong>de</strong> <strong>la</strong>tecnología <strong>de</strong>l tratamiento <strong>de</strong> imágenes. Suimportancia está no so<strong>la</strong>mente en elreconocimiento <strong>de</strong> objetos y en <strong>la</strong>interpretación <strong>de</strong> imágenes, sino en otroscampos como: <strong>la</strong> realidad virtual, Internet y<strong>la</strong>s bases <strong>de</strong> datos <strong>de</strong> imágenes.• Los estudiantes necesitan algo más que teoría.Aunque existe una parte teórica <strong>de</strong> <strong>la</strong> visióncomputacional que está bien <strong>de</strong>finida, senecesita imperativamente un trabajo <strong>de</strong><strong>la</strong>boratorio y <strong>de</strong> proyectos <strong>de</strong> visión con unaorientación sobre los sistemas. Hacen faltaprácticas cortas para familiarizar a losalumnos con cámaras, tarjetas digitalizadoras,etc. Se necesita <strong>de</strong>dicar tiempo a explicar a losalumnos proyectos reales que se puedanresolver (así como su solución) usandotécnicas <strong>de</strong> “Visión por Computador”. En <strong>la</strong>ssoluciones es importante hacer énfasis en losaspectos <strong>de</strong> eficiencia y tiempo <strong>de</strong> respuesta<strong>de</strong>l sistema implementado.• ¿Qué enseñar?Este curso suele ofertarse como materiaoptativa en los últimos años <strong>de</strong> titu<strong>la</strong>cionesinformáticas (ingenierías técnicas, ingenieríasuperiores o licenciaturas). La maneratradicional <strong>de</strong> ofrecer <strong>la</strong> materia es mediantec<strong>la</strong>ses magistrales <strong>de</strong> teoría y <strong>la</strong> realización <strong>de</strong>prácticas <strong>de</strong> <strong>la</strong>boratorio. En nuestra propuesta,a<strong>de</strong>más <strong>de</strong> consi<strong>de</strong>rarse el enfoque tradicional,se aporta como novedad el uso <strong>de</strong> técnicas <strong>de</strong>diseño <strong>de</strong> algoritmos y <strong>de</strong> otros elementos


algorítmicos para analizar y resolverproblemas re<strong>la</strong>cionados con los contenidos <strong>de</strong><strong>la</strong> asignatura.• ¿Cómo enseñar?Al impartir cursos re<strong>la</strong>cionados con estamateria hay que usar presentacionesinteractivas que permitan <strong>la</strong> visualización <strong>de</strong>lproblema y ofrecer prácticas que tuviesenre<strong>la</strong>ción con problemas reales <strong>de</strong> visiónartificial.3. Elementos <strong>de</strong> teoría <strong>de</strong>l cursoComo se ha seña<strong>la</strong>do, este curso está orientadoa estudiantes <strong>de</strong> Ingeniería Técnica enInformática, durante un cuatrimestre y tieneasignadas tres horas lectivas semanales (<strong>de</strong> <strong>la</strong>scuales se <strong>de</strong>stina aproximadamente el 50% <strong>de</strong>ltiempo a teoría y a prácticas). Aunque nuestroenfoque es bastante práctico, tambiénconsi<strong>de</strong>ramos necesario explicar losfundamentos teóricos básicos <strong>de</strong>l tratamiento <strong>de</strong>imágenes digitales y <strong>la</strong> visión por computador.Durante el curso se utilizan varios textos,aunque no encontramos ninguno “i<strong>de</strong>al” para elcurso completo. El libro más utilizado ha sidoGonzález y Woods [4]. Otros libros <strong>de</strong> textocomplementarios son Jain et al. [6], Baxes [1], yMaravall [8]. A continuación, se muestra unesbozo <strong>de</strong> los temas cubiertos en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>teoría junto con el número <strong>de</strong> semanas <strong>de</strong>dicadasa cada tema (entre paréntesis):1. Introducción: problemas y aplicaciones (1)2. Adquisición <strong>de</strong> imágenes digitales (1)3. Muestreo y cuantización <strong>de</strong> imágenes (1)4. Realce y restauración <strong>de</strong> imágenes (3)· operaciones <strong>de</strong> tratamiento a nivel <strong>de</strong>píxeles y <strong>de</strong> regiones,· transformaciones geométricas sobreimágenes,· tratamiento en el dominio <strong>de</strong> <strong>la</strong> frecuencia.5. Análisis <strong>de</strong> imágenes (3):· segmentación,· extracción <strong>de</strong> características,· reconocimiento <strong>de</strong> formas.6. Compresión <strong>de</strong> imágenes (2):· métodos <strong>de</strong> compresión con y sin pérdida.7. Aspectos avanzados (3):· morfología matemática,· introducción a <strong>la</strong> visión tridimensional,· visualización <strong>de</strong> datos.Al explicar el temario <strong>de</strong>l curso, nospo<strong>de</strong>mos beneficiar <strong>de</strong>l conocimiento recibidopor los alumnos en cursos previos como los <strong>de</strong>“Metodología <strong>de</strong> <strong>la</strong> Programación” y“Estructuras <strong>de</strong> Datos y <strong>de</strong> <strong>la</strong> Información”. Porejemplo, <strong>la</strong>s técnicas <strong>de</strong> diseño <strong>de</strong> algoritmos sepodrían re<strong>la</strong>cionar con ejemplos <strong>de</strong> algoritmosrepresentativos explicados en nuestro curso <strong>de</strong>“Visión Computacional”. Pensamos que estaintegración, cuando se pueda llevar a <strong>la</strong> práctica,resulta ventajosa para el aprendizaje <strong>de</strong> <strong>la</strong>sdiferentes asignaturas interre<strong>la</strong>cionadas. A modoac<strong>la</strong>ratorio, <strong>la</strong> Tab<strong>la</strong> 1 muestra algunos ejemplossobre cómo integrar <strong>la</strong>s técnicas <strong>de</strong> diseño <strong>de</strong>algoritmos en nuestro curso.Cuando <strong>la</strong>s diferentes operaciones sobreimágenes se explican en <strong>la</strong>s c<strong>la</strong>ses teóricas, semotiva a los alumnos con ejemplos prácticos yse muestra el carácter interdisciplinar <strong>de</strong> <strong>la</strong>asignatura mediante diversos ejemplos <strong>de</strong>aplicaciones industriales reales. Algunos <strong>de</strong>estos ejemplos simplificados se han utilizadocomo proyectos, para ser realizados por grupos<strong>de</strong> alumnos al final <strong>de</strong>l curso.Nosotros consi<strong>de</strong>ramos importante recalcarlos aspectos <strong>de</strong> eficiencia <strong>de</strong> los algoritmos <strong>de</strong>imágenes. Tal vez, un algoritmo inicial diseñadousando una técnica particu<strong>la</strong>r no es aplicabledirectamente en <strong>la</strong> práctica. Por ejemplo, estoocurre cuando se usa “backtracking” con objeto<strong>de</strong> implementar un método <strong>de</strong> etiquetado <strong>de</strong>regiones conexas en una imagen digital. En estecaso, se i<strong>de</strong>ntificará y explicará un algoritmomás eficiente, basado en el uso <strong>de</strong> <strong>la</strong>programación dinámica. Es útil para losestudiantes aplicar esta estrategia <strong>de</strong>“refinamiento” <strong>de</strong> <strong>la</strong> solución para <strong>de</strong>scubrir unmejor algoritmo con respecto a losrequerimientos <strong>de</strong> tiempo <strong>de</strong> ejecución ymemoria.


Técnica <strong>de</strong> diseño algorítmica Ejemplo <strong>de</strong> su uso en <strong>la</strong> asignaturaDivi<strong>de</strong>-y-vencerásTécnica vorazBacktrackingProgramación dinámicaTransformación <strong>de</strong>l dominioFiltro <strong>de</strong> mediana (realzado)Split-and-merge (segmentación)Códigos <strong>de</strong> Huffman (compresión)Árbol <strong>de</strong> recubrimiento (c<strong>la</strong>sificación)Componentes conexas (reconocimiento)Crecimiento <strong>de</strong> regiones (segmentación)Contorno óptimo (extracción <strong>de</strong> características)Detección <strong>de</strong> líneas (extracción <strong>de</strong> características)FFT (filtrado en el dominio frecuencial)Transformada <strong>de</strong> Hough (segmentación)Tab<strong>la</strong> 1. Técnicas <strong>de</strong> diseño <strong>de</strong> algoritmos asociadas a distintos ejemplos <strong>de</strong>procesamiento <strong>de</strong> imágenes.4. Prácticas <strong>de</strong>l cursoEl curso requiere ser complementado conprácticas <strong>de</strong> <strong>la</strong>boratorio y con proyectosprácticos. En nuestra universidad, este curso seimpartió por primera vez entre Octubre <strong>de</strong> 1999y Febrero <strong>de</strong> 2000. Debido al reducido número<strong>de</strong> estudiantes (aproximadamente veintesiguieron el curso), los recursos <strong>de</strong> hardware ysoftware disponibles eran reducidos. Estos hanconsistido en cuatro PC (Pentium III) cada unocon una tarjeta digitalizadora Matrox, doscámaras <strong>de</strong> ví<strong>de</strong>o convencionales, MATLAB yel software <strong>de</strong> digitalización y tratamiento <strong>de</strong>imágenes Matrox Imaging Libraries (MIL).Las prácticas <strong>de</strong> <strong>la</strong>boratorio consisten en <strong>la</strong>realización <strong>de</strong> una o varias operaciones básicas,<strong>de</strong>scritas previamente en <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría,sobre imágenes digitales. Tras <strong>la</strong> <strong>de</strong>scripción enprofundidad <strong>de</strong> una c<strong>la</strong>se <strong>de</strong> operaciones sobreimágenes y sus algoritmos asociados, el énfasisse pone en ayudar a los alumnos a <strong>de</strong>scubrircómo implementar estas operaciones. Es muyimportante recalcar <strong>la</strong> eficiencia <strong>de</strong> losalgoritmos <strong>de</strong> imágenes [7]. Tal vez unalgoritmo diseñado inicialmente, <strong>de</strong> formamenos eficiente, usando una técnica particu<strong>la</strong>rno sea aplicable en <strong>la</strong> práctica. En este punto, seexplicará un nuevo algoritmo más apropiadopara <strong>la</strong> resolución <strong>de</strong>l mismo problema.Nosotros consi<strong>de</strong>ramos útil que los estudiantesaprendan “por refinamiento” a i<strong>de</strong>ntificar unmejor algoritmo en re<strong>la</strong>ción con losrequerimientos <strong>de</strong> tiempo y memoria.Estas prácticas propuestas son individuales ydiferentes para cada alumno. Cada enunciado <strong>de</strong>práctica contiene una <strong>de</strong>scripción corta <strong>de</strong> supropósito, los datos <strong>de</strong> entrada, los resultadosque <strong>de</strong>be proporcionar, y en algunos casos <strong>la</strong>(s)técnica(s) <strong>de</strong> diseño <strong>de</strong> algoritmo(s) que se han<strong>de</strong> utilizar con objeto <strong>de</strong> tener unaimplementación más eficiente. Muchas <strong>de</strong> <strong>la</strong>sprácticas están orientadas a una técnica <strong>de</strong>diseño específica (por ejemplo, “divi<strong>de</strong> yvencerás”, búsqueda con retroceso, etc.), y losestudiantes <strong>de</strong>bían explicar también por qué <strong>la</strong>técnica elegida resulta aplicable en re<strong>la</strong>ción con<strong>la</strong> eficiencia <strong>de</strong> <strong>la</strong> solución. De <strong>la</strong>s prácticaspropuestas en el curso, resumimos tres acontinuación.• Componentes conexas <strong>de</strong> una imagen:Una <strong>de</strong> <strong>la</strong>s operaciones más comunes entratamiento <strong>de</strong> imágenes digitales consiste enencontrar <strong>la</strong>s componentes conexas en unaimagen [5]. Por ejemplo, en tareas <strong>de</strong>segmentación, los puntos (píxeles) en unacomponente conexa forman una región


candidata para representar un objeto (o parte<strong>de</strong> él) en una imagen. Un algoritmo <strong>de</strong>etiquetado <strong>de</strong> componentes conexas encuentratodas <strong>la</strong>s componentes <strong>de</strong> una imagen y asignauna única etiqueta a todos los puntos que estánen <strong>la</strong> misma componente. En esta práctica, sepi<strong>de</strong> a los alumnos que diseñen e implementenun algoritmo recursivo para el problemapropuesto siguiendo el esquema <strong>de</strong>“backtracking” o búsqueda con retroceso [2],dado un píxel <strong>de</strong> comienzo. También se pi<strong>de</strong> alos estudiantes que i<strong>de</strong>ntifiquen otro algoritmoequivalente y más eficiente (no recursivo)usando una estructura <strong>de</strong> datos auxiliar (árbolcuaternario o “quadtree”) para almacenar losvecinos <strong>de</strong> cada píxel. La Figura 1 muestrauna imagen binaria y su correspondienterepresentación usando un “quadtree”.• Filtro <strong>de</strong> mediana:El filtro <strong>de</strong> mediana es un filtro <strong>de</strong> rango, quesustituye cada píxel <strong>de</strong> una imagen por <strong>la</strong>mediana <strong>de</strong> los valores <strong>de</strong> gris en su vecindadlocal [1]. Si <strong>la</strong> vecindad <strong>de</strong> un píxel seconsi<strong>de</strong>ra <strong>de</strong> tamaño 3×3, esta región se pue<strong>de</strong>convertir en un vector, que se or<strong>de</strong>na primeropor valores <strong>de</strong> intensidad no <strong>de</strong>creciente, yluego se selecciona el valor <strong>de</strong> intensidadsituado en <strong>la</strong> posición mediana <strong>de</strong> dichovector. Se pi<strong>de</strong> a los estudiantes que diseñenun algoritmo <strong>de</strong> or<strong>de</strong>nación eficiente que siga<strong>la</strong> técnica “divi<strong>de</strong> y vencerás” [2] para obtener<strong>la</strong> mediana, y luego se aplica dicho filtro atoda <strong>la</strong> imagen original para obtener una nuevaimagen filtrada.• Códigos <strong>de</strong> Huffman:El objetivo <strong>de</strong> esta práctica es construir <strong>la</strong>representación comprimida <strong>de</strong> una imagenmediante <strong>la</strong> técnica <strong>de</strong> los códigos <strong>de</strong> Huffman[4]. La compresión <strong>de</strong> Huffman [3] <strong>de</strong> unaimagen es una técnica <strong>de</strong> codificación sinpérdida. Los valores <strong>de</strong> intensidad cada píxelson sustituidos por códigos <strong>de</strong> longitudvariable basados en <strong>la</strong> frecuencia <strong>de</strong>ocurrencia para cada valor <strong>de</strong> intensidad en <strong>la</strong>imagen dada. Una tarea inicial para losestudiantes consiste en obtener el histograma<strong>de</strong> <strong>la</strong> imagen con <strong>la</strong>s frecuencias <strong>de</strong> ocurrencia<strong>de</strong> cada valor <strong>de</strong> intensidad en <strong>la</strong> imagen. Sesugiere, a continuación, un algoritmo voraz[2][3] que permita asignar los códigos máscortos a los valores <strong>de</strong> intensidad conocurrencias más frecuentes. Finalmente, hayque realizar un análisis <strong>de</strong> <strong>la</strong> eficiencia <strong>de</strong><strong>la</strong>lgoritmo <strong>de</strong>sarrol<strong>la</strong>do.5. Proyectos <strong>de</strong>l cursoEn esta sección se <strong>de</strong>scriben <strong>de</strong> formasimplificada algunos proyectos propuestos que<strong>de</strong>ben ser realizados por los alumnos, en grupos<strong>de</strong> tres personas, asignándose a cada grupo <strong>de</strong>trabajo un proyecto diferente. El principalobjetivo <strong>de</strong> estos proyectos, es abordar <strong>la</strong>realización <strong>de</strong> aplicaciones reales simplificadas.Estos proyectos en grupo son una excelenteoportunidad para que los alumnos intercambienconocimientos <strong>de</strong> <strong>la</strong> asignatura con suscompañeros y practiquen <strong>la</strong>s técnicas yalgoritmos estudiados durante el curso. Tambiénhemos recalcado que en <strong>la</strong>s aplicacionesindustriales el tiempo <strong>de</strong> cálculo es un factorcrítico [7]. Para motivar a los estudiantes sobre<strong>la</strong> importancia <strong>de</strong> implementar programasFigura 1. Ejemplo <strong>de</strong> una imagen binaria y su correspondiente representación “quadtree” para segmentar<strong>la</strong>.


eficientes, se les pi<strong>de</strong> algún tipo <strong>de</strong> medida <strong>de</strong>los tiempos <strong>de</strong> ejecución. En particu<strong>la</strong>r, cadagrupo <strong>de</strong> alumnos <strong>de</strong>be estimar <strong>la</strong> complejidadcomputacional <strong>de</strong> los algoritmos <strong>de</strong> imágenesinvolucrados en su proyecto particu<strong>la</strong>r. A<strong>de</strong>más,el tiempo <strong>de</strong> ejecución <strong>de</strong> los programas<strong>de</strong>sarrol<strong>la</strong>dos se <strong>de</strong>be calcu<strong>la</strong>r (usando unafunción <strong>de</strong> tiempo, como el comando UNIXtime o el más sofisticado gethrtime). Delos proyectos propuestos resumimos brevementedos <strong>de</strong> ellos a continuación.• Reconstrucción morfológica <strong>de</strong> imágenes <strong>de</strong>códigos <strong>de</strong> barras:Leer un código <strong>de</strong> barras <strong>de</strong> una imagen queha sido escaneada previamente es un problemabien conocido en <strong>la</strong> práctica. Dicho problemalleva asociados otros <strong>de</strong>bidos a <strong>la</strong> técnica noespecificada usada por los escáneres paracapturar <strong>la</strong>s imágenes. Generalmente, éstoscapturan <strong>la</strong>s imágenes en niveles <strong>de</strong> gris,mientras que los lectores <strong>de</strong> códigos <strong>de</strong> barrastrabajan sobre imágenes binarias(monocromas, o en b<strong>la</strong>nco y negro). Laconversión <strong>de</strong> una imagen en niveles <strong>de</strong> gris auna imagen binaria se <strong>de</strong>nominaumbralización. Los escáneres avanzados usanprocedimientos <strong>de</strong> umbralización regionalpara tal operación. Dichos métodos realzan <strong>la</strong>calidad visual <strong>de</strong> <strong>la</strong>s imágenes eliminandozonas oscuras homogéneas. Sin embargo,tienen efectos perniciosos sobre los códigos <strong>de</strong>barras, precisamente porque los códigos <strong>de</strong>barras son zonas oscuras homogéneas (comose observa en <strong>la</strong> Figura 2).Para el realce <strong>de</strong> <strong>la</strong> región <strong>de</strong> <strong>la</strong> imagen quecontiene el código <strong>de</strong> barras, los alumnos han<strong>de</strong> proponer e implementar un procedimiento<strong>de</strong> reconstrucción. Primero, el sistema <strong>de</strong>beencontrar <strong>la</strong> región <strong>de</strong> <strong>la</strong> imagen que contieneel código <strong>de</strong> barras (por ejemplo usando unalgoritmo <strong>de</strong> “split-and-merge”). Luego, seaplica un procedimiento <strong>de</strong> reconstrucción(por ejemplo basado en <strong>la</strong> operación <strong>de</strong>di<strong>la</strong>tación morfológica). El tiempo total <strong>de</strong>respuesta <strong>de</strong>be ser menor que un segundo porimagen en un PC estándar.• Extracción automática <strong>de</strong> ayudas visuales enimágenes <strong>de</strong> pistas <strong>de</strong> aterrizaje:Un sistema que realiza extracción automática<strong>de</strong> objetos relevantes en imágenes <strong>de</strong> pistas <strong>de</strong>aterrizaje tiene numerosas aplicaciones. Pue<strong>de</strong>ser útil en aplicaciones <strong>de</strong> importanciapráctica, como el mantenimiento automático<strong>de</strong> <strong>la</strong> iluminación <strong>de</strong> <strong>la</strong>s pistas <strong>de</strong> vuelo o paraasistir al piloto en aviones no equipados conILS (Sistemas <strong>de</strong> Aterrizaje Instrumental, eninglés “Instrumental Landing Systems”). Parasimplificar el problema, sólo se consi<strong>de</strong>ranimágenes nocturnas <strong>de</strong> pistas <strong>de</strong> vuelo, <strong>de</strong>manera que aparecen iluminadasartificialmente para <strong>de</strong>stacar los elementos <strong>de</strong>interés (ver Figura 3).Se pi<strong>de</strong> a los alumnos que construyan unsistema que haga una extracción automática <strong>de</strong>ciertos objetos luminosos relevantes enimágenes <strong>de</strong> pistas <strong>de</strong> aterrizaje, agrupando losobjetos en líneas (ver Figuras 3 y 4). Laorganización <strong>de</strong> este proyecto tiene dos etapasFigura 2. En <strong>la</strong> imagen <strong>de</strong> <strong>la</strong> izquierda, se muestra un código <strong>de</strong> barras <strong>de</strong>gradado <strong>de</strong>bido al uso <strong>de</strong> umbralizaciónregional. En <strong>la</strong> imagen <strong>de</strong> <strong>la</strong> <strong>de</strong>recha, se muestra el resultado <strong>de</strong> <strong>la</strong> construcción <strong>de</strong>l mismo código <strong>de</strong> barras usandouna di<strong>la</strong>tación morfológica.


Figura 3. Imagen final segmentada con <strong>la</strong>s ayudas visuales luminosas <strong>de</strong>tectadas y agrupadas en líneas.principales: 1) segmentación <strong>de</strong> <strong>la</strong>s ayudasvisuales luminosas (por ejemplo usando unprocedimiento <strong>de</strong> umbralización), y 2)asociación en líneas <strong>de</strong> elementos <strong>de</strong> luzencontrados (por ejemplo utilizando <strong>la</strong>transformada <strong>de</strong> Hough) según un mo<strong>de</strong>lopropuesto <strong>de</strong> pista <strong>de</strong> aterrizaje.6. ConclusionesEste trabajo presenta un curso introductorio a <strong>la</strong>“Visión por Computador” con una marcadaorientación algorítmica y práctica. Losrequisitos <strong>de</strong> eficiencia (en tiempo <strong>de</strong> respuestay memoria) <strong>de</strong> <strong>la</strong>s aplicaciones son muyimportantes y restrictivos en los algoritmos <strong>de</strong>Imagen <strong>de</strong> <strong>la</strong> pista <strong>de</strong> aterrizajeSegmentación <strong>de</strong> bajo nivel <strong>de</strong> los puntos <strong>de</strong> luzBase <strong>de</strong> datos <strong>de</strong> posibles luces <strong>de</strong> <strong>la</strong> pistaBúsqueda <strong>de</strong> <strong>la</strong> línea central y c<strong>la</strong>sificación <strong>de</strong><strong>la</strong>s luces <strong>de</strong> <strong>la</strong> pistaHipótesis <strong>de</strong> <strong>la</strong> mejor línea central (eje) y base <strong>de</strong>datos <strong>de</strong> luces <strong>de</strong> pistaBúsqueda <strong>de</strong> agrupaciones <strong>de</strong> lucesperpendicu<strong>la</strong>res a <strong>la</strong> línea central <strong>de</strong> <strong>la</strong> pista(TDZ y PAPI)Grupos <strong>de</strong> luces <strong>de</strong> <strong>la</strong> pista (TDZ y PAPI)Estimación <strong>de</strong>l final <strong>de</strong> <strong>la</strong> pistaPosición aproximada <strong>de</strong>l final <strong>de</strong> <strong>la</strong> pistaBúsqueda <strong>de</strong> líneas <strong>la</strong>teralesPosición <strong>de</strong> <strong>la</strong>s líneas <strong>la</strong>teralesElementos <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> pista: ayudasvisuales relevantesFigura 4. Diagrama <strong>de</strong> bloques <strong>de</strong>l método propuesto <strong>de</strong> extracción automática <strong>de</strong> ayudas visuales relevantes.


visión. Por ello, los alumnos tienen que serconscientes <strong>de</strong> lo importante que es el uso <strong>de</strong>algoritmos eficientes en sistemas <strong>de</strong> tratamiento<strong>de</strong> imágenes. Las técnicas <strong>de</strong> diseño <strong>de</strong>algoritmos pue<strong>de</strong>n ayudar a i<strong>de</strong>ar dichosalgoritmos y, en algunos casos, también ofrecen<strong>la</strong>s soluciones óptimas para un problema <strong>de</strong>tratamiento <strong>de</strong> imágenes. Las propuestas <strong>de</strong>proyectos para ser realizados por grupos <strong>de</strong>alumnos, estaban pensadas comosimplificaciones <strong>de</strong> aplicaciones industrialesreales, lo que motivó enormemente a losalumnos <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción informática. Estotambién les ha permitido analizar e implementar<strong>de</strong> forma sistemática y estructurada solucionesrealistas. En algunos casos, parte <strong>de</strong> losproyectos <strong>de</strong> este curso han sido tambiéndiseñados y implementados eficientementeusando técnicas <strong>de</strong> diseño <strong>de</strong> algoritmos.El énfasis puesto en <strong>la</strong> re<strong>la</strong>ción entreimágenes y algoritmos ha hecho que el curso seamás atractivo para los alumnos informáticos,quienes a<strong>de</strong>más se han acercado a aplicaciones<strong>de</strong> <strong>la</strong> industria. El enfoque algorítmico adoptadoha dado como resultado un porcentaje alto <strong>de</strong>alumnos aprobados en <strong>la</strong> asignatura.Esperamos mejorar este curso cuando sevuelva a impartir en los próximos años.Referencias[1] G.A. Baxes, Digital Image Processing.Principles and Applications, J. Wiley, 1994.[2] G. Brassard y P. Bratley, Algorithmics.Theory and Practice, Prentice-Hall, 1988.[3] T. H. Cormen, C. E. Leiserson y R. L.Rivest, Introduction to Algorithms, The MITPress, 1990.[4] R.C. González y R.E. Woods, Digital ImageProcessing, Addison-Wesley, 1992.[5] A.K. Jain, Fundamentals of Digital ImageProcessing, Prentice-Hall, 1989.[6] R. Jain, R. Kasturi y B.G. Schunk, MachineVision, McGraw Hill, 1995.[7] I. Kabir, High Performance ComputerImaging, Manning, 1997.[8] D. Maravall, Reconocimiento <strong>de</strong> Formas yVisión Artificial, Ed. Ra-ma, 1993.[9] The MathWorks Inc., Mat<strong>la</strong>b v. 5.1, 1997.[10] Matrox Electronic Systems Ltd, MatroxImaging Library Reference Manual, Ver 6.1,1999, http://www.matrox.com/imaging/prod/mil/.


Organización curricu<strong>la</strong>ry p<strong>la</strong>nes <strong>de</strong> estudio


Enfoque diacrónico para <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> programaciónimperativaL. Fernán<strong>de</strong>z Muñoz (a), R. Peña (b), F. Nava (c), Á. Velázquez Iturbi<strong>de</strong> (c)(a) Dept. LPSI. Universidad Politécnica. 28071 Madrid e-mail: setillo@eui.upm.es(b) Facultad <strong>de</strong> Documentación. Universidad <strong>de</strong> Alcalá. 28871 Madrid e-mail: rpr@uah.es(c) Escue<strong>la</strong> Superior <strong>de</strong> Ciencias Experimentales. Universidad Rey Juan Carlos. 28933 Madri<strong>de</strong>-mail: {f.j.nava,a.ve<strong>la</strong>zquez}@escet.urjc.esResumenPresentamos una alternativa para enseñar <strong>la</strong>programación imperativa no orientada aparadigmas; proponemos un enfoque diacrónicobasado en <strong>la</strong> exposición justificada <strong>de</strong> cadaconstructor <strong>de</strong> los lenguajes <strong>de</strong> programación através <strong>de</strong> su evolución histórica, motivada porlos conceptos recurrentes que subyacen a losmecanismos particu<strong>la</strong>res <strong>de</strong> cualquierparadigma.Especificamos los objetivos que <strong>de</strong>beperseguir esta docencia, así como los contenidosque <strong>de</strong>be cubrir. Para alcanzar los objetivosempleamos herramientas <strong>de</strong> <strong>de</strong>sarrollo yvisualización <strong>de</strong>l software, sobre un lenguajeflexible que se a<strong>de</strong>cua sintácticosemánticamenteal avance <strong>de</strong> <strong>la</strong> exposición <strong>de</strong> <strong>la</strong>materia. La a<strong>de</strong>cuación <strong>de</strong>l lenguaje a losconceptos impartidos minimiza el tiempo<strong>de</strong>dicado al aprendizaje <strong>de</strong> su sintaxis y losrecursos pedagógicos empleados ayudan aasentar los conocimientos.La estructura propuesta elimina <strong>la</strong> dificultadque supone el cambio <strong>de</strong> paradigma, encontradaen experiencias que presentan el paradigmaprocedimental en primer curso y el orientado aobjetos (OO) en segundo, y <strong>la</strong> sobrecarga inicial<strong>de</strong> conceptos que implica empezar directamentecon el paradigma orientado a objetos.1. IntroducciónEn el momento actual existe un fuerte <strong>de</strong>bate entorno a <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>programación imperativa en los primeros cursos<strong>de</strong> los estudios <strong>de</strong> informática. En un trabajoprevio [6] hemos analizado <strong>la</strong>s experienciasdocentes publicadas, tropezando coninconvenientes que impi<strong>de</strong>n seleccionar, entreel<strong>la</strong>s, el enfoque a<strong>de</strong>cuado.Enten<strong>de</strong>mos que <strong>la</strong> discusión sobre <strong>la</strong>p<strong>la</strong>nificación no <strong>de</strong>be centrarse en el paradigmaa presentar en primer lugar, o en el lenguajeempleado para <strong>la</strong>s prácticas, sino en losobjetivos perseguidos y en el modo <strong>de</strong>conseguirlos, por lo que realizamos una nuevapropuesta docente.Este artículo se inicia presentando muybrevemente, en su apartado 2, los problemas quep<strong>la</strong>ntean otras propuestas docentes. El apartado3 <strong>de</strong>scribe el enfoque diacrónico: sus objetivos y<strong>la</strong> p<strong>la</strong>nificación <strong>de</strong>l contenido a impartir. E<strong>la</strong>partado 4 <strong>de</strong>scribe <strong>la</strong> metodología a<strong>de</strong>cuadapara <strong>la</strong> consecución <strong>de</strong> estos objetivos.2. Revisión <strong>de</strong> <strong>la</strong>s experiencias docentespublicadasDurante muchos años el paradigmaprocedimental ha sido el adoptado para el primeracercamiento a <strong>la</strong> programación. En los últimosveinte años <strong>la</strong> mayoría <strong>de</strong> los centros <strong>de</strong>enseñanza universitaria <strong>de</strong> Informática haintegrado conceptos <strong>de</strong> OO en cursos superiores<strong>de</strong> sus p<strong>la</strong>nes <strong>de</strong> estudio. Pero los alumnospresentan dificulta<strong>de</strong>s al cambiar <strong>de</strong> paradigma,viviendo como una ruptura <strong>la</strong> exposición alnuevo, lo que se ha l<strong>la</strong>mado el “problema <strong>de</strong>l<strong>de</strong>sp<strong>la</strong>zamiento <strong>de</strong> paradigma”.Para evitarlo, algunos autores han optadopor experimentar el primer acercamiento a <strong>la</strong>programación directamente <strong>de</strong>s<strong>de</strong> el paradigma


OO. Este enfoque conlleva <strong>la</strong> necesidad <strong>de</strong>exponer muchos y novedosos conceptos a<strong>la</strong>lumno antes <strong>de</strong> po<strong>de</strong>r ponerlos en práctica yasentarlos, por tanto, supone una sobrecarga <strong>de</strong>conceptos que pue<strong>de</strong> resultar <strong>de</strong>sbordante.Algunas <strong>de</strong> <strong>la</strong>s propuestas docentes queempiezan con OO se basan en <strong>la</strong> manipu<strong>la</strong>ción<strong>de</strong> universos virtuales, aprovechando el supuestocarácter "intuitivo" <strong>de</strong>l paradigma orientado aobjetos. Este tratamiento conlleva unasobresimplificación que genera expectativasirreales.Otras experiencias <strong>de</strong> OO <strong>de</strong>s<strong>de</strong> primeroposponen <strong>la</strong> programación, basando el<strong>de</strong>sarrollo <strong>de</strong>l curso en análisis y diseño. Pero ellenguaje <strong>de</strong>termina el pensamiento, y resultaimposible diseñar sin disponer <strong>de</strong> un lenguajesubyacente. La OO es intuitiva porque utiliza losmecanismos habituales en <strong>la</strong> adquisición <strong>de</strong>lconocimiento, pero un diseño eficiente (tanto enel momento <strong>de</strong>l <strong>de</strong>sarrollo, ejecución como en elmantenimiento) no suele ser paralelo a <strong>la</strong>percepción informal <strong>de</strong>l mundo real y, por tanto,un alumno <strong>de</strong> primer curso no está mejorpreparado para compren<strong>de</strong>r este paradigma queotros.Otras propuestas <strong>de</strong> OO en primeroempiezan directamente con programación. Usanpatrones, frameworks y bibliotecas parafomentar <strong>la</strong> abstracción, encapsu<strong>la</strong>ción,modu<strong>la</strong>rización, y reutilización. Los objetivosson buenos, pero sin duda, el empleo <strong>de</strong> estasherramientas requiere <strong>de</strong>l dominio <strong>de</strong> muchosconceptos <strong>de</strong> los que el principiante no dispone.En <strong>la</strong>s propuestas que se centran en<strong>de</strong>sarrollo <strong>de</strong> interfaces gráficas <strong>de</strong> usuario,a<strong>de</strong>más <strong>de</strong>l problema que acabamos <strong>de</strong>mencionar, se maneja un mo<strong>de</strong>lo <strong>de</strong> eventosglobalizado -applets- o una arquitectura sineventos, que no tienen envergadura para resolverproblemas reales y posiblemente fomentaránhábitos ina<strong>de</strong>cuados.Parale<strong>la</strong>mente, <strong>la</strong>s experiencias presentadasproponen tres soluciones para el lenguaje <strong>de</strong>soporte <strong>de</strong> <strong>la</strong>s prácticas. La primera emplea unlenguaje distinto para cada uno <strong>de</strong> losparadigmas a presentar. Tiene el inconveniente<strong>de</strong> que es necesario <strong>de</strong>sviar, continuamente, <strong>la</strong>atención <strong>de</strong> los conceptos presentados hacia <strong>la</strong>sintaxis <strong>de</strong>l nuevo lenguaje.La solución <strong>de</strong> emplear un lenguaje OO<strong>de</strong>s<strong>de</strong> el principio implica necesariamente elempleo <strong>de</strong> conceptos <strong>de</strong>sconocidos por e<strong>la</strong>lumno.La tercera vía emplea lenguajes híbridos,que en principio, parecen resolver los problemas<strong>de</strong> <strong>la</strong>s anteriores soluciones, pero generanconfusión en el alumno a <strong>la</strong> hora <strong>de</strong> ubicarse enuno u otro paradigma, ya que el programa"compi<strong>la</strong>" y "funciona" aunque el diseño no sea<strong>de</strong>cue al paradigma.3. Enfoque diacrónico3.1. Justificación y presentaciónPartimos <strong>de</strong> que "<strong>la</strong>s teorías científicas sonentida<strong>de</strong>s que se extien<strong>de</strong>n o perduran en eltiempo, que permanecen a través <strong>de</strong>l cambio.Ello supone que el estudio puramente sincrónicoque <strong>la</strong>s consi<strong>de</strong>ra como entida<strong>de</strong>s estáticas,conge<strong>la</strong>das, constituye sólo una primeraaproximación que se <strong>de</strong>be completar con unanálisis diacrónico que dé cuenta <strong>de</strong>l carácterpersistente <strong>de</strong> estas entida<strong>de</strong>s" [5].Esta premisa <strong>de</strong> <strong>la</strong> filosofía <strong>de</strong> <strong>la</strong> ciencia, enel mundo <strong>de</strong> <strong>la</strong> programación, se reescribe en lossiguientes términos: "cada paradigma seconstruye sobre los que lo han precedido, aña<strong>de</strong>algo nuevo al arsenal <strong>de</strong> herramientas <strong>de</strong>lprogramador [...] y refleja un p<strong>la</strong>nteamiento <strong>de</strong>diseño" [11]. En particu<strong>la</strong>r, no existen dosparadigmas enfrentados, estructurado y objetos;existe un único mo<strong>de</strong>lo imperativo cuyaevolución genera nuevos enfoques persiguiendolo mismo: <strong>la</strong> mejor gestión <strong>de</strong>l software. Enpa<strong>la</strong>bras <strong>de</strong> Lewis [9] “El enfoque OO noabandona los conceptos que admiramos en elenfoque procedimental, los aumenta y losfortalece".La transición entre paradigmas es natural yevolutiva pero algunos alumnos lo encajan comoun cambio total. Nuestra experiencia en <strong>la</strong>docencia <strong>de</strong> ambos paradigmas <strong>de</strong>muestra que elproblema <strong>de</strong>l <strong>de</strong>sp<strong>la</strong>zamiento no es global. Losalumnos aventajados en <strong>la</strong> programaciónprocedimental asumen con naturalidad el nuevoparadigma, entendiéndolo como algo lógico ycasi esperado. Este hecho queda patente con <strong>la</strong>frase <strong>de</strong> A<strong>la</strong>n Kay, creador <strong>de</strong> Smalltalk, cuando


evaluó SIMULA-67: "el impacto fue tan gran<strong>de</strong>que fue <strong>la</strong> última vez que pensé en términos <strong>de</strong>subrutinas y estructuras" [10].La conjunción <strong>de</strong> <strong>la</strong> dualidad entre <strong>la</strong>dificultad inicial mayoritaria y <strong>la</strong> naturalidad <strong>de</strong>lcambio para alumnos aventajados, conduce a unnuevo p<strong>la</strong>nteamiento: el problema <strong>de</strong>l<strong>de</strong>sp<strong>la</strong>zamiento afecta a los alumnos noaventajados. Agrupamos en esta <strong>de</strong>nominación,los que superan <strong>la</strong> asignatura <strong>de</strong>l paradigmaprocedimental y usan correctamente losconstructores <strong>de</strong>l lenguaje, cómo, cuándo ydón<strong>de</strong> usarlos, pero carecen <strong>de</strong> una visión másprofunda y general <strong>de</strong> <strong>la</strong> programación. No hanasumido el porqué <strong>de</strong> los constructores <strong>de</strong>llenguaje, sus implicaciones y sus carencias.Des<strong>de</strong> una perspectiva más general, tampocohan asumido que "ciertos conceptosfundamentales son recurrentes a través <strong>de</strong> toda<strong>la</strong> disciplina... son i<strong>de</strong>as significativas,cuestiones, principios y procesos que ayudan aunificar una disciplina académicaprofundamente" [1]. El informe “Computingcurricu<strong>la</strong>’91” ha establecido los siguientes 12conceptos recurrentes: or<strong>de</strong>nación en el espacioy tiempo, en<strong>la</strong>ce, niveles <strong>de</strong> abstracción,completitud, evolución, complejidad,compromisos, seguridad, mo<strong>de</strong>los, reusabilidady eficiencia.Tradicionalmente, los primeros cursos <strong>de</strong>programación se centraban en <strong>la</strong> exposición <strong>de</strong>los mecanismos concretos <strong>de</strong> un lenguaje, no enlos conceptos recurrentes <strong>de</strong> <strong>la</strong> Informática. "Unconcepto recurrente es más fundamental quecualquiera <strong>de</strong> sus ejemp<strong>la</strong>rizaciones. Se sustentaen sí mismo como fundamental, persistente a lo<strong>la</strong>rgo <strong>de</strong> <strong>la</strong> historia <strong>de</strong> <strong>la</strong> computación, y es muyprobable que permanezca en un futuro" [1].La incorporación <strong>de</strong> <strong>la</strong> OO en los p<strong>la</strong>nes <strong>de</strong>estudio evi<strong>de</strong>nció <strong>la</strong>s carencias <strong>de</strong> estos cursos<strong>de</strong> introducción a <strong>la</strong> programación, reflejadaspor el problema <strong>de</strong>l <strong>de</strong>sp<strong>la</strong>zamiento <strong>de</strong>lparadigma, al incluir nuevas terminologías yobjetivos <strong>de</strong> diseño: evolución, reusabilidad,jerarquización, acop<strong>la</strong>miento, encapsu<strong>la</strong>ción,etc. La primera respuesta a este problema fueinvertir el or<strong>de</strong>n <strong>de</strong> exposición, trayendo otrascarencias en su lugar: <strong>la</strong> sobrecarga y, enalgunos casos, el <strong>de</strong>sconcierto o <strong>la</strong>simplificación excesiva <strong>de</strong> <strong>la</strong> programación OOen base a su carácter intuitivo, e incluso, <strong>la</strong>ausencia <strong>de</strong> <strong>la</strong> exposición <strong>de</strong> <strong>la</strong> programaciónprocedimental.Entonces, el problema <strong>de</strong>l <strong>de</strong>sp<strong>la</strong>zamientoradica en <strong>la</strong> ruptura <strong>de</strong>l contenido <strong>de</strong> <strong>la</strong>exposición: con el cambio <strong>de</strong>l paradigma, <strong>la</strong>terminología es completamente nueva(abstracción, encapsu<strong>la</strong>ción, modu<strong>la</strong>rización,jerarquización...), el lenguaje también es nuevoo ina<strong>de</strong>cuado y los objetivos <strong>de</strong> ambosparadigmas parecen diferentes. El exponentemás dramático <strong>de</strong> esta situación se recoge en[7]: "algunos profesores comienzan su primerac<strong>la</strong>se con olvi<strong>de</strong>n cualquier cosa que sepan. OOes radicalmente diferente. Es ilógico". No haynada que <strong>de</strong>sapren<strong>de</strong>r, <strong>la</strong> OO no supone unarevolución <strong>de</strong> conceptos, sino una evolución.Tras <strong>de</strong>tectar esta situación, hemosmodificado nuestros cursos <strong>de</strong> OO, comenzandocon un profundo análisis <strong>de</strong>l grado <strong>de</strong>concreción <strong>de</strong> los conceptos recurrentes queexhibe el porqué, implicaciones y carencias <strong>de</strong>los mecanismos <strong>de</strong>l lenguaje procedimental(sistema <strong>de</strong> tipos, registros, subprogramación,módulos, etc). Para fortalecer el carácterdiacrónico <strong>de</strong>sarrol<strong>la</strong>mos un nuevo lenguajeOO, con <strong>la</strong> misma sintaxis y semántica <strong>de</strong>llenguaje empleado en primero, para losconceptos asumidos <strong>de</strong> <strong>la</strong> programaciónestructurada, pero que introduce los mínimoscambios necesarios para el nuevo paradigma. E<strong>la</strong>provechamiento <strong>de</strong> los alumnos, sus resultadosacadémicos, y <strong>la</strong>s encuestas <strong>de</strong> evaluación <strong>de</strong> <strong>la</strong>docencia mejoraron notablemente.En base a esta experiencia, en este trabajoproponemos una tercera vía, un enfoquediacrónico basado en <strong>la</strong> exposición justificada<strong>de</strong> cada concepto <strong>de</strong> <strong>la</strong> programación a través <strong>de</strong>su evolución histórica motivada por losconceptos recurrentes que subyacen a losmecanismos particu<strong>la</strong>res <strong>de</strong> cualquier paradigma<strong>de</strong> <strong>la</strong> programación.Esta manera <strong>de</strong> exponer <strong>la</strong> programación enlos cursos <strong>de</strong> introducción mejora <strong>la</strong>comprensión y mitiga el impacto <strong>de</strong> <strong>la</strong> transiciónal paradigma OO. Los cambios propuestosafectan no tanto al índice <strong>de</strong>l curso como a susobjetivos, a <strong>la</strong> terminología y al lenguaje ynaturaleza <strong>de</strong> <strong>la</strong>s prácticas. Un ejemplo <strong>de</strong> estai<strong>de</strong>a es que el concepto <strong>de</strong> en<strong>la</strong>ce (estático odinámico) no surge al presentar <strong>la</strong> sobrecarga y


el polimorfismo, que es hasta don<strong>de</strong> se suelepostergar su introducción, sino que ya estápresente al ligar los nombres <strong>de</strong> constantes yvariables a su valor. En nuestra propuesta, elconcepto <strong>de</strong> en<strong>la</strong>ce, al igual que el resto <strong>de</strong>conceptos recurrentes, <strong>de</strong>be ser resaltado <strong>de</strong>s<strong>de</strong>sus primeras concreciones, y en todas y cada una<strong>de</strong> el<strong>la</strong>s. Con esto nos diferenciamos <strong>de</strong>l enfoqueprocedimental en primero y OO en segundo, yaque presentamos cada constructor como unajustificación conjugada <strong>de</strong> los mismos conceptosrecurrentes, in<strong>de</strong>pendientemente <strong>de</strong>l paradigmaal que pertenezca.3.2. ObjetivosEl enfoque diacrónico posibilita elcumplimiento <strong>de</strong> los siguientes objetivos paramitigar <strong>la</strong>s <strong>de</strong>sventajas <strong>de</strong> <strong>la</strong>s propuestasanteriores:• Una exposición escalonada y pau<strong>la</strong>tina <strong>de</strong>los conceptos <strong>de</strong> <strong>la</strong> programación en sintoníacon <strong>la</strong> madurez <strong>de</strong>l aprendiz, evitando <strong>la</strong>sobrecarga inicial, fluyendo a través <strong>de</strong> <strong>la</strong>programación estructurada, modu<strong>la</strong>r, basadaen objetos, orientada a objetos, etc. "E<strong>la</strong>prendizaje <strong>de</strong>bería estar basado en elconocimiento previo <strong>de</strong> los programadores"[4]. "La construcción <strong>de</strong>l conocimiento seforja recursivamente sobre el conocimientoque los estudiantes ya tienen" [2];• Anu<strong>la</strong>ción <strong>de</strong>l impacto <strong>de</strong>l "<strong>de</strong>sp<strong>la</strong>zamiento<strong>de</strong> paradigma" <strong>de</strong> programación estructuradaa OO gracias a un hilo conductor: losconceptos recurrentes; "<strong>la</strong> estimación <strong>de</strong> <strong>la</strong>penetración <strong>de</strong> estos conceptos y <strong>la</strong> facultadpara aplicarlos en un contexto apropiado esun indicador <strong>de</strong> <strong>la</strong> madurez <strong>de</strong> losgraduados" [1].• Herramientas a<strong>de</strong>cuadas para <strong>la</strong>participación en el <strong>de</strong>sarrollo temprano <strong>de</strong>aplicaciones motivadoras (potentes y coninterfaces gráficas <strong>de</strong> usuario), pero evitando<strong>la</strong> exposición a conceptos más complejosque sus capacida<strong>de</strong>s.La figura 1 presenta un esquema <strong>de</strong> <strong>la</strong>evolución <strong>de</strong> los enfoques discutidos.Figura 1 Evolución <strong>de</strong> los enfoques <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> los paradigmas3.2. P<strong>la</strong>nificaciónLos contenidos expuestos <strong>de</strong>ben asegurar <strong>la</strong>comprensión <strong>de</strong> los conceptos recurrentes <strong>de</strong> <strong>la</strong>Informática y establecer su grado <strong>de</strong> concreciónen cada mecanismo <strong>de</strong> <strong>la</strong> programación. "En eldiseño <strong>de</strong> un currículo concreto, estos conceptosrecurrentes <strong>de</strong>ben comunicarse <strong>de</strong> maneraefectiva; es importante notar que el uso apropiado<strong>de</strong> los conceptos recurrentes es un elemento


esencial en <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l currículo y cursos"[1].Proponemos una previa exposición <strong>de</strong> estosconceptos mediante analogías con el mundo real.Por ejemplo: complejidad y evolución <strong>de</strong> <strong>la</strong>snormas <strong>de</strong> tráfico; mo<strong>de</strong>los formales en el"lenguaje <strong>de</strong> un semáforo"; en<strong>la</strong>ce estático entreun vehículo y su propietario o dinámico con suconductor. A través <strong>de</strong> toda <strong>la</strong> exposición <strong>de</strong> <strong>la</strong>materia se vuelve a incidir en el papel <strong>de</strong> losconceptos recurrentes. Un ejemplo es exponer elconcepto <strong>de</strong> seguridad <strong>de</strong>s<strong>de</strong> el sistema <strong>de</strong> tipos,pasando por <strong>la</strong>s precondiciones y poscondiciones<strong>de</strong> <strong>la</strong>s sentencias <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> ejecución y<strong>de</strong> los subprogramas, <strong>la</strong>s invariantes <strong>de</strong> los bucles,hasta llegar al interfaz <strong>de</strong> los módulos, tiposabstractos <strong>de</strong> datos y c<strong>la</strong>ses.Como hemos comentado anteriormente,exponer el concepto <strong>de</strong> en<strong>la</strong>ce estático y dinámicopresente entre <strong>la</strong>s constantes, variables oexpresiones y sus tipos, valores..., pasando por elen<strong>la</strong>ce entre los tipos genéricos a sus tiposconcretos, hasta el en<strong>la</strong>ce en <strong>la</strong> sobrecarga y elpolimorfismo con mensajes a métodos.O exponer los conceptos <strong>de</strong> niveles <strong>de</strong>abstracción, el control <strong>de</strong> <strong>la</strong> evolución, <strong>la</strong> posiblereusabilidad y <strong>la</strong> resolución <strong>de</strong> compromisos,<strong>de</strong>s<strong>de</strong> <strong>la</strong>s primeras oportunida<strong>de</strong>s en <strong>la</strong> solución <strong>de</strong>los problemas con registros, subprogramación,programación modu<strong>la</strong>r, etc.Por tanto, <strong>la</strong> terminología <strong>de</strong>l alumno <strong>de</strong>primer curso <strong>de</strong>be incorporar términos propios <strong>de</strong>ldiseño como patrones, modu<strong>la</strong>ridad,encapsu<strong>la</strong>ción, acop<strong>la</strong>miento, cohesión,abstracción, jerarquización, legibilidad,fiabilidad... y saber evaluarlos en cada mecanismo<strong>de</strong> <strong>la</strong> programación.Introducción. ConceptosrecurrentesTipos y valoressimplesProgramaciónestructuradaSubprogramaciónTipos y valorescompuestosProgramación modu<strong>la</strong>r*Programaciónorientada a eventos*Manejo <strong>de</strong>excepciones*ProgramacióngenéricaTipos abstractos <strong>de</strong>datosProgramación basadaen objetosProgramaciónorientada a objetosFigura 2.Prerrequisitos entre los núcleos teóricos <strong>de</strong>l enfoque diacrónico.


Acor<strong>de</strong> al carácter diacrónico basado en <strong>la</strong>filosofía <strong>de</strong> <strong>la</strong> ciencia y el constructivismo <strong>de</strong> <strong>la</strong>psicología <strong>de</strong> <strong>la</strong> programación, nuestrap<strong>la</strong>nificación contiene un conjunto <strong>de</strong> núcleoscerrados <strong>de</strong> conceptos en que cada uno viene aresolver los inconvenientes evi<strong>de</strong>nciados ysubrayados en <strong>la</strong>s soluciones <strong>de</strong> programasconstruidos con los conceptos anteriormentedisponibles.Los 12 núcleos consi<strong>de</strong>rados son:• Introducción: conceptos recurrentes: datos yprocesos;• Tipos y valores simples: constantes yvariables; expresiones, prece<strong>de</strong>ncia yasociatividad;• Programación estructurada: sentencias <strong>de</strong>control <strong>de</strong> flujo <strong>de</strong> ejecución;• Subprogramación: parámetros, Entrada/Salida,recursividad;• Tipos y valores compuestos: registros y tab<strong>la</strong>s;estructuras <strong>de</strong> datos dinámicas; ficheros;• Programación genérica*: p<strong>la</strong>ntil<strong>la</strong>s yconcreción <strong>de</strong> tipos;• Programación modu<strong>la</strong>r: interfaz eimp<strong>la</strong>ntación; acop<strong>la</strong>miento y cohesión;• Manejo <strong>de</strong> excepciones*: elevación,<strong>de</strong>legación y captura;• Programación orientada a eventos*: elevación,<strong>de</strong>legación y captura;• Tipos abstractos <strong>de</strong> datos: múltipleinstanciación• Programación basada en objetos: c<strong>la</strong>ses yobjetos; sobrecarga.• Programación orientada a objetos: herencia ypolimorfismo.Esta p<strong>la</strong>nificación incluye núcleos opcionales(marcados con‘*’) que se introducirán en mayor omenor grado, <strong>de</strong>pendiendo <strong>de</strong> <strong>la</strong> profundidad<strong>de</strong>seada en cada curricu<strong>la</strong>. De modo que <strong>la</strong> figura2 <strong>de</strong>be interpretarse como una tab<strong>la</strong> <strong>de</strong>prerrequisitos entre núcleos que posibilitandiferentes secuencias <strong>de</strong> exposición y sudistribución, en dos o tres cursos, según convengaen un centro o titu<strong>la</strong>ción concreta.4.Metodología4.1. Lenguaje flexibleEl lenguaje <strong>de</strong> programación <strong>de</strong>be serejecutable, permitir el <strong>de</strong>sarrollo <strong>de</strong> aplicacionesmotivadoras, pero flexible para incorporar nuevosmecanismos y eliminar otros correspondientes aconceptos subsumidos con el avance <strong>de</strong>l curso.Por ejemplo, este lenguaje <strong>de</strong>be mantener <strong>la</strong> tab<strong>la</strong><strong>de</strong> prece<strong>de</strong>ncia <strong>de</strong> operadores, <strong>la</strong>s mismassentencias <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> ejecución..., pero<strong>de</strong>be inhibir los registros y los subprogramaslibres al introducir <strong>la</strong> programación basada en OO,etc.Por tanto, <strong>de</strong>be cambiar <strong>la</strong>s pa<strong>la</strong>brasreservadas correspondientes a <strong>la</strong> organización <strong>de</strong><strong>la</strong> estructura <strong>de</strong> los programas, pero mantenerinalterable <strong>la</strong>s reg<strong>la</strong>s sintáctico-semánticas <strong>de</strong>aquellos conceptos asumidos en los nuevosenfoques: prece<strong>de</strong>ncia <strong>de</strong> operadores, sentencias<strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> ejecución, etc.4.2. Prácticas"La teoría dominante <strong>de</strong> <strong>la</strong> enseñanza hoy día,l<strong>la</strong>mada constructivismo, afirma que elconocimiento se construye activamente por elestudiante, no se adquiere pasivamente <strong>de</strong>s<strong>de</strong> loslibros <strong>de</strong> texto o en <strong>la</strong>s au<strong>la</strong>s" [2]. Así "enfatizar<strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> lectura y <strong>de</strong>puración,simultáneamente a <strong>la</strong>s <strong>de</strong> programación pue<strong>de</strong>iluminar concepciones" [8].“El aprendizaje cognitivo <strong>de</strong> <strong>la</strong> taxonomía <strong>de</strong>Bloom es útil en <strong>la</strong> estructuración <strong>de</strong>l principio <strong>de</strong>lcurrículo informático. Cada nivel <strong>de</strong> <strong>la</strong> jerarquíaestá subsumido por el siguiente nivel, <strong>de</strong> modoque, funcionalida<strong>de</strong>s más altas exigen habilidad enlos niveles inferiores” [3]. Las etapas en dichataxonomía son:• Conocimiento: el recuerdo <strong>de</strong> materialpreviamente aprendido• Comprensión: <strong>la</strong> habilidad para extraer elsignificado <strong>de</strong>l material• Aplicación: <strong>la</strong> habilidad para usar el materia<strong>la</strong>prendido en una situación nueva y concreta• Análisis: <strong>la</strong> habilidad para <strong>de</strong>scomponer unmaterial en sus componentes y compren<strong>de</strong>r suestructura organizativa• Síntesis: <strong>la</strong> habilidad para poner partes juntasformando un todo• Evaluación: <strong>la</strong> habilidad <strong>de</strong> juzgar el valor <strong>de</strong>un material para un propósito <strong>de</strong>terminado.La vertiente práctica <strong>de</strong> nuestra propuestarespeta <strong>la</strong> aproximación constructivista a través <strong>de</strong>


los niveles <strong>de</strong> aprendizaje para cada núcleo teórico<strong>de</strong> <strong>la</strong> p<strong>la</strong>nificación. Por ejemplo, para <strong>la</strong> docencia<strong>de</strong> <strong>la</strong>s estructuras <strong>de</strong> control <strong>de</strong> ejecución:• Conocimiento: sintaxis y semántica <strong>de</strong> <strong>la</strong>sestructuras• Comprensión: dados unos pequeños bloques<strong>de</strong> código, extraer el control <strong>de</strong> flujo <strong>de</strong>ejecución y sus efectos sobre el entorno(variables, periféricos, etc.)• Aplicación: escribir <strong>la</strong>s estructuras quesatisfacen unos requisitos específicos• Análisis: dados unos bloques <strong>de</strong> código,extraer su organización para compren<strong>de</strong>r losrequisitos que satisfacen• Síntesis: dada una aplicación incompleta,dotar<strong>la</strong> <strong>de</strong> <strong>la</strong> funcionalidad <strong>de</strong>seada• Evaluación: contrastar soluciones alternativas,con estructuras y sin estructuras –por ejemplocon sentencia goto- y, por otro <strong>la</strong>do, presentarsoluciones “ina<strong>de</strong>cuadas” con 100 líneas <strong>de</strong>código <strong>de</strong> estructuras anidadas, evi<strong>de</strong>nciando<strong>la</strong>s bonda<strong>de</strong>s y carencias <strong>de</strong> <strong>la</strong>s estructuras <strong>de</strong>control <strong>de</strong> flujo <strong>de</strong> ejecución en términos <strong>de</strong>los conceptos recurrentes: complejidad,or<strong>de</strong>nación en el espacio, evolución, niveles<strong>de</strong> abstracción, etc.Para <strong>la</strong> consecución <strong>de</strong> los objetivosconsi<strong>de</strong>ramos vitales los dos últimos niveles.• Síntesis: el alumno incorpora código enaplicaciones motivadoras, con interfacesgráficos <strong>de</strong> usuario, bibliotecas, sistemas <strong>de</strong>comunicaciones, etc. Todo ello, resaltando <strong>la</strong>aplicabilidad <strong>de</strong>l material aprendido en el“mundo real”, pero, evitando <strong>la</strong> exposición ymanejo <strong>de</strong> conceptos avanzados• Evaluación: permite al alumno reconocer, encada núcleo, el hilo conductor en nuevasconcreciones <strong>de</strong> los conceptos recurrentes yjustifica, visualizando <strong>la</strong>s limitaciones, <strong>la</strong>necesidad <strong>de</strong> evolucionar a nuevosconstructores <strong>de</strong>l lenguaje.4.3. HerramientasLas herramientas necesarias para <strong>la</strong>concreción <strong>de</strong>l enfoque diacrónico respon<strong>de</strong>n,parale<strong>la</strong>mente, a los niveles cognitivos <strong>de</strong> Bloom:• Intérpretes para <strong>la</strong> visualización <strong>de</strong>l softwareque apoyen los niveles <strong>de</strong> conocimiento ycomprensión: en<strong>la</strong>ce estático <strong>de</strong> tipos aexpresiones, or<strong>de</strong>n <strong>de</strong> evaluación <strong>de</strong>operadores en <strong>la</strong>s expresiones; or<strong>de</strong>n <strong>de</strong>ejecución <strong>de</strong> <strong>la</strong>s estructuras; comunicación porel paso <strong>de</strong> parámetros; <strong>de</strong>senca<strong>de</strong>namiento <strong>de</strong>instancias y mensajes en objetos; etc.• Depuradores para el nivel <strong>de</strong> aplicación.• Herramientas CASE e ingeniería inversa paraextraer <strong>la</strong> organización <strong>de</strong> software en el nivel<strong>de</strong> análisis: diagramas <strong>de</strong> jerarquías <strong>de</strong>estructuras, subprogramas, módulos, c<strong>la</strong>ses…a<strong>de</strong>cuados al núcleo que se está impartiendo.• Entornos <strong>de</strong> <strong>de</strong>sarrollo con bibliotecas,compi<strong>la</strong>dor,… y herramientas que bloqueen <strong>la</strong>edición <strong>de</strong>l código <strong>de</strong> una aplicación exceptoen los ámbitos a codificar, para <strong>la</strong> fase <strong>de</strong>síntesis: codificar el cuerpo <strong>de</strong> unsubprograma, <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> un módulo oun TAD, etc.• Métricas <strong>de</strong>l software para el nivel <strong>de</strong>evaluación que exhiban <strong>la</strong> complejidad yconsumo <strong>de</strong> memoria; acop<strong>la</strong>miento ycohesión <strong>de</strong> módulos, TAD’s o c<strong>la</strong>ses; etc. <strong>de</strong><strong>la</strong>s soluciones implementadas.Todas estas herramientas <strong>de</strong>ben configurarsecon un lenguaje evolutivo que incorpore e inhibareg<strong>la</strong>s sintáctico-semánticas, a<strong>de</strong>cuándose a <strong>la</strong>secuencia <strong>de</strong> núcleos expuestos en <strong>la</strong>p<strong>la</strong>nificación.5. ConclusionesCon <strong>la</strong> incorporación <strong>de</strong> <strong>la</strong> OO en los p<strong>la</strong>nes <strong>de</strong>estudio han surgido inconvenientes, tanto en suasimi<strong>la</strong>ción por parte <strong>de</strong> los alumnos, como en <strong>la</strong>localización <strong>de</strong> recursos a<strong>de</strong>cuados por parte <strong>de</strong>lprofesor (disponibilidad <strong>de</strong> textos, ejemplos queencajen en una sesión docente, incluso elección<strong>de</strong>l lenguaje).El enfoque, procedimental en primero y OOen segundo, evi<strong>de</strong>nció el problema <strong>de</strong>l"<strong>de</strong>sp<strong>la</strong>zamiento <strong>de</strong> paradigma". Posteriormente,el enfoque contrapuesto, OO en primero, trajo <strong>la</strong>sobrecarga inicial <strong>de</strong> conceptos para los alumnosy, en algunos casos, <strong>la</strong> ina<strong>de</strong>cuación <strong>de</strong> loslenguajes a los paradigmas.Hacemos una propuesta docente, no orientadaa paradigmas, que elimina los inconvenientes <strong>de</strong><strong>la</strong>s anteriores, utilizando un enfoque diacrónico,que consiste en <strong>la</strong> exposición justificada <strong>de</strong> cadaconstructor <strong>de</strong> los lenguajes <strong>de</strong> programación, através <strong>de</strong> su evolución histórica, motivada por los


conceptos recurrentes que subyacen a losmecanismos particu<strong>la</strong>res <strong>de</strong> cualquier paradigma,<strong>de</strong> modo que cada nuevo concepto a presentarsurge para resolver <strong>la</strong>s limitaciones <strong>de</strong> losanteriores. Rec<strong>la</strong>mamos <strong>la</strong> necesidad <strong>de</strong> usarherramientas pedagógicas que apoyen <strong>la</strong> docencia,basándose en un lenguaje eminentementeevolutivo. Este lenguaje incorpora y elimina,según el avance <strong>de</strong> <strong>la</strong> materia, <strong>la</strong>s reg<strong>la</strong>ssintáctico-semánticas <strong>de</strong> los mecanismos <strong>de</strong> <strong>la</strong>programación.Por tanto, nuestra propuesta modifica:• objetivos, en concordancia con el enfoquediacrónico <strong>de</strong> <strong>la</strong> filosofía <strong>de</strong> <strong>la</strong> ciencia,concretados en los conceptos recurrentes <strong>de</strong> <strong>la</strong>Informática;• p<strong>la</strong>nificación y lenguaje, acor<strong>de</strong> alconstructivismo <strong>de</strong> <strong>la</strong> psicología <strong>de</strong> <strong>la</strong>programación, don<strong>de</strong> <strong>la</strong> adquisición <strong>de</strong>lconocimiento se construye sobreconocimientos previos;• prácticas y herramientas, acor<strong>de</strong>s a los nivelescognitivos <strong>de</strong> <strong>la</strong> taxonomía <strong>de</strong> Bloom, quepropugna <strong>la</strong> lectura <strong>de</strong>l código, <strong>la</strong> <strong>de</strong>puración,el análisis, <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> aplicaciones y<strong>la</strong> evaluación <strong>de</strong> soluciones.Agra<strong>de</strong>cimientosEste trabajo se ha financiado con el proyectoTIC2000-1413 <strong>de</strong> <strong>la</strong> CICYT.Referencias[1] ACM/IEEE. Computing curricu<strong>la</strong> 1991.http://www.computer.org/education/cc1991/eab1.html[2] Ben-Ari, M. Constructivism in computerscience education. 30 SIGCSE TechnicalSymposium on Computer Science Education,1998[3] Buck, D.; Stucki, D. Design early consi<strong>de</strong>redharmful: Graduate exposure to complexityand structure based on levels of congnitive<strong>de</strong>velopment. SIGCSE 2000 3/00[4] Détienne, F. Software-<strong>de</strong>sign cognitiveaspects. Springer 2002[5] Díez, J.A.; Moulines, C.U. Fundamentos <strong>de</strong> <strong>la</strong>Filosofía <strong>de</strong> <strong>la</strong> Ciencia. Ariel, 1997[6] Fernán<strong>de</strong>z Muñoz L., Peña R., Nava F.,Velázquez Iturbi<strong>de</strong> A. Análisis <strong>de</strong> <strong>la</strong>spropuestas <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>programación orientada a objetos en losprimeros cursos. JENUI 2002.[7] Fernán<strong>de</strong>z, A.; Rossi, G. An Effectiveapproach to learning Object-Orientedtechnology ECOOP 98 xxii+573pp[8] Fleury, A.E. Programming in Java: stu<strong>de</strong>ntconstructedrules. SIGCSE 2000, 3/00[9] Lewis, J. Myths about OO and its pedagogy.SIGCSE 2000, 245-49[10] Sterwart, M.K. The natural history ofobjects C++. Report nov 1992 (suplemento)pp.12-13[11] Stroustrup, B. El lenguaje <strong>de</strong>programación C++ Addison Wesley, 1998


¿Qué po<strong>de</strong>mos enseñar sobre TI y <strong>la</strong> Organización en P<strong>la</strong>nes <strong>de</strong>Estudio <strong>de</strong> Informática?Edmundo TovarDept. <strong>de</strong> Lenguajes y Sistemas Informáticos e Ing. SoftwareFacultad <strong>de</strong> InformáticaUniversidad Politécnica <strong>de</strong> Madrid28660 Boadil<strong>la</strong> <strong>de</strong>l Montee-mail: etovar@fi.upm.esResumenLa incorporación <strong>de</strong> materias propias <strong>de</strong> uncurrículum <strong>de</strong> Sistemas <strong>de</strong> Información (SI)orientadas a <strong>la</strong> organización, como “FunciónInformática en <strong>la</strong> Empresa” o “AuditoríaInformática” en una titu<strong>la</strong>ción <strong>de</strong> IngenieríaInformática tiene una especial problemática. Laactualización <strong>de</strong> sus contenidos no pue<strong>de</strong> serrealizada directamente sólo a partir <strong>de</strong> los mo<strong>de</strong>loscurricu<strong>la</strong>res tradicionales, hasta estos momentos,<strong>de</strong> Informática. Esta ponencia explica cómo se hallevado a cabo <strong>la</strong> selección <strong>de</strong> contenidos para <strong>la</strong>actualización <strong>de</strong> estas materias teniendo en cuentamo<strong>de</strong>los curricu<strong>la</strong>res más específicos, <strong>la</strong> <strong>de</strong>manda<strong>de</strong> profesionales <strong>de</strong>l mercado nacional y el P<strong>la</strong>n <strong>de</strong>Estudios vigente en el Centro.1. Cambios habidos en mo<strong>de</strong>loscurricu<strong>la</strong>res <strong>de</strong> <strong>la</strong> Disciplina <strong>de</strong> <strong>la</strong>InformáticaLos estudios universitarios <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong>Ingeniería Informática en España se han basadotradicionalmente en los curriculums e<strong>la</strong>boradosconjuntamente por los esfuerzos conjuntos <strong>de</strong> <strong>la</strong>sasociaciones IEEE y ACM. El mo<strong>de</strong>lo referenciadurante <strong>la</strong> última década ha sido el informe“Computing Curricu<strong>la</strong> 1991”[1].Pero <strong>la</strong> Informática durante este tiempo ha sufridocambios drásticos. Continuamente se introducennuevas tecnologías, y otras, por el contrario, sequedan obsoletas, con <strong>la</strong> consecuente repercusiónen <strong>la</strong> docencia. Avances técnicos, como el <strong>de</strong> <strong>la</strong>saplicaciones para World Wi<strong>de</strong> Web y <strong>la</strong>stecnologías <strong>de</strong> re<strong>de</strong>s han incrementado <strong>la</strong>importancia <strong>de</strong> muchos temas curricu<strong>la</strong>res.Pero también ha habido cambios culturales yeconómicos, como los siguientes:• La Informática se ha expandido enormementegracias al <strong>de</strong>sarrollo y <strong>la</strong>s facilida<strong>de</strong>s para e<strong>la</strong>cceso a aplicaciones <strong>de</strong> software a través <strong>de</strong>Internet.• Las Tecnologías <strong>de</strong> Información (TI ena<strong>de</strong><strong>la</strong>nte) tienen una creciente importancia en<strong>la</strong> economía. Han surgido <strong>la</strong>s empresastecnológicas, y <strong>la</strong> industria <strong>de</strong>manda un granvolumen <strong>de</strong> personal cualificado.• Hay una mayor aceptación <strong>de</strong> <strong>la</strong> Informáticacomo una disciplina académica. La entrada<strong>de</strong> <strong>la</strong> TI en los ámbitos culturales yeconómicos han consolidado elreconocimiento <strong>de</strong> <strong>la</strong> disciplina.El especial dinamismo <strong>de</strong> <strong>la</strong> Informática haprovocado también el cambio <strong>de</strong> los P<strong>la</strong>nes <strong>de</strong>Estudios en Informática, así como <strong>la</strong> forma <strong>de</strong>enseñarlo. En <strong>la</strong> actualidad La informática abarcaunos contenidos tan amplios que resulta difícilestablecer los límites, e incluso consi<strong>de</strong>rarlo comouna única disciplina.Esta es <strong>la</strong> razón por <strong>la</strong> que en <strong>la</strong> última revisión<strong>de</strong>l “Computing Curricu<strong>la</strong>”, (CC2001) [2] elmo<strong>de</strong>lo se ha <strong>de</strong>sarrol<strong>la</strong>do en 4 diferentesvolúmenes. Sólo uno <strong>de</strong> ellos ha sido publicado, el<strong>de</strong> Computer Science, mientras que aún no lo hanhecho los otros tres: Computer Engineering,Software Engineering e Information Systems.Según el criterio expresado por ACM e IEEE,todas estas especialida<strong>de</strong>s se complementanperfectamente, por lo que <strong>la</strong> educación <strong>de</strong> <strong>la</strong>Informática <strong>de</strong>be cubrir este nuevo alcance <strong>de</strong> <strong>la</strong>Disciplina.


1.1. Sobre el perfil <strong>de</strong>l Ingeniero en InformáticaUn Ingeniero en Informática necesita <strong>de</strong> muchashabilida<strong>de</strong>s a<strong>de</strong>más <strong>de</strong> <strong>la</strong>s puramente técnicas. Porejemplo, requiere poseer un sentido <strong>de</strong> cómo <strong>la</strong>tecnología se aplica en <strong>la</strong> práctica. Y el ámbitonatural es el <strong>de</strong> los <strong>de</strong>partamentos <strong>de</strong> Informáticay, más allá, en <strong>la</strong>s organizaciones. Los Ingenierosen Informática <strong>de</strong>ben ser capaces <strong>de</strong> trabajar congente <strong>de</strong> otras disciplinas <strong>de</strong> manera efectiva. Eneste sentido, el CC2001 recomienda que losestudiantes se formen junto a <strong>la</strong> profundización enalgún área <strong>de</strong> aplicación, integrando estudios <strong>de</strong>casos, o incluyendo <strong>la</strong> adquisición <strong>de</strong> experienciaequivalente a un semestre completo en esadisciplina. Las oportunida<strong>de</strong>s son amplias, puespue<strong>de</strong>n ir <strong>de</strong>s<strong>de</strong> el campo <strong>de</strong> <strong>la</strong> Economía, al <strong>de</strong> <strong>la</strong>Psicología, o al <strong>de</strong> cualquier otra Ingeniería. Perouna <strong>de</strong> el<strong>la</strong>s l<strong>la</strong>ma po<strong>de</strong>rosamente el interés: elmundo <strong>de</strong> los negocios. Esta experiencia es sinduda una <strong>de</strong> <strong>la</strong>s principales característicassolicitadas por los empleadores, sobre todo enépocas en <strong>la</strong>s que existe una alta <strong>de</strong>manda <strong>de</strong>graduados en esta disciplina. Las Universida<strong>de</strong>s sesienten con cierta presión para asegurarse que susgraduados satisfacen <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> <strong>la</strong>sempresas. Pero no se trata <strong>de</strong> ser un maestro enalguna especialidad que pronto pue<strong>de</strong> quedarseobsoleta. Profundizar en el campo <strong>de</strong> los negociospue<strong>de</strong> servir para conocer más en <strong>de</strong>talle elterreno con el que, con una muy alta probabilidad,tendrá que estar familiarizado. Hay diferentesrazones para ello. Por ejemplo:• ser más competitivo• tener más a su alcance el dibujo global <strong>de</strong>lentorno en el que tendrá que <strong>de</strong>sarrol<strong>la</strong>rse.• tener una más fácil re<strong>la</strong>ción con <strong>la</strong> dirección<strong>de</strong> <strong>la</strong>s empresas a <strong>la</strong>s que pertenezcan• facilitarles su transición a otros puestos más<strong>de</strong> gestión que los puramente técnicos quetienen nada más finalizar <strong>la</strong> carrera.1.2. Cómo <strong>la</strong>s Universida<strong>de</strong>s respon<strong>de</strong>nLa forma habitual en <strong>la</strong> que se suele permitir quelos estudiantes alcancen una visión <strong>de</strong> <strong>la</strong>organización más cercana a su futuro papelprofesional es permitiéndoles que ellos elijan unnúmero <strong>de</strong>terminado <strong>de</strong> créditos con respecto <strong>de</strong><strong>la</strong> oferta global <strong>de</strong> asignaturas optativas que se lesproporciona.Por tanto <strong>la</strong> selección <strong>de</strong> materias que componen<strong>la</strong> oferta <strong>de</strong> optatividad es un elemento c<strong>la</strong>ve. Peroel interés <strong>de</strong>l futuro profesional no es el únicofactor a tener en cuenta para proponer asignaturasque completen un P<strong>la</strong>n <strong>de</strong> Estudios. Hay otros,como:• El tipo <strong>de</strong> Universidad <strong>de</strong> que se trate y <strong>la</strong>sexpectativas para su P<strong>la</strong>n <strong>de</strong> Estudios. Hayque tener en cuenta el perfil <strong>de</strong>l Ingeniero<strong>de</strong>finido para esa titu<strong>la</strong>ción.• El rango <strong>de</strong> opciones <strong>de</strong> estudios <strong>de</strong>especialidad que el egresado pueda realizarcon posterioridad. El profesional re<strong>la</strong>cionadocon <strong>la</strong> TI pue<strong>de</strong> tener diferentes objetivoscurricu<strong>la</strong>res que los que estudian para serIngenieros <strong>de</strong> Informática. Las Universida<strong>de</strong>s<strong>de</strong>ben tener en cuenta que <strong>la</strong> formación queda a sus alumnos tenga una continuidad en e<strong>la</strong>prendizaje continuo a lo <strong>la</strong>rgo <strong>de</strong> suscarreras.• La preparación <strong>de</strong> los estudiantes queingresan.• El interés y <strong>la</strong> experiencia <strong>de</strong> su p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong>profesores.En particu<strong>la</strong>r en nuestro Centro, <strong>la</strong> Facultad <strong>de</strong>Informática <strong>de</strong> <strong>la</strong> UPM, el P<strong>la</strong>n <strong>de</strong> Estudiosvigente data <strong>de</strong> 1996 y está dirigido a <strong>la</strong> obtención<strong>de</strong>l título oficial <strong>de</strong> Ingeniero en Informática. Estáestructurado en un primer ciclo <strong>de</strong> 2 años y unsegundo <strong>de</strong> tres años. La carga lectiva global es <strong>de</strong>381 créditos, 63 <strong>de</strong> los cuales son <strong>de</strong> materiasoptativas. El alumno <strong>de</strong>be elegir libremente 15créditos <strong>de</strong> éstos durante tercer curso, 19,5 durantecuarto curso, y 28,5 durante quinto curso.1.3. Las necesida<strong>de</strong>s <strong>de</strong> formación en SI/TI en<strong>la</strong> FI-UPMLas necesida<strong>de</strong>s y el perfil <strong>de</strong> nuestros titu<strong>la</strong>dos<strong>de</strong>biera <strong>de</strong> aparecer en el P<strong>la</strong>n <strong>de</strong> Estudios, o almenos en los trabajos que le dieron lugar. Sinembargo esto no ha sido así, como lo testimonia elreciente proceso <strong>de</strong> evaluación <strong>de</strong> <strong>la</strong> calidadseguido en nuestro Centro [3]. Según <strong>la</strong>sconclusiones recogidas en dicho informe, no seregistró ninguna documentación al efecto: ni perfilprofesional, ni p<strong>la</strong>nificación <strong>de</strong>l proceso. Todoello se manifiesta en una <strong>de</strong>sorganización y


exceso <strong>de</strong> oferta <strong>de</strong> materias optativas. Es por estarazón por <strong>la</strong> que ha sido necesario recurrir a otrasfuentes.Actualmente existe un Grupo <strong>de</strong> Trabajo en elcentro que está trabajando en <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> unnuevo P<strong>la</strong>n <strong>de</strong> Estudios. Uno <strong>de</strong> sus primerostrabajos consistió en realizar una encuesta a través<strong>de</strong> <strong>la</strong> web que son<strong>de</strong>ara entre <strong>la</strong>s empresas suopinión sobre <strong>la</strong> utilidad <strong>de</strong> materias quecomponen <strong>la</strong> carrera. No se obtuvo un alto número<strong>de</strong> respuestas a <strong>la</strong> encuesta por <strong>la</strong> que no se haconsi<strong>de</strong>rado suficientemente representativo.A<strong>de</strong>más, para el objetivo <strong>de</strong> este trabajo no sería<strong>de</strong> gran utilidad puesto que <strong>la</strong>s materiasre<strong>la</strong>cionadas con los <strong>de</strong> Sistemas <strong>de</strong> Informaciónse encuentran distribuidas en distintas materiascomo Ingeniería Software y Gestión <strong>de</strong> Empresas.Los resultados <strong>de</strong> <strong>la</strong>s encuestas para el área <strong>de</strong>Organización <strong>de</strong> empresas sobre una muestra <strong>de</strong>24 encuestas recogidas aparecen en <strong>la</strong> figura 1.Visión general <strong>de</strong><strong>la</strong> empresaTipologías <strong>de</strong>empresasComp. básicos(Estrategia,P<strong>la</strong>nif.Organiz.Gestión,Control)La funcióninformáticaMo<strong>de</strong>los <strong>de</strong>negocio paraempresas en redMuyPocoÚtilPocoÚtilÚtilMuyÚtilImprescindible4% 8% 33% 29% 25%- - - 80% 20%- 20% 40% 40% -- 20% 40% 20% 20%Sin datosFigura 1. Resultados parciales <strong>de</strong>l cuestionarioformu<strong>la</strong>do para <strong>la</strong> recogida <strong>de</strong> opiniones <strong>de</strong>profesionalesSí se ha contado con un estudio realizado por <strong>la</strong>“Asociación <strong>de</strong> Doctores, Licenciados eIngenieros en Informática” (ALI). Este estudio,que refleja el mercado <strong>la</strong>boral en Informáticadurante el año 2000, está basado en una muestra<strong>de</strong> 4931 ofertas <strong>de</strong> empleo (<strong>de</strong>l sector público yprivado) y que fueron publicadas durante el año2000 por los diarios ABC, El País, La Vanguardia,Expansión, El Mundo; los semanarios <strong>de</strong>Informática Computing, ComputerWorld; asícomo <strong>la</strong>s ofertas recibidas en <strong>la</strong> Secretaría Técnica<strong>de</strong> ALI.En el estudio se han utilizado distintas<strong>de</strong>nominaciones para agrupar diferentes perfiles opuestos <strong>de</strong> trabajo tal y como aparecen en losanuncios. De <strong>la</strong> re<strong>la</strong>ción global <strong>de</strong><strong>de</strong>nominaciones utilizadas sólo se hará referenciaa aquel<strong>la</strong>s que tienen una re<strong>la</strong>ción más directa conrespecto <strong>de</strong> un conjunto <strong>de</strong> materias que requieren<strong>la</strong> visión <strong>de</strong>l entorno organizativo. De el<strong>la</strong>s se<strong>de</strong>stacan <strong>la</strong>s siguientes:• Director <strong>de</strong> Informática: este término agrupaofertas dirigidas a Directores <strong>de</strong> SI/TI,Gerentes en TI, Responsables <strong>de</strong><strong>de</strong>partamento <strong>de</strong> Informática...• Jefe <strong>de</strong> Proyecto: Incluye ofertas para Director<strong>de</strong> Sistemas <strong>de</strong> Procesos, Responsable <strong>de</strong>Nuevas Tecnologías, Responsable <strong>de</strong>aplicaciones informáticas, director <strong>de</strong>Arquitectura <strong>de</strong> aplicaciones, y Directortecnológico entre otros.• Informático: especialista en TI Integrador <strong>de</strong>TI, Técnico en SI, experto en TI...• Auditoría Informática: auditor <strong>de</strong> sistemas,técnico auditor <strong>de</strong> SI...En <strong>la</strong> figura 2 aparecen los resultados parciales <strong>de</strong>este estudio.DenominaciónDirectorInformát.Jefe <strong>de</strong>ProyectoTotal <strong>de</strong>ofertasOfertaspara Ing.Informát.Ofertas paratitu<strong>la</strong>do <strong>de</strong>2º ciclo1,2% 31,5% 47,4%11% 31,6 % 30%Informát. 6,3% 19,1% 12,9%Auditoría 0,7% 50% 15,6%Figura 2. Resultados parciales <strong>de</strong>l estudio <strong>de</strong> mercado<strong>la</strong>boral <strong>de</strong> ALIAmbos estudios referenciados muestran resultadossimi<strong>la</strong>res, aún siendo el segundo (el e<strong>la</strong>borado porALI) más riguroso y sobre todo más fiable alincluir una muestra mucho más significativa.• En el primero (Grupo <strong>de</strong> Trabajo <strong>de</strong>e<strong>la</strong>boración <strong>de</strong>l P<strong>la</strong>n <strong>de</strong> Estudios), hay unacuerdo generalizado, <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> escasa


participación <strong>de</strong> profesionales, en <strong>la</strong> utilidad<strong>de</strong> esta visión para el ejercicio profesional.• El segundo (estudio <strong>de</strong> ALI) requiere unanálisis más profundo. Primero, entre losperfiles <strong>de</strong>mandados por <strong>la</strong>s empresas cabe<strong>de</strong>stacar que muchos <strong>de</strong> ellos requieren <strong>de</strong> unconocimiento <strong>de</strong> <strong>la</strong> organización y <strong>de</strong> <strong>la</strong>integración <strong>de</strong> <strong>la</strong>s TI y SI en <strong>la</strong> empresa.Segundo, <strong>de</strong> los distintos perfiles <strong>de</strong>Informática, el colectivo más <strong>de</strong>mandado esel <strong>de</strong> Ing. en Informática. Pero no es esto lomás importante. Es significativo comprobarque entre los puestos <strong>de</strong> gestión como el <strong>de</strong>Director <strong>de</strong> Informática y Jefe <strong>de</strong> Proyecto se<strong>de</strong>mandan titu<strong>la</strong>ciones distintas a <strong>la</strong>s <strong>de</strong> Ing.Informática en <strong>la</strong> misma o mayor proporción.Esto ocurre también en otras <strong>de</strong>nominaciones<strong>de</strong> perfiles no incluidas en <strong>la</strong> figura 2, comolos <strong>de</strong> Ingeniero Software o Técnico <strong>de</strong>Sistemas. Sólo existe una excepción para elcaso <strong>de</strong> los auditores, don<strong>de</strong> <strong>la</strong> <strong>de</strong>mandamayoritaria correspon<strong>de</strong> a los Ing.Informáticos.En resumen, se pue<strong>de</strong> concluir que <strong>la</strong> titu<strong>la</strong>ción noes madura y <strong>la</strong> competencia con otras <strong>de</strong> 2º cicloes muy fuerte, a pesar <strong>de</strong> que el ámbito <strong>de</strong>comparación se refiere exclusivamente aocupaciones informáticas.Una razón que explica el anterior diagnóstico,sobre todo en los trabajos <strong>de</strong> gestión, es <strong>la</strong> falta o<strong>de</strong>ficiente formación específica que recibennuestros titu<strong>la</strong>dos en temas re<strong>la</strong>cionados con eluso <strong>de</strong> <strong>la</strong> Informática en el entorno empresarial.No cabe duda que parte <strong>de</strong> <strong>la</strong> formación necesariapara ocupar dichos puestos son recibidos encursos <strong>de</strong> postgraduados. De hecho, segúnestudios <strong>de</strong> <strong>la</strong> UPM [4] más <strong>de</strong> un 40% <strong>de</strong> lostitu<strong>la</strong>dos por esta Universidad ha consi<strong>de</strong>radonecesario realizar cursos <strong>de</strong> especialización parapo<strong>de</strong>r completar su formación, (un 3,6% en temas<strong>de</strong> Dirección). Pero <strong>la</strong> cuestión es facilitar <strong>la</strong>transición a estos estudios <strong>de</strong> especialización. Yeso sólo se pue<strong>de</strong> conseguir fortaleciendo <strong>la</strong>formación, en los temas que nos ocupa, en losestudios que dan lugar a Ing. en Informática.En esta ponencia se explica <strong>de</strong> qué manera se hanseleccionado los contenidos para <strong>la</strong> actualización<strong>de</strong> dos materias re<strong>la</strong>cionadas con los SI/TI <strong>de</strong>lP<strong>la</strong>n <strong>de</strong> Estudios vigente en <strong>la</strong> Facultad <strong>de</strong>Informática <strong>de</strong> <strong>la</strong> UPM. Esta actualización aspirafacilitar <strong>la</strong> transición <strong>de</strong> sus graduados a otrosestudios <strong>de</strong> especialización a<strong>de</strong>cuadas a <strong>la</strong>s<strong>de</strong>mandas <strong>de</strong>l mercado. Para ello se tendrá encuenta un mo<strong>de</strong>lo curricu<strong>la</strong>r <strong>de</strong> SI y se buscará <strong>la</strong>coherencia con el P<strong>la</strong>n <strong>de</strong> Estudios <strong>de</strong>l Centro.2. Educación en Sistemas <strong>de</strong> InformaciónUna característica general que se espera <strong>de</strong> losIngenieros en Informática es que posean unaperspectiva general <strong>de</strong>l sistema y <strong>de</strong> <strong>la</strong>organización. Esta visión <strong>de</strong>be ir más allá <strong>de</strong> los<strong>de</strong>talles <strong>de</strong> <strong>la</strong> implementación y <strong>de</strong>sarrollo <strong>de</strong> losdiversos componentes y llegar a los procesos <strong>de</strong>negocio y <strong>la</strong> gestión <strong>de</strong> <strong>la</strong> organización en don<strong>de</strong>se insta<strong>la</strong>n.El tipo <strong>de</strong> cursos don<strong>de</strong> se pue<strong>de</strong>n recoger estetipo <strong>de</strong> conocimientos se correspon<strong>de</strong> a un mo<strong>de</strong>lomultidisciplinar, pues intervienen áreas como el<strong>de</strong> <strong>la</strong> gestión, <strong>la</strong> economía y el negocio.Los SI automatizados con ayuda <strong>de</strong>l or<strong>de</strong>nador hallegado a ser uno <strong>de</strong> <strong>la</strong>s partes críticas <strong>de</strong> losproductos, servicios y dirección <strong>de</strong> <strong>la</strong>sorganizaciones. El uso eficiente y efectivo <strong>de</strong> <strong>la</strong> TIes un elemento importante para lograr <strong>la</strong> ventajacompetitiva entre <strong>la</strong>s organizaciones <strong>de</strong> negocio ypara <strong>la</strong> excelencia en los servicios <strong>de</strong> aquel<strong>la</strong>sorganizaciones que no tienen ánimo <strong>de</strong> lucro. LosSI son vitales para <strong>la</strong> toma <strong>de</strong> <strong>de</strong>cisión en todoslos niveles <strong>de</strong> <strong>la</strong> dirección <strong>de</strong> <strong>la</strong> empresa:Operacionales, tácticos y estratégicos [5], [6].Ésta es <strong>la</strong> razón fundamental por <strong>la</strong> que senecesitan fuertes <strong>la</strong>zos entre los profesionales enlos SI y TI y los respectivos programas educativos<strong>de</strong> <strong>la</strong>s Universida<strong>de</strong>s. Pero, a<strong>de</strong>más, <strong>la</strong> TI estápresente en todas <strong>la</strong>s funciones <strong>de</strong> <strong>la</strong> organización.Este uso permanente incrementa <strong>la</strong> necesidad <strong>de</strong>profesionales <strong>de</strong> SI con experiencia en el<strong>de</strong>sarrollo <strong>de</strong> y gestión <strong>de</strong> SI2.1. El estado actual internacionalLas primeras experiencias académicascomenzaron en los años 60, y han crecido enimportancia a medida que se ha extendido el uso<strong>de</strong> <strong>la</strong>s TI como soporte <strong>de</strong> <strong>la</strong> <strong>de</strong>cisión para <strong>la</strong>sempresas. De <strong>la</strong> misma forma que <strong>la</strong>sUniversida<strong>de</strong>s comenzaron a ofertar titu<strong>la</strong>cionessobre distintas funciones <strong>de</strong> <strong>la</strong>s organizaciones,como <strong>la</strong> <strong>de</strong> gestión <strong>de</strong> recursos humanos,


financieros o <strong>de</strong> marketing, en EEUU apareció <strong>la</strong>titu<strong>la</strong>ción <strong>de</strong> Gestión <strong>de</strong> recursos <strong>de</strong> TI, osimplemente SI.El campo <strong>de</strong> los SI cubre dos áreas:• La función <strong>de</strong> SI: tiene <strong>la</strong> responsabilidad <strong>de</strong><strong>de</strong>sarrol<strong>la</strong>r, implementar y gestionar unainfraestructura <strong>de</strong> Tecnología <strong>de</strong> Información(or<strong>de</strong>nadores, comunicaciones), datos ysistemas horizontales <strong>de</strong> <strong>la</strong> organización. Seincluye también <strong>la</strong> <strong>la</strong>bor <strong>de</strong> seguimiento <strong>de</strong> <strong>la</strong>nueva TI y <strong>la</strong> <strong>de</strong> asistencia en suincorporación en <strong>la</strong> p<strong>la</strong>nificación, estrategiasy prácticas <strong>de</strong> <strong>la</strong> organización.• La función <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> sistemas para losprocesos internos y externos <strong>de</strong> <strong>la</strong>organización. Implica el uso creativo <strong>de</strong> <strong>la</strong>sTI para <strong>la</strong> adquisición <strong>de</strong> datos,comunicación, coordinación, análisis ysoporte a <strong>la</strong> <strong>de</strong>cisión. La creación <strong>de</strong> sistemas<strong>de</strong> este tipo incluye aspectos <strong>de</strong> gestión <strong>de</strong>cambio, innovación, calidad, entre otros.Hay, pues, una muy fuerte re<strong>la</strong>ción entre <strong>la</strong>Informática y los SI. De hecho suelen compartirmuchos cursos en común. Sólo se diferencian enque el contexto <strong>de</strong>l trabajo que se <strong>de</strong>sarrol<strong>la</strong>, lostipos <strong>de</strong> problemas que se resuelven los tipos <strong>de</strong>sistemas que se <strong>de</strong>sarrol<strong>la</strong>n y gestionan y el tipo<strong>de</strong> tecnología que se emplea. Por lo tanto,in<strong>de</strong>pendientemente <strong>de</strong> <strong>la</strong>s áreas <strong>de</strong> estudio, ambasdisciplinas tienen un subconjunto <strong>de</strong> conocimientotécnico.Esto se pue<strong>de</strong> constatar si se contemp<strong>la</strong> <strong>la</strong> últimareferencia <strong>de</strong> ACM respecto <strong>de</strong> un mo<strong>de</strong>locurricu<strong>la</strong>r para SI, IS’97 [7]. IS´97 cubre <strong>la</strong>s áreas:• Fundamentos <strong>de</strong> SI: se introduce al usuario enel uso <strong>de</strong> los SI y TI en <strong>la</strong>s organizaciones, y<strong>la</strong> forma en <strong>la</strong> que éstas proporcionan valorañadido como parte <strong>de</strong> productos y serviciosmejorados, en el soporte a <strong>la</strong> toma <strong>de</strong><strong>de</strong>cisiones o como elementos en los procesos<strong>de</strong> <strong>la</strong> organización.• Teoría y Práctica <strong>de</strong> SI: Conceptos y teorías<strong>de</strong> SI, TI que justifiquen métodos y prácticasen el uso <strong>de</strong> SI que mejoran el rendimiento<strong>de</strong> <strong>la</strong> organización. Se estudia <strong>la</strong> re<strong>la</strong>ción con<strong>la</strong> p<strong>la</strong>nificación y estrategia <strong>de</strong> <strong>la</strong> empresa.• TI: Aspectos técnicos <strong>de</strong> <strong>la</strong> disciplina, comoarquitecturas, Sistemas Operativos,interconexión a través <strong>de</strong>telecomunicaciones.• SI: Se analizan problemas y se diseñan eimplementan SI. Incluye reingeniería <strong>de</strong>procesos.• Desarrollo: Se construye el diseño físico <strong>de</strong>lSI y se implementa usando herramientas <strong>de</strong>DBMS.• Desarrollo <strong>de</strong> SI y Gestión: Gestión <strong>de</strong>l SI, <strong>de</strong>proyecto (para asegurar <strong>la</strong> calidad <strong>de</strong> suscomponentes) e integración <strong>de</strong> sistemas.IS01.1Fundamentos<strong>de</strong> SIIS01.2Estrategia,Arq. y Diseño<strong>de</strong> e-BusinessIS01.3 Teoríay Práctica <strong>de</strong>SIIS01.4Hardware ySoftware <strong>de</strong> TIIS01.5Programación,Datos, ObjetosIS01.6 Re<strong>de</strong>s yTelecomunicaciónIS01.7 Análisisy DiseñoLógicoIS01.8 Diseñoe Implementac.con DBMSIS01.9 Diseñoe Implementac.en EntornosIS01.10GestiónProyecto<strong>de</strong>lIntroducción a los sistemas yconceptos <strong>de</strong> <strong>de</strong>sarrollo, TI, SI. Seexplica cómo se usa <strong>la</strong> informacióny cómo <strong>la</strong> TI mejora <strong>la</strong> ventajacompetitiva.Se examina <strong>la</strong> re<strong>la</strong>ción <strong>de</strong> <strong>la</strong>estrategia organizativa y métodoselectrónicos <strong>de</strong> entrega <strong>de</strong> productos,servicios entre organizaciones.Se da una visión <strong>de</strong> los modosorganizativos, p<strong>la</strong>nificación y cómose usa <strong>la</strong> información para tomar<strong>de</strong>cisiones.Se proporciona fundamentos <strong>de</strong>hardware/software para diversasarquitecturas en red/or<strong>de</strong>nador quese usan en el diseño, eimplementación <strong>de</strong> SI.Se expone <strong>de</strong>sarrollo <strong>de</strong> algoritmos,programación, diseño y aplicación<strong>de</strong> datos y estructuras <strong>de</strong> ficheros.Este curso se estudian <strong>la</strong>stecnologías en telecomunicaciones yre<strong>de</strong>sSe examina el proceso <strong>de</strong> <strong>de</strong>sarrolloy modificación <strong>de</strong>l sistema, haciendoénfasis a <strong>la</strong> comunicación conusuariosSe implementa el diseño lógicousando un software para DBMS.Cubre el diseño físico eimplementación <strong>de</strong> aplicaciones <strong>de</strong>SI en entornos <strong>de</strong> distribuidos.Aspectos técnicos y <strong>de</strong>comportamiento en <strong>la</strong> gestión <strong>de</strong>sistemas en el nivel <strong>de</strong> empresas.Figura 3. Alcance <strong>de</strong> asignaturas propuestas en el IS´01Este mo<strong>de</strong>lo <strong>de</strong> currículo, <strong>de</strong> hace 5 años, está enproceso <strong>de</strong> actualización. Aún no ha aparecido <strong>la</strong>


versión <strong>de</strong>finitiva <strong>de</strong>l 2002. Pero <strong>la</strong>spresentaciones previas <strong>de</strong> los trabajos que se estánrealizando indican que se mantienen aceptables<strong>la</strong>s áreas presentadas <strong>de</strong>l mo<strong>de</strong>lo IS’97 peroañadiendo un único curso que dé soporte alcrecimiento <strong>de</strong>l comercio electrónico.En resumen se proponen 10 cursos que permitenpresentar <strong>la</strong>s áreas anteriormente i<strong>de</strong>ntificadas. En<strong>la</strong> figura 3 se recogen los alcances <strong>de</strong> los 10cursos.materias con visión <strong>de</strong> organización en <strong>la</strong> FI-UPM: el grado <strong>de</strong> integración y cobertura conrespecto <strong>de</strong> dos elementos <strong>de</strong> referencia: elmo<strong>de</strong>lo curricu<strong>la</strong>r <strong>de</strong> ACM y el P<strong>la</strong>n <strong>de</strong> estudios<strong>de</strong>l centro.Mientras que el primero es genérico a cualquiercontexto y se pue<strong>de</strong> utilizar a modo <strong>de</strong> estándar, elsegundo es específico al caso <strong>de</strong> que se trate, pues<strong>de</strong>pen<strong>de</strong> <strong>de</strong>, entre otras cosas, <strong>de</strong> su propioentorno social e industrial.2.3. El estado en <strong>la</strong> FI-UPMHay fundamentalmente dos materias en el P<strong>la</strong>n <strong>de</strong>Estudios <strong>de</strong> <strong>la</strong> FI-UPM, que aúnan <strong>la</strong> visión <strong>de</strong> <strong>la</strong>organización con <strong>la</strong> <strong>de</strong> <strong>la</strong>s TI y SI. Son, “LaFunción Informática en <strong>la</strong> Empresa” y “AuditoríaInformática”. Ambas, <strong>de</strong> 4,5 créditos, sonoptativas <strong>de</strong> 5º curso y se impartieron el cursopasado por primera vez en unas condicionespeculiares que fueron expuestas en <strong>la</strong>s anterioresjenui2001 [8]. Básicamente a partir <strong>de</strong> <strong>la</strong>experiencia y criterios personales <strong>de</strong> losprofesores encargados que subsanóprovisionalmente <strong>la</strong> carencia <strong>de</strong> p<strong>la</strong>nificación para<strong>la</strong> e<strong>la</strong>boración <strong>de</strong>l P<strong>la</strong>n <strong>de</strong> Estudios ya comentada.Tras un curso <strong>de</strong> experiencia docente en estasmaterias, éste es el momento <strong>de</strong> mejorar yactualizar los contenidos propuestos inicialmentepara dichas asignaturas pero ahora asegurando <strong>la</strong>coherencia y coordinando los contenidos con otrasasignaturas <strong>de</strong>l P<strong>la</strong>n <strong>de</strong> Estudios vigente. Es <strong>de</strong>cir,mientras que en un primer momento los esfuerzosse centraron en proporcionar una docenciacoherente y cohesionada <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vistainterno <strong>de</strong> <strong>la</strong>s asignaturas, ahora, en una segundafase se preten<strong>de</strong> asegurar <strong>la</strong> coherencia externa.3. La calidad <strong>de</strong> los programas docentes<strong>de</strong> asignaturas optativasPara <strong>de</strong>terminar si el programa docente <strong>de</strong> unaasignatura es a<strong>de</strong>cuado no so<strong>la</strong>mente hay queestudiar los contenidos que incluye. Otrosaspectos son <strong>la</strong> cobertura y el grado <strong>de</strong>profundidad <strong>de</strong>l P<strong>la</strong>n, así como <strong>la</strong>s habilida<strong>de</strong>sque tienen que reunir los graduados.En esta ponencia se trata más en <strong>de</strong>talle uno <strong>de</strong>estos aspectos dada <strong>la</strong> situación explicada para <strong>la</strong>s3.1. Asignaturas <strong>de</strong> SI en el P<strong>la</strong>n <strong>de</strong> Estudios <strong>de</strong><strong>la</strong> FI-UPMEl objetivo en este punto es mostrar cómo cubre e<strong>la</strong>ctual P<strong>la</strong>n <strong>de</strong> Estudios <strong>de</strong> nuestro centro <strong>la</strong>smaterias <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> currículo <strong>de</strong> SI <strong>de</strong>scrito enel capítulo anterior, y que se ha consi<strong>de</strong>radonecesario para aten<strong>de</strong>r más a<strong>de</strong>cuadamente a <strong>la</strong>snecesida<strong>de</strong>s <strong>de</strong> nuestro mercado <strong>la</strong>boral, así comoser más competitivos frente otras titu<strong>la</strong>cionessuperiores no específicamente <strong>de</strong> Informática.Los cursos propuestos <strong>de</strong>l mo<strong>de</strong>lo IS01 han sidocompletados con elementos <strong>de</strong>l Cuerpo <strong>de</strong>conocimientos <strong>de</strong> SI. Este conjunto <strong>de</strong>conocimientos está organizado en tres áreasdistintas: TI, Conceptos <strong>de</strong> gestión y <strong>de</strong>organización y, por último, Teoría y Desarrollo <strong>de</strong>Sistemas. Cada una <strong>de</strong> estas áreas se <strong>de</strong>scomponeen tres niveles <strong>de</strong> subapartados que <strong>de</strong>sarrol<strong>la</strong>n loscontenidos concretos por cada una <strong>de</strong> <strong>la</strong>s áreas, a<strong>la</strong> vez que se encuentra referencias a los cursos <strong>de</strong>lmo<strong>de</strong>lo <strong>de</strong> currículo en don<strong>de</strong> se incluyen, asícomo los niveles <strong>de</strong> profundidad <strong>de</strong> su aplicaciónsegún <strong>la</strong> taxonomía <strong>de</strong> Bloom [9].Basado en este cuerpo <strong>de</strong> conocimientos se harealizado un estudio <strong>de</strong> cobertura utilizando <strong>la</strong>smaterias <strong>de</strong> nuestro P<strong>la</strong>n <strong>de</strong> Estudios. El objetivoha sido i<strong>de</strong>ntificar <strong>la</strong>gunas <strong>de</strong> contenidos que noson recogidas por materias <strong>de</strong> nuestro P<strong>la</strong>n <strong>de</strong>Estudios. Para este estudio sólo se tendrán encuenta materias troncales, obligatorias y optativas.No se ha tenido en cuenta si los contenidos <strong>de</strong>lcuerpo <strong>de</strong> conocimientos en su nivel máximo <strong>de</strong><strong>de</strong>talle aparecen reflejados en los temarios <strong>de</strong> <strong>la</strong>sasignaturas. Esto no tendría sentido dado el altogrado <strong>de</strong> actualización <strong>de</strong> contenidos. Por ello elestudio se limita a comprobar <strong>la</strong> a<strong>de</strong>cuación <strong>de</strong> <strong>la</strong>smaterias <strong>de</strong>l P96 hasta el segundo nivel <strong>de</strong><strong>de</strong>scomposición <strong>de</strong> <strong>la</strong>s áreas <strong>de</strong> conocimiento


<strong>de</strong>scritos. A continuación se presentan losresultados por áreas:• Área <strong>de</strong> TI (IS´97): Este área cubre losapartados recogidos en <strong>la</strong> figura 4.ConocimientosIS´97Arquitecturas <strong>de</strong>or<strong>de</strong>nadoresAlgoritmosEstructurasDatosy<strong>de</strong>Lenguajes <strong>de</strong>ProgramaciónSistemasOperativosTelecomunicacionesBases <strong>de</strong> DatosInt. ArtificialCorrespon<strong>de</strong>ncia con materias P96Estructura <strong>de</strong> computadoresLab. Estructura <strong>de</strong> ComputadoresArquitectura <strong>de</strong> ComputadoresArquitectura <strong>de</strong> MultiprocesadoresDiseño <strong>de</strong> sistemas DigitalesMetodología <strong>de</strong> ProgramaciónEstructura <strong>de</strong> datos IEstructura <strong>de</strong> datos IIDesarrollo sistemático programasInformática TeóricaIA Conexionista. Re<strong>de</strong>s neuronasMetodología ProgramaciónProgramación concurrenteMo<strong>de</strong>los <strong>de</strong>sarrollo progamasEntornos <strong>de</strong> programaciónSistemas OperativosDiseño <strong>de</strong> Sistemas OperativosSistemas Operativos distribuidosRe<strong>de</strong>s ComputadorasArq. Re<strong>de</strong>s comunicacionesCriptografíaRe<strong>de</strong>s datos <strong>de</strong> Banda anchaIng. Protocolo comunicacionesDiseño, p<strong>la</strong>nif. Y gestión sists.Comunicaciones <strong>de</strong> datosSists. Distribuidos: Arq. ComunicsBases <strong>de</strong> DatosProtección InformaciónBD <strong>de</strong>ductivasBD distribuidasBD Orientadas a ObjetosInt. ArtificialIng. ConocimietoLeng. NaturalAprendizaje AutomáticoValidación SBCMo<strong>de</strong>los razonamientoIA conexionistaFigura 4. Correspon<strong>de</strong>ncia entre los conocimientos <strong>de</strong>lárea <strong>de</strong> Tecnología <strong>de</strong> Información y el P96• Área <strong>de</strong> Teoría organizacional (IS´97): Esteárea cubre los apartados <strong>de</strong>scritos en <strong>la</strong> figura5.ConocimientosIS´97TeoríaOrganizacionalCorrespon<strong>de</strong>ncia con materias P96Función Informática en <strong>la</strong> empresaAdmón. y organización empresasGestión <strong>de</strong> SI Función Informática en <strong>la</strong>EmpresaEvaluación <strong>de</strong> SIAuditoríaProtección <strong>de</strong> <strong>la</strong> InformaciónLAGUNAS!!Teoría <strong>de</strong> <strong>la</strong><strong>de</strong>cisiónComportamientoorganizacionalGestión proceso<strong>de</strong> cambioAspectos legalesy éticosProfesionalismoHabilida<strong>de</strong>spersonales, InterpersonalSistemas <strong>de</strong> ayuda a <strong>la</strong> <strong>de</strong>cisiónLAGUNAS!!LAGUNAS!!AuditoríaProtección <strong>de</strong> <strong>la</strong> informaciónLAGUNAS!!LAGUNAS!!Figura 5. Correspon<strong>de</strong>ncia entre los conocimientos <strong>de</strong>lárea <strong>de</strong> Teoría organizacional y el P96• Área <strong>de</strong> Teoría y Desarrollo <strong>de</strong> Sistemas(IS´97): Este área cubre los apartados <strong>de</strong> <strong>la</strong>figura 6.Es <strong>de</strong>cir, <strong>de</strong> <strong>la</strong>s tres áreas estudiadas, en una <strong>de</strong>el<strong>la</strong>s (<strong>la</strong> <strong>de</strong> Teoría Organizacional) se hanencontrado <strong>de</strong>terminados bloques <strong>de</strong> contenidosque no se tratan actualmente en ninguna <strong>de</strong> <strong>la</strong>smaterias <strong>de</strong>l actual P<strong>la</strong>n <strong>de</strong> Estudios. Estas<strong>la</strong>gunas <strong>de</strong> conocimiento, por su naturaleza, soncandidatas a ser incorporadas en <strong>la</strong> próximaactualización <strong>de</strong> <strong>la</strong>s asignaturas “AuditoríaInformática” y “Función Informática en <strong>la</strong>Empresa”.7. ConclusionesLa experiencia que aquí se presenta ha permitido<strong>la</strong> <strong>de</strong>tección <strong>de</strong> una carencia <strong>de</strong> unos <strong>de</strong>terminadosbloques <strong>de</strong> contenidos en los programas <strong>de</strong> dosasignaturas que forman parte <strong>de</strong> <strong>la</strong> disciplina <strong>de</strong>Sistemas <strong>de</strong> Información. El proceso que se haseguido está particu<strong>la</strong>rizado al contextoproporcionado por el P<strong>la</strong>n <strong>de</strong> Estudios vigente en


el centro, su documentación y p<strong>la</strong>nificación, y porúltimo, por el conjunto <strong>de</strong> asignaturas que hanquerido ser actualizadas mediante estaaproximación.ConocimientosIS´97Conceptos <strong>de</strong>Información ySistemasAprox.<strong>de</strong>sarrolloSistemasal<strong>de</strong>Conceptos ymetodologías <strong>de</strong><strong>de</strong>sarrolloHerramientas yTécnicasP<strong>la</strong>nificación <strong>de</strong>aplicaciónGestiónriesgosGestiónProyectosAnálisisinformaciónnegocioDiseño <strong>de</strong> SI<strong>de</strong><strong>de</strong><strong>de</strong>yImplementacióny estrategias <strong>de</strong>TestingOperación ymantenimiento<strong>de</strong> sistemasDesarrollo <strong>de</strong>tipos específicos<strong>de</strong> SICorrespon<strong>de</strong>ncia con materias P96Función Informática en <strong>la</strong> empresaIngeniería Software IIModos <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> programasIngeniería Software IIngeniería Software IIProy. práctico construcción softw.Profundización en Ing. Softw.Mo<strong>de</strong>los <strong>de</strong>sarrollo <strong>de</strong> programasIngeniería Software IIProy. práctico construcción softw.Entornos <strong>de</strong> programaciónProy. práctico construcción softw.Sistemas InformáticosIngeniería Software IProfundización en Ing. SoftwareAuditoría InformáticaIngeniería Software IIngeniería Software IProfundización en Ing. Softw.Función Informática en <strong>la</strong>EmpresaModos <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> programasIngeniería Software IIProy. práctico construcción softw.Profundización en Ing. Softw.Evaluación <strong>de</strong> SIIngeniería Software IIProfundización en Ing. SoftwareSistemas InformáticosFigura 6. Correspon<strong>de</strong>ncia entre los conocimientos <strong>de</strong>lárea <strong>de</strong> Teoría y Desarrollo <strong>de</strong> Sistemas y el P96Sin embargo, se pue<strong>de</strong>n <strong>de</strong>rivar distintaslecciones:• En <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> Ingeniero en Informáticaen España hay una generalizada carencia <strong>de</strong>formación en muchos aspectos <strong>de</strong> Sistemas<strong>de</strong> Información.• Esta formación específica es importante dada<strong>la</strong> <strong>de</strong>manda <strong>de</strong>l mercado, no sólo en ámbitointernacional.• Las actualizaciones <strong>de</strong> programas <strong>de</strong>asignaturas <strong>de</strong>ben ser coherentes con el P<strong>la</strong>n<strong>de</strong> estudios <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción.Referencias[1] The Joint Task Force on ComputingCurricu<strong>la</strong>. Computing Curricu<strong>la</strong>’91, ACM andthe Computer Society of the IEEE, 1991.[2] The Joint Task Force on ComputingCurricu<strong>la</strong>. Computing Curricu<strong>la</strong> 2001, FinalReport. ACM and the Computer Society ofIEEE, December 15, 2001.[3] Comité Evaluación Interna, Informe <strong>de</strong>Evaluación Interna <strong>de</strong> <strong>la</strong> FI-UPM, InformeTécnico FIM/113/Decanato/2001, Noviembre<strong>de</strong> 2001[4] Gabinete <strong>de</strong> Estudios Sociológicos yEstadística <strong>de</strong> <strong>la</strong> UPM. Estudio sobre elempleo <strong>de</strong> los graduados <strong>de</strong> <strong>la</strong> UPM,Rectorado <strong>de</strong> <strong>la</strong> Universidad Politécnica <strong>de</strong>Madrid, 2000.[5] Mawhinney, Morrel and Morris. The ISCurriculum: Closing the gap, ISECON´94Proceedings, 1994.[6] Trauth, Frawell and Lee. The IS expectationGap: Industry expectations versus aca<strong>de</strong>micpreparation MIS Quaterly, 1993.[7] ACM, AIS, AITP, IS’97 Mo<strong>de</strong>l CurriculumGui<strong>de</strong>lines for Un<strong>de</strong>rgraduate DegreePrograms in Information Systems, Associationof Information Technology Professionals1997.[8] Tovar, E. y otros. La Función Informática en<strong>la</strong> Empresa, VII <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática jenui 2001,Palma <strong>de</strong> Mallorca, 2001.[9] Bloom, B. The taxonomy of educationalobjectives: C<strong>la</strong>ssification of educationalgoals. Handbook1: the cognitive domain. NewYork: McKay Press, 1956.


Perfil profesional y académico <strong>de</strong> <strong>la</strong> informática en EspañaGloria Martínez, Germán FabregatDpto. <strong>de</strong> Ingeniería y Ciencia <strong>de</strong> los ComputadoresUniversidad Jaume I12071 Castellón{martine,fabregat}@icc.uji.esResumenLa situación actual <strong>de</strong>l mercado <strong>la</strong>boral paralos titu<strong>la</strong>dos informáticos es ha<strong>la</strong>güeña, comoconsecuencia <strong>de</strong>l contexto socio–económico.Hay una gran <strong>de</strong>manda <strong>la</strong>boral en todo elmundo en el sector <strong>de</strong> <strong>la</strong>s Tecnologías <strong>de</strong> <strong>la</strong>Información, TI, también conocido en Españacomo “nuevas tecnologías”.Esta gran <strong>de</strong>manda pue<strong>de</strong> llegar a afectar a<strong>la</strong> <strong>de</strong>finición <strong>de</strong>l perfil académico. En este punto,históricamente, <strong>la</strong> visión académica siempredifiere <strong>de</strong> <strong>la</strong> empresarial, y viceversa. Enesta discusión <strong>de</strong>bería incorporarse, <strong>de</strong> formapositiva, otro factor: tanto en EEUU como enEuropa, se está promoviendo un amplio <strong>de</strong>batesobre cuáles son los perfiles y habilida<strong>de</strong>snecesarias para cada uno <strong>de</strong> los profesionales<strong>de</strong> <strong>la</strong>s TI.En esta <strong>de</strong>finición <strong>de</strong> los perfiles profesionales,<strong>la</strong> universidad no <strong>de</strong>bería permaneceral margen. A<strong>de</strong>más <strong>de</strong> servir como un acercamientoa <strong>la</strong> visión empresarial, pue<strong>de</strong> ser unmotivo <strong>de</strong> reflexión sobre nuestra troncalidadintelectual, sobre <strong>la</strong> idoneidad <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>cionesactuales y nuestro propio perfil científico,actualmente vertebrado en tres áreas <strong>de</strong> conocimiento.1. Contexto socio–económicoDurante el último lustro <strong>la</strong>s Tecnologías <strong>de</strong><strong>la</strong> Información y <strong>de</strong> <strong>la</strong>s Comunicaciones, TIC,se han convertido en una <strong>de</strong> <strong>la</strong>s áreas económicas<strong>de</strong> mayor crecimiento; <strong>de</strong> hecho, diversosestudios <strong>de</strong> 2000 sugieren que el rápido crecimiento<strong>de</strong> <strong>la</strong> economía estadouni<strong>de</strong>nse <strong>de</strong> 1995a 2000 ha sido li<strong>de</strong>rado por los avances en elsector <strong>de</strong> <strong>la</strong> Tecnología <strong>de</strong> <strong>la</strong> Información, TI, y<strong>la</strong> aplicación <strong>de</strong> estas tecnologías a otras áreas<strong>de</strong> <strong>la</strong> economía. Los primeros datos sobre e<strong>la</strong>ño 2001 apuntan que sigue este crecimiento,si bien menos acelerado, en parte por <strong>la</strong> situacióneconómica (que ha propiciado <strong>la</strong> quiebra<strong>de</strong> empresas tecnológicas surgidas en plena expansión),en parte por <strong>la</strong> situación especial quevive <strong>la</strong> economía norteamericana tras el atentado<strong>de</strong>l 11 <strong>de</strong> Septiembre <strong>de</strong> 2001 ([4] [2]).El uso <strong>de</strong> <strong>la</strong>s tecnologías está asociado anuevos patrones <strong>de</strong> creación y pérdida <strong>de</strong> trabajos:<strong>la</strong>s TIC reemp<strong>la</strong>zan viejas tareas, mediante<strong>la</strong> automatización, pero crean nuevospuestos para ocupaciones con <strong>de</strong>mandas crecientes,como <strong>la</strong> <strong>de</strong> programación software. Dehecho, en Europa y en EEUU, <strong>la</strong> <strong>de</strong>manda <strong>de</strong>profesionales ha superado a <strong>la</strong> oferta y se hatenido que suplir <strong>la</strong> carencia con <strong>la</strong> incorpo-


ación <strong>de</strong> profesionales extranjeros. Es famosoel caso <strong>de</strong> <strong>la</strong> oferta alemana <strong>de</strong> incorporar a200.000 profesionales informáticos <strong>de</strong> élite extranjeros[7].La situación es simi<strong>la</strong>r (o peor) en España.Si bien en los últimos años <strong>la</strong> economía españo<strong>la</strong>se ha acercado a <strong>la</strong> media europea, yel sector <strong>de</strong> <strong>la</strong>s TI ha conocido un crecimientosostenido en los últimos 6 años <strong>de</strong> más <strong>de</strong>un 80 %, los datos indican que el mercado español<strong>de</strong> <strong>la</strong>s TI aún está por <strong>de</strong>bajo <strong>de</strong> <strong>la</strong> mediaeuropea y que, a<strong>de</strong>más, en nuestro mercado,<strong>la</strong>s importaciones superan a <strong>la</strong>s exportaciones[15].La <strong>de</strong>manda <strong>de</strong> profesionales informáticoses muy alta; se estima [8] que el déficit <strong>de</strong> expertosen TI será <strong>de</strong> 100.000 personas en 2003,<strong>de</strong> acuerdo a <strong>la</strong> evolución <strong>de</strong> <strong>la</strong> <strong>de</strong>manda. Auncuando los datos <strong>de</strong> estimación puedan ser <strong>de</strong>masiadooptimistas, <strong>la</strong> situación real es que, enel estado, no existen suficientes titu<strong>la</strong>dos parahacer frente a <strong>la</strong> <strong>de</strong>manda; y, lo que es peor,dada <strong>la</strong> pirámi<strong>de</strong> <strong>de</strong> pob<strong>la</strong>ción y el previsible<strong>de</strong>scenso <strong>de</strong> alumnos matricu<strong>la</strong>dos en <strong>la</strong> universidadpara los próximos cursos, no pareceque ésta se pueda cubrir.Esta situación ha provocado <strong>la</strong> toma <strong>de</strong>medidas, algunas <strong>de</strong>tal<strong>la</strong>das en el p<strong>la</strong>n InfoX-XI <strong>de</strong>l Ministerio <strong>de</strong> Ciencia y Tecnología [13],como <strong>la</strong>s ten<strong>de</strong>ntes a promover <strong>la</strong> “alfabetizacióninformática” <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción y <strong>la</strong> formación<strong>de</strong> profesionales (por cada titu<strong>la</strong>do superior,se estima que se necesitan tres personascon conocimientos básicos <strong>de</strong> tecnologías <strong>de</strong> <strong>la</strong>información) y a impulsar el uso <strong>de</strong> telecomunicacionesy nuevas tecnologías en <strong>la</strong>s pymes.Lo que, en principio, pue<strong>de</strong> ser una situación<strong>la</strong>boral beneficiosa para nuestros estudiantes,tiene una vertiente peligrosa que ha<strong>de</strong> preocuparnos como docentes: <strong>la</strong> creciente<strong>de</strong>manda por <strong>la</strong>s empresas <strong>de</strong> titu<strong>la</strong>dos informáticos,pue<strong>de</strong> provocar una ten<strong>de</strong>ncia arehacer los curricu<strong>la</strong> universitarios en función<strong>de</strong> <strong>la</strong> <strong>de</strong>manda empresarial, en perjuicio <strong>de</strong>otros factores.2. El mercado <strong>la</strong>boral y <strong>la</strong> visión empresarialEn [11] se pue<strong>de</strong> encontrar un amplio estudio<strong>de</strong>l mercado <strong>la</strong>boral en España. De esteestudio se <strong>de</strong>spren<strong>de</strong> que éste se concentra,principalmente, en Madrid y Cataluña, y el<strong>de</strong>sglose por sectores muestra que Finanzas,Administración Pública e Industria son, poreste or<strong>de</strong>n, los que cuentan con mayor pesore<strong>la</strong>tivo.En cuanto a <strong>la</strong> evolución anual <strong>de</strong>l crecimiento<strong>de</strong> empleo, tras un bajón en los años92–95, sufrió una espectacu<strong>la</strong>r aceleración enel 98 (crecimiento <strong>de</strong> un 25 %), disminuyó ligeramenteen el 99 y <strong>la</strong>s previsiones son quese mantendrá cercano a un 10 % [1] (según losúltimos estudios <strong>de</strong> <strong>la</strong> SEDISI 1 , [16], <strong>la</strong> evolucióninteranual <strong>de</strong> Octubre <strong>de</strong> 2000 a Septiembre<strong>de</strong> 2001, ha sido <strong>de</strong> 8,8 %. A<strong>de</strong>más,los últimos informes <strong>de</strong>l Centro <strong>de</strong> Predicciones,[2], estiman que el crecimiento para 2002,sobre <strong>la</strong> cifra <strong>de</strong> este año, será <strong>de</strong> aproximadamenteun 1 %). Los datos sobre el período98/99/00, también indican que el 83,67 % <strong>de</strong>los trabajadores en empresas informáticas tienenun contrato fijo y que <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>sofertas <strong>de</strong> trabajo fijo suelen dirigirse a titu<strong>la</strong>dos.Sólo un 32 % <strong>de</strong> <strong>la</strong> ofertas no exigíantitu<strong>la</strong>ción y se correspondían mayoritariamentecon contratos temporales, <strong>de</strong> menor sa<strong>la</strong>rioy poca responsabilidad.También en [11] se pue<strong>de</strong> encontrar unanálisis <strong>de</strong> ofertas <strong>la</strong>borales en un diario <strong>de</strong>ámbito nacional 2 . Primero, se observa que hayuna gran <strong>de</strong>manda <strong>de</strong> profesionales con perfilesespecíficos (el 70 %). De entre estos perfiles,por solicitu<strong>de</strong>s, <strong>de</strong>stacan bases <strong>de</strong> datos1 SEDISI, Asociación españo<strong>la</strong> <strong>de</strong> empresas <strong>de</strong>tecnologías <strong>de</strong> <strong>la</strong> información2 El período <strong>de</strong> estudio compren<strong>de</strong> <strong>de</strong>s<strong>de</strong> Diciembre<strong>de</strong> 2000 a Abril <strong>de</strong> 2001.


(25 %), <strong>de</strong>sarrollo <strong>de</strong> software (20 %), aplicacionesweb (14,4 %), seguridad/sistemas operativos(13,2 %) y re<strong>de</strong>s (12,1 %). Del análisistambién se <strong>de</strong>spren<strong>de</strong> que, <strong>de</strong> <strong>la</strong>s ofertas queexigían una titu<strong>la</strong>ción, el 25 % era para titu<strong>la</strong>dossuperiores en informática, el 18 % paratitu<strong>la</strong>dos técnicos en informática (aunquecon un fuerte so<strong>la</strong>pe con <strong>la</strong> titu<strong>la</strong>ción superior)y sólo el 3 % para titu<strong>la</strong>dos en FormaciónProfesional. Según el propio diario, en 2000 elnúmero <strong>de</strong> ofertas publicadas para Ingenierosen Informática fue <strong>de</strong> 9.668 y para IngenierosTécnicos en Informática, <strong>de</strong> 7.293.Estos datos, junto con <strong>la</strong> alta <strong>de</strong>mandaque se <strong>de</strong>riva <strong>de</strong> <strong>la</strong> exposición <strong>de</strong> <strong>la</strong> situacióneconómica, muestran un futuro <strong>la</strong>boralprometedor para nuestros titu<strong>la</strong>dos. Cuestiónaparte es cómo <strong>de</strong>sean <strong>la</strong>s empresas que formemosa los alumnos y cuáles son <strong>la</strong>s <strong>de</strong>strezasque buscan: es el dilema perfil profesional/perfi<strong>la</strong>cadémico que, históricamente, enfrentaal empresario con el docente. Y este enfrentamientose pue<strong>de</strong> ver agravado por <strong>la</strong> necesidadacuciante <strong>de</strong> profesionales y podría llegara influir, <strong>de</strong> forma perniciosa, en los p<strong>la</strong>nes<strong>de</strong> estudio <strong>de</strong> <strong>la</strong>s universida<strong>de</strong>s.La situación socio–económica en el ámbito<strong>de</strong> <strong>la</strong>s TI, se traduce en una falta <strong>de</strong> personalcualificado, lo que provoca que aumentenlos sa<strong>la</strong>rios, lo que a su vez <strong>de</strong>semboca en quemuchas pymes no puedan competir lo que, a<strong>la</strong> <strong>la</strong>rga, perjudica al <strong>de</strong>sarrollo económico. Estoestá llevando a que, cada vez más, se oiganpropuestas en el sentido <strong>de</strong> que <strong>la</strong>s universida<strong>de</strong>sevolucionen en una especie <strong>de</strong> centros<strong>de</strong> formación profesional, con mayor capacidad<strong>de</strong> evolución. Esta visión, que difícilmenteserá compartida por <strong>la</strong> universidad pública,sí pue<strong>de</strong> ser utilizada por <strong>la</strong> privada y aumentarasí <strong>la</strong>s diferencias entre ambas. Si esto secombina en el marco <strong>de</strong> <strong>la</strong> nueva nueva ley<strong>de</strong> or<strong>de</strong>nación <strong>de</strong> <strong>la</strong>s universida<strong>de</strong>s, <strong>la</strong>s consecuenciaspue<strong>de</strong>n ser nefastas para <strong>la</strong> educaciónuniversitaria pública.Es <strong>de</strong> <strong>de</strong>sear que esta posibilidad no se dé.Hay varios factores que, combinados, pue<strong>de</strong>npermitir el <strong>de</strong>sarrollo armónico <strong>de</strong> los interesesuniversitarios, en cuanto a garantizar profesionalesverda<strong>de</strong>ramente cualificados, y los empresariales.En primer lugar, el acercamientouniversidad-empresa. La universidad <strong>de</strong>be reconocer<strong>la</strong> importancia <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong>ntro<strong>de</strong>l <strong>de</strong>sarrollo curricu<strong>la</strong>r <strong>de</strong> los estudios tecnológicos,pero también <strong>de</strong>be hacer partícipe a<strong>la</strong> empresa <strong>de</strong> <strong>la</strong>s ventajas prácticas que suponen,a <strong>la</strong> <strong>la</strong>rga, <strong>la</strong> contratación <strong>de</strong> profesionalescon una amplia base fundamental y con capacidad<strong>de</strong> adaptación, en un entorno en que losavances tecnológicos son tan rápidos.Pero, quizás, <strong>la</strong> discusión que es precisoincorporar <strong>de</strong> forma prioritaria en este acercamientouniversidad-empresa es <strong>la</strong> <strong>de</strong>finición<strong>de</strong> <strong>la</strong>s habilida<strong>de</strong>s propias <strong>de</strong> un profesional eninformática, en sus distintos niveles <strong>de</strong> cualificación:no es eficiente formar un ingeniero si<strong>de</strong>spués el <strong>de</strong>sconocimiento <strong>de</strong> cuáles son sushabilida<strong>de</strong>s reales, se traduce en una contrataciónpara un cargo que no requiere ese nivel<strong>de</strong> formación. El <strong>de</strong>sconocimiento sobre nuestratitu<strong>la</strong>ción hace que, muchas veces, se confundaun técnico con un ingeniero. Utilizandoun símil, nadie acu<strong>de</strong> a un ingeniero industrialespecializado en máquinas y motores térmicoscuando su coche se estropea; va al mecánico.Pero, en cambio, muchas veces se recurre a uningeniero informático para cambiar <strong>la</strong> configuración<strong>de</strong> una impresora. Hay que <strong>de</strong>finir bien<strong>la</strong> profesión para que el empresario sepa cómoy en qué campos actúan los diferentes profesionales<strong>de</strong> <strong>la</strong> informática.3. ¿Quiénes somos?Este es el título <strong>de</strong> un artículo <strong>de</strong> PeterDenning [6] (quien, entre otros cargos, ostentael <strong>de</strong> Presi<strong>de</strong>nte <strong>de</strong>l Consejo <strong>de</strong> Educación<strong>de</strong> ACM). En él, se hace un análisis crítico <strong>de</strong><strong>la</strong>s características que hacen <strong>de</strong> una actividad


una profesión, a<strong>de</strong>más <strong>de</strong> consi<strong>de</strong>rar los factoresque justifican <strong>la</strong> “profesión en tecnología<strong>de</strong> <strong>la</strong> información”. También, hace una c<strong>la</strong>sificación<strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s re<strong>la</strong>cionadas con elejercicio en el campo <strong>de</strong> <strong>la</strong>s TI y <strong>la</strong>s TIC, yaque no todos los puestos <strong>de</strong> trabajo están directamentere<strong>la</strong>cionados con <strong>la</strong> informática, o<strong>de</strong>ben ser <strong>de</strong>sempeñados por informáticos. Elmismo autor, en una entrevista publicada en <strong>la</strong>revista Ubiquity <strong>de</strong> ACM [5], expone <strong>la</strong>s i<strong>de</strong>asbásicas que han dado lugar a que exista esainquietud por <strong>de</strong>finir convenientemente dichocampo profesional.Destaca, entre otras consi<strong>de</strong>raciones, <strong>la</strong>constatación <strong>de</strong> que existen muchos gruposprofesionales propios <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>s TI, y que<strong>la</strong> informática se ha convertido en uno más<strong>de</strong> esos grupos. Si cada grupo tien<strong>de</strong> a seguirsu propio camino y no cooperar, pue<strong>de</strong> haberlugar a roces y enfrentamientos. De ahí,<strong>la</strong> importancia <strong>de</strong> una buena <strong>de</strong>finición. Paraconseguir esto, por ejemplo, ACM ha puestoen marcha <strong>la</strong> iniciativa ITP, InformationTechnology Profession, cuya finalidad es acabarestableciendo <strong>la</strong> Tecnología <strong>de</strong> <strong>la</strong> Informacióncomo una profesión. Hay ya tres proyectosen marcha, el proyecto Ubiquity nacido comoun foro <strong>de</strong> <strong>de</strong>bate en el que se preten<strong>de</strong>involucrar al mayor número posible <strong>de</strong> profesionalesen <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong> profesión, y <strong>la</strong>promoción <strong>de</strong>l ICDL, International ComputerDriving License, como acreditación internacionalsimi<strong>la</strong>r al ECDL, European Computer DrivingLicense. El tercero es el más ambicioso,el proyecto <strong>de</strong> i<strong>de</strong>ntidad ITP, cuya misión es<strong>de</strong>finir <strong>la</strong> estructura <strong>de</strong>l campo <strong>de</strong> <strong>la</strong>s TI, incluyendotroncalidad profesional e intelectual,estándares <strong>de</strong> cualificación, instituciones propiasy grupos profesionales.En Europa también se están realizando activida<strong>de</strong>sen este sentido. En 1999 se formó elICT (Information and Communication Society)Consortium, para fomentar <strong>la</strong>s activida<strong>de</strong>sque <strong>la</strong> falta <strong>de</strong> profesionales <strong>de</strong> <strong>la</strong>s TIpodría estar frenando. Este consorcio está formadopor distintas empresas y entre sus activida<strong>de</strong>s,hasta el momento, <strong>de</strong>staca <strong>la</strong> recomendación<strong>de</strong> acciones específicas, orientadasa promover el uso <strong>de</strong> <strong>la</strong>s nuevas tecnologías enel ámbito diario, profesional y educativo. Destacatambién <strong>la</strong> serie <strong>de</strong> perfiles profesionalesque ha e<strong>la</strong>borado, a los que incorpora no sólohabilida<strong>de</strong>s técnicas, sino también <strong>de</strong> comportamiento.A<strong>de</strong>más ha promovido Career-space[12], un portal <strong>de</strong> Internet que proporciona losperfiles profesionales más <strong>de</strong>mandados y permiteque los candidatos conecten con trabajadoresen ejercicio que puedan asesorarles <strong>de</strong>s<strong>de</strong>su experiencia. Otro organismo que está <strong>de</strong>sarrol<strong>la</strong>ndouna amplia <strong>la</strong>bor en <strong>la</strong> <strong>de</strong>finición<strong>de</strong> <strong>la</strong> profesión, es el CEPIS, Council of EuropeanProfessional Informatics Societies, quees el promotor <strong>de</strong>l ya mencionado ECDL, queha tenido un gran éxito en Europa. Se trata <strong>de</strong>una acreditación <strong>de</strong> habilida<strong>de</strong>s <strong>la</strong>borales básicasen ofimática, que incluye manejo <strong>de</strong> procesador<strong>de</strong> textos, hojas <strong>de</strong> cálculo, bases <strong>de</strong>datos e Internet. Es <strong>de</strong> <strong>de</strong>stacar que esta acreditaciónno está dirigida a profesionales <strong>de</strong> <strong>la</strong>sTI, sino a los que usan <strong>la</strong>s TI en su trabajo.En España, uno <strong>de</strong> los proyectos más importantesen este sentido ha estado promovidopor el ANIEL (Consejo <strong>de</strong> <strong>la</strong> Asociación Nacional<strong>de</strong> Industrias Electrónicas y <strong>de</strong> Telecomunicaciones),el Colegio Oficial <strong>de</strong> Ingenieros <strong>de</strong>Telecomunicación y <strong>la</strong> Universidad Politécnica<strong>de</strong> Madrid. Es el Proyecto PAFET, Propuesta<strong>de</strong> Acciones para <strong>la</strong> Formación <strong>de</strong> Profesionales<strong>de</strong> Electrónica, Informática y Telecomunicaciones[14]. A partir <strong>de</strong>l diagnóstico <strong>de</strong><strong>la</strong> situación actual, el informe i<strong>de</strong>ntifica perfilesprofesionales y establece un conjunto <strong>de</strong>recomendaciones, a todos los implicados, parael período 2001–2003. A<strong>de</strong>más, los promotoreshan <strong>de</strong>cidido <strong>la</strong> creación <strong>de</strong> un ObservatorioPermanente sobre <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l sector.


4. La importancia <strong>de</strong>l perfil profesionalEn este contexto internacional <strong>de</strong> <strong>de</strong>finición<strong>de</strong> <strong>la</strong> profesión en tecnologías <strong>de</strong> <strong>la</strong> información,en España se está produciendo <strong>la</strong>creación <strong>de</strong> colegios profesionales en diferentescomunida<strong>de</strong>s autónomas, en <strong>la</strong> creencia <strong>de</strong>que ello ayudará a <strong>la</strong> <strong>de</strong>finición y consolidación<strong>de</strong> <strong>la</strong> profesión. Se ha aprobado <strong>la</strong> creación <strong>de</strong>colegios en Murcia (28 <strong>de</strong> abril 1998), Valencia(19 <strong>de</strong> Mayo 2000), País Vasco (29 <strong>de</strong> Junio2000), Cataluña (9 <strong>de</strong> Abril 2001) y Asturias(21 <strong>de</strong> Mayo 2001). En Aragón el proyecto <strong>de</strong>creación fue rechazado por <strong>la</strong>s cortes aragonesasen Mayo <strong>de</strong> 2001. El proceso legis<strong>la</strong>tivose encuentra en marcha en Galicia y Castil<strong>la</strong>-León. Hay que recordar, también, que el PartidoPopu<strong>la</strong>r intentó tramitar una ley nacionalcuya tramitación fue interrumpida por <strong>la</strong> convocatoriaa elecciones legis<strong>la</strong>tivas <strong>de</strong> Marzo <strong>de</strong>2000 [9].Las repercusiones que <strong>la</strong> creación <strong>de</strong> los colegiospue<strong>de</strong>n tener en el progreso <strong>de</strong> <strong>la</strong> profesiónen España, no están muy c<strong>la</strong>ras. En principio,se pue<strong>de</strong> calificar <strong>de</strong> positiva cualquieriniciativa que contribuya a que los profesionalesinformáticos se agrupen para mejorar suprofesión, su formación, su código ético y suinfluencia social; pero, al analizar cada una <strong>de</strong><strong>la</strong>s leyes <strong>de</strong> creación y los estatutos que <strong>la</strong>s <strong>de</strong>sarrol<strong>la</strong>nse ve que dos cuestiones básicas sontratadas <strong>de</strong> diferente forma por los diferentescolegios: los más estrictos, los <strong>de</strong> Murcia y Valencia,exigen estar colegiado para po<strong>de</strong>r ejercery sólo permiten <strong>la</strong> colegiación a profesionales<strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción (en esta última cuestión,sólo el colegio <strong>de</strong> Cataluña contemp<strong>la</strong> <strong>la</strong> posibilidad<strong>de</strong> permitir <strong>la</strong> colegiación a profesionalesinformáticos provenientes <strong>de</strong> otras titu<strong>la</strong>ciones).¿Pue<strong>de</strong> mejorar <strong>la</strong> situación profesional <strong>la</strong>aplicación estricta <strong>de</strong> <strong>la</strong>s leyes colegiales? Noparece c<strong>la</strong>ro; incluso, algunos expertos seña<strong>la</strong>nque tales normas podrían ser anticonstitucionales.Lo que parece un contrasentido es que,cuando el principal problema <strong>de</strong>l sector es <strong>la</strong>falta <strong>de</strong> profesionales cualificados, se intentelegis<strong>la</strong>r <strong>de</strong> forma que se corra el riesgo <strong>de</strong> provocarinflexibilidad, falta <strong>de</strong> recic<strong>la</strong>je o, incluso,paralizar un sector profesional (el intrusismo,que ya no es un problema tan grave, esconsecuencia en gran medida, no lo olvi<strong>de</strong>mos,<strong>de</strong>l hecho <strong>de</strong> estar hab<strong>la</strong>ndo <strong>de</strong> una titu<strong>la</strong>ciónmuy reciente), yendo, a<strong>de</strong>más, en contra <strong>de</strong>l libremovimiento <strong>de</strong> los trabajadores europeos y<strong>de</strong> <strong>la</strong>s recomendaciones <strong>de</strong> los organismos europeosantes mencionados (una <strong>de</strong> cuya accionesrecomendadas es propiciar <strong>la</strong> movilidad <strong>de</strong>trabajadores cualificados entre estados, miembroso no <strong>de</strong> <strong>la</strong> UE, para favorecer el aprovechamiento<strong>de</strong> los recursos profesionales existentes).Se da, a<strong>de</strong>más, una paradoja que vuelve aincidir en <strong>la</strong> importancia <strong>de</strong> trabajar prioritariamenteen <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l perfil profesional[10]: una sentencia <strong>de</strong>l Tribunal Constitucional,<strong>de</strong> 11 <strong>de</strong> Mayo <strong>de</strong> 1989, advierte <strong>de</strong> que“el legis<strong>la</strong>dor al hacer uso <strong>de</strong> <strong>la</strong> habilitación[..] <strong>de</strong>berá hacerlo <strong>de</strong> forma tal que restrinjalo menos posible, y <strong>de</strong> modo justificado [..] yque al <strong>de</strong>cidir, en cada caso concreto, <strong>la</strong> creación<strong>de</strong> un Colegio Profesional, en cuanto tal,haya <strong>de</strong> tener en cuenta que, al afectar <strong>la</strong> existencia<strong>de</strong> éste a [..] <strong>de</strong>rechos fundamentales[..] sólo será constitucionalmente lícita cuandoesté justificada por <strong>la</strong> necesidad <strong>de</strong> servirun interés público”.En el caso <strong>de</strong> los Colegios Profesionales <strong>de</strong>Informática, se requerirá, por tanto, <strong>de</strong>mostrarel interés público al que sirve su creación;los fines específicos <strong>de</strong> interés público quedan<strong>de</strong>terminados por <strong>la</strong> propia profesión titu<strong>la</strong>dacuya regu<strong>la</strong>ción se preten<strong>de</strong>. Es <strong>de</strong>cir, <strong>la</strong> <strong>de</strong>limitación<strong>de</strong> <strong>la</strong> profesión informática ha <strong>de</strong> serprevia al intento <strong>de</strong> <strong>de</strong>mostrar el interés público.Y aún estamos discutiendo si <strong>la</strong> Informáticaes un ciencia, una ingeniería, una técnica o


un sector económico.El colectivo universitario <strong>de</strong>be implicarseen este proceso <strong>de</strong> <strong>de</strong>finición. Como docentes,para procurar un buen ajuste entre el perfi<strong>la</strong>cadémico y el perfil profesional; y, sobre todo,como científicos. La <strong>de</strong>finición <strong>de</strong> <strong>la</strong> troncalidadintelectual no nos <strong>de</strong>be ser ajena y, porsupuesto, no se <strong>de</strong>be <strong>de</strong>jar exclusivamente enmanos <strong>de</strong> <strong>la</strong>s empresas, ya que, a <strong>la</strong> <strong>la</strong>rga, secorre el riesgo <strong>de</strong> crear profesionales “a <strong>la</strong> carta”en lugar <strong>de</strong> buenos profesionales, con unasólida base <strong>de</strong> conocimientos.Y es en esta situación en <strong>la</strong> que también<strong>de</strong>beríamos ser críticos con nosotros mismos:¿respon<strong>de</strong> <strong>la</strong> oferta <strong>de</strong> titu<strong>la</strong>ciones actual a <strong>la</strong>snecesida<strong>de</strong>s actuales <strong>de</strong>l mercado profesional?¿respon<strong>de</strong> <strong>la</strong> or<strong>de</strong>nación académica a <strong>la</strong> evolución<strong>de</strong>l mercado profesional y a <strong>la</strong> evolucióncientífica <strong>de</strong> <strong>la</strong> informática?5. La Enseñanza <strong>Universitaria</strong> <strong>de</strong> Informáticaen EspañaEn el Decreto <strong>de</strong>l Ministerio <strong>de</strong> Educacióny Ciencia 327/1976, <strong>de</strong> fecha 26 <strong>de</strong> Febrero <strong>de</strong>1976, se estableció el <strong>de</strong>sarrollo, a través <strong>de</strong><strong>la</strong> educación universitaria y <strong>de</strong> <strong>la</strong> formaciónprofesional, <strong>de</strong> <strong>la</strong>s enseñanzas <strong>de</strong> informáticaen España, así como <strong>la</strong> especificación <strong>de</strong> losdiferentes estudios requeridos para cada tipo<strong>de</strong> trabajo:Codificador <strong>de</strong> Datos, título <strong>de</strong> TécnicoAuxiliar <strong>de</strong> Informática.Operador, título <strong>de</strong> Técnico Especialistaen Informática.Analista <strong>de</strong> Aplicaciones, título <strong>de</strong> Diplomadoen Informática (actualmente IngenieroTécnico en Informática).Técnico <strong>de</strong> Sistemas, Licenciado en Informática(actualmente Ingeniero en Informática).La adopción <strong>de</strong> <strong>la</strong>s <strong>de</strong>nominaciones <strong>de</strong> Licenciaturay Diplomatura fue impuesta por <strong>la</strong>scircunstancias políticas. Con <strong>la</strong> reforma <strong>de</strong> <strong>la</strong>sdirectrices para <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> los P<strong>la</strong>nes<strong>de</strong> Estudio <strong>de</strong> 1987, se instauró <strong>la</strong> or<strong>de</strong>nación<strong>de</strong> <strong>la</strong>s materias en troncales, obligatorias <strong>de</strong>universidad, optativas y <strong>de</strong> libre configuración.También se estableció <strong>la</strong> nueva organización<strong>de</strong> los p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> acuerdo a créditos,<strong>de</strong> los que cada asignatura tiene asignadauna cantidad. La reforma <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones<strong>de</strong> 1990 convierte <strong>la</strong>s <strong>de</strong> Licenciado y Diplomadoen Informática en, respectivamente, Ingenieroen Informática e Ingeniero Técnico enInformática <strong>de</strong> Gestión o <strong>de</strong> Sistemas.Pero esa reforma supuso, casi exclusivamente,una reforma <strong>de</strong> <strong>la</strong> or<strong>de</strong>nación académicay no ha propiciado una re<strong>de</strong>finición <strong>de</strong> losperfiles <strong>la</strong>borales <strong>de</strong> los titu<strong>la</strong>dos ni una mayora<strong>de</strong>cuación a <strong>la</strong>s circunstancias actuales. Losavances en el terreno <strong>de</strong> <strong>la</strong>s telecomunicacionesy <strong>la</strong>s re<strong>de</strong>s <strong>de</strong> or<strong>de</strong>nadores en los últimosaños <strong>de</strong>ben propiciar un amplio <strong>de</strong>bate sobrelos contenidos <strong>de</strong> los estudios <strong>de</strong> informática,rep<strong>la</strong>nteando tanto su troncalidad como <strong>la</strong> posibilidad<strong>de</strong> que aparezcan nuevas carreras quecontemplen especializaciones hasta ahora noconsi<strong>de</strong>radas y que se adapten mejor a <strong>la</strong>s <strong>de</strong>mandas<strong>de</strong>l mercado <strong>de</strong> trabajo. Si en 1976 losestudios <strong>de</strong> informática quedaban muy limitadoscon <strong>la</strong> creación <strong>de</strong> un único título superiory dos diplomaturas, en <strong>la</strong> actualidad esta situación,que permanece idéntica, se hace cadavez más injustificable. Es preciso un <strong>de</strong>bate enprofundidad sobre <strong>la</strong> situación profesional <strong>de</strong><strong>la</strong> informática, a fin <strong>de</strong> obtener un perfil másajustado <strong>de</strong> los curricu<strong>la</strong> educativos.Y, en este <strong>de</strong>bate, el colectivo universitariotal vez <strong>de</strong>bería implicarse también en su propia<strong>de</strong>finición intelectual. En el año 1984, con<strong>la</strong> publicación <strong>de</strong> <strong>la</strong> Ley <strong>de</strong> Reforma <strong>Universitaria</strong>(LRU) se organiza <strong>la</strong> docencia <strong>de</strong> niveluniversitario en áreas <strong>de</strong> conocimiento. Según<strong>de</strong>fine el Real Decreto 1888/1984, por el que se


egu<strong>la</strong>n los concursos para <strong>la</strong> provisión <strong>de</strong> p<strong>la</strong>zas<strong>de</strong> los cuerpos docentes universitarios, ensu artículo segundo “se enten<strong>de</strong>rá por área <strong>de</strong>conocimiento aquellos campos <strong>de</strong>l saber caracterizadospor <strong>la</strong> homogeneidad <strong>de</strong> su objeto <strong>de</strong>conocimiento, una común tradición históricay <strong>la</strong> existencia <strong>de</strong> comunida<strong>de</strong>s <strong>de</strong> investigadores,nacionales o internacionales”.De acuerdo con esta <strong>de</strong>finición, se constituyerontres áreas <strong>de</strong> conocimiento en Informática:el área <strong>de</strong> Arquitectura y Tecnología <strong>de</strong>Computadores (ATC), el área <strong>de</strong> Lenguajes ySistemas Informáticos (LSI) y el área <strong>de</strong> Ciencias<strong>de</strong> <strong>la</strong> Computación e Inteligencia Artificial(CCIA).Los contenidos temáticos <strong>de</strong>l área <strong>de</strong> ATCson re<strong>la</strong>tivamente amplios, abarcando todo lore<strong>la</strong>cionado con el estudio <strong>de</strong>l soporte físico, elhardware, su programación y control. En el caso<strong>de</strong> <strong>la</strong>s áreas <strong>de</strong> LSI y CCIA, los contenidosson igualmente amplios; ambas están re<strong>la</strong>cionadascon el estudio y el <strong>de</strong>sarrollo <strong>de</strong> los sistemaslógicos. Pero, no está muy c<strong>la</strong>ro qué atribucionescorrespon<strong>de</strong>n a cada área: basta conmirar <strong>la</strong>s directrices generales <strong>de</strong> los p<strong>la</strong>nes <strong>de</strong>estudio <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones en informática, paraobservar que el número <strong>de</strong> materias que pue<strong>de</strong>nasignarse indistintamente a ambas áreas esmuy elevado. Es <strong>de</strong>cir, <strong>la</strong> frontera entre el<strong>la</strong>s,académicamente hab<strong>la</strong>ndo, es mínima. Tómesecomo ejemplo, el colectivo <strong>de</strong> científicos que<strong>de</strong>sarrol<strong>la</strong>n su trabajo en re<strong>la</strong>ción con <strong>la</strong>s Bases<strong>de</strong> Datos: <strong>de</strong>pendiendo <strong>de</strong> <strong>la</strong> universidad en<strong>la</strong> que <strong>de</strong>sarrollen su trabajo, estarán adscritosal área <strong>de</strong> CCIA o al área <strong>de</strong> LSI.La pregunta es ¿esta situación es <strong>de</strong>seable?¿son <strong>la</strong>s áreas únicamente el instrumento administrativoque permite concursar a una p<strong>la</strong>zao <strong>la</strong>s áreas <strong>de</strong>berían vertebrar el procesoeducativo? Si al discutir sobre <strong>la</strong>s titu<strong>la</strong>cionesse observa una falta <strong>de</strong> especialización en lostitu<strong>la</strong>dos, más acor<strong>de</strong> con el <strong>de</strong>sarrollo actual<strong>de</strong> <strong>la</strong> Informática, es posible que no baste contres áreas <strong>de</strong> conocimiento <strong>de</strong> <strong>la</strong> docencia y <strong>la</strong>investigación para cubrir esas especializaciones.Es <strong>de</strong> prever que, en el futuro, <strong>la</strong>s áreas<strong>de</strong> informática <strong>de</strong>berían re<strong>de</strong>finirse. El <strong>de</strong>sarrollonatural <strong>de</strong> <strong>la</strong>s áreas <strong>de</strong>bería conducirnosa distinguir, <strong>de</strong>ntro <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> los sistemasfísicos, entre el Estudio y Desarrollo <strong>de</strong><strong>la</strong>s Re<strong>de</strong>s, <strong>de</strong> los Sistemas Operativos, a<strong>de</strong>más<strong>de</strong> <strong>la</strong> Arquitectura <strong>de</strong> Computadores y <strong>de</strong> <strong>la</strong>Tecnología Electrónica. Y en el <strong>de</strong>sarrollo <strong>de</strong>los sistemas lógicos, sería más coherente distinguirentre el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> Ingeniería <strong>de</strong>lSoftware, <strong>la</strong> Gestión <strong>de</strong> <strong>la</strong> Información, los SistemasInteligentes, <strong>la</strong> Informática Gráfica, losFundamentos <strong>de</strong> <strong>la</strong> Computación y <strong>la</strong> Tecnología<strong>de</strong> <strong>la</strong> Programación, entre otras áreas.Si queremos implicarnos en <strong>la</strong> <strong>de</strong>finición<strong>de</strong>l perfil profesional <strong>de</strong> nuestros titu<strong>la</strong>dos, talvez <strong>de</strong>beríamos comenzar <strong>de</strong>batiendo esta situación,i<strong>de</strong>ntificando los distintos campos <strong>de</strong><strong>de</strong>sarrollo y su ámbito <strong>de</strong> estudio.Referencias1. Centro <strong>de</strong> Predicción Económica, Informe<strong>de</strong>l Año 2000.2. Centro <strong>de</strong> Predicción Económica, InformesSectoriales.3. “El Dilema Universitario ¿Cómo enseñarTecnología?”, Ciberpais Mensual, n. 17.Diciembre 2001.4. “En tiempos <strong>de</strong> crisis, compras a precios<strong>de</strong> saldo”. Cinco Días, 8 <strong>de</strong> Diciembre <strong>de</strong>2001.5. P. J. Denning. “El Futuro <strong>de</strong> <strong>la</strong> Profesión<strong>de</strong> Tecnología <strong>de</strong> <strong>la</strong> Información”. Entrevistaen Ubiquity <strong>de</strong> ACM, 21 <strong>de</strong> Marzo<strong>de</strong> 2000. Reproducido por Novática, n.147. Sep/Oct 2000.


6. P. J. Denning. “Who are we?”. Communicationsof the ACM, Febrero 2001. Reproducidopor Novática, n. 152. Jul/Ago2001.7. “Un problema <strong>de</strong> cien mil empleos”, ElPaís, sección Economía, 5 <strong>de</strong> Junio <strong>de</strong>2000.8. “La otra cara <strong>de</strong> Internet”, El País, suplementoNegocios, 7 <strong>de</strong> Enero <strong>de</strong> 2001.9. Rafael Fernán<strong>de</strong>z Calvo. “El Déficit <strong>de</strong>Informáticos y <strong>la</strong> Regu<strong>la</strong>ción Legal <strong>de</strong>lEjercicio <strong>de</strong> <strong>la</strong> Profesión Informáticaen España”, Novática, n. 152. Jul/Ago.2001.10. Gonzalo Gavín González. “Los ColegiosProfesionales <strong>de</strong> Informáticos: Análisis<strong>de</strong>l Marco Legal”, Novática, n. 152.Jul/Ago. 2001.11. José Hernán<strong>de</strong>z Orallo. “Contexo Socio-Económico”, Capítulo 6, Proyecto Docente“Bases <strong>de</strong> Datos”. Escue<strong>la</strong> <strong>Universitaria</strong><strong>de</strong> Informática, Universidad Politécnica<strong>de</strong> Valencia. Mayo 2001.12. Information and Communication SocietyConsortium,13. Ministerio <strong>de</strong> Ciencia y Tecnología, P<strong>la</strong>nInfoXXI,14. Proyecto PAFET,15. SEDISI, Asociación Españo<strong>la</strong> <strong>de</strong> Empresas<strong>de</strong> Tecnologías <strong>de</strong> <strong>la</strong> Información. ResumenEjecutivo <strong>de</strong>l Informe “Las Tecnologías<strong>de</strong> <strong>la</strong> Información en España,2000”.16. SEDISI, Asociación Españo<strong>la</strong> <strong>de</strong> Empresas<strong>de</strong> Tecnologías <strong>de</strong> <strong>la</strong> Información. Estadísticas<strong>de</strong>l Mercado Informático 2001,


Programación, algoritmosy estructuras <strong>de</strong> datos


Análisis <strong>de</strong> <strong>la</strong>s propuestas <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> programaciónorientada a objetos en los primeros cursosL. Fernán<strong>de</strong>z Muñoz (a), R. Peña(b), F. Nava (c), Á. Velázquez Iturbi<strong>de</strong>(c)(a) Dept. LPSI. Universidad Politécnica. 28071 Madrid e-mail: setillo@eui.upm.es(b) Facultad <strong>de</strong> Documentación. Universidad <strong>de</strong> Alcalá. 28871 Madrid e-mail: rpr@uah.es(c) Escue<strong>la</strong> Superior <strong>de</strong> Ciencias Experimentales. Universidad Rey Juan Carlos. 28933 Madri<strong>de</strong>-mail: {f.j.nava,a.ve<strong>la</strong>zquez}@escet.urjc.esResumenExiste un fuerte <strong>de</strong>bate sobre qué paradigmaconviene impartir en el primer curso <strong>de</strong> los p<strong>la</strong>nes<strong>de</strong> estudio <strong>de</strong> Informática: orientación a objetos(OO) o procedimental, así como sobre el lenguaje<strong>de</strong> soporte <strong>de</strong> <strong>la</strong>s sesiones prácticas. Muchosartículos presentan sus experiencias o proponennuevas metodologías <strong>de</strong> forma ais<strong>la</strong>da, pero noencontramos un estudio sistemático <strong>de</strong> losdistintos enfoques. En este trabajo se presenta unavisión crítica <strong>de</strong> <strong>la</strong>s propuestas <strong>de</strong> diferentesautores, se evalúan sus ventajas e inconvenientes.Se concluye <strong>la</strong> necesidad <strong>de</strong> reconducir el <strong>de</strong>bate<strong>de</strong> <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong> los primeros cursos <strong>de</strong>programación, hoy día centrado en el or<strong>de</strong>n en quese enseñan los paradigmas y el lenguaje paraimplementarlo, hacia <strong>la</strong> búsqueda <strong>de</strong> losconceptos fundamentales y herramientaspedagógicas que permitan una exposición gradual<strong>de</strong> los conceptos <strong>de</strong> <strong>la</strong> programación.1. IntroducciónEn <strong>la</strong> década <strong>de</strong> los noventa, <strong>la</strong> mayoría <strong>de</strong> loscentros <strong>de</strong> enseñanza superior <strong>de</strong> Informática haido integrando conceptos <strong>de</strong> OO en sus p<strong>la</strong>nes <strong>de</strong>estudio, como se refleja en los datos aportados por[11,18,27,37,42,49]. La última propuestacurricu<strong>la</strong>r <strong>de</strong>l grupo conjunto <strong>de</strong> ACM e IEEE [2]incluye <strong>la</strong> OO como una <strong>de</strong> <strong>la</strong>s materias c<strong>la</strong>ves en<strong>la</strong>s titu<strong>la</strong>ciones universitarias <strong>de</strong> Informática.Inicialmente, <strong>la</strong> programación OO se ubicó ensegundo curso o superiores. Actualmente hay un<strong>de</strong>bate abierto sobre cuál es el primer paradigmaal que <strong>de</strong>be enfrentarse al alumno. Unos aboganpor presentar antes un paradigma procedimental[4-6,9,10,15,23,26,36,39,45,53,56], basándose en<strong>la</strong> necesidad <strong>de</strong> no aumentar el gran número <strong>de</strong>conceptos que es necesario presentar al alumnoque se acerca por primera vez a <strong>la</strong> programación;mientras otros abogan por <strong>la</strong> OO como primerparadigma, basándose en su carácter intuitivo,potencia <strong>de</strong>l lenguaje, y <strong>la</strong> fuerte motivación queprovoca en los alumnos [3,7,16,18,21,25,28,33-37,47,48,51,55,58,59,61-63].Esta discusión es relevante también <strong>de</strong>s<strong>de</strong> elpunto <strong>de</strong> vista administrativo, ya que <strong>la</strong>disparidad <strong>de</strong> criterios en <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong> losprimeros cursos provoca dificulta<strong>de</strong>s en <strong>la</strong>movilidad <strong>de</strong> los alumnos [11], que se preten<strong>de</strong>fomentar en Europa [17], resultando importantehomogeneizar los enfoques adoptados por loscentros.Este artículo presenta una panorámica <strong>de</strong> <strong>la</strong>sdiferentes propuestas, <strong>la</strong>s c<strong>la</strong>sifica y sistematiza,resaltando sus ventajas e inconvenientes. Lafigura 1 sintetiza esta c<strong>la</strong>sificación.La estructura <strong>de</strong>l artículo es <strong>la</strong> siguiente: e<strong>la</strong>partado 2 resume <strong>la</strong>s recomendacionescurricu<strong>la</strong>res <strong>de</strong> ACM/IEEE para <strong>la</strong> docencia <strong>de</strong> <strong>la</strong>programación <strong>de</strong> los primeros cursos. En losapartados 3 y 4 estudiamos, respectivamente, <strong>la</strong>spropuestas que presentan el paradigmaprocedimental en primero y el OO en segundo, y<strong>la</strong>s que abordan el paradigma OO <strong>de</strong>s<strong>de</strong> elprincipio.


2. Recomendaciones ACM/IEEE2001Figura 1 Evolución <strong>de</strong> los enfoques <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> los paradigmaspublicadas que tratan <strong>la</strong> polémica se pue<strong>de</strong>nc<strong>la</strong>sificar como: procedimental en primero y OOen segundo versus OO en primero.La última propuesta curricu<strong>la</strong>r ACM/IEEE ava<strong>la</strong> <strong>la</strong>seriedad <strong>de</strong> <strong>la</strong> polémica acerca <strong>de</strong>l momentoa<strong>de</strong>cuado <strong>de</strong> introducir al alumno en <strong>la</strong> OO.Reconoce el <strong>de</strong>bate y lo amplía proponiendo, nodos, sino seis diseños alternativos para los cursos<strong>de</strong> introducción a <strong>la</strong> programación:• comenzando con el paradigma procedimental:Incluso usando un lenguaje OO, el primercurso se centra sobre los aspectos imperativos<strong>de</strong>l lenguaje.• comenzando con el paradigma OO: Empiezadirectamente con nociones <strong>de</strong> objetos yherencia.• comenzando con el paradigma funcional: Secaracteriza por usar un lenguaje funcionalsencillo.• presentación en amplitud: El primer curso,a<strong>de</strong>más <strong>de</strong> aten<strong>de</strong>r <strong>la</strong> programación,algoritmos y estructuras <strong>de</strong> datos integra otrassubdisciplinas, como <strong>la</strong>s matemáticas.• enfoque algorítmico: Los conceptos básicos seintroducen usando pseudocódigo en vez <strong>de</strong> unlenguaje ejecutable.• enfoque arquitectónico: Comienza concircuitos, con los que construye una máquina<strong>de</strong> von Neumann simple. Establecidos losfundamentos <strong>de</strong>l hardware, presenta unlenguaje <strong>de</strong> alto nivel.Las dos primeras propuestas son <strong>la</strong>s queafectan a nuestra discusión. Las experiencias3. Paradigma procedimental en primero yOO en segundoEsta línea aborda primero <strong>la</strong> programaciónprocedimental y, una vez asentados los conceptos<strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> ejecución y <strong>de</strong> tiposabstractos <strong>de</strong> datos, se introducen los conceptos<strong>de</strong> OO.La OO viene a resolver <strong>la</strong> complejidad <strong>de</strong> <strong>la</strong>gestión <strong>de</strong>l software. No es a<strong>de</strong>cuada para losejercicios correspondientes a un primeracercamiento al paradigma procedimental. La OOno es una novedad, se emplea <strong>de</strong>s<strong>de</strong> el año 1967[16,18,37,40] en áreas <strong>de</strong> simu<strong>la</strong>ción y gráficos.En los sistemas <strong>de</strong> gestión, comunicaciones, etc.,se introdujo 20 años <strong>de</strong>spués, como una vía paraaumentar <strong>la</strong> eficiencia en <strong>la</strong> gestión <strong>de</strong>l software,cuando éstos elevaron su complejidad, antes notenía justificación.La enseñanza <strong>de</strong> OO en segundo cursopermite abordar problemas más complejos, en losque se pueda tomar mayor ventaja, y por tantopresentar mejor sus principales aportaciones:(reutilización <strong>de</strong> código, jerarquización,encapsu<strong>la</strong>ción y facilidad <strong>de</strong> <strong>la</strong> gestión <strong>de</strong>lsoftware).Las ventajas <strong>de</strong> este enfoque son <strong>la</strong>exposición escalonada y pau<strong>la</strong>tina <strong>de</strong> losconceptos <strong>de</strong> <strong>la</strong> programación. Pero muchas


experiencias re<strong>la</strong>tan <strong>la</strong> dificultad que presentan losalumnos al cambiar <strong>de</strong> paradigma, lo que havenido <strong>de</strong>nominándose el “problema <strong>de</strong>l<strong>de</strong>sp<strong>la</strong>zamiento” [18,40]. Otros, consi<strong>de</strong>ran como<strong>de</strong>sventaja <strong>de</strong> esta or<strong>de</strong>nación temporal el retrasoen el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones motivadoras.Este enfoque se articu<strong>la</strong> <strong>de</strong> dos formasdistintas, que evaluamos a continuación.3.1. Dos lenguajes para dos paradigmasEstas propuestas <strong>de</strong>fien<strong>de</strong>n <strong>la</strong> exposicióntradicional [15,23,26]: primero programaciónestructurada con un lenguaje y luegoprogramación OO con otro lenguaje.La ventaja es que los conceptos se pue<strong>de</strong>nintroducir <strong>de</strong> forma gradual e in<strong>de</strong>pendiente, peroel problema <strong>de</strong>l “<strong>de</strong>sp<strong>la</strong>zamiento <strong>de</strong> paradigma” semuestra en toda su amplitud.El cambio sintáctico/semántico entre amboslenguajes, distrae al profesor en <strong>la</strong> exposición y a<strong>la</strong>lumno en el aprendizaje <strong>de</strong> nuevos conceptos quese apoyan en otros asumidos, pero presentados conuna nueva cara. Hay que parar constantementepara explicar unos nuevos tipos primitivos, unanueva tab<strong>la</strong> <strong>de</strong> prece<strong>de</strong>ncias <strong>de</strong> operadores,parecidas estructuras <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong>ejecución, etc.3.2. Un lenguaje OO para los dos paradigmasPara mitigar el problema <strong>de</strong>l <strong>de</strong>sp<strong>la</strong>zamiento,esta línea comienza con el paradigmaconvencional, empleando un lenguaje OO[39,48,53].La ventaja <strong>de</strong> usar el mismo lenguaje para <strong>la</strong>sdos partes es mantener una uniformidad y evitar <strong>la</strong>exposición <strong>de</strong> los aspectos léxicos, sintácticos ysemánticos <strong>de</strong> dos lenguajes diferentes.Sin embargo, presenta graves inconvenientes:el tratamiento <strong>de</strong> tipos, variables, expresiones ysentencias tiene que ubicarse en algún sitio; sinduda en una c<strong>la</strong>se. Es imprescindible empezar conejemplos sencillos (quizás <strong>la</strong> gestión <strong>de</strong> uncontador, o dos alternativas anidadas para<strong>de</strong>terminar el tipo <strong>de</strong> triángulo formado por tresvértices fijados) ¿cómo se l<strong>la</strong>man <strong>la</strong>s c<strong>la</strong>ses?,¿dón<strong>de</strong> están los objetos?, ¿quién <strong>la</strong>nza losmensajes? La resolución <strong>de</strong> este tipo <strong>de</strong> ejercicios<strong>de</strong>svirtúa conceptos muy complejos que no tienencabida en los ejemplos iniciales, necesariamentesencillos.Emplear un lenguaje que no está orientado alparadigma explicado genera confusión y hábitosina<strong>de</strong>cuados en el alumno. Algunos autoresadvierten a sus alumnos que “esto, realmente, nose resuelve como lo estamos haciendo” [48]. Nosparece una pauta pedagógica ina<strong>de</strong>cuada.El otro grave inconveniente radica encuestiones psicológicas y sociológicas. El cambio<strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras reservadas que organizan losmódulos <strong>de</strong>l software no perjudica, sino quefacilita <strong>la</strong> transición <strong>de</strong> <strong>la</strong> programaciónestructurada a <strong>la</strong> OO. Si se <strong>de</strong>sea cambiar <strong>la</strong>percepción social, por ejemplo, sobre el oficio <strong>de</strong>“barren<strong>de</strong>ro”, es a<strong>de</strong>cuado cambiar su<strong>de</strong>nominación, por ejemplo a “especialista ensanidad urbana”.Merecen una atención especial <strong>la</strong>s propuestasdocentes que emplean lenguajes híbridos(Ada/Ada9x, C/C++ o Pascal/Delphi) que podríanmitigar el impacto en <strong>la</strong> transición [3,39,59].Nuestra experiencia <strong>de</strong>muestra que generanconfusión en el alumno a <strong>la</strong> hora <strong>de</strong> ubicarse enuno u otro paradigma ya que el programa“compi<strong>la</strong>” y “funciona” aunque no se respete eldiseño a<strong>de</strong>cuado al paradigma. En [26,29,31,34]se concluye que “el uso <strong>de</strong> un lenguaje OO puropara enseñar los conceptos OO es mejor einvolucra menos conceptos que el empleo <strong>de</strong> unlenguaje híbrido”. En lo tocante a procedimientos,<strong>de</strong>c<strong>la</strong>ración <strong>de</strong> variables y estructuras <strong>de</strong> controlno hay inconveniente; por el contrario, beneficia,mantener <strong>la</strong> sintaxis.En resumen, consi<strong>de</strong>ramos a<strong>de</strong>cuado abordarlos conceptos <strong>de</strong> OO cuando están consolidadoslos correspondientes al paradigma procedimentaly abordar <strong>la</strong> docencia <strong>de</strong> cada paradigma con unlenguaje que se a<strong>de</strong>cue a los conceptos que seestán trasmitiendo.4. Objetos en primeroLa motivación general <strong>de</strong> estas propuestas viene<strong>de</strong> <strong>la</strong> mano <strong>de</strong>l carácter “intuitivo” [49] y <strong>la</strong>facilidad <strong>de</strong>l alumno para <strong>de</strong>scubrir <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>ldominio [47].Sorpren<strong>de</strong>nte <strong>la</strong> importancia dada al carácterintuitivo <strong>de</strong> <strong>la</strong> OO. Esto no es nuevo. Cada


lenguaje surge para hacer más intuitiva <strong>la</strong>expresión <strong>de</strong> <strong>de</strong>terminados mecanismos mentales.Negroponte afirma que “los sistemasinformáticos son el mayor reto <strong>de</strong> complejidad alque se ha enfrentado el hombre en <strong>la</strong> historia”[46]. Esta aseveración resulta paradójica con <strong>la</strong>intuitiva sencillez prometida.La fa<strong>la</strong>cia <strong>de</strong> <strong>la</strong> paradoja es sencil<strong>la</strong>: hab<strong>la</strong>n <strong>de</strong>cosas diferentes. Una cosa es apren<strong>de</strong>r a manejarun mundo <strong>de</strong> objetos simu<strong>la</strong>dos y otra es diseñar yprogramar una aplicación <strong>de</strong> calidad a través <strong>de</strong>lenfoque OO. Son tareas <strong>de</strong> muy diferente índole, arealizar por un usuario y un ingeniero,respectivamente.Meyer apunta [43]: “hay que huir <strong>de</strong> darmucha importancia a <strong>la</strong> i<strong>de</strong>a <strong>de</strong> que los sistemasOO se <strong>de</strong>ducen directamente <strong>de</strong>l mundo real...Aunque una vez que se entien<strong>de</strong>n pue<strong>de</strong>n parecertan reales como cualquier otro, para un reciénllegado pue<strong>de</strong>n parecer menos naturales que losconceptos utilizados en <strong>la</strong>s soluciones orientadas aprocesos”.El programa OO resultante no es tan intuitivocomo se preten<strong>de</strong>. Pensemos en <strong>la</strong> c<strong>la</strong>se Fecha consu método esNavidad, o Tablero con el métodoponerFicha en una Coor<strong>de</strong>nada... ¿<strong>de</strong>s<strong>de</strong> cuandouna fecha informa sí es el día <strong>de</strong> Navidad?, ¿es“intuitivo” un tablero con manos que coloca fichasdon<strong>de</strong> le dice un objeto coor<strong>de</strong>nada?, ¿coor<strong>de</strong>nadaes un objeto? En “el mundo real” <strong>la</strong>s acciones(esNavidad o ponerFicha), <strong>la</strong>s contro<strong>la</strong> el hombre,no los objetos (<strong>de</strong> <strong>la</strong> c<strong>la</strong>se Fecha o Tablero).Cuando se hace referencia carácter “cercano alpensamiento cotidiano” <strong>de</strong> <strong>la</strong> OO, se está hab<strong>la</strong>ndo<strong>de</strong> localizar entes y asociarlos con sus operacionesp<strong>la</strong>usibles, advirtiendo, por ejemplo que no sebotan vasos, ni se beben pelotas. De forma simi<strong>la</strong>r,en OO se <strong>de</strong>termina qué operaciones tienen cabidapara cierto conjunto <strong>de</strong> datos y, para organizar elsoftware, se usan los mecanismos habituales paraestructurar el conocimiento: los mo<strong>de</strong>los, <strong>la</strong>abstracción, los en<strong>la</strong>ces, <strong>la</strong> or<strong>de</strong>nación en eltiempo/espacio... Solo en este sentido es intuitiva.En <strong>la</strong> programación OO hay que encontrar unmo<strong>de</strong>lo eficiente, tanto en ejecución eimplementación, como en <strong>la</strong> gestión y posteriormantenimiento <strong>de</strong>l software, que pue<strong>de</strong> nocorrespon<strong>de</strong>r a <strong>la</strong> visión informal <strong>de</strong>l mundo.“Es útil remarcar que los primeros libros sobreOO enfatizaban lo fácil que era i<strong>de</strong>ntificar objetosmientras que los últimos, a menudo <strong>de</strong> los mismosautores, enfatizan su dificultad” [19].“Experiencias con principiantes en OO muestranque tienen dificulta<strong>de</strong>s en crear c<strong>la</strong>ses a<strong>de</strong>cuadas”[14,19].En conclusión, un principiante no está enmejor disposición para apren<strong>de</strong>r el paradigma OOque otro paradigma [60].Existen diversas concreciones para el enfoque<strong>de</strong> OO en primero, que hemos c<strong>la</strong>sificado como:posponiendo o anteponiendo <strong>la</strong> programación.4.1 Posponiendo <strong>la</strong> programaciónSuelen implementarse mediante entornosgráficos <strong>de</strong> universos simu<strong>la</strong>dos <strong>de</strong> objetos, o bienmediante análisis, diseño y, posteriormente,programación OO.Las <strong>de</strong>l primer grupo proponen entornosinteractivos (<strong>la</strong> charca virtual, <strong>la</strong> cesta <strong>de</strong> <strong>la</strong>compra...) repletos <strong>de</strong> objetos susceptibles <strong>de</strong>recibir mensajes [30,49,61,62], en los que e<strong>la</strong>lumno <strong>de</strong>scribirá <strong>la</strong> secuencia <strong>de</strong> mensajes<strong>la</strong>nzados sobre objetos para conseguir ciertoobjetivo propuesto, aprovechando el supuestocarácter “intuitivo” <strong>de</strong>l paradigma. Ya hemosrebatido <strong>la</strong> vali<strong>de</strong>z <strong>de</strong> esta hipótesis.El empleo <strong>de</strong> herramientas interactivas para <strong>la</strong>presentación motiva al alumno, pero conlleva unasobresimplificación que genera expectativasirreales. Pue<strong>de</strong> que le enseñe a compren<strong>de</strong>r suspropios mecanismos <strong>de</strong> adquisición <strong>de</strong>conocimiento, pero no a programar mejor. No esun enfoque válido para abordar <strong>la</strong> docencia <strong>de</strong>primer curso.Las propuestas basadas en análisis y diseño,mantienen que lo fundamental es enten<strong>de</strong>r e<strong>la</strong>nálisis y diseño <strong>de</strong> <strong>la</strong> parce<strong>la</strong> <strong>de</strong>l mundo real aprogramar, no siendo necesario, en principio,recurrir a un lenguaje concreto. Las propuestasgiran en torno al uso <strong>de</strong> UML o parecidos [32,47].Algunos abordan este enfoque para <strong>la</strong> enseñanza<strong>de</strong> <strong>la</strong> OO, aunque <strong>la</strong> ubican en segundo curso[36,45].La ventaja es <strong>la</strong> aproximación pau<strong>la</strong>tina a losconceptos. Pero el argumento en contra esrotundo: el lenguaje <strong>de</strong>termina el pensamiento. Sino se conoce el lenguaje no se pue<strong>de</strong> ni diseñar nianalizar. Hay citas categóricas contrarias alenfoque <strong>de</strong> presentar <strong>la</strong> filosofía <strong>de</strong> un paradigma<strong>de</strong> forma disociada <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> código:“enseñar a programar a través <strong>de</strong> buenos diseños,


enseñar a diseñar a través <strong>de</strong> buenos patrones y,por último, enseñar a analizar” [T.Love]; “paradominar el análisis OO, es preciso haber aprendidolos conceptos fundamentales <strong>de</strong>s<strong>de</strong> el nivel <strong>de</strong> <strong>la</strong>imp<strong>la</strong>ntación [...] Únicamente <strong>de</strong>spués <strong>de</strong> unencuentro, con <strong>la</strong>s manos en <strong>la</strong> masa, con el usooperativo <strong>de</strong>l método, estará uno preparado paracompren<strong>de</strong>r los conceptos <strong>de</strong>l análisis OO” [43].El informe <strong>de</strong> ACM/IEEE2001 previene sobrelos efectos <strong>de</strong> trabajar sin un lenguaje <strong>de</strong>programación y l<strong>la</strong>ma <strong>la</strong> atención sobre el mayoresfuerzo requerido por parte <strong>de</strong>l profesor.Por tanto, pensamos que no se pue<strong>de</strong> empezarcon mo<strong>de</strong>los, ni con análisis primero, para evitar <strong>la</strong>complejidad <strong>de</strong> <strong>la</strong> programación, sino, queconviene introducir<strong>la</strong> escalonadamente, reforzandocada concepto teórico con su correspondienteimp<strong>la</strong>ntación concreta sobre un lenguajeejecutable.4.2 Anteponiendo <strong>la</strong> programaciónEste enfoque se apoya en <strong>la</strong> siguiente tesis:¿conoce usted algo “mejor” que <strong>la</strong> OO?, ¿no?,¿por qué enseña algo que le parece “peor”?[16,18,35,40,54].Habría otras alternativas, por ejemploempezar con programación concurrente OO coninterfaces gráficos, o usar lenguajesmultiparadigmáticos como Leda [13](lógico/funcionales/procedimentales orientados aprocesos y a objetos) y resolver cada parte <strong>de</strong>ldominio <strong>de</strong>l problema con el paradigma mása<strong>de</strong>cuado. Se podría empezar con XML y,<strong>de</strong>sechar <strong>de</strong>finitivamente el <strong>la</strong>stre <strong>de</strong> los datosformateados. Pero, ¿Tengo que enseñar “el mejor”paradigma?... ¿cuál será el mejor mañana? Elobjetivo <strong>de</strong> <strong>la</strong> docencia es prepararles para quepuedan evolucionar en consonancia con <strong>la</strong>evolución <strong>de</strong>l software y según <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>su propio ejercicio profesional.Algunos <strong>de</strong> estos trabajos p<strong>la</strong>ntean e<strong>la</strong>prendizaje a partir <strong>de</strong>l estudio y adaptación <strong>de</strong>buenos programas diseñados por otros, queservirán como patrones o mo<strong>de</strong>los <strong>de</strong> nuevosprogramas [48,58]. En el entorno OO, muchospatrones interesantes conllevan complejasre<strong>la</strong>ciones entre c<strong>la</strong>ses, que producen unasobrecarga, no sólo <strong>de</strong> conceptos, sino <strong>de</strong> diseño.Otras propuestas conjugan <strong>la</strong> exposición <strong>de</strong> losconceptos OO con el uso <strong>de</strong> bibliotecas (API yframeworks) [41], que fomentan <strong>la</strong> abstracción,encapsu<strong>la</strong>ción, modu<strong>la</strong>rización, y jerarquización.No parece viable utilizar <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> <strong>la</strong>biblioteca sin conocer el paso <strong>de</strong> parámetros porvalor o referencia <strong>de</strong> los mensajes, sin conocer <strong>la</strong>sestructuras <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> ejecución queor<strong>de</strong>nen los mensajes en el tiempo y apren<strong>de</strong>rtodo a <strong>la</strong> vez, es en una sobrecarga excesiva parael alumno.Otras propuestas que anteponen <strong>la</strong>programación presentan un acercamiento a <strong>la</strong> OO<strong>de</strong>sarrol<strong>la</strong>ndo aplicaciones con interfaces gráficos<strong>de</strong> usuario [26,33,50,51,55,63,64], o basando elcurso en <strong>la</strong> creación <strong>de</strong> interfaces coloridas yjuegos. La solución se articu<strong>la</strong> a través <strong>de</strong> appletso con frameworks simplificados e irreales.Sus <strong>de</strong>sventajas son <strong>la</strong> suma <strong>de</strong> <strong>la</strong>s <strong>de</strong> otraspropuestas. Respecto al temario, es precisointroducir simultáneamente: tipos, variables,expresiones, sentencias <strong>de</strong> control añadiendoc<strong>la</strong>se, herencia, método y mensaje. Si es duroapren<strong>de</strong>r programación estructurada en un curso,<strong>la</strong> introducción <strong>de</strong> estos nuevos conceptosproduce una sobrecarga inabordable [26].Respecto a mecanismos <strong>de</strong> diseño: tambiénsobrecargan con re<strong>la</strong>ciones <strong>de</strong> herencia,composición y asociación, impuestas <strong>de</strong>s<strong>de</strong> elprimer momento, para terminar construyendo unapplet, que es el peor ejemplo <strong>de</strong> c<strong>la</strong>se, <strong>de</strong>l estiloConversor <strong>de</strong> Celsius a Fahrenheit o simi<strong>la</strong>res;¿no será <strong>la</strong> c<strong>la</strong>se GradoTemperatura quién asume<strong>la</strong> responsabilidad <strong>de</strong> <strong>la</strong> conversión, don<strong>de</strong> elinterfaz no calcu<strong>la</strong>, sino que requiere y presentalos datos?Respecto a <strong>la</strong> estructura <strong>de</strong> <strong>la</strong> interfaz,manejan un mo<strong>de</strong>lo <strong>de</strong> eventos globalizado o unaarquitectura sin eventos, con comunicaciones porca<strong>de</strong>nas <strong>de</strong> caracteres entre todos loscomponentes <strong>de</strong>l mo<strong>de</strong>lo/vista/contro<strong>la</strong>dor. Estosmo<strong>de</strong>los no sirven como antesa<strong>la</strong> <strong>de</strong> <strong>la</strong>sbibliotecas industriales y no tienen envergadurapara resolver problemas reales.Por tanto, compartimos que “adoptar elparadigma OO en primero implica (al menos, talcomo se ha llevado a cabo en muchos libros)exponer a los estudiantes a conceptos muycomplejos y, a menudo <strong>de</strong>licados, antes <strong>de</strong> quedispongan <strong>de</strong> conocimientos a<strong>de</strong>cuados paracompren<strong>de</strong>rlos” [12]. Los, sin duda, loablesobjetivos <strong>de</strong> fomentar <strong>la</strong> reusabilidad y <strong>de</strong><strong>de</strong>sarrol<strong>la</strong>r potentes aplicaciones <strong>de</strong>s<strong>de</strong> el


principio no son justificación para empezar conOO; ni <strong>la</strong> reusabilidad, ni <strong>la</strong>s aplicacionesmotivadoras, con o sin interfaz gráfico <strong>de</strong> usuario,son patrimonio <strong>de</strong> <strong>la</strong> OO.A<strong>de</strong>más ACM/IEEE-2001 no consi<strong>de</strong>ra <strong>la</strong>interfaz gráfica y <strong>la</strong>s librerías, ni como objetivos,ni como unida<strong>de</strong>s temáticas a consi<strong>de</strong>rar en loscursos <strong>de</strong> introducción en ninguno <strong>de</strong> sus 4diseños curricu<strong>la</strong>res (primero con o sin objetos,distribuido en 2 o 3 cursos). Ubicando,específicamente, estos contenidos en cursosintermedios <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l software o encomputación gráfica. La figura 2 presenta <strong>la</strong><strong>de</strong>dicación porcentual en <strong>la</strong> propuesta curricu<strong>la</strong>rpara API y GUI en los cursos introductorios y enlos intermedios específicos <strong>de</strong> <strong>la</strong> materia.Figura 2.Ubicación <strong>de</strong> <strong>la</strong> docencia <strong>de</strong> API y GUI en <strong>la</strong> propuesta <strong>de</strong> ACM/IEEE.5. ConclusionesHemos presentado una c<strong>la</strong>sificación <strong>de</strong> losenfoques <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> OO propuestas pordiferentes autores. Atendiendo a <strong>la</strong> viabilidadpedagógica, a<strong>de</strong>más <strong>de</strong> a <strong>la</strong> coherencia técnica,todas <strong>la</strong>s propuestas estudiadas presentan algúninconveniente. Desafortunadamente, se han<strong>de</strong>sarrol<strong>la</strong>do pocos experimentos para medir <strong>la</strong>eficiencia pedagógica <strong>de</strong> los distintos enfoques.Enten<strong>de</strong>mos que <strong>la</strong> discusión sobre <strong>la</strong>p<strong>la</strong>nificación <strong>de</strong> los primeros cursos <strong>de</strong>programación no <strong>de</strong>be centrarse en el paradigma apresentar, ni en el lenguaje más a<strong>de</strong>cuado para <strong>la</strong>implementación <strong>de</strong> los ejercicios, sino en losobjetivos perseguidos y el modo <strong>de</strong> conseguirlos.En concreto, el “problema <strong>de</strong>l<strong>de</strong>sp<strong>la</strong>zamiento” surge como consecuencia <strong>de</strong>lmodo en que se han impartido los conceptos <strong>de</strong>lparadigma procedimental, no por habercomprendido el concepto <strong>de</strong> TAD antes <strong>de</strong> abordarel <strong>de</strong> c<strong>la</strong>se.Urge disponer <strong>de</strong> una propuesta que resuelvalos problemas p<strong>la</strong>nteados por <strong>la</strong>s actuales, quepermita <strong>la</strong> unificación <strong>de</strong> los p<strong>la</strong>nes <strong>de</strong> estudio,facilitando <strong>la</strong> movilidad <strong>de</strong> los estudiantes.Por otro <strong>la</strong>do, nosotros compartimos que: “<strong>la</strong>steorías científicas son entida<strong>de</strong>s que se extien<strong>de</strong>ny perduran en el tiempo” [20]; “<strong>la</strong> OO no suponeuna revolución, sino, una evolución” [8,57] y que“<strong>la</strong> OO potencia y fortalece los conceptos queadmiramos en <strong>la</strong> programación procedimental”[37]. De hecho, ACM/IEEE91 [1] <strong>de</strong>tecta unaserie <strong>de</strong> conceptos recurrentes “que ayudan aunificar una disciplina, se presentanreiteradamente en diversos contextos, sonin<strong>de</strong>pendientes <strong>de</strong> <strong>la</strong> tecnología concreta y seextien<strong>de</strong>n a través <strong>de</strong> <strong>la</strong> historia”.En base a estas consi<strong>de</strong>raciones hemos<strong>de</strong>sarrol<strong>la</strong>do una alternativa en <strong>la</strong> que losconceptos recurrentes son <strong>la</strong> c<strong>la</strong>ve que conduce <strong>la</strong>transición a través <strong>de</strong> los conceptos <strong>de</strong> <strong>la</strong>programación, “in<strong>de</strong>pendientemente <strong>de</strong>lparadigma concreto y a través <strong>de</strong> su evoluciónhistórica”, evitando <strong>la</strong> sobrecarga inicial queconlleva un enfoque OO en primero y eliminandoel problema <strong>de</strong>l <strong>de</strong>sp<strong>la</strong>zamiento <strong>de</strong> paradigma queaparece en <strong>la</strong>s propuestas que comienzan porprocedimental, al aportar <strong>la</strong> necesaria continuidad.La <strong>de</strong>scripción <strong>de</strong> dicha propuesta exce<strong>de</strong> losobjetivos <strong>de</strong>l artículo y se <strong>de</strong>sarrol<strong>la</strong> en otraponencia <strong>de</strong> estas <strong>Jornadas</strong> [22].


Agra<strong>de</strong>cimientosEste trabajo se ha financiado con el proyectoTIC2000-1413 <strong>de</strong> <strong>la</strong> CICYT.Referencias[1]ACM/IEEE. Computing curricu<strong>la</strong> 1991.http://www.computer.org/education/cc1991/eab1.html[2]ACM/IEEE. Computing curricu<strong>la</strong> 2001.http://www.acm.org/sigcse/cc2001/15-12-2001.html[3]Adams, J.C. Object centrered <strong>de</strong>sign a fivephaseintroduction to OO programming.SIGCSE 1996, 78-82[4]Albert, E. et al. La enseñanza <strong>de</strong> Java en losestudios <strong>de</strong> informática. JENUI 2000, 557-62[5]Angster E. A simple OO system pattern tointroduce OOP with <strong>de</strong>sign. OOPSALA’96Workshop 1996[6]Angster, E. Our OO teaching concepts.ECOOP 98[7]Barr, M. et al. An Exploration of noviceprogramming errors in an OO environment.SIGCSE 1999, 31(4) 42-6[8]Bishop J. Java gentile for engineers andscientists. Addison-Wesley 2000[9]Bisshop-C<strong>la</strong>rk C.; Kiper J. An un<strong>de</strong>rgraduatecourse in Object-Oriented software <strong>de</strong>sign. 28thFIE’98. Conference proceedings. IEEE,Piscataway.NJ,USA, (1) 1998pp 38-42[10]Böszörményi, L. Why Java is not my favoritefirst-course <strong>la</strong>nguage software. Concepts &Tools 1998, 19 141-145pp[11]Brilliant, S.S.; Wiseman, T.R. The firstprogramming paradigm and <strong>la</strong>nguagedilemma. SIGCSE 1996, 338-42[12]Buck, D.; Stucki, D. Design early consi<strong>de</strong>redharmful: graduate exposure to complexity andstructure based on levels of congnitive<strong>de</strong>velopment. SIGCSE 2000 3/00[13]Budd, T. Multiparadigm programming inLeda. Addison-Wesley 1994[14]Carter, J. et al. Object Oriented stu<strong>de</strong>nts?ITiCSE 1998, 271[15]Casanova A. et al. La enseñanza <strong>de</strong> <strong>la</strong>programación en los estudios <strong>de</strong> informática<strong>de</strong> <strong>la</strong> UPV . JENUI 1998, 411-15[16]Deckerr, R.; Hishfield, S. The top 10 reasonswhy OO programming can’t be taught in CS1.SIGCSE94 (27) 51-4[17]Dec<strong>la</strong>ración conjunta <strong>de</strong> los MinistrosEuropeos <strong>de</strong> Educación. Bolonia 19 <strong>de</strong> junio<strong>de</strong> 1999. www.universia.es/contenidos/universida<strong>de</strong>s/documentos/universida<strong>de</strong>s_docum_bolonia.htm[18]DeClue, T. OO and the principles of learningtheory a new look at problems and benefits.SIGCSE 1996, 232-6[19]Détienne, F. Détienne, F. Software-<strong>de</strong>sing:cognitive aspects. Springer 2002[20]Díez, J.A.; Moulines, C.U. Fundamentos <strong>de</strong> <strong>la</strong>filosofía <strong>de</strong> <strong>la</strong> ciencia. Ariel, 1997[21]Esteban A. et al. La programación basada enComponent Pascal: <strong>de</strong> <strong>la</strong> programación OO alos componentes <strong>de</strong>l software. JENUI 1998,423-26[22]Fernán<strong>de</strong>z Muñoz L., Peña R., Nava F.,Velázquez Iturbi<strong>de</strong> A. Enfoque diacrónicopara <strong>la</strong> enseñanza <strong>de</strong> los paradigmas <strong>de</strong> <strong>la</strong>programación imperativa. JENUI 2002.[23]Fernán<strong>de</strong>z, A.; Rossi, G. An effectiveapproach to learning object-orientedtechnology. ECOOP 98.[24]Franch, X. et al. Transición <strong>de</strong> Modu<strong>la</strong>2 aJava en un curso <strong>de</strong> iniciación a <strong>la</strong>programación. JENUI 1998, 319-326[25]Franch, X.; et al. An introductoryprogramming pilot course using Java EATCS1999. pp 69[26]García Molina, J. ¿Es conveniente <strong>la</strong> OO enprimer curso <strong>de</strong> programación. Novática 154(11/12) 2001, 64-8[27]Hardgrave, B.C.; Doug<strong>la</strong>s, D.E. Trends ininformation systems curricu<strong>la</strong>: object-orientedtopics. Journal of Computer InformationSystem vol 39, nº1, 1-6.[28]Hitz, M.; Hu<strong>de</strong>c, M. Modu<strong>la</strong>2 versus C++ asa first programming <strong>la</strong>nguage. Someempirical results. SIGCSE 1995, 317-21[29]Hosch F. Java as a First <strong>la</strong>nguage: anevaluation. SIGCSE Bulleting 28(3) 1996 45-50[30]Houle, M.E. Ethics, programming, and virtualenvironments. ITiCSE 1997, 91-3[31]Joyner, I. Objects unencapsu<strong>la</strong>ted: Java,Eiffel and C++. Prentice Hall, 1999[32]Kelemen B. A Newcomer's Thoughts aboutresponsibility distribution. ECOOP’98.


Lecture Notes in Computer Science, 1543Springer-Ver<strong>la</strong>g 1999.[33]Koffman E. Wolz U. A simple Java packagefor GUI-like interactivity. SIGCSE 2001, 11-15[34]Kölling, M. et al. Requirements for a firstyear OO teaching <strong>la</strong>nguage. SIGCSE 1995,173-77[35]Kölling, M. The problem of teaching objectorientedprogramming. Part I: LanguagesJournal of Object-Oriented Programming1999, 11(8) 8-15pp[36]Kornecki A. J. Teaching object-orientedsimu<strong>la</strong>tion in a software engineeringframework. Simu<strong>la</strong>tion. (abril 2001) 233-239[37]Lewis, J. Myths about OO and its pedagogy.SIGCSE 2000, 245-49[38]Lidtke, D.K.; Zhou, H.H. A New approach toan introduction to computer science.ASEE/IEEE 29 th FIE’99 4-23, 1999[39]Llopis, F.; Pérez, E. C++-OO como lenguajeintroductorio a <strong>la</strong> programación. JENUI2001, 299-304[40]Lucker There’s more to OOP than syntax!.SIGCSE Bulletin 26 (1), p 56-60 (1994)[41]McCracken, D.D. An inductive approach toteaching object-oriented <strong>de</strong>sign. SIGCSE1999 3/24-28[42]McDonald, C. 1 st year programming<strong>la</strong>nguages in australian and New Zea<strong>la</strong>nduniversities. http:// www.cs.uwa.edu.au/~chris/java-in-cs1/anzacs.html[43]Meyer, B. Object-Oriented softwareconstruction, 2ªed. Prentice-Hall, 2000ISBN0136291554[44]Meyer, B. Towards an OO curriculum.Journal OO Programming 1994, (3)76-81[45]Moreira A. Teaching objects: the case formo<strong>de</strong>lling. ECOOP’98 (1998), Lecture Notesin Computer Science, 1543 pp350-354Springer-Ver<strong>la</strong>g 1999[46]Negroponte N. Ser digital (1995)At<strong>la</strong>ntida Publishing; ISBN: 9500814730[47]Oliveira, C.A. Aspects on teaching/learningwith OO programming for entry level Coursesof engineering. ICEE 1998, (8)17-20[48]Ortega, A. et al. Programación multilenguajecon Component Pascal y Java en un primercurso <strong>de</strong> programación. JENUI 1999, 343-48[49]Osborne M., Johnson J. An onlyun<strong>de</strong>rgraduate course in object-orientedtechnology. SIGCSE Bulletin. 25(1) 101-106(1993).[50]Rasa<strong>la</strong>, R. et al. Java Power Tools: Mo<strong>de</strong>lsoftware for teaching OO <strong>de</strong>sign. SIGCSE2001, 297-301[51]Rasa<strong>la</strong>, R. Toolkits in first year computerscience: a pedagogical imperative. SIGCSE2000, 185-91[52]Raysi<strong>de</strong>, D.; Campbell, G. Aristotle and OOprogramming: why mo<strong>de</strong>rn stu<strong>de</strong>nts needtraditional logic. SIGCSE 2000, 237-44[53]Reges, S. Conservatively radical Java in CS1.SIGCSE 2000 3/00[54]Roberts, E. An Overview of MiniJava.SIGCSE 2001 2/01[55]Schaub, S. Teaching Java Graphics in CS1.SIGCSE 2000 32(2)71-3[56]Schoenefeld, D.A. OO Design andProgramming: an Eiffel, C++, and JavaCourse for C Programmers. SIGCSE 1997,135-9[57]Stroustrup B. The Design and Evolution ofC++. Addison-Wesley, 1994. ISBN021543303[58]Wallingford, E. Toward a first course basedon OO patterns. SIGCSE 1996, 27-32[59]Wick, M.R. On Using C++ and OO in CS1:the Message is still more important than theMedium SIGCSE 1995, 322-6[60]Wie<strong>de</strong>nbeck, S.; Ramallingam, V. NoviceComprhension of Small Programs Writen inthe Procedural and OO Styles. InternationalJournal of Human Computer Studies (1999)51 71-87[61]Woodman, H.; Robinson, H.; Griffiths, R.;Hol<strong>la</strong>nd, S. An Object Oriented Approach toComputing OOPSLA 98[62]Woodman, M. et al. The Objects Shop-UsingCD-ROM Multimedia to Introduce ObjectConcepts. SIGCSE 1997, 345-9[63]Woodman, M.; Hol<strong>la</strong>nd, S. From softwareuser to software author: an initial pedagogyfor introductory OO computing. ITiCSE 1996,60-2[64]Woodworth P.;Dann W. Integrating Consoleand event-driven Mo<strong>de</strong>ls in CS1. SIGCSE1999 (3)132-135


Una propuesta para organizar <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>Orientación a ObjetosJesús García Molina, Marcos Menárguez Tortosa y Begoña Moros ValleDepto. <strong>de</strong> Informática y SistemasUniversidad <strong>de</strong> MurciaCampus <strong>de</strong> Espinardo-30071 Murciae-mail: (jmolina|marcos|bmoros)@um.esResumenEn este trabajo se presenta una propuesta sobrecómo organizar en los p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> <strong>la</strong>stitu<strong>la</strong>ciones <strong>de</strong> informática los temas re<strong>la</strong>cionadoscon <strong>la</strong> orientación a objetos. Se <strong>de</strong>scriben dosasignaturas cuatrimestrales obligatorias <strong>de</strong> seiscréditos: una primera <strong>de</strong> Introducción a <strong>la</strong>Programación Orientada a Objetos y una segundasobre Análisis y Diseño Orientado a Objetos.Proponemos que <strong>la</strong> primera sea obligatoria en <strong>la</strong>stres titu<strong>la</strong>ciones y que <strong>la</strong> segunda sea obligatoriaen Ingeniero en Informática y optativa en <strong>la</strong>s dostitu<strong>la</strong>ciones técnicas. Ambas conforman un cursoque proporcionará al alumno una formaciónbásica en el <strong>de</strong>sarrollo <strong>de</strong> software orientado aobjetos. Esta propuesta está en <strong>la</strong> línea expuestaen el Computing Curricu<strong>la</strong> 2001 <strong>de</strong> ACM/IEEE.1. IntroducciónEn <strong>la</strong> década pasada <strong>la</strong> programación orientada aobjetos (OO) se ha consolidado como elparadigma <strong>de</strong> programación más apropiado paraconstruir software <strong>de</strong> calidad, sobre todo porquefavorece <strong>la</strong> escritura <strong>de</strong> código reutilizable yextensible, a<strong>de</strong>más <strong>de</strong> reducir el salto semánticoentre los mo<strong>de</strong>los <strong>de</strong>l análisis <strong>de</strong>l problema y elcódigo <strong>de</strong> <strong>la</strong> aplicación: los objetos <strong>de</strong>l dominio<strong>de</strong>l problema son objetos <strong>de</strong> <strong>la</strong> solución software.La propuesta curricu<strong>la</strong>r Computing Curricu<strong>la</strong>2001 <strong>de</strong> ACM/IEEE [2] reconoce <strong>la</strong> importanciaadquirida por <strong>la</strong> programación OO <strong>de</strong>s<strong>de</strong> <strong>la</strong>publicación <strong>de</strong> <strong>la</strong>s recomendaciones curricu<strong>la</strong>res<strong>de</strong> 1991 y aña<strong>de</strong> este área al núcleo <strong>de</strong>conocimientos básicos <strong>de</strong> <strong>la</strong> disciplina,estableciendo que cualquier estudiante <strong>de</strong>informática <strong>de</strong>bería tener una formación enProgramación OO (unidad PL6 <strong>de</strong> Lenguajes <strong>de</strong>Programación), Análisis y Diseño OO y Patrones<strong>de</strong> Diseño (unidad SE1 <strong>de</strong> Ingeniería <strong>de</strong>lSoftware).Las directrices generales propias <strong>de</strong> <strong>la</strong>stitu<strong>la</strong>ciones <strong>de</strong> informática (B.O.E. <strong>de</strong> 20 <strong>de</strong>Noviembre <strong>de</strong> 1990) no incluyen <strong>de</strong>scriptoresre<strong>la</strong>cionados con <strong>la</strong> OO en ninguna <strong>de</strong> <strong>la</strong>s materiastroncales, <strong>de</strong> modo que <strong>la</strong> forma <strong>de</strong> incorporar alos p<strong>la</strong>nes <strong>de</strong> estudio <strong>la</strong> enseñanza obligatoria <strong>de</strong><strong>la</strong> OO, es a través <strong>de</strong> asignaturas obligatorias, tal ycomo se está haciendo en <strong>la</strong> mayoría <strong>de</strong> los p<strong>la</strong>nes<strong>de</strong> estudio aprobados recientemente, como es elcaso <strong>de</strong> los p<strong>la</strong>nes <strong>de</strong> <strong>la</strong> Universidad Politécnica<strong>de</strong> Valencia y <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alicante, entreotros. También se pue<strong>de</strong> aprovechar <strong>la</strong>sasignaturas que correspon<strong>de</strong>n a <strong>la</strong> materia troncalIngeniería <strong>de</strong>l Software para incluir contenidossobre construcción <strong>de</strong> software OO.En nuestra facultad se imparte una asignaturasobre programación OO <strong>de</strong>s<strong>de</strong> el curso 1991-92,en el que se imp<strong>la</strong>ntaron los estudios <strong>de</strong> segundociclo. Se trataba <strong>de</strong> una asignatura <strong>de</strong> cuarto curso,cuyos <strong>de</strong>scriptores correspondían a <strong>la</strong> materiatroncal Ingeniería <strong>de</strong>l Software. En <strong>la</strong> actualidad,nuestros p<strong>la</strong>nes <strong>de</strong> estudio incluyen <strong>la</strong> asignaturaProgramación Orientada a Objetos como optativaen <strong>la</strong>s dos titu<strong>la</strong>ciones técnicas (p<strong>la</strong>nes <strong>de</strong> 1994) ycomo obligatoria en el primer ciclo <strong>de</strong> Ingenieroen Informática (p<strong>la</strong>n <strong>de</strong> 1996, con otro nombre).Esta titu<strong>la</strong>ción también incluye una asignaturatroncal en cuarto curso sobre análisis y diseñoOO.


En este trabajo analizamos cómo organizar <strong>la</strong>enseñanza <strong>de</strong>l paradigma OO en los p<strong>la</strong>nes <strong>de</strong>estudio <strong>de</strong> informática. Presentamos unapropuesta para <strong>la</strong> titu<strong>la</strong>ción Ingeniero enInformática, indicando como tras<strong>la</strong>dar<strong>la</strong> a <strong>la</strong>stitu<strong>la</strong>ciones técnicas. Esta propuesta es fruto <strong>de</strong>nuestra experiencia al impartir <strong>la</strong>s asignaturasre<strong>la</strong>cionadas con <strong>la</strong> OO en nuestra facultad.El trabajo se organiza <strong>de</strong>l siguiente modo. En<strong>la</strong> siguiente sección presentamos nuestrapropuesta para Ingeniero en Informática. Luego<strong>de</strong>scribimos <strong>la</strong>s dos asignaturas que conforman <strong>la</strong>enseñanza obligatoria sobre OO que proponemosy que actualmente impartimos en nuestra facultad.A continuación comentamos cuál es <strong>la</strong> situaciónen el caso <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones técnicas y en losfuturos p<strong>la</strong>nes. Finalmente presentamos <strong>la</strong>sconclusiones.2. La propuestaCreemos que un ingeniero en informática <strong>de</strong>berecibir una formación básica en orientación aobjetos a través <strong>de</strong> dos cursos: uno <strong>de</strong>introducción a <strong>la</strong> programación OO (nosreferiremos a él como IPOO) y otro <strong>de</strong> análisis ydiseño OO (nos referiremos a él como ADOO).En IPOO se introducen los conceptos básicos quecaracterizan al paradigma <strong>de</strong> programación OO yen ADOO el alumno conoce y apren<strong>de</strong> a aplicarun proceso software OO y los patrones <strong>de</strong> diseñobásicos. IPOO se <strong>de</strong>sarrol<strong>la</strong>ría como unaasignatura <strong>de</strong> tercero <strong>de</strong> seis créditos, una vez queel alumno conoce <strong>la</strong> programación procedural ymodu<strong>la</strong>r, mientras que ADOO se cursaría comouna asignatura <strong>de</strong> cuarto curso también <strong>de</strong> seiscréditos. Es recomendable que ambos cursos no seimpartan en el mismo año ya que es bueno que e<strong>la</strong>lumno tenga tiempo para madurar esa nuevavisión <strong>de</strong> <strong>la</strong> programación que le muestra IPOO.Des<strong>de</strong> hace cinco años, nuestro <strong>de</strong>partamentosigue este enfoque en los estudios <strong>de</strong> Ingeniero enInformática, a través <strong>de</strong> <strong>la</strong> asignatura obligatoriaDiseño <strong>de</strong> Programas en tercero (correspon<strong>de</strong> aIPOO) y <strong>de</strong> <strong>la</strong> troncal Arquitectura <strong>de</strong>l Software<strong>de</strong> cuarto (correspon<strong>de</strong> a ADOO). En este trabajoutilizaremos los nombres IPOO y ADOO, en vez<strong>de</strong> los nombres <strong>de</strong> estas asignaturas, para insistiren el carácter general <strong>de</strong> nuestra propuesta.La organización <strong>de</strong> IPOO presupone unenfoque procedural-primero para <strong>la</strong> introduccióna <strong>la</strong> programación <strong>de</strong>l primer año, por los motivosque se exponen en [5]. En <strong>la</strong> mencionadapropuesta curricu<strong>la</strong>r <strong>de</strong> ACM/IEEE [2] se seña<strong>la</strong>que es posible i<strong>de</strong>ar p<strong>la</strong>nes en los que <strong>la</strong>introducción a <strong>la</strong> programación pue<strong>de</strong> serabordada tanto a través <strong>de</strong>l paradigma imperativocomo <strong>de</strong>l paradigma OO o incluso <strong>de</strong>l funcional,siendo una cuestión a <strong>de</strong>batir en cada facultad. En[5] se <strong>de</strong>fien<strong>de</strong> comenzar con el paradigmaimperativo, aunque con un enfoque en el que losconceptos <strong>de</strong> secuencia e inducción juegan unpapel central, así como el <strong>de</strong> tipo abstracto <strong>de</strong>datos.Proponemos pues seguir un enfoque quepo<strong>de</strong>mos l<strong>la</strong>mar evolutivo, en el sentido quepasamos <strong>de</strong> <strong>la</strong> programación procedural a <strong>la</strong>modu<strong>la</strong>r y luego aterrizamos en <strong>la</strong> programaciónorientada a objetos. En primer año unaintroducción a <strong>la</strong> programación tal y como <strong>la</strong><strong>de</strong>scrita en [5]; en segundo curso el alumnoaplicaría <strong>la</strong> programación modu<strong>la</strong>r <strong>de</strong>ntro unaasignatura anual <strong>de</strong> algoritmos y estructuras <strong>de</strong>datos, antes <strong>de</strong> cursar <strong>la</strong>s dos asignaturasmencionadas arriba IPOO y ADOO que en suconjunto constituyen un curso completo sobreconstrucción <strong>de</strong> software OO que incluirían todoslos contenidos sobre OO consi<strong>de</strong>rados comobásicos en <strong>la</strong> recomendación curricu<strong>la</strong>r <strong>de</strong>ACM/IEEE [2].B. Meyer critica este enfoque evolutivo alconsi<strong>de</strong>rarlo fruto <strong>de</strong> una visión equivocada <strong>de</strong>lprofesor que cree necesario enseñar <strong>la</strong>programación siguiendo el or<strong>de</strong>n en que él haconocido los paradigmas, y se pregunta por qué noempezar con los objetos <strong>de</strong>s<strong>de</strong> el primer año, dadoque todos estamos <strong>de</strong> acuerdo en que <strong>la</strong> OO es elmedio a<strong>de</strong>cuado para construir software. Aunquereconocemos el papel <strong>de</strong> B. Meyer en el <strong>de</strong>sarrollo<strong>de</strong> <strong>la</strong> OO y sus gran<strong>de</strong>s aportaciones, <strong>de</strong>spués <strong>de</strong>reflexionar sobre esta cuestión y tras unaexperiencia <strong>de</strong> más <strong>de</strong> diez años creemos quenuestro enfoque procedural-modu<strong>la</strong>r-OO es elcamino a<strong>de</strong>cuado para abordar <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>programación, ya que el alumno pue<strong>de</strong> valorarmucho mejor <strong>la</strong>s ventajas <strong>de</strong> <strong>la</strong> OO y a<strong>de</strong>más esmás natural el paso procedural-OO que al revés.De hecho, en <strong>la</strong> primera parte <strong>de</strong>l libro [7], B.Meyer justifica <strong>la</strong>s ventajas <strong>de</strong> <strong>la</strong> OO partiendo <strong>de</strong><strong>la</strong> experiencia <strong>de</strong>l lector en programación


procedural, en el manejo <strong>de</strong> rutinas y módulos, yen el conocimiento <strong>de</strong>l diseño <strong>de</strong>scen<strong>de</strong>nte.Lógicamente, el curso IDOO es unprerrequisito para el curso ADOO. En estos doscursos, el alumno recibe una formación que lecapacita para estudiar otras temas re<strong>la</strong>cionadoscon <strong>la</strong> tecnología <strong>de</strong>l software OO como es <strong>la</strong>construcción <strong>de</strong> aplicaciones basadas en objetosdistribuidos (RMI y CORBA) y el <strong>de</strong>sarrollobasado en componentes. Nuestro <strong>de</strong>partamentooferta en quinto curso dos asignaturasre<strong>la</strong>cionadas con estas dos tecnologías.Conviene seña<strong>la</strong>r que en <strong>la</strong>s titu<strong>la</strong>cionestécnicas se sigue el enfoque evolutivo comentado,pero no en <strong>la</strong> titu<strong>la</strong>ción superior ya que dos <strong>de</strong> <strong>la</strong>scuatro asignaturas <strong>de</strong> programación que hay entreprimero y segundo no están adscritas a nuestro<strong>de</strong>partamento y en el<strong>la</strong>s se utiliza Java para <strong>la</strong>enseñanza <strong>de</strong> los tipos abstractos <strong>de</strong> datos yestructuras <strong>de</strong> datos. En el siguiente apartadocomentaremos este hecho. A continuación<strong>de</strong>scribiremos los cursos IDOO y ADOO queproponemos.3. Introducción a <strong>la</strong> ProgramaciónOrientada a ObjetosEl objetivo <strong>de</strong> esta asignatura es introducir a<strong>la</strong>lumno en el paradigma <strong>de</strong> programación OO,siendo sus objetivos: i) <strong>de</strong>scribir los conceptos quelo caracterizan: c<strong>la</strong>se, objeto, herencia,polimorfismo y ligadura dinámica, ii) contrastarcómo esos conceptos se reflejan en los cuatrolenguajes OO más extendidos: C++, Java,Smalltalk y Eiffel, iii) enseñar un lenguaje OO yun entorno <strong>de</strong> programación, iv) introduciralgunas técnicas y heurísticas básicas <strong>de</strong>programación OO y v) valorar en qué medida <strong>la</strong>stécnicas OO mejoran <strong>la</strong> calidad <strong>de</strong>l software.La asignatura se p<strong>la</strong>ntea como dos cursos quese imparten en paralelo <strong>de</strong>s<strong>de</strong> <strong>la</strong> primera semana:una parte teórica <strong>de</strong> treinta horas y una partepráctica con quince sesiones <strong>de</strong> hora y media en el<strong>la</strong>boratorio. En <strong>la</strong>s c<strong>la</strong>ses prácticas el alumnorecibe un curso <strong>de</strong> programación OO en Java.Este curso se imparte <strong>de</strong> forma simultánea a <strong>la</strong>sc<strong>la</strong>ses <strong>de</strong> teoría, ya que no es viable llevar <strong>la</strong>sc<strong>la</strong>ses prácticas al ritmo <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses teóricas.Esto no crea confusión en el alumno, ya que <strong>la</strong>sc<strong>la</strong>ses teóricas sirven para proporcionar una visiónmás general <strong>de</strong> los conceptos que previamente havisto en <strong>la</strong>s c<strong>la</strong>ses prácticas en el contexto <strong>de</strong> Java.Al final <strong>de</strong>l curso, <strong>la</strong>s dos partes han <strong>de</strong>bido servirpara conseguir los objetivos y que el alumno tengaunos buenos conocimientos sobre programaciónOO, dos partes separadas que forman una unidadcoherente.En <strong>la</strong>s c<strong>la</strong>ses teóricas <strong>de</strong>scribimos con <strong>de</strong>talletodos los conceptos que caracterizan al paradigmaOO. Primero se estudian todos los conceptosre<strong>la</strong>cionados con c<strong>la</strong>ses y objetos: ocultación <strong>de</strong>información, mensajes, semántica referencia,creación y copia <strong>de</strong> objetos, igualdad e i<strong>de</strong>ntidad,y genericidad. Después se estudia un capítulosobre el diseño por contrato que sirve paracontrastar los mecanismos <strong>de</strong> asertos yexcepciones <strong>de</strong> Java y Eiffel. A continuación seestudian todos los aspectos que tienen que ver con<strong>la</strong> herencia: principio <strong>de</strong> sustitución, polimorfismoy ligadura dinámica, intento <strong>de</strong> asignación,genericidad en Java, c<strong>la</strong>ses abstractas, códigogenérico, herencia y ocultación <strong>de</strong> información,herencia múltiple, herencia repetida, diferentestipos <strong>de</strong> herencia, e implementación <strong>de</strong> <strong>la</strong> ligaduradinámica. En el estudio <strong>de</strong> <strong>la</strong> herencia también seincluye <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> algunos patrones básicoscomo son: Temp<strong>la</strong>te Method (para ver el papel <strong>de</strong><strong>la</strong>s c<strong>la</strong>ses parcialmente diferidas para escribircódigo genérico), Iterador (distinguiendo entreiteradores externos e internos, analizando cómoresolver con herencia <strong>la</strong> imposibilidad <strong>de</strong> pasarfunciones como argumentos <strong>de</strong> un método),Observer (para ver el papel que pue<strong>de</strong>n jugar <strong>la</strong>sinterfaces Java) y Composite (como ejemplo <strong>de</strong>herencia múltiple). Finalmente se valora cómo <strong>la</strong>OO ayuda a mejorar <strong>la</strong> calidad <strong>de</strong>l software y seintroducen heurísticas básicas para <strong>la</strong> creación <strong>de</strong>software OO: algunas <strong>de</strong> <strong>la</strong>s heurísticas <strong>de</strong> Riel[8] y los patrones Contro<strong>la</strong>dor y Experto [6].En un curso <strong>de</strong> estas características esimportante que el alumno no adquiera <strong>la</strong> visión <strong>de</strong><strong>la</strong> OO ofrecida por un lenguaje particu<strong>la</strong>r, sinoque comprenda los conceptos que subyacen a <strong>la</strong>OO <strong>de</strong> una forma in<strong>de</strong>pendiente <strong>de</strong>l lenguaje. Paraconseguir este objetivo, en <strong>la</strong> parte teórica primerose explican los conceptos sin recurrir a unlenguaje y luego se muestra el contraste en <strong>la</strong>forma en que son reflejados en los cuatrolenguajes OO que consi<strong>de</strong>ramos. Con esteenfoque no se encorseta <strong>la</strong> visión <strong>de</strong>l alumno a <strong>la</strong>ofrecida por un lenguaje concreto, sino que


adquiere una compresión <strong>de</strong> los conceptos <strong>de</strong> másalto nivel. No cabe duda que el contrasteenriquece <strong>la</strong> visión <strong>de</strong>l alumno, ya que se favorecesu actitud crítica y se le prepara para po<strong>de</strong>rprogramar, sin gran<strong>de</strong>s dificulta<strong>de</strong>s, en cada uno<strong>de</strong> los cuatro lenguajes, ya que conoce losaspectos c<strong>la</strong>ve re<strong>la</strong>cionados con <strong>la</strong> OO en cadauno <strong>de</strong> ellos. A<strong>de</strong>más, está capacitado para valorarcómo se introducen los conceptos OO en otroslenguajes existentes o que puedan <strong>de</strong>finirse en unfuturo (por ejemplo, podría dominar sin dificultadC# ).Para ilustrar <strong>la</strong> i<strong>de</strong>a sirva el ejemplo <strong>de</strong> <strong>la</strong>ocultación <strong>de</strong> información. Al alumno se lemuestra su significado y se le justifican susbeneficios, entonces se revisan y se contraponen<strong>la</strong>s variaciones que encontramos en los diferenteslenguajes: atributos públicos en C++ y Java,c<strong>la</strong>ses amigas en C++, visibilidad friendly en Java,c<strong>la</strong>ses anidadas en Java y C++, exportaciónselectiva en Eiffel, todos los métodos son públicosen Smalltalk ocultación a <strong>de</strong>scendientes en Java yC++, …En <strong>la</strong> parte práctica nos hemos tenido queenfrentar al problema <strong>de</strong> <strong>la</strong> elección <strong>de</strong> unlenguaje OO. El lenguaje i<strong>de</strong>al para <strong>la</strong> docenciasería aquel que tuviese buenas propieda<strong>de</strong>s,existiesen buenos entornos y abundantedocumentación, y que a<strong>de</strong>más su uso estuviesemuy extendido entre <strong>la</strong>s empresas <strong>de</strong> <strong>de</strong>sarrollo.Des<strong>de</strong> nuestro punto <strong>de</strong> vista, que un lenguajetenga buenas propieda<strong>de</strong>s supone que <strong>de</strong>bería: i)ser OO puro para obligar al alumno a programar<strong>de</strong>ntro <strong>de</strong>l paradigma, ii) reflejar con c<strong>la</strong>ridad losconceptos OO, por ejemplo, no parececonveniente po<strong>de</strong>r <strong>de</strong>c<strong>la</strong>rar que un atributo seexporta en modo escritura o tener que <strong>de</strong>c<strong>la</strong>rar losmétodos en los que se aplicará ligadura dinámicao no po<strong>de</strong>r <strong>de</strong>c<strong>la</strong>rar métodos privados, iii) serlegible, iv) ser pequeño y con gran potenciaexpresiva, v) ser tipado estáticamente, parafavorecer <strong>la</strong> legibilidad y fiabilidad. A<strong>de</strong>más, seríaconveniente que permitiese escribir asertos paraposibilitar <strong>la</strong> programación por contrato [7] y queincluyese un mecanismo <strong>de</strong> genericidad. Encuanto a <strong>la</strong> exigencia <strong>de</strong> un buen entornoenten<strong>de</strong>mos <strong>la</strong> existencia <strong>de</strong> entornos robustos,gratuitos, fáciles <strong>de</strong> usar y que no necesitasenmuchos recursos.Como es lógico, no existe un lenguaje quecump<strong>la</strong> todos los requisitos anteriores. Creemosque Eiffel o Eiffel# podría ser <strong>la</strong> mejor elecciónconsi<strong>de</strong>rando sus buenas propieda<strong>de</strong>s (OO puro,tipado, legible, incluye genericidad, mecanismo<strong>de</strong> asertos y un entorno robusto), sin embargo estámuy poco extendido y no hay buenos entornosgratuitos. Por ello hemos elegido Java quepo<strong>de</strong>mos consi<strong>de</strong>rar casi OO puro ya que e<strong>la</strong>lumno no pue<strong>de</strong> salirse <strong>de</strong>l paradigma OO alprogramar (aunque no es OO puro ya que hay unadistinción entre tipos básicos y c<strong>la</strong>ses, un métodomain en <strong>la</strong>s c<strong>la</strong>ses y otras cuestiones), es tipadoestáticamente, refleja con sencillez los conceptosOO si lo comparamos con C++, existe abundantedocumentación y sobre todo está muy extendidoen <strong>la</strong> industria, habiendo surgido alre<strong>de</strong>dor <strong>de</strong> éluna importante tecnología para el <strong>de</strong>sarrollo <strong>de</strong>aplicaciones OO: Servlet, RMI, Beans, EJB,JINI,.. Con Java tenemos un lenguaje que no tienetan buenas propieda<strong>de</strong>s como Eiffel (por ejemplo,no tiene genericidad, ni herencia múltiple) pero acambio se trata <strong>de</strong> un lenguaje muy extendido quees el lenguaje más utilizado en el <strong>de</strong>sarrollo <strong>de</strong>aplicaciones web. A<strong>de</strong>más, el alumno seguirátrabajando con Java en asignaturas posteriores quetraten <strong>de</strong> tecnología <strong>de</strong>l software, por ejemplo <strong>la</strong>sre<strong>la</strong>cionadas con componentes y objetosdistribuidos.Hasta hace dos años, Smalltalk fue el lenguajeelegido por tratarse <strong>de</strong> un lenguaje OO puro, muysimple pero <strong>de</strong> gran potencia expresiva y conbuenos entornos <strong>de</strong> libre distribución queconsumen pocos recursos. Nunca nos p<strong>la</strong>nteamosC++ por tratarse <strong>de</strong> un lenguaje híbrido, muycomplicado y poco legible. Al aparecer Java, y apesar <strong>de</strong> su rápido éxito, no apostamos por él yaque no era un lenguaje estable, no se disponían <strong>de</strong>buenos entornos y por <strong>la</strong> resistencia al cambio.Entendíamos que Smalltalk permitía cumplir losobjetivos y teníamos mucha experiencia ydocumentación. Sin embargo, ahora no dudamosque Java es <strong>la</strong> mejor elección.Como trabajo práctico, el alumno <strong>de</strong>berealizar un boletín <strong>de</strong> ejercicios, <strong>de</strong> complejidadcreciente, en los que <strong>de</strong>be <strong>de</strong>mostrar suconocimiento <strong>de</strong> aspectos propios <strong>de</strong> <strong>la</strong>programación en Java, (entrada/salida,excepciones, concurrencia, serialización einterfaces gráficos), así como <strong>de</strong> los conceptos <strong>de</strong><strong>la</strong> OO y el manejo <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses básicas <strong>de</strong> <strong>la</strong>jerarquía como son <strong>la</strong>s colecciones. Estosejercicios obligan al alumno a diseñar e


implementar sus primeras c<strong>la</strong>ses para resolverproblemas concretos, a ver los programas comouna colección estructurada <strong>de</strong> c<strong>la</strong>ses. Finalmente<strong>de</strong>be <strong>de</strong>sarrol<strong>la</strong>r un pequeño proyecto <strong>de</strong>programación que abarque <strong>de</strong> una forma globaltodos los conceptos estudiados en los ejercicios,en el que se puedan aplicar algunos patrones yheurísticas como <strong>la</strong> separación mo<strong>de</strong>lo-vista , elpatrón Observer y los patrones <strong>de</strong> reparto <strong>de</strong>responsabilida<strong>de</strong>s Contro<strong>la</strong>dor y Experto [6]. Enlos dos últimos cursos hemos encontradoa<strong>de</strong>cuado como proyecto <strong>de</strong> programación <strong>la</strong>implementación <strong>de</strong> un juego en el que variospersonajes interactuan en un escenario queimpone unas reg<strong>la</strong>s. La implementación exigediseñar <strong>la</strong>s c<strong>la</strong>ses que representan el escenario yuna jerarquía interesante para representar lospersonajes <strong>de</strong>l juego (con c<strong>la</strong>ses abstractas, códigogenérico, interfaces,...), y utilizar unos patronessencillos <strong>de</strong> co<strong>la</strong>boración entre objetos.Conviene seña<strong>la</strong>r que en este curso se cubrentodos los temas incluidos en PL6 (Object-Oriented Programming) <strong>de</strong>ntro <strong>de</strong>l ComputingCurricu<strong>la</strong> 2001, así como los objetivos <strong>de</strong>aprendizaje que allí se p<strong>la</strong>ntean.Las encuestas y comentarios <strong>de</strong> los alumnosmuestran su rechazo a <strong>la</strong> utilización <strong>de</strong> Java endos asignaturas <strong>de</strong> primer y segundo curso,<strong>de</strong>dicadas fundamentalmente a trabajar conestructuras <strong>de</strong> datos y el concepto <strong>de</strong> tipoabstracto <strong>de</strong> datos. Los alumnos se quejan <strong>de</strong> que<strong>de</strong>ben utilizar los conceptos OO sin conocerlos,actuando a base <strong>de</strong> recetas, “aquí hay que ponerObject”, “aquí <strong>de</strong>bes hacer una conversión <strong>de</strong>tipos”, “<strong>la</strong>s interfaces son un tipo <strong>de</strong> c<strong>la</strong>ses”.Reconocen que el conocimiento que tienen <strong>de</strong>Java no les ha sido <strong>de</strong> mucha ayuda a <strong>la</strong> hora <strong>de</strong>cursar IPOO, ya que tenían pocos conceptosc<strong>la</strong>ros. Estas opiniones refuerzan nuestra i<strong>de</strong>a <strong>de</strong>empezar con el paradigma procedural en el primercurso.4. Análisis y Diseño OOEste curso es una continuación <strong>de</strong>l anterior y se<strong>de</strong>dica a proporcionar al alumno una formaciónque le permita abordar <strong>de</strong> una forma sistemática el<strong>de</strong>sarrollo <strong>de</strong> aplicaciones OO, aplicando unproceso software. Se supone una parte teórica yotra práctica <strong>de</strong> tres créditos cada una. En <strong>la</strong>sc<strong>la</strong>ses teóricas, primero se <strong>de</strong>scribe el LenguajeUnificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do, UML como notaciónestándar para el mo<strong>de</strong><strong>la</strong>do OO, luego se <strong>de</strong>scribeun proceso basado en UML y finalmente sepresentan y discuten los patrones <strong>de</strong> diseño <strong>de</strong>Gamma et al. [3].No cabe duda que actualmente el mo<strong>de</strong><strong>la</strong>doOO está centrado en UML que se ha convertido enun estándar “<strong>de</strong> facto”. En este curso se realizauna <strong>de</strong>scripción <strong>de</strong>tal<strong>la</strong>da <strong>de</strong>l lenguaje UML,analizando con <strong>de</strong>talle el mo<strong>de</strong><strong>la</strong>do <strong>de</strong> casos <strong>de</strong>uso, mo<strong>de</strong><strong>la</strong>do estructural, mo<strong>de</strong><strong>la</strong>do <strong>de</strong>lcomportamiento y mo<strong>de</strong><strong>la</strong>do dinámico.Tras <strong>la</strong> presentación <strong>de</strong> UML, se <strong>de</strong>scribe unproceso para UML orientado al <strong>de</strong>sarrollo <strong>de</strong>aplicaciones <strong>de</strong> gestión (business applications). Elproceso presentado es simple y está <strong>de</strong>stinado aaplicaciones cuyo <strong>de</strong>sarrollo no involucra equipos<strong>de</strong> programadores ni tiempos <strong>de</strong> <strong>de</strong>sarrollo muygran<strong>de</strong>s. Se trata <strong>de</strong> un proceso iterativo,incremental y guiado por los casos <strong>de</strong> uso, que esresultado <strong>de</strong> añadir una etapa <strong>de</strong> mo<strong>de</strong><strong>la</strong>do <strong>de</strong>negocio al proceso <strong>de</strong>scrito por Craig Larman [6].El mo<strong>de</strong><strong>la</strong>do <strong>de</strong> casos <strong>de</strong> usos y el mo<strong>de</strong><strong>la</strong>doconceptual se realiza a partir <strong>de</strong> los diagramas <strong>de</strong>actividad <strong>de</strong>l mo<strong>de</strong><strong>la</strong>do <strong>de</strong>l negocio siguiendo <strong>la</strong>stécnicas <strong>de</strong>scritas en [4] para i<strong>de</strong>ntificar casos <strong>de</strong>uso, vocabu<strong>la</strong>rio <strong>de</strong>l sistema y reg<strong>la</strong>s <strong>de</strong> negocio.Dentro <strong>de</strong> una formación básica en orientacióna objetos es obligado incluir los patrones <strong>de</strong>diseño o soluciones a problemas recurrentes en el<strong>de</strong>sarrollo <strong>de</strong> software OO. Los patrones hanadquirido bastante importancia en <strong>la</strong> comunidadsoftware, siendo fundamentales para obtener unaarquitectura software <strong>de</strong> calidad. En <strong>la</strong> actualidad,existe un consenso al consi<strong>de</strong>rar que los patrones<strong>de</strong> diseño <strong>de</strong>scritos en el libro Design Patterns [3]son parte <strong>de</strong>l núcleo básico <strong>de</strong> conocimientos <strong>de</strong>informática que un estudiante <strong>de</strong>be conocer, comose seña<strong>la</strong> en el Computing Curricu<strong>la</strong> 2001. Casi<strong>la</strong> mitad <strong>de</strong> <strong>la</strong> parte teórica <strong>de</strong> <strong>la</strong> asignatura se<strong>de</strong>dicará al estudio <strong>de</strong>tal<strong>la</strong>do <strong>de</strong> estos patrones,p<strong>la</strong>nteándose ejemplos que implican i<strong>de</strong>ntificarqué patrones conviene utilizar.Dentro <strong>de</strong> esta parte teórica también seintroduce el problema <strong>de</strong> <strong>la</strong> persistencia enaplicaciones OO, analizándose con <strong>de</strong>talle e<strong>la</strong>lmacenamiento <strong>de</strong> objetos en bases <strong>de</strong> datosre<strong>la</strong>cionales y presentándose el diseño <strong>de</strong> un nivel<strong>de</strong> persistencia [1,6]. Este diseño también sirvepara ilustrar el uso <strong>de</strong> patrones.


Las c<strong>la</strong>ses prácticas se <strong>de</strong>dican al principio aresolver problemas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do <strong>de</strong> casos <strong>de</strong> uso,mo<strong>de</strong><strong>la</strong>do estructural y el diseño <strong>de</strong>co<strong>la</strong>boraciones entre objetos (un total <strong>de</strong> 5sesiones <strong>de</strong> una hora). Es bien sabido que <strong>la</strong> partemás difícil <strong>de</strong>l mo<strong>de</strong><strong>la</strong>do OO es diseñar cómo<strong>de</strong>ben co<strong>la</strong>borar un grupo <strong>de</strong> objetos para realizaruna <strong>de</strong>terminada actividad [3, 6], por lo que se lepresta especial atención. Más a<strong>de</strong><strong>la</strong>nte se <strong>de</strong>scribecomo aplicar el proceso software estudiado enc<strong>la</strong>se sobre un ejemplo concreto; por ejemplo, separte <strong>de</strong> <strong>la</strong> especificación <strong>de</strong> <strong>la</strong> práctica <strong>de</strong>l cursoanterior (tres sesiones <strong>de</strong> una hora). Luego se<strong>de</strong>scribe <strong>la</strong> herramienta que el alumno utilizarápara el mo<strong>de</strong><strong>la</strong>do, Rational Rose en nuestro caso(esto conlleva tres sesiones <strong>de</strong> hora y media).Finalmente se le p<strong>la</strong>ntea al alumno unaespecificación <strong>de</strong> un problema que <strong>de</strong>be mo<strong>de</strong><strong>la</strong>rhasta llegar a una implementación en Java.El trabajo práctico i<strong>de</strong>al para esta asignaturasería un proyecto <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> una aplicaciónpara una empresa, <strong>de</strong>s<strong>de</strong> el mo<strong>de</strong><strong>la</strong>do <strong>de</strong>l negociohasta <strong>la</strong> implementación. El profesor entregaría a<strong>la</strong>lumno una especificación <strong>de</strong> un sistema y e<strong>la</strong>lumno <strong>de</strong>bería primero hacer el mo<strong>de</strong><strong>la</strong>do <strong>de</strong>lnegocio y luego aplicar el proceso <strong>de</strong>scrito en [6].Sin embargo, esto no tiene cabida en unaasignatura cuya carga práctica son tres créditospor lo que <strong>la</strong> implementación se limita a unospocos casos <strong>de</strong> uso y no se presta importancia a <strong>la</strong>interfaz gráfica y a <strong>la</strong> persistencia en bases <strong>de</strong>datos re<strong>la</strong>cionales.Los alumnos forman grupos <strong>de</strong> dos y elprofesor mantiene dos reuniones con los alumnospara seguir el proyecto, una al acabar el mo<strong>de</strong><strong>la</strong>do<strong>de</strong> casos <strong>de</strong> uso y mo<strong>de</strong><strong>la</strong>do conceptual, y otra almo<strong>de</strong><strong>la</strong>r una serie <strong>de</strong> co<strong>la</strong>boraciones que sonelegidas por el profesor. El objetivo <strong>de</strong> <strong>la</strong> primerareunión es asegurarnos que el alumno hacomprendido bien los requisitos, ha i<strong>de</strong>ntificadouna colección <strong>de</strong> casos <strong>de</strong> uso apropiada y los ha<strong>de</strong>scrito bien, haciendo uso <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> utilizadaen [6]. El objetivo <strong>de</strong> <strong>la</strong> segunda entrevista escomprobar que los alumnos han comprendido biencómo diseñar co<strong>la</strong>boraciones entre objetos. Estaactividad es <strong>la</strong> que les resulta más complicada y a<strong>la</strong> que <strong>de</strong>dican mayores esfuerzos.El mo<strong>de</strong><strong>la</strong>do <strong>de</strong>l negocio es opcional para losalumnos, ya que involucra un tiempo consi<strong>de</strong>rabley preferimos llegar a <strong>la</strong> implementación <strong>de</strong> algunaparte <strong>de</strong>l sistema, aunque son bastantes los gruposque lo <strong>de</strong>sarrol<strong>la</strong>n ya que lo encuentran útil parai<strong>de</strong>ntificar los casos <strong>de</strong> uso. El alumno entrega unadocumentación que refleja cada etapa <strong>de</strong>aplicación <strong>de</strong>l proceso y cada grupo mantiene unaentrevista final con el profesor en <strong>la</strong> que se evalúael trabajo práctico en su conjunto.Conviene seña<strong>la</strong>r que este curso cubre lostemas y objetivos <strong>de</strong> aprendizaje incluidos en SE1(Software Design) <strong>de</strong>l Computing Curricu<strong>la</strong> 2001que tienen que ver con el análisis y diseño OO ypatrones <strong>de</strong> diseño: “seleccionar y aplicar patrones<strong>de</strong> diseño apropiados en <strong>la</strong> construcción <strong>de</strong> unaaplicación”, “crear y especificar el diseñosoftware para un producto software <strong>de</strong> tamañomedio, usando un método <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>software y notación apropiada.En nuestro caso, este curso también permiteque los alumnos puedan contrastar <strong>la</strong> aplicación<strong>de</strong> un proceso software OO con el análisis ydiseño estructurado que ya conocen <strong>de</strong> <strong>la</strong>asignatura Fundamentos <strong>de</strong> Ingeniería <strong>de</strong>lSoftware <strong>de</strong> tercer curso. Un aspecto que losalumnos valoran en gran medida es <strong>la</strong> trazabilidadque ofrecen los casos <strong>de</strong> uso <strong>de</strong>ntro <strong>de</strong> losprocesos OO: se diseñan co<strong>la</strong>boraciones quesatisfacen un objetivo que correspon<strong>de</strong> a un caso<strong>de</strong> uso y se implementan c<strong>la</strong>ses teniendo en cuenta<strong>la</strong>s co<strong>la</strong>boraciones, <strong>de</strong> modo que es fácil llegar <strong>de</strong>lcódigo al requisito que implementa. Los alumnostambién valoran positivamente <strong>la</strong> continuida<strong>de</strong>ntre <strong>la</strong>s diferentes etapas <strong>de</strong>l proceso, a<strong>de</strong>másnotan como todo el trabajo es <strong>de</strong> utilidad y estáencaminado a escribir código que es lo que hayque acabar haciendo.5. La propuesta en <strong>la</strong>s titu<strong>la</strong>ciones técnicasy los futuros p<strong>la</strong>nesEn <strong>la</strong>s titu<strong>la</strong>ciones técnicas creemos necesaria unaasignatura obligatoria que corresponda a IPOO enel primer cuatrimestre <strong>de</strong>l tercer curso. Se podríaincluir una optativa en el segundo cuatrimestre <strong>de</strong>este tercer año con los contenidos <strong>de</strong> ADOO,aunque nos parece que el proyecto <strong>de</strong> <strong>la</strong> partepráctica y el estudio <strong>de</strong> los patrones no pue<strong>de</strong> sertan exigente como el caso <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong>cuarto curso, ya que el alumno tiene menostiempo para madurar los conceptos.Actualmente, en <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong> Sistemas yGestión <strong>de</strong> nuestra facultad, nuestro <strong>de</strong>partamento


oferta una asignatura optativa <strong>de</strong>nominadaProgramación Orientada a Objetos (6 créditos)que coinci<strong>de</strong> con IPOO, aunque con algunasdiferencias en el p<strong>la</strong>nteamiento <strong>de</strong> <strong>la</strong>s prácticas.Se exige un menor número <strong>de</strong> ejerciciosindividuales y se propone como proyecto <strong>de</strong>programación una aplicación <strong>de</strong> gestión,guiándoles en <strong>la</strong> implementación, aunque sinaplicar un proceso. Este enfoque es motivado porel hecho que <strong>la</strong> asignatura no tiene continuidad enotra <strong>de</strong> <strong>la</strong> naturaleza <strong>de</strong> ADOO. Siempre se eligeuna especificación que al menos exija <strong>la</strong><strong>de</strong>finición <strong>de</strong> una jerarquía <strong>de</strong> c<strong>la</strong>ses y <strong>la</strong>existencia <strong>de</strong> c<strong>la</strong>ses parcialmente diferidas concódigo genérico (patrón Temp<strong>la</strong>te Method). Seintroducen los diagramas <strong>de</strong> c<strong>la</strong>se <strong>de</strong> UML y seinsiste en <strong>la</strong> aplicación <strong>de</strong> heurísticas básicas <strong>de</strong>diseño OO como no incluir código <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses<strong>de</strong>l mo<strong>de</strong>lo en <strong>la</strong>s interfaces y el reparto <strong>de</strong>responsabilida<strong>de</strong>s entre c<strong>la</strong>ses.En los futuros p<strong>la</strong>nes, que se imp<strong>la</strong>ntarán elpróximo curso, en Ingeniero en Informática semantiene <strong>la</strong> organización propuesta en estetrabajo, con dos asignaturas que correspon<strong>de</strong>n aIPOO y ADOO en tercer y cuarto curso,respectivamente; a<strong>de</strong>más se mantienen <strong>la</strong>soptativas <strong>de</strong> quinto curso sobre objetosdistribuidos y componentes. En cuanto a <strong>la</strong>stitu<strong>la</strong>ciones técnicas, <strong>la</strong> asignatura ProgramaciónOrientada a Objetos será obligatoria en tercercurso <strong>de</strong> Sistemas y Gestión. A<strong>de</strong>más, se haincluido en <strong>la</strong> oferta <strong>de</strong> optativas una asignaturaque correspon<strong>de</strong> a <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> ADOO. Laorganización refleja <strong>la</strong> propuesta presentada porlos autores al <strong>de</strong>partamento sobre <strong>la</strong> enseñanza <strong>de</strong><strong>la</strong>s materias re<strong>la</strong>cionadas con <strong>la</strong> OO.6. ConclusiónHemos presentado una propuesta <strong>de</strong> organización<strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>s materias re<strong>la</strong>cionadas con<strong>la</strong> OO: una asignatura obligatoria <strong>de</strong> seis créditosen tercer curso (titu<strong>la</strong>ciones técnicas e Ingenieroen Informática), <strong>de</strong>stinada a ofrecer unaintroducción a los conceptos que configuran elparadigma OO y una asignatura, también <strong>de</strong> seiscréditos en cuarto curso (como optativa <strong>de</strong> terceroen <strong>la</strong>s técnicas) para <strong>de</strong>scribir un proceso basadoen UML y los patrones <strong>de</strong> diseño básicos. Ambasasignaturas conforman un curso <strong>de</strong> doce créditossobre OO, con el que los alumnos conseguirán unabuena formación en el <strong>de</strong>sarrollo <strong>de</strong> software OOy que coinci<strong>de</strong> con <strong>la</strong> propuesta curricu<strong>la</strong>r <strong>de</strong>Computing Curricu<strong>la</strong> 2001. A<strong>de</strong>más, estos doscursos preparan al alumno para estudiar otrosaspectos <strong>de</strong> <strong>la</strong> tecnología <strong>de</strong>l software como son<strong>la</strong>s aplicaciones basadas en objetos distribuidos yel <strong>de</strong>sarrollo basado en componentes.Este enfoque <strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> OO, esfruto <strong>de</strong> <strong>la</strong> co<strong>la</strong>boración, en los últimos cuatroaños, <strong>de</strong> los autores <strong>de</strong> este trabajo al encargarse<strong>de</strong> <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong>s asignaturas re<strong>la</strong>cionadascon IPOO y ADOO, partiendo <strong>de</strong> <strong>la</strong> experiencia<strong>de</strong>l primer autor que hace once años comenzó aimpartir <strong>la</strong> docencia re<strong>la</strong>cionada con <strong>la</strong> OO ennuestra facultad.Referencias[1] S. Ambler, Mapping Objects to Re<strong>la</strong>tionalDatabases,http://www.ambysoft.com/mappingObjects.html[2] Computing Curricu<strong>la</strong> 2001, Final Report,December 2001, ACM e IEEE, http://www.computer.org/education/cc2001/final/in<strong>de</strong>x.htm[3] E. Gamma et al., Design Patterns, Elements ofReusable Object-Oriented Software, Addison-Wesley, 1995.[4] J. García Molina et al. Towards Use Case andConceptual Mo<strong>de</strong>ls Through BusinessMo<strong>de</strong>ling, ER2000: 19th InternationalConference on Conceptual Mo<strong>de</strong>ling, Utah,USA, 2000. Versión en castel<strong>la</strong>no Un procesobasado en UML para aplicaciones <strong>de</strong> gestiónen http://dis.um.es/~jmolina/as.html[5] J. García Molina, ¿Es conveniente <strong>la</strong>orientación a objetos en un primer curso <strong>de</strong>programación?, VII <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática (JENUI'2001),Palma <strong>de</strong> Mallorca, 16-18 <strong>de</strong> Julio, 2001.Pue<strong>de</strong> <strong>de</strong>scargarse en http://dis.um.es/~jmolina/publi.html[6] C. Larman, Applying UML and patterns,2ª edición, Prentice-Hall, 2002[7] B. Meyer, Construcción <strong>de</strong> SoftwareOrientado a Objetos, 2ª edición, Prentice-Hall, 1998.[8] A. Riel, Object-Oriented Design Heuristics,Addison-Wesley, 1996.


Metodología basada en <strong>de</strong>scomposición funcional yorientación a objetos en <strong>la</strong> introducción a <strong>la</strong> programaciónMerce<strong>de</strong>s Gómez AlbarránDpto. <strong>de</strong> Sistemas Informáticos y ProgramaciónUniversidad Complutense <strong>de</strong> Madrid28040 Madri<strong>de</strong>-mail: albarran@sip.ucm.esResumenEste trabajo realiza una propuesta docente para unamplio cuerpo <strong>de</strong> materia <strong>de</strong> iniciación a <strong>la</strong>programación en el que tienen cabida <strong>la</strong>Programación Orientada a Objetos (POO) y unametodología <strong>de</strong> programación más tradicionalcomo es <strong>la</strong> basada en <strong>de</strong>scomposición funcional.Se muestra cómo podría quedar reflejada dichapropuesta en el p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> <strong>la</strong> Ingenieríaen Informática <strong>de</strong> <strong>la</strong> Universidad Complutense <strong>de</strong>Madrid.1. IntroducciónA comienzos <strong>de</strong> los años noventa, en línea con <strong>la</strong>srecomendaciones <strong>de</strong> Computing Curricu<strong>la</strong> 1991,<strong>la</strong>s asignaturas introductorias a <strong>la</strong> programación y<strong>la</strong> presentación <strong>de</strong> <strong>la</strong> POO ocupaban posicionesmuy distintas en el currículo: <strong>la</strong>s primeraspresentaban una metodología <strong>de</strong> diseño procedimentalusando un lenguaje <strong>de</strong> programaciónimperativo, con frecuencia Pascal, mientras que <strong>la</strong>POO aparecía en asignaturas <strong>de</strong> cursos avanzados.En nuestros días vivimos lo que podríamos<strong>de</strong>nominar un período <strong>de</strong> (r)evolución en lo querespecta a <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> materia <strong>de</strong>introducción a <strong>la</strong> programación. Unos apuestanpor mantener el enfoque “tradicional”; otrosapuestan por incluir <strong>la</strong> orientación a objetos (OO)en el currículo introductorio. No existe unconsenso en <strong>la</strong> comunidad docente en lo querespecta a <strong>la</strong> forma <strong>de</strong> abordar <strong>la</strong> introducción a <strong>la</strong>programación, incluso el propio ComputingCurricu<strong>la</strong> 2001 [1] no se <strong>de</strong>canta por unaestrategia concreta.La ten<strong>de</strong>ncia a incluir <strong>la</strong> OO en el currículointroductorio es cada vez mayor. La cuestión es,¿cómo se incluye? Po<strong>de</strong>mos distinguir dosenfoques: el enfoque “objetos más tar<strong>de</strong>” (objects<strong>la</strong>te),en el que se presenta <strong>la</strong> OO tras <strong>la</strong>metodología basada en <strong>de</strong>scomposición funcional,y el enfoque “objetos primero” (objects-first), quecomienza presentando directamente losfundamentos <strong>de</strong> <strong>la</strong> POO 1 .La propuesta que aquí se p<strong>la</strong>ntea se enmarca<strong>de</strong>ntro <strong>de</strong>l enfoque “objetos más tar<strong>de</strong>” y searticu<strong>la</strong> en torno a <strong>la</strong>s siguientes i<strong>de</strong>as:ƒ Es innegable el papel fundamental que tiene <strong>la</strong>OO en el <strong>de</strong>sarrollo <strong>de</strong> software actual yparece c<strong>la</strong>ro que será el mo<strong>de</strong>lo <strong>de</strong>programación dominante en un futuropróximo. De ahí que apostemos por norelegarlo a una enseñanza <strong>de</strong> “segundo nivel”−entendiendo por “segundo nivel” unapresentación alejada <strong>de</strong>l primer o segundo año<strong>de</strong> estudios−, sino por que forme parte <strong>de</strong> <strong>la</strong>formación básica en programación <strong>de</strong> losalumnos.ƒ La metodología basada en <strong>de</strong>scomposiciónfuncional ha sido y sigue siendo unametodología válida, que permite a los alumnosenfrentarse al <strong>de</strong>sarrollo <strong>de</strong> algoritmosais<strong>la</strong>dos y pequeñas aplicaciones. Enconsecuencia, tampoco consi<strong>de</strong>ramos que<strong>de</strong>ba ser excluida. En este sentido, un enfoque“objetos primero” discrimina a <strong>la</strong> metodologíabasada en <strong>de</strong>scomposición funcional, tal ycomo se indica en [15].1Existen diversas ten<strong>de</strong>ncias <strong>de</strong>ntro <strong>de</strong>l enfoque“objetos primero” según se dé más importancia al uso <strong>de</strong>c<strong>la</strong>ses, a <strong>la</strong> creación <strong>de</strong> c<strong>la</strong>ses, a <strong>la</strong> construcción <strong>de</strong>jerarquías, etc. [3][7].


ƒ La <strong>de</strong>scomposición funcional y <strong>la</strong><strong>de</strong>scomposición conducida por los datos (en <strong>la</strong>que se apoya el diseño OO) no sonmetodologías disjuntas y mutuamenteexcluyentes. La Ingeniería <strong>de</strong>l software nosaconseja que el diseño conducido por losdatos (<strong>la</strong> abstracción <strong>de</strong> datos) domine el<strong>de</strong>sarrollo <strong>de</strong> aplicaciones <strong>de</strong> ciertaenvergadura. Pero cuando hab<strong>la</strong>mos <strong>de</strong>abstracción <strong>de</strong> datos no hab<strong>la</strong>mos sólo <strong>de</strong> losvalores sino también <strong>de</strong> operacionesasociadas. Las operaciones requierenalgoritmos. La <strong>de</strong>scomposición funcional esaplicada para diseñar esos algoritmos, ytambién pue<strong>de</strong> serlo en <strong>la</strong> coordinación <strong>de</strong> <strong>la</strong>sinteracciones entre datos que representa elcódigo conductor <strong>de</strong> <strong>la</strong> aplicación.Con estas i<strong>de</strong>as subyacentes, en el bloque <strong>de</strong>materia <strong>de</strong> iniciación a <strong>la</strong> programación que sepropone, se presentarían, en este or<strong>de</strong>n:ƒ Descomposición funcional para el <strong>de</strong>sarrollo<strong>de</strong> algoritmos concretos y aplicaciones apequeña esca<strong>la</strong>.ƒƒDescomposición conducida por los datos, parael diseño <strong>de</strong> aplicaciones no triviales. En estepunto <strong>la</strong> abstracción procedimiental no eseliminada sino subyugada a <strong>la</strong> abstracción <strong>de</strong>datos que <strong>de</strong>be ocurrir antes en el proceso <strong>de</strong>diseño.Orientación a objetos, una técnica basada en eldiseño conducido por los datos que incluyemecanismos que facilitan <strong>la</strong> creación <strong>de</strong>software extensible y reutilizable.A continuación, pasamos a <strong>de</strong>scribir losobjetivos <strong>de</strong> una propuesta como <strong>la</strong> nuestra.Seguidamente se presentan los contenidos <strong>de</strong> <strong>la</strong>propuesta, reflejando cómo pue<strong>de</strong> ser aplicada enun p<strong>la</strong>n <strong>de</strong> estudios concreto que es el <strong>de</strong> <strong>la</strong>Ingeniería en Informática <strong>de</strong> <strong>la</strong> UniversidadComplutense <strong>de</strong> Madrid. Así mismo, en re<strong>la</strong>cióncon <strong>la</strong> propuesta, abordaremos <strong>la</strong> cuestión <strong>de</strong>l/<strong>de</strong>los lenguaje(s) <strong>de</strong> programación a utilizar.2. Objetivos <strong>de</strong> <strong>la</strong> propuestaConsi<strong>de</strong>ramos que el objetivo general <strong>de</strong> unbloque <strong>de</strong> materia <strong>de</strong> iniciación a <strong>la</strong> programación,como integrante <strong>de</strong>l grueso <strong>de</strong> asignaturas<strong>de</strong>dicadas a <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> programación con<strong>la</strong>s que los alumnos se enfrentan a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong>carrera, es contribuir en <strong>la</strong> capacitación <strong>de</strong> losalumnos para <strong>de</strong>sarrol<strong>la</strong>r programas <strong>de</strong> calidad.Enten<strong>de</strong>mos por programas <strong>de</strong> calidad aquellosque cuentan con <strong>la</strong>s siguientes características:c<strong>la</strong>ridad, corrección, extensibilidad, reusabilidad yeficiencia.A nivel más concreto, <strong>la</strong> propuesta que aquí sepresenta preten<strong>de</strong> alcanzar los siguientessubobjetivos:ƒ Dejar c<strong>la</strong>ro que <strong>la</strong> programación es un acto <strong>de</strong>resolución <strong>de</strong> problemas. Saber programar noes apren<strong>de</strong>r uno o más lenguajes <strong>de</strong>programación concretos sino conocer y saberutilizar métodos que permitan <strong>la</strong> construcciónsistemática <strong>de</strong> algoritmos.ƒ Presentar los conceptos <strong>de</strong> algoritmo yprograma.ƒ Reconocer <strong>la</strong> necesidad <strong>de</strong> manipu<strong>la</strong>r datoscuando programamos y exponer el concepto<strong>de</strong> tipo <strong>de</strong> datos.ƒ Resaltar el papel fundamental que juega <strong>la</strong>abstracción en todo proceso <strong>de</strong> resolución <strong>de</strong>problemas y, en particu<strong>la</strong>r, en el proceso <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> software. Se <strong>de</strong>ben exponerprocesos <strong>de</strong> abstracción aplicados a diferentesentida<strong>de</strong>s, presentando a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong> materia<strong>la</strong> ten<strong>de</strong>ncia a incluir mecanismos <strong>de</strong>abstracción cada vez <strong>de</strong> más alto nivel,ten<strong>de</strong>ncia que acompaña a <strong>la</strong> evolución <strong>de</strong> <strong>la</strong>Programación como disciplina.ƒ Aportar elementos <strong>de</strong> programación básicos ymetodologías <strong>de</strong> programación para <strong>la</strong>resolución <strong>de</strong> problemas.Se propone <strong>la</strong> metodología <strong>de</strong> <strong>de</strong>scomposiciónfuncional para el <strong>de</strong>sarrollo tanto <strong>de</strong>algoritmos ais<strong>la</strong>dos como <strong>de</strong> aplicacionescompletas <strong>de</strong> pequeño tamaño. Al p<strong>la</strong>ntearse<strong>la</strong> necesidad <strong>de</strong> tipos <strong>de</strong> datos más complejosse presentan <strong>la</strong> noción <strong>de</strong> Tipo Abstracto <strong>de</strong>Datos (TAD) y herramientas para su<strong>de</strong>finición.La programación con TADs se introduce en elmarco <strong>de</strong> <strong>la</strong> programación modu<strong>la</strong>r como unametodología <strong>de</strong> diseño que permite organizarlos programas en torno a los datos quemanipu<strong>la</strong>n y no en base a <strong>la</strong>s operaciones arealizar. Este diseño conducido por los datosse p<strong>la</strong>ntea como <strong>la</strong> técnica preferente a usar enel diseño <strong>de</strong> aplicaciones <strong>de</strong> mayorenvergadura. Como ya se ha seña<strong>la</strong>do, <strong>la</strong>metodología basada en <strong>de</strong>scomposición


ƒƒƒfuncional y <strong>la</strong> conducida por los datos no sontécnicas mutuamente excluyentes y en <strong>la</strong>presentación <strong>de</strong> los contenidos a los alumnosse <strong>de</strong>be hacer hincapié en ello.Introducir a los alumnos en <strong>la</strong> POO,presentándo<strong>la</strong> como un paradigma que seapoya en <strong>la</strong> abstracción <strong>de</strong> datos e incluyemecanismos que permiten construir softwareextensible y reutilizable.Examinar los conceptos fundamentales <strong>de</strong> <strong>la</strong>OO.Dar a conocer los pasos esenciales queconlleva proporcionar una solución orientadaa objetos a un cierto problema.ƒ Aplicar los conceptos presentados parasolucionar problemas usando unaaproximación orientada a objetos.ƒAdquirir conocimiento acerca <strong>de</strong> (al menos)un lenguaje <strong>de</strong> programación. Dicho lenguaje<strong>de</strong>be contar con los mecanismos necesariospara dar soporte a <strong>la</strong>s metodologíaspresentadas. Otra característica preferible,aunque no primordial en un primer lenguaje<strong>de</strong> programación, es que sea <strong>de</strong> proyecciónprofesional.3. La organización <strong>de</strong> los contenidos <strong>de</strong> <strong>la</strong>propuestaLa tab<strong>la</strong> 1 muestra los temas que componen elcontenido <strong>de</strong> nuestra propuesta. Con <strong>la</strong>organización propuesta se espera realizar unatransición re<strong>la</strong>tivamente “suave” <strong>de</strong> unascuestiones a otras.El primer tema presenta nociones básicassobre Informática y programación, tales como <strong>la</strong>diferencia entre el hardware y el software, elconcepto <strong>de</strong> algoritmo y el concepto <strong>de</strong> programa.En el segundo tema hacemos que los alumnoscaigan en <strong>la</strong> cuenta <strong>de</strong> que los algoritmos trabajansobre datos y que es necesario representarlos ymanipu<strong>la</strong>rlos. Se presentan el concepto <strong>de</strong> tipo <strong>de</strong>datos, <strong>la</strong>s nociones <strong>de</strong> variable y constante, <strong>la</strong>instrucción <strong>de</strong> asignación. Se trata también <strong>la</strong>comunicación vía conso<strong>la</strong> con el usuario.El objetivo <strong>de</strong>l tercer tema es <strong>la</strong> presentación<strong>de</strong> <strong>la</strong>s construcciones alternativas e iterativas. Esasinstrucciones se <strong>de</strong>ben presentar como un paso enel camino hacia <strong>la</strong> abstracción, comparándo<strong>la</strong>s conlo que ocurre en los lenguajes máquina. Se1. Introducción a <strong>la</strong>s computadoras y a <strong>la</strong>programación2. Instrucciones y tipos elementales3. Estructuras <strong>de</strong> control4. Abstracción funcional5. Introducción a <strong>la</strong> recursividad6. Abstracción <strong>de</strong> datos: una introducción a los TADs7. Colecciones8. El camino hacia <strong>la</strong> orientación a objetos9. Más sobre c<strong>la</strong>ses y objetos10. Herencia11. Polimorfismo y vincu<strong>la</strong>ción dinámica12. Introducción al diseño orientado a objetos:aplicación <strong>de</strong> conceptosTab<strong>la</strong> 1. Temario <strong>de</strong> <strong>la</strong> propuesta.esquematizan algoritmos iterativos <strong>de</strong> usofrecuente como son los recorridos y <strong>la</strong>sbúsquedas.En <strong>la</strong> ten<strong>de</strong>ncia a incluir mecanismos <strong>de</strong>abstracción cada vez <strong>de</strong> más alto nivel, se presentaen el tema 4 <strong>la</strong> abstracción funcional. Se aborda eldiseño <strong>de</strong> algoritmos aplicando diseño<strong>de</strong>scen<strong>de</strong>nte.La recursión se presenta como una técnica <strong>de</strong>resolución <strong>de</strong> problemas en el tema 5.Llegados a este punto <strong>de</strong> <strong>la</strong> materia, se p<strong>la</strong>nteaa los alumnos <strong>la</strong> necesidad, a medida que aumenta<strong>la</strong> complejidad <strong>de</strong> los problemas abordados, <strong>de</strong>que el programador cree sus propios tipos <strong>de</strong>datos. Se presentan así en el tema 6 <strong>la</strong>s i<strong>de</strong>as <strong>de</strong>abstracción <strong>de</strong> datos, TAD y <strong>la</strong>s c<strong>la</strong>ses como <strong>la</strong>herramienta para implementar TADs −al permitiraquel<strong>la</strong>s <strong>la</strong> encapsu<strong>la</strong>ción <strong>de</strong> datos y operaciones,hacer privados <strong>la</strong> representación <strong>de</strong> los datos y <strong>la</strong>implementación <strong>de</strong> <strong>la</strong>s operaciones y proteger <strong>de</strong>accesos incontro<strong>la</strong>dos. En este mismo tema sehará hincapié en que <strong>la</strong> metodología <strong>de</strong><strong>de</strong>scomposición conducida por los datos es <strong>la</strong>predominante en el diseño <strong>de</strong> aplicaciones <strong>de</strong>envergadura y que <strong>la</strong> metodología basada en<strong>de</strong>scomposición funcional vista sigue siendoaplicable al <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s operaciones <strong>de</strong> los


nuevos tipos creados. Estas consi<strong>de</strong>raciones sonmuy importantes para que los alumnos no tengan<strong>la</strong> sensación <strong>de</strong> que lo que han visto hasta esemomento <strong>de</strong>ja <strong>de</strong> ser útil.Muchos problemas requieren manejar ciertonúmero <strong>de</strong> entida<strong>de</strong>s <strong>de</strong> un <strong>de</strong>terminado tipo. Si elnúmero es consi<strong>de</strong>rable no se pue<strong>de</strong> recurrir al uso<strong>de</strong> variables “in<strong>de</strong>pendientes”. La solución viene<strong>de</strong> <strong>la</strong> mano <strong>de</strong>l uso <strong>de</strong> colecciones <strong>de</strong> entida<strong>de</strong>shomogéneas. El tema 7 se <strong>de</strong>dica a estascuestiones.Tras haber presentado los conceptos <strong>de</strong>abstracción y encapsu<strong>la</strong>ción <strong>de</strong> datos y <strong>la</strong>s c<strong>la</strong>sescomo una herramienta para implementar losTADs, en el tema 8 se presenta <strong>la</strong> POO como unaprogramación con TADs junto una serie <strong>de</strong>mecanismos que permiten alcanzar mejoras en <strong>la</strong>calidad <strong>de</strong>l software. En este tema se ofrece unavisión preliminar <strong>de</strong> esos mecanismos.Básicamente, se trata <strong>de</strong> transmitir a los alumnos<strong>de</strong> manera intuitiva <strong>la</strong>s “bonda<strong>de</strong>s” <strong>de</strong> <strong>la</strong> OO.El tema 9 aborda <strong>la</strong>s cuestiones <strong>de</strong> creación,inicialización y <strong>de</strong>strucción <strong>de</strong> objetos. Para quelos alumnos puedan llegar a apreciar mejor <strong>la</strong>scaracterísticas incorporadas en los diferenteslenguajes que soportan <strong>la</strong> OO, <strong>de</strong>berían exponersealgunos temas re<strong>la</strong>cionados tales como <strong>la</strong> gestión<strong>de</strong> asignación <strong>de</strong> memoria y <strong>la</strong> diferencia existenteentre <strong>la</strong>s copias superficiales y <strong>la</strong>s copiasprofundas.Apren<strong>de</strong>r a “programar orientado a objetos”implica compren<strong>de</strong>r uno <strong>de</strong> los pi<strong>la</strong>res <strong>de</strong> <strong>la</strong>filosofía que hay <strong>de</strong>trás: <strong>la</strong> realización <strong>de</strong> unatarea se materializa en <strong>la</strong> interacción <strong>de</strong> objetos,cada uno <strong>de</strong> los cuales tiene un estado yproporciona una serie <strong>de</strong> servicios(comportamiento). Llegados a este punto, losalumnos cuentan ya con los conocimientosnecesarios para <strong>de</strong>finir c<strong>la</strong>ses, crear objetos yconseguir que éstos se comuniquen entre símediante pasos <strong>de</strong> mensajes. El siguiente paso esestablecer re<strong>la</strong>ciones entre c<strong>la</strong>ses, siendo <strong>la</strong>herencia y <strong>la</strong> composición <strong>la</strong>s dos típicasutilizadas en <strong>la</strong> organización <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses. El tema10 se <strong>de</strong>dica a <strong>la</strong> herencia.Des<strong>de</strong> el punto <strong>de</strong> vista más pragmático, <strong>la</strong>herencia se presentará a los alumnos como unmecanismo que permite reutilizar código.Efectivamente, permite compartir código: <strong>la</strong>scaracterísticas comunes a un conjunto <strong>de</strong> c<strong>la</strong>ses seextraen y <strong>de</strong>finen en una c<strong>la</strong>se más general a <strong>la</strong>que luego especializan. Las <strong>de</strong>scripciones <strong>de</strong> <strong>la</strong>sc<strong>la</strong>ses resultado <strong>de</strong> esa especialización secomplementan con <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> <strong>la</strong> superc<strong>la</strong>se.De esta forma, disminuyen el tiempo y el esfuerzonecesarios para <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong>s nuevas c<strong>la</strong>ses. Y elhecho <strong>de</strong> que el código <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses estéorganizado en una jerarquía permite darle unaestructura al conjunto <strong>de</strong> módulos −haciéndolomás comprensible− así como facilitar los cambios,pues una modificación realizada en una c<strong>la</strong>se sepropaga automáticamente a sus subc<strong>la</strong>ses.Aún con todo, estas ventajas no son <strong>la</strong>sprincipales. Lo verda<strong>de</strong>ramente relevante aquí, yhay que hacérselo ver a los alumnos, es que <strong>la</strong>herencia, complementada con <strong>la</strong> vincu<strong>la</strong>cióndinámica y el polimorfismo (aspectos introducidosbrevemente en el tema 8 y que serán tratados en<strong>de</strong>talle en el siguiente), permite construir<strong>de</strong>scripciones a distintos niveles <strong>de</strong> abstracción.En el tema 11 se revisa el concepto <strong>de</strong>polimorfismo brevemente <strong>de</strong>scrito en el tema 8.Conviene re<strong>la</strong>cionar, siempre que sea posible, loque se vaya viendo con aspectos y ejemplos queya hayan surgido. En este caso se hace ver a losalumnos que ya hemos encontrado entida<strong>de</strong>spolimórficas (por ejemplo, los nombres <strong>de</strong> losmétodos polimórficos <strong>de</strong>bido a sobrecarga yre<strong>de</strong>finición). Aquí nos centramos, sin embargo,en <strong>la</strong>s variables polimórficas.Es interesante que los alumnos distingan entreel tipo estático y el dinámico <strong>de</strong> una variable yque se analice cómo influye <strong>la</strong> forma <strong>de</strong> reservarespacio <strong>de</strong> memoria en <strong>la</strong> existencia <strong>de</strong> variablespolimórficas.Asimismo, hay que resaltar el polimorfismo y<strong>la</strong>s c<strong>la</strong>ses abstractas como aspectos c<strong>la</strong>ve en <strong>la</strong>reutilización.Para finalizar el tema, se analizan <strong>la</strong>simplicaciones que conlleva <strong>la</strong> existencia <strong>de</strong>variables polimórficas, presentando <strong>la</strong> distinciónentre vincu<strong>la</strong>ción estática y dinámica.El último tema <strong>de</strong>l grueso <strong>de</strong> materiapropuesto lo consi<strong>de</strong>ramos indispensable. En él selleva a cabo una introducción al diseño OO: sepresentan algunas consi<strong>de</strong>raciones generales queconducen a buenos diseños −<strong>la</strong> alta cohesión, elbajo acop<strong>la</strong>miento, <strong>la</strong> trazabilidad, etc.− y unesquema simple con <strong>la</strong>s tareas básicas <strong>de</strong> tododiseño OO −<strong>de</strong>tección <strong>de</strong> c<strong>la</strong>ses, <strong>de</strong>terminación <strong>de</strong>re<strong>la</strong>ciones entre c<strong>la</strong>ses, diseño <strong>de</strong> <strong>la</strong> coordinación<strong>de</strong> los objetos. Los conceptos expuestos a lo <strong>la</strong>rgo


<strong>de</strong>l bloque <strong>de</strong> materia se aplican al <strong>de</strong>sarrollo <strong>de</strong>soluciones orientadas a objetos a ciertos proyectos<strong>de</strong> programación. Consi<strong>de</strong>ramos que cualquierasignatura don<strong>de</strong> se introduzca <strong>la</strong> OO necesita <strong>de</strong>un tema como éste, en el que los alumnos pongana prueba su comprensión <strong>de</strong>l significado y <strong>la</strong>potencia <strong>de</strong> <strong>la</strong> OO.Aparte <strong>de</strong> <strong>la</strong>s correspondientes c<strong>la</strong>ses en <strong>la</strong>sque abordar todos estos temas, sería altamenterecomendable que los alumnos pudiesen hacerprácticas don<strong>de</strong> poner a prueba todos losconocimientos adquiridos.3.1. La propuesta reflejada en el p<strong>la</strong>n <strong>de</strong>estudios <strong>de</strong> <strong>la</strong> Ingeniería en Informática <strong>de</strong> <strong>la</strong>Universidad Complutense <strong>de</strong> MadridEsta sección refleja cómo una propuesta como <strong>la</strong><strong>de</strong>scrita se pue<strong>de</strong> llevar al p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> <strong>la</strong>Ingeniería en Informática <strong>de</strong> nuestra universidad.Las asignaturas directamente re<strong>la</strong>cionadas con<strong>la</strong> programación en los dos primeros años <strong>de</strong> dichatitu<strong>la</strong>ción son:ƒ Primer curso: Introducción a <strong>la</strong> Programacióny Laboratorio <strong>de</strong> Programación I son <strong>la</strong>sasignaturas <strong>de</strong> toma <strong>de</strong> contacto con <strong>la</strong>programación. La primera es anual (9 créditos,6 teóricos y 3 prácticos); <strong>la</strong> segunda (4,5créditos, todos prácticos) se imparte en elsegundo cuatrimestre como <strong>la</strong>boratorio <strong>de</strong>ƒsoporte a <strong>la</strong> primera.Segundo curso: Estructura <strong>de</strong> Datos y <strong>de</strong> <strong>la</strong>Información es una asignatura anual (15créditos, 10 teóricos y 5 prácticos);Programación Orientada a Objetos (4,5créditos, 3 teóricos y 1,5 prácticos), que seimparte en el primer cuatrimestre;Laboratorio <strong>de</strong> Programación II es anual (9créditos, todos prácticos).Las asignaturas que escogeríamos paraimpartir los contenidos presentados sonIntroducción a <strong>la</strong> Programación y ProgramaciónOrientada a Objetos. Grosso modo, el reparto <strong>de</strong>contenidos entre dichas asignaturas queda comosigue:ƒ Presentación <strong>de</strong> <strong>la</strong> metodología basada en<strong>de</strong>scomposición funcional en el primercuatrimestre <strong>de</strong> Introducción a <strong>la</strong>Programación como colofón a <strong>la</strong> presentación<strong>de</strong> <strong>la</strong> abstracción funcional. El segundocuatrimestre <strong>de</strong> Introducción a <strong>la</strong>Programación se <strong>de</strong>dica a <strong>la</strong> metodologíabasada en <strong>de</strong>scomposición conducida por losdatos. Podríamos pues <strong>de</strong>cir que en estaasignatura se seguiría un enfoque “basado enobjetos” (object-based): programación conobjetos (entida<strong>de</strong>s o datos) como bloquesprincipales <strong>de</strong> construcción, pero sin herencia.En <strong>de</strong>finitiva, los temas <strong>de</strong>l 1 al 7 quedaríanrecogidos en esta asignatura.ƒ Tomando como punto <strong>de</strong> partida losconocimientos adquiridos en <strong>la</strong> anteriorasignatura, <strong>la</strong> asignatura ProgramaciónOrientada a Objetos se <strong>de</strong>dicaría aprofundizar en <strong>la</strong> OO a lo <strong>la</strong>rgo <strong>de</strong> los temas 8al 12. La <strong>de</strong>scomposición funcional se seguirápresentando como técnica candidata a utilizaren el diseño <strong>de</strong>l comportamiento <strong>de</strong> losobjetos <strong>de</strong> una c<strong>la</strong>se.La tab<strong>la</strong> 2 recoge <strong>la</strong> estimación <strong>de</strong> <strong>la</strong>asignación <strong>de</strong> tiempo (medida en horas) para cadauno <strong>de</strong> los temas <strong>de</strong>l programa propuesto.Por lo que respecta a <strong>la</strong>s asignaturasLaboratorio <strong>de</strong> Programación I y Laboratorio <strong>de</strong>Programación II pue<strong>de</strong>n emplearse para <strong>la</strong>realización <strong>de</strong> prácticas en <strong>la</strong>s que los alumnosutilicen los conocimientos adquiridos enIntroducción a <strong>la</strong> Programación y ProgramaciónOrientada a Objetos.4. La elección <strong>de</strong>l lenguaje <strong>de</strong>programaciónDentro <strong>de</strong>l p<strong>la</strong>nteamiento general <strong>de</strong> <strong>la</strong> propuestaque aquí se realiza queda una cuestión más queabordar: el/los lenguajes <strong>de</strong> programación autilizar.Hay que indicar que consi<strong>de</strong>ramosconveniente presentar los diferentes conceptos <strong>de</strong><strong>la</strong> forma más <strong>de</strong>sligada posible <strong>de</strong> un lenguaje <strong>de</strong>programación específico. Pero, a <strong>la</strong> vez, <strong>la</strong>ejemplificación con un lenguaje <strong>de</strong> programaciónconcreto resulta interesante <strong>de</strong> cara a que losalumnos puedan más fácilmente poner en prácticasus conocimientos, ya sea en su propia casa o enel <strong>la</strong>boratorio (bien sea en horas reg<strong>la</strong>das <strong>de</strong> <strong>la</strong>sasignaturas <strong>de</strong> <strong>la</strong>boratorio que sirvan <strong>de</strong>complemento o en horas libres).A <strong>la</strong> hora <strong>de</strong> elegir lenguaje, <strong>de</strong>bemos tener encuenta <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> cada parte <strong>de</strong>l grueso <strong>de</strong>materia. Para los siete primeros temas necesitamos


Introducción a <strong>la</strong> ProgramaciónTeoría Práctica Total1. Introducción a <strong>la</strong>s computadoras y a <strong>la</strong> programación 3 − 32. Instrucciones y tipos elementales 5 3 83. Estructuras <strong>de</strong> control 10 6 164. Abstracción funcional 12 6 185. Introducción a <strong>la</strong> recursividad 4 3 76. Abstracción <strong>de</strong> datos: una introducción a los TADs 12 7 197. Colecciones 14 5 19Programación Orientada a Objetos8. El camino hacia <strong>la</strong> orientación a objetos 2 − 29. Más sobre c<strong>la</strong>ses y objetos 6 2 810. Herencia 8 4 1211. Polimorfismo y vincu<strong>la</strong>ción dinámica 5 2 712. Introducción al diseño orientado a objetos:aplicación <strong>de</strong> conceptos9 7 16Tab<strong>la</strong> 2. Asignación temporal (en horas) para los temas.un lenguaje que soporte <strong>la</strong> abstracción funcional y<strong>la</strong> <strong>de</strong> datos. Para los cinco temas restantesnecesitamos un lenguaje que soporte <strong>la</strong>orientación a objetos.Podríamos optar por utilizar dos o máslenguajes. Sin embargo, hemos <strong>de</strong>cidido utilizarun único lenguaje con el fin <strong>de</strong> evitar cambios <strong>de</strong>sintaxis <strong>de</strong>ntro <strong>de</strong>l bloque <strong>de</strong> materia.Actualmente en el primer curso <strong>de</strong> programaciónen <strong>la</strong> Facultad <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> UniversidadComplutense <strong>de</strong> Madrid se emplea Pascal. Ensegundo curso, en los últimos años se ha intentadounificar el lenguaje tanto para <strong>la</strong> asignaturaProgramación Orientada a Objetos como paraLaboratorio <strong>de</strong> Programación II, siendo C++ ellenguaje utilizado. Los profesores <strong>de</strong> segundocurso somos conscientes <strong>de</strong> los problemasiniciales que tienen no pocos alumnos <strong>de</strong> segundocurso al cambiar <strong>de</strong> sintaxis.En esta propuesta hemos elegido el lenguajemultiparadigma C++. Somos conscientes <strong>de</strong> queC++ es un lenguaje muy amplio y permisivo. Anteesta situación, estamos <strong>de</strong> cuerdo con lo que seindica en [1]:“... many of the <strong>la</strong>nguages used for objectorientedprogramming in industry −particu<strong>la</strong>rlyC++, but to a certain extent Javaas well− involve significantly more <strong>de</strong>tailcomplexity than c<strong>la</strong>ssical <strong>la</strong>nguages.Unless instructors take special care to introducethe material in a way that limitsthis complexity, such <strong>de</strong>tails can easilyoverwhelm introductory stu<strong>de</strong>nts.”Conscientes <strong>de</strong> su amplitud, hay que indicarque no preten<strong>de</strong>mos en absoluto presentar ellenguaje en su totalidad. Para los cinco primerostemas utilizaremos un subconjunto <strong>de</strong> <strong>la</strong> parteprocedimental <strong>de</strong> C++. Esta propuesta va en <strong>la</strong>línea <strong>de</strong> [9]. Hay que <strong>de</strong>cir que, a este respecto,nos sentimos totalmente respaldados por los librosseleccionados como bibliografía básica. Estoslibros son [5] y [16] para los siete primeros temasy [6] para los cinco restantes.Por lo que respecta a <strong>la</strong> permisividad, que enocasiones conduce a <strong>la</strong> obtención <strong>de</strong> códigoexcesivamente críptico, estamos <strong>de</strong> acuerdo con loque se indica en [5]: <strong>la</strong> solución viene <strong>de</strong> <strong>la</strong> mano<strong>de</strong> un estilo <strong>de</strong> programación directo, disciplinado


Curso 1995-96 Curso 1996-97 Curso 1997-98 Curso 1998-99 Curso 1999-00Pascal 36% 23% 6% 2% 5%Ada 12% 18% 19% 7% 6%C 17% 14% 11% 20% 19%Scheme 2% 4% 4% 1% ---C++ 32% 39% 47% 50% 54%Java --- --- 9% 22% 22%Tab<strong>la</strong> 3. Primer lenguaje <strong>de</strong> programación usado en centros estadouni<strong>de</strong>nses [10] [11] [12] [12] [14].y libre <strong>de</strong> características intrincadas <strong>de</strong>l lenguaje,<strong>de</strong> forma que los alumnos aprendan a utilizar C++para producir código c<strong>la</strong>ro y legible.El lenguaje <strong>de</strong> programación Java se vaabriendo camino como primer lenguaje <strong>de</strong>programación (especialmente en centrosestadouni<strong>de</strong>nses está alcanzando niveles <strong>de</strong> usonada <strong>de</strong>spreciables). No hay más que echar unvistazo a los estudios que <strong>de</strong>s<strong>de</strong> el curso 1995-96son realizados acerca <strong>de</strong> <strong>la</strong> situación en<strong>de</strong>partamentos que ofertan programas oficiales <strong>de</strong>Informática en Estados Unidos [10] [11] [12] [13][14]−programas acreditados por CSAC/CSAB(Computer Science Accreditation Commission ofthe Computing Sciences Accreditation Board). Latab<strong>la</strong> 3 muestra los resultados que, re<strong>la</strong>tivos alprimer lenguaje <strong>de</strong> programación usado, reflejanlos citados estudios. Los resultados aparecen enforma <strong>de</strong> porcentaje <strong>de</strong> <strong>de</strong>partamentosencuestados que utilizan cada uno <strong>de</strong> los lenguajesindicados.Aunque hoy por hoy C++ es el lenguaje <strong>de</strong>programación más utilizado en universida<strong>de</strong>s ycolleges <strong>de</strong> Estados Unidos, vemos que Java queha experimentado en tres años un crecimientoconsi<strong>de</strong>rable 2 .Java es, indudablemente, un lenguaje muyinteresante. Sin embargo no lo consi<strong>de</strong>ramosapropiado en nuestro marco por ciertos motivos.2Una visión más global <strong>de</strong>l panorama actual en re<strong>la</strong>cióncon el primer lenguaje <strong>de</strong> programación se pue<strong>de</strong>obtener a partir <strong>de</strong> los informes Reid (accesibles <strong>de</strong>s<strong>de</strong> <strong>la</strong>página personal <strong>de</strong>l encargado <strong>de</strong> mantenimiento <strong>de</strong> losmismos, Frances L. Van Scoy, http://www.csee.wvu.edu/~vanscoy). Dichos informes recogen <strong>la</strong> situación <strong>de</strong>centros <strong>de</strong> todo el mundo.Por un <strong>la</strong>do, Java no es especialmente a<strong>de</strong>cuadopara presentar una metodología basadaúnicamente en <strong>de</strong>scomposición funcional.Po<strong>de</strong>mos usar Java siguiendo un estilobásicamente procedimental (usando métodosestáticos en una única c<strong>la</strong>se). Pero los programasresultantes en Java serían, a nuestro juicio, unpoco artificiosos. A<strong>de</strong>más Java limita <strong>la</strong>sposibilida<strong>de</strong>s <strong>de</strong>l flujo <strong>de</strong> datos a través <strong>de</strong> <strong>la</strong>interfaz <strong>de</strong> un bloque funcional cuando se trabajaexclusivamente con tipos primitivos (y no conobjetos), que sería <strong>la</strong> situación en <strong>la</strong> que nosencontraríamos en los cinco primeros temas. Porotro <strong>la</strong>do, cuestiones nada triviales como son <strong>la</strong>sexcepciones aparecen <strong>de</strong>s<strong>de</strong> el primer momentore<strong>la</strong>cionadas con <strong>la</strong> entrada <strong>de</strong> datos. Finalmente,están <strong>la</strong>s revisiones que probablemente aún sufranel lenguaje y sus bibliotecas, fruto <strong>de</strong> un lenguajeque aún no ha madurado lo suficiente.El hecho <strong>de</strong> que Java sea un lenguaje recientetambién se acusa en <strong>la</strong> bibliografía. No hemosconseguido encontrar un número significativo <strong>de</strong>libros <strong>de</strong> Java especialmente <strong>de</strong>dicados a unprimer curso <strong>de</strong> programación. Por último, seña<strong>la</strong>run aspecto que nos ha l<strong>la</strong>mado <strong>la</strong> atención en <strong>la</strong>bibliografía <strong>de</strong> Java. Entre los textos que hemosanalizado existe una gran diferencia en <strong>la</strong>presentación <strong>de</strong> un tema que inevitablementeaparece <strong>de</strong>s<strong>de</strong> <strong>la</strong>s primeras c<strong>la</strong>ses y <strong>de</strong> formarecurrente: <strong>la</strong> entrada <strong>de</strong> datos. Entre los librosmanejados nos hemos encontrado con los queutilizan <strong>la</strong>s c<strong>la</strong>ses proporcionadas por Java [2],otros que “recubren” dichas c<strong>la</strong>ses con c<strong>la</strong>sespropias [8] y otros que utilizan interfaces gráficas<strong>de</strong>s<strong>de</strong> el primer momento [4]. Esto hace que <strong>la</strong>resolución <strong>de</strong> un mismo ejemplo según el textoconsi<strong>de</strong>rado tenga aspectos muy diferentes, algo


que consi<strong>de</strong>ramos pue<strong>de</strong> crear confusión enalumnos que (al menos teóricamente) se enfrentanpor primera vez con <strong>la</strong> programación.5. ConclusionesHemos presentado una propuesta <strong>de</strong> contenidospara un bloque <strong>de</strong> materia <strong>de</strong> iniciación a <strong>la</strong>programación que aúna <strong>la</strong> metodologíaprocedimental junto con <strong>la</strong> orientación a objetos.La propuesta se ejemplifica llevándo<strong>la</strong> a un p<strong>la</strong>n<strong>de</strong> estudios concreto, el <strong>de</strong> <strong>la</strong> Ingeniería enInformática <strong>de</strong> <strong>la</strong> Universidad Complutense <strong>de</strong>Madrid.Entre los diferentes aspectos tenidos en cuentacabría <strong>de</strong>stacar, por un <strong>la</strong>do, <strong>la</strong> conveniencia <strong>de</strong><strong>de</strong>sligar (en <strong>la</strong> medida <strong>de</strong> <strong>la</strong>s posibilida<strong>de</strong>s) <strong>la</strong>presentación <strong>de</strong> los conceptos <strong>de</strong> un lenguaje <strong>de</strong>programación concreto, y, por otro, <strong>la</strong>conveniencia <strong>de</strong> que se realice una transición“suave” entre contenidos, intentando que losalumnos vean <strong>la</strong>s “bonda<strong>de</strong>s” <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>smetodologías y cómo se construyen unas sobreotras.Agra<strong>de</strong>cimientos: Este trabajo ha sidofinanciado parcialmente por el proyecto TIC2000-0737-C03-01.Referencias[1] ACM/IEEE-CS Joint Task Force, ComputingCurricu<strong>la</strong> 2001, final draft (diciembre 2001).[2] Arnow, D., Weiss, G., Introducción a <strong>la</strong>programación con Java, Addison-Wesley,2001.[3] Culwin, F., “Objects Imperatives!”, Procs. ofthe SIGCSE Technical Symposium on ComputerScience Education, 1999.[4] Dale, N., Weems, C., Headington, M., Introductionto Java and Software Design, Jonesand Bartlett, 2001.[5] Dale, N., Weems, C., Headington, M., Programmingand Problem Solving with C++, 2 ndEdition, Jones and Bartlett, 2000.[6] Lafore, R., Object-Oriented Programming inC++, SAMS Publishing, 1999.[7] Lewis, J., “Myths about Object-Orientationand its Pedagogy”, Procs. of the SIGCSETechnical Symposium on Computer ScienceEducation, 2000.[8] Liang, Y.D., Introduction to Java, PrenticeHall, 2001.[9] Llopis Pascual, F., Pérez López, E., “C++-OOcomo lenguaje introductorio a <strong>la</strong>programación”, Actas <strong>de</strong> <strong>la</strong>s VII <strong>Jornadas</strong> <strong>de</strong>Enseñanza <strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática,2001.[10] McCauley, R.A., Manaris, B.Z., ComprehensiveReport on the 1999 Survey of DepartmentsOffering CSAC/CSAB-Accredited DegreePrograms, Technical Report CoC/CSTR# 2000-9-1, Department of Computer Science,College of Charleston, octubre 2000.[11] McCauley, R.A., Manaris, B.Z., ComprehensiveReport on the 1995 Survey of DepartmentsOffering CSAC/CSAB-Accredited DegreePrograms, Technical Report TR-96-9-1,Center for Advanced Computer Studies, Universityof SouthWestern Louisiana, octubre1996.[12] McCauley, R.A., Manaris, B.Z., ComprehensiveReport on the 1996 Survey of DepartmentsOffering CSAC/CSAB-AccreditedDegree Programs, Technical Report TR-97-9-1, Center for Advanced Computer Studies,University of SouthWestern Louisiana, octubre1997.[13] McCauley, R.A., Manaris, B.Z., ComprehensiveReport on the 1997 Survey of DepartmentsOffering CSAC/CSAB-AccreditedDegree Programs, Technical Report TR-98-9-1, Center for Advanced Computer Studies,University of SouthWestern Louisiana, octubre1998.[14] McCauley, R.A., Manaris, B.Z., ComprehensiveReport on the 1998 Survey of DepartmentsOffering CSAC/CSAB-Accredited DegreePrograms, Technical Report TR-99-9-1,Center for Advanced Computer Studies, Universityof SouthWestern Louisiana, octubre1999.[15] Marion, W., “CS1: What Should We BeTeaching?”, SIGCSE Bulletin, 31, (4), 1999.[16] Savitch, W., Resolución <strong>de</strong> problemascon C++. El objetivo <strong>de</strong> <strong>la</strong> programación,Prentice Hall, 2000.


Programación en Internet: La enseñanza <strong>de</strong> una nueva filosofía<strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> aplicaciones informáticasSergio Luján-Mora, Jaume Aragonés FerreroDepartamento <strong>de</strong> Lenguajes y Sistemas InformáticosUniversidad <strong>de</strong> AlicanteE-03080 Alicantee-mail: {slujan,jaume}@dlsi.ua.esResumenEn este artículo presentamos los objetivos, contenidosy sistema <strong>de</strong> evaluación <strong>de</strong> Programaciónen Internet, asignatura optativa perteneciente a<strong>la</strong>s carreras <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Alicante. Esta asignatura, <strong>de</strong> reciente creación enel nuevo p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> Informática que seestá imp<strong>la</strong>ntando en Alicante, tiene como objetivoprincipal preparar ingenieros que sean capaces <strong>de</strong>analizar, diseñar e implementar aplicaciones enentornos Internet (Internet, intranet y extranet).Tras el primer año <strong>de</strong> docencia, exponemos losresultados y conclusiones, así como el p<strong>la</strong>nteamientocon el que hemos querido orientar <strong>la</strong> materia.1. IntroducciónLa asignatura Programación en Internet (PI),pertenece al p<strong>la</strong>n <strong>de</strong> estudios 2001 <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones<strong>de</strong> Ingeniería en Informática, IngenieríaTécnica en Informática <strong>de</strong> Sistemas e IngenieríaTécnica en Informática <strong>de</strong> Gestión <strong>de</strong> <strong>la</strong> Universidad<strong>de</strong> Alicante [3]. El nuevo p<strong>la</strong>n <strong>de</strong> estudios2001 comenzó a imp<strong>la</strong>ntarse en el curso 2001-2002 y sustituye al anterior p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong><strong>la</strong>ño 1992.En <strong>la</strong> Universidad <strong>de</strong> Alicante, esta asignatura<strong>la</strong> imparte el Departamento <strong>de</strong> Lenguajes y SistemasInformáticos, adscrito a <strong>la</strong> Escue<strong>la</strong> PolitécnicaSuperior <strong>de</strong> dicha Universidad.Los profesores que hemos impartido estaasignatura durante su primer año <strong>de</strong> vida, hemosadquirido una experiencia en <strong>la</strong> materia gracias altrabajo <strong>de</strong>sarrol<strong>la</strong>do en diversos proyectos <strong>de</strong>programación <strong>de</strong> aplicaciones en entornos Internet/intraneten el Laboratorio Multimedia (mm<strong>la</strong>b)<strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alicante y en <strong>la</strong> empresaprivada. En esta asignatura hemos intentadotransmitir <strong>la</strong>s habilida<strong>de</strong>s y conocimientos necesariospara po<strong>de</strong>r llevar a cabo satisfactoriamente<strong>de</strong>sarrollos informáticos en estos entornos. Hemosintentado transmitir no sólo los conocimientos ohabilida<strong>de</strong>s técnicas, sino también el “día a día”en el <strong>de</strong>sarrollo <strong>de</strong> este tipo <strong>de</strong> proyectos.Des<strong>de</strong> nuestro punto <strong>de</strong> vista, uno <strong>de</strong> losobjetivos actuales <strong>de</strong> <strong>la</strong>s carreras <strong>de</strong> Informática<strong>de</strong>bería ser preparar ingenieros informáticos quepuedan respon<strong>de</strong>r a <strong>la</strong> gran <strong>de</strong>manda actual (yfutura) <strong>de</strong> profesionales especializados en temasre<strong>la</strong>cionados con Internet. Como prueba <strong>de</strong> <strong>la</strong> gran<strong>de</strong>manda existente, queremos <strong>de</strong>stacar dos datos.Por un <strong>la</strong>do, según <strong>la</strong> consultora InternationalData Corporation (IDC) [2], en España <strong>la</strong>s empresas<strong>de</strong>l sector tecnológico <strong>de</strong>mandan un grannúmero <strong>de</strong> profesionales que hasta <strong>la</strong> fecha no hasido posible satisfacer: en el año 2000 el déficitanual fue <strong>de</strong> unas 60.000 personas, en el año 2001<strong>de</strong> 71.000 profesionales y se espera que puedarebasar <strong>la</strong>s 100.000 personas en el año 2003.Por otro <strong>la</strong>do, el informe e-España 2001 <strong>de</strong> <strong>la</strong>Fundación Retevisión [1], reve<strong>la</strong> que sólo una <strong>de</strong>cada tres empresas cuenta con su propia páginaweb, si bien rozan el 70% en el caso <strong>de</strong> <strong>la</strong>s <strong>de</strong> altatecnología y alcanza el 55% cuando se trata <strong>de</strong>compañías <strong>de</strong> servicios. Por tanto, existen muchasempresas que aún no tienen presencia en Internety que <strong>de</strong>mandarán profesionales cualificados enun futuro cercano.2. Contexto <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> estudiosEl p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> Informática <strong>de</strong>l año 2001 en<strong>la</strong> Universidad <strong>de</strong> Alicante consta <strong>de</strong> 364,5 créditos,<strong>de</strong> los cuales 72 créditos son optativos. Laasignatura PI es optativa y se imparte en un cua-


trimestre, con una carga docente <strong>de</strong> 6 créditos,repartidos entre 3 <strong>de</strong> teoría y 3 <strong>de</strong> prácticas. Laasignatura está vincu<strong>la</strong>da al área <strong>de</strong> conocimiento<strong>de</strong> Lenguajes y Sistemas Informáticos La <strong>de</strong>scripciónoficial <strong>de</strong> <strong>la</strong> asignatura es (página 35.680 <strong>de</strong>[3]):• Desarrollo y programación <strong>de</strong> sistemas<strong>de</strong> acceso a bases <strong>de</strong> datos <strong>de</strong> Internet.• P<strong>la</strong>nificación, diseño y administración<strong>de</strong> sitios Web.• Migración <strong>de</strong> aplicaciones a entornos enInternet.• Herramientas <strong>de</strong> <strong>de</strong>sarrollo.• Diseño y programación <strong>de</strong> elementosmultimedia en Internet.La asignatura PI no posee prerrequisitos, perosí <strong>la</strong>s siguientes recomendaciones oficiales (no esnecesario haber aprobado <strong>la</strong>s siguientes asignaturasantes <strong>de</strong> cursar PI, pero sí recomendable):• Fundamentos <strong>de</strong> Programación I (1 ercurso).• Fundamentos <strong>de</strong> Programación II (1 ercurso).• Bases <strong>de</strong> Datos I (2º curso).A<strong>de</strong>más <strong>de</strong> <strong>la</strong>s anteriores recomendacionesque figuran en el p<strong>la</strong>n <strong>de</strong> estudios, los profesores<strong>de</strong> PI también recomendamos a los alumnos habercursado antes alguna <strong>de</strong> <strong>la</strong>s siguiente asignaturasobligatorias <strong>de</strong> <strong>la</strong> carrera <strong>de</strong> Ingeniería en Informática(indicamos porqué <strong>la</strong>s consi<strong>de</strong>ramos necesarias):• Programación orientada a objetos (2ºcurso). Porque <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s tecnologíasempleadas en PI (ASP, JavaScript,Java, etc.) se basan en <strong>la</strong> orientacióna objetos.• Bases <strong>de</strong> datos II (3 er curso). Porqueprofundiza en aspectos prácticos <strong>de</strong> <strong>la</strong>sbases <strong>de</strong> datos (seguridad, bases <strong>de</strong> datosdistribuidas, etc.) muy útiles en PI.• Análisis y especificación <strong>de</strong> sistemas <strong>de</strong>información (4º curso). Tanto esta asignaturacomo <strong>la</strong> siguiente, <strong>de</strong>sarrol<strong>la</strong>n <strong>la</strong>shabilida<strong>de</strong>s necesarias para abordar correctamenteel <strong>de</strong>sarrollo <strong>de</strong> proyectosinformáticos.• Ingeniería <strong>de</strong>l Software I (4º curso).3. Asignaturas simi<strong>la</strong>res en otras universida<strong>de</strong>sAnte <strong>la</strong> gran <strong>de</strong>manda <strong>de</strong> profesionales con conocimientossobre <strong>la</strong> programación en Internet,existen multitud <strong>de</strong> universida<strong>de</strong>s españo<strong>la</strong>s queofertan cursos <strong>de</strong> programación en Internet oprogramación <strong>de</strong> páginas web mediante diferentesmodalida<strong>de</strong>s (curso <strong>de</strong> especialista, máster, títulopropio, etc.). Sólo como ejemplo incluimos <strong>la</strong>ssiguientes referencias:• Construcción <strong>de</strong> portales <strong>de</strong> Internet enentorno dinámico con PHP, MySQL,ASP y FrontPage 2000 [7].• Programación en Internet con HTML yJava [10].• Especialista Universitario en Programación<strong>de</strong> Internet e Intranet [9].• Programación Internet en Java [5].Sin embargo, son pocas <strong>la</strong>s universida<strong>de</strong>s queposean en el p<strong>la</strong>n <strong>de</strong> estudios oficial <strong>de</strong> alguna <strong>de</strong><strong>la</strong>s carreras <strong>de</strong> Informática una asignatura quetrate <strong>la</strong> programación en Internet. En concreto,nosotros sólo conocemos tres universida<strong>de</strong>s españo<strong>la</strong>s:Granada, Oviedo y Sevil<strong>la</strong>.En <strong>la</strong> Universidad <strong>de</strong> Granada, elDepartamento <strong>de</strong> Lenguajes y SistemasInformáticos oferta en su programa <strong>de</strong> tercer ciclo<strong>la</strong> asignatura Programación <strong>de</strong> Aplicaciones paraIntranet-Internet [6], <strong>de</strong> 3 créditos. El temario <strong>de</strong>esta asignatura está dividido en cinco puntos. Losdos puntos principales tratan <strong>la</strong> programación <strong>de</strong>lcliente (HTML, XML, CSS, etc.) y <strong>la</strong> programación<strong>de</strong>l servidor (CGI). Sin embargo, no pareceque se utilice alguna <strong>de</strong> <strong>la</strong>s tecnologías actuales <strong>de</strong>programación <strong>de</strong> servidores (ASP, JSP, etc.).En <strong>la</strong> Universidad <strong>de</strong> Oviedo, en el p<strong>la</strong>n <strong>de</strong>estudios <strong>de</strong> Ingeniero Técnico en Informática <strong>de</strong>Sistemas en el campus <strong>de</strong> Gijón, existe <strong>la</strong> asignaturaProgramación Internet/Intranet [8]. La únicainformación que poseemos sobre esta asignaturaes <strong>la</strong> disponible en el BOE número 276 <strong>de</strong> 17 <strong>de</strong>noviembre <strong>de</strong> 2000:• Créditos: 3 teóricos, 3 prácticos.• Descripción: Lenguajes, técnicas y estándares<strong>de</strong> programación. Páginas web


dinámicas: componentes servidor ycliente.• Vincu<strong>la</strong>da al área <strong>de</strong> conocimiento:Ciencias <strong>de</strong> <strong>la</strong> Computación e InteligenciaArtificial.Finalmente, en <strong>la</strong> Universidad <strong>de</strong> Sevil<strong>la</strong>, elDepartamento <strong>de</strong> Lenguajes y Sistemas Informáticosoferta <strong>la</strong> asignatura Programación en Internet[11] como créditos <strong>de</strong> libre configuración para <strong>la</strong>scarreras <strong>de</strong> Informática. Aunque nuestra asignaturay <strong>la</strong> <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Sevil<strong>la</strong> posean elmismo nombre, sus contenidos son muy diferentes.Mientras que nosotros hemos intentado proporcionarleun contenido general, que se p<strong>la</strong>smaen el uso <strong>de</strong> unas tecnologías particu<strong>la</strong>res, <strong>la</strong>asignatura <strong>de</strong> Sevil<strong>la</strong> se centra exclusivamente enel uso <strong>de</strong>l lenguaje Java (applets, servlets,CORBA, JDBC, etc.).4. Descripción <strong>de</strong> <strong>la</strong> asignaturaA continuación se <strong>de</strong>scriben los objetivos, contenidosteóricos y prácticos, sistema <strong>de</strong> evaluación,recursos didácticos y bibliografía <strong>de</strong> <strong>la</strong> asignatura.4.1. ObjetivosDes<strong>de</strong> nuestro punto <strong>de</strong> vista, uno <strong>de</strong> los objetivosactuales <strong>de</strong> <strong>la</strong>s carreras <strong>de</strong> Informática <strong>de</strong>bería serformar ingenieros informáticos que puedan satisfacer<strong>la</strong> gran <strong>de</strong>manda actual (y futura) <strong>de</strong> profesionalesespecializados en temas re<strong>la</strong>cionados conInternet (incluyendo intranet y extranet). El perfil<strong>de</strong> estos profesionales <strong>de</strong>bería incluir conocimientos<strong>de</strong>:• Diseño, insta<strong>la</strong>ción y administración <strong>de</strong>una intranet.• Insta<strong>la</strong>ción, configuración y administración<strong>de</strong> servicios <strong>de</strong> Internet (web, correoelectrónico, etc.).• Insta<strong>la</strong>ción, configuración y administración<strong>de</strong> servicios <strong>de</strong> red (seguridad, cortafuegos,enrutadores, conmutadores,etc.).• Evaluación <strong>de</strong> configuraciones informáticasorientadas a Internet.• Análisis, diseño e implementación <strong>de</strong>aplicaciones web.Los profesores <strong>de</strong> PI hemos p<strong>la</strong>nteado <strong>la</strong>asignatura <strong>de</strong> modo que satisfaga el objetivo <strong>de</strong>“análisis, diseño e implementación <strong>de</strong> aplicacionesweb”. En concreto, los objetivos <strong>de</strong> PI son:• Que el alumno conozca <strong>la</strong>s característicasprincipales <strong>de</strong> <strong>la</strong>s tecnologías empleadasen el <strong>de</strong>sarrollo <strong>de</strong> aplicacionesweb.• Que el alumno conozca <strong>la</strong> estructura yfuncionamiento <strong>de</strong> una aplicación web.• Que el alumno adquiera los conocimientosy habilida<strong>de</strong>s necesarios para programaraplicaciones <strong>de</strong>stinadas a serusadas en entornos Internet.• Que el alumno conozca los recursos específicos(hardware y software) necesariospara poner en producción aplicacionesweb.No sólo se trata <strong>de</strong> apren<strong>de</strong>r habilida<strong>de</strong>s técnicas,sino <strong>de</strong> dotar <strong>de</strong> conocimientos <strong>de</strong> fondo paraformar profesionales flexibles capaces <strong>de</strong> trabajarcon cualquier tecnología con una curva <strong>de</strong> aprendizajemínima. Las tecnologías que se emplean enInternet están en continua evolución, por lo que notiene sentido especializarse en una única tecnología,sino ofrecer una visión más amplia <strong>de</strong>l estadoactual <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> <strong>de</strong>sarrollo en Internet.4.2. Contenidos teóricosLa parte teórica <strong>de</strong> PI se ha estructurado en tresmódulos. En el primer módulo, se presenta a<strong>la</strong>lumno <strong>la</strong> materia que compone el curso y seexplican una serie <strong>de</strong> conceptos y conocimientosnecesarios para trabajar en el entorno Internet, yaque programar en Internet no sólo requiere conocerun lenguaje <strong>de</strong> programación sino tener conocimientos<strong>de</strong> re<strong>de</strong>s <strong>de</strong> computadores, arquitecturacliente/servidor, gráficos, bases <strong>de</strong> datos, etc. Enel segundo módulo, se explican <strong>la</strong>s técnicas <strong>de</strong>programación empleadas en <strong>la</strong> parte cliente <strong>de</strong> <strong>la</strong>saplicaciones web. Finalmente, en el tercer módulose explican algunas <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> programación<strong>de</strong> servidor más aceptadas en el mercadoactual.Las sesiones <strong>de</strong> teoría (2 horas cada una) <strong>de</strong> PIse basan en el siguiente temario:Módulo I: Introducción


1. Introducción a <strong>la</strong> asignatura. (1 sesión)2. Mo<strong>de</strong>lo cliente/servidor: dos y tres capas.(1 sesión)3. Internet, intranet y extranet. (1 sesión)a. Introducción a Internet.b. Historia <strong>de</strong> Internet.c. Servicios básicos (web, correoelectrónico, FTP, IRC, grupos<strong>de</strong> noticias, vi<strong>de</strong>oconferencia,audio y ví<strong>de</strong>o).d. ¿Qué es una aplicación web?e. Estructura <strong>de</strong> un sitio web: estructurafísica y lógica.Módulo II: Programación <strong>de</strong> cliente4. HTML. (2 sesiones)a. Estructura <strong>de</strong> una página, etiquetas,diseño <strong>de</strong> una página,consejos <strong>de</strong> estilo.b. Adquisición y acondicionamiento<strong>de</strong> imágenes digitalespara <strong>la</strong> web.c. Técnicas <strong>de</strong> diseño: teoría <strong>de</strong>lcolor, composición, tratamiento<strong>de</strong> imágenes.5. Programación en el cliente: JavaScript.(2 sesiones)a. Sintaxis <strong>de</strong>l lenguaje.b. Validación <strong>de</strong> formu<strong>la</strong>rios.c. Uso <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> objetos <strong>de</strong>lnavegador, interactividad.Módulo III: Programación <strong>de</strong> servidor6. Programación básica <strong>de</strong> servidor. (1 sesión)a. Common Gateway Interface(CGI).b. Server Si<strong>de</strong> Inclu<strong>de</strong>s (SSI).c. Internet Database Connector(IDC).7. Active Server Pages (ASP). (3 sesiones)a. VBScript: sintaxis <strong>de</strong>l lenguaje,objetos intrínsecos <strong>de</strong>l lenguaje.b. Sintaxis y mo<strong>de</strong>lo <strong>de</strong> objetos,esquema básico <strong>de</strong> funcionamiento.c. Acceso a bases <strong>de</strong> datos a través<strong>de</strong> ODBC.d. Uso <strong>de</strong> variables <strong>de</strong> sesión y<strong>de</strong> aplicación. Global.asa.8. Java Server Pages (JSP). (3 sesiones)a. Introducción al lenguaje Java.b. Sintaxis y mo<strong>de</strong>lo <strong>de</strong> objetos,esquema básico <strong>de</strong> funcionamiento.c. Acceso a bases <strong>de</strong> datos a través<strong>de</strong> JDBC y puente JDBC-ODBC.9. Repaso. (1 sesión)4.3. Contenidos prácticosAl alumno se le p<strong>la</strong>ntea como trabajo final <strong>de</strong> <strong>la</strong>asignatura el <strong>de</strong>sarrollo completo <strong>de</strong> una aplicaciónweb. A<strong>de</strong>más, se p<strong>la</strong>ntea una serie <strong>de</strong> prácticasa <strong>de</strong>sarrol<strong>la</strong>r durante el curso. El objetivo <strong>de</strong>estas prácticas es doble: por un <strong>la</strong>do, su realizacióncoinci<strong>de</strong> con <strong>la</strong>s sesiones <strong>de</strong> teoría en <strong>la</strong>s quese explican los conocimientos y habilida<strong>de</strong>s necesariaspara llevar<strong>la</strong>s a cabo, logrando un enfoquepráctico <strong>de</strong> lo explicado en c<strong>la</strong>se; por otro <strong>la</strong>do,estas prácticas se p<strong>la</strong>ntean como pasos intermediosen <strong>la</strong> realización <strong>de</strong>l trabajo final, lo cualfacilita el correcto <strong>de</strong>sarrollo <strong>de</strong>l mismo. Losalumnos pue<strong>de</strong>n realizar <strong>la</strong>s prácticas individualmenteo por parejas.Las seis prácticas p<strong>la</strong>nteadas a lo <strong>la</strong>rgo <strong>de</strong>lcurso son:1. Configuración <strong>de</strong>l servicio web MicrosoftPersonal Web Server. (1 sesión)2. Creación <strong>de</strong> un conjunto <strong>de</strong> páginasHTML estáticas, mediante el uso exclusivo<strong>de</strong> etiquetas HTML. (3 sesiones)3. Validación <strong>de</strong> formu<strong>la</strong>rios HTML medianteJavaScript. (3 sesiones)4. Desarrollo y puesta en funcionamiento<strong>de</strong> un programa CGI programado en C.(2 sesiones)5. Programación <strong>de</strong> una página sencil<strong>la</strong>con acceso a una base <strong>de</strong> datos con tecnologíaASP. (2 sesiones)6. Programación <strong>de</strong> una página sencil<strong>la</strong>con acceso a una base <strong>de</strong> datos con tecnologíaJSP. (2 sesiones)A estas 13 sesiones, se aña<strong>de</strong>n 2 sesiones más,hasta completar <strong>la</strong>s 30 horas que correspon<strong>de</strong>n alos 3 créditos prácticos. Estas dos sesiones se<strong>de</strong>stinan al seguimiento por parte <strong>de</strong> los profesores<strong>de</strong> los trabajos finales <strong>de</strong> los alumnos. El objetivo


<strong>de</strong> este seguimiento es verificar <strong>la</strong> a<strong>de</strong>cuación <strong>de</strong>ltrabajo realizado a los requisitos p<strong>la</strong>nteados en elenunciado.En este primer año <strong>de</strong> <strong>la</strong> asignatura, comotrabajo final obligatorio se propuso <strong>la</strong> programación<strong>de</strong> un sistema <strong>de</strong> “tienda virtual” dividida entres zonas:• Zona pública: catálogo <strong>de</strong> artículosagrupados por categorías y solicitud <strong>de</strong>más información sobre artículos <strong>de</strong> <strong>la</strong>tienda.• Zona privada <strong>de</strong> los clientes: en el<strong>la</strong> cadacliente pue<strong>de</strong> consultar el estado <strong>de</strong>los pedidos que ha realizado. Para acce<strong>de</strong>ra esta zona el cliente se tiene que validar.• Zona privada <strong>de</strong>l administrador <strong>de</strong> <strong>la</strong>tienda: en el<strong>la</strong> el administrador pue<strong>de</strong>gestionar el sistema <strong>de</strong> información pormedio <strong>de</strong> mantenimientos <strong>de</strong> artículos,pedidos, clientes, etc. Para acce<strong>de</strong>r a estazona el administrador se tiene que validar.A<strong>de</strong>más, para aquellos alumnos que quisieranoptar a una mayor calificación, se propuso unaparte optativa que consistía en añadir los siguientesmódulos:• Zona pública: posibilidad <strong>de</strong> comprar<strong>de</strong>s<strong>de</strong> <strong>la</strong> tienda (“carrito <strong>de</strong> <strong>la</strong> compra”)y buscador <strong>de</strong> artículos en el catálogo.• Zona privada <strong>de</strong>l administrador: gestión<strong>de</strong> categorías y gestión <strong>de</strong> avisos y noveda<strong>de</strong>s<strong>de</strong> <strong>la</strong> tienda.4.4. EvaluaciónEl método <strong>de</strong> evaluación <strong>de</strong> los alumnos abarcatanto los conocimientos teóricos como prácticos.Debido al carácter optativo <strong>de</strong> <strong>la</strong> asignatura y aque <strong>la</strong> mejor forma <strong>de</strong> asimi<strong>la</strong>r los contenidosestudiados es llevándolos a <strong>la</strong> práctica, no influyencon el mismo peso en <strong>la</strong> nota final <strong>de</strong> <strong>la</strong> asignatura<strong>la</strong>s partes <strong>de</strong> teoría y <strong>de</strong> prácticas:• La parte teórica supone un 30% <strong>de</strong> <strong>la</strong>nota final. Se evalúa mediante un test <strong>de</strong>conocimientos.• La parte práctica supone un 70% <strong>de</strong> <strong>la</strong>nota final. Los ejercicios prácticos <strong>de</strong>sarrol<strong>la</strong>dosa lo <strong>la</strong>rgo <strong>de</strong>l curso contaránun 30%, mientras que el trabajo final un40%.A<strong>de</strong>más, los alumnos tienen <strong>la</strong> posibilidad <strong>de</strong>realizar trabajos optativos para aumentar su nota.4.5. Recursos didácticosComo no podía ser menos en una asignatura quese l<strong>la</strong>ma Programación en Internet, <strong>la</strong> página web<strong>de</strong> <strong>la</strong> asignatura es un medio <strong>de</strong> comunicaciónesencial. A través <strong>de</strong> el<strong>la</strong>, los alumnos han tenidoa su disposición el temario completo <strong>de</strong> <strong>la</strong> asignaturaantes <strong>de</strong> matricu<strong>la</strong>rse.La página web se ha empleado durante elcurso como medio <strong>de</strong> publicación <strong>de</strong> todos losmateriales <strong>de</strong> <strong>la</strong> asignatura: transparencias, enunciados<strong>de</strong> prácticas, ejemplos, etc. También haservido para publicar anuncios y avisos sobre <strong>la</strong>asignatura. En el futuro pensamos emplear elCampus Virtual <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alicante, yaque proporciona una serie <strong>de</strong> herramientas (tutorías,foros <strong>de</strong> discusión, alojamiento <strong>de</strong> materiales,etc.) que creemos que pue<strong>de</strong> mejorar <strong>la</strong> calidad <strong>de</strong>nuestra docencia.Para <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría, empleamos transparenciasrealizadas con Microsoft PowerPoint yejemplos <strong>de</strong> código.Por último, para realizar <strong>la</strong>s prácticas, cadaalumno o pareja <strong>de</strong> alumnos dispone <strong>de</strong> un or<strong>de</strong>nadorcon el software necesario para realizar <strong>la</strong>sprácticas.4.6. BibliografíaDebido a lo novedoso <strong>de</strong> <strong>la</strong> materia tratada en estaasignatura y a que no existen asignaturas concontenidos simi<strong>la</strong>res en p<strong>la</strong>nes <strong>de</strong> estudio anterioreso actuales, no disponemos <strong>de</strong> libros docentesre<strong>la</strong>cionados con <strong>la</strong> asignatura. A<strong>de</strong>más, tampocoexisten libros que traten <strong>la</strong> programación <strong>de</strong> aplicacionesweb <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista teórico. Porello, todos los recursos bibliográficos recomendadosson libros técnicos o manuales <strong>de</strong> referencia.A continuación citamos los que consi<strong>de</strong>ramos másinteresantes (en <strong>la</strong> página web [4] <strong>de</strong> <strong>la</strong> asignaturaexiste una re<strong>la</strong>ción más extensa):


• Harvey M. Deitel, Paul J. Deitel, T. R.Nieto. Internet & World Wi<strong>de</strong> Web Howto Program, 1/e. Prentice Hall, 2000.• Jesús Bobadil<strong>la</strong> Sancho. Superutilida<strong>de</strong>spara Webmasters. Osborne McGraw-Hill, 1999.• Jorge Serrano Pérez. Programación conASP 3. Anaya Multimedia, 2001.• Marty Hall. Core Servlets andJavaServer Pages (JSP). Prentice HallPTR/Sun Microsystems Press, 2000.A<strong>de</strong>más, como complemento a los anterioreslibros, los profesores <strong>de</strong> PI hemos redactado lossiguientes libros:• Sergio Luján Mora. Programación enInternet: clientes web. Editorial ClubUniversitario, 2001• Sergio Luján Mora. Programación <strong>de</strong>servidores web con CGI, SSI e IDC.Editorial Club Universitario, 2001.5. ResultadosEl nuevo p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> Informática ha comenzadoa imp<strong>la</strong>ntarse en <strong>la</strong> Universidad <strong>de</strong>Alicante durante el curso 2001-2002. En esteprimer año hemos tenido 218 alumnos matricu<strong>la</strong>dosen PI: 29 <strong>la</strong> han elegido como optativa y 189como libre configuración. El número <strong>de</strong> matricu<strong>la</strong>doscomo libre configuración es tan alto porquese ha ofertado como créditos <strong>de</strong> libre configuracióna los alumnos <strong>de</strong> Informática <strong>de</strong>l p<strong>la</strong>n antiguo(p<strong>la</strong>n <strong>de</strong> 1992).De los 218 alumnos, 152 se apuntaron a prácticaspor parejas, 48 <strong>de</strong> forma individual y 18 nose apuntaron (no han seguido <strong>la</strong> asignatura).Respecto <strong>la</strong>s calificaciones <strong>de</strong> los alumnos, alexamen <strong>de</strong> <strong>la</strong> convocatoria <strong>de</strong> febrero se presentaron180 personas. Los resultados obtenidos fueron71 personas suspensas (39,4%), 47 aprobados(26,1%), 55 notables (30,6%) y 7 sobresalientes(3,9%). De <strong>la</strong>s 71 personas suspendidas, 30 lofueron porque se presentaron al examen sin haberpresentado <strong>la</strong>s prácticas, y por tanto ya sabían queestarían suspendidas (si se aprueba el examen, seconserva <strong>la</strong> nota obtenida para <strong>la</strong> convocatoria <strong>de</strong>septiembre). Si eliminamos ese grupo <strong>de</strong> gente,los porcentajes que se obtienen son: suspensos27,3%, aprobados 31,3%, notables 36,7% y sobresalientes4,7%.En cuanto a <strong>la</strong> opinión <strong>de</strong> los alumnos sobre <strong>la</strong>asignatura, pese a no disponer <strong>de</strong> datos cuantitativos,los comentarios que nos han hecho llegarvaloran muy positivamente los contenidos <strong>de</strong> <strong>la</strong>asignatura. Respecto al método <strong>de</strong> evaluación, <strong>la</strong>mayoría hubiera preferido que no hubiese examen<strong>de</strong> <strong>la</strong> parte teórica.6. ConclusionesHemos expuesto el enfoque con que impartimos <strong>la</strong>asignatura Programación en Internet en <strong>la</strong> Universidad<strong>de</strong> Alicante. La asignatura sólo tiene unaño <strong>de</strong> vida, así que es prematuro proporcionarconclusiones “<strong>de</strong>finitivas”.Hemos comentado los objetivos, los contenidosteóricos y prácticos, <strong>la</strong> bibliografía, así comolos resultados académicos logrados.Los profesores <strong>de</strong> <strong>la</strong> asignatura creemos que <strong>la</strong>mejor forma <strong>de</strong> apren<strong>de</strong>r esta asignatura es através <strong>de</strong> <strong>la</strong> práctica. Esta i<strong>de</strong>a coinci<strong>de</strong> con lo quelos alumnos esperan encontrar cuando se matricu<strong>la</strong>nen PI.Hemos intentado que esta asignatura no seconvierta en el típico cursillo <strong>de</strong> creación <strong>de</strong> páginasweb. Hemos pretendido transmitir una filosofía<strong>de</strong> programación nueva y dotar a los alumnos<strong>de</strong> habilida<strong>de</strong>s y conocimientos <strong>de</strong> fondo parasolucionar problemas en entornos reales. De estemodo, el alumno será capaz <strong>de</strong> trabajar con cualquiertecnología con una curva mínima <strong>de</strong> aprendizaje,ya que dispone <strong>de</strong> una base sólida <strong>de</strong> conocimientos<strong>de</strong>l entorno con el que se ha <strong>de</strong> enfrentar.Una aspecto que creemos que se tiene quepotenciar no sólo en esta asignatura, sino a lo<strong>la</strong>rgo <strong>de</strong> toda <strong>la</strong> carrera <strong>de</strong> Informática, es el <strong>de</strong>sarrollo<strong>de</strong> <strong>la</strong> polivalencia y <strong>la</strong> flexibilidad <strong>de</strong> losalumnos, para que sean capaces <strong>de</strong> adaptarse acontextos tecnológicos en cambio permanente.Evi<strong>de</strong>ntemente, aún queda mucho por <strong>de</strong>sarrol<strong>la</strong>ry validar. Estamos muy interesados en conocerexperiencias simi<strong>la</strong>res <strong>de</strong> otras universida<strong>de</strong>sespaño<strong>la</strong>s, con el fin <strong>de</strong> mejorar nuestro p<strong>la</strong>nteamiento<strong>de</strong> <strong>la</strong> asignatura. Por otro <strong>la</strong>do, el continuocambio <strong>de</strong> <strong>la</strong>s tecnologías empleadas en Internet,nos obligará a modificar año tras año el p<strong>la</strong>nteamiento<strong>de</strong> <strong>la</strong> asignatura.


Referencias[1] Fundación Retevisión. e-España 2001. 2001.Internet: http://www.fundacionretevision.es/publi/publi_ee01.htm[2] IBM. IBM, nuevos empleos y nuevas tecnologías.Nota <strong>de</strong> prensa, enero 2001. Internet:http://www5.ibm.com/es/press/notas/2001/marzo/cumbre.html[3] Resolución <strong>de</strong> 5 <strong>de</strong> septiembre <strong>de</strong> 2001, <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Alicante, re<strong>la</strong>tiva al p<strong>la</strong>n <strong>de</strong>estudios conducente a <strong>la</strong> obtención <strong>de</strong>l título<strong>de</strong> Ingeniero en Informática. BOE número 230(25/09/2001).[4] Universidad <strong>de</strong> Alicante. Programación enInternet. Internet: http://www.dlsi.ua.es/asignaturas/pi/[5] Universidad Carlos III. Programación Interneten Java. Internet: http://www.it.uc3m.es/curs/java97.html[6] Universidad <strong>de</strong> Granada. Programación <strong>de</strong>Aplicaciones para Intranet-Internet. Internet:http://www-lsi.ugr.es/doctorado/jguirao.shtml[7] Universidad <strong>de</strong> Murcia. Construcción <strong>de</strong>portales <strong>de</strong> Internet en entorno dinámico conPHP, MySQL, ASP y FrontPage 2000. Internet:http://www.um.es/siu/congre/php/formacion.html[8] Universidad <strong>de</strong> Oviedo. Programación Internet/Intranet.Internet: http://www.uniovi.es/Vicerrectorados/Estudiantes/Estudios/Carreras/INGENIEROTECNICOENINFORMATICADESISTEMAS_Gijon.html[9] Universidad Politécnica <strong>de</strong> Valencia. EspecialistaUniversitario en Programación <strong>de</strong> Internete Intranet. Internet: http://www.cfp.upv.es[10] Universidad Rey Juan Carlos. Programaciónen Internet con HTML y Java. Internet:http://www.urjc.es/eventos/cursos/ProgramacionInternet.html[11] Universidad <strong>de</strong> Sevil<strong>la</strong>. Programación enInternet. Internet: http://www.lsi.us.es/docencia/asignaturas/pro_inte.html


Utilización <strong>de</strong> prácticas con gráficos 3D animados en <strong>la</strong>enseñanza <strong>de</strong> <strong>la</strong> programación orientada a objetosJavier Macías, José María Gutiérrez, José Ramón Hilera, José Antonio GutiérrezDpto. Ciencias <strong>de</strong> <strong>la</strong> ComputaciónUniversidad <strong>de</strong> Alcalá28871 Alcalá <strong>de</strong> Henarese-mail: {javier.macias, josem.gutierrez, jose.hilera, jantonio.gutierrez}@uah.esResumenSe presenta una experiencia real basada en <strong>la</strong>utilización <strong>de</strong> prácticas con gráficos animados entres dimensiones en <strong>la</strong> enseñanza <strong>de</strong> <strong>la</strong> programaciónorientada a objetos, indicando los resultadosobtenidos tanto en re<strong>la</strong>ción al aprendizaje como en<strong>la</strong> motivación <strong>de</strong> los alumnos.1. IntroducciónEs evi<strong>de</strong>nte <strong>la</strong> importancia que <strong>la</strong> programaciónorientada a objetos ha adquirido tanto en <strong>la</strong>educación universitaria como en <strong>la</strong> propiaindustria [1]. Sin embargo, los conceptos c<strong>la</strong>ve <strong>de</strong><strong>la</strong> programación y el diseño <strong>de</strong> este paradigma,como c<strong>la</strong>se, objeto, atributo, método, encapsu<strong>la</strong>ción,herencia, polimorfismo, etc. [4] no sonfáciles <strong>de</strong> enten<strong>de</strong>r recurriendo únicamente a <strong>la</strong>explicación teórica.Por otro <strong>la</strong>do, los alumnos <strong>de</strong> programaciónsufren problemas <strong>de</strong> falta <strong>de</strong> motivación [7]. Una<strong>de</strong> <strong>la</strong>s razones <strong>de</strong> esta falta <strong>de</strong> motivación esachacable a <strong>la</strong>s propias prácticas <strong>de</strong> programaciónutilizadas en su enseñanza. Éste es el caso <strong>de</strong> <strong>la</strong>sprácticas basadas en ejemplos poco realistas omuy forzados, o prácticas <strong>de</strong>masiado complejas, oaquel<strong>la</strong>s que consisten en una entrada simpleseguida <strong>de</strong> un proceso tras el cual se obtiene untriste número en <strong>la</strong> pantal<strong>la</strong>, o, por citar un últimocaso, prácticas cerradas <strong>de</strong> difícil ampliación porparte <strong>de</strong>l alumno.Es curioso observar que cuando se utilizanlenguajes como Pascal o Modu<strong>la</strong> en <strong>la</strong>s prácticas,los alumnos culpan al lenguaje <strong>de</strong> <strong>de</strong>fectosatribuibles a <strong>la</strong>s propias prácticas, tachándolos <strong>de</strong>obsoletos e incluso <strong>de</strong> inútiles en lo re<strong>la</strong>tivo a suaprendizaje para <strong>la</strong> vida real, lo cual a<strong>de</strong>más creaen ellos un círculo vicioso <strong>de</strong>smotivador.2. ObjetivosDada <strong>la</strong> importancia <strong>de</strong> <strong>la</strong>s prácticas en <strong>la</strong>enseñanza <strong>de</strong> <strong>la</strong> programación en general y <strong>de</strong> <strong>la</strong>programación orientada a objetos en particu<strong>la</strong>r, yconsi<strong>de</strong>rando a su vez <strong>la</strong> necesidad <strong>de</strong> motivar alos alumnos en su aprendizaje, se buscaron unasprácticas que:• Cubrieran una parte significativa <strong>de</strong> losconceptos básicos <strong>de</strong>l diseño y <strong>la</strong>programación orientada a objetos.• Fueran suficientemente cortas <strong>de</strong> forma quepudieran ser realizadas sin requerir gran<strong>de</strong>sesfuerzos por parte <strong>de</strong>l alumno, pero que a suvez resultaran vistosas y estimu<strong>la</strong>ntes.• Fuera posible su ampliación <strong>de</strong> una formafácil, si el alumno así lo <strong>de</strong>seaba.• Se pudieran realizar utilizando el lenguajeconocido por los alumnos (en nuestro casoconcreto, Turbo Pascal ® ) sin recurrir aartificios, aunque <strong>de</strong>berían ser fácilmenteadaptables a cualquier otro lenguaje quesoporte <strong>la</strong> orientación a objetos, como C++ oJava.Una vez analizadas varias posibilida<strong>de</strong>s <strong>de</strong>forma que se cubrieran los objetivos perseguidos,nos <strong>de</strong>cantamos por diseñar prácticas fundamentadasen <strong>la</strong> utilización <strong>de</strong> gráficos en tresdimensiones y, en concreto, <strong>de</strong> figuras poliédricas,tal y como se <strong>de</strong>sarrol<strong>la</strong> a continuación.


zyxFigura 1. Ejes en perspectiva caballera y apariencia <strong>de</strong>l cubo y pirámi<strong>de</strong> solicitados en <strong>la</strong> primera práctica3. Las prácticasLas prácticas construidas al efecto han sido dos. Acontinuación se resumen ambas brevemente, asícomo se indican algunas cuestiones generales quese tuvieron en cuenta en <strong>la</strong>s mismas.La primera práctica se <strong>de</strong>nomina “Figurasgeométricas tridimensionales” [6]. Los alumnos<strong>de</strong>ben crear un cubo y una pirámi<strong>de</strong> cuadrangu<strong>la</strong>r(Figura 1) que giren en <strong>la</strong> pantal<strong>la</strong> sobre el eje z.Antes <strong>de</strong> explicar a los alumnos el diseñorecomendado, se les pidió que pensaran sobrecómo <strong>de</strong>sarrol<strong>la</strong>rían ellos <strong>la</strong> práctica utilizandoprogramación estructurada. En general, venmucha dificultad, lo cual hace que luego lesresulte más impresionante <strong>la</strong> facilidad con <strong>la</strong> quese consigue utilizando un buen diseño yprogramación orientados a objetos.El tiempo asignado, incluyendo tanto el<strong>de</strong>stinado para su explicación como el utilizadopor los alumnos para su <strong>de</strong>sarrollo, fue <strong>de</strong> dossesiones <strong>de</strong> dos horas <strong>de</strong> duración cada una.La segunda práctica se <strong>de</strong>nomina “Sistemaso<strong>la</strong>r <strong>de</strong> figuras geométricas” [8]. Los alumnos<strong>de</strong>ben colocar una figura geométrica en el centro<strong>de</strong> coor<strong>de</strong>nadas y distribuir otras figuras a sualre<strong>de</strong>dor. Seguidamente, <strong>de</strong>ben animar el sistemacreado <strong>de</strong> forma parecida a <strong>la</strong> manera en que giranlos p<strong>la</strong>netas alre<strong>de</strong>dor <strong>de</strong>l Sol (Figura 2).El tiempo total <strong>de</strong>stinado a esta práctica fue <strong>de</strong>una sesión <strong>de</strong> dos horas.Para grupos formados por alumnos con pocabase en programación orientada a objetos o quenunca habían llegado a escribir y probar unprograma orientado a objetos en el or<strong>de</strong>nador, seañadió una práctica previa introductoria, con unaduración <strong>de</strong> una sesión <strong>de</strong> dos horas. La prácticaconsistía en representar varios puntos (objetos) en<strong>la</strong> pantal<strong>la</strong> que el usuario podía mover utilizandopara ello el tec<strong>la</strong>do [5].En esta práctica se explica <strong>de</strong>tal<strong>la</strong>damente ypaso a paso todo el proceso <strong>de</strong> diseño, obteniendouna <strong>de</strong>scomposición modu<strong>la</strong>r consistente en unprograma principal y una unidad don<strong>de</strong> se <strong>de</strong>finendos c<strong>la</strong>ses. La primera <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses representa unacoor<strong>de</strong>nada <strong>de</strong> <strong>la</strong> pantal<strong>la</strong>, y a partir <strong>de</strong> ésta se<strong>de</strong>fine un <strong>de</strong>scendiente (utilizando <strong>la</strong> herencia)que representa un punto <strong>de</strong> <strong>la</strong> pantal<strong>la</strong>.Figura 2. Dos instantáneas <strong>de</strong> un ejemplo <strong>de</strong> <strong>la</strong> segunda práctica


La práctica introductoria permite que losalumnos se familiaricen, entre otros, con losconceptos <strong>de</strong> c<strong>la</strong>se, objeto y encapsu<strong>la</strong>miento,siendo también un primer acercamiento a <strong>la</strong>herencia. A<strong>de</strong>más, al tener que utilizar gráficos,les ayuda a afrontar con más confianza <strong>la</strong>sprácticas 3D posteriores.Es <strong>de</strong> <strong>de</strong>stacar que <strong>la</strong>s prácticas aquípresentadas se <strong>de</strong>stinaron fundamentalmente para<strong>la</strong> enseñanza <strong>de</strong> programación, por lo que seproporcionaron <strong>la</strong>s ecuaciones necesarias pararealizar <strong>la</strong>s proyecciones sobre <strong>la</strong> pantal<strong>la</strong>, asícomo una unidad don<strong>de</strong> se <strong>de</strong>finía <strong>la</strong> c<strong>la</strong>se punto,<strong>de</strong>bido a que esta c<strong>la</strong>se <strong>de</strong>be contener métodos <strong>de</strong>tras<strong>la</strong>ción y rotación, para lo cual es necesariotener ciertos conocimientos <strong>de</strong> geometría computacional[2]. Si los alumnos poseen estosconocimientos, pue<strong>de</strong>n <strong>de</strong>sarrol<strong>la</strong>r partiendo <strong>de</strong>cero toda <strong>la</strong> práctica, pero entonces seríaconveniente <strong>de</strong>stinar algo más <strong>de</strong> tiempo.A<strong>de</strong>más, para que el alumno concentrara suatención en <strong>la</strong> programación orientada a objetos yno se perdiera en <strong>de</strong>talles auxiliares, se le proporcionaron<strong>la</strong>s rutinas para inicializar y finalizar elmodo gráfico, los nombres y sintaxis <strong>de</strong> <strong>la</strong>sfunciones necesarias para dibujar líneas (y puntos,en el caso <strong>de</strong> <strong>la</strong> práctica introductoria) en <strong>la</strong>pantal<strong>la</strong>, así como vértices pre<strong>de</strong>finidos que lefacilitaran <strong>la</strong> <strong>la</strong>bor <strong>de</strong> <strong>de</strong>finir tanto el cubo como <strong>la</strong>pirámi<strong>de</strong>.Figuras.PASPunto3D.PAScSegmentocPunto+ ini(poi, pof: tPos)+ finalizar+ tras(ix, iy, iz: Real)+ rot(gx, gy, gz: Integer)+ mostrar+ ocultar- dibujar3..*cFigura- numAristas: Integer+ ini+ finalizar+ tras(ix, iy, iz: Real)+ rot(gx, gy, gz: Integer)+ mostrar+ ocultar# nuevaArista(po, pf: tPos)11 2+ ini(p: tPos)+ finalizar+ tras(ix, iy, iz: Real)+ rot(gx, gy, gz: Integer)+ x: Real+ y: Real+ z: RealSe <strong>de</strong>fine el tipo tPos, querepresenta <strong>la</strong>s coor<strong>de</strong>nadasiniciales <strong>de</strong> un punto(posición), <strong>de</strong> <strong>la</strong> siguienteforma:tPos =RECORDx, y, z: RealENDcCubo+ ini(<strong>la</strong>do: Real)cPirami<strong>de</strong>+ ini(<strong>la</strong>do: Real)Figura 3. Diagrama simplificado <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> <strong>la</strong> primera práctica


Figura 4. Instantáneas <strong>de</strong> <strong>la</strong> secuencia <strong>de</strong> giro <strong>de</strong> una pirámi<strong>de</strong>Por último, indicar que estas prácticas hansido utilizadas en el <strong>la</strong>boratorio <strong>de</strong> <strong>la</strong> asignatura“Estuctura <strong>de</strong> Datos” <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>ciones I.T. enInformática <strong>de</strong> Sistemas e I.T. en Informática <strong>de</strong>Gestión <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alcalá <strong>de</strong>s<strong>de</strong> elcurso 1999/00. También han sido utilizadas en <strong>la</strong>asignatura "Técnicas <strong>de</strong> ProgramaciónEstructurada", impartida a los Sargentos Alumnos<strong>de</strong>l Cuerpo <strong>de</strong> Especialistas Esca<strong>la</strong> <strong>de</strong>Suboficiales, en su segundo curso <strong>de</strong> EnseñanzaMilitar <strong>de</strong> Formación, en <strong>la</strong> Escue<strong>la</strong> <strong>de</strong> TécnicasAeronáuticas (ESTAER) en <strong>la</strong> Base Aérea <strong>de</strong>Torrejón (Ejército <strong>de</strong>l Aire).3.1. Primera prácticaEl diseño <strong>de</strong> <strong>la</strong> primera práctica se pue<strong>de</strong>acometer fácilmente empleando una estrategia <strong>de</strong>arriba a abajo (top-down), esto es, partiendo <strong>de</strong> uncubo o una pirámi<strong>de</strong> se va <strong>de</strong>scomponiendo elproblema hasta llegar al punto, o empleando unaestrategia <strong>de</strong> abajo a arriba (bottom-up), esto es,partiendo <strong>de</strong>l punto, vamos obteniendo elementosmás complejos hasta llegar a formar un cubo ouna pirámi<strong>de</strong>.Cualquiera que sea <strong>la</strong> estrategia empleada(podría usarse una y luego <strong>la</strong> otra para que losalumnos aprecien ambos enfoques, o incluso unúnico enfoque mixto), es necesario que el alumnoentienda que una figura (poliédrica) no es sino unconjunto <strong>de</strong> segmentos, y que un segmento sepue<strong>de</strong> <strong>de</strong>finir por sus puntos extremos. Nótese quese pue<strong>de</strong> asociar inmediatamente el concepto <strong>de</strong>objeto (y, por tanto, <strong>de</strong> c<strong>la</strong>se) a <strong>la</strong>s figuras,segmentos y puntos.Por otro <strong>la</strong>do, rotar una figura consiste enrotar todos sus segmentos. Y para rotar unsegmento, basta con rotar sus puntos extremos yluego trazar una línea entre ambos. La tras<strong>la</strong>ción<strong>de</strong> una figura se hace <strong>de</strong> forma análoga. Como sepue<strong>de</strong> apreciar, esto no es más que una aplicación<strong>de</strong>l mecanismo <strong>de</strong> abstracción, que es fundamentalen el diseño <strong>de</strong> sistemas complejos, hecho que se<strong>de</strong>be recalcar a los alumnos.También es importante que el alumnoentienda <strong>la</strong> utilidad <strong>de</strong> <strong>de</strong>finir una c<strong>la</strong>se abstractafigura, <strong>de</strong> <strong>la</strong> cual <strong>de</strong>sciendan todos los poliedros.Esto a<strong>de</strong>más le permite ver lo sencillo que resultaañadir nuevas figuras. Para que los alumnospuedan enten<strong>de</strong>r fácilmente el diseño (Figura 3),se utiliza UML [9]. Nótese que en el diseño aparecen,entre otros, los conceptos <strong>de</strong> encapsu<strong>la</strong>ción y<strong>la</strong>s re<strong>la</strong>ciones <strong>de</strong> herencia y composición.En el programa principal, el alumno <strong>de</strong>beinstanciar un objeto cubo y otro pirámi<strong>de</strong>.También <strong>de</strong>finirá una función que reciba comoparámetro una figura y muestre en <strong>la</strong> pantal<strong>la</strong> unaanimación consistente en rotar grado a gradodicha figura hasta completar 360º. Esta función seutilizará para introducir el concepto <strong>de</strong> polimor-ListaObjeto <strong>de</strong><strong>la</strong> c<strong>la</strong>secPirami<strong>de</strong>Objeto <strong>de</strong><strong>la</strong> c<strong>la</strong>secCuboObjeto <strong>de</strong><strong>la</strong> c<strong>la</strong>secCuboObjeto <strong>de</strong><strong>la</strong> c<strong>la</strong>secPirami<strong>de</strong>Figura 5. Ejemplo <strong>de</strong> lista <strong>de</strong> figuras


cSistemaFiguras- lista: tListaFiguras+ ini+ finalizar+ insertar(f: tPtrFigura)+ mostrar+ ocultar+ Animar- rotar(gx, gy, gz: Integer)1 1..*Figuras.PAScFiguraFigura 6. Diagrama simplificado <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> <strong>la</strong> segunda prácticafismo, ya que el alumno podrá comprobar quepue<strong>de</strong> utilizar <strong>la</strong> misma función tanto para animarun cubo como una pirámi<strong>de</strong> (Figura 4).3.2. Segunda prácticaLa práctica segunda está pensada para que e<strong>la</strong>lumno se familiarice con el uso <strong>de</strong> punteros aobjetos, para lo cual se utiliza una lista dinámicaen <strong>la</strong> que se guardarán los objetos que formen el“sistema so<strong>la</strong>r <strong>de</strong> figuras” (Figura 5). El diseño <strong>de</strong>esta práctica es muy sencillo (Figura 6), y en él seutiliza <strong>la</strong> unidad figuras creada en <strong>la</strong> prácticaanterior.Nótese que en esta práctica aparece <strong>de</strong> nuevoel polimorfismo, ya que <strong>la</strong> lista permite almacenartodo tipo <strong>de</strong> figuras.4. Opinión <strong>de</strong> los alumnosEs <strong>de</strong>stacable <strong>la</strong> buena acogida que <strong>la</strong>s prácticasaquí presentadas han venido teniendo estos añospor parte <strong>de</strong> los alumnos. Una anécdota: el primeraño <strong>de</strong> puesta en marcha <strong>de</strong> <strong>la</strong>s mismas, alumnos<strong>de</strong>l curso anterior, con <strong>la</strong> asignatura aprobada,mostraron su interés por <strong>la</strong>s nuevas prácticas. Otracuriosidad: recientemente, se preguntó sobre <strong>la</strong>sprácticas a alumnos que <strong>la</strong>s habían realizado hacedos cursos, resultando grato el comprobar quetodavía <strong>la</strong>s recordaban y <strong>la</strong>s guardaban.Algunas <strong>de</strong> <strong>la</strong>s opiniones expresadas por losalumnos sobre <strong>la</strong>s prácticas han sido <strong>la</strong>ssiguientes:• Muy interesantes y entretenidas.• L<strong>la</strong>mativas: <strong>la</strong>s mostraban a amigos yfamiliares.• Pedagógicas y útiles. Les ayudaron a enten<strong>de</strong>rel diseño orientado a objetos, <strong>la</strong>s ventajas <strong>de</strong>este tipo <strong>de</strong> programación, <strong>la</strong> diferencia entrec<strong>la</strong>se y objeto, <strong>la</strong> herencia y otros conceptosque les han resultado muy útiles enasignaturas posteriores.• Divertidas, ya que se podían ampliarfácilmente para, por ejemplo, construirnuevas figuras.• Fomentadoras <strong>de</strong> <strong>la</strong> imaginación.Por otro <strong>la</strong>do, seña<strong>la</strong>r que resultó ligeramentemás fácil enten<strong>de</strong>r <strong>la</strong>s prácticas a los alumnos quehabían visto dibujo técnico en bachillerato,aunque el resto <strong>de</strong> alumnos indicó que no tuvoespeciales problemas para su realización una vezexplicado, fundamentalmente, el concepto <strong>de</strong>proyección.5. Ampliaciones <strong>de</strong> los alumnosEs significativo <strong>de</strong>stacar, como muestra <strong>de</strong> <strong>la</strong>motivación que estas prácticas produjeron entrelos alumnos, algunas <strong>de</strong> <strong>la</strong>s ampliaciones queéstos realizaron <strong>de</strong> forma voluntaria:• Inclusión <strong>de</strong> otras figuras geométricas,algunas <strong>de</strong> el<strong>la</strong>s compuestas <strong>de</strong> un grannúmero <strong>de</strong> aristas, como <strong>la</strong>s mostradas en <strong>la</strong>Figura 7.• Adición <strong>de</strong> colores a <strong>la</strong>s figuras.• Representación en pantal<strong>la</strong> utilizandoperspectiva isométrica, en vez <strong>de</strong> usar <strong>la</strong>secuaciones dadas para perspectiva caballera.• Interactividad mediante el tec<strong>la</strong>do. Permitíanal usuario <strong>de</strong>finir el eje <strong>de</strong> giro, <strong>de</strong>sp<strong>la</strong>zarfiguras por <strong>la</strong> pantal<strong>la</strong> usando los cursores,


Figura 7. Ejemplos <strong>de</strong> figuras realizadas por los alumnosseleccionar <strong>la</strong>s posiciones iniciales y figurasa mostrar en <strong>la</strong> práctica <strong>de</strong>l sistema so<strong>la</strong>r, etc.• Adición <strong>de</strong> un procedimiento (wait retrace)para evitar el parpa<strong>de</strong>o en <strong>la</strong> visualización <strong>de</strong>gráficos <strong>de</strong>bido al refresco <strong>de</strong> <strong>la</strong> pantal<strong>la</strong>.• Giro simultáneo <strong>de</strong> <strong>la</strong> figura sobre varios ejes.6. ConclusiónLa utilización <strong>de</strong> prácticas con gráficos 3Danimados han resultado satisfactorias en <strong>la</strong>enseñanza <strong>de</strong> <strong>la</strong> programación orientada a objetos,ya que han permitido introducir <strong>de</strong> una formanatural los conceptos más importantes <strong>de</strong> esteparadigma y a su vez han resultado estimu<strong>la</strong>ntespara los alumnos.Es importante resaltar que es un factor crítico<strong>de</strong> éxito el que <strong>la</strong>s prácticas sean animadas, ya queun gráfico estático presentado en <strong>la</strong> pantal<strong>la</strong>resulta mucho menos impresionante. También se<strong>de</strong>be <strong>de</strong>stacar <strong>la</strong> importancia <strong>de</strong> utilizar UML oalgún otro lenguaje gráfico para mo<strong>de</strong><strong>la</strong>r eldiseño, <strong>de</strong> forma que éste sea fácilmenteentendible por los alumnos.7. Futuras líneas <strong>de</strong> trabajoTras el éxito obtenido por estas prácticas entre losalumnos, se ha empezado a trabajar en una nuevapráctica continuadora <strong>de</strong>l espíritu aquí presentadobasada en <strong>la</strong> visión estereoscópica, empleandopara ello estereogramas <strong>de</strong> puntos al azar [3] en <strong>la</strong>pantal<strong>la</strong>. Para experimentar <strong>la</strong> sensación <strong>de</strong>tridimensionalidad sólo es necesario el uso <strong>de</strong>gafas con filtros rojo y ver<strong>de</strong>, <strong>de</strong> fácilconstrucción, por otra parte, por los propiosalumnos.Las pruebas iniciales realizadas hasta ahoraestán resultando alentadoras. Conviene seña<strong>la</strong>rque en su diseño se está utilizando una <strong>de</strong> <strong>la</strong>sc<strong>la</strong>ses <strong>de</strong>finidas en <strong>la</strong>s prácticas <strong>de</strong> figuras, lo quepermitirá, si en un futuro se usaran todas el<strong>la</strong>sconjuntamente, proporcionar a los alumnos unc<strong>la</strong>ro ejemplo <strong>de</strong> reutilización.Referencias[1] ACM/IEEE-CS. Computer Curricu<strong>la</strong> 2001.Final report, 2001.[2] Gise<strong>la</strong> Bielig-Schulz y Christoph Schulz. 3Dgraphics in Pascal. Wiley, 1990.[3] John P. Frisby. Del ojo a <strong>la</strong> visión. Alianza,1987.[4] Bertrand Meyer. Construcción <strong>de</strong> softwareorientado a objetos. Prentice Hall, 1999.[5] Práctica introductoria: http://www.cc.uah.es/jmacias/jenui2002/Introductoria/[6] Primera práctica: http://www.cc.uah.es/jmacias/jenui2002/Primera/[7] Maria Salomó y otros. Iniciativas paramotivar a los alumnos <strong>de</strong> programación. En<strong>la</strong>s actas <strong>de</strong> <strong>la</strong>s VII <strong>Jornadas</strong> <strong>de</strong> Enseñanza<strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática. José Miró(editor). Universitat <strong>de</strong> les Illes Balears, 2001.[8] Segunda práctica: http://www.cc.uah.es/jmacias/jenui2002/Segunda/[9] Unified Mo<strong>de</strong>ling Language:http://www.omg.org/uml/


Aprendizaje práctico <strong>de</strong> patrones <strong>de</strong> diseño en asignaturas<strong>de</strong> programación <strong>de</strong> nivel IIIRaúl Marticorena Sánchez, Carlos López Nozal, César Ignacio GarcíaOsorio, Carlos Pardo Agui<strong>la</strong>rEscue<strong>la</strong> Politécnica Superior, Departamento <strong>de</strong> Ingeniería Civil,Área <strong>de</strong> Lenguajes y Sistemas Informáticos, Universidad <strong>de</strong> Burgos,e-mail: {rmartico, clopezno, cgosorio, cpardo}@ubu.esResumenUno <strong>de</strong> los múltiples objetivos <strong>de</strong> <strong>la</strong>s asignaturas<strong>de</strong> programación <strong>de</strong> nivel III 1 es <strong>la</strong> presentación<strong>de</strong>l concepto patrón <strong>de</strong> diseño y <strong>la</strong> aplicación porparte <strong>de</strong> los alumnos, <strong>de</strong> un conjunto limitado <strong>de</strong>patrones <strong>de</strong> diseño. Debido a <strong>la</strong> amplia cantidad<strong>de</strong> contenidos que se pue<strong>de</strong> añadir a este tipo <strong>de</strong>asignaturas, se <strong>de</strong>be establecer un p<strong>la</strong>n estratégicopara po<strong>de</strong>r presentar a<strong>de</strong>cuadamente los patronesy <strong>la</strong> aplicación práctica <strong>de</strong> los mismos, siemprebajo un intento <strong>de</strong> motivar al alumno y con unpequeño coste <strong>de</strong> aprendizaje. El presente trabajoestablece una propuesta <strong>de</strong> <strong>de</strong>finición <strong>de</strong> un p<strong>la</strong>nestratégico, una aplicación <strong>de</strong> ese p<strong>la</strong>n en unaasignatura <strong>de</strong> programación <strong>de</strong> nivel III, y unaevaluación por parte <strong>de</strong>l alumnado <strong>de</strong> <strong>la</strong>presentación práctica <strong>de</strong> <strong>la</strong> asignatura re<strong>la</strong>cionadacon patrones <strong>de</strong> diseño.1. IntroducciónLa última actualización <strong>de</strong>l Computing Curricu<strong>la</strong>2001 [1], incorpora en muchas <strong>de</strong> sus diferentespropuestas <strong>de</strong> cursos <strong>de</strong> programación <strong>la</strong> unidadSE1.Software Design 2 , <strong>de</strong>ntro <strong>de</strong>l núcleo <strong>de</strong> dichasasignaturas. Esta unidad incorpora el concepto <strong>de</strong>patrones <strong>de</strong> diseño para elevar el nivel <strong>de</strong>abstracción en el p<strong>la</strong>nteamiento <strong>de</strong> soluciones.Siguiendo esta recomendación se pue<strong>de</strong>n asignar1 Se entien<strong>de</strong> por programación <strong>de</strong> nivel III <strong>la</strong> últimaasignatura <strong>de</strong> programación impartida en <strong>la</strong> titu<strong>la</strong>cióntécnica.2 SE significa el área <strong>de</strong> Software Engineering y 1 elnúmero <strong>de</strong> unidad <strong>de</strong>ntro <strong>de</strong>l área.responsabilida<strong>de</strong>s concretas a <strong>la</strong>s asignaturasimplicadas en <strong>la</strong> enseñanza <strong>de</strong> patrones con el fin<strong>de</strong> obtener el objetivo <strong>de</strong> aprendizaje <strong>de</strong>“selección y aplicación <strong>de</strong> los patrones <strong>de</strong> diseñoa<strong>de</strong>cuado en <strong>la</strong> construcción <strong>de</strong> una aplicaciónsoftware” [1].El siguiente paso es como transmitir estenuevo concepto a los alumnos y en quéasignaturas <strong>de</strong>l p<strong>la</strong>n docente. El presente artículojustifica en una primera sección <strong>la</strong> necesidad <strong>de</strong>añadir los patrones en asignaturas <strong>de</strong>programación un nivel III. En su sección posteriorpresenta un mo<strong>de</strong>lo <strong>de</strong> aprendizaje porexperiencia [5] y un caso práctico <strong>de</strong> aplicación<strong>de</strong> este mo<strong>de</strong>lo. Un ciclo <strong>de</strong> aprendizaje porexperiencia comienza con una experiencia que esguiada sistemáticamente para garantizar que serealizan los en<strong>la</strong>ces entre lo observado y <strong>la</strong> teoríao <strong>la</strong> práctica <strong>de</strong>l concepto sobre el que se estaexperimentando.El articulo termina mostrando una evaluación<strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> aprendizaje por parte <strong>de</strong> losalumnos junto con unas conclusiones.2. Patrones <strong>de</strong> diseño en asignaturas <strong>de</strong>programación <strong>de</strong> nivel IIIAunque el tema <strong>de</strong> patrones <strong>de</strong> diseño pue<strong>de</strong> serintroducido en apartados <strong>de</strong>dicados a diseño en <strong>la</strong>sasignaturas <strong>de</strong> ingeniería <strong>de</strong>l software, <strong>la</strong>experiencia nos ha <strong>de</strong>mostrado, que en estasasignaturas, existe una ten<strong>de</strong>ncia general en e<strong>la</strong>lumnado <strong>de</strong> ver este nuevo concepto <strong>de</strong> patróncomo algo teórico difícil <strong>de</strong> aplicar. Este hechoesta originado por <strong>la</strong> falta <strong>de</strong> <strong>la</strong> maduraciónnecesaria para compren<strong>de</strong>r todos los elementosnecesarios en <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> un patrón, enconcreto todo lo re<strong>la</strong>cionado con un mayor


conocimiento <strong>de</strong> un lenguaje <strong>de</strong> programaciónorientado a objetos. Esto dificulta <strong>la</strong> introduccióncompleta <strong>de</strong> un patrón en asignaturas <strong>de</strong> ingeniería<strong>de</strong>l software.En <strong>la</strong> Tab<strong>la</strong> 1 se muestran los diferenteselementos necesarios para <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> unpatrón según los autores [3] y [4]. En <strong>la</strong> tab<strong>la</strong> sehan marcado en gris los elementos <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s<strong>de</strong> <strong>de</strong>scripción <strong>de</strong> patrones re<strong>la</strong>cionados con <strong>la</strong>implementación. Para po<strong>de</strong>r explicar estoselementos es necesario <strong>la</strong> utilización <strong>de</strong> algúnlenguaje <strong>de</strong> programación orientado a objetos. Sejustifica <strong>de</strong> esta forma <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>tal<strong>la</strong>da <strong>de</strong>estos elementos en <strong>la</strong>s asignaturas <strong>de</strong>programación <strong>de</strong> nivel III.P<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> GoFNombre y c<strong>la</strong>sificaciónPropósitoTambién conocidoMotivaciónAplicabilidadEstructuraParticipantesCo<strong>la</strong>boracionesConsecuenciasImplementaciónCódigo <strong>de</strong> ejemploUsos ConocidosPatrones Re<strong>la</strong>cionadosP<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> GrandNombreSinopsisContextoFuerzasSoluciónConsecuenciasImplementaciónJava APIPatrones Re<strong>la</strong>cionadosTab<strong>la</strong> 1 P<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> <strong>de</strong>scripción <strong>de</strong> patrones <strong>de</strong> diseño3. Propuesta <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> aprendizaje <strong>de</strong>patrones en asignaturas <strong>de</strong>Programación Avanzada3.1. Contexto especifico <strong>de</strong> <strong>la</strong> UBU 3Antes <strong>de</strong> matizar algunos aspectos concretos <strong>de</strong>lp<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> Ingeniería Técnica <strong>de</strong>Informática <strong>de</strong> Gestión en <strong>la</strong> Universidad <strong>de</strong>Burgos, comentar que <strong>de</strong>s<strong>de</strong> el prisma puramentetécnico únicamente se preten<strong>de</strong> presentar lospatrones como herramienta aplicable en el<strong>de</strong>sarrollo <strong>de</strong> un sistema informático. En <strong>la</strong>titu<strong>la</strong>ción <strong>de</strong> Ingeniería Técnica no se preten<strong>de</strong>hacer un recorrido completo <strong>de</strong> un catálogo <strong>de</strong>3 UBU Universidad <strong>de</strong> Burgospatrones. Se <strong>de</strong>lega <strong>la</strong> profundización en estosaspectos a <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniería.Asignatura Créditos CuatrimestreAnálisis e Ingeniería 9 + 3 3º y 4º<strong>de</strong>l SoftwareMetodología <strong>de</strong> <strong>la</strong> 3 + 3 4ºProgramaciónProgramaciónAvanzada3 + 3 5ºTab<strong>la</strong> 2 Asignaturas re<strong>la</strong>cionadas con <strong>la</strong> docencia <strong>de</strong>patrones en el p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> <strong>la</strong> UBU.Con el objetivo <strong>de</strong> po<strong>de</strong>r establecer unosprerrequisitos en <strong>la</strong> materialización <strong>de</strong> dichomo<strong>de</strong>lo <strong>de</strong> aprendizaje, se va comentarbrevemente <strong>la</strong>s <strong>de</strong>pen<strong>de</strong>ncias con asignaturasre<strong>la</strong>cionas en el contexto particu<strong>la</strong>r <strong>de</strong>l p<strong>la</strong>n <strong>de</strong>estudios <strong>de</strong> Ingeniería Técnica en Informática <strong>de</strong>Gestión en <strong>la</strong> Universidad <strong>de</strong> Burgos (ver Tab<strong>la</strong>2).Las asignaturas <strong>de</strong> Ingeniería <strong>de</strong>l Software yMetodología <strong>de</strong> Programación, ambas troncales,introducen parale<strong>la</strong>mente en el cuarto cuatrimestrelos conceptos asociados a <strong>la</strong> orientación a objetos.Análisis e Ingeniería <strong>de</strong>l Software <strong>de</strong>s<strong>de</strong> <strong>la</strong> parce<strong>la</strong><strong>de</strong>l análisis y diseño, para ello utiliza el lenguaje<strong>de</strong> mo<strong>de</strong><strong>la</strong>do UML. La asignatura <strong>de</strong> Metodología<strong>de</strong> Programación se centra más en un enfoque <strong>de</strong>implementación. Ambas hacen referencias casi alfinal <strong>de</strong>l cuatrimestre a los patrones sin que losalumnos tengan tiempo para aplicar prácticamentelos patrones <strong>de</strong> diseño.La asignatura <strong>de</strong> Programación Avanzada oprogramación <strong>de</strong> nivel III <strong>de</strong> carácter optativo, seencuadra en una posición temporal perfecta (5ºcuatrimestre) para po<strong>de</strong>r madurar y aplicar lospatrones <strong>de</strong> diseño pero también <strong>de</strong>be satisfacerotros objetivos:• Mapeo <strong>de</strong> mo<strong>de</strong>los <strong>de</strong> objetos. Java versusUML.• Introducción a <strong>la</strong> programación orientada aeventos.• Persistencia en Orientación a Objetos.• Introducción a <strong>la</strong> programación concurrente.Debido a los múltiples objetivos <strong>de</strong> <strong>la</strong>asignatura se necesita establecer un p<strong>la</strong>n previopara que el alumno pueda aplicar patrones <strong>de</strong>s<strong>de</strong>


un prisma <strong>de</strong> motivación y con el menor esfuerzoposible.Es necesario establecer una coordinación entre<strong>la</strong>s asignaturas <strong>de</strong> ingeniería <strong>de</strong>l software y <strong>la</strong>sasignaturas <strong>de</strong> programación para introducircompletamente los conceptos <strong>de</strong> patrones <strong>de</strong>diseño en Ingeniería Técnica Informática. Estacoordinación se basa fundamentalmente en <strong>la</strong>elección <strong>de</strong> un mismo conjunto <strong>de</strong> patrones parapo<strong>de</strong>r hacer referencia a ellos en asignaturas quese impartan posteriormente en el tiempo.A partir <strong>de</strong> este contexto específico se extraen<strong>la</strong>s precondiciones necesarias que <strong>de</strong>ben cumplirlos alumnos para po<strong>de</strong>r aplicar el p<strong>la</strong>n:• Tener c<strong>la</strong>ros los conceptos <strong>de</strong> orientación aobjetos, y haberlos utilizado tanto a nivel <strong>de</strong>análisis y diseño como <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong>vista <strong>de</strong> programación con algún lenguajeconcreto.• Tener una i<strong>de</strong>a intuitiva <strong>de</strong> patrón <strong>de</strong> diseño.3.2. Propuesta <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> aprendizaje <strong>de</strong>patrones <strong>de</strong> diseñoTípicamente <strong>la</strong> responsabilidad <strong>de</strong> <strong>la</strong>programación orientada a eventos propuesta porComputing Curricu<strong>la</strong> 2001 [1] suelen recaer enasignaturas <strong>de</strong> programación <strong>de</strong> nivel III.Generalmente se utilizan interfaces gráficas paraintroducir <strong>la</strong> programación orientada a eventos.Huelga <strong>de</strong>cir que el alumno muestra un alto grado<strong>de</strong> satisfacción y motivación en este tipo <strong>de</strong>prácticas a pesar <strong>de</strong> <strong>la</strong> complejidad <strong>de</strong> <strong>la</strong>s mismas.El p<strong>la</strong>n se basa en po<strong>de</strong>r utilizar esta motivaciónpara preparar inconscientemente al alumno en <strong>la</strong>aplicación práctica <strong>de</strong>l patrón y ver <strong>la</strong>s mejorasque este aporta.A continuación se enuncian <strong>la</strong>s activida<strong>de</strong>s ylos artefactos 4 conseguidos en cada actividad paraestablecer el p<strong>la</strong>n.1. Elección <strong>de</strong>l patrón o patrones que se quiereque el alumno aplique. Se obtiene comoresultado <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> los patrones aaplicar.4 producto obtenido como consecuencia <strong>de</strong> una actividad2. Definición <strong>de</strong> un contexto sencillo don<strong>de</strong>po<strong>de</strong>r aplicar el patrón. Se obtiene elenunciado preeliminar <strong>de</strong> un problema quepueda contener el patrón.3. Proponer un enunciado <strong>de</strong> prácticaenvolviendo el contexto y añadiendo uninterface gráfico al mismo para practicar <strong>la</strong>programación orientada a eventos. Se obtieneel enunciado <strong>de</strong> <strong>la</strong> práctica a realizar por losalumnos.4. Realización <strong>de</strong> <strong>la</strong> práctica propuesta por parte<strong>de</strong> los alumnos, sin que tengan unaexplicación previa <strong>de</strong>l patrón.5. Después <strong>de</strong> <strong>la</strong> explicación teórica <strong>de</strong>l patrónelegido por parte <strong>de</strong>l profesor, refactorizar <strong>la</strong>práctica utilizando el patrón elegidoanalizando <strong>la</strong>s mejoras introducidas por eldiseño.Las activida<strong>de</strong>s 1, 2 y 3 requieren un esfuerzocoordinado <strong>de</strong>l personal docente encargado en <strong>la</strong>p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong> asignatura.El objetivo primordial <strong>de</strong> <strong>la</strong> actividad 4 esproporcionar al alumno <strong>la</strong> posibilidad <strong>de</strong> proponersu solución, sin conocer <strong>la</strong> solución dictada por elpatrón. De esta forma el alumno <strong>de</strong>scubre <strong>la</strong> grancantidad <strong>de</strong> tiempo empleado para solucionar elproblema.La actividad 5 se aprovecha <strong>de</strong>l gran esfuerzorealizado inconscientemente por los alumnos en <strong>la</strong>actividad 4 para conseguir una aplicación <strong>de</strong>lpatrón elegido y que vean los beneficios queaporta <strong>la</strong> aplicación <strong>de</strong>l patrón.3.3. Prece<strong>de</strong>ntesLa e<strong>la</strong>boración <strong>de</strong>l p<strong>la</strong>n nace <strong>de</strong> <strong>la</strong> experienciaobtenida en el curso 2000-2001. En dicho curso,se p<strong>la</strong>nteó en primer lugar una práctica en modotexto y posteriormente llevar<strong>la</strong> a cabo dotándo<strong>la</strong><strong>de</strong> una interface gráfica, pero condicionados a <strong>la</strong>reutilización <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses iniciales.Como resultado <strong>de</strong> <strong>la</strong> misma, se observó queel alumno capta rápidamente <strong>la</strong> necesidad <strong>de</strong>diseñar módulos in<strong>de</strong>pendientes reutilizables y asu vez comprueba <strong>la</strong> utilidad <strong>de</strong> que dichas c<strong>la</strong>sesse puedan incorporar rápidamente en <strong>la</strong>construcción <strong>de</strong> <strong>la</strong> segunda práctica, sinmodificaciones, y acelerando <strong>de</strong> forma inmediatael proceso <strong>de</strong> <strong>de</strong>sarrollo.Pese a este éxito parcial, se observó que losdiseños divergían en varias soluciones, que no


siendo <strong>de</strong>l todo incorrectos, eran complejos eintroducían problemas <strong>de</strong> implementación, nosiempre fáciles <strong>de</strong> explicar por parte <strong>de</strong>l docente.De hecho, <strong>la</strong> comunicación docente alumno seentorpecía <strong>de</strong>bido al volumen <strong>de</strong> distintassoluciones, con <strong>la</strong> complejidad asociada a cadauna y no siempre bien entendida por el propioalumno.Ante esta situación en <strong>la</strong> que el alumno llega a<strong>la</strong> solución, pero no <strong>de</strong> <strong>la</strong> forma más a<strong>de</strong>cuada, sep<strong>la</strong>ntea <strong>la</strong> necesidad <strong>de</strong> imponer algún tipo <strong>de</strong>estrategia que lleve a los alumnos hacia un diseñoa<strong>de</strong>cuado <strong>de</strong> <strong>la</strong> solución.Dicho diseño no <strong>de</strong>be ser impuesto, sinorazonado, a través <strong>de</strong> <strong>la</strong> i<strong>de</strong>a <strong>de</strong> patrones,<strong>de</strong>scribiendo su necesidad y ventajas aportadas, através <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> aprendizaje.3.4. Aplicación <strong>de</strong>l p<strong>la</strong>nEn este apartado se va a <strong>de</strong>scribir <strong>la</strong> aplicación <strong>de</strong>lp<strong>la</strong>n <strong>de</strong> aprendizaje propuesto en <strong>la</strong> asignatura <strong>de</strong>Programación Avanzada durante el primercuatrimestre <strong>de</strong>l curso 2001-2002.Actividad 1: Elección <strong>de</strong>l patrón. Patrónmediador.Actividad 2: Definir un contexto sencillodon<strong>de</strong> po<strong>de</strong>r aplicar el patrón. El patrón mediadorpue<strong>de</strong> aparecer en el diseño <strong>de</strong> sistemas(siguiendo <strong>la</strong> i<strong>de</strong>a <strong>de</strong> construcción <strong>de</strong> sistemas en<strong>la</strong> orientación a objetos ya introducida en <strong>la</strong>asignatura <strong>de</strong> Metodología <strong>de</strong> <strong>la</strong> Programación[2]) cuando existen <strong>de</strong>pen<strong>de</strong>ncias entre losdiferentes módulos <strong>de</strong>l sistema, necesitando tenerreferencias entre<strong>la</strong>zadas entre los objetos. Portanto en <strong>la</strong> actividad 3 hay que establecer undiseño don<strong>de</strong> el acop<strong>la</strong>miento y cohesión <strong>de</strong> losdiferentes módulos sea el correcto, manteniendotodo el conjunto <strong>de</strong> propieda<strong>de</strong>s inherentes a <strong>la</strong>programación orientada a objetos. En nuestrasituación particu<strong>la</strong>r se buscará <strong>de</strong>pen<strong>de</strong>ncias entrediferentes componentes gráficos.Actividad 3: Proponer un enunciado <strong>de</strong> <strong>la</strong>práctica que contenga el patrón elegido. Paraaumentar el grado <strong>de</strong> motivación <strong>de</strong> los alumnosse elige <strong>la</strong> realización <strong>de</strong> un juego don<strong>de</strong> estécontenido el patrón mediador en alguna <strong>de</strong> <strong>la</strong>spantal<strong>la</strong>s <strong>de</strong> interacción con el usuario.Enunciado propuesto: Caza <strong>de</strong>l BarcoLa práctica consiste en realizar un applet javaque permita jugar a <strong>la</strong> caza <strong>de</strong>l barco. El juegoestá pensado para que un jugador sobre un tablerointente hundir un barco que ocupa físicamente unacasil<strong>la</strong> <strong>de</strong>l mismo. La dificultad <strong>de</strong>l juego estribaen que el jugador, no sabe don<strong>de</strong> esta el barco, ylo único que se le muestra es un radio <strong>de</strong> posiblescasil<strong>la</strong>s alre<strong>de</strong>dor <strong>de</strong> su tirada en <strong>la</strong> que el barcopue<strong>de</strong> estar localizado. Para aumentar <strong>la</strong> dificulta<strong>de</strong>l barco se mueve aleatoriamente siguiendo losmovimientos <strong>de</strong>l rey en el juego <strong>de</strong>l ajedrez (en unradio <strong>de</strong> 1 casil<strong>la</strong> pue<strong>de</strong> posicionarse en cualquiera<strong>de</strong> el<strong>la</strong>s). La interfaz <strong>de</strong>be aportar al usuario unaforma sencil<strong>la</strong> e intuitiva <strong>de</strong> jugar <strong>de</strong> tal forma quepueda visualizar:• el tablero con el radio <strong>de</strong> posibles casil<strong>la</strong>s.• el radio <strong>de</strong> acción bajo el cual pue<strong>de</strong> estarsituado el barco• el numero <strong>de</strong> tiradas• opción <strong>de</strong> visualizar el barco (facilidad en eljuego)El juego <strong>de</strong>be ser configurable <strong>de</strong> tal formaque se puedan leer el número <strong>de</strong> casil<strong>la</strong>s <strong>de</strong>ltablero tanto horizontales como verticales y elnumero <strong>de</strong> tiradas. El applet <strong>de</strong>be ser visible <strong>de</strong>s<strong>de</strong>cualquier navegador con soporte <strong>de</strong> Java.Se <strong>de</strong>ja libertad al alumno para emplear todas<strong>la</strong>s posibilida<strong>de</strong>s gráficas <strong>de</strong> AWT para el diseño<strong>de</strong> <strong>la</strong> interfaz. La Figura 1 muestra <strong>la</strong> pantal<strong>la</strong> <strong>de</strong>interacción con el usuario <strong>de</strong>l juego Caza Barco,configurado con 10 casil<strong>la</strong>s por 10 casil<strong>la</strong>s y 10tiradasAc<strong>la</strong>raciones:Para el cálculo <strong>de</strong>l radio nos basamos encolorear todas aquel<strong>la</strong>s casil<strong>la</strong>s que están a igual omenor distancia que el barco respecto a <strong>la</strong> tirada.(distancia Manhattan) Consi<strong>de</strong>rando distanciacomo:• Si <strong>la</strong> posición <strong>de</strong>l barco es (x,y)• Si <strong>la</strong> posición <strong>de</strong> <strong>la</strong> tirada es (x1,y1)• Distancia = abs (x-x1) + abs (y -y1)Se colorean todas aquel<strong>la</strong>s casil<strong>la</strong> (i,j) don<strong>de</strong>:abs(i-x1) + abs(j-y1)


11Arbitro1Barco11TableroPanelControl1 1BarcoFigura 1 Instantánea <strong>de</strong> interacción <strong>de</strong>l juegoEn cada tirada el barco se muevealeatoriamente con los siguientes parámetros• en el eje x con valor +1, 0 y -1 (con igualprobabilidad)• en el eje y con valor +1, 0 y -1 (con igualprobabilidad)Por lo tanto se pue<strong>de</strong> mover a cualquiera <strong>de</strong><strong>la</strong>s ocho casil<strong>la</strong>s circundantes, lo cual aumenta <strong>la</strong>dificultad <strong>de</strong>l juego, incluso se pue<strong>de</strong> dar <strong>la</strong>posibilidad <strong>de</strong> no moverse si los dos<strong>de</strong>sp<strong>la</strong>zamientos son cero (ver Figura 2).BarcoTiradaFigura 2 Posibles movimientos <strong>de</strong>l barcoSin entrar en <strong>de</strong>talle respecto a <strong>la</strong>sespecificaciones técnicas <strong>de</strong> <strong>la</strong> prácticas, por noafectar <strong>de</strong> manera directa al p<strong>la</strong>n estratégico, sepasa a <strong>la</strong> siguiente fase.Actividad 4: Realización por parte <strong>de</strong> losalumnos <strong>de</strong> <strong>la</strong> práctica propuesta. El diagrama <strong>de</strong>c<strong>la</strong>ses <strong>de</strong> <strong>la</strong> Figura 3 se correspon<strong>de</strong> con un mapeoestructural <strong>de</strong> <strong>la</strong> práctica propuesta por un grupo<strong>de</strong> alumnos.Comentar que casi <strong>la</strong> totalidad <strong>de</strong> <strong>la</strong>s prácticasfuncionaba correctamente pero ningún diseño seadaptaba a <strong>la</strong> solución dictada por el patrónmediador a pesar <strong>de</strong> haber introducido este patrónen <strong>la</strong> asignatura <strong>de</strong> Análisis e Ingeniería <strong>de</strong>lSoftware.Cas il <strong>la</strong>1..*ActionListener(from event)actionPerformed()ItemListener(from even t)itemStateChanged()Figura 3 Artefacto actividad 4. Diagrama <strong>de</strong> c<strong>la</strong>sesLos alumnos i<strong>de</strong>ntifican c<strong>la</strong>ramente <strong>la</strong>sabstracciones necesarias para construir softwarepropuesto, pero se encuentran con dificulta<strong>de</strong>s a <strong>la</strong>hora <strong>de</strong> po<strong>de</strong>r representar <strong>la</strong>s <strong>de</strong>pen<strong>de</strong>nciasexistentes entre <strong>la</strong>s abstracciones. El diagrama <strong>de</strong>c<strong>la</strong>ses <strong>de</strong> <strong>la</strong> Figura 3 presenta un mayoracop<strong>la</strong>miento y una menor cohesión en sus c<strong>la</strong>sesque <strong>la</strong> solución propuesta por el patrón.Después <strong>de</strong> evaluar <strong>la</strong>s diferentes prácticas <strong>de</strong>los alumnos, se pudo observar que se encontrabanen una situación idónea para que pudiesen ver losbeneficios <strong>de</strong> <strong>la</strong> solución <strong>de</strong> aplicar el patrónmediator.Actividad 5: Refactorizar <strong>la</strong> práctica aplicandoel patrón elegido. El profesor propone <strong>la</strong>reestructuración <strong>de</strong> <strong>la</strong> práctica aplicando <strong>la</strong>solución <strong>de</strong>l patrón (ver Figura 4). Este patrónpresenta dos tipos <strong>de</strong> c<strong>la</strong>se, <strong>la</strong>s c<strong>la</strong>ses colegas(Tablero, Barco, PanelControl) cuyas instanciaspresentan <strong>de</strong>pen<strong>de</strong>ncias entre el<strong>la</strong>s, y <strong>la</strong> c<strong>la</strong>semediadora (Mediador) cuya instancia coordina <strong>la</strong>s<strong>de</strong>pen<strong>de</strong>ncias entre <strong>la</strong>s instancias <strong>de</strong> <strong>la</strong>s c<strong>la</strong>sescolegas.La c<strong>la</strong>se mediador proporciona como parte <strong>de</strong>su interface métodos (registrarBarco,registarPanelControl, registrarTablero) quepermiten a los objetos <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses colegasregistrarse, para que el objeto mediador puedagobernar todas <strong>la</strong>s <strong>de</strong>pen<strong>de</strong>ncias entre todos loscolegas registrados. De esta forma, cuando algunainstancia <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses colegas sufre algún cambio<strong>de</strong> estado se lo notifica al mediador a través <strong>de</strong> unevento, y éste aplica <strong>la</strong> lógica <strong>de</strong> <strong>de</strong>pen<strong>de</strong>ncias <strong>de</strong>estados.


En este diseño propuesto por el patrón seaprecia que se reduce el acop<strong>la</strong>miento, y aumenta<strong>la</strong> conexión <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses participantes ya que <strong>la</strong>sc<strong>la</strong>ses colegas se liberan <strong>de</strong> <strong>la</strong> responsabilidad <strong>de</strong>contro<strong>la</strong>r su <strong>de</strong>pen<strong>de</strong>ncia con otras objetos <strong>de</strong> <strong>la</strong>sc<strong>la</strong>ses colegas.En el contexto específico <strong>de</strong> <strong>la</strong> práctica <strong>la</strong>s<strong>de</strong>pen<strong>de</strong>ncias existentes son:• Depen<strong>de</strong>ncia entre tablero y el panel <strong>de</strong>control. Si se activa <strong>la</strong> casil<strong>la</strong> <strong>de</strong>verificación visualizar en el panel <strong>de</strong>control el tablero <strong>de</strong>be visualizar <strong>la</strong>última posición en que estuvo el barco.• Depen<strong>de</strong>ncia entre tablero y posición <strong>de</strong>lbarco. Cada vez que el barco haga unmovimiento se lo <strong>de</strong>be comunicar atablero para po<strong>de</strong>r visualizar el radio enel que se pue<strong>de</strong> encontrar el barco.Barco11MediadorTableroPanelControlregistrarBarco()1 1 registrarPanelControl()1 1registrarTablero()1..*Casil<strong>la</strong>ActionListener(from event)actionPerformed()ItemListener(from event)itemStateChanged()Figura 4 Artefacto actividad 5. Diagrama <strong>de</strong> c<strong>la</strong>ses.3.5. Evaluación <strong>de</strong> resultados prácticosPara po<strong>de</strong>r evaluar los resultados obtenidos en <strong>la</strong>aplicación <strong>de</strong> este método se añadieron algunaspreguntas en <strong>la</strong> encuesta <strong>de</strong> evaluación que sepasa a los alumnos al final <strong>de</strong>l curso <strong>de</strong> <strong>la</strong>asignatura.La Tab<strong>la</strong> 3 recoge los resultados <strong>de</strong> <strong>la</strong>encuesta sobre una muestra <strong>de</strong> 32 alumnos. En <strong>la</strong>columna <strong>de</strong> <strong>la</strong> izquierda se muestra el enunciado<strong>de</strong> <strong>la</strong>s preguntas realizadas re<strong>la</strong>tivas a <strong>la</strong>evaluación <strong>de</strong> <strong>la</strong> asignatura que se correspon<strong>de</strong> <strong>de</strong>alguna forma a <strong>la</strong> evaluación <strong>de</strong>l tema presentado.En el resto <strong>de</strong> columnas se indica el resultado <strong>de</strong><strong>la</strong> evaluación por parte <strong>de</strong> los alumnos indicado entanto por ciento. Comentar que en <strong>la</strong> evaluaciónexistían dos tipos <strong>de</strong> preguntas, unas pon<strong>de</strong>rablescon valores <strong>de</strong> 1 a 5 (P1, P2, P3, P4, P5), el otrotipo únicamente poseía <strong>la</strong>s respuestas si, no o sincontestar y un campo textual para indicar <strong>la</strong>srazones (P6).En <strong>la</strong>s preguntas pon<strong>de</strong>rables con un rango <strong>de</strong>valores se aña<strong>de</strong> un campo don<strong>de</strong> se indica elvalor medio obtenido <strong>de</strong> <strong>la</strong> encuesta.Ya sea con los datos estadísticos <strong>de</strong> <strong>la</strong> Tab<strong>la</strong> 3o con su representación gráfica mostrada en <strong>la</strong>Figura 5 se aprecia <strong>la</strong> buena aceptación por parte<strong>de</strong>l alumnado <strong>de</strong> esta i<strong>de</strong>a. Aun siendo conscientes<strong>de</strong> que algún alumno no acepta o simplemente noestá convencido, <strong>de</strong> que sea a<strong>de</strong>cuado introducireste temario y por otro <strong>la</strong>do, tampoco se haconseguido un éxito pleno en conseguir <strong>la</strong>puntuación más alta. Pero como norma general, seobserva que <strong>la</strong> mayoría se mueven en unapuntuación <strong>de</strong> aprobado y notable a <strong>la</strong> utilizacióne inclusión <strong>de</strong> los patrones.Uno <strong>de</strong> los datos más <strong>de</strong>stacables <strong>de</strong> <strong>la</strong>encuesta son los resultados obtenidos en <strong>la</strong>pregunta 6, don<strong>de</strong> se <strong>de</strong>ja al alumno con una granmotivación para que pueda aplicar patrones en sutrabajo fin <strong>de</strong> carrera.100%0%Preguntas1 2 3 4 5 Media90%80%70%60%50%40%30%20%10%3,44 3,343,413,813,72P1 P2 P3 P4 P5Figura 5 Gráfica <strong>de</strong> resultados <strong>de</strong> <strong>la</strong> evaluaciónPuntos5,04,54,03,53,02,52,01,51,0


1 2 3 4 5Enunciado preguntas Media % % % % %P1 Se ha incidido suficientemente en <strong>la</strong> aplicación práctica<strong>de</strong> <strong>la</strong> teoría3,44 3,13 3,13 46,88 40,63 6,25P2 Satisfacción <strong>de</strong>l alumno con <strong>la</strong> parte práctica <strong>de</strong> <strong>la</strong>asignatura3,34 3,13 18,75 25,00 46,88 6,25P3 Grado <strong>de</strong> satisfacción con los ejercicios <strong>de</strong> prácticas 3,41 0,00 18,75 28,13 46,88 6,25P4 Consi<strong>de</strong>ras interesante <strong>la</strong> explicación <strong>de</strong> patrones <strong>de</strong>3,81 3,13 0,00 34,38 37,50 25,00diseñoP5 Ves útil <strong>la</strong> aplicación <strong>de</strong> patrones <strong>de</strong> diseño en prácticas 3,72 3,13 6,25 28,13 40,63 21,88% Si % No % NSP6 Intentarías utilizar patrones en tu trabajo final <strong>de</strong> carreraSI o, NO o no sabes ¿Por qué?4. ConclusionesLos resultados obtenidos en <strong>la</strong>s encuestasrealizadas, confirman <strong>la</strong> consecución <strong>de</strong> losobjetivos p<strong>la</strong>nteados en el p<strong>la</strong>n estratégico. Nosólo por parte <strong>de</strong> los docentes, existe unaseguridad en <strong>la</strong> a<strong>de</strong>cuación <strong>de</strong> los patrones <strong>de</strong>diseño como parte <strong>de</strong>l temario <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong>Programación Avanzada, sino que por parte <strong>de</strong> losalumnos, se logra transmitir y concienciar <strong>de</strong>dicha i<strong>de</strong>a.Los alumnos <strong>de</strong> ingeniería técnica no ven elconcepto <strong>de</strong> patrones <strong>de</strong> diseño como algopuramente teórico difícil <strong>de</strong> aplicar. Elevan elnivel <strong>de</strong> abstracción, facilitando <strong>de</strong> esta forma <strong>la</strong>comunicación con el profesor a <strong>la</strong> hora <strong>de</strong> p<strong>la</strong>nteary resolver nuevos problemas en los que sevislumbra <strong>la</strong> aplicación <strong>de</strong> patrones ya explicados.Se aprecian en <strong>la</strong> práctica los beneficios <strong>de</strong> <strong>la</strong>aplicación <strong>de</strong> patrones tanto a nivel <strong>de</strong> diseñocomo <strong>de</strong> implementación:• Reducción <strong>de</strong>l tiempo <strong>de</strong> <strong>de</strong>sarrollo• Mejora <strong>de</strong> documentación• Aumenta <strong>la</strong> calidad <strong>de</strong>l softwareA<strong>de</strong>más, se ha podido constatar el como llevarestas i<strong>de</strong>as más allá, en <strong>la</strong> realización <strong>de</strong> ProyectosFinal <strong>de</strong> Carrera, facilita <strong>la</strong> comunicación <strong>de</strong>ldocente y alumno. Se maneja un vocabu<strong>la</strong>riocomún y <strong>la</strong>s soluciones p<strong>la</strong>nteadas por uno yrealizadas por otro, son comprendidas y discutidasen un corto periodo <strong>de</strong> tiempo.Experiencias prácticas en esta línea seconfirman en <strong>la</strong> utilización <strong>de</strong> patrones observadorTab<strong>la</strong> 3 Resultados <strong>de</strong> <strong>la</strong> evaluación docente87,50 3,13 9,38y mediador en el caso <strong>de</strong> proyectos con una fuertecarga <strong>de</strong> interfaz gráfica. Igualmente el uso <strong>de</strong>patrones como composite, <strong>de</strong> cara a estructurascomplejas, en <strong>la</strong>s que <strong>la</strong>s composición es c<strong>la</strong>ve opatrones mucho más sencillos como singleton, quegarantiza unas propieda<strong>de</strong>s muy concretas, llevana que los tiempos <strong>de</strong> realización se acorten, <strong>la</strong>documentación sea correcta y que<strong>de</strong> una buenabase para que posteriores proyectos usen dichosdocumentos como base <strong>de</strong> trabajo. De hecho, elque <strong>la</strong>s soluciones adoptadas y el vocabu<strong>la</strong>rioempleado en <strong>la</strong> resolución <strong>de</strong>l proyecto seacomún, anima aquellos alumno que han cursado <strong>la</strong>asignatura <strong>de</strong> Programación Avanzada adocumentarse a partir <strong>de</strong>l trabajo <strong>de</strong> suscompañeros, aumentando <strong>la</strong> reutilización en elproceso <strong>de</strong> producción <strong>de</strong> software.Referencias[1] "Computing Curricu<strong>la</strong> 2001. ComputerScience" The Joint Task Force on ComputingCurricu<strong>la</strong> IEEE Computer Society. Associationfor Computing Machinery. Ed IEEE-CS y ACM.[2] Bertrand Meyer, “Object Oriented SoftwareConstruction”, 2 nd Edition. Ed Prentice Hall.1997.[3] Erich Gamma, R. Helm, R. Johnson, Vlissi<strong>de</strong>sJ. " Design Patterns. Elements of ReusableObject-Oriented Software". Ed Addison Wesley1995.[4] Mark Grand. " Patterns in Java. Volumen 1".Ed. Wiley computer publishing. 1998.[5] Miguel Rebollo. " Aprendizaje activo en e<strong>la</strong>u<strong>la</strong>". Actas JENUI 2001


Robótica e informática industrial


Propuesta metodológica para <strong>la</strong> impartición <strong>de</strong> InformáticaIndustrial en <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniería en Automática yElectrónica en el marco <strong>de</strong>l proyecto EUROPAJuan Vte. Capel<strong>la</strong>, Rafael OrsDept. <strong>de</strong> Informática <strong>de</strong> Sistemas y ComputadoresUniversidad Politécnica <strong>de</strong> Valencia46022 Valenciae-mail: {jcapel<strong>la</strong>, rors}@disca.upv.esResumenLa asignatura Informática Industrial se imparte enel último curso <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> segundo cicloIngeniero en Automática y Electrónica Industrial.Se trata <strong>de</strong> una asignatura a <strong>la</strong> que los alumnosllegan con unos conocimientos importantes <strong>de</strong>arquitectura <strong>de</strong> computadores adquiridos enasignaturas previas <strong>de</strong> primer ciclo. Por ello, losobjetivos <strong>de</strong> dicha asignatura se pue<strong>de</strong>n centrarmás en que los alumnos aprendan a apren<strong>de</strong>r y<strong>de</strong>sarrollen <strong>la</strong>s habilida<strong>de</strong>s que necesitarán en sufuturo profesional.En esta línea, <strong>la</strong> ponencia presenta un nuevoenfoque y metodología que van a ser adoptadospara impartir dicha asignatura, y con los cuales sepreten<strong>de</strong> alcanzar los objetivos anteriores. Paraello se propone el empleo <strong>de</strong> unas metodologíasdocentes más dinámicas y activas que logrena<strong>de</strong>más una mayor motivación <strong>de</strong> los alumnos,con <strong>la</strong> consiguiente mejora <strong>de</strong>l proceso <strong>de</strong>aprendizaje. Todo ello en el contexto <strong>de</strong>l proyectoEUROPA (UNA ENSEÑANZA ORIENTADA ALAPRENDIZAJE), que es una nueva actuación <strong>de</strong> <strong>la</strong>Universidad Politécnica <strong>de</strong> Valencia que persigueilusionar a toda <strong>la</strong> comunidad universitaria en <strong>la</strong>mejora integral <strong>de</strong> <strong>la</strong> enseñanza y el aprendizaje.1. IntroducciónLa asignatura optativa Informática Industrial <strong>de</strong> <strong>la</strong>intensificación en informática <strong>de</strong> <strong>la</strong> titu<strong>la</strong>ciónIngeniero en Automática y Electrónica Industrial,se imparte en el último curso <strong>de</strong> dicha titu<strong>la</strong>ción<strong>de</strong> segundo ciclo, en <strong>la</strong> Escue<strong>la</strong> Técnica Superior<strong>de</strong> Ingenieros Industriales. Los alumnos quecursan esta asignatura poseen unos conocimientosimportantes <strong>de</strong> arquitectura <strong>de</strong> computadores, quehan adquirido en asignaturas <strong>de</strong> primer ciclo.Por ello, los objetivos <strong>de</strong> <strong>la</strong> asignatura se van acentrar más en que los alumnos <strong>de</strong>sarrollen <strong>la</strong>shabilida<strong>de</strong>s que necesitarán en el futuro: saberhacer, apren<strong>de</strong>r a apren<strong>de</strong>r y apren<strong>de</strong>r a ser [1],que en continuar incrementando susconocimientos teóricos. A<strong>de</strong>más esta <strong>de</strong>cisióncontribuye a incrementar su capacidad paraadaptarse a los constantes cambios que seproducen en <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong> informática en <strong>la</strong>industria. Para ello se <strong>de</strong>be potenciar <strong>la</strong> mejora <strong>de</strong><strong>la</strong>s habilida<strong>de</strong>s en el campo <strong>de</strong> <strong>la</strong> comprensión, <strong>la</strong>capacidad <strong>de</strong> búsqueda <strong>de</strong> información,especialmente a través <strong>de</strong> nuevas tecnologías(Internet), así como <strong>la</strong> síntesis y presentaciónpública <strong>de</strong> <strong>la</strong> misma, y mejorar <strong>la</strong>s capacida<strong>de</strong>s <strong>de</strong>trabajo y discusión en grupo.2. Objetivos y temarioCon esta propuesta metodológica se preten<strong>de</strong>conseguir una enseñanza orientada al aprendizaje,para ello se propone enfocar <strong>la</strong> enseñanza a <strong>la</strong>consecución <strong>de</strong>l saber hacer <strong>de</strong>l alumno,consiguiendo a<strong>de</strong>más que <strong>de</strong>sarrolle al máximo sucapacidad <strong>de</strong> autoaprendizaje, así como mejorarlos sistemas <strong>de</strong> evaluación favoreciendo <strong>la</strong>evaluación continua y <strong>la</strong> medida <strong>de</strong>l saber hacerreal <strong>de</strong>l alumno.


La temática en <strong>la</strong> que preten<strong>de</strong>mos sealcancen los objetivos anteriores está formada por<strong>la</strong>s siguientes unida<strong>de</strong>s:1. Representación <strong>de</strong> <strong>la</strong> información.1.1 Técnicas <strong>de</strong> representación convencionales.1.2 Técnicas orientadas a tolerar fallos.1.3 Técnicas orientadas a compactar <strong>la</strong>información.1.4 Técnicas <strong>de</strong> encriptación <strong>de</strong> <strong>la</strong> información.2. La Unidad Central <strong>de</strong> Proceso.2.1 Circuito <strong>de</strong> control.2.2 Técnicas para el aumento <strong>de</strong> prestaciones.2.3 Estudio <strong>de</strong> procesadores comerciales.3. La memoria.3.1 Memoria primaria.3.2 Memoria secundaria.3.3 Jerarquía <strong>de</strong> <strong>la</strong> memoria.4. Sistemas Operativos.4.1 Funciones <strong>de</strong> los S.O.4.1.1 P<strong>la</strong>nificación.4.1.2 Manejo <strong>de</strong> <strong>la</strong> memoria.4.1.3 Manejo <strong>de</strong> <strong>la</strong> E/S.4.2 S.O comerciales.5. Sistemas informáticos industriales.5.1 Sist. <strong>de</strong> diseño propio.5.2 Sist. basados en buses industriales.5.3 PC’s industriales.5.4 PLC’s.6. Sistemas tolerantes a fallos.6.1 Fallos, errores y averías.6.2 Sist. basados en dispositivos físicos.6.3 Sist. basados en <strong>la</strong> programación.En todos los temas se procura dar un enfoque<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> su aplicación industrialmás que realizar una explicación teórica clásica.3. Metodología propuestaPara lograr los objetivos enunciados, centrados en<strong>la</strong> obtención <strong>de</strong> <strong>la</strong>s capacida<strong>de</strong>s y habilida<strong>de</strong>snecesarias para el futuro ejercicio profesional, sehace necesaria <strong>la</strong> aplicación <strong>de</strong> metodologías quegaranticen su consecución. Para ello, en el diseño<strong>de</strong> <strong>la</strong> asignatura se han p<strong>la</strong>nteado activida<strong>de</strong>sorientadas a una mayor participación activa <strong>de</strong><strong>la</strong>lumno, para que éste genere esquemasconceptuales y no los here<strong>de</strong> <strong>de</strong>l profesor,aumentando el espíritu crítico <strong>de</strong> los alumnos quepermitirá <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong>s habilida<strong>de</strong>s <strong>de</strong>scritas [2].Las metodologías que se han seleccionado para suempleo en esta asignatura son:• Método <strong>de</strong>l caso: se trata <strong>de</strong> buscar solucionesa problemas reales en grupo, y discutir<strong>la</strong>s <strong>de</strong>forma pública posteriormente. Con elloconseguimos un primer acercamiento alproceso <strong>de</strong> análisis y propuesta <strong>de</strong> solucionesa un problema real. Su tratamiento en grupoy posterior discusión mejora <strong>la</strong> capacidad <strong>de</strong>trabajo en grupo a <strong>la</strong> vez que fomenta elpensamiento crítico.• Miniproyecto: consiste en que los alumnosresuelvan en grupos reducidos (por ejemplo<strong>de</strong> dos personas), durante todo el curso, unproblema real simplificado que podrán elegir.Cada grupo <strong>de</strong>berá analizar el problema,recopi<strong>la</strong>r <strong>la</strong> información necesaria parasolucionarlo, p<strong>la</strong>ntear una solución concreta,y llevar a cabo una implementación hardwarey/o software <strong>de</strong> <strong>la</strong> misma (prototipado),<strong>de</strong>jando indicadas <strong>la</strong>s líneas para <strong>de</strong>sarrol<strong>la</strong>runa solución <strong>de</strong>finitiva. Asimismo para llevara buen término esta actividad los alumnos<strong>de</strong>berán marcarse los objetivos propios aconseguir, <strong>de</strong>cidir <strong>la</strong> metodología <strong>de</strong> trabajo,es <strong>de</strong>cir <strong>la</strong> forma <strong>de</strong> lograr sus objetivos,realizar una investigación bibliográfica hastael punto que consi<strong>de</strong>ren suficiente, sintetizar<strong>la</strong> información recabada, así como exten<strong>de</strong>rel ámbito <strong>de</strong>l trabajo (opcional). Larealización <strong>de</strong>l miniproyecto en grupo mejora<strong>la</strong>s habilida<strong>de</strong>s <strong>de</strong> división <strong>de</strong>l trabajo ycoordinación [3]. A<strong>de</strong>más, con esta actividadse persigue que el alumno aproveche más unatarea con un enorme potencial educativocomo es <strong>la</strong> tutoría, que actualmente sueleutilizarse en muy baja medida yprincipalmente en vísperas <strong>de</strong> exámenes.• Presentaciones públicas: cada alumno <strong>de</strong>berárecopi<strong>la</strong>r <strong>la</strong> información necesaria sobre untema concreto re<strong>la</strong>cionado con <strong>la</strong> asignaturay presentar<strong>la</strong> posteriormente en público, <strong>de</strong>forma resumida. El uso <strong>de</strong> temasre<strong>la</strong>cionados con tecnologías <strong>de</strong> recienteaparición obliga al alumno a utilizar Internetcomo fuente bibliográfica. Asimismo, <strong>la</strong>restricción <strong>de</strong> exponer <strong>la</strong> informaciónrecopi<strong>la</strong>da en un tiempo limitado obligará a<strong>la</strong>lumno a seleccionar los puntos másimportantes y resumirlos.


• Seminarios: consisten en reuniones <strong>de</strong> trabajointeractivo profesor–alumnos con el objetivo<strong>de</strong> fomentar el apren<strong>de</strong>r a apren<strong>de</strong>r y adquiriruna visión más amplia <strong>de</strong> los conocimientosimplícitos en <strong>la</strong>s materias. Dado el carácterterminal <strong>de</strong> <strong>la</strong> asignatura y <strong>la</strong>s característicasAME2 “Nuevos métodos <strong>de</strong> enseñanza–aprendizaje” <strong>de</strong>l citado proyecto EUROPA.Esencialmente se trata <strong>de</strong> diversificar losmétodos e implementar metodologías activas que,en <strong>de</strong>finitiva, vienen a cambiar sustantivamente <strong>la</strong>actividad <strong>de</strong>l profesor aunque no su <strong>de</strong>dicaciónIntroducción Despertar interés por <strong>la</strong> materia Proveer conocimientos previosDesarrolloEVALUACIÓNCONTINUATeórico Método <strong>de</strong>l caso SeminariosPráctico Miniproyectos tutorizadosSíntesis y consolidación Presentaciones públicasFigura 1. Proceso <strong>de</strong> aprendizaje<strong>de</strong> los futuros ingenieros que <strong>la</strong> cursan, en losseminarios se p<strong>la</strong>ntean problemasinterdisciplinares, que ayudan tanto aconsolidar los conocimientos <strong>de</strong> los alumnoscomo a re<strong>la</strong>cionarlos con otras materias.Como po<strong>de</strong>mos observar en <strong>la</strong> figura 1, sepreten<strong>de</strong> que el proceso <strong>de</strong> aprendizaje tenga unafase <strong>de</strong> introducción, en don<strong>de</strong> se <strong>de</strong>spierte elinterés por <strong>la</strong> materia y se provea <strong>de</strong> losconocimientos previos necesarios junto con unafase <strong>de</strong> <strong>de</strong>sarrollo teórico, llevadas ambas a cabomediante el método <strong>de</strong>l caso y los seminarios, unafase <strong>de</strong> <strong>de</strong>sarrollo práctico mediante losminiproyectos tutorizados, y finalmente una fase<strong>de</strong> síntesis, consolidación y comunicaciónmediante <strong>la</strong>s presentaciones públicas. Estametodología sigue <strong>la</strong>s directrices <strong>de</strong> <strong>la</strong> actuaciónglobal.Esta diversificación pue<strong>de</strong> explicitarse en unadistribución <strong>de</strong>l tiempo invertido en <strong>la</strong> actividaddocente que se repartiría como po<strong>de</strong>mos ver en <strong>la</strong>figura 2 <strong>de</strong> <strong>la</strong> siguiente manera: 20% para <strong>la</strong>aplicación <strong>de</strong>l método <strong>de</strong>l caso, 20% para losseminarios, 40% para <strong>la</strong> realización <strong>de</strong> losminiproyectos y el último 20% para <strong>la</strong>spresentaciones públicas. En suma, respon<strong>de</strong>ría a <strong>la</strong>estructura que propone el informe Delors sobre <strong>la</strong>educación para el siglo XXI. Finalmente, el<strong>de</strong>sarrollo armónico <strong>de</strong> estas cuatro activida<strong>de</strong>s<strong>de</strong>be conducir al cuarto principio enunciado porDelors <strong>de</strong> “apren<strong>de</strong>r a ser” [1].


Método <strong>de</strong>l caso20 % Apren<strong>de</strong>r a saberSeminarios20 % Apren<strong>de</strong>r aapren<strong>de</strong>r Ampliar y re<strong>la</strong>cionarconocimientosMiniproyectos40 % Apren<strong>de</strong>r a saber hacer Apren<strong>de</strong>r a trabajar enequipoPresentaciones públicas20 % Apren<strong>de</strong>r a sintetizar Apren<strong>de</strong>r a comunicarFigura 2. Distribución <strong>de</strong> los créditos <strong>de</strong> <strong>la</strong> asignatura4. EvaluaciónPara evaluar <strong>la</strong> asignatura se adoptará unaevaluación continua multicriterio, es <strong>de</strong>cir, evaluaral alumno teniendo en cuenta todas <strong>la</strong>s activida<strong>de</strong>sque lleva a cabo, <strong>de</strong> forma que éste tenga en todomomento conocimiento <strong>de</strong> sus calificaciones. Estep<strong>la</strong>nteamiento sigue <strong>la</strong>s directrices <strong>de</strong> <strong>la</strong> actuaciónAME3 “Mejora <strong>de</strong> los sistemas <strong>de</strong> evaluación”<strong>de</strong>l proyecto EUROPA.Esta metodología se instrumentará integrando<strong>la</strong>s diferentes técnicas <strong>de</strong> evaluación, <strong>de</strong> formaque complementen su efectividad y permitanvalorar tanto parámetros objetivos <strong>de</strong> losconocimientos adquiridos como <strong>la</strong>s habilida<strong>de</strong>s<strong>de</strong>sarrol<strong>la</strong>das con un mayor rigor y precisión. Lamo<strong>de</strong><strong>la</strong>ción <strong>de</strong> esta estrategia se concreta en tresfases: 1.) Evaluación inicial, 2.) Seguimiento <strong>de</strong>lproceso <strong>de</strong> aprendizaje y <strong>de</strong>l progreso <strong>de</strong>l alumnoy 3.) Verificación <strong>de</strong> <strong>la</strong> consecución <strong>de</strong> losobjetivos propuestos.Todo ello conllevará suministrar al alumno<strong>de</strong>s<strong>de</strong> el principio <strong>de</strong>l curso una información c<strong>la</strong>rasobre los objetivos y contenidos <strong>de</strong> <strong>la</strong> asignatura,metodología docente y criterios <strong>de</strong> evaluación.En <strong>la</strong> aplicación <strong>de</strong> esta estrategia, <strong>la</strong>evaluación continua vendría a satisfacer tresobjetivos, por una parte motivar al alumno arealizar un trabajo continuado y progresivo, porotra obtener un proceso con retroalimentaciónpara que tanto alumnos como profesoresdispongan en todas <strong>la</strong>s fases <strong>de</strong> <strong>la</strong> informaciónpertinente para realizar los ajustes oportunos, yfinalmente se preten<strong>de</strong> potenciar un conocimientomutuo entre alumnos y profesores.Cada una <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s propuestasconlleva una calificación, que el alumno conoceen todo momento, <strong>de</strong> forma que <strong>la</strong> nota final <strong>de</strong> <strong>la</strong>asignatura se obtiene mediante <strong>la</strong> mediapon<strong>de</strong>rada <strong>de</strong> éstas. La aplicación <strong>de</strong>l método <strong>de</strong>lcaso se pue<strong>de</strong> evaluar solicitando a cada grupoque entregue por escrito <strong>la</strong> solución que propone.A partir <strong>de</strong> <strong>la</strong> misma y <strong>de</strong> su <strong>de</strong>fensa, se propondráuna calificación. En los seminarios, el profesorvalorará tanto <strong>la</strong> actitud <strong>de</strong> los alumnos como <strong>la</strong>calidad <strong>de</strong> <strong>la</strong>s intervenciones que realizan,proponiendo <strong>de</strong> esta manera una nota para cadasesión.Para <strong>la</strong> evaluación <strong>de</strong>l miniproyecto se va autilizar el diario <strong>de</strong> <strong>la</strong>boratorio, que consiste en unregistro don<strong>de</strong> el alumno anota todas <strong>la</strong>s tareasque va realizando en el <strong>la</strong>boratorio y don<strong>de</strong> semarcan unos ítems u objetivos, <strong>de</strong> manera quecuando éstos se alcanzan el profesor valora yvalida los mismos mediante una nota y <strong>la</strong>estampación <strong>de</strong> su firma.


La evaluación <strong>de</strong> <strong>la</strong> presentación pública serealizará terminada ésta y teniendo en cuenta <strong>la</strong>opinión <strong>de</strong>l resto <strong>de</strong> los alumnos.Con el sistema <strong>de</strong> evaluación propuesto, sepreten<strong>de</strong> eliminar el dramatismo <strong>de</strong>l examen únicoo casi único mediante <strong>la</strong> incorporación <strong>de</strong> <strong>la</strong>evaluación analítica <strong>de</strong> todas <strong>la</strong>s activida<strong>de</strong>srealizadas por cada alumno, por otra parte ten<strong>de</strong>r a<strong>la</strong> evaluación global <strong>de</strong> cada alumno por medio <strong>de</strong>trabajos individuales interdisciplinares, y porúltimo fomentar el trabajo en equipo <strong>de</strong> losalumnos.mejorar <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> docencia en dichauniversidad, y que está aportando los recursosnecesarios para <strong>la</strong> puesta en marcha <strong>de</strong>experiencias como <strong>la</strong> presente.Las metodologías propuestas han sidoparcialmente probadas en otras asignaturas <strong>de</strong> <strong>la</strong>titu<strong>la</strong>ción Ingeniero Industrial, como por ejemploMicroprocesadores y Computadores [3]. Dado quelos resultados han sido muy positivos, nos hanmotivado para acometer esta experiencia a <strong>la</strong> vezque nos proporcionan <strong>la</strong> base necesaria paraafrontar<strong>la</strong> con éxito.5. ConclusionesSe ha presentado una propuesta que llevamadurándose un tiempo por parte <strong>de</strong> losprofesores <strong>de</strong> <strong>la</strong> asignatura y que es fruto <strong>de</strong> <strong>la</strong>motivación que han propiciado diversasactuaciones <strong>de</strong> <strong>la</strong> Universidad Politécnica <strong>de</strong>Valencia, como experiencias previas en Proyectos<strong>de</strong> Innovación Educativa, cursos <strong>de</strong> mejora <strong>de</strong> <strong>la</strong>cualificación pedagógica <strong>de</strong>l profesorado, etc.El nuevo enfoque y diseño <strong>de</strong> <strong>la</strong> asignaturavan ser llevados a <strong>la</strong> práctica durante el próximocurso académico en el marco <strong>de</strong>l proyectoEUROPA, actuación <strong>de</strong> <strong>la</strong> UPV con el objetivo <strong>de</strong>Referencias[1] Delors, J. y otros. La educación encierra untesoro. Informe a <strong>la</strong> UNESCO <strong>de</strong> <strong>la</strong> ComisiónInternacional sobre <strong>la</strong> educación para el sigloXXI. UNESCO-Santil<strong>la</strong>na Ed., 1996.[2] Vicerrectorado <strong>de</strong> Coordinación Académica yAlumnado. Proyecto EUROPA. Servicio <strong>de</strong>Publicaciones UPV, 2001.[3] Martí, A.; Ors, R. Una experiencia innovadoraen <strong>la</strong> asignatura “Microprocesadores yComputadores”. I <strong>Jornadas</strong> <strong>de</strong> InnovaciónEducativa. Valencia, Septiembre 2001.


Robótica para <strong>la</strong>s Ingenierías en Informática en <strong>la</strong> Universidad<strong>de</strong> AlicanteMiguel Ángel Cazor<strong>la</strong>, Otto Colomina, Juan Manuel SáezDpto. Ciencia <strong>de</strong> <strong>la</strong> Computación e Inteligencia ArtificialUniversidad <strong>de</strong> Alicante03080 Alicantee-mail: {miguel, otto, jmsaez}@dccia.ua.esResumenEn este artículo <strong>de</strong>scribimos una propuesta paralos contenidos, tanto teóricos como prácticos <strong>de</strong> <strong>la</strong>asignatura Robótica en Ingeniería en Informática.Dicha propuesta está implementada actualmentesobre dicha titu<strong>la</strong>ción en <strong>la</strong> Universidad <strong>de</strong>Alicante.1. IntroducciónUno <strong>de</strong> los contenidos cada vez más comunes en<strong>la</strong>s Ingenierías en Informática es <strong>la</strong> robótica. Eneste artículo preten<strong>de</strong>mos hacer una reflexión <strong>de</strong>cuáles serían los contenidos a impartir en dichaasignatura y <strong>de</strong>scribiremos qué contenidos hemosseleccionado en <strong>la</strong> Universidad <strong>de</strong> Alicante.Robótica es una asignatura optativa para <strong>la</strong>s tresIngenierías (una superior y dos técnicas) que seimparten en esta Universidad.2. El enfoque <strong>de</strong> <strong>la</strong> asignaturaEn los primeros años <strong>de</strong> <strong>la</strong> robótica móvil, elenfoque utilizado para calcu<strong>la</strong>r los movimientos<strong>de</strong>l robot se basaba en un conocimiento completo<strong>de</strong>l entorno por el que se movía. Entre <strong>la</strong>scaracterísticas principales po<strong>de</strong>mos <strong>de</strong>stacar queno contemp<strong>la</strong>ban que un objeto se pudiera<strong>de</strong>sp<strong>la</strong>zar ni tenían en cuenta <strong>la</strong> aparición <strong>de</strong>objetos no mo<strong>de</strong><strong>la</strong>dos. En cuanto a <strong>la</strong> arquitecturaempleada para realizar el razonamiento seempleaba un esquema <strong>de</strong> percepción-cogniciónacción.Este esquema primero obtiene <strong>la</strong>smediciones <strong>de</strong>l mundo exterior y con el<strong>la</strong>s seproduce <strong>la</strong> fase <strong>de</strong> cognición o razonamiento queda como resultado <strong>la</strong>s acciones a realizar.Posteriormente se produce un rep<strong>la</strong>nteamiento <strong>de</strong>este tipo <strong>de</strong> arquitectura a un esquema percepciónacción,pasando a un p<strong>la</strong>nteamiento en base aconductas, don<strong>de</strong> cada conducta es un procesoindividual y sencillo. El razonamiento quedaimplícito en <strong>la</strong> propia conducta y el conjunto <strong>de</strong><strong>la</strong>s conductas permiten el <strong>de</strong>sarrollo <strong>de</strong>comportamientos complejos.La robótica es un campo muy amplio que afecta amultitud <strong>de</strong> áreas en Informática. Se pue<strong>de</strong>abordar <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista físico, don<strong>de</strong> seestudiaría <strong>la</strong> cinemática, dinámica y el control <strong>de</strong>robots. Este enfoque, <strong>de</strong>s<strong>de</strong> nuestro punto <strong>de</strong>vista, entra más en el campo <strong>de</strong> <strong>la</strong> automática queen el <strong>de</strong> <strong>la</strong> computación. Dentro <strong>de</strong>l campo <strong>de</strong> <strong>la</strong>computación tendríamos contenidos como <strong>la</strong>p<strong>la</strong>nificación <strong>de</strong> trayectorias y <strong>la</strong> navegación. Esteenfoque más algorítmico queda más cerca <strong>de</strong> <strong>la</strong>Ingeniería en Informática.La evolución <strong>de</strong> <strong>la</strong>s recomendaciones en losdistintos curricu<strong>la</strong> <strong>de</strong> informática ha pasado <strong>de</strong> <strong>la</strong>inclusión <strong>de</strong> Robótica como un ítem <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>Inteligencia Artificial a proponer una asignatura(optativa) con cuerpo propio <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>titu<strong>la</strong>ción, en el último curriculum conjunto <strong>de</strong>ACM y IEEE [2]. En este último curriculum <strong>la</strong>robótica que se propone se orienta hacia <strong>la</strong>robótica móvil.Consultando los programas <strong>de</strong> <strong>la</strong>s asignaturas enotras universida<strong>de</strong>s, po<strong>de</strong>mos observar que noexiste un contenido unificado y que en general, sepue<strong>de</strong>n englobar <strong>de</strong>ntro <strong>de</strong> los dos enfoques antesmencionados: el <strong>de</strong> automática y el <strong>de</strong>computación. Igualmente, hemos observado queen sólo 23 <strong>de</strong> <strong>la</strong>s universida<strong>de</strong>s españo<strong>la</strong>s seimparte este tipo <strong>de</strong> asignatura.4. Propuesta <strong>de</strong> contenidosLa asignatura consta <strong>de</strong> seis créditos, tres teóricosy tres prácticos, repartidos en dos horas <strong>de</strong> teoría ydos <strong>de</strong> prácticas semanales. A partir <strong>de</strong> esta


premisa pasamos a re<strong>la</strong>tar el contenido teórico ypráctico que proponemos.4.1. Temario teóricoEl título <strong>de</strong> los distintos temas teóricos así comosu secuenciación temporal se exponen acontinuación:Nombre <strong>de</strong>l temaIntroducción a <strong>la</strong> robóticaConceptos geométricosMo<strong>de</strong>los geométricos <strong>de</strong>representación y <strong>de</strong> movimientoAlgoritmos <strong>de</strong> p<strong>la</strong>nificación <strong>de</strong>trayectoriasSensoresVisión en robotsNavegación evitando obstáculosNavegación mediante conductasLocalización <strong>de</strong>l robotDuración2 horas2 horas3 horas5 horas4 horas4 horas2 horas4 horas4 horasHemos agrupado los temas por bloques temáticos.El primer bloque está compuesto por los dosprimeros temas. El primero <strong>de</strong> ellos es un repaso<strong>de</strong>l <strong>de</strong>sarrollo histórico <strong>de</strong> <strong>la</strong> robótica, en el que secomienza comentando cuál es el origen <strong>de</strong> <strong>la</strong>pa<strong>la</strong>bra Robot (<strong>de</strong>l checo Robota) y cuál es <strong>la</strong>imagen que tenemos <strong>de</strong> los robots. Tambiénpresentaremos <strong>la</strong> evolución y <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>los robots en <strong>la</strong> industria, así como cuáles pue<strong>de</strong>nser los componentes <strong>de</strong> un sistema robótico. En elsegundo tema introduciremos <strong>la</strong>s herramientasmatemáticas necesarias que utilizaremos mása<strong>de</strong><strong>la</strong>nte en los siguientes temas <strong>de</strong> <strong>la</strong> asignatura,como por ejemplo, cómo po<strong>de</strong>mos conocer ymanejar <strong>la</strong>s coor<strong>de</strong>nadas <strong>de</strong> un objeto con respectoa nosotros si conocemos sus coor<strong>de</strong>nadas y <strong>la</strong>snuestras con respecto a un sistema <strong>de</strong> referencia.El siguiente bloque es <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong>lmovimiento <strong>de</strong> un robot. El problema <strong>de</strong> <strong>la</strong>p<strong>la</strong>nificación se pue<strong>de</strong> enunciar <strong>de</strong> <strong>la</strong> siguientemanera: dado un entorno (dimensiones,obstáculos) por el cual el robot se pue<strong>de</strong> <strong>de</strong>sp<strong>la</strong>zary una posición inicial y final <strong>de</strong>l robot, el objetivo<strong>de</strong> <strong>la</strong> p<strong>la</strong>nificación es encontrar <strong>la</strong> secuencia <strong>de</strong>acciones que hacen que el robot se mueva <strong>de</strong> <strong>la</strong>posición inicial a <strong>la</strong> final sin colisionar con losobstáculos. Estas acciones pue<strong>de</strong>n ser comandos<strong>de</strong> movimiento (distancia, velocidad lineal) y/ogiro básico (giro, velocidad rotacional). Pararealizar esto primero <strong>de</strong>bemos <strong>de</strong>finir <strong>la</strong> forma <strong>de</strong>representar tanto al robot como al entorno por elque se va a mover. Esto será el contenido <strong>de</strong>lprimer tema <strong>de</strong>l bloque (tercero <strong>de</strong> <strong>la</strong> secuencia).En él, veremos <strong>la</strong>s distintas formas <strong>de</strong>representación que se usan actualmente. Tambiénveremos <strong>la</strong>s ecuaciones que gobiernan elmovimiento <strong>de</strong>l robot, para po<strong>de</strong>r saber en todomomento cuál es <strong>la</strong> posición <strong>de</strong>l mismo. Elsiguiente tema <strong>de</strong>l bloque trata sobre los distintosalgoritmos <strong>de</strong> p<strong>la</strong>nificación <strong>de</strong> trayectorias.Empezaremos simplificando el problema ytratando al robot como si no tuviera geometría(robot puntual), y no permitiendo el giro. Con estasimplificación se presentan dos algoritmos, el <strong>de</strong>grafo <strong>de</strong> visibilidad, que busca el camino máscorto entre los vértices <strong>de</strong> los obstáculos, y el <strong>de</strong><strong>de</strong>scomposición <strong>de</strong>l espacio libre, que intentapasar lo más alejado posible <strong>de</strong> los obstáculos. Acontinuación permitiremos que el robot tenga unacierta geometría. Para ello, operaremos sobre losobstáculos para que sean estos los que contemplen<strong>la</strong> geometría <strong>de</strong>l robot, mediante <strong>la</strong> suma <strong>de</strong>Minkowski. Con ello hemos reducido el problema<strong>de</strong> nuevo a <strong>la</strong> p<strong>la</strong>nificación con un robot puntual,pues <strong>la</strong> geometría <strong>de</strong> éste ya se contemp<strong>la</strong> en losobstáculos. La última restricción es <strong>la</strong> <strong>de</strong>l giro <strong>de</strong>lrobot cuya solución es inmediata haciendo uso <strong>de</strong><strong>la</strong> suma <strong>de</strong> Minkowski. Por último, veremos unalgoritmo <strong>de</strong> p<strong>la</strong>nificación distinto, haciendo uso<strong>de</strong> mapas topológicos, don<strong>de</strong> ya no utilizamosposiciones absolutas sino que intentamos <strong>de</strong>tectarciertas características <strong>de</strong>l entorno (aperturas,pasillos, puertas, etc.), obteniendo un grafo quenos re<strong>la</strong>ciona dichas características.En el bloque anterior hemos visto distintosalgoritmos <strong>de</strong> p<strong>la</strong>nificación <strong>de</strong>l movimiento <strong>de</strong>lrobot. La mayoría <strong>de</strong> ellos asumen que <strong>la</strong> posición<strong>de</strong>l robot es conocida en todo momento. Sinembargo, por problemas <strong>de</strong> odometría, <strong>la</strong> posiciónes cada vez más imprecisa conforme avanza elrobot. Por ello es necesario que el robot obtengainformación <strong>de</strong>l mundo exterior. Para ello, hemosseleccionado aquellos sensores que pue<strong>de</strong>n serútiles a <strong>la</strong> robótica, pues existen multitud <strong>de</strong>sensores que pue<strong>de</strong>n ser utilizados para una granvariedad <strong>de</strong> tareas. Dentro <strong>de</strong> este tema veremosdos tipos <strong>de</strong> sensores especiales: el GPS y los


Active beacons. Los dos tienen el mismo objetivo,esto es, obtener <strong>la</strong> posición <strong>de</strong> un objeto. Elprimero proporciona coor<strong>de</strong>nadas re<strong>la</strong>tivas a <strong>la</strong>Tierra y el segundo lo hace con respecto a unentorno más reducido, típicamente una naveindustrial. Veremos, por último, los sensores <strong>de</strong>rango que proporcionan discretizaciones <strong>de</strong>lentorno próximo al robot, <strong>de</strong>volviendo distancias<strong>de</strong> los obstáculos justo enfrente <strong>de</strong>l sensor. Encuanto a los sensores <strong>de</strong> rango, el sónar es el másutilizado en <strong>la</strong> navegación <strong>de</strong> robots <strong>de</strong>bido a subajo coste y a su gran velocidad <strong>de</strong> respuesta. Elsiguiente tema es el <strong>de</strong> visión para robots. Estetipo especial <strong>de</strong> sensor, <strong>la</strong> cámara, permite obtenermejores mediciones <strong>de</strong>l entorno. Por un <strong>la</strong>do,veremos los fundamentos <strong>de</strong> <strong>la</strong> formación <strong>de</strong> <strong>la</strong>imagen: cómo se crea una imagen cuando usamosuna cámara <strong>de</strong> pin-hole y qué es, en <strong>de</strong>finitiva,una imagen. A continuación repasaremos algunos<strong>de</strong> los métodos <strong>de</strong> <strong>de</strong>tección <strong>de</strong> características másbásicos. Estos métodos permitirán obtener ciertascaracterísticas <strong>de</strong> <strong>la</strong> imagen para <strong>de</strong>terminar <strong>la</strong>posición o presencia <strong>de</strong> objetos o puntos <strong>de</strong>lentorno que nos sirvan para alguna tarea concreta<strong>de</strong>l robot. Por último, una aplicación directa <strong>de</strong> <strong>la</strong>visión en robótica es <strong>la</strong> <strong>de</strong>tección <strong>de</strong> <strong>la</strong>profundidad <strong>de</strong> los objetos en <strong>la</strong> imagen, ya seapara tareas <strong>de</strong> navegación evitando obstáculos,como <strong>de</strong> reconocimiento <strong>de</strong> objetos. Para ellohemos seleccionado un algoritmo <strong>de</strong> estéreo paraobtener dicha profundidad. Previamente a <strong>la</strong>obtención <strong>de</strong> <strong>la</strong> profundidad <strong>de</strong>beremos habercalibrado <strong>la</strong> cámara, es <strong>de</strong>cir, haber obtenido losparámetros que permiten re<strong>la</strong>cionar los puntos <strong>de</strong><strong>la</strong> imagen con los <strong>de</strong>l mundo.El último bloque lo <strong>de</strong>dicaremos a <strong>la</strong> navegación<strong>de</strong> robots móviles. Hemos dividido el bloque entres temas. En el primero se comentan dosenfoques para evitar y <strong>de</strong>tectar obstáculos. Elprimero <strong>de</strong> estos enfoques se basa en los métodos<strong>de</strong> campo <strong>de</strong> fuerza. Estos métodos asumen que<strong>la</strong>s lecturas <strong>de</strong> los sónares se pue<strong>de</strong>n interpretarcomo fuerzas repulsivas y el objetivo como unafuerza atractiva. De esta manera, al sumar <strong>la</strong>s dosfuerzas, tendríamos un vector que nos indicaría elcomando a proporcionar al robot. Presentamostres métodos, comenzando por el más intuitivo ysencillo <strong>de</strong> implementar, en el que vamosaumentando <strong>la</strong> complejidad para solucionarciertos problemas inherentes en estos métodos.Cambiando <strong>de</strong> enfoque, pasamos a presentar unmétodo que tiene en cuenta <strong>la</strong>s velocida<strong>de</strong>s (lineary angu<strong>la</strong>r) que lleva el robot y <strong>la</strong>s que es capaz <strong>de</strong>conseguir <strong>de</strong>bido a <strong>la</strong>s restricciones físicas <strong>de</strong>lpropio robot. Este nuevo enfoque, el <strong>de</strong> <strong>la</strong> ventanadinámica, permite alcanzar velocida<strong>de</strong>s muchomayores que <strong>la</strong>s conseguidas con los métodosanteriores.El siguiente tema trata sobre <strong>la</strong>s conductas <strong>de</strong>robots. Aquí veremos los fundamentos <strong>de</strong> <strong>la</strong>sconductas así como <strong>la</strong>s distintas arquitecturas quese han propuesto para el uso <strong>de</strong> <strong>la</strong>s mismas.Terminaremos el tema especificando cómo sepue<strong>de</strong>n implementar conductas sencil<strong>la</strong>s y cómomaneja Saphira <strong>la</strong>s conductas.El último tema trata sobre <strong>la</strong> localización <strong>de</strong>robots. En un primer apartado veremos que elrobot necesita conocer el entorno por el que semueve, por lo que es necesario construir un mapa<strong>de</strong>l entorno. Para construir un mapa el robotvagabun<strong>de</strong>a por el entorno actualizando una rejil<strong>la</strong><strong>de</strong> ocupación con <strong>la</strong>s dimensiones <strong>de</strong>l entorno.Dicha actualización se realiza <strong>de</strong> acuerdo a <strong>la</strong>slecturas <strong>de</strong> los distintos sónares. Una vezconstruido el mapa, po<strong>de</strong>mos utilizarlo en <strong>la</strong>localización <strong>de</strong>l robot. La localización sirve paraaveriguar dón<strong>de</strong> está el robot <strong>de</strong>ntro <strong>de</strong> un entornoconocido. Para llevar a cabo esto <strong>de</strong>tal<strong>la</strong>remos unmétodo novedoso que hace uso <strong>de</strong> teoríabayesiana para <strong>de</strong>terminar <strong>de</strong> forma dinámica <strong>la</strong>posición <strong>de</strong>l robot.4.2. Temario <strong>de</strong> prácticasPara <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s prácticas haremos uso <strong>de</strong><strong>la</strong> librería Saphira (disponible enhttp://www.ai.sri.com/~konolige/saphira). Comoventajas fundamentales <strong>de</strong> esta librería<strong>de</strong>stacamos <strong>la</strong> programación en C ó C++ y <strong>la</strong>posibilidad <strong>de</strong> trabajar con el simu<strong>la</strong>dor y/o conun robot real. Al inicio <strong>de</strong> <strong>la</strong>s prácticas haremosun pequeño seminario sobre <strong>la</strong> utilización <strong>de</strong> estaherramienta.La propuesta <strong>de</strong> prácticas se divi<strong>de</strong> como semuestra en <strong>la</strong> siguiente tab<strong>la</strong>:


Nombre <strong>de</strong>l temaHerramienta SaphiraP<strong>la</strong>nificación <strong>de</strong>l movimiento <strong>de</strong> unrobotPercepción <strong>de</strong>l robotNavegación topológica basada encomportamientosDuración4 horas10 horas6 horas10 horasposiciones y <strong>la</strong>s dimensiones <strong>de</strong> los obstáculos enun fichero <strong>de</strong> <strong>de</strong>scripción <strong>de</strong>l mundo. Tambiéndisponemos <strong>de</strong> <strong>la</strong> geometría <strong>de</strong>l robot <strong>de</strong>finidamediante sus vértices. El <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> prácticaserá el siguiente: 1. Lectura <strong>de</strong>l fichero <strong>de</strong><strong>de</strong>scripción <strong>de</strong>l mundo. 2. Aplicación <strong>de</strong> <strong>la</strong> suma<strong>de</strong> Minkowski a los obstáculos. 3. Obtención <strong>de</strong>lgrafo <strong>de</strong> visibilidad. 4. Cálculo <strong>de</strong>l camino máscorto <strong>de</strong>s<strong>de</strong> el punto inicial al final. 5. Guiado <strong>de</strong>lrobot para recorrer el camino obtenido.Figura 1. Entorno SaphiraEl primer tema <strong>de</strong> prácticas tiene dos objetivosfundamentales. El primero es dar a conocer a<strong>la</strong>lumno el funcionamiento <strong>de</strong> <strong>la</strong> herramienta <strong>de</strong>control <strong>de</strong> robots móviles Saphira. Para ello,<strong>de</strong>tal<strong>la</strong>remos todas <strong>la</strong>s funcionalida<strong>de</strong>s <strong>de</strong> <strong>la</strong>herramienta (<strong>de</strong>scripción <strong>de</strong> mundos, <strong>de</strong>scripción<strong>de</strong> distintos tipos <strong>de</strong> robots, conexión con elsimu<strong>la</strong>dor-robot real, etc.). El segundo objetivo esque el alumno entienda y sepa aplicar losconceptos <strong>de</strong> transformación <strong>de</strong> coor<strong>de</strong>nadas entresistemas <strong>de</strong> referencia. La práctica consiste enguiar al robot <strong>de</strong>ntro <strong>de</strong> un entorno, pasando poruna serie <strong>de</strong> puntos indicados en un fichero. Lascoor<strong>de</strong>nadas <strong>de</strong> los puntos están dadas conrespecto al sistema <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong>l mundodon<strong>de</strong> se encuentra el robot. Estas coor<strong>de</strong>nadas se<strong>de</strong>ben transformar al sistema <strong>de</strong> referencia <strong>de</strong>lrobot.En <strong>la</strong> segunda práctica se preten<strong>de</strong> guiar al robotpor un mundo conocido. Disponemos <strong>de</strong> <strong>la</strong>sEn <strong>la</strong> parte <strong>de</strong> percepción proponemos el<strong>de</strong>sarrollo <strong>de</strong> una pequeña práctica en <strong>la</strong> cual e<strong>la</strong>lumno pueda guiar al robot hacia un objeto<strong>de</strong>ntro <strong>de</strong>l campo <strong>de</strong> visión <strong>de</strong>l robot. Este objeto<strong>de</strong>be ser <strong>de</strong> un color uniforme y fácilmentei<strong>de</strong>ntificable <strong>de</strong>l fondo. Por ejemplo, po<strong>de</strong>moshacer uso <strong>de</strong> una pelota <strong>de</strong> tenis. Al alumno se lesuministrará una pequeña aplicación que capturaimágenes <strong>de</strong> una cámara colocada sobre el robot y<strong>de</strong>vuelve <strong>la</strong> imagen binarizada a partir <strong>de</strong> un colorpreviamente seleccionado. El objetivo es que guíeal robot hacia el objeto en cuestión.El objetivo <strong>de</strong> <strong>la</strong> última práctica es implementarun algoritmo <strong>de</strong> navegación reactiva basado encomportamientos. El algoritmo tomará comoentrada una ruta a seguir en forma <strong>de</strong> mapatopológico (es <strong>de</strong>cir, una secuencia <strong>de</strong> lugaresdistintivos por los que hay que pasar, en lugar <strong>de</strong>una secuencia <strong>de</strong> coor<strong>de</strong>nadas a recorrer comohemos hecho hasta el momento).


Figura 2. Binarizado <strong>de</strong> un objeto y orientación <strong>de</strong>lrobot4.3. Bibliografía para <strong>la</strong> asignaturaEn este apartado vamos a <strong>de</strong>tal<strong>la</strong>r algunas <strong>de</strong> <strong>la</strong>sreferencias que se ajustan mejor al temariopropuesto. En [3] se realiza un repaso exhaustivoa <strong>la</strong> robótica basada en conductas. El autor, R.Arkin, es uno <strong>de</strong> los precursores <strong>de</strong> <strong>la</strong> robóticabasada en conductas. Es un libro monotemáticosobre conductas <strong>de</strong> robots. El libro [4] recorretodo el campo <strong>de</strong> <strong>la</strong> robótica móvil. Está divido entres partes. La primera trata sobre <strong>la</strong> parte física<strong>de</strong>l robot: distintos tipos <strong>de</strong> conducción ydistribución <strong>de</strong> ruedas, dinámica <strong>de</strong>l robot, etc. En<strong>la</strong> segunda, se estudian <strong>la</strong>s distintas formas <strong>de</strong>percepción que tiene un robot, diviéndo<strong>la</strong>s en dosgrupos: sensores y algoritmos no visuales yvisuales. La última parte, más extensa, trata sobreel razonamiento, qué cosas o tareas pue<strong>de</strong> hacernuestro robot. En esta última parte tenemos uncapítulo <strong>de</strong>dicado a <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong> robots, alcontrol reactivo, <strong>la</strong> localización, <strong>la</strong> construcción<strong>de</strong> mapas y tareas reales en <strong>la</strong>s cuales se estánutilizando robots. En [5] se trata en profundidadtoda <strong>la</strong> parte <strong>de</strong> p<strong>la</strong>nificación <strong>de</strong> trayectorias <strong>de</strong>robots. Define el problema formalmente y con unamatemática rigurosa. Trata el problema <strong>de</strong> <strong>la</strong>p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong> forma más genérica posible,con obstáculos n-dimensionales y permitiendoformas curvas para su <strong>de</strong>finición. Empieza el librocon varios capítulos <strong>de</strong>dicados a <strong>la</strong> formalización<strong>de</strong>l problema, para luego pasar a tratar a fondo elproblema <strong>de</strong> <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong>s<strong>de</strong> tres puntos <strong>de</strong>vista: <strong>la</strong> <strong>de</strong>scomposición en celdas exactas yaproximada, los métodos <strong>de</strong> mapa <strong>de</strong> carreteras ylos métodos <strong>de</strong> campo <strong>de</strong> potencial. Continúa con<strong>la</strong> coordinación <strong>de</strong> varios robots, imponiendorestricciones cinemáticas al robot y permitiendo,por último, que los obstáculos puedan <strong>de</strong>sp<strong>la</strong>zarse.El tema principal <strong>de</strong> [6] es <strong>la</strong> InteligenciaArtificial aplicada a <strong>la</strong> robótica. Estudia <strong>la</strong>robótica <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista computacional,sin entrar en aspectos más <strong>de</strong> bajo nivel como <strong>la</strong>cinemática y el control dinámico. El libro estádividido en dos partes. La primera, Paradigmas <strong>de</strong><strong>la</strong> robótica, trata sobre los distintos paradigmasque se pue<strong>de</strong>n utilizar en robótica para contro<strong>la</strong>run robot, el enfoque jerárquico más clásico y elcontrol reactivo, revisando otros paradigmas enmenor grado. Repasa <strong>la</strong>s ventajas einconvenientes <strong>de</strong> los dos primeros y se centra enel segundo en el resto <strong>de</strong>l libro. Dentro <strong>de</strong> estaparte existe un capítulo <strong>de</strong>dicado a percepción,centrado en sensores y visión. En <strong>la</strong> segundaparte, Navegación, se centra en <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong>trayectorias, tanto topológicas como métricas y enel problema <strong>de</strong> <strong>la</strong> localización y construcción <strong>de</strong>mapas. Incorpora bastantes <strong>de</strong>talles <strong>de</strong>implementación que lo hacen atractivo en <strong>la</strong>docencia. Por último, para <strong>la</strong> parte <strong>de</strong> visión,po<strong>de</strong>mos consultar [7]. Este libro presenta unaserie <strong>de</strong> problemas en visión artificial <strong>de</strong> formac<strong>la</strong>ra y concisa. En cada capítulo presenta unproblema distinto, empezando por <strong>la</strong> <strong>de</strong>finición<strong>de</strong>l problema, aplicando <strong>la</strong>s restriccionesoportunas y, por último, <strong>de</strong>tal<strong>la</strong>ndo algún métodopara resolver el problema en cuestión. Todo estose acompaña <strong>de</strong> resultados <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> losdistintos métodos presentados. El contenido <strong>de</strong>llibro se pue<strong>de</strong> estructurar en tres partes. Laprimera <strong>de</strong> el<strong>la</strong>s trata sobre <strong>la</strong> formación <strong>de</strong> unaimagen y <strong>de</strong> cómo po<strong>de</strong>mos mejorar <strong>la</strong> calidad <strong>de</strong><strong>la</strong> misma mediante <strong>la</strong> supresión <strong>de</strong> ruido. Dentro<strong>de</strong> esta parte po<strong>de</strong>mos incluir los capítulos<strong>de</strong>dicados a <strong>la</strong> obtención <strong>de</strong> característicasbidimensionales <strong>de</strong> <strong>la</strong> imagen: aristas y puntosesquina. Otra <strong>de</strong> <strong>la</strong>s partes tiene que ver con <strong>la</strong>obtención <strong>de</strong> <strong>la</strong> estructura a partir <strong>de</strong> diferentesmétodos: estéreo, movimiento,etc. Dentro <strong>de</strong> estaparte tenemos un capítulo sobre calibración <strong>de</strong> <strong>la</strong>cámara, necesaria para obtener <strong>la</strong> estructura. Laúltima parte <strong>de</strong>l libro introduce el problema <strong>de</strong>lreconocimiento <strong>de</strong> objetos y <strong>la</strong> localización <strong>de</strong>objetos en el espacio.5. ConclusionesEn este trabajo hemos presentado una propuestapara el temario <strong>de</strong> <strong>la</strong> asignatura Robótica,implementada actualmente en <strong>la</strong>s Ingenierías enInformática en <strong>la</strong> Universidad <strong>de</strong> Alicante. Paraello hemos especificado tanto <strong>la</strong> parte teórica


como <strong>la</strong> práctica y hemos comentado algunas <strong>de</strong><strong>la</strong>s posibles referencias a utilizar.Referencias[1] Miguel Cazor<strong>la</strong>. Página web <strong>de</strong> <strong>la</strong> asignaturaRobótica. http://www.dccia.ua.es/dccia/inf/asignaturas/ROB[2] ACM/IEEE, Computing Curricu<strong>la</strong> 2001, 2001,IEEE Computer Society/ACM Task Force onComputing Curricu<strong>la</strong>[3] R. Arkin. Behavior Based Robotics. The MITPress, 1998.[4] D. Du<strong>de</strong>k and M. Jenkin. ComputationalPrinciples of Mobile Robotics. CambridgeUniversity Press, 2000[5] J. Latombe. Robot Motion P<strong>la</strong>nning. KuwlerAca<strong>de</strong>mic Publisher, 1991.[6] R. Murphy. Introduction to AI Robotics. heMIT Press, 2000.[7] E. Trucco and A. Verri. IntroductoryTechniques for 3-D Computer Vision.Prentice Hall, 1998


La enseñanza <strong>de</strong> Ingeniería <strong>de</strong> Sistemas y Electrónicamediante el <strong>la</strong>boratorio <strong>de</strong> robots autónomosJesús Salido Tercero, Jorge Sanz AlcoleaDept. <strong>de</strong> Ingeniería Eléctrica, Electrónica y AutomáticaUniversidad <strong>de</strong> Castil<strong>la</strong>-La ManchaEscue<strong>la</strong> Superior <strong>de</strong> Informática13071 Ciudad Reale-mail: {Jesus.Salido, Jorge.Sanz}@uclm.esResumenEn este trabajo se presenta el empleo <strong>de</strong>sistemas físicos contro<strong>la</strong>dos por computador comoun método muy a<strong>de</strong>cuado para introducir a losalumnos <strong>de</strong> Informática en <strong>la</strong>s áreas tecnológicasre<strong>la</strong>cionadas con <strong>la</strong> Ingeniería <strong>de</strong> Sistemas yElectrónica. La i<strong>de</strong>a principal es conseguirestimu<strong>la</strong>r <strong>la</strong> capacidad <strong>de</strong> aprendizaje <strong>de</strong> ciertasmaterias por parte <strong>de</strong>l estudiante mediante <strong>la</strong>realización <strong>de</strong> prácticas en un <strong>la</strong>boratorio docente<strong>de</strong>stinado a <strong>la</strong> construcción <strong>de</strong> robots autónomos.Este <strong>la</strong>boratorio <strong>de</strong>bería permitir materializar <strong>la</strong>si<strong>de</strong>as <strong>de</strong>l alumno a través <strong>de</strong> dispositivos capaces<strong>de</strong> resolver problemas en el ‘mundo real’, inclusocon el estímulo <strong>de</strong> que una solución personal seamás eficiente compitiendo con <strong>la</strong> propuesta por uncompañero. En los siguientes apartados se<strong>de</strong>scribirá <strong>la</strong>s principales metas académicas <strong>de</strong>l<strong>la</strong>boratorio propuesto, así como el materialempleado y los prototipos <strong>de</strong>sarrol<strong>la</strong>dos para serempleados como mo<strong>de</strong>los en <strong>la</strong> práctica.1. Introducción y antece<strong>de</strong>ntesDurante <strong>la</strong>s dos últimas décadas se han<strong>de</strong>sarrol<strong>la</strong>do esfuerzos consi<strong>de</strong>rables en loscampos <strong>de</strong> estudios <strong>de</strong> <strong>la</strong> Robótica y el ControlInteligente y no pue<strong>de</strong> negarse los logros tanimportantes que se han conseguido. Sin embargo,si se analiza <strong>de</strong>tenidamente los avances en elterreno <strong>de</strong> los robots autónomos, es evi<strong>de</strong>nte queaún existen importantes <strong>de</strong>safíos y que por elmomento po<strong>de</strong>mos hab<strong>la</strong>r <strong>de</strong> prometedoras ‘cibermascotas’[8], muy lejos aún <strong>de</strong> los androi<strong>de</strong>sprotagonistas en <strong>la</strong>s historias <strong>de</strong> ciencia ficción.No obstante los investigadores que han <strong>de</strong>dicadoun gran esfuerzo en el campo <strong>de</strong> <strong>la</strong> Robótica hanaprendido durante el camino importanteslecciones, ...ahora sabemos como construirfácilmente y <strong>de</strong> forma barata, robots capaces <strong>de</strong>resolver tareas que en el pasado resultabanasombrosamente complejas... Por otra parte en losúltimos años <strong>la</strong> <strong>de</strong>manda creciente <strong>de</strong>especialización en áreas re<strong>la</strong>cionadas con <strong>la</strong>Informática ha forzado <strong>la</strong> adaptación <strong>de</strong> los p<strong>la</strong>nes<strong>de</strong> estudios para ofrecer graduados con unaformación exigente en <strong>la</strong>s áreas re<strong>la</strong>cionadas con<strong>la</strong>s nuevas tecnologías. Estas ten<strong>de</strong>ncias se hanvisto fortalecidas por <strong>la</strong>s recomendacionesproce<strong>de</strong>ntes <strong>de</strong> instituciones <strong>de</strong> prestigio en <strong>la</strong>materia, como son IEEE y ACM 1 , acerca <strong>de</strong> <strong>la</strong>adaptación <strong>de</strong>l currículo académico a <strong>la</strong>s<strong>de</strong>mandas actuales <strong>de</strong>l mercado <strong>la</strong>boral.La propuesta presentada en este artículo seencuadra en el contexto institucional <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Castil<strong>la</strong>-La Mancha (UCLM) en <strong>la</strong>que los autores realizan sus tareas docentes en <strong>la</strong>Escue<strong>la</strong> Superior <strong>de</strong> Informática (ESI). En estecontexto <strong>la</strong> i<strong>de</strong>a fundamental expuesta es <strong>la</strong>creación <strong>de</strong> un nuevo <strong>la</strong>boratorio para <strong>la</strong>construcción <strong>de</strong> robots autónomos contro<strong>la</strong>dos porcomputador, como método <strong>de</strong> apoyo en <strong>la</strong>docencia <strong>de</strong> los contenidos <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>cionestécnicas en Informática. El p<strong>la</strong>nteamiento seguidoen <strong>la</strong> propuesta presentada está estrechamenteenraizada en <strong>la</strong>s aproximaciones más recientespara <strong>la</strong> implementación <strong>de</strong> agentes inteligentes.El principal objetivo <strong>de</strong>l trabajo presentado es<strong>la</strong> <strong>de</strong> proporcionar al alumno <strong>la</strong> oportunidad <strong>de</strong>aprendizaje a través <strong>de</strong> <strong>la</strong> práctica, p<strong>la</strong>smando enun dispositivo físico real, los principales1 Institute of Electrical and Electronics Engineers,Association for Computing Machinery.


conocimientos adquiridos a lo <strong>la</strong>rgo <strong>de</strong> suformación académica.En esencia los robots construidos en el<strong>la</strong>boratorio mencionado <strong>de</strong>berían estarcompuestos <strong>de</strong>:• Sistema <strong>de</strong> percepción para adquisición <strong>de</strong>información sobre el entorno circundante y elpropio estado interno <strong>de</strong>l agente,• Contro<strong>la</strong>dor o sistema <strong>de</strong> <strong>de</strong>cisión a cerca <strong>de</strong><strong>la</strong>s acciones inmediatas a realizar paraalcanzar los objetivos <strong>de</strong>l agente, y• Actuadores capaces <strong>de</strong> ejecutar <strong>la</strong>s accionesestimadas como más apropiadas por elcontro<strong>la</strong>dor.Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> <strong>la</strong>s infraestructuras,el <strong>la</strong>boratorio propuesto constituirá una extensión<strong>de</strong> un <strong>la</strong>boratorio <strong>de</strong> computación ya existente yequipado con computadores personalesconvencionales. Dicho <strong>la</strong>boratorio se dotará <strong>de</strong>lhardware adicional y <strong>la</strong>s infraestructurasauxiliares necesarias permitiendo el trabajo <strong>de</strong>grupos compuestos por dos o tres estudiantes porpuesto. Los puestos contarán con kits <strong>de</strong> robóticacuyos componentes sean <strong>de</strong> gran disponibilidad enel mercado y un coste total no superior a los600€/kit. Nuestro propósito es que una vezsatisfechos estos requerimientos este esquema <strong>de</strong>trabajo pueda ser fácilmente reproducible en otroscentros académicos.La filosofía aquí presentada está ava<strong>la</strong>da por<strong>la</strong>s propuestas realizadas en otras instituciones <strong>de</strong>renombrado prestigio tanto <strong>de</strong>ntro como fuera <strong>de</strong>nuestras fronteras. En estos casos se apuestafirmemente por un método docente basado en <strong>la</strong>construcción <strong>de</strong> dispositivos físicos capaces <strong>de</strong><strong>de</strong>mostrar su <strong>de</strong>sempeño en <strong>la</strong> resolución <strong>de</strong>‘problemas tipo’ o incluso mediante <strong>la</strong>participación en competiciones públicas abiertas[2,7,11,17]. En esta línea, resultan especialmenteatractivas <strong>la</strong>s propuestas para <strong>la</strong> construcción <strong>de</strong>robots móviles, ya que estos ofrecen <strong>la</strong> posibilidad<strong>de</strong> integrar los conocimientos <strong>de</strong> un número muysignificativo <strong>de</strong> áreas <strong>de</strong> conocimiento como:lenguajes <strong>de</strong> programación e ingeniería <strong>de</strong>lsoftware, arquitectura <strong>de</strong> computadores, ingenieríaeléctrica y <strong>de</strong> control, física, etc. Entre todas <strong>la</strong>sexperiencias llevadas a cabo en otros centrosacadémicos merecen una mención especial losllevados a cabo en EEUU, como los <strong>de</strong>l MIT [12,15] (Cambridge, MA) y Carnegie MellonUniversity [3] (Pittsburg, PA), seña<strong>la</strong>ndo querecientemente estas experiencias han sidoadoptadas con gran éxito en centros <strong>de</strong> nuestropaís [1, 4, 5, 18].2. Objetivos académicosCon el <strong>la</strong>boratorio <strong>de</strong> robots autónomosse preten<strong>de</strong> cubrir el mayor conjunto posible<strong>de</strong> conceptos c<strong>la</strong>ve en <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong>Ingeniería en Informática, entre otros:interacción hardware-software, complejida<strong>de</strong>spacial en términos <strong>de</strong> <strong>la</strong>s limitacionesfísicas reales <strong>de</strong> capacidad <strong>de</strong> computo y <strong>de</strong>memoria <strong>de</strong>l contro<strong>la</strong>dor <strong>de</strong>l robot,complejidad temporal ya que <strong>la</strong>s <strong>de</strong>cisionesrequeridas sobre <strong>la</strong>s acciones <strong>de</strong>l robot<strong>de</strong>ben tomarse en el instante apropiado, yquizás el que pue<strong>de</strong> ser más importante, elincentivo motivador que representa para elestudiante dotar <strong>de</strong> ‘vida’ a <strong>la</strong> i<strong>de</strong>as propias.La aproximación adoptada en el trabajopue<strong>de</strong> consi<strong>de</strong>rarse una instancia <strong>de</strong> <strong>la</strong>sorientaciones más recientes <strong>de</strong> <strong>la</strong> inteligenciaartificial basadas en ‘agentes’ [19]. Sinembargo hay que reseñar <strong>la</strong> mejora que paradicha aproximación supone el hecho <strong>de</strong> quelos agentes ‘habiten’ un mundo físico real ypor tanto exento <strong>de</strong> muchas simplificacionesincluidas en los entornos <strong>de</strong> trabajosimu<strong>la</strong>dos. Por supuesto <strong>la</strong> construcción <strong>de</strong>un robot móvil en un <strong>la</strong>boratorio docente nosería posible si no fuera por <strong>la</strong> disponibilidadactual en el mercado <strong>de</strong> kits <strong>de</strong> ensamb<strong>la</strong>jeasequibles. Estos kits son programablesmediante empleo <strong>de</strong> computador personalconvencional y son ampliables para cubrir unamplio rango <strong>de</strong> aplicaciones yexperimentos.En nuestro centro (ESI-UCLM) el<strong>la</strong>boratorio propuesto pue<strong>de</strong> encuadrarse en<strong>la</strong> docencia <strong>de</strong> dos cursos cuatrimestrales:• Cibernética Aplicada, impartido en <strong>la</strong>stitu<strong>la</strong>ciones <strong>de</strong> ingeniería técnica eninformática (grado medio, curso 3º, 1er.cuatrimestre),


• Robótica, en <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> ingeniería eninformática (grado superior, curso 5º, 2ºcuatrimestre).A<strong>de</strong>más <strong>de</strong> los cursos anteriormentecitados, esperamos que el <strong>la</strong>boratorio permita<strong>la</strong> realización adicional <strong>de</strong> prácticas <strong>de</strong> otroscursos como: Arquitectura <strong>de</strong> Computadores,Programación, Electrónica, AutomatizaciónIndustrial, Inteligencia Artificial, Diseño ySíntesis <strong>de</strong> Hardware, Control porComputador, Sistemas <strong>de</strong> Tiempo Real,Procesamiento <strong>de</strong> Imagen, etc. Aunque todosestos cursos pertenecen a los estudios <strong>de</strong>pregrado, se animará a los estudiantes paraque en dicho <strong>la</strong>boratorio realicen proyectosadicionales con posibles extensiones paracompletar sus proyectos fin <strong>de</strong> carrera y otrosproyectos <strong>de</strong> investigación [21].3. Equipamiento <strong>de</strong>l <strong>la</strong>boratorioComo ya se comentó más arriba losgrupos <strong>de</strong> trabajo en el <strong>la</strong>boratorio estaráncompuestos <strong>de</strong> dos o a lo sumo tresestudiantes a los que se dotará <strong>de</strong>l siguientematerial: 1) computador personal, 2) tarjetacontro<strong>la</strong>dora, 3) herramientas software <strong>de</strong>programación, y 4) kit <strong>de</strong> ensamb<strong>la</strong>je <strong>de</strong>robots incluyendo sensores, actuadores y losbloques constructivos <strong>de</strong>l fabricante FisherTechnik [9]. El computador personal seempleará para <strong>la</strong> edición y <strong>de</strong>purado <strong>de</strong> losprogramas <strong>de</strong> usuario que más tar<strong>de</strong> serán<strong>de</strong>scargados <strong>de</strong>s<strong>de</strong> el computador a <strong>la</strong> tarjetacontro<strong>la</strong>dora a través <strong>de</strong> una conexión serie.El componente principal <strong>de</strong>l kit <strong>de</strong>robótica es el módulo <strong>de</strong> control adoptado(ver Fig. 1), que en nuestro caso consta <strong>de</strong> <strong>la</strong>starjetas mo<strong>de</strong>los CT6811 (módulo principal)y CT292+ (control <strong>de</strong> motores) <strong>de</strong>Microbótica [14]. Al igual que <strong>la</strong> HandyBoard [20], <strong>de</strong>sarrol<strong>la</strong>da en el MIT consimi<strong>la</strong>res propósitos, <strong>la</strong> CT6811 está basadaen el microprocesador MC68HC11 <strong>de</strong>Motoro<strong>la</strong>. La tarjeta pue<strong>de</strong> emplearse en tresmodos operativos según se <strong>de</strong>scribe acontinuación:1. Tarjeta <strong>de</strong> entrenamiento. La tarjetapermanece conectada mediante en<strong>la</strong>ce serieal computador personal en el que se<strong>de</strong>sarrol<strong>la</strong>n los programas que posteriormentese <strong>de</strong>scargan en <strong>la</strong> tarjeta.2. Tarjeta contro<strong>la</strong>dora autónoma. En este casono existe conexión alguna con el computadorexterno, <strong>de</strong> modo que cada vez que <strong>la</strong> tarjetaes encendida se inicia <strong>la</strong> ejecución <strong>de</strong> unprograma previamente almacenado en <strong>la</strong>memoria EEPROM <strong>de</strong>l microcontro<strong>la</strong>dor.Este es el modo que <strong>de</strong>be ser empleado en losrobots autónomos.3. Unidad periférica inteligente <strong>de</strong> uncomputador externo. En este modo <strong>la</strong> tarjetaestá continuamente conectada a uncomputador externo con posibilidad <strong>de</strong>comunicación bidireccional como si <strong>de</strong> unperiférico convencional se tratase.Fig. 1: Ensamb<strong>la</strong>do en formato torre <strong>de</strong> losmódulos <strong>de</strong> control.Deben reseñarse algunas característicasinteresantes <strong>de</strong>l módulo <strong>de</strong> control <strong>de</strong>scrito,que lo hacen a<strong>de</strong>cuado para nuestrospropósitos. Se trata, <strong>de</strong> <strong>la</strong> capacidad <strong>de</strong>adoptar un formato <strong>de</strong> ensamb<strong>la</strong>je en torremuy compacto que permite <strong>la</strong> integración <strong>de</strong>lsistema en unas dimensiones superficiales <strong>de</strong>8cmx6cm, como se muestra en <strong>la</strong> Fig. 1.A<strong>de</strong>más el carácter <strong>de</strong> ‘abierto’ <strong>de</strong> <strong>la</strong>arquitectura hardware <strong>de</strong>l módulo, así como<strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong> programaciónconstituyen un valor añadido en <strong>la</strong>sposibilida<strong>de</strong>s <strong>de</strong> uso <strong>de</strong>l módulo.


La tarjeta CT6811 está equipada con elmicrocontro<strong>la</strong>dor MC68HC11 cuyasprincipales características son: 512 Bytes <strong>de</strong>memoria EEPROM (series A1/A8) y2Kbytes (serie E2), memoria RAM <strong>de</strong> 256Bytes, timer <strong>de</strong> 16 bits, 3 <strong>la</strong>tches <strong>de</strong> entrada,5 comparadores, un acumu<strong>la</strong>dor <strong>de</strong> pulsos,comunicación serie A/S, 8 canales <strong>de</strong>conversión A/D, interrupción <strong>de</strong> TR y 4puertos I/O. La tarjeta CT293+ está diseñadapara ensamb<strong>la</strong>rse junto a <strong>la</strong> CT6811,proporcionando <strong>la</strong> capacidad para el control<strong>de</strong> motores DC y <strong>la</strong> adquisición <strong>de</strong> datossensoriales.<strong>la</strong> gran popu<strong>la</strong>ridad <strong>de</strong>l microprocesadorempleado [13].En cuanto a los módulos <strong>de</strong> ensamb<strong>la</strong>je<strong>de</strong> <strong>la</strong> estructura mecánica existen multitud <strong>de</strong>fabricantes que proporcionan kits <strong>de</strong>construcción con propósitos educativos y <strong>de</strong>entretenimiento [16] a unos costesasequibles. Nuestra experiencia en estesentido se ha traducido en <strong>la</strong> adopción <strong>de</strong> losproductos comercializados por FischerTechnik [9], <strong>de</strong>bido a <strong>la</strong> gran calidad <strong>de</strong> suscomponentes y <strong>la</strong> contrastada robustez <strong>de</strong> losprototipos finales. Con los componentesproporcionados por este fabricante y otrosadicionales se dispone <strong>de</strong> los elementosfundamentales para completar los proyectosque se sugerirán. Dichos proyectos <strong>de</strong>ben serllevados a cabo empleando: los bloquesconstructivos básicos, motores DC, sensores<strong>de</strong> contacto (micro-interruptores), sensores<strong>de</strong> infrarrojo, <strong>de</strong>tectores <strong>de</strong> metal,codificadores ópticos, etc.4. PrototiposFig. 2: Prototipo ‘oruga’.La programación <strong>de</strong>l módulo <strong>de</strong> controlse pue<strong>de</strong> hacer fuera <strong>de</strong> línea <strong>de</strong>s<strong>de</strong> un PCcon el compi<strong>la</strong>dor <strong>de</strong> lenguaje ensamb<strong>la</strong>dorAS11 <strong>de</strong> Motoro<strong>la</strong> y <strong>la</strong>s herramientas <strong>de</strong>programación para los sistemas operativosLinux y DOS suministradas por el fabricante.A<strong>de</strong>más basta con realizar una búsqueda enInternet para localizar multitud <strong>de</strong> recursosen línea disponibles gratuitamente <strong>de</strong>bido aAnteriormente se ha comentado <strong>la</strong>dificultad que encierra <strong>la</strong> tarea <strong>de</strong>construcción <strong>de</strong> robots móviles y comopue<strong>de</strong> superarse este obstáculo mediante elempleo <strong>de</strong> kits <strong>de</strong> montaje. En general losfabricantes <strong>de</strong> estos últimos proporcionancon sus productos instrucciones <strong>de</strong>tal<strong>la</strong>das aseguir para alcanzar <strong>la</strong> construcción <strong>de</strong> losmo<strong>de</strong>los sugeridos. Como parte <strong>de</strong>l trabajoaquí presentado se ha preferido el <strong>de</strong>sarrollo<strong>de</strong> mo<strong>de</strong>los propios originales <strong>de</strong>mostrandoasí que el número <strong>de</strong> posibilida<strong>de</strong>s sólo estálimitado por <strong>la</strong> imaginación <strong>de</strong>l usuario.En <strong>la</strong>s figuras 2 y 3 se muestran dos <strong>de</strong>nuestros prototipos (‘oruga’ y ‘tribot’) y loselementos constructivos empleados en ellos,<strong>de</strong>stacando el pequeño número <strong>de</strong> éstosúltimos. Como pue<strong>de</strong> apreciarse en <strong>la</strong>sfiguras 2 y 3 los prototipos mostradosemplean distintos sistemas motrices. Aunqueen estos sistemas motrices sólo se emplean


dos motores DC, el módulo <strong>de</strong> controlpermite <strong>la</strong> expansión para contro<strong>la</strong>r robotscon un número mayor <strong>de</strong> motores comopue<strong>de</strong> verse en los prototipos <strong>de</strong>sarrol<strong>la</strong>dospor Microbótica (véase el sitio web.[14]).Una característica muy importante a<strong>de</strong>stacar en los prototipos <strong>de</strong>sarrol<strong>la</strong>dos esque han sido concebidos para acomodar elmódulo <strong>de</strong> control en formato torre <strong>de</strong>Microbótica <strong>de</strong> modo que <strong>la</strong> insta<strong>la</strong>ción <strong>de</strong>este sea lo más cómoda y rápida posible paraque el mismo módulo sea intercambiableentre prototipos a <strong>la</strong> manera <strong>de</strong> un dispositivo‘plug&p<strong>la</strong>y’ (ver Fig. 4).contenidos e infraestructuras para llevar acabo <strong>la</strong> propuesta. En <strong>la</strong>s prácticas <strong>de</strong><strong>la</strong>boratorio en curso se han probado con ungrupo reducido <strong>de</strong> alumnos los aspectosprincipales <strong>de</strong> <strong>la</strong> propuesta. A continuaciónse enumeran <strong>la</strong>s que, en nuestra opinión,<strong>de</strong>berían ser <strong>la</strong>s tareas más inmediatas paraalcanzar nuestros propósitos:• Publicación <strong>de</strong> los programas <strong>de</strong>l curso,manuales y programación temporal, así como<strong>de</strong> otro material auxiliar.• Desarrollo <strong>de</strong> entornos <strong>de</strong> simu<strong>la</strong>ción yprogramación favoreciendo el <strong>de</strong>sarrollo <strong>de</strong>entornos gráficos y sistemas abiertos.5. Trabajos futurosFig. 3: Prototipo ‘tribot’.En esta sección queremos <strong>de</strong>stacar que <strong>la</strong>propuesta aquí presentada no ha sido llevadaa <strong>la</strong> práctica aún en su totalidad. Nuestraintención es que a partir <strong>de</strong> próximos cursosacadémicos podamos ir contrastando <strong>la</strong>viabilidad <strong>de</strong> los objetivos marcados y suconsecución. Por el momento se han fijadolos objetivos y se han concretado losFig. 4: Prototipo final ‘tribot’ contro<strong>la</strong>do por <strong>la</strong>CT6811 y CT293+.• Incremento <strong>de</strong> capacida<strong>de</strong>s <strong>de</strong> procesamientoy memoria <strong>de</strong>l módulo <strong>de</strong> control añadiendomayor cantidad <strong>de</strong> memoria <strong>de</strong> usuario ydotando al conjunto <strong>de</strong> sistemas sensorialescomplejos como sónares y cámaras <strong>de</strong> visión.• Aumentar <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> actuación <strong>de</strong>los robots mediante <strong>la</strong> adaptación <strong>de</strong> brazosarticu<strong>la</strong>dor y pinzas <strong>de</strong> sujeción.• Adaptación <strong>de</strong> sistemas <strong>de</strong> comunicacióninalámbrica entre el robot y una estación


externa <strong>de</strong> procesamiento, o bien entredistintos robots.SumarioEn este trabajo se <strong>de</strong>scribe <strong>la</strong> propuesta<strong>de</strong> un <strong>la</strong>boratorio <strong>de</strong> robots autónomos comoun medio <strong>de</strong> mejorar el método docente envarios cursos <strong>de</strong> pregrado en <strong>la</strong>s titu<strong>la</strong>ciones<strong>de</strong> Ingeniería Informática. En sucesivosapartados se han comentado <strong>la</strong>s principalesmotivaciones y objetivos, enumerando losprincipales componentes <strong>de</strong>l equipamientoprevisto. Se ha incluido un apartado en el quese comentan los prototipos originalmentepropuestos por los autores y se finaliza conun apartado <strong>de</strong> <strong>la</strong>s futuras acciones parallevar a cabo <strong>la</strong> propuesta en su totalidad.Agra<strong>de</strong>cimientosLos autores <strong>de</strong>sean manifestar su especialreconocimiento hacia <strong>la</strong> Escue<strong>la</strong> Superior <strong>de</strong>Informática (ESI) y <strong>la</strong> Universidad <strong>de</strong>Castil<strong>la</strong>-La Mancha por el inestimablesoporte proporcionado para <strong>la</strong> realizacióntanto <strong>de</strong> este trabajo como <strong>la</strong> <strong>de</strong> su <strong>la</strong>bordocente.Referencias[1] Alcabot-2000.http://www.<strong>de</strong>peca.alca<strong>la</strong>.es/alcabot2000/principal.htm[2] Beer, R.D. and Chiel, H. and Drushel, R.Using Autonomous Robotics to teachScience and Engineering. Commun. ACM,42, 6, Jun. 1999.[3] Carnegie Mellon Univ. Annual MobotS<strong>la</strong>lom Race.http://www.cs.cmu.edu/~mobot/in<strong>de</strong>x.html[4] ChampionBot en <strong>la</strong> UPMhttp://www.sia.upm.es/championbot[5] Concurso Microbótica en ESIDEhttp://www.esi<strong>de</strong>.<strong>de</strong>usto.es[6] Davies, B. Practical Robotics. WERDTechnology Inc., 1997.[7] Donnett, J. and Smithers, T. LEGOVehicles: A Technology for studyingIntelligent Systems. In J.A. Meyer and S.W.Wilson, Eds., From Animals to Animts:Proceedings of the First InternationalConference on Simu<strong>la</strong>tion of AdaptiveBehavior. MIT Press, Cambridge, Mass.1991.[8] Entertainment Robot Aibo (SONY).http://www.world.sony.com/Electronics/aibo/[9] Fischer Technik.http://www.fischerwerke.<strong>de</strong>/[10] Jones, J. and Seiger, B. and Flynn, A.Mobile Robots. Inspiration toimplementation. 2nd. Ed., A.K. PetersLTD. 1999.[11] Kumar, D. and Mee<strong>de</strong>n, L. A robot<strong>la</strong>boratory for teaching artificialintelligence. Proc. of the TechnicalSymposium on Computer ScienceEducation (SIGCSE-98), D. Joyce, Editor,ACM Press, 1998.[12] Martin, F. Circuits to control: LearningEngineering by <strong>de</strong>signing LEGO Robots.Ph.D. Dissertation, MIT Program in MediaArts and Sciences, Cambridge, Mass.,1994.[13] MC68HC11 Microcontrollers Resources.http://fleming0.flemingc.on.ca/~pspasov/mcu/mcu.htm[14] Microbótica.http://www.microbotica.es/[15] MIT’s Autonomous Robot DesignCompetition.http://www.mit.edu/courses/6.270/home.html[16] Raucci, R. Personal Robotics. Real robotsto construct, program, and explore theworld. A.K. Peters LTD. 1999.[17] Resnick, M. Behavior construction kits.Commun. ACM, 36, 7, Dec. 1993.[18] Robótica en <strong>la</strong> Universidad Politécnica <strong>de</strong>Cataluña (Spain).http://citel.upc.es/~aess/robotica


[19] Russell, S. and Norvig, P. ArtificialIntelligence a mo<strong>de</strong>rn approach. PrenticeHall Inc., 1996.[20] The Handy Board.http://lcs.www.media.mit.edu/groups/el/Projects/handyboard/[21] Los Robots Móviles en ISA-UCLM.http://www.inf-cr.uclm.es/www/jsalido/mancheBotX.html


Desarrollo <strong>de</strong> prototipos hardware para una maqueta <strong>de</strong> tren confines docentesVicent Lorente, Silvia Terrasa,Ana GarcíaDept. <strong>de</strong> Informática <strong>de</strong> Sistemas Dep. Sistemas Informáticos yy ComputadoresComputaciónUniversidad Politécnica <strong>de</strong> ValenciaUniversidad Politécnica <strong>de</strong> Valencia46022 Valencia 46022 Valenciae-mail: {vlorente,sterrasa}@disca.upv.es e-mail: agarcia@dsic.upv.esResumenEl uso <strong>de</strong> elementos reales con fines docentes escada vez mas frecuente. El presente trabajopresenta <strong>la</strong> experiencia <strong>de</strong> <strong>la</strong> puesta en marcha <strong>de</strong>una maqueta <strong>de</strong> trenes <strong>de</strong>scribiendo los problemassurgidos a <strong>la</strong> hora <strong>de</strong> realizar el control porcomputador <strong>de</strong> <strong>la</strong> misma, así como <strong>la</strong>s solucionespropuestas. El trabajo se centra en <strong>la</strong> <strong>de</strong>scripción<strong>de</strong> <strong>la</strong> infraestructura hardware <strong>de</strong>sarrol<strong>la</strong>da sobreuna maqueta comercial, para permitir el controlindividual <strong>de</strong> los elementos móviles (trenes,cambios <strong>de</strong> vía…) mediante un or<strong>de</strong>nador.los problemas surgidos al intentar realizar elcontrol <strong>de</strong> <strong>la</strong> misma <strong>de</strong>s<strong>de</strong> un PC.El artículo está estructurado <strong>de</strong> <strong>la</strong> siguienteforma, en <strong>la</strong> sección 2 se <strong>de</strong>scribe <strong>la</strong> maqueta <strong>de</strong>trenes así como el control manual que llevaincorporado. En <strong>la</strong> sección 3 se <strong>de</strong>tal<strong>la</strong>n losproblemas surgidos a <strong>la</strong> hora <strong>de</strong> cambiar el controlmanual por el control por or<strong>de</strong>nador y en <strong>la</strong>sección 4 se <strong>de</strong>scriben <strong>de</strong> los prototipos realizadospara solventar estos problemas. Finalmente en <strong>la</strong>sección 5 se comentan una serie <strong>de</strong> conclusionesy el trabajo futuro.1. MotivaciónCon <strong>la</strong> puesta en marcha <strong>de</strong> los últimos p<strong>la</strong>nes <strong>de</strong>estudio y con <strong>la</strong> gran diversidad <strong>de</strong> asignaturasoptativas y <strong>la</strong> limitación <strong>de</strong> recursos que tienenalgunos centros (au<strong>la</strong>s, <strong>la</strong>boratorios, etc), <strong>la</strong>sasignaturas optativas entran <strong>de</strong>ntro <strong>de</strong>l juego <strong>de</strong>“<strong>la</strong> oferta y <strong>la</strong> <strong>de</strong>manda” ya que si no mantienenun número mínimo <strong>de</strong> alumnos por curso corren elpeligro <strong>de</strong> <strong>de</strong>saparecer. Para contrarrestar esteefecto, los profesores no sólo <strong>de</strong>ben hacer que susoptativas sean interesantes intelectualmente, sinoque también <strong>de</strong>ben introducir elementos que <strong>la</strong>shagan atractivas. En este marco, el <strong>de</strong>partamento<strong>de</strong> sistemas informáticos y computación (DSIC)<strong>de</strong> <strong>la</strong> universidad Politécnica <strong>de</strong> Valencia adquirióel curso pasado una maqueta <strong>de</strong> trenes para sercontro<strong>la</strong>da <strong>de</strong>s<strong>de</strong> un computador personal (PC).El presente artículo <strong>de</strong>scribe el trabajorealizado en <strong>la</strong> puesta en marcha <strong>de</strong> <strong>la</strong> maqueta y2. Descripción <strong>de</strong> <strong>la</strong> maqueta <strong>de</strong> trenes.Durante el pasado curso el <strong>de</strong>partamento DSIC <strong>de</strong><strong>la</strong> Universidad Politécnica <strong>de</strong> Valencia adquirióuna maqueta <strong>de</strong> trenes proporcionada porMÄRKLÍN, para <strong>de</strong>dicar<strong>la</strong> a aplicacionesdocentes.Como se pue<strong>de</strong> apreciar en <strong>la</strong> figura 1 elmontaje inicial es sencillo, no existen <strong>de</strong>snivelesni túneles, aunque si que hay cambios <strong>de</strong> vía parapermitir un control más e<strong>la</strong>borado. El problemaque tiene este tipo <strong>de</strong> maquetas es que se necesitaun presupuesto muy elevado para montar unamaqueta completa con toda c<strong>la</strong>se <strong>de</strong> <strong>de</strong>talles.Debido a esto, se <strong>de</strong>cidió invertir inicialmente eldinero suficiente para realizar un montaje útil, y<strong>de</strong>spués <strong>de</strong> analizar los resultados, complicar eldiseño y ampliar <strong>la</strong> maqueta.En <strong>la</strong> configuración inicial <strong>de</strong> <strong>la</strong> maqueta setuvieron en cuenta tanto <strong>la</strong> dificultad que podríatener para el alumno realizar el control simultáneo


<strong>de</strong> diferentes trenes, como <strong>la</strong> dificultad re<strong>la</strong>tiva a<strong>la</strong> utilización <strong>de</strong> <strong>la</strong>s vías (recursos compartidos autilizar en exclusión mutua) por parte <strong>de</strong> lostrenes.También el tema económico nos condujo aimplementar nosotros mismos <strong>la</strong>s p<strong>la</strong>cas prototipopara realizar el control <strong>de</strong> los trenes <strong>de</strong>s<strong>de</strong> el PC.Estas p<strong>la</strong>cas se han diseñado para resolver losproblemas <strong>de</strong> <strong>la</strong> i<strong>de</strong>ntificación y <strong>la</strong> ubicación <strong>de</strong>los trenes.<strong>de</strong> comunicación con el panel <strong>de</strong> control. Esteprotocolo <strong>de</strong> comunicación permite actuarindividualmente sobre cada tren, siendo algunos<strong>de</strong> los parámetros sobre los que se pue<strong>de</strong> actuarlos siguientes :• Marcha / Paro.• Sentido <strong>de</strong> <strong>la</strong> marcha (horario/antihorario).• Velocidad.• Aceleración / Deceleración.• Elementos <strong>de</strong>corativos (humo, luces,silbato, etc)Adicionalmente, MÄRKLÍN ofrece unmódulo que permite contro<strong>la</strong>r <strong>la</strong> maquetamediante un or<strong>de</strong>nador por medio <strong>de</strong>l puerto serie.Esté módulo, l<strong>la</strong>mado interface, sustituye alcontrol manual y realiza <strong>la</strong> adaptación <strong>de</strong> los dosprotocolos, es <strong>de</strong>cir por una parte envía y recibecomandos <strong>de</strong>s<strong>de</strong> el PC y por otra envía y recibecomandos <strong>de</strong>s<strong>de</strong> los trenes (Figura 3).Tren 1Figura 1 Configuración <strong>de</strong> <strong>la</strong> maquetaPor otra parte, en <strong>la</strong> figura2, se muestra elcontrol manual original <strong>de</strong> <strong>la</strong> maqueta. Estecontrol manual ha sido utilizado para confirmar elbuen funcionamiento <strong>de</strong> <strong>la</strong> misma antes <strong>de</strong> realizarpruebas con el PC.USUARIOPCRS-232ControlmanualInterfazProtocolo InternoTren 2.Tren NTren 1Tren 2.Tren NProtocolo InternoFigura 3 Posibles modos <strong>de</strong> funcionamiento.Figura 2 Control manual <strong>de</strong> <strong>la</strong> maqueta MÄRKLÍNLos trenes disponen <strong>de</strong> un microcontro<strong>la</strong>dorincorporado que lleva implementado un protocoloFinalmente <strong>la</strong> maqueta tiene una serie <strong>de</strong>sensores <strong>de</strong> posición que indican <strong>la</strong> presencia o no<strong>de</strong> un tren en un punto <strong>de</strong>l recorrido (por ejemplo,es interesante saber cuando hay un tren en un final<strong>de</strong> vía).El proceso <strong>de</strong>l montaje <strong>de</strong> <strong>la</strong> maqueta con estascaracterísticas tuvo una duración <strong>de</strong> 1 mesaproximadamente ya que primero se tuvo quepreparar una mesa con <strong>la</strong>s condiciones a<strong>de</strong>cuadaspara permitir que toda <strong>la</strong> parte electrónicaestuviese por <strong>de</strong>bajo <strong>de</strong> <strong>la</strong> maqueta.


3. Control <strong>de</strong> <strong>la</strong> maqueta <strong>de</strong>s<strong>de</strong> el PC.Una vez finalizado el montaje <strong>de</strong> <strong>la</strong> maqueta, seabordó realizar el control <strong>de</strong> los trenes <strong>de</strong>s<strong>de</strong> unPC. La maqueta se adquirió con objeto <strong>de</strong> realizartrabajos prácticos <strong>de</strong> asignaturas optativas <strong>de</strong>primer y segundo ciclo, así como proyectos fin <strong>de</strong>carrera y asignaturas <strong>de</strong> doctorado. En <strong>la</strong> fase <strong>de</strong>evaluación inicial, ha sido utilizada para realizartrabajos <strong>de</strong> asignaturas <strong>de</strong> tercer ciclo re<strong>la</strong>cionadascon inteligencia artificial y con sistemas <strong>de</strong> tiemporeal. La temática <strong>de</strong> <strong>la</strong>s asignaturas nos da <strong>la</strong>oportunidad <strong>de</strong> p<strong>la</strong>ntear un control a dos niveles,por una parte <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong> tiempo realintenta resolver el control a bajo nivel, evitandosituaciones <strong>de</strong> peligro y actuando sobre los trenesdirectamente, mientras que <strong>la</strong> inteligenciaartificial <strong>de</strong>fine un control <strong>de</strong> alto nivel don<strong>de</strong> sepue<strong>de</strong> trabajar sobre optimización <strong>de</strong> trayectorias,p<strong>la</strong>nes <strong>de</strong> recorridos, etc. Este control a dosniveles nos proporciona una visión muy global <strong>de</strong>lcontrol <strong>de</strong> <strong>la</strong> maqueta que permite explotar toda suutilidad.Para po<strong>de</strong>r realizar el control <strong>de</strong> <strong>la</strong> maqueta enlos dos niveles es necesario:• Establecer un protocolo <strong>de</strong>comunicación entre el PC y los trenes.• Localización <strong>de</strong> cada tren.• Control sobre los cambios <strong>de</strong> vía.Tal y como se ha comentado en el apartadoanterior los trenes disponen <strong>de</strong> unmicrocontro<strong>la</strong>dor que lleva implementado elprotocolo <strong>de</strong> comunicación. En principio <strong>la</strong>información que se pue<strong>de</strong> intercambiar con lostrenes mediante ese protocolo es suficiente pararealizar el control <strong>de</strong> los mismos.Respecto a <strong>la</strong> localización <strong>de</strong> los trenes, <strong>la</strong>maqueta dispone <strong>de</strong> una serie <strong>de</strong> sensores que soncapaces <strong>de</strong> <strong>de</strong>tectar <strong>la</strong> presencia <strong>de</strong> un tren en un<strong>de</strong>terminado punto <strong>de</strong> <strong>la</strong> maqueta. Sin embargo,estos sensores son incapaces <strong>de</strong> i<strong>de</strong>ntificar el trenque están <strong>de</strong>tectando. Lógicamente esta es unalimitación que hace muy difícil el control <strong>de</strong> bajonivel, e imposible el control <strong>de</strong> alto nivel, si nopo<strong>de</strong>mos i<strong>de</strong>ntificar los trenes ¿cómo po<strong>de</strong>mosp<strong>la</strong>nificar sus trayectorias? Para solucionar esteproblema se diseñaron unos prototipos querealizan tanto <strong>la</strong> función <strong>de</strong> localizar como <strong>la</strong> <strong>de</strong>i<strong>de</strong>ntificar y que se explicarán en <strong>la</strong> próximasección.Finalmente, aunque se pue<strong>de</strong> conseguir unmódulo <strong>de</strong> MÄRKLÍN para realizar el cambio <strong>de</strong>vía a través <strong>de</strong>l estándar RS-232, el hecho <strong>de</strong>utilizar para <strong>la</strong> comunicación el estándar RS-232ralentiza excesivamente el conjunto. Por ello, se<strong>de</strong>cidió construir otra p<strong>la</strong>ca prototipo para realizarel cambio <strong>de</strong> vía. El siguiente apartado está<strong>de</strong>stinado a explicar el funcionamiento básico <strong>de</strong>estas p<strong>la</strong>cas prototipo.4. Prototipos <strong>de</strong>sarrol<strong>la</strong>dos.En esta sección se <strong>de</strong>scribe el funcionamientobásico <strong>de</strong> <strong>la</strong>s p<strong>la</strong>cas prototipo <strong>de</strong>sarrol<strong>la</strong>das parahacer posible el control <strong>de</strong> <strong>la</strong> maqueta <strong>de</strong>s<strong>de</strong> unPC. Primero se <strong>de</strong>scribe <strong>la</strong> p<strong>la</strong>ca que realiza elcambio <strong>de</strong> vía y en segundo lugar <strong>la</strong>s p<strong>la</strong>cas quesolucionan el problema <strong>de</strong> <strong>la</strong> i<strong>de</strong>ntificación <strong>de</strong> lostrenes.4.1. Control <strong>de</strong> los cambios <strong>de</strong> víaTal y como hemos explicado en el apartadoanterior, aunque inicialmente el cambio <strong>de</strong> víaestaba solucionado por MÄRKLÍN, el hecho <strong>de</strong>que utilizara el estándar RS-232 para comunicarsecon el PC, hacia que el conjunto <strong>de</strong> <strong>la</strong> maqueta secomportara <strong>de</strong> manera lenta.Por ello se optó por realizar un diseño <strong>de</strong> unap<strong>la</strong>ca que realizara <strong>la</strong> misma función pero que sepudiera contro<strong>la</strong>r <strong>de</strong>s<strong>de</strong> una tarjeta <strong>de</strong> adquisición<strong>de</strong> datos. En <strong>la</strong> figura 4 se muestra <strong>la</strong> p<strong>la</strong>ca querealiza esta función.Este circuito tiene una entrada digitalproce<strong>de</strong>nte <strong>de</strong> <strong>la</strong> tarjeta <strong>de</strong> adquisición y unasalida analógica que actúa directamente sobre loscambios <strong>de</strong> vía. En función <strong>de</strong>l valor <strong>de</strong> <strong>la</strong> entrada(0/1), el cambio <strong>de</strong> vía estará en una posición ootra (abierto/cerrado).Este circuito también dispone <strong>de</strong> dos leds queindican en que posición está el cambio <strong>de</strong> vía. Deesta forma es muy fácil i<strong>de</strong>ntificar visualmente siel cambio esta en <strong>la</strong> posición <strong>de</strong>seada.


aproximadamente) en lugar <strong>de</strong> utilizar losemisores infrarrojos mas comunes (80º).Figura 4.- P<strong>la</strong>ca prototipo para el cambio <strong>de</strong> vía4.2. I<strong>de</strong>ntificación <strong>de</strong> los trenesPara solucionar el problema <strong>de</strong> <strong>la</strong> i<strong>de</strong>ntificación<strong>de</strong> los trenes también se <strong>de</strong>sarrol<strong>la</strong>ron p<strong>la</strong>casprototipo. Estas p<strong>la</strong>cas solucionan por completotanto el problema <strong>de</strong> <strong>la</strong> localización como el <strong>de</strong> <strong>la</strong>i<strong>de</strong>ntificación <strong>de</strong> cada tren en <strong>la</strong> maqueta.El sistema <strong>de</strong> i<strong>de</strong>ntificación consta <strong>de</strong> dosp<strong>la</strong>cas (Figura 5), una p<strong>la</strong>ca emisora que se colocaen <strong>la</strong> parte superior <strong>de</strong> los trenes y otra receptoraubicada en puntos estratégicos <strong>de</strong>l recorrido. Acontinuación se pasan a <strong>de</strong>scribir más<strong>de</strong>tal<strong>la</strong>damente ambas p<strong>la</strong>cas.La p<strong>la</strong>ca emisora es muy sencil<strong>la</strong>. Su sencillezviene <strong>de</strong>terminada por <strong>la</strong>s restricciones <strong>de</strong> espacio,ya que, como se ha mencionado anteriormente,estará situada encima <strong>de</strong> los trenes. Su función esemitir constantemente un tren <strong>de</strong> pulsos a una<strong>de</strong>terminada frecuencia. Con este esquema, <strong>la</strong>i<strong>de</strong>ntificación se resuelve fácilmente si asignamosun valor frecuencia pre<strong>de</strong>terminado a cada uno <strong>de</strong>los trenes. Una <strong>de</strong> <strong>la</strong>s características <strong>de</strong> estecircuito es que ha sido sintonizado para que e<strong>la</strong>lcance <strong>de</strong>l emisor <strong>de</strong> infrarrojos no sobrepase los10 cm. Con esto se preten<strong>de</strong>n reducir posibleserrores <strong>de</strong>bidos a <strong>la</strong> recepción <strong>de</strong> una frecuenciaemitida por los trenes que circulen por víasparale<strong>la</strong>s a <strong>la</strong> <strong>de</strong>seada. También por este mismomotivo, se han elegido unos emisores <strong>de</strong>infrarrojos con poca apertura angu<strong>la</strong>r (20ºEn cuanto a <strong>la</strong> p<strong>la</strong>ca receptora , como se hamencionado anteriormente, se ubica a lo <strong>la</strong>rgo <strong>de</strong>lrecorrido <strong>de</strong> los trenes en <strong>la</strong> maqueta y se conectaal PC a través <strong>de</strong> <strong>la</strong> tarjeta <strong>de</strong> adquisición <strong>de</strong> datos.Se encarga <strong>de</strong> <strong>de</strong>tectar <strong>la</strong> frecuencia <strong>de</strong>l tren quepasa por <strong>de</strong><strong>la</strong>nte <strong>de</strong> el<strong>la</strong>. Esta p<strong>la</strong>ca es un pocomás compleja que <strong>la</strong> anterior, y en el<strong>la</strong> se pue<strong>de</strong>ndistinguir dos etapas: etapa <strong>de</strong> recepción (<strong>de</strong>l tren<strong>de</strong> pulsos) y etapa <strong>de</strong> i<strong>de</strong>ntificación (<strong>de</strong> <strong>la</strong>frecuencia).La primera etapa, recepción <strong>de</strong>l tren <strong>de</strong> pulsos,tiene como entrada un tren <strong>de</strong> pulsos en elespectro infrarrojo y como salida el mismo tren <strong>de</strong>pulsos pero ahora como señal eléctrica. Estácompuesta únicamente por un fototransistor, quees el encargado <strong>de</strong> hacer esta transformación.La segunda etapa tiene como entrada el trenpulsos (salida <strong>de</strong> <strong>la</strong> etapa anterior) y como salidatiene un valor digital (1 bit) indicando si se está<strong>de</strong>tectando <strong>la</strong> frecuencia (1) o no (0). De estaforma, esta segunda etapa pue<strong>de</strong> repetirse tantasveces como frecuencia s queramos <strong>de</strong>tectar. Parapo<strong>de</strong>r realizar correctamente <strong>la</strong> i<strong>de</strong>ntificación,cada una <strong>de</strong> estas etapas <strong>de</strong> i<strong>de</strong>ntificación, tendráque ser sintonizada para que i<strong>de</strong>ntifique una <strong>de</strong> <strong>la</strong>sfrecuencias pre<strong>de</strong>terminadas y así po<strong>de</strong>ri<strong>de</strong>ntificar uno <strong>de</strong> los trenes.Al igual que en <strong>la</strong> p<strong>la</strong>ca <strong>de</strong> cambio <strong>de</strong> vía,cada etapa <strong>de</strong> i<strong>de</strong>ntificación dispone <strong>de</strong> un led queindica cuando se está <strong>de</strong>tectando <strong>la</strong> frecuencia a <strong>la</strong>que ha sido sintonizada. De esta forma es fácili<strong>de</strong>ntificar visualmente si se esta <strong>de</strong>tectando eltren <strong>de</strong>seado o no.En <strong>la</strong> figura 4 aparecen <strong>la</strong>s dos p<strong>la</strong>casprototipo, en este caso <strong>la</strong> p<strong>la</strong>ca receptora estáhecha para soportar no más <strong>de</strong> cuatro trenessimultáneamente.


PLACA RECEPTORA0 / 1PLACAEMISORAN Etapas<strong>de</strong> <strong>de</strong>tección0 / 1ReceptorDeInfrarrojosEmisorDeInfrarrojos0 / 1TRENFigura 5.- Diagrama <strong>de</strong> bloques <strong>de</strong>l sistema <strong>de</strong> i<strong>de</strong>ntificación .exactamente <strong>la</strong> función <strong>de</strong>seada y resultan muchomás económicas. Finalmente, <strong>la</strong> realización <strong>de</strong>prototipos propios hace que <strong>la</strong> maqueta resultantesea totalmente adhoc a <strong>la</strong> aplicación <strong>de</strong>sarrol<strong>la</strong>da.ReceptorFigura 6.- P<strong>la</strong>cas prototipo para <strong>la</strong> i<strong>de</strong>ntificación <strong>de</strong>los trenes.5. Conclusiones y trabajo futuroEmisorComo conclusiones <strong>de</strong>stacar que <strong>la</strong> puesta enmarcha una maqueta <strong>de</strong> estas características esuna <strong>la</strong>bor totalmente artesanal. Por otra parte,aunque los fabricantes ofrecen soluciones paracasi todos los problemas que surgen cuando sequiere realizar un control <strong>de</strong>s<strong>de</strong> un PC, éstas nosiempre se ajustan a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l usuario,siendo en <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s ocasiones soluciones<strong>de</strong>masiado caras.Respecto al trabajo futuro se está pensando enincorporar a <strong>la</strong> maqueta un brazo robot queinteractúe con los trenes, simu<strong>la</strong>ndo <strong>la</strong> carga y<strong>de</strong>scarga <strong>de</strong> mercancías en los distintos trenes.Otra <strong>de</strong> <strong>la</strong>s posibilida<strong>de</strong>s interesantes es ponersemáforos en <strong>la</strong> maqueta, los cuales añadirán unpoco mas <strong>de</strong> complejidad al control. Por último, ycon vistas a ampliar el rango <strong>de</strong> asignaturas quepuedan hacer uso <strong>de</strong> <strong>la</strong> maqueta, también se estápensando ubicar una cámara cenital que permita <strong>la</strong>aplicación <strong>de</strong> algoritmos <strong>de</strong> visión porcomputador para po<strong>de</strong>r i<strong>de</strong>ntificar <strong>la</strong> posición <strong>de</strong>los trenes en cada momento.Referencias[1] MÄRKLÍN http://www.marklin.com (USA)Por estas razones el presente artículo presentauna serie <strong>de</strong> p<strong>la</strong>cas prototipo que realizan


iFOTON. Herramienta didáctica <strong>de</strong> bajo coste para el <strong>de</strong>sarrollo<strong>de</strong> sistemas basados en microcontro<strong>la</strong>dorNorberto Cañas <strong>de</strong> PazGracián Triviño BarrosDpto. <strong>de</strong> Informática AplicadaDpto. Tecnología FotónicaUniversidad Politécnica <strong>de</strong> MadridUniversidad Politécnica <strong>de</strong> Madrid28031 Madrid 28660 Madri<strong>de</strong>-mail: norberto@eui.upm.ese-mail gtrivino@fi.upm.es:ResumenCon este documento presentamos un entorno <strong>de</strong><strong>de</strong>sarrollo, con interés didáctico, para sistemascon microcontro<strong>la</strong>dores (que hemos l<strong>la</strong>madoiFOTON). I<strong>de</strong>ado y construido para prepararprototipos con el microcontro<strong>la</strong>dor PIC16F873,está constituido por dos componentes fundamentales:El primero es una tarjeta PCB <strong>de</strong> propósitogeneral y <strong>de</strong> bajo coste, en <strong>la</strong> que se ha incluidouna zona preta<strong>la</strong>drada para incluir nuevos elementos.El segundo es un programa que permite grabar<strong>la</strong> memoria no volátil <strong>de</strong>l microcontro<strong>la</strong>dor,sin utilizar un programador hardware externo,valiéndose para ello <strong>de</strong>l puerto paralelo (IEEE-1284) <strong>de</strong>l computador en el que se ejecuta. Dichoprograma suministra también un conjunto <strong>de</strong>utilida<strong>de</strong>s básicas para <strong>la</strong> organización <strong>de</strong> proyectossencillos.1. Antece<strong>de</strong>ntesExisten alternativas comerciales muy variadaspara el <strong>de</strong>sarrollo <strong>de</strong> sistemas con microcontro<strong>la</strong>dores,muchas <strong>de</strong> <strong>la</strong>s cuales tienen distintos grados<strong>de</strong> interés para <strong>la</strong> enseñanza en razón <strong>de</strong> su coste,complejidad, orientación <strong>de</strong>l producto, etc. En estesentido es interesante indicar que <strong>la</strong> mayoría <strong>de</strong>los fabricantes <strong>de</strong> microcontro<strong>la</strong>dores suministranp<strong>la</strong>cas entrenadoras, con el soporte software necesariopara utilizar<strong>la</strong>s <strong>de</strong> una manera a<strong>de</strong>cuada. Lasreferencias <strong>de</strong> web [1] [5] [7] [10] [13] [16] constituyenuna pequeña revisión <strong>de</strong> los sistemas <strong>de</strong>este tipo disponibles en el mercado en este momento.Con un p<strong>la</strong>nteamiento específicamenteeducativo po<strong>de</strong>mos encontrar algunos productos<strong>de</strong> Lego [8] que tienen <strong>la</strong> ventaja añadida <strong>de</strong>proporcionar <strong>la</strong>s conocidas facilida<strong>de</strong>s para <strong>la</strong>construcción <strong>de</strong> prototipos <strong>de</strong> estructuras mecánicasy acop<strong>la</strong>miento <strong>de</strong> sensores.Dentro <strong>de</strong> los sistemas construidos, para cubrirexclusivamente objetivos docentes, vale <strong>la</strong>pena <strong>de</strong>stacar <strong>la</strong> contro<strong>la</strong>dora Enconor [17], <strong>de</strong>sarrol<strong>la</strong>dapara alcanzar metas en el ámbito <strong>de</strong> <strong>la</strong>enseñanza secundaria, por profesores que impartendocencia en dicho nivel.Fuera <strong>de</strong>l ámbito comercial, existen antece<strong>de</strong>ntesimportantes en el terreno <strong>de</strong> los sistemasque permiten <strong>la</strong> programación <strong>de</strong> microcontro<strong>la</strong>dores<strong>de</strong> coste reducido. Destacan posiblementeaquellos que pue<strong>de</strong>n reprogramar el dispositivosin necesidad <strong>de</strong> extraerlo <strong>de</strong>l circuito en el que seencuentra alojado, como por ejemplo los p<strong>la</strong>nteadosen <strong>la</strong>s referencias [2] [14]. Sin embargo, enlos casos indicados, para leer y enviar datos seutiliza el puerto paralelo <strong>de</strong> un computador personalsegún <strong>la</strong> especificación Centronics. Ello obligaa introducir componentes para contar con líneasbidireccionales <strong>de</strong> datos, distintos <strong>de</strong> los intrínsecamentenecesarios para el cometido original <strong>de</strong>lcircuito.Una alternativa distinta, que también permiteeliminar <strong>la</strong> necesidad <strong>de</strong> adquirir un dispositivograbador, consiste en introducir <strong>de</strong>ntro <strong>de</strong>l microcontro<strong>la</strong>dorun programa cargador [15]. Dichoprograma, al empezar a funcionar, explora si loque se quiere hacer es cargar un nuevo programa


en <strong>la</strong> zona libre <strong>de</strong> memoria o ejecutar el programaactualmente cargado. Esta alternativa, quetambién es muy interesante, tiene como contrapartidas<strong>la</strong> reducción <strong>de</strong>l espacio <strong>de</strong> memoria disponiblepara <strong>la</strong> aplicación, al tiempo que persiste elproblema <strong>de</strong> grabar <strong>la</strong> memoria <strong>de</strong>l componente <strong>la</strong>primera vez.En re<strong>la</strong>ción con el software <strong>de</strong> grabación <strong>de</strong> <strong>la</strong>memoria <strong>de</strong> los microcontro<strong>la</strong>dores, se pue<strong>de</strong>nhacer <strong>la</strong>s siguientes consi<strong>de</strong>raciones: Por un <strong>la</strong>dolos fabricantes <strong>de</strong> programadores comercialesincluyen habitualmente el software <strong>de</strong> grabaciónen sus productos. Dichos programas suelen teneruna <strong>de</strong>pen<strong>de</strong>ncia muy fuerte con el dispositivograbador, por lo que habitualmente no tiene utilidadsin el mismo. Por otro <strong>la</strong>do, <strong>la</strong>s alternativasque tienen como objetivo reducir el precio <strong>de</strong>lgrabador o que eliminan <strong>la</strong> necesidad <strong>de</strong>l mismo,generalmente presentan un software <strong>de</strong> grabación<strong>de</strong> características muy limitadas, eliminando enocasiones <strong>la</strong> posibilidad <strong>de</strong> aprovechar todas <strong>la</strong>scaracterísticas <strong>de</strong>l microcontro<strong>la</strong>dor afectado.En el entorno que presentamos hemos eliminado<strong>la</strong> necesidad <strong>de</strong> añadir nuevo hardware alcircuito <strong>de</strong> nuestro contro<strong>la</strong>dor, por apoyarnos enel estándar IEEE 1284 para puertos paralelos (queactualmente respetan los fabricantes <strong>de</strong> computadores<strong>de</strong> forma casi generalizada), en el que seincluye, entre otros, un modo <strong>de</strong> explotaciónbidireccional <strong>de</strong>l bus <strong>de</strong> datos (Byte mo<strong>de</strong> [6]). Nohemos optado tampoco por introducir un cargadoren el microcontro<strong>la</strong>dor, por lo que disponemos <strong>de</strong>toda <strong>la</strong> memoria para albergar programas.2. IntroducciónEs sabido que a<strong>de</strong>más <strong>de</strong> enseñar conceptos esigualmente importante enseñar procedimientosque los utilicen. La aplicación mediante experimentaciónpráctica <strong>de</strong> estos procedimientos es unaspecto c<strong>la</strong>ve para afianzar el aprendizaje <strong>de</strong>l tipo<strong>de</strong> conocimientos manejados en nuestro campo.Una <strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>s a <strong>la</strong>s que se enfrenta elprofesor que imparte docencia en el área <strong>de</strong>l <strong>de</strong>sarrollo<strong>de</strong> sistemas basados en microcontro<strong>la</strong>dor, esel problema <strong>de</strong> disponer <strong>de</strong> recursos eficaces y <strong>de</strong>bajo coste, que permitan realizar prácticas <strong>de</strong>diseño y <strong>de</strong>sarrollo <strong>de</strong> sistemas con un p<strong>la</strong>nteamientoabierto y cuyos resultados hardware ysoftware, al quedar en propiedad <strong>de</strong>l alumno,<strong>de</strong>jen en sus manos <strong>la</strong> posibilidad y motivaciónpara nuevos <strong>de</strong>sarrollos personales.Con el propósito <strong>de</strong> realizar una aportaciónhacia <strong>la</strong> solución <strong>de</strong> este problema, nos hemosp<strong>la</strong>nteado <strong>la</strong> construcción <strong>de</strong> <strong>la</strong> herramienta quepresentamos, siendo sus requisitos generales lossiguientes:1. Proporcionar un circuito a<strong>de</strong>cuado para <strong>la</strong>construcción <strong>de</strong> prototipos con microcontro<strong>la</strong>dores.2. Proporcionar <strong>la</strong> posibilidad <strong>de</strong> programar <strong>la</strong>memoria <strong>de</strong>l microcontro<strong>la</strong>dor sin <strong>la</strong> necesidad<strong>de</strong> adquirir un sistema adicional.3. Proporcionar facilida<strong>de</strong>s para <strong>la</strong> organización<strong>de</strong> <strong>la</strong> documentación <strong>de</strong>l proyecto y por lotanto para <strong>la</strong> creación <strong>de</strong> una librería <strong>de</strong> proyectosreutilizables.La presente comunicación está organizada <strong>de</strong><strong>la</strong> siguiente manera: en primer lugar presentamos,el circuito que proponemos para <strong>de</strong>sarrol<strong>la</strong>r prototipos.En segundo lugar, para facilitar <strong>la</strong> grabación<strong>de</strong> <strong>la</strong> memoria <strong>de</strong>l microcontro<strong>la</strong>dor y <strong>la</strong> organización<strong>de</strong>l proyecto, exponemos <strong>la</strong>s característicasmás <strong>de</strong>stacadas <strong>de</strong>l programa construido.3. Facilida<strong>de</strong>s para el diseño y construcción<strong>de</strong>l hardware <strong>de</strong>l prototipoEn los <strong>de</strong>sarrollos con microcontro<strong>la</strong>dores existeuna inversión fija, difícil <strong>de</strong> eliminar, y es <strong>la</strong>asociada con <strong>la</strong> p<strong>la</strong>ca que <strong>de</strong>bemos utilizar parahacer prototipos. Es cierto que cuando un <strong>de</strong>sarrollose encuentra en una etapa avanzada es generalmentea<strong>de</strong>cuado diseñar un circuito impresoespecífico, pero mientras no se alcanza dichasituación tiene interés contar con p<strong>la</strong>cas que tenganlos componentes que consi<strong>de</strong>ramos fijos, asícomo algunas zonas preta<strong>la</strong>dradas (en <strong>la</strong> mismap<strong>la</strong>ca o en p<strong>la</strong>cas separadas), <strong>de</strong> forma que sefacilite <strong>la</strong> inserción <strong>de</strong> nuevos componentes ynuevas conexiones entre los mismos. Por estemotivo proponemos una p<strong>la</strong>ca <strong>de</strong> propósito general,en <strong>la</strong> que hemos incluido el espacio y <strong>la</strong>sconexiones para los elementos que con más frecuenciase utilizan, así como también una zonapreta<strong>la</strong>drada.En re<strong>la</strong>ción con el segundo requisito tiene interésreducir el precio <strong>de</strong>l entorno, lo cual sepue<strong>de</strong> conseguir por diferentes caminos. Nosotros


hemos valorado especialmente <strong>la</strong> posibilidad <strong>de</strong>grabar <strong>la</strong> memoria <strong>de</strong>l microcontro<strong>la</strong>dor utilizandoniveles TTL. Esta alternativa permite utilizartensiones fácilmente generables <strong>de</strong>s<strong>de</strong> un computadorpersonal, eliminando con ello <strong>la</strong> exigencia<strong>de</strong> adquirir o construir un dispositivo grabador.Queremos <strong>de</strong>stacar que el programa <strong>de</strong> grabacióny <strong>la</strong> p<strong>la</strong>ca <strong>de</strong> prototipos propuesta son elementosseparados que pue<strong>de</strong>n utilizarse juntos o<strong>de</strong> forma in<strong>de</strong>pendiente. El programa <strong>de</strong> grabaciónse pue<strong>de</strong> utilizar con otras p<strong>la</strong>cas, siempre que sesuministre <strong>la</strong> interfaz a<strong>de</strong>cuada con el computadory es evi<strong>de</strong>nte que no es necesario grabar el microcontro<strong>la</strong>dorcon el programa que aquí proponemos.Para facilitar el <strong>de</strong>sarrollo <strong>de</strong> prototipos, proponemosun circuito basado en el microcontro<strong>la</strong>dorPIC16F873. Con él introducimos un conjunto<strong>de</strong> componentes reducido, bien conocidos y fácilmentelocalizables en el mercado, al tiempo quereservamos una zona preta<strong>la</strong>drada para insertarnuevos elementos según sean <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>cada proyecto concreto.Dicho circuito contiene los siguientes bloquesprincipales: microcontro<strong>la</strong>dor (16F873), módulogenerador <strong>de</strong> niveles RS232 (MAX232), componentes<strong>de</strong> alimentación y conectores. Describimosbrevemente a continuación los mismos, <strong>de</strong>spués<strong>de</strong> introducir <strong>la</strong>s características principales <strong>de</strong>lconjunto.Las características más importantes <strong>de</strong> <strong>la</strong> p<strong>la</strong>caque presentamos son <strong>la</strong>s siguientes (ver figura 1):1. Hemos intentado promover un ahorro <strong>de</strong>tiempo a <strong>la</strong> hora <strong>de</strong> preparar los montajes quese pretendan evaluar, sin que con ello semerme excesivamente <strong>la</strong> calidad <strong>de</strong>l prototipoconstruido.2. Se han ubicado los conectores <strong>de</strong> los puertosparalelos cerca <strong>de</strong> <strong>la</strong> zona preta<strong>la</strong>drada paraevitar, en <strong>la</strong> medida <strong>de</strong> lo posible, <strong>la</strong> existencia<strong>de</strong> cables sobre los componentes fijos.3. Se incluye un conector para po<strong>de</strong>r efectuar <strong>la</strong>grabación <strong>de</strong>l microcontro<strong>la</strong>dor <strong>de</strong>s<strong>de</strong> un PC(o cualquier otro dispositivo que se adapte alprotocolo <strong>de</strong> grabación <strong>de</strong>l PIC).4. Para minimizar el precio <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca y facilitar<strong>la</strong> posibilidad <strong>de</strong> establecer conexionespor <strong>la</strong> técnica <strong>de</strong> “wrapping”, se han escogidotiras <strong>de</strong> pines como conectores, salvo parael caso <strong>de</strong>l RS-232.5. Son accesibles todas <strong>la</strong>s líneas <strong>de</strong> los puertosparalelos <strong>de</strong>s<strong>de</strong> sus conectores, con in<strong>de</strong>pen<strong>de</strong>ncia<strong>de</strong> que algunas <strong>de</strong> el<strong>la</strong>s lleguen a otroselementos <strong>de</strong>l circuito (ej. conector <strong>de</strong> grabación),por tener un cometido especial <strong>de</strong>pendiendo<strong>de</strong> <strong>la</strong>s circunstancias o <strong>de</strong> <strong>la</strong>s operacionesque se pretendan hacer con el microcontro<strong>la</strong>dor.6. Hay conectores <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca que permitenacce<strong>de</strong>r a GND.7. Hay un conector <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca que permiteacce<strong>de</strong>r a <strong>la</strong>s tensiones <strong>de</strong> alimentaciónexistentes antes y <strong>de</strong>spués <strong>de</strong>l regu<strong>la</strong>dor(7805).Conector <strong>de</strong> alimentaciónexternaDB9 (RS-232)ResetConector <strong>de</strong> grabaciónPIC16F873Zona preta<strong>la</strong>drada3.1 Características principalesAlimentacióndisponibleMAX232GNDdisponible3.2 Microcontro<strong>la</strong>dorPuertos paralelosFigura 1. P<strong>la</strong>ca iFOTON con componentes.El microcontro<strong>la</strong>dor seleccionado es elPIC16F873 <strong>de</strong> <strong>la</strong> empresa Microchip [10], [12].Es difícil <strong>de</strong>fen<strong>de</strong>r con <strong>de</strong>talle, hoy en día, unaelección <strong>de</strong> este tipo frente a otras alternativas,dada <strong>la</strong> gran variedad <strong>de</strong> microcontro<strong>la</strong>dores quehay en el mercado con posibilida<strong>de</strong>s extraordina-


ias. Nos limitaremos a comentar algunos aspectos<strong>de</strong>stacados <strong>de</strong>l mismo. Su arquitectura es RISC ytiene integrados los siguientes periféricos: convertidoranalógico digital <strong>de</strong> 10 bits, generador <strong>de</strong>señales PWM, módulo comparador y capturador,módulos <strong>de</strong> comunicaciones (USART, I2C), 3puertos paralelos y 3 timers.Tiene 3 bancos <strong>de</strong> memoria separados. Unbanco <strong>de</strong> 4K pa<strong>la</strong>bras <strong>de</strong> 14 bits <strong>de</strong> memoriaFLASH para código. Un banco SRAM <strong>de</strong> 192bytes <strong>de</strong> datos y un banco EEPROM <strong>de</strong> 128 bytes<strong>de</strong> datos (regrabable en tiempo <strong>de</strong> ejecución y entiempo <strong>de</strong> programación).Como característica notable <strong>de</strong>l PIC16F873(que también tienen otros microcontro<strong>la</strong>dores <strong>de</strong>lmismo fabricante) hay que <strong>de</strong>stacar <strong>la</strong> posibilidad<strong>de</strong> grabar su memoria con niveles bajos <strong>de</strong> tensión(Low Voltage in Circuit Serial Programming [9]),lo que permite programar el microcontro<strong>la</strong>dor,incluso en el circuito en el que se encuentra insertado,sin recurrir a los habituales niveles <strong>de</strong> 13 o14 Voltios. En concreto, po<strong>de</strong>mos generar <strong>la</strong>sseñales necesarias para <strong>la</strong> lectura y escritura <strong>de</strong>s<strong>de</strong>el puerto paralelo <strong>de</strong> un computador, como mása<strong>de</strong><strong>la</strong>nte comentaremos al hab<strong>la</strong>r <strong>de</strong>l programa <strong>de</strong>grabación.Para terminar este apartado queremos <strong>de</strong>stacarque el microcontro<strong>la</strong>dor seleccionado ofrece unaexcelente re<strong>la</strong>ción calidad precio como <strong>de</strong>muestra<strong>la</strong> gran difusión que tiene actualmente en el mercado.3.3 Módulo generador <strong>de</strong> niveles RS-232Como se ha indicado el microcontro<strong>la</strong>dor proporcionauna USART que respeta <strong>la</strong> norma RS-232,pero genera señales con niveles TTL. Para adaptar<strong>la</strong> amplitud <strong>de</strong> <strong>la</strong>s mismas a los niveles que permite<strong>la</strong> norma, se incluye el componente MAX232.Sobra <strong>de</strong>cir que si no es necesario utilizar estasfacilida<strong>de</strong>s <strong>de</strong> comunicaciones, en el prototipo quevamos a <strong>de</strong>sarrol<strong>la</strong>r, po<strong>de</strong>mos utilizar <strong>la</strong> p<strong>la</strong>ca queproponemos prescindiendo <strong>de</strong>l MAX232 y <strong>de</strong> loscon<strong>de</strong>nsadores asociados, sin ningún perjuiciopara el funcionamiento <strong>de</strong>l resto <strong>de</strong>l circuito.3.4 Componentes <strong>de</strong> alimentaciónPara alimentar <strong>la</strong> p<strong>la</strong>ca hemos consi<strong>de</strong>rado interesantepo<strong>de</strong>r utilizar transformadores <strong>de</strong> los quehabitualmente se suministran con los altavoces <strong>de</strong>los PC’s o aparatos simi<strong>la</strong>res. Por ello hemosincluido un conector tipo jack, seguido <strong>de</strong> unregu<strong>la</strong>dor <strong>de</strong> tensión 7805 (Fairchild). Se ha incluidotambién un led que nos permite comprobarsi <strong>la</strong> p<strong>la</strong>ca está alimentada o no.3.5 ConectoresPara po<strong>de</strong>r acce<strong>de</strong>r a los diferentes servicios, quesuministran los elementos anteriormente mencionados,ha sido necesario dotar al circuito <strong>de</strong> unconjunto <strong>de</strong> conectores que permita con facilida<strong>de</strong>xplotar sus posibilida<strong>de</strong>s.Pue<strong>de</strong>n dividirse <strong>de</strong> <strong>la</strong> siguiente manera:1. Conectores <strong>de</strong> puertos paralelos. Permitenacce<strong>de</strong>r a los puertos paralelos <strong>de</strong>l microcontro<strong>la</strong>dor.2. Conector <strong>de</strong> comunicaciones RS-232. Es unconector <strong>de</strong>l tipo D-Shell (DB9) por el que sepue<strong>de</strong> acce<strong>de</strong>r a <strong>la</strong>s líneas <strong>de</strong> comunicaciónsuministradas por el componente MAX232.3. Conector <strong>de</strong> grabación serie. Por medio <strong>de</strong>lcual po<strong>de</strong>mos activar los servicios <strong>de</strong> lecturay grabación <strong>de</strong> <strong>la</strong> memoria no volátil <strong>de</strong>l microcontro<strong>la</strong>dor<strong>de</strong>s<strong>de</strong> un programador externo(ej. un computador personal).4. Conector <strong>de</strong> alimentación. Permite el accesoa <strong>la</strong>s tensiones disponibles en <strong>la</strong> p<strong>la</strong>ca <strong>de</strong> circuitoimpreso: La tensión regu<strong>la</strong>da suministradapor el componente 7805 o <strong>la</strong> que directamentesuministre <strong>la</strong> fuente <strong>de</strong> alimentaciónexterna.5. Conector <strong>de</strong> tierra. Permite acce<strong>de</strong>r a GNDpara cubrir <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> tensión <strong>de</strong> referencia<strong>de</strong> los nuevos componentes que necesitemosañadir.4. Facilida<strong>de</strong>s para grabar <strong>la</strong> memoria ypara <strong>la</strong> organización <strong>de</strong>l proyecto.El programa <strong>de</strong> grabación permite borrar, leer ygrabar los bancos <strong>de</strong> memoria no volátil <strong>de</strong>l microcontro<strong>la</strong>dor(PIC16F873). Para ello es necesarioconectar el puerto paralelo <strong>de</strong>l computador conel conector <strong>de</strong> grabación <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca para prototiposanteriormente presentada y utilizar <strong>la</strong>sdiferentes opciones que brinda el programa<strong>de</strong>sarrol<strong>la</strong>do.


eguidamente exponemos los aspectos más<strong>de</strong>stacados re<strong>la</strong>cionados con <strong>la</strong> utilización <strong>de</strong>dicho programa.4.1 Grabación con niveles bajos <strong>de</strong> tensiónEl microcontro<strong>la</strong>dor PIC16F873 permite grabar sumemoria con niveles bajos <strong>de</strong> tensión. En supa<strong>la</strong>bra <strong>de</strong> configuración existe un bit que <strong>de</strong>terminasi está activada esta opción (LVP), o por elcontrario hay que utilizar el procedimiento ordinarioque exige tensiones <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> 13.5 Voltios.El componente viene configurado <strong>de</strong> fábrica conel bit LVP activado.Hay una pequeña contrapartida cuando se activael bit LVP y es que <strong>la</strong> patil<strong>la</strong> RB3 <strong>de</strong>l microcontro<strong>la</strong>dor<strong>de</strong>ja <strong>de</strong> ser un pin <strong>de</strong> propósito generalen el puerto paralelo B, dado que interviene enel protocolo <strong>de</strong> entrada en modo grabación. Conectandodicha patil<strong>la</strong> a GND garantizamos que elmicrocontro<strong>la</strong>dor no entra en modo grabación,ejecutando al arrancar el programa cargado enmemoria. Por ello, el conector <strong>de</strong> grabación hasido diseñado <strong>de</strong> tal manera que cuando no estáacop<strong>la</strong>do el cable se pueda insertar un puente queprecisamente establece esta conexión (Figura 2).verse en [12]). En modo programación el pin RB6pasa a <strong>de</strong>sempeñar funciones <strong>de</strong> reloj <strong>de</strong> sincronizacióny el pin RB7 pasa a ser <strong>de</strong> datos. Esteúltimo (RB7) <strong>de</strong>be ser bidireccional, dado que seutilizará en el sentido ComputadorP<strong>la</strong>ca cuandose quieran enviar comandos y datos al microcontro<strong>la</strong>dor,mientras que el sentido será P<strong>la</strong>caComputadorcuando se realicen operaciones<strong>de</strong> lectura <strong>de</strong> <strong>la</strong> memoria.Cuando el microcontro<strong>la</strong>dor funciona ejecutandoel programa que tiene cargado en memoria,los pines RB6 y RB7 vuelven a ser <strong>de</strong> propósitogeneral, por lo que pue<strong>de</strong>n ser utilizadoslibremente en nuestros proyectos.Por lo dicho anteriormente, <strong>la</strong>s señales que<strong>de</strong>bemos contemp<strong>la</strong>r a <strong>la</strong> hora <strong>de</strong> construir elcable <strong>de</strong> conexión con el computador son cuatro,<strong>de</strong>biendo añadirse un quinto cable para GND.Para que <strong>la</strong>s operaciones <strong>de</strong> lectura, borrado ygrabación se realicen correctamente con nuestroprograma es necesario establecer <strong>la</strong>s conexionesque p<strong>la</strong>nteamos a continuación (Tab<strong>la</strong> 1), en elsupuesto <strong>de</strong> que el conector <strong>de</strong>l puerto paralelo <strong>de</strong>lcomputador sea <strong>de</strong>l tipo D-Shell 25 (el más habitual)(1) .RB3GNDPIN puerto paralelo Conector grabaciónPIC1 RB6 (Reloj)2 RB7 (Datos)16 RB3 (Control)17 MCLR18, 19, 20, 21, 22, 23, 24 GNDy 25Tab<strong>la</strong> 1. Conexiones <strong>de</strong>l cable <strong>de</strong> grabación.4.3 Arranque <strong>de</strong>l programaFigura 2. Diseño físico iFOTON.4.2 Cable <strong>de</strong> conexión entre el computador y <strong>la</strong>p<strong>la</strong>ca <strong>de</strong> prototiposPara entrar en modo programación es necesarioque pasen a nivel bajo los pines RB6, RB7, RB3 yMCLR <strong>de</strong>l microcontro<strong>la</strong>dor, seguidamente <strong>de</strong>bepasar a nivel alto el pin RB3 y posteriormenteMCLR (los <strong>de</strong>talles <strong>de</strong> temporización pue<strong>de</strong>nLo primero que realiza el programa al arrancar esuna prueba <strong>de</strong> velocidad <strong>de</strong>l computador. Lainformación obtenida es utilizada para realizar unacorrecta temporización <strong>de</strong> <strong>la</strong>s señales, y así respetar<strong>la</strong>s restricciones que impone el fabricante <strong>de</strong>lmicrocontro<strong>la</strong>dor. Esta forma <strong>de</strong> actuar ha sido(1) Para realizar el cable hemos utilizado par trenzadoy no hemos tenido problemas con longitu<strong>de</strong>s inferiores a2 metros.


necesario imp<strong>la</strong>ntar<strong>la</strong> por haber tenido problemasal utilizar los servicios suministrado por el nivelAPI <strong>de</strong>l sistema operativo utilizado (<strong>la</strong> versiónactual funciona sobre Windows 95-98 y con unsistema <strong>de</strong> <strong>de</strong>sprotección <strong>de</strong> puertos también enNT y Windows 2000. Las siguientes versionesque se e<strong>la</strong>boren tendrán como soporte adicionalp<strong>la</strong>taformas LINUX).Una vez realizada <strong>la</strong> prueba <strong>de</strong> velocidad, elsistema abre una ventana en <strong>la</strong> que pue<strong>de</strong> acce<strong>de</strong>rsea dos menús <strong>de</strong>splegables. El primero <strong>de</strong> ellospermite administrar <strong>la</strong> estructura <strong>de</strong> información<strong>de</strong> los proyectos que <strong>de</strong>sarrollemos (cuya utilizaciónes opcional), mientras que el segundo permiteacce<strong>de</strong>r a los servicios <strong>de</strong> programación <strong>de</strong>lmicrocontro<strong>la</strong>dor propiamente dichos.4.4 Menú <strong>de</strong> proyectosDado que uno <strong>de</strong> los cometidos <strong>de</strong>l entorno <strong>de</strong><strong>de</strong>sarrollo precisamente es ser una herramienta <strong>de</strong>carácter didáctico que facilite <strong>la</strong> realización <strong>de</strong>prácticas con microcontro<strong>la</strong>dores, consi<strong>de</strong>ramosa<strong>de</strong>cuado fomentar ciertas costumbres metodológicasen los futuros ingenieros que formamos. Elmotivo <strong>de</strong>l presente menú es obligar a los alumnosa completar y documentar una serie <strong>de</strong> etapas(requisitos, diseño, etc.) antes <strong>de</strong> abordar <strong>la</strong> programación<strong>de</strong>l microcontro<strong>la</strong>dor.Las opciones disponibles son: “Crear o modificarproyecto”, “Abrir proyecto” o “Configuraraplicación”.“Crear o modificar proyecto” permite indicarqué ficheros contienen información re<strong>la</strong>tiva a unproyecto en concreto. Los proyectos creados enesta aplicación pue<strong>de</strong>n estar constituidos por losficheros: programa fuente, requisitos, diseño <strong>de</strong>lproyecto, diagramas <strong>de</strong>l circuito, fichero adicionaly fichero ejecutable.“Abrir proyecto” permite obtener el nombre<strong>de</strong> los ficheros que tienen información <strong>de</strong> unproyecto así como editarlos, invocando automáticamentea los programas <strong>de</strong> edición que se hanespecificado para tal efecto en <strong>la</strong> opción “Configuraraplicación”.4.5 Menú programadorEste menú permite efectuar <strong>la</strong>s operaciones <strong>de</strong>borrado, lectura y grabación <strong>de</strong> <strong>la</strong> memoria <strong>de</strong>lmicrocontro<strong>la</strong>dor.Las opciones disponibles son: “Configurarpuerto paralelo”, “Grabar microcontro<strong>la</strong>dor”,“Leer microcontro<strong>la</strong>dor” y “Borrar microcontro<strong>la</strong>dor”.“Configurar puerto paralelo” es una opciónque posiblemente no sea necesario utilizar nunca,pero se suministra para dar cobertura a posiblessituaciones extraordinarias. Por <strong>de</strong>fecto el programaasume que los registros <strong>de</strong>l contro<strong>la</strong>dor <strong>de</strong>lpuerto paralelo están ubicados a partir <strong>de</strong> <strong>la</strong> dirección$378. Si este no es el caso, esta opción suministraotras direcciones habituales para po<strong>de</strong>relegir, así como <strong>la</strong> posibilidad <strong>de</strong> especificar unadistinta a todas <strong>la</strong>s ofertadas.“Grabar microcontro<strong>la</strong>dor” solicita al usuarioel nombre <strong>de</strong>l fichero que contiene el códigoejecutable a grabar (sí existía un proyecto abiertotoma como elección por <strong>de</strong>fecto el fichero ejecutable<strong>de</strong>l mismo) pudiendo especificarse también<strong>de</strong>ntro <strong>de</strong> dicho fichero el contenido <strong>de</strong> <strong>la</strong> memoria<strong>de</strong> datos EEPROM (1) . El código ejecutable<strong>de</strong>be suministrarse respetando el formatoINHX8M <strong>de</strong> Intel [11], opción que normalmentesuministran los ensamb<strong>la</strong>dores y compi<strong>la</strong>doresque generan código para los microcontro<strong>la</strong>doresPIC.La opción “Leer microcontro<strong>la</strong>dor” permitecargar en el microcontro<strong>la</strong>dor el contenido <strong>de</strong> <strong>la</strong>memoria <strong>de</strong> código, <strong>de</strong> <strong>la</strong> memoria EEPROM, <strong>la</strong>pa<strong>la</strong>bra <strong>de</strong> i<strong>de</strong>ntificación y <strong>la</strong> pa<strong>la</strong>bra <strong>de</strong> configuración<strong>de</strong>l microcontro<strong>la</strong>dor. Al activar esta utilidad<strong>la</strong> aplicación abre una nueva ventana en <strong>la</strong> quese muestran los datos recogidos, al tiempo que seda <strong>la</strong> opción <strong>de</strong> guardarlos en un fichero (conformato INHX8M) por si posteriormente losqueremos utilizar para una nueva grabación.Por último, “Borrar microcontro<strong>la</strong>dor” es unaopción que nos permite borrar <strong>de</strong> manera in<strong>de</strong>pendiente<strong>la</strong> zona <strong>de</strong> código (FLASH), <strong>la</strong> <strong>de</strong> datos(EEPROM), o borrar un microcontro<strong>la</strong>dor protegido.En este último caso es el propio microcontro<strong>la</strong>dorquien garantiza <strong>la</strong> confi<strong>de</strong>ncialidad <strong>de</strong>lcódigo y los datos almacenados, dado que antes <strong>de</strong><strong>de</strong>sproteger los bancos <strong>de</strong> memoria los borra.(1) Al grabar no se pue<strong>de</strong>n especificar los 16 primerosbytes (<strong>de</strong> los 128 disponibles en <strong>la</strong> EEPROM), dado queen el proceso <strong>de</strong> escritura el micro utiliza un espacio <strong>de</strong>direccionamiento, imagen <strong>de</strong> <strong>la</strong> memoria EEPROM, quetiene reservados dichos bytes para otros cometidos.


5. Experiencia docente con el sistemapresentadoEl entorno que hemos presentado ha sido ya utilizadocon éxito para <strong>la</strong> realización <strong>de</strong> prácticas en<strong>la</strong> Facultad <strong>de</strong> Informática <strong>de</strong> <strong>la</strong> UniversidadPolitécnica <strong>de</strong> Madrid. Concretamente en <strong>la</strong>sasignaturas “Instrumentación y Adquisición <strong>de</strong>Datos” <strong>de</strong> 4º curso y “Dispositivos OptoelectrónicosAplicados a <strong>la</strong> Informática” <strong>de</strong> 5º curso. En <strong>la</strong>primera los alumnos <strong>de</strong>sarrol<strong>la</strong>n un prototipo <strong>de</strong>estación meteorológica, utilizando el sistemapresentado en combinación con <strong>la</strong> herramientasoftware LabView <strong>de</strong> National Instruments. En <strong>la</strong>asignatura <strong>de</strong> 5º curso los alumnos <strong>de</strong>ben construirun analizador <strong>de</strong> <strong>la</strong> señal infrarroja enviada pordistintos mandos a distancia.Para construir <strong>la</strong> p<strong>la</strong>ca, el estudiante <strong>de</strong>be seguirun p<strong>la</strong>n <strong>de</strong>tal<strong>la</strong>do, disponible en <strong>la</strong> página <strong>de</strong>web <strong>de</strong> <strong>la</strong> asignatura [3]. En dicho documento seespecifican los pasos a seguir y comprobaciones arealizar, durante el proceso <strong>de</strong> montaje <strong>de</strong>l circuitosobre <strong>la</strong> p<strong>la</strong>ca para prototipos.Una <strong>de</strong>scripción más <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> <strong>la</strong>s aplicacionesdidácticas <strong>de</strong> iFOTON se pue<strong>de</strong> encontraren [4]6. ConclusionesLa herramienta presentada ha <strong>de</strong>mostrado ya suversatilidad en pequeños proyectos <strong>de</strong>sarrol<strong>la</strong>dospor los autores (Contador <strong>de</strong> consumo <strong>de</strong> energíaeléctrica, Control <strong>de</strong> posición <strong>de</strong>l carro <strong>de</strong> unaimpresora, Control <strong>de</strong> velocidad en un motor D.C.con carga variable, etc.) así como en <strong>la</strong> realización<strong>de</strong> <strong>la</strong>s prácticas citadas en asignaturas <strong>de</strong> niveluniversitario.Con estas primeras experiencias se verifican <strong>la</strong>consecución <strong>de</strong> los objetivos p<strong>la</strong>nteados al comprobarseuna mayor facilidad para <strong>de</strong>sarrol<strong>la</strong>rprototipos con el microcontro<strong>la</strong>dor seleccionado,al tiempo que el entorno <strong>de</strong>muestra tener interésdidáctico por permitir realizar prácticas reales conmicrocontro<strong>la</strong>dores a un precio realmente reducido.Por otro <strong>la</strong>do, ha sido satisfactorio comprobarcomo los mismos alumnos han propuesto <strong>la</strong> reutilización<strong>de</strong> <strong>la</strong> p<strong>la</strong>ca montada en un curso, pararealizar <strong>la</strong>s prácticas <strong>de</strong>l curso siguiente.Hemos comprobado también el efecto motivadorque produce <strong>la</strong> actividad <strong>de</strong> montaje <strong>de</strong>lcircuito, en <strong>la</strong> que se incluye <strong>la</strong> soldadura <strong>de</strong>componentes y el proceso <strong>de</strong> verificación.Como líneas <strong>de</strong> evolución p<strong>la</strong>nteadas está enestudio incorporar al entorno <strong>la</strong> posibilidad <strong>de</strong>utilizar otros microcontro<strong>la</strong>dores <strong>de</strong> <strong>la</strong> mismacasa, así como <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> correspondienteversión para p<strong>la</strong>taformas LINUX.A partir <strong>de</strong> los <strong>de</strong>sarrollos <strong>de</strong> los primerosusuarios <strong>de</strong> <strong>la</strong> herramienta, estamos creando unabase <strong>de</strong> datos compartida <strong>de</strong> proyectos reutilizableshardware-software y acumu<strong>la</strong>ndo experienciapara <strong>la</strong> mejora <strong>de</strong> <strong>la</strong> sencil<strong>la</strong> herramienta <strong>de</strong> gestión<strong>de</strong> documentación disponible.Referencias[1] AMD. Embed<strong>de</strong>d Processors.http://www3pub.amd.com/products/epd/.28-1-2002.AMD,[2] Antonio Serna y José Vicente García. Desarrolloy Construcción <strong>de</strong> Prototipos Electrónicos.(pag 59-77). Ed. Paraninfo, 2000.[3] Gracián Triviño. iFOTON.htttp://www.dtf.fi.upm.es/~gtrivino/IFOTON, 28-1-2002.[4] Gracián Triviño y Norberto Cañas. Recursosdidácticos para el diseño y construcción <strong>de</strong> instrumentacióndigital a coste reducido. (Enviadopara su aceptación a: SAAEI2002. SeminarioAnual <strong>de</strong> Automática, Electrónica industrial eInstrumentación. Alcalá <strong>de</strong> Henares, Septiembre2002)[5] IBM. IBM Microelectronics. http://www-3.ibm.com/chips/products/. IBM, 28-1-2002.[6] IEEE. IEEE Standard Signaling Method for aBidirectional Parallel Peripheral Interface forPersonal Computers. Estándar IEEE 1284-2000(Revision of IEEE Std 1284-1994), 2000.[7] Intel. Embed<strong>de</strong>d Products.http://www.intel.com/<strong>de</strong>sign/embprod.htm.Corporation, 31-12-2002.Intel


[8] Lego. MindStorm.http://mindstorms.lego.com/. Lego Group, 28-1-2002.[9] Microchip. EEPROM Memory ProgrammingSpecification. Documento DS39025E. MicrochipTechno-logy Inc. 2000.[10] Microchip. Microchip Product Lines.http://www.microchip.com. Microchip TechnologyInc. 28-1-2002.[11] Microchip. MPASM USER’S GUIDE withMPLINK and MPLIB. Microchip Technology Inc.1999.[12] Microchip. PIC16F87X. 28/40-pin 8-BitCMOS FLASH Microcontrollers. DocumentoDS30292B Microchip Technology Inc. 1999.[13] Motoro<strong>la</strong>. Design Resources.http://e-www.motoro<strong>la</strong>.com/. Motoro<strong>la</strong>, 28-1-2002.[14] Robert Spur. A PC-Based DevelopmentProgrammer for the PIC16C84. Aplication NoteAN589. Microchip Technology Inc. 1999.[15] Rodger Richey. Downloading HEX files toPIC16F87X PIC Microcontrollers. DocumentoDS91025a, Microchip Technology Inc. 1998.[16] Texas Instruments. DSP Developers’ Vil<strong>la</strong>ge.http://dspvil<strong>la</strong>ge.ti.com/docs/dspvil<strong>la</strong>gehome.jhtml. Texas Instruments, 28-1-2002.[17] Contro<strong>la</strong>dora Educativa ENCONOR.http://www.enconor.com/ 31-12-2001.


Experiencia docente en el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones empotradascon MarteOSSilvia Terrasa, Patricia Balbastre, Alfons CrespoDept. <strong>de</strong> Informática <strong>de</strong> Sistemes y ComputadoresUniversidad Politécnica <strong>de</strong> Valencia46022 Valenciae-mail: {sterrasa, patricia, alfons}@disca.upv.esResumenEste trabajo presenta <strong>la</strong> experiencia <strong>de</strong> realizartrabajos basados en sistemas empotrados, para <strong>la</strong>asignaturas re<strong>la</strong>cionadas con sistemas <strong>de</strong> tiemporeal. Las herramientas software utilizadas para el<strong>de</strong>sarrollo <strong>de</strong> los trabajos son el lenguaje <strong>de</strong>programación Ada’95 y el microkernel <strong>de</strong> tiemporeal MarteOS <strong>de</strong>sarrol<strong>la</strong>do en <strong>la</strong> Universidad <strong>de</strong>Cantabria.1. Introducción y motivación.Actualmente, uno <strong>de</strong> los aspectos que <strong>de</strong>bencubrir <strong>la</strong>s enseñanzas universitarias es el <strong>de</strong>proporcionar al alumno escenarios <strong>de</strong> trabajo lomás cercanos posible a <strong>la</strong> realidad. La utilización<strong>de</strong> entornos reales, no obstante, no <strong>de</strong>be serprecipitada, ya que no hay que olvidar que paraque los alumnos puedan exprimir al máximo estasexperiencias, primero hay que formarlos con unabase sólida. Una vez c<strong>la</strong>ros los conocimientosbásicos, ya se pue<strong>de</strong>n acabar consolidar conejemplos reales.Este es el p<strong>la</strong>nteamiento <strong>de</strong> <strong>la</strong> mayoría <strong>de</strong> losp<strong>la</strong>nes <strong>de</strong> estudios que hay actualmente en vigoren <strong>la</strong>s universida<strong>de</strong>s españo<strong>la</strong>s, los cuales se<strong>de</strong>dican los primeros semestres <strong>de</strong> <strong>la</strong>s titu<strong>la</strong>cionesa impartir asignaturas básicas con fuerte contenidoteórico para finalmente <strong>de</strong>dicar los últimossemestres a asignaturas optativas con un fuertecarácter práctico. En el marco <strong>de</strong> <strong>la</strong>s asignaturasprácticas es dón<strong>de</strong> tiene más sentido ofrecerejemplos o situaciones reales.Con esta i<strong>de</strong>a en <strong>la</strong> cabeza, los profesoresimplicados en <strong>la</strong>s asignaturas <strong>de</strong> sistemas <strong>de</strong>tiempo real (<strong>la</strong>s cuales son optativas <strong>de</strong> últimocurso), estamos siempre dispuestos a introducirelementos “reales” en <strong>la</strong> e<strong>la</strong>boración tanto <strong>de</strong> <strong>la</strong>sprácticas como <strong>de</strong> los trabajos <strong>de</strong> asignatura[1][2][3].Este artículo presenta <strong>la</strong> última experienciaque hemos tenido en esa búsqueda <strong>de</strong> escenarios yejemplos reales. Se trata básicamente <strong>de</strong> <strong>la</strong>incorporación a <strong>la</strong> asignatura <strong>de</strong> aspectos <strong>de</strong>programación <strong>de</strong> sistemas empotrados. Para po<strong>de</strong>rllevar a cabo esta <strong>la</strong>bor ha sido indispensable <strong>la</strong>utilización <strong>de</strong> herramientas <strong>de</strong> soporte, enconcreto hemos utilizado un microkernel <strong>de</strong>tiempo real l<strong>la</strong>mado MarteOS, el cual ha sido<strong>de</strong>sarrol<strong>la</strong>do por el <strong>de</strong>partamento <strong>de</strong> Electrónica yComputadores <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Cantabria [4].Por otra parte también ha sido necesario utilizar ellenguaje <strong>de</strong> programación <strong>de</strong> tiempo real Ada’95.Finalmente y para hacer más atractivos lostrabajos, éstos tenían cómo objetivo el realizar elcontrol procesos físicos reales.El resto <strong>de</strong>l artículo está esquematizado <strong>de</strong> <strong>la</strong>siguiente manera, en <strong>la</strong> sección 2 se verá con más<strong>de</strong>talle el marco y los objetivos <strong>de</strong> <strong>la</strong>s asignaturasimplicadas. En <strong>la</strong> sección 3 se <strong>de</strong>scribirán <strong>la</strong>sherramientas utilizadas en el <strong>de</strong>sarrollo <strong>de</strong> lostrabajos para pasar en <strong>la</strong> sección 4 a <strong>de</strong>scribir lostrabajos así cómo su p<strong>la</strong>nificación en términos <strong>de</strong>objetivos a <strong>de</strong>sarrol<strong>la</strong>r por los alumnos.Finalmente en <strong>la</strong> sección 5 concluiremos ypresentaremos una serie <strong>de</strong> retos futuros.


2. Marco y objetivos <strong>de</strong> STR 1 .• Conocer los lenguajes <strong>de</strong> alto nivel y susabstracciones para implementar <strong>la</strong>La asignatura objeto <strong>de</strong>l presente artículo es <strong>la</strong> <strong>de</strong> concurrencia, comunicación y control <strong>de</strong>lSistemas <strong>de</strong> tiempo real (STR). Actualmente esta tiempo (Ada’95).asignatura se imparte en cuatro titu<strong>la</strong>cionesdistintas: Ingeniero Industrial, Ingeniero en• Conocer <strong>la</strong> influencia <strong>de</strong>l sistema operativo yAutomática y Electrónica Industrial, Ingeniero enlos algoritmos <strong>de</strong> p<strong>la</strong>nificación.Informática, Ingeniero Técnico en Informática (en • Conocer y asimi<strong>la</strong>r <strong>la</strong>s técnicas <strong>de</strong> análisis <strong>de</strong><strong>la</strong> especialidad <strong>de</strong> sistemas). En todas el<strong>la</strong>s se p<strong>la</strong>nificabilidad.imparte como asignatura optativa <strong>de</strong> último cursoexcepto en el caso <strong>de</strong> Ingeniero en Automática y Otra característica u objetivo común queElectrónica que es una asignatura obligatoria tienen esta asignatura en <strong>la</strong>s diferentes titu<strong>la</strong>cionestambién <strong>de</strong> último curso.es el <strong>de</strong>seo, por parte tanto <strong>de</strong>l profesorado como<strong>de</strong>l alumnado, <strong>de</strong> estar en contacto con entornosA pesar <strong>de</strong> <strong>la</strong> diversidad <strong>de</strong> <strong>la</strong>s titi<strong>la</strong>ciones <strong>de</strong> <strong>de</strong>sarrollo y procesos reales. Tal y como sedon<strong>de</strong> se imparte, en todas el<strong>la</strong>s <strong>la</strong> po<strong>de</strong>mos p<strong>la</strong>nteaba en [1] nos resulta especialmenteenmarcar <strong>de</strong>ntro <strong>de</strong> lo que se <strong>de</strong>nomina Ingeniería interesante que el alumno pueda enfrentarse con<strong>de</strong> Control y los objetivos más relevantes <strong>de</strong> ésta situaciones reales tales como el control <strong>de</strong> unson saber diseñar e implementar sistemas <strong>de</strong> <strong>de</strong>pósito <strong>de</strong> agua o <strong>de</strong> un robot móvil. Por otracontrol. Las asignaturas <strong>de</strong> control, que se ven en parte estamos interesados en ofrecerle al alumnotodas <strong>la</strong>s titu<strong>la</strong>ciones, aportan el conocimiento y <strong>la</strong> herramientas que le permitan realizar sus propiashabilidad para compren<strong>de</strong>r y analizar los procesos pruebas [2]. En curso actual hemos <strong>de</strong>cididoindustriales y los métodos y técnicas para diseñar introducir un elemento más a <strong>la</strong> ca<strong>de</strong>na y permitire implementar el sistema <strong>de</strong> control. Los que <strong>de</strong>sarrollen aplicaciones para ser ejecutadasingenieros <strong>de</strong>ben especializarse en muchos en un computador empotrado. Para ello hemosaspectos como:utilizado el microkernel <strong>de</strong> tiempo real l<strong>la</strong>madoMarteOS [4] que en el siguiente apartado pasamos• Teoría <strong>de</strong> Control.a <strong>de</strong>tal<strong>la</strong>r.• Mo<strong>de</strong>lización.• Simu<strong>la</strong>ción.3. Entorno <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> MarteOS.• Técnicas avanzadas <strong>de</strong> control.• Programación <strong>de</strong> propósito general.MarteOS es un microkernel <strong>de</strong> tiempo real• P<strong>la</strong>nificación.<strong>de</strong>sarrol<strong>la</strong>do en el Departamento <strong>de</strong> Electrónica yComputadores <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Cantabria.Este microkernel sigue el subconjunto mínimoA parte <strong>de</strong> los objetivos generales <strong>de</strong> <strong>la</strong>sPOSIX <strong>de</strong> tiempo real (POSIX.13) el cual ofreceasignaturas que se engloban en <strong>la</strong> l<strong>la</strong>madaIngeniería <strong>de</strong> Control, <strong>la</strong> asignatura <strong>de</strong> STR tieneuna interfaz estándar para aplicaciones escritasuna serie <strong>de</strong> objetivos concretos que po<strong>de</strong>mostanto en Ada como en C. En este microkernel <strong>la</strong>mayoría <strong>de</strong>l código está escrito en Ada, aunqueresumir en:también hay partes realizadas en C.• Enten<strong>de</strong>r <strong>la</strong>s restricciones <strong>de</strong> tiempo y losMarteOS trabaja en un entorno <strong>de</strong> <strong>de</strong>sarrolloelementos que intervienen en el <strong>de</strong>sarrollo <strong>de</strong>cruzado formado por un PC con Linux actuandoaplicaciones contro<strong>la</strong>das por computadora.como host y una máquina <strong>de</strong>snuda basada en <strong>la</strong>• Diseñar e implementar aplicaciones <strong>de</strong> arquitectura <strong>de</strong>l 386 que actúa como target, comocontrol por computadora.muestra <strong>la</strong> figura 1 ambos sistemas se conectanmediante una red Ethernet, para realizar el• Conocer <strong>la</strong>s restricciones que imponen los arranque <strong>de</strong> <strong>la</strong> máquina, y mediante una línea RSsistemasempotrados.232 para <strong>la</strong>s tareas <strong>de</strong> <strong>de</strong>puración remota.1 STR son <strong>la</strong>s sig<strong>la</strong>s <strong>de</strong> Sistemas <strong>de</strong> Tiempo Real.


HOSTEthernet → BootRs-232 → DebugTARGETTiempo Real se le ofrece al alumno <strong>la</strong> posibilidad<strong>de</strong> realizar un trabajo <strong>de</strong> asignatura en vez <strong>de</strong>realizar un examen escrito al final <strong>de</strong> <strong>la</strong> misma.Para que esta opción les resulte viable, se <strong>de</strong>beproporcionar un horario <strong>de</strong> <strong>la</strong>boratorio suficientepara que puedan <strong>de</strong>sarrol<strong>la</strong>r los trabajos durante eltiempo <strong>de</strong> <strong>la</strong>boratorio.Figura 1.- Entorno <strong>de</strong> <strong>de</strong>sarrollo cruzado <strong>de</strong>MarteOSEl ciclo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s aplicaciones sigue lossiguientes pasos:• Se arranca el PC target con el disquete<strong>de</strong> arranque generado en <strong>la</strong> insta<strong>la</strong>ción<strong>de</strong> MarteOS.• La aplicación se compi<strong>la</strong> y se en<strong>la</strong>za enel PC host.• En el PC target el programa <strong>de</strong>arranque se “baja” <strong>la</strong> aplicación a través<strong>de</strong> <strong>la</strong> conexión <strong>de</strong> red y <strong>la</strong> pone enejecución.• La aplicación pue<strong>de</strong> ser ejecutadanormalmente o pue<strong>de</strong> ejecutarse enmodo <strong>de</strong>puración remota.• Tan pronto como <strong>la</strong> aplicación terminael programa <strong>de</strong> arranque <strong>de</strong>l PC targetse queda esperando para “bajarse” yejecutar <strong>la</strong> siguiente aplicación.El <strong>de</strong>sarrollo cruzado da <strong>la</strong> oportunidad a<strong>la</strong>lumno <strong>de</strong> implementar sus aplicaciones en unentorno conocido para luego probarlo en elentorno real.Respecto a otros entornos <strong>de</strong> programaciónreales utilizados anteriormente en <strong>la</strong> realización<strong>de</strong> los trabajos, como RT-Linux [2], <strong>la</strong> ventaja queofrece MarteOS es fundamentalmente <strong>la</strong>posibilidad <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r todas <strong>la</strong>s aplicaciones enAda’95, que es el lenguaje que ven los alumnosdurante todo el curso.En el siguiente apartado se <strong>de</strong>scriben lostrabajos p<strong>la</strong>nteados el presente curso.Actualmente <strong>la</strong> asignatura dispone <strong>de</strong> 6créditos, 4,5 <strong>de</strong> teoría (que incluye 1.5 créditos <strong>de</strong>problemas <strong>de</strong> au<strong>la</strong>) y 1.5 créditos <strong>de</strong> prácticas <strong>de</strong><strong>la</strong>boratorio. Esta distribución <strong>de</strong> créditosproporciona tres horas <strong>de</strong> teoría a <strong>la</strong> semana(repartidas en dos c<strong>la</strong>ses <strong>de</strong> una hora y media) ydos horas <strong>de</strong> prácticas cada quince días.Obviamente con dos horas cada quince días no sepue<strong>de</strong>n realizar <strong>la</strong>s prácticas y trabajo <strong>de</strong>asignatura, por tanto, lo que se hace es <strong>de</strong>stinarese crédito y medio <strong>de</strong> problemas <strong>de</strong> au<strong>la</strong> asesiones <strong>de</strong> <strong>la</strong>boratorio, <strong>de</strong> manera que puedantener dos horas a <strong>la</strong> semana más <strong>de</strong> <strong>la</strong>boratorio.Con este cambio y reduciendo al mínimo elnúmero <strong>de</strong> prácticas (actualmente sólo realizancuatro) conseguimos tener el tiempo suficientepara que los alumnos realicen los trabajos antes<strong>de</strong>l periodo <strong>de</strong> exámenes.Respecto a <strong>la</strong>s tareas a realizar en los trabajos,normalmente se <strong>de</strong>be realizar el control <strong>de</strong> unproceso físico, como robots móviles, <strong>de</strong>pósitos <strong>de</strong>agua, brazos robot, etc. A continuación se <strong>de</strong>tal<strong>la</strong>nun par <strong>de</strong> los trabajos que se han p<strong>la</strong>nteado elpresente curso.4.1. Control <strong>de</strong> un brazo robot con MarteOS.Uno <strong>de</strong> los trabajos propuestos durante el presentecurso fue realizar el control <strong>de</strong> movimiento <strong>de</strong> unbrazo robot <strong>de</strong> cuatro grados <strong>de</strong> libertad (Figura2).El robot dispone <strong>de</strong> cuatro motores, uno porarticu<strong>la</strong>ción y también lleva incorporados losfinales <strong>de</strong> carrera. Todos <strong>la</strong> entradas y <strong>la</strong>s salidas<strong>de</strong>l brazo robot son digitales.4. P<strong>la</strong>nteamiento <strong>de</strong> los trabajos.Como se comentaba en [1], para realizar <strong>la</strong>evaluación <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> Sistemas <strong>de</strong>


Figura 2.- Brazo robot.Para realizar el control <strong>de</strong>s<strong>de</strong> el PC seconectaron <strong>la</strong>s salidas y entradas digitales <strong>de</strong>lrobot a una tarjeta <strong>de</strong> adquisición <strong>de</strong> datos paraque fueran accesibles <strong>de</strong>s<strong>de</strong> el PC.Debido a que muchos <strong>de</strong> los alumnos nodisponen <strong>de</strong> conocimientos <strong>de</strong> robótica, no se lespue<strong>de</strong> <strong>de</strong>cir que realicen control <strong>de</strong> movimiento<strong>de</strong>l brazo robot por cinemática inversa (dado unpunto en el sistema <strong>de</strong> coor<strong>de</strong>nadas global hacerque <strong>la</strong> pinza <strong>de</strong>l brazo robot se posicione en el).No obstante, aún se les pue<strong>de</strong> pedir que muevan<strong>la</strong>s distintas articu<strong>la</strong>ciones teniendo en cuenta losfinales <strong>de</strong> carrera <strong>de</strong> cada una <strong>de</strong> el<strong>la</strong>s.4.2. Control <strong>de</strong> un robot móvil con MarteOS.Otro <strong>de</strong> los trabajos que propuesto este curso es elcontrol <strong>de</strong> un robot móvil (Figura 3). El robot encuestión mi<strong>de</strong> 27 mm <strong>de</strong> radio y 2 cm <strong>de</strong> espesor.Está provisto <strong>de</strong> dos ruedas, contro<strong>la</strong>das por dosmotores <strong>de</strong> corriente continua. A<strong>de</strong>más, estasruedas tienen cada una un enco<strong>de</strong>r incrementalque proporciona información <strong>de</strong> odometría. Elsistema <strong>de</strong> sensores lo forman ocho sensores <strong>de</strong>infrarrojos con un alcance <strong>de</strong> 60 mm, situados a lo<strong>la</strong>rgo <strong>de</strong>l perímetro <strong>de</strong>l robot.Figura 3 Robot móvil Khepera.El trabajo consiste en que el robot <strong>de</strong>be seguirun haz <strong>de</strong> luz (proporcionado por una linterna)para ello <strong>de</strong>ben analizar <strong>la</strong> información <strong>de</strong> lossensores <strong>de</strong> infrarrojos para <strong>de</strong>terminar si hay luzy que <strong>de</strong>ben hacer para encararse a el<strong>la</strong> y avanzar,siguiéndo<strong>la</strong>.Previamente se había utilizado el mismo robot[1] pero con otro tipo <strong>de</strong> control, en este caso loque <strong>de</strong>bía hacer el robot era alcanzar objetivos(introducidos por el usuario) evitando todos losobstáculos que se encontrara por el camino. Estaes otra alternativa para realizar trabajos, aunqueen el caso <strong>de</strong> MarteOS <strong>la</strong>s aplicaciones sin E/Sfuncionan mucho mejor <strong>de</strong>bido al tiempo que sepier<strong>de</strong> realizando este tipo <strong>de</strong> operaciones. En elcaso <strong>de</strong>l seguimiento <strong>de</strong> <strong>la</strong> luz, el robot es muchomas autónomo y <strong>la</strong>s acciones <strong>de</strong> usuario noimplican ninguna operación <strong>de</strong> E/S, únicamentehan <strong>de</strong> mover <strong>la</strong> linterna para que el robotreaccione.5. Conclusiones y trabajo futuro.La iniciativa <strong>de</strong> introducir <strong>la</strong> programación <strong>de</strong>sistemas empotrados en los trabajos <strong>de</strong> asignaturaha sido un éxito entre el alumnado. Este tipo <strong>de</strong>trabajos prácticos tienen como objetivo que e<strong>la</strong>lumno se enfrente con problemas reales. Laexperiencia ha sido totalmente satisfactoria, ahorano sólo disponen <strong>de</strong> procesos reales con los queinter-actuar, sino que el medio a través <strong>de</strong>l queinteractúan también está mucho mas cercano almundo real.


Como trabajo futuro se va a p<strong>la</strong>ntear <strong>la</strong>posibilidad <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r todas <strong>la</strong>s aplicaciones<strong>de</strong> <strong>la</strong> asignatura en este entorno cruzado <strong>de</strong>programación. La i<strong>de</strong>a es que el alumno <strong>de</strong>s<strong>de</strong> suprimera práctica (un simple Ho<strong>la</strong> Mundo), utiliceel entorno <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> MarteOS, para que suadaptación sea más pau<strong>la</strong>tina. Esto permitirá quetrabajen durante todo el curso con un entorno <strong>de</strong>tiempo real.Referencias[1] S. Terrasa, P. Balbastre, A. Crespo. “Laimportancia <strong>de</strong>l uso <strong>de</strong> procesos físicosreales en <strong>la</strong> enseñanza universitaria en <strong>la</strong>ingeniería”. JENUI’2000, pp.304-310a <strong>la</strong> docencia <strong>de</strong> los sistemas operativos <strong>de</strong>tiempo real”, JENUI’2001, pp 173-178.[3] S. Terrasa, P. Balbastre, A. Crespo. “Estudio<strong>de</strong> técnicas <strong>de</strong> P<strong>la</strong>nificación en Sistemas <strong>de</strong>Tiempo Real <strong>de</strong> Laboratorio”, <strong>Jornadas</strong> <strong>de</strong>Automática 2000, ISBN 84-699-3163-6[4] MarteOS : http://marte.unican.es[5] A. Crespo, J. Vi<strong>la</strong>, F. B<strong>la</strong>nes, I. Ripoll.“Real-Time Education in a ControlEngineering Curriculum”. Real-TimeSystems Education. IEEE Computer SocietyPress.[2] S. Terrasa, P. Balbastre, A. Crespo. “TimeLogger: una herramienta software <strong>de</strong> soporte


Sistemas distribuidosy paralelos


(',328QHQWRUQRSDUDHOGHVDUUROORGHDSOLFDFLRQHVHQHQWRUQRVGLVWULEXLGRV F. Almeida, D. González, L. M. Moreno, C. A. De PablosDpto. <strong>de</strong> Estadística, Investigación Operativa y ComputaciónUniversidad <strong>de</strong> La Laguna38271, La Laguna. Tenerifee-mail: {falmeida, dgonmor, lmmoreno}@ull.es5HVXPHQSe presenta una herramienta informática quefacilita el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones parale<strong>la</strong>s enentornos <strong>de</strong> re<strong>de</strong>s heterogéneas. El usuario obtieneuna versión unificada <strong>de</strong>l conjunto <strong>de</strong> máquinassobre el que ejecutará su aplicación. Paragarantizar su portabilidad, EDIPO ha sido<strong>de</strong>sarrol<strong>la</strong>do con herramientas estándar en lossistemas Unix/Linux. Facilita <strong>la</strong> <strong>la</strong>bor <strong>de</strong> edición,compi<strong>la</strong>ción y ejecución <strong>de</strong> aplicaciones <strong>de</strong>s<strong>de</strong>una única conso<strong>la</strong> <strong>de</strong> trabajo.,QWURGXFFLyQEn los actuales p<strong>la</strong>nes <strong>de</strong> estudios <strong>de</strong> los títulos <strong>de</strong>Ingeniero en Informática es habitual encontrarasignaturas con contenidos re<strong>la</strong>cionados con <strong>la</strong>Programación Distribuida o <strong>la</strong> Programación enParalelo [7]. En el<strong>la</strong>s el alumno <strong>de</strong>be <strong>de</strong>sarrol<strong>la</strong>rprácticas sobre máquinas <strong>de</strong> <strong>la</strong>boratorios quepue<strong>de</strong>n estar geográficamente dispersos,gestionados por distintos servidores y condiferentes sistemas <strong>de</strong> archivos conectados através <strong>de</strong> una red.En el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s prácticas <strong>de</strong> estasasignaturas el alumno <strong>de</strong>be mantener abiertassesiones <strong>de</strong> trabajo, con distintos nombres <strong>de</strong>usuario, sobre varios servidores, en <strong>la</strong>s quecombina <strong>la</strong> edición local o remota, <strong>la</strong> transferencia<strong>de</strong> archivos, hacia y <strong>de</strong>s<strong>de</strong> los distintos sistemas, y<strong>la</strong> compi<strong>la</strong>ción y ejecución distribuida <strong>de</strong> <strong>la</strong>saplicaciones.Se <strong>de</strong>nomina máquina virtual al conjunto <strong>de</strong>or<strong>de</strong>nadores interconectados sobre el que e<strong>la</strong>lumno va a ejecutar su aplicación. Cada uno <strong>de</strong>estos or<strong>de</strong>nadores (l<strong>la</strong>mados nodos o KRVWV) pue<strong>de</strong>estar situado en una localización distinta ypertenecer a re<strong>de</strong>s in<strong>de</strong>pendientes. Esta máquinavirtual pue<strong>de</strong> ser homogénea si todos losprocesadores son idénticos y comparten el mismosistema operativo o bien pue<strong>de</strong> ser heterogénea siexisten procesadores <strong>de</strong> más <strong>de</strong> una arquitectura o<strong>de</strong> más <strong>de</strong> un sistema <strong>de</strong> archivos. En este últimocaso los comandos necesarios para compi<strong>la</strong>r yejecutar <strong>la</strong> aplicación pue<strong>de</strong>n variar <strong>de</strong> un sistemaa otro. La herramienta que se presenta, EDIPO((QYLURQPHQW IRU ',VWULEXWHG SU2JUDPPLQJ) [7],constituye un entorno <strong>de</strong> <strong>de</strong>sarrollo que permiterealizar esta tarea. Proporciona todos elementosnecesarios para editar, configurar, compi<strong>la</strong>r yejecutar una aplicación en una máquina virtualque pue<strong>de</strong> ser heterogénea. EDIPO permiteconstruir aplicaciones que hacen usosimultáneamente <strong>de</strong> varios procesadores <strong>de</strong>s<strong>de</strong>una única máquina central (KRVW <strong>de</strong> <strong>de</strong>sarrollo) sintener en cuenta cómo y dón<strong>de</strong> están distribuidasel resto <strong>de</strong> <strong>la</strong>s máquinas que conforman <strong>la</strong>máquina virtual, y ejecutar<strong>la</strong>s utilizando diferentesherramientas <strong>de</strong> programación parale<strong>la</strong>.La herramienta EDIPO está formada por unaGUI implementada en Tcl/Tk [10] y unconjunto <strong>de</strong> VFULSWV que se han escrito en tclsh,que utilizan los mecanismos <strong>de</strong> comunicaciónremota rcp y rsh. Tanto el lenguaje <strong>de</strong>implementación Tcl/Tk como los mecanismos<strong>de</strong> comunicación remota están habitualmente1 El trabajo <strong>de</strong>scrito en este artículo ha sido parcialmente financiado por el Ministerio Español <strong>de</strong> Ciencia y Tecnología(CICYT). TIC1999-0754-C03


RedFigura 1. Máquina Virtualinsta<strong>la</strong>dos en <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s versiones <strong>de</strong>Unix/Linux [5, 8], lo que hace que este entornosea fácilmente portable a <strong>la</strong> mayor parte <strong>de</strong> estossistemas.Dos entornos que proporcionanfuncionalida<strong>de</strong>s simi<strong>la</strong>res a EDIPO son PADE(3DUDOOHO $SSOLFDWLRQ 'HYHORSPHQW (QYLURQPHQW)[3] y WAMM (:LGH$UHD0HWDFRPSXWLQJ0DQDJHU[1].PADE es un entorno construido por el InstitutoNacional <strong>de</strong> Estándares y Tecnología (NIST) <strong>de</strong>lGobierno Fe<strong>de</strong>ral <strong>de</strong> Estados Unidos en 1995.Proporciona una interfaz gráfica que facilita alusuario el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones parale<strong>la</strong>sbasándose en <strong>la</strong> librería <strong>de</strong> paso <strong>de</strong> mensajes PVM(3DUDOOHO 9LUWXDO 0DFKLQH) [9]. Este entornopermite editar archivos, transferir un conjunto <strong>de</strong>archivos a cada nodo <strong>de</strong> <strong>la</strong> máquina virtual ycompi<strong>la</strong>r y ejecutar en cada uno <strong>de</strong> sus nodos.WAMM es una interfaz gráfica basada enOSF/Motif y PVM y que ha sido <strong>de</strong>sarrol<strong>la</strong>dapor el Grupo <strong>de</strong> Investigación en ProcesamientoParalelo <strong>de</strong>l CNUCE, Pisa, en 1995. Permiten alusuario <strong>de</strong>finir y gestionar una máquina virtual,tener una visión geográfica <strong>de</strong>l sistema, ejecutarcomandos remotos y realizar tareas <strong>de</strong> control ymonitorización. PADE y WAMM obligan a insta<strong>la</strong>r y ejecutarPVM 3.0 en cada uno <strong>de</strong> los nodos, por lo quese produce un alto consumo <strong>de</strong> recursos en <strong>la</strong>smáquinas y, a<strong>de</strong>más, <strong>la</strong> aplicación <strong>de</strong>be estarescrita en PVM. La versión actual <strong>de</strong> EDIPOsoporta <strong>la</strong> ejecución sobre <strong>la</strong> librería <strong>de</strong> paso <strong>de</strong>mensajes MPI [6] y pue<strong>de</strong> ser fácilmenteextendida para <strong>la</strong> ejecución con herramientascomo PVM, Corba o Java RMI. Lo queproporciona una flexibilidad y generalidadsuperior a <strong>la</strong> <strong>de</strong> los entornos simi<strong>la</strong>res.Entornos más complejos como Condor [2] oGlobus [4], abordan también el problema <strong>de</strong>s<strong>de</strong>una perspectiva aún más amplia. Sin embargo, setrata <strong>de</strong> entornos que implican un esfuerzo <strong>de</strong>insta<strong>la</strong>ción, aprendizaje y un consumo <strong>de</strong> recursosconsi<strong>de</strong>rable para po<strong>de</strong>r hacer un uso efectivo <strong>de</strong>ellos a corto p<strong>la</strong>zo en docencia.Este trabajo está organizado <strong>de</strong> <strong>la</strong> siguientemanera: En <strong>la</strong> sección 2 se <strong>de</strong>scribe lo que<strong>de</strong>nominamos una máquina virtual. En <strong>la</strong> sección3 se muestra el entorno <strong>de</strong> <strong>de</strong>sarrollo que sepresenta, cómo configurar <strong>la</strong> máquina virtual y <strong>la</strong>soperaciones que pue<strong>de</strong>n realizarse a través <strong>de</strong> estaherramienta. En <strong>la</strong> sección 4 se explican los pasosnecesarios para su insta<strong>la</strong>ción. Se finaliza eltrabajo en <strong>la</strong> sección 5 con algunas conclusiones ytrabajos futuros./D0iTXLQD9LUWXDO\ODV$SOLFDFLRQHVEn el contexto que nos ocupa, una máquina virtualestá formada por un conjunto <strong>de</strong> or<strong>de</strong>nadores onodos que están unidos mediante una red <strong>de</strong>interconexión (Figura 1). Cada or<strong>de</strong>nador ejecutasu propio programa, acce<strong>de</strong> a su memoria local yse comunica a través <strong>de</strong> <strong>la</strong> red con el resto <strong>de</strong> losnodos. Habitualmente el <strong>de</strong>sarrollo <strong>de</strong> unaaplicación en este entorno implica algúnmecanismo <strong>de</strong> intercambio <strong>de</strong> mensajes.La aplicación tendrá componentes queresi<strong>de</strong>n en sistemas <strong>de</strong> archivos <strong>de</strong> diferentesnodos con distintos sistemas operativos. Esascomponentes tendrán que compi<strong>la</strong>rse en cadanodo, normalmente con diferentes directivas yopciones <strong>de</strong> compi<strong>la</strong>ción. Las versionescompi<strong>la</strong>das se ejecutarán en cada nodo, y losflujos <strong>de</strong> entrada-salida se gestionarán en cada uno<strong>de</strong> ellos.Dado que <strong>la</strong>s fases <strong>de</strong> compi<strong>la</strong>ción y ejecuciónpue<strong>de</strong>n tratarse <strong>de</strong> forma genérica, cualquiera <strong>de</strong><strong>la</strong>s p<strong>la</strong>taformas software <strong>de</strong> computación parale<strong>la</strong>pue<strong>de</strong> beneficiarse <strong>de</strong> EDIPO, puesto queproporciona al <strong>de</strong>sarrol<strong>la</strong>dor una interface <strong>de</strong> altonivel que simplifica <strong>la</strong>s etapas <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>aplicación <strong>de</strong>s<strong>de</strong> una única conso<strong>la</strong> <strong>de</strong> trabajo.


(O(QWRUQRGH'HVDUUROOR(',32EDIPO es un entorno reconfigurable para el<strong>de</strong>sarrollo <strong>de</strong> aplicaciones sobre una máquinavirtual heterogénea compuesta <strong>de</strong> variasarquitecturas y/o varios sistemas <strong>de</strong> archivos.Utiliza los mecanismos <strong>de</strong> comunicación remotarsh y rcp. Proporciona un marco <strong>de</strong> trabajo paratodas <strong>la</strong>s fases <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> una aplicaciónparale<strong>la</strong>: edición, configuración, compi<strong>la</strong>ción yejecución. El paquete está compuesto por unainterface gráfica <strong>de</strong> usuario y un conjunto <strong>de</strong>VFULSWV escritos en Tcl/Tk.El entorno dispone <strong>de</strong> una conso<strong>la</strong> <strong>de</strong><strong>de</strong>sarrollo para <strong>la</strong> máquina virtual, <strong>de</strong> forma quetodas <strong>la</strong>s tareas <strong>de</strong>l <strong>de</strong>sarrollo pue<strong>de</strong>n realizarse<strong>de</strong>s<strong>de</strong> <strong>la</strong> máquina <strong>de</strong> <strong>de</strong>sarrollo (Figura 2). Laconso<strong>la</strong> permite:• Definir <strong>la</strong> máquina virtual, i<strong>de</strong>ntificando <strong>la</strong>smáquinas que van a ejecutar los distintoscomponentes <strong>de</strong> <strong>la</strong> aplicación parale<strong>la</strong>.• Organizar los archivos fuente, un conjunto <strong>de</strong>archivos que pue<strong>de</strong> ser diferente para cadanodo <strong>de</strong> <strong>la</strong> máquina virtual.• Editar el código fuente apropiado para cadamáquina mientras se mantienen todos losarchivos en una localización común• Transferir el conjunto <strong>de</strong> archivos entre losnodos, cuando sea necesario.• Compi<strong>la</strong>r el conjunto <strong>de</strong> archivos en cadanodo, el compi<strong>la</strong>dor para cada arquitectura, opara cada nodo, pue<strong>de</strong> variar.• Ejecutar el programa.• Comprobar <strong>la</strong> salida <strong>de</strong> <strong>la</strong> compi<strong>la</strong>ción yejecución.&RQILJXUDFLyQGHODPiTXLQDLa figura 3 muestra <strong>la</strong> pantal<strong>la</strong> principal <strong>de</strong>EDIPO. En el título <strong>de</strong> <strong>la</strong> ventana se observa elproyecto que se encuentra abierto en cadamomento. Bajo el título se presenta un menú quepermite realizar <strong>la</strong> gestión y el mantenimiento <strong>de</strong>estos proyectos. En el menú (GLW se encuentran<strong>la</strong>s opciones para gestionar los proyectos, losarchivos <strong>de</strong> máquinas, activar <strong>la</strong>s preferencias <strong>de</strong>lusuario y salir <strong>de</strong> EDIPO. 6HWXS es el menú quepermite introducir los datos <strong>de</strong> <strong>la</strong> sesión (<strong>la</strong> lista<strong>de</strong> máquinas, los archivos a transferir, loscomandos a ejecutar y los directorios <strong>de</strong> trabajo en<strong>la</strong>s máquinas). Con <strong>la</strong>s opciones que se encuentranen 0DNH se administra el archivo <strong>de</strong>configuración, se realiza <strong>la</strong> transferencia <strong>de</strong>archivos y se ejecutan los comandos remotos. Enel menú 5XQ están <strong>la</strong>s opciones para obtenerinformación <strong>de</strong> <strong>la</strong>s máquinas y ejecutar <strong>la</strong>saplicaciones.EditorConso<strong>la</strong>EDIPORedFigura 2. Entorno <strong>de</strong> <strong>de</strong>sarrollo EDIPO


Figura 3. Pantal<strong>la</strong> principal <strong>de</strong> EDIPOLa parte principal <strong>de</strong> <strong>la</strong> ventana se divi<strong>de</strong> encuatro columnas: en <strong>la</strong> primera columna sepresentan los nombres <strong>de</strong> todos los nodos queforman <strong>la</strong> máquina virtual sobre <strong>la</strong> que se estátrabajando. El ejemplo que se muestra en <strong>la</strong> figura3 es un caso en el que <strong>la</strong> máquina virtual estácompuesta por cuatro nodos: <strong>la</strong>s dos primerasmáquinas (beowulf2.csi.ull.es ybeowulf3.csi.ull.es) se encuentran localizadasgeográficamente en Universidad <strong>de</strong> La Laguna,mientras que <strong>la</strong>s dos últimas (ba2.lsi.upc.es yba3.lsi.upc.es) se encuentran en <strong>la</strong> UniversidadPolitécnica <strong>de</strong> Cataluña.En <strong>la</strong> segunda columna se encuentran losnombres <strong>de</strong> usuario en cada uno <strong>de</strong> los nodos. Enel ejemplo el alumno tiene un nombre en <strong>la</strong>smáquinas <strong>de</strong> La Laguna y otro nombre <strong>de</strong> usuariodistinto en <strong>la</strong>s máquinas <strong>de</strong> Cataluña. En <strong>la</strong> terceracolumna se pue<strong>de</strong>n ver los comandos que sequieren ejecutar en los nodos. Y en <strong>la</strong> últimacolumna están <strong>de</strong>finidos los directorios <strong>de</strong> trabajo.Bajo <strong>la</strong>s columnas se muestra el últimocomando ejecutado.Definir una máquina virtual consistesimplemente en añadir cada una <strong>de</strong> <strong>la</strong>s máquinasa <strong>la</strong> lista <strong>de</strong> nodos que aparece en <strong>la</strong> ventanaprincipal. Esto se realiza mediante <strong>la</strong> entrada $GG+RVW <strong>de</strong>l menú 6HWXS.Otra forma <strong>de</strong> hacerlo es crear un archivo <strong>de</strong>máquinas con <strong>la</strong> opción 1HZ +RVW)LOH<strong>de</strong>l menú(GLW. Se escribe una máquina por línea, y <strong>de</strong>spuésse cargan todas <strong>la</strong>s máquinas <strong>de</strong>l archivo a <strong>la</strong> listamediante <strong>la</strong> entrada $GGIURP+RVW)LOH <strong>de</strong>l menú6HWXS.Toda <strong>la</strong> información <strong>de</strong> <strong>la</strong> sesión se <strong>de</strong>bealmacenar en un archivo <strong>de</strong> configuración <strong>de</strong> <strong>la</strong>máquina <strong>de</strong> <strong>de</strong>sarrollo. Este archivo es necesariopara realizar <strong>la</strong> transferencia genérica <strong>de</strong> archivosy para <strong>la</strong> compi<strong>la</strong>ción remota. Para almacenar e<strong>la</strong>rchivo <strong>de</strong> configuración se utiliza <strong>la</strong> entrada6DYH&RQILJ)LOH <strong>de</strong>l menú 0DNH.Durante <strong>la</strong> configuración <strong>de</strong> <strong>la</strong> máquina esposible incluir <strong>la</strong> información re<strong>la</strong>tiva a losarchivos que se van a transferir, los comandos aejecutar en esa máquina, y el directorio <strong>de</strong> trabajoy el nombre <strong>de</strong>l usuario para acce<strong>de</strong>r a cada nodo.


Figura 4. Pantal<strong>la</strong> <strong>de</strong> transferencias <strong>de</strong> archivos entre nodosEn lugar <strong>de</strong> introducir toda <strong>la</strong> informacióncada vez que se inicie una sesión, se pue<strong>de</strong> cargarun archivo <strong>de</strong> configuración previamenteguardado que recupere el estado general <strong>de</strong> dichaconfiguración (máquinas, comandos,transferencias, directorios, nombres <strong>de</strong> usuario,etc.). Para hacerlo hay que pulsar <strong>la</strong> opción /RDG&RQILJ)LOH <strong>de</strong>l menú 0DNH.La entrada /LVW &RQILJ )LOH <strong>de</strong>l menú 0DNHmuestra en una nueva ventana el contenido <strong>de</strong><strong>la</strong>rchivo <strong>de</strong> configuración. Esto permite <strong>de</strong>tectarerrores antes <strong>de</strong> realizar <strong>la</strong> compi<strong>la</strong>ción remota uotra operación, o simplemente revisar el estadoactual <strong>de</strong> nuestra sesión.El archivo <strong>de</strong> configuración sigue <strong>la</strong> estructurapropuesta por PADE. Contiene cuatro tipos <strong>de</strong>elementos:• Comentarios: Líneas que empiezan por #.• Máquina, Nombre <strong>de</strong> usuario y Directorio <strong>de</strong>trabajo:+ hostname, username, workdir• Transferencia <strong>de</strong> archivos:targethost1filename_targethost1…>targethostNfilename_targethostN• Comandos:@remotehost command1; … ;commandN;7UDQVIHUHQFLDGH$UFKLYRVLa transferencia <strong>de</strong> archivos entre <strong>la</strong>s distintasmáquinas se <strong>de</strong>be realizar en dos etapas: primerohay que <strong>de</strong>terminar los archivos que se quierentransferir y <strong>de</strong>spués se realiza <strong>la</strong> copia.Para crear <strong>la</strong> lista <strong>de</strong> los archivos a transferir auno <strong>de</strong> nodos se elige <strong>la</strong> máquina en <strong>la</strong> pantal<strong>la</strong>principal (Figura 3) y <strong>de</strong>spués se selecciona <strong>la</strong>opción )LOH 7UDQVIHU <strong>de</strong>l menú 6HWXS. Este nodoserá <strong>la</strong> máquina <strong>de</strong>stino a <strong>la</strong> que se quieren enviarlos archivos. Se muestra una ventana en <strong>la</strong> que sepue<strong>de</strong>n ir añadiendo los archivos que se quierenenviar, don<strong>de</strong> se especifica el nombre <strong>de</strong>l archivoy <strong>la</strong> máquina don<strong>de</strong> se encuentra.La figura 4 muestra <strong>la</strong> ventana que aparece alelegir esta opción <strong>de</strong>l menú. En el título se pue<strong>de</strong>ver el nodo <strong>de</strong>stino, don<strong>de</strong> se van a transferir losarchivos seleccionados; en este caso <strong>de</strong> ejemplo sevan a transferir tres archivos a <strong>la</strong> máquinabeowulf2.csi.ull.es.


En <strong>la</strong> parte inferior <strong>de</strong> <strong>la</strong> ventana seencuentran los botones que permiten gestionar <strong>la</strong>transferencia <strong>de</strong> archivos: se pue<strong>de</strong> añadir unnuevo archivo (botón $GG) o eliminar una <strong>de</strong> <strong>la</strong>stransferencias incluidas hasta el momento (botón'HOHWH).El nodo fuente, por <strong>de</strong>fecto, es <strong>la</strong> máquina <strong>de</strong><strong>de</strong>sarrollo, pero también se pue<strong>de</strong> cambiarpulsando sobre el botón 6RXUFH+RVW que permiteelegir un nuevo nodo fuente. En el ejemplo <strong>de</strong> <strong>la</strong>figura 4 los archivos que se van a transferir abeowulf2.csi.ull.es tienen dos nodos origendistintos, los dos primeros archivos se copian<strong>de</strong>s<strong>de</strong> beowulf3.csi.ull.es mientras que el últimoarchivo proviene <strong>de</strong> vero<strong>de</strong>.Cuando se ha terminado <strong>de</strong> insertar todos losarchivos que se van a enviar al nodo <strong>de</strong> <strong>de</strong>stino sepulsa sobre el botón &ORVH para cerrar <strong>la</strong> ventana.No es necesario almacenar <strong>la</strong>s transferenciassino que al añadir<strong>la</strong>s ya quedan almacenadasautomáticamente.En <strong>la</strong> parte central <strong>de</strong> <strong>la</strong> ventana se observan<strong>la</strong>s transferencias añadidas. El formato <strong>de</strong> cadauna <strong>de</strong> <strong>la</strong>s líneas es el siguiente:usuario_nodo_origen@nodo_origen:/ruta_archivo_origen/nombre_archivo_origen Åusuario_nodo_<strong>de</strong>stino@nodo_<strong>de</strong>stino:/ruta_archivo_<strong>de</strong>stino/nombre_archivo_<strong>de</strong>stino Utilizando <strong>la</strong> opción 6DYH )LOHV LQ 5HPRWH+RVWV <strong>de</strong>l menú 0DNH se realizan todas <strong>la</strong>stransferencias <strong>de</strong> archivos que hayan sidoguardadas en el archivo <strong>de</strong> configuración actual.Se utiliza el comando genérico <strong>de</strong> copiaremota rcp para enviar los archivos. Latransferencia se realiza <strong>de</strong> forma parale<strong>la</strong>.(MHFXFLyQGHFRPDQGRVLos comandos pue<strong>de</strong>n introducirse mientras seaña<strong>de</strong> <strong>la</strong> máquina si se utiliza <strong>la</strong> opción $GG+RVW<strong>de</strong>l menú 6HWXS. Si se utiliza <strong>la</strong> opción que cargatodas <strong>la</strong>s máquinas <strong>de</strong>s<strong>de</strong> un archivo, se pue<strong>de</strong>nañadir los comandos seleccionando primero unamáquina con el ratón y pulsando <strong>la</strong> entrada0RGLI\ +RVW <strong>de</strong>l menú 6HWXS que permitemodificar los datos <strong>de</strong> <strong>la</strong> máquina (nombre,comandos y directorio <strong>de</strong> trabajo).Mediante <strong>la</strong> opción 5HPRWH 0DNH <strong>de</strong>l menú0DNH se realiza <strong>la</strong> ejecución <strong>de</strong> todos loscomandos remotos <strong>de</strong>l archivo <strong>de</strong> configuración.En este caso, cada máquina ejecuta los comandosasociados <strong>de</strong> forma parale<strong>la</strong>.Figura 5. Pantal<strong>la</strong> <strong>de</strong> salida <strong>de</strong> ejecución por terminal


en cualquier lenguaje <strong>de</strong> programación tal comoC, C++, Java, etc., y el entorno escrito enTcl/Tk.La aplicación parale<strong>la</strong> <strong>de</strong>be escribir en unarchivo temporal los valores necesarios para queTcl/Tk represente <strong>la</strong> salida <strong>de</strong> forma gráfica.2WUDV2SHUDFLRQHV'LVSRQLEOHVHQ(',32Figura 6. Pantal<strong>la</strong> <strong>de</strong> salida <strong>de</strong> ejecución gráficaEn cualquier momento se pue<strong>de</strong>n ver <strong>la</strong>scaracterísticas físicas <strong>de</strong> los nodos que forman <strong>la</strong>máquina virtual. Seleccionando <strong>la</strong> opción ,QIR+RVW <strong>de</strong>l menú 5XQ aparece <strong>la</strong> ventana con todas<strong>la</strong>s características (Figura 7).También se tiene <strong>la</strong> posibilidad <strong>de</strong> gestionarlos proyectos que se quieren resolver. En el menú(GLW se presentan opciones para crear un proyectoo abrir uno existente (opciones 1HZ 3UR\HFW y2SHQ 3UR\HFW). Al crear un nuevo proyecto creaun fichero <strong>de</strong> configuración que contiene losnombres y <strong>la</strong>s rutas <strong>de</strong> cada uno <strong>de</strong> los archivosfuente que componen ese proyecto.&RPSLODFLyQ\HMHFXFLyQGH$SOLFDFLRQHVTal y como se ha indicado en <strong>la</strong> subsección 3.3 esposible introducir cualquier comando para unamáquina particu<strong>la</strong>r, aunque lo más común seráusar el comando PDNH para compi<strong>la</strong>r los archivosfuente <strong>de</strong> <strong>la</strong> máquina remota.Para <strong>la</strong> ejecución <strong>de</strong> aplicaciones EDIPOproporciona varios modos <strong>de</strong> ejecución: ejecuciónen modo EDWFK, ejecución con salida en terminal,con salida gráfica y con salida en archivo. Elusuario sólo <strong>de</strong>be escoger el modo <strong>de</strong> ejecuciónque quiere emplear seleccionando <strong>la</strong> entradacorrespondiente <strong>de</strong>l menú 5XQ.En <strong>la</strong> figura 5 se pue<strong>de</strong> observar <strong>la</strong> salida quemuestra EDIPO al resolver el problema <strong>de</strong>lViajante <strong>de</strong> Comercio (763) medianteprogramación dinámica parale<strong>la</strong> si se escoge <strong>la</strong>opción <strong>de</strong> ejecutar el proyecto con salida en unterminal.En <strong>la</strong> figura 6 se muestra el resultado <strong>de</strong> <strong>la</strong>ejecución <strong>de</strong>l problema cuando se selecciona <strong>la</strong>opción <strong>de</strong> salida gráfica. Este tipo <strong>de</strong> salida<strong>de</strong>pen<strong>de</strong> <strong>de</strong> <strong>la</strong> forma <strong>de</strong> resolución <strong>de</strong>l problema,en este caso el método usado es <strong>la</strong> programacióndinámica.Para realizar <strong>la</strong> salida en modo gráfico seestablece un protocolo entre <strong>la</strong> aplicación escrita8QD,QVWDODFLyQ6HQFLOODPara su insta<strong>la</strong>ción basta con que el alumno<strong>de</strong>scargue un grupo <strong>de</strong> VFULSWV y que <strong>de</strong>fina ymodifique algunas variables <strong>de</strong> entorno. Como secomentó en <strong>la</strong> sección 1 tanto Tcl/Tk como losmecanismos para <strong>la</strong> comunicación remota, rcp yrsh, vienen insta<strong>la</strong>dos por <strong>de</strong>fecto en <strong>la</strong> mayoría<strong>de</strong> <strong>la</strong>s versiones <strong>de</strong> Unix/Linux.También se <strong>de</strong>be tener insta<strong>la</strong>da <strong>la</strong>herramienta elegida para <strong>la</strong> ejecución <strong>de</strong> losproyectos (MPI, PVM, Java RMI, Corba).Las variables <strong>de</strong> entorno que <strong>de</strong>be <strong>de</strong>finir e<strong>la</strong>lumno son <strong>la</strong>s siguientes:• LLEDIPO - Directorio en el que se instalóEDIPO.• TCL_LIBRARY - Directorio <strong>de</strong> <strong>la</strong> libreríaTCL.• TK_LIBRARY - Directorio <strong>de</strong> <strong>la</strong> librería TK.• EDITOR - Editor por <strong>de</strong>fecto para editar losficheros fuente (opcional).Debe modificarse <strong>la</strong> variable <strong>de</strong> entorno3$7+ para añadir al path <strong>de</strong> ejecutables losdirectorios: \$LLEDIPO y \$LLEDIPO/bin


Una <strong>de</strong> <strong>la</strong>s mejoras que pue<strong>de</strong> llevarse a caboen EDIPO está re<strong>la</strong>cionada con <strong>la</strong> seguridad en <strong>la</strong>scomunicaciones, pue<strong>de</strong>n utilizarse losmecanismos <strong>de</strong> comunicación segura (como sshy scp) en vez <strong>de</strong> utilizar lugar <strong>de</strong> los comandosrsh y rcp.La metodología utilizada para el <strong>de</strong>sarrollo <strong>de</strong>EDIPO (VFULSWV, mecanismos <strong>de</strong> comunicaciónremota, etc.) permite adaptar y exten<strong>de</strong>r esteentorno con nuevas y distintas funcionalida<strong>de</strong>s ypodría ser ampliable para que soporte otrasherramientas como Java RMI.5HIHUHQFLDV[1] R.Baraglia, D. Laforenza. :$00 $0HWDFRPSXWHU *UDSKLFDO ,QWHUIDFH ParallelProcessing Group. CNUCE Institute, Pisa.cnuce-arch.cnuce.cnr.it/wamm/[2] Condor: www.cs.wisc.edu/condor/[3] J.E. Devaney, R. Lipman, M. Lo,W.F.Mitchell, M. Edwards, C.W. C<strong>la</strong>ck. The3DUDOOHO $SSOLFDWLRQV 'HYHORSPHQWPor último, también es necesario generar unarchivo .UKRVW en el directorio KRPH <strong>de</strong>l usuariodon<strong>de</strong> se especifican <strong>la</strong>s máquinas en <strong>la</strong>s que setienen permisos para escribir en su sistema <strong>de</strong>archivos. Una vez realizada <strong>la</strong> insta<strong>la</strong>ción, so<strong>la</strong>mentehay que escribir EDIPO en <strong>la</strong> línea <strong>de</strong> comandos.Primero se leen <strong>la</strong>s variables <strong>de</strong> entorno y sebuscan en <strong>la</strong> variable <strong>de</strong> entorno 3$7+ <strong>de</strong>lusuario los programas que se <strong>de</strong>ben ejecutar.Si están disponibles todos los programas quese necesitan se muestra <strong>la</strong> ventana principal <strong>de</strong>lentorno (figura 3).&RQFOXVLRQHV\WUDEDMRVIXWXURVSe ha presentado una herramienta genérica quefacilita el <strong>de</strong>sarrollo y ejecución <strong>de</strong> una aplicaciónparale<strong>la</strong> sobre una máquina virtual heterogénea, loque permite a los alumnos <strong>de</strong> <strong>la</strong>s asignaturasre<strong>la</strong>cionadas con <strong>la</strong> Programación Distribuida o <strong>la</strong>Programación en Paralelo realizar sus prácticassobre re<strong>de</strong>s geográficamente dispersas.(QYLURQPHQW 3$'( 8VHUV 0DQXDONational Institute of Standards andTechnology. www.itl.nist.gov/div895/pa<strong>de</strong>/[4] Globus: www.globus.org/[5] /LQX[ LQ D 1XWVKHOO, Second Edition. EllenSiever and the Staff of O'Reilly & Associates,Inc. 1999.[6] 03,0HVVDJH3DVVLQJ,QWHUIDFHwww-unix.mcs.anl.gov/mpi/[7] C.A. <strong>de</strong> Pablos Prieto. 3URJUDPDFLyQGLQiPLFD 3DUDOHOD (VTXHOHWRV \+HUUDPLHQWDV GH 'HVDUUROOR 3UR\HFWR )LQDOGH &DUUHUD Centro Superior <strong>de</strong> Informática.Dpto. <strong>de</strong> Estadística, Investigación Operativay Computación. Universidad <strong>de</strong> La Laguna.Enero 2002.[8] J. Peek, T. O'reilly, M. Louki<strong>de</strong>s. 8QL[3RZHU7RROV. O'Reilly & Associates, Inc. 1994.[9] 3903DUDOOHO9LUWXDO0DFKLQHwww.csm.ornl.gov/pvm/pvm_home.html[10] B. Welch. Practical Programming Tcl andTk. Prentice Hall. 1999


Sistemas operativos


La asignatura Sistemas Operativos I en el 2mil2José Antonio Gómez Hernán<strong>de</strong>zDpto. <strong>de</strong> Lenguajes y Sistemas InformáticosUniversidad <strong>de</strong> Granada18071 Granadae-mail: jagomez@ugr.esResumenEl artículo expone algunas i<strong>de</strong>as sobre cuales<strong>de</strong>ben ser los contenidos y enfoque a<strong>de</strong>cuados para<strong>la</strong> teoría <strong>de</strong> una asignatura <strong>de</strong> introducción a lossistemas operativos. Esta concepción <strong>de</strong> <strong>la</strong>asignatura preten<strong>de</strong> satisfacer <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>formación en <strong>la</strong> materia que, en mi opinión, tienennuestros alumnos, se basa principalmente en <strong>la</strong>experiencia acumu<strong>la</strong>da impartiendo diferentesasignaturas sobre <strong>la</strong> disciplina, y toma enconsi<strong>de</strong>ración los avances producidos en SistemasOperativos en los últimos años.1 IntroducciónExiste una evolución continua en <strong>la</strong> forma <strong>de</strong>enseñar sistemas operativos dado el reto que estosupone por <strong>la</strong> cantidad <strong>de</strong> material que se ha <strong>de</strong>cubrir y por el equilibrio que ha <strong>de</strong> existir con <strong>la</strong>práctica. Si bien <strong>la</strong>s unida<strong>de</strong>s que se han <strong>de</strong> cursarestán suficientemente c<strong>la</strong>ras en <strong>la</strong>s propuestascurricu<strong>la</strong>res como [1], mi inquietud surgió hace yatiempo a <strong>la</strong> hora <strong>de</strong> abordar cuales <strong>de</strong>ben ser loscontenidos concretos que han <strong>de</strong> cursar losalumnos <strong>de</strong> <strong>la</strong> asignatura y el enfoque que se le ha<strong>de</strong> dar. Esto me llevó a p<strong>la</strong>ntear cual <strong>de</strong>be ser <strong>la</strong>formación global que <strong>de</strong>be recibir un ingeniero eninformática.Diferentes estudios técnicos que se vienenpublicando sobre empleo reve<strong>la</strong>n que gran parte <strong>de</strong><strong>la</strong>s profesiones <strong>de</strong>l futuro próximo serán <strong>de</strong> nuevacreación. En este sentido, parece razonable que <strong>la</strong>Universidad <strong>de</strong>be estar preparada para unaava<strong>la</strong>ncha <strong>de</strong> titu<strong>la</strong>ciones <strong>de</strong> nueva <strong>la</strong> creación obien <strong>la</strong> modificación <strong>de</strong> <strong>la</strong>s ya existentes. Aunquelos profesionales <strong>de</strong>l mañana los formemos hoy,no po<strong>de</strong>mos enseñar cómo será <strong>la</strong> ciencia ytecnología veni<strong>de</strong>ra. Esto hace que, como en otrasparce<strong>la</strong>s, en el campo <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong>información <strong>de</strong>bemos formar ingenieros capaces<strong>de</strong> operar más allá <strong>de</strong> su actual práctica, que seancapaces <strong>de</strong> empujar <strong>la</strong>s fronteras <strong>de</strong> su educaciónactual. En <strong>la</strong> parce<strong>la</strong> que nos ocupa, no po<strong>de</strong>mos<strong>de</strong>jar <strong>de</strong> prepararlos para abordar los avancesconceptuales y tecnológicos que se estánproduciendo en <strong>la</strong> disciplina [11].Partiendo <strong>de</strong> esa i<strong>de</strong>a, he ido <strong>de</strong>purando ydando forma a una propuesta <strong>de</strong> curso en <strong>la</strong> que,cubriendo los conceptos básicos <strong>de</strong> sistemasoperativos, se intenta ir <strong>de</strong>jando un poso queintegre dichos conocimientos con los impartidosen el resto <strong>de</strong> <strong>la</strong>s asignaturas, al objeto <strong>de</strong> <strong>de</strong>jarc<strong>la</strong>ros una serie <strong>de</strong> principios válidos a todas el<strong>la</strong>s.Este enfoque unificador es el <strong>de</strong> diseño <strong>de</strong>sistemas.De <strong>la</strong>s numerosas propuestas realizadas, quepo<strong>de</strong>mos ver en artículos recientes en SIGCSE 1 yOSR 2 , tenemos <strong>de</strong>s<strong>de</strong> enfoques top-down [7] hastabottom-up [4]. Des<strong>de</strong> mi punto <strong>de</strong> vista hay queevitar aquel<strong>la</strong>s propuestas que:a. No sean realistas al no contemp<strong>la</strong>r que elfuncionamiento <strong>de</strong> un sistema operativo esmás complejo <strong>de</strong> lo que se <strong>de</strong>riva <strong>de</strong> <strong>la</strong>s<strong>de</strong>scripciones <strong>de</strong> sus partes.b. Mantienen una visión historicista, como ocurreen algunos <strong>de</strong> los libros <strong>de</strong> texto <strong>de</strong> sistemasoperativos. Muchos <strong>de</strong> ellos son el resultado<strong>de</strong> un proceso acumu<strong>la</strong>tivo <strong>de</strong> conocimientos<strong>de</strong>s<strong>de</strong> su primera versión. Esto no sólo tiene elproblema inmediato <strong>de</strong> que su contenido es tanamplio que no es factible cubrirlo en loscréditos asignados a una asignatura, sino que,a<strong>de</strong>más, dificultan el discernimiento entre loque es obsoleto y los avances recientes.1 Grupo <strong>de</strong> interés <strong>de</strong> <strong>la</strong> ACM en Computer ScienceEducation.2 Operating System Review <strong>de</strong> <strong>la</strong> ACM.


Citemos algunos ejemplos. Sobre el primer punto,<strong>la</strong> mayoría <strong>de</strong> los libros <strong>de</strong> texto <strong>de</strong>scomponen elsistema en módulos pero luego, no lo recomponen,no se analizan los caminos <strong>de</strong> código cuando serealiza una l<strong>la</strong>mada al sistema o cuando se produceuna interrupción. Sorpren<strong>de</strong> ver cómo se estudianlos manejadores <strong>de</strong> interrupciones, pero no se sabemuy bien cómo llega <strong>la</strong> información <strong>de</strong> undispositivo hasta <strong>la</strong> aplicación que <strong>la</strong> solicitó, ocómo se <strong>de</strong>sbloquea al proceso l<strong>la</strong>mador. Sobre elsegundo punto, se pue<strong>de</strong>n <strong>de</strong>dicar algunas páginasa explicar un sistema operativo por lotes y, tansiquiera se <strong>de</strong>scriben <strong>la</strong>s características <strong>de</strong> unsistema operativo empotrado.Opino que el uso <strong>de</strong> código real (enfoquebottom-up) no es a<strong>de</strong>cuado en un nivelintroductorio. Como he podido constatar en cursos<strong>de</strong> este tipo, el conocimiento previo <strong>de</strong>l quedisponen los alumnos <strong>de</strong> segundo curso no es aúnel a<strong>de</strong>cuado, es muy restrictivo pues no permite e<strong>la</strong>nálisis <strong>de</strong> alternativas <strong>de</strong> diseño, y es difícil <strong>de</strong>encajar en una asignatura cuatrimestral.Un enfoque estrictamente top-down presentael problema <strong>de</strong> no ser realista en cuanto alreconocimiento <strong>de</strong> <strong>la</strong> complejidad <strong>de</strong> un sistemaoperativo real. Por ello, mi propuesta para el cursopreten<strong>de</strong> llegar a un punto <strong>de</strong> equilibrio entreambos enfoques, un enfoque <strong>de</strong> diseño. Según <strong>la</strong>cual, partiendo <strong>de</strong> un enfoque top-down llegar aanalizar los elementos suficientes <strong>de</strong>implementación para llegar a compren<strong>de</strong>r elfuncionamiento real <strong>de</strong> muchos sistemas. Un tiposimi<strong>la</strong>r <strong>de</strong> propuesta pue<strong>de</strong> verse en [8].2 Las asignaturas <strong>de</strong> sistemas operativosLa ETS <strong>de</strong> Ingeniería Informática <strong>de</strong> <strong>la</strong>Universidad <strong>de</strong> Granada imparte <strong>la</strong>s titu<strong>la</strong>ciones <strong>de</strong>Ingeniero en Informática, Ingeniero Técnico enInformática <strong>de</strong> Sistemas e Ingeniero Técnico enInformática <strong>de</strong> Gestión. En <strong>la</strong>s tres titu<strong>la</strong>ciones seimparten <strong>la</strong>s asignaturas <strong>de</strong> Sistemas Operativos I,troncal y con una carga docente <strong>de</strong> 4.5T + 1.5P, ySistemas Operativos II, obligatoria y con <strong>la</strong> mismacarga docente que <strong>la</strong> anterior. Ambas asignaturasse imparten en segundo curso, en el primer ysegundo cuatrimestre, respectivamente. A<strong>de</strong>más,<strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniero en Informática contiene<strong>la</strong> asignatura optativa Diseño <strong>de</strong> SistemasOperativos con una carga docente <strong>de</strong> 3T+3P.De otra parte, existen una serie <strong>de</strong> asignaturasque po<strong>de</strong>mos consi<strong>de</strong>rar como prerrequisitos <strong>de</strong><strong>la</strong>s antes citadas como son Metodología <strong>de</strong> <strong>la</strong>Programación I y II, e Introducción a losComputadores, que se imparten en primer curso.En segundo curso, se imparten en paralelo <strong>la</strong>sasignaturas <strong>de</strong> Estructura <strong>de</strong> Computadores I y II.Estas asignaturas permiten eliminar algunoscontenidos <strong>de</strong> estructura y funcionamiento <strong>de</strong>lcomputador <strong>de</strong> nuestra asignatura e ilustrar parte<strong>de</strong> <strong>la</strong> interacción hard-soft.3 Propuesta <strong>de</strong> contenidosEl programa propuesto para <strong>la</strong> asignatura recogelos <strong>de</strong>scriptores impuestos por <strong>la</strong> troncalidad eincluye los temas básicos <strong>de</strong> una asignaturaintroductoria: introducción a los sistemasoperativos, gestión <strong>de</strong> procesos, sincronización ycomunicación, organización <strong>de</strong> memoria, gestión<strong>de</strong> memoria virtual, gestión <strong>de</strong> entradas/salidas ysistema <strong>de</strong> archivos.El temario <strong>de</strong> Sistemas Operativos II incluyelos siguientes puntos: implementación <strong>de</strong> lossistemas <strong>de</strong> archivos, p<strong>la</strong>nificación <strong>de</strong> recursos,protección y seguridad, una introducción a lossistemas operativos distribuidos, e implementación<strong>de</strong>l núcleo <strong>de</strong> un sistema operativo centradoprincipalmente en el estudio Unix, así como unavisión general <strong>de</strong> Windows 2000.El temario <strong>de</strong> Sistemas Operativos I parecebastante clásico, si bien se aparta <strong>de</strong> esta línea en<strong>la</strong> forma <strong>de</strong> en<strong>la</strong>zar los diferentes temas y en loscontenidos asignados a cada unidad. De acuerdocon [10], <strong>la</strong> experiencia muestra cómo los alumnosacce<strong>de</strong>n a <strong>la</strong> asignatura con entusiasmoentendiendo que los sistemas operativos son unelemento c<strong>la</strong>ve en un sistema <strong>de</strong> computador, pero,<strong>de</strong>safortunadamente, finalizan a menudo el cursoun poco <strong>de</strong>sencantados, en especial cuando sesigue un enfoque estrictamente top-down, en elcual <strong>de</strong>ben memorizar un importante número <strong>de</strong>primitivas <strong>de</strong> sincronización, políticas <strong>de</strong>p<strong>la</strong>nificación <strong>de</strong> procesos, y algoritmos <strong>de</strong>sustitución <strong>de</strong> páginas. Evi<strong>de</strong>ntemente, estos temasson importantes <strong>de</strong> por sí, pero no son más que uncomponente en un gran cuadro. Por ello, esimportante entrar en <strong>de</strong>talles <strong>de</strong> implementaciónpara hacerles ver que no hay nada mágico en elfuncionamiento <strong>de</strong>l sistema. En este punto hay quellegar a un equilibrio entre <strong>la</strong> casi imposibilidad <strong>de</strong>explicar código real y explicar suficientes <strong>de</strong>tallespara que el alumno imagine el código a nivel <strong>de</strong>funciones. Por ejemplo, centrándome en una <strong>de</strong> <strong>la</strong>s


Comunicación <strong>de</strong>datos y re<strong>de</strong>sHardware yArquitecturaSistemasConcurrentesSistemasOperativosSistemasDistribuidosLenguajes yProgramaciónProgramaciónConcurrenteSistemas <strong>de</strong>Tiempo-RealBases <strong>de</strong> Datos:implementaciónFigura 1.- Visión general <strong>de</strong> los sistemas concurrentes, modificada <strong>de</strong> [3]unida<strong>de</strong>s pi<strong>la</strong>res <strong>de</strong> <strong>la</strong> asignatura, <strong>la</strong>implementación <strong>de</strong> procesos y concurrencia:explicar cómo se lleva a cabo el cambio <strong>de</strong>contexto, <strong>la</strong> operación <strong>de</strong> bloqueo <strong>de</strong> procesos, <strong>la</strong>invocación <strong>de</strong> una l<strong>la</strong>mada al sistema, <strong>la</strong> gestión <strong>de</strong>interrupciones y cómo el diseño realizado en <strong>la</strong>mayoría <strong>de</strong> los sistemas operativos escon<strong>de</strong> éstas alos procesos.A continuación, comentaré los contenidos másrelevantes <strong>de</strong> cada unidad.3.1 Introducción a los sistemas operativosLa experiencia ha ido mostrándome cómo losestudiantes tien<strong>de</strong>n a ver en los primeros cursos <strong>de</strong><strong>la</strong> carrera los sistemas operativos como algoais<strong>la</strong>do. Es interesante y enriquecedor para ellostener una visión más amplia, por ello es útil en elprimer tema dar una visión general <strong>de</strong> los sistemasconcurrentes (Figura 1) y cómo se materializanéstos en <strong>la</strong>s asignaturas <strong>de</strong> su p<strong>la</strong>n <strong>de</strong> estudios.Esto les permite crear re<strong>la</strong>ciones entre asignaturasque <strong>de</strong> otra forma les parecerían compartimentosestancos.Otro elemento básico a tratar es <strong>la</strong> creación <strong>de</strong>abstracciones, ver [5], ya que <strong>de</strong> hecho el kernel es<strong>la</strong> implementación <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong>finida por <strong>la</strong>sl<strong>la</strong>madas al sistema. Razonar sobre <strong>la</strong> interfaz esimportante <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l diseño:conocer por qué <strong>la</strong>s funciones <strong>de</strong> <strong>la</strong> interfaz tienen<strong>la</strong> estructura que tienen, por ejemplo, fork oread() <strong>de</strong> Unix frente a CreateProcess oReadFile() <strong>de</strong> Windows, o cómo <strong>la</strong> interfaz<strong>de</strong>fine <strong>la</strong> complejidad <strong>de</strong> <strong>la</strong> máquina abstracta quetratamos <strong>de</strong> implementar. Es bueno ilustrar variasinterfaces <strong>de</strong> programación, por ejemplo, <strong>la</strong>POSIX <strong>de</strong> Unix y <strong>la</strong> Win32 <strong>de</strong> Windows que sonactuales y siguen dos filosofías distintas, comorecoge <strong>la</strong> elogiable propuesta realizada en [6].El estudio <strong>de</strong> <strong>la</strong>s l<strong>la</strong>madas al sistema nos llevaa vislumbrar los diferentes tipos <strong>de</strong> serviciossuministrados por el sistema operativo, lo que nosda pie a estructurar el sistema en gran<strong>de</strong>s módulos,cada uno <strong>de</strong> los cuales suministra un tipo <strong>de</strong>servicio. Aquí es importante hacer ver al alumno<strong>de</strong> manera intuitiva que <strong>la</strong> <strong>de</strong>pen<strong>de</strong>ncia entremódulos es compleja. Por ejemplo, para realizaruna actividad necesitamos crear un proceso, elcual necesita memoria y su programa ejecutableestá en un archivo al igual que los datos quemaneja. Esto da pie para introducirlos en el estudio<strong>de</strong> arquitecturas <strong>de</strong> sistemas operativos guiadospor el intento <strong>de</strong> dar respuesta a <strong>la</strong> cuestión <strong>de</strong>cómo construir un sistema que sea fiable,extensible y eficiente. Este apartado esta centradoen <strong>la</strong>s arquitecturas monolítica y microkernel, sibien se ven brevemente <strong>la</strong> estructura <strong>de</strong> capas y <strong>la</strong><strong>de</strong> Máquina Virtual, por aparecer en muchossistemas actuales. Para analizar <strong>la</strong>s arquitecturasanteriores es necesario introducir el concepto <strong>de</strong>espacio <strong>de</strong> direcciones, recordar el paradigma <strong>de</strong>l<strong>la</strong>mada a procedimiento ampliándolo, aprocedimiento protegido -l<strong>la</strong>mada al sistema- yavanzar el <strong>de</strong> paso <strong>de</strong> mensajes.Para finalizar el tema, se repasan losprincipales tipos o c<strong>la</strong>ses <strong>de</strong> sistemas operativos,evitando al máximo explicar sistemas en <strong>de</strong>suso.Se estudian los sistemas multiprogramados, porcontener los elementos básicos <strong>de</strong> un sistemaoperativo actual, posponiendo para el tema <strong>de</strong>sincronización una justificación <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> <strong>la</strong>multiprogramación. Por supuesto se <strong>de</strong>fine ycaracterizan los sistemas <strong>de</strong> tiempo compartido,los sistemas paralelos y distribuido, los <strong>de</strong> tiemporealy los empotrados.


3.2 Procesos y hebrasEn el tema <strong>de</strong> procesos, uno <strong>de</strong> los aspectos másrelevantes es mostrar a los estudiantes que unproceso es una abstracción introducida para ais<strong>la</strong>r<strong>la</strong>s diferentes activida<strong>de</strong>s <strong>de</strong>l sistema y po<strong>de</strong>rrazonar sobre el<strong>la</strong>s <strong>de</strong> forma separada. Sorpren<strong>de</strong>ver como este concepto está tan arraigado en ellosque les parece que se produce <strong>de</strong> forma natural en<strong>la</strong> propia estructura <strong>de</strong>l computador. Des<strong>de</strong> estai<strong>de</strong>a se abordan <strong>la</strong>s estructuras <strong>de</strong> datos necesariaspara construir esta abstracción. Se explica con<strong>de</strong>talle esa misteriosa operación <strong>de</strong> cambio <strong>de</strong>contexto. En <strong>la</strong> parte <strong>de</strong> p<strong>la</strong>nificación se hacehincapié en cómo se activa el bucle <strong>de</strong> <strong>de</strong>spacho, yrespecto a los algoritmos <strong>de</strong> p<strong>la</strong>nificación, interesacentrarse en los que han sobrevivido al paso <strong>de</strong>tiempo. Se introduce el concepto <strong>la</strong>tencia <strong>de</strong><strong>de</strong>spacho y se ve por qué es necesario reducir<strong>la</strong> ensistemas operativos <strong>de</strong> tiempo-real. Se explica elfenómeno <strong>de</strong> inversión <strong>de</strong> prioridad y se indicacomo se solventa a través <strong>de</strong> un protocolo <strong>de</strong>herencia <strong>de</strong> prioridad.Por otra parte, se muestran <strong>la</strong>s limitaciones <strong>de</strong>lmo<strong>de</strong>lo proceso, creado hace varias décadas,cuando trabajamos con multiprocesadores o conaplicaciones inherentemente parale<strong>la</strong>s. Esto nospermite introducir el concepto <strong>de</strong> hebra (o hilo) ysus tipos, y cómo el mo<strong>de</strong>lo hebra esta diseñadopara ser compatible en alto grado con el mo<strong>de</strong>loproceso ya que ambos conviven en <strong>la</strong> mayoría <strong>de</strong>los sistemas. Este es uno <strong>de</strong> los puntos en el que el<strong>de</strong>scenso a nivel <strong>de</strong> implementación facilita <strong>la</strong>comprensión <strong>de</strong>l concepto hebra y los diferentestipos. Aquí es importante poner algunos ejemplosreales para ilustrar <strong>la</strong>s sutilida<strong>de</strong>s <strong>de</strong> <strong>la</strong> nuevaabstracción. Abundaré sobre esta cuestión en e<strong>la</strong>partado <strong>de</strong> metodología.Hay ejercicios que creo importantes para conocersi han comprendido los conceptos básico <strong>de</strong>l tema.Por ejemplo, ¿pue<strong>de</strong> un SO aten<strong>de</strong>r <strong>la</strong>sinterrupciones si utiliza una política <strong>de</strong>p<strong>la</strong>nificación no apropiativa?, ¿<strong>de</strong>be un procesocambiar él mismo su estado <strong>de</strong> “ejecutándose” a“bloqueado”? Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> diseño,casi más importante que el estudio <strong>de</strong> un<strong>de</strong>terminado algoritmo <strong>de</strong> p<strong>la</strong>nificación es hacerlesver, por ejemplo, cuales son los mecanismosutilizados para disparar <strong>la</strong> acción <strong>de</strong>l p<strong>la</strong>nificador.3.3 Sincronización y comunicaciónEn este tema, el p<strong>la</strong>nteamiento inicial esintroducirles en <strong>la</strong> necesidad <strong>de</strong> <strong>la</strong> programaciónconcurrente para resolver <strong>de</strong>terminado tipo <strong>de</strong>aplicaciones. Para ello, les muestro un ejemplosobre el dibujo <strong>de</strong> un conjunto <strong>de</strong> Man<strong>de</strong>lbrot(proceso acotado por computo) en una ventanaWindows y pue<strong>de</strong>n observar como, mientrasdibujamos, es imposible acce<strong>de</strong>r al menú <strong>de</strong>opciones <strong>de</strong> <strong>la</strong> ventana. A continuación se utilizael mecanismo <strong>de</strong> entradas/salidas asíncronas paradibujar con una hebra y aten<strong>de</strong>r <strong>la</strong> ventana conotra, resultando ahora posible acce<strong>de</strong>r al menúmientras se dibuja. El resto <strong>de</strong>l tema se <strong>de</strong>dica aver los problemas clásicos <strong>de</strong> sincronizaciónutilizando semáforos. Esta primitiva, junto con loscerrojos <strong>de</strong> espera ocupada (spin lock), son <strong>la</strong>súnicas primitivas <strong>de</strong> sincronización que lesmuestro, ya que el estudio <strong>de</strong> gran variedad <strong>de</strong>primitivas genera más confusión que beneficios.En cualquier caso, les hago notar que en <strong>la</strong>sasignaturas <strong>de</strong> Programación Concurrente, Diseño<strong>de</strong> Bases <strong>de</strong> Datos, etc. verán un amplio abanico<strong>de</strong> primitivas.3.4 Gestión <strong>de</strong> memoriaRespecto a <strong>la</strong> gestión <strong>de</strong> memoria, los puntos másimportantes a mi enten<strong>de</strong>r son <strong>la</strong> necesidad <strong>de</strong>diferenciar entre espacio lógico <strong>de</strong> direcciones yespacio físico, y cómo se hace correspon<strong>de</strong>r unoen otro a través <strong>de</strong> lo que yo <strong>de</strong>nomino <strong>la</strong> Caja <strong>de</strong>Traducción (<strong>la</strong> MMU). En los últimos años, he idoreduciendo el estudio <strong>de</strong> esquemas simples <strong>de</strong>asignación <strong>de</strong> memoria al estudio <strong>de</strong> particionesvariables, con <strong>la</strong> so<strong>la</strong> i<strong>de</strong>a <strong>de</strong> introducir elproblema <strong>de</strong> <strong>la</strong> fragmentación. Esto permitecentrarse más en los esquemas <strong>de</strong> gestión <strong>de</strong>memoria utilizados para evitar este problema:segmentación y paginación. Se sigue viendo elintercambio porque aún no ha perdido toda suutilidad . En paginación es importante resaltar quesu buen funcionamiento <strong>de</strong>pen<strong>de</strong> <strong>de</strong> <strong>la</strong> localidad <strong>de</strong>los programas, que influye entre otras cosas en elbuen funcionamiento <strong>de</strong>l TLB (Búfer <strong>de</strong>reconocimiento <strong>de</strong> traducciones). De otra parte, esnecesario acudir a <strong>la</strong> programación enensamb<strong>la</strong>dor, que se estudia en otra asignatura,


para ver <strong>la</strong>s diferencias entre segmentación ypaginación, ya que inicialmente les resultanmecanismos muy parecidos.En gestión <strong>de</strong> memoria virtual, aparte <strong>de</strong> loselementos tradicionalmente vistos, hay quehacerles ver lo que no dicen c<strong>la</strong>ramente muchoslibros <strong>de</strong> texto: que al sobrecargar el bit <strong>de</strong> vali<strong>de</strong>z<strong>de</strong> significado para tratar <strong>la</strong> falta <strong>de</strong> página, <strong>la</strong>tab<strong>la</strong> <strong>de</strong> páginas no <strong>de</strong>scribe el espacio completo<strong>de</strong> direcciones <strong>de</strong> un proceso, y que una falta <strong>de</strong>página no indica necesariamente que una páginano está en memoria, sino que <strong>la</strong> traducción quetenemos no es correcta aún cuando <strong>la</strong> páginapue<strong>de</strong> estar en memoria. Creo necesario explicar elmecanismo <strong>de</strong> copia-al-escribir (copy-on-write)para explicar con posterioridad archivosproyectados en memoria.Respecto a los algoritmos <strong>de</strong> sustitución <strong>de</strong>páginas, cada vez tiendo más a reducir su número,explicando básicamente el algoritmo <strong>de</strong>l reloj y el<strong>de</strong> Frecuencia <strong>de</strong> falta <strong>de</strong> página, que son los másutilizados actualmente. Es importante explicar elMo<strong>de</strong>lo <strong>de</strong>l Conjunto Activo, en especial por suimplicaciones con <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong> proceso através <strong>de</strong> Principio <strong>de</strong> Conjunto Activo.3.5 Gestión <strong>de</strong> entradas/salidasDado que en asignaturas como Introducción a losComputadores y Estructura <strong>de</strong> Computadores<strong>de</strong>dican parte <strong>de</strong>l programa a ver <strong>la</strong> arquitecturahardware <strong>de</strong> los dispositivos, este tema tiene comopuntos fuertes los siguientes: (a) analizar <strong>la</strong>arquitectura software <strong>de</strong>l subsistema <strong>de</strong>entradas/salidas, (b) ver cómo se <strong>de</strong>signandispositivos haciendo hincapié en su integraciónen el espacio <strong>de</strong> nombres <strong>de</strong> archivos, y (c)estudiar cómo se implementa el concepto <strong>de</strong>entradas/salidas in<strong>de</strong>pendientes <strong>de</strong>l dispositivo(Figura 1). Respecto al punto (a), es <strong>de</strong> especialrelevancia el estudio <strong>de</strong>l camino <strong>de</strong> código parauna operación <strong>de</strong> entrada o salida, que permitevisualizar un ejemplo real <strong>de</strong>l problema <strong>de</strong>lproductor-consumidor, y nos lleva a p<strong>la</strong>ntear <strong>la</strong>necesidad <strong>de</strong> diseñar un manejador <strong>de</strong> dispositivosdividido en dos mita<strong>de</strong>s. La mitad superior seejecuta en el contexto <strong>de</strong>l proceso l<strong>la</strong>mador,pudiéndose bloquear, y <strong>la</strong> mitad inferior, que no sepue<strong>de</strong> bloquear, ha <strong>de</strong> ejecutarse en un contextodiferente.3.6 Sistemas <strong>de</strong> archivosPor último, dado que en Sistemas Operativos IIexiste un tema <strong>de</strong>dicado a <strong>la</strong> implementación <strong>de</strong>sistemas <strong>de</strong> archivos, en <strong>la</strong> asignatura nos<strong>de</strong>dicamos más a ver <strong>la</strong>s abstraccionessuministradas al usuario, como son archivos,directorios, <strong>de</strong>scriptores <strong>de</strong> archivos, en<strong>la</strong>ces durosy simbólicos. También les introduzco los temas <strong>de</strong><strong>la</strong>s posibles semánticas <strong>de</strong> consistencia,<strong>de</strong>signación <strong>de</strong> archivos, y el concepto <strong>de</strong> archivoproyectado en memoria, por su extendido uso hoyen día y como ejemplo <strong>de</strong> interre<strong>la</strong>ción entre lossubsistemas <strong>de</strong> memoria y <strong>de</strong> archivos.Una visión general <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> sistema <strong>de</strong>archivos virtuales les permite compren<strong>de</strong>r cómo enlos sistemas actuales es posible manejarsimultáneamente diferentes tipos <strong>de</strong> sistemas <strong>de</strong>archivos. Así, po<strong>de</strong>mos mostrar cómo estemecanismo permite integrar abstraccionesdiferentes con <strong>la</strong> apariencia <strong>de</strong> archivos, merefiero, por ejemplo, al sistema <strong>de</strong> archivos <strong>de</strong>dispositivo, al sistema <strong>de</strong> archivos /proc, etc.Figura 2.- Implementación <strong>de</strong> <strong>la</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l dispositivo.open (d, ..)ProcesoInterfaz <strong>de</strong>l SO¿d?archivodispositivoiSistema<strong>de</strong> archivosTab<strong>la</strong> <strong>de</strong> conmutación<strong>de</strong> dispositivosOtrosservicioskernelInterfaz kernel-manejadoropen(..) { }write() { }close() { }Manejador <strong>de</strong>ldispositivo icontro<strong>la</strong>dor


3.7 Otros puntos tratadosSi bien el tema <strong>de</strong> eficiencia recogido en elcurrículum <strong>de</strong> <strong>la</strong> ACM/IEEE no se trataexpresamente en <strong>la</strong> asignatura, creo que esconveniente hacer hincapié a los estudiantes en <strong>la</strong>importancia <strong>de</strong> un buen rendimiento en el SO. Eneste sentido, trato <strong>de</strong> ir dando siempre valores <strong>de</strong>sistemas reales para el coste <strong>de</strong> ejecución <strong>de</strong>funciones como cambio <strong>de</strong> contexto, cambio <strong>de</strong>modo, coste <strong>de</strong> creación <strong>de</strong> un proceso y <strong>de</strong> unahebra, tiempo <strong>de</strong> acceso efectivo, etc. ya que enmuchos casos estos valores son los que justificanque se elija entre una <strong>de</strong> varias alternativas en eldiseño e implementación <strong>de</strong> una función <strong>de</strong>l SO.También, <strong>de</strong>jo a mis alumnos algunos temas<strong>de</strong> libre estudio tratando <strong>de</strong> en<strong>la</strong>zar con asignaturasque se cursan con posterioridad como es, porejemplo, el punto <strong>de</strong> contacto entre <strong>la</strong> generación<strong>de</strong> código <strong>de</strong>l compi<strong>la</strong>dor y <strong>la</strong> gestión <strong>de</strong> memoria<strong>de</strong>l sistema operativo. Para ello, he e<strong>la</strong>borado dostemas <strong>de</strong>nominados Asignación <strong>de</strong> memoria yen<strong>la</strong>zadores, y Designación y memoria virtual.Aparte <strong>de</strong>l temario, he comprobado eficiente ymotivador aplicar <strong>la</strong> i<strong>de</strong>a <strong>de</strong> T. An<strong>de</strong>rson en [2] <strong>de</strong>impartir <strong>de</strong> una serie <strong>de</strong> “sermones” (char<strong>la</strong>s <strong>de</strong> 15min.) que, no siendo estrictamente c<strong>la</strong>ves en <strong>la</strong>asignatura, provocan <strong>la</strong> reflexión <strong>de</strong> los alumnossobre <strong>de</strong>terminados temas como son: Lainformación es propiedad, La sencillez,Mantenerse abierto, y Construcción <strong>de</strong> sistemaseficientes.En otro ámbito diferente, <strong>la</strong> no existencia <strong>de</strong>un vocabu<strong>la</strong>rio común me lleva a explicar a misalumnos los términos en inglés y <strong>la</strong>s traduccionesmás comunes <strong>de</strong> los mismos así como <strong>la</strong>s que yoempleo, ya que los diferentes libros <strong>de</strong> textoutilizan en algunos casos traducciones diferentespara los mismos términos. Otras veces, <strong>la</strong>straducciones son <strong>de</strong> uso infrecuente o erróneo enEspaña, ya que están pensadas para el mercado<strong>la</strong>tinoamericano, etc.4 MetodologíaComo se indica en [9,12], <strong>la</strong> mera transferencia <strong>de</strong>conocimiento suministrada por <strong>la</strong> c<strong>la</strong>se magistral<strong>de</strong>be <strong>de</strong>jar paso a un proceso <strong>de</strong> aprendizajeindividual basado en <strong>la</strong> motivación. Por ejemplo,emplear parte <strong>de</strong> una c<strong>la</strong>se en enseñar <strong>de</strong>terminadoalgoritmo <strong>de</strong> p<strong>la</strong>nificación, que es fácil <strong>de</strong>apren<strong>de</strong>r en un libro <strong>de</strong> texto, es menos productivoy motivador que emplear este tiempo en hacer veral estudiante cómo se activa en algoritmo <strong>de</strong>p<strong>la</strong>nificación con <strong>la</strong> ocurrencia <strong>de</strong> unainterrupción, por citar un ejemplo. Por ello,procuro <strong>de</strong>dicar más tiempo a cubrir aspectosfundamentales <strong>de</strong> diseño, que no quedan c<strong>la</strong>ros en<strong>la</strong> bibliografía, e inducir al estudiante alrazonamiento e interconexión <strong>de</strong> conceptos, que aexplicar <strong>de</strong>talles o ver variantes <strong>de</strong> un tema quepue<strong>de</strong>n leer en <strong>la</strong> bibliografía, y que, no aportandogran contenido, requieren un tiempo precioso. Porejemplo, muchos libros <strong>de</strong> texto emplean grannúmero <strong>de</strong> páginas a explicar <strong>la</strong>s diferentesvariantes y aproximación <strong>de</strong>l algoritmo LRU parasustitución <strong>de</strong> página aunque en <strong>la</strong> vida real seaplican pocas <strong>de</strong> el<strong>la</strong>s, y sin embargo, obvian <strong>la</strong>necesidad <strong>de</strong> introducir un proceso/hebra <strong>de</strong> fondopara realizar dicha sustitución.La estructura <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s unida<strong>de</strong>ssigue siempre un mismo esquema: (1) se p<strong>la</strong>nteaun problema, (2) se estudian diferentes alternativas<strong>de</strong> diseño propuestas, y (3) se analizan <strong>la</strong>s ventajasy <strong>de</strong>sventajas <strong>de</strong> <strong>la</strong>s soluciones vistas <strong>de</strong>jandoc<strong>la</strong>ra <strong>la</strong> métrica <strong>de</strong> evaluación, por ejemplo,rendimiento <strong>de</strong> <strong>la</strong>s soluciones, consumo <strong>de</strong>recursos, flexibilidad, etc.La naturaleza <strong>de</strong>l material cubierto en <strong>la</strong>asignatura obliga a abordar un enfoque práctico enel que es aconsejable utilizar técnicas <strong>de</strong>visualización para presentar el material en unformato intuitivo, ver [13]. Estas técnicas exigenun gran esfuerzo en adaptar el material <strong>de</strong> curso aun formato gráfico, si bien se adaptan bien adiferentes metodologías como enseñanza adistancia mediante Web. Por ejemplo, <strong>la</strong> Figura 2ilustra los pasos seguidos para acce<strong>de</strong>r a undispositivo utilizando <strong>la</strong> técnica <strong>de</strong> in<strong>de</strong>pen<strong>de</strong>ncia<strong>de</strong> los dispositivos <strong>de</strong> E/S.En un línea simi<strong>la</strong>r, un aspecto importante <strong>de</strong><strong>la</strong>s nuevas tecnologías, que he constatadomotivador e ilustrativo, es el uso <strong>de</strong>l or<strong>de</strong>nador enc<strong>la</strong>se. Este nos pue<strong>de</strong> servir para ilustrar losconceptos explicados. Por ejemplo, <strong>la</strong>programación “real” <strong>de</strong> ejercicios, como pue<strong>de</strong>nser los <strong>de</strong> sincronización con semáforos, y suejecución en c<strong>la</strong>se permite entre otras cosas: vercómo realmente se produce el interbloqueo en losfilósofos comensales, Figuras 3 y 4.


#<strong>de</strong>fine NFILOSOFOS 5HANDLE hMutexTenedor[NFILOSOFOS];...void main() {HANDLE hVectorHebras[NFILOSOFOS];DWORD IDHebra;int i;for (i=0; i


5 EvaluaciónSi bien no he evaluado formalmente el curso, hepodido observar en los alumnos un crecienteinterés por <strong>la</strong> asignatura. Muchos <strong>de</strong> los que hanvisitado <strong>la</strong> página Web, me han indicado <strong>la</strong>utilidad <strong>de</strong> sus contenidos.Parte <strong>de</strong> <strong>la</strong> motivación encontrada en c<strong>la</strong>seobe<strong>de</strong>ce a <strong>la</strong> actualidad <strong>de</strong> los ejemplos vistos quepermite re<strong>la</strong>cionar a los estudiantes los conceptosvistos en c<strong>la</strong>se con los sistemas operativos usadosdiariamente, ya sea en su PC, PAD, teléfonomóvil, electrodomésticos, etc.6 ConclusionesSe han mostrado a gran<strong>de</strong>s rasgos cuales <strong>de</strong>benser, a mi enten<strong>de</strong>r, los contenidos <strong>de</strong> unaasignatura <strong>de</strong> introducción a los sistemasoperativos. Consi<strong>de</strong>ro que estos contenidos sonnecesarios para obtener una visión general <strong>de</strong>ldiseño <strong>de</strong> sistemas que trascienda a los propioscontenidos <strong>de</strong> un curso <strong>de</strong> esta disciplina.La propuesta realizada tiene aún algunosinconvenientes y cuestiones sin resolver en sutotalidad. A <strong>la</strong> vista <strong>de</strong>l resurgimiento <strong>de</strong> <strong>la</strong>investigación en este campo, que por algunos añosparecía aletargada, preten<strong>de</strong> ser un estímulo parareflexionar sobre <strong>la</strong> docencia <strong>de</strong> sistemasoperativos en este nuevo milenioEn http://lsi.ugr.es/~jagomez/sisopi.html sepue<strong>de</strong> ver parte <strong>de</strong>l material docente usado para <strong>la</strong>asignatura Sistemas Operativos I y generado segúnel enfoque y contenidos propuestos. No obstante,<strong>de</strong>be tenerse presente que aún queda trabajo porhacer para actualizar algunos <strong>de</strong> los temas queaparecen en <strong>la</strong> página con respecto a los principiospropuestos en este trabajo.He omitido intencionadamente a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong>discusión el tratamiento dado a <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong>asignatura <strong>de</strong>bido a que están en fase <strong>de</strong>remo<strong>de</strong><strong>la</strong>ción. El objetivo <strong>de</strong> <strong>la</strong>s mismas seráprofundizar en el uso <strong>de</strong> Linux tanto a nivel <strong>de</strong>usuario, utilizando el shell y or<strong>de</strong>nes avanzadas,como <strong>de</strong> programación incluyendo una parte<strong>de</strong>dicada a <strong>la</strong> programación con hebras para <strong>la</strong>mejor comprensión <strong>de</strong> los conceptos vistos en eltema <strong>de</strong> sincronización. En este último aspecto,creo que son buenos los enfoques dado en ciertostrabajos aparecidos en el SIGCSE que utilizan <strong>la</strong>interfaz <strong>de</strong> l<strong>la</strong>madas para reforzar los conceptosvistos en teoría.Referencias1. ACM/IEEE, Computing Curricu<strong>la</strong> 2001Computer Science, Final Report, December15, 2001,2. T. An<strong>de</strong>rson, http://http.cs.berkeley.edu/~tea.3. J. Bacon, Concurrent Systems. OperatingSystems, Database, and Distributed Systems:An Integrated Approach, 2ª Ed. AddisonWesley, 1998.4. D. P. Bovet y Marco Cesati, “A Real Bottom-Up Operating Systems Course”, OperatingSystems Review, 35(1), pgs. 48-60, ACMPress, Jan. 2001.5. P. Bucci, T.J. Long, y B. W. Wei<strong>de</strong>, “Do WeReally Teach Abstraction?, Proc. of the 32ndSIGCSE Technical Symposium on ComputerScience Education, pgs. 26-30, 2001.6. J. Carretero Pérez, y otros, Sistemasoperativos. Una visión aplicada. McGraw-Hill, 2001.7. R. A. Creak y R. Sheehan, “A Top-DownOperating Systems Course”, OperatingSystems Review, 34(3), pgs. 69-80, ACMPress, July 2000.8. C. Crowley, Operating Systems. A Design-Oriented Approach, Irwin, 1997.9. M. García-Valero y J. J. Navarro, “Niveles <strong>de</strong>competencia <strong>de</strong> los objetivos formativos en <strong>la</strong>sIngenierías, VII <strong>Jornadas</strong> <strong>de</strong> enseñanzauniversitaria <strong>de</strong> <strong>la</strong> informática, pgs. 149-154,Palma <strong>de</strong> Mallorca, 16-18 <strong>de</strong> 2001.10. M. A. Holliday, “System Calls and InterruptorVectors in an Operating Systems Course”,Proceedings of the 28th SIGCSE TechnicalSymposium on Computer Science Education,pgs. 53-57, 1997.11. D. Milojicic, “Operating systems - now and inthe future”. IEEE Concurrency, January-March 1999, pgs. 12-21.12. M. Rebollo, “Aprendizaje activo en el au<strong>la</strong>”,VII <strong>Jornadas</strong> <strong>de</strong> enseñanza universitaria <strong>de</strong> <strong>la</strong>informática, pgs. 137-142, 2001.13. V. Sparks, y Shan Suthaharan, “OperatingSystems: Visualization Technique forTeaching and Learning”, Proceedings of theIEEE, Southeastcon, 2000, pgs. 387-390.


Telemática


([SHULHQFLDVSUiFWLFDVVREUHHODQiOLVLVHQIUHFXHQFLDGHVHxDOHVHQODDVLJQDWXUD6LVWHPDVGH7UDQVPLVLyQGH'DWRVJosé Oliver, Alberto Bonastre, José Luis PozaDpto. <strong>de</strong> Informática <strong>de</strong> Sistemas y ComputadoresUniversidad Politécnica <strong>de</strong> ValenciaCamino <strong>de</strong> Vera 17, 46017 Valenciae-mail: {joliver, bonastre, jopolu}@disca.upv.es5HVXPHQLa <strong>de</strong>scomposición <strong>de</strong> señales mediante el análisis<strong>de</strong> Fourier es el método clásico más utilizado paraestudiar el comportamiento en frecuencia <strong>de</strong> unaseñal. Dentro <strong>de</strong>l marco <strong>de</strong> una asignatura sobretransmisión <strong>de</strong> datos, el análisis <strong>de</strong> Fourier esfundamental a <strong>la</strong> hora <strong>de</strong> caracterizar elcomportamiento <strong>de</strong> una señal y cómo el medioactúa sobre el<strong>la</strong>. Sin embargo, <strong>de</strong>bido a <strong>la</strong> basematemática necesaria, los alumnos encuentranespeciales dificulta<strong>de</strong>s a <strong>la</strong> hora <strong>de</strong> enten<strong>de</strong>r ymanejar esta herramienta matemática. En esteartículo se presentan una serie <strong>de</strong> experienciasprácticas que se han <strong>de</strong>sarrol<strong>la</strong>do con el objetivo<strong>de</strong> ayudar al alumno a compren<strong>de</strong>r <strong>la</strong> teoría queinvolucra el análisis <strong>de</strong> Fourier <strong>de</strong>ntro <strong>de</strong>l marco<strong>de</strong> los sistemas <strong>de</strong> transmisión <strong>de</strong> datos.,QWURGXFFLyQLa representación <strong>de</strong> señales <strong>de</strong> comunicacionesen el dominio <strong>de</strong> <strong>la</strong> frecuencia resulta fundamentalpara <strong>la</strong> comprensión <strong>de</strong> los fenómenos asociados a<strong>la</strong> transmisión <strong>de</strong> datos [1]. La mayoría <strong>de</strong> estosfenómenos no se entien<strong>de</strong>n excepto <strong>de</strong>s<strong>de</strong> estepunto <strong>de</strong> vista, puesto que <strong>la</strong> respuesta <strong>de</strong>l medio<strong>de</strong> transmisión, es <strong>de</strong>cir, cómo se verá afectada <strong>la</strong>señal al ser transmitida por el mismo, <strong>de</strong>pen<strong>de</strong> <strong>de</strong><strong>la</strong> frecuencia <strong>de</strong> <strong>la</strong> señal y sus armónicos.Sin embargo, <strong>la</strong> teoría matemáticacorrespondiente a este estudio resulta muy pocointuitiva, representando, según <strong>la</strong> experienciaacumu<strong>la</strong>da, uno <strong>de</strong> los contenidos menosatractivos <strong>de</strong> cualquier temario sobre transmisión<strong>de</strong> datos o tratamiento <strong>de</strong> señal.Con el fin <strong>de</strong> facilitar <strong>la</strong> comprensión y<strong>de</strong>mostrar <strong>la</strong> utilidad <strong>de</strong> <strong>la</strong>s diversas técnicas <strong>de</strong>representación en frecuencia se ha <strong>de</strong>sarrol<strong>la</strong>do<strong>de</strong>ntro <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong> Sistemas <strong>de</strong>Transmisión <strong>de</strong> Datos una batería <strong>de</strong> experienciasprácticas basadas en dicha representación.La asignatura <strong>de</strong> Sistemas <strong>de</strong> Transmisión <strong>de</strong>Datos (STD) [2] se centra en los primeros niveles<strong>de</strong>l mo<strong>de</strong>lo ISO/OSI (nivel físico y en<strong>la</strong>ce <strong>de</strong>datos), profundizando en <strong>la</strong>s técnicas <strong>de</strong>transmisión existentes y <strong>de</strong>scribiendo diferentesopciones <strong>de</strong> implementación. Es una asignaturaoptativa, correspondiente a los p<strong>la</strong>nes <strong>de</strong> estudios<strong>de</strong> 1.996, para <strong>la</strong> obtención <strong>de</strong> los títulos <strong>de</strong>Ingeniero en Informática (5º curso, con 6 créditos)e Ingeniero Técnico en Informática <strong>de</strong> Sistemas y<strong>de</strong> Gestión (3º curso, con 4.5 créditos).Este artículo presenta <strong>la</strong>s experienciasprácticas que hemos p<strong>la</strong>nteado a los alumnos yvalora su aplicación a ambas asignaturas <strong>de</strong> STD,presentando <strong>la</strong>s herramientas diseñadas a talefecto y los ejercicios p<strong>la</strong>nteados.([SHULHQFLDVSUiFWLFDVVREUHHODQiOLVLVGHVHxDOHVPHGLDQWH)RXULHULa <strong>de</strong>scomposición <strong>de</strong> señales mediante el análisis<strong>de</strong> Fourier, aunque no el único, sí es el métodoclásico más utilizado para estudiar elcomportamiento en frecuencia <strong>de</strong> una señal. Sucapacidad para <strong>de</strong>scomponer una señal enarmónicos y <strong>la</strong> disponibilidad <strong>de</strong> algoritmosrápidos para su procesamiento hacen <strong>de</strong> ésta unaherramienta muy utilizada en diversas ramas <strong>de</strong> <strong>la</strong>Ingeniería.Dentro <strong>de</strong>l marco <strong>de</strong> una asignatura sobretransmisión <strong>de</strong> datos, el análisis <strong>de</strong> Fourier es


Análisis <strong>de</strong> FourierSeries <strong>de</strong>FourierTransformadaDiscreta FourierFFTModu<strong>la</strong>ción(análisismediante series)Modu<strong>la</strong>ción(análisismediante transf.)Figura 1. Conjunto <strong>de</strong> prácticas re<strong>la</strong>cionadas con e<strong>la</strong>nálisis <strong>de</strong> Fourierfundamental a <strong>la</strong> hora <strong>de</strong> caracterizar elcomportamiento <strong>de</strong> una señal y cómo el medioactúa sobre el<strong>la</strong>. Sabemos que existen fenómenosfísicos, como <strong>la</strong> atenuación y el retardo <strong>de</strong> grupo,que no afectan <strong>de</strong> <strong>la</strong> misma manera a todos loscomponentes en frecuencia o armónicos <strong>de</strong> <strong>la</strong>señal transmitida. A su vez, conceptos comomodu<strong>la</strong>ción <strong>de</strong> señales y multiplexación enfrecuencia sólo se entien<strong>de</strong>n teniendo una visiónespectral <strong>de</strong> <strong>la</strong> señal a transmitir, y por tantoresulta fundamental su estudio y mediante unaherramienta como <strong>la</strong> introducida por JosephFourier en el siglo XIX.Con el objetivo <strong>de</strong> que el alumno entienda yadquiera <strong>la</strong>s habilida<strong>de</strong>s necesarias para utilizar<strong>la</strong>s distintas versiones <strong>de</strong> Fourier, y que a su vezcon el<strong>la</strong>s sea capaz <strong>de</strong> compren<strong>de</strong>r mejor aspectosimportantes <strong>de</strong>l proceso físico <strong>de</strong> transmisión <strong>de</strong>datos, hemos <strong>de</strong>sarrol<strong>la</strong>do un total <strong>de</strong> cincoexperiencias prácticas <strong>de</strong>ntro <strong>de</strong> nuestraasignatura.En <strong>la</strong>s tres primeras se analizan distintasmetodologías para realizar <strong>la</strong> <strong>de</strong>scomposición <strong>de</strong>señales mediante Fourier; como son <strong>la</strong>s series <strong>de</strong>Fourier, <strong>la</strong> transformada discreta <strong>de</strong> Fourier y <strong>la</strong>transformada rápida <strong>de</strong> Fourier [3] (más conocidacomo )DVW)RXULHU7UDQVIRUP, ))7)Las otras dos prácticas se centran en elproceso <strong>de</strong> modu<strong>la</strong>ción/<strong>de</strong>modu<strong>la</strong>ción <strong>de</strong> señales[4] utilizando portadoras analógicas y digitales.En primer lugar se caracteriza <strong>la</strong> modu<strong>la</strong>ción <strong>de</strong>los datos para, posteriormente, estudiar cómovaría su espectro, <strong>de</strong> <strong>la</strong> señal original, a <strong>la</strong> señalmodu<strong>la</strong>da.La re<strong>la</strong>ción existente entre <strong>la</strong>s cinco prácticases <strong>la</strong> que se muestra en <strong>la</strong> figura 1.Para llevar a cabo estas experiencias hemos<strong>de</strong>sarrol<strong>la</strong>do una serie <strong>de</strong> aplicaciones que losalumnos podrán usar para efectuar cada uno <strong>de</strong> losestudios. Por otro <strong>la</strong>do, y perteneciendo estaasignatura a los p<strong>la</strong>nes <strong>de</strong> estudios <strong>de</strong> Ingenieríaen Informática e Ingenierías Técnicas enInformática <strong>de</strong> Sistemas y Gestión, no podíamosolvidar un aspecto como <strong>la</strong> posibilidad <strong>de</strong> que losalumnos programaran parte <strong>de</strong> <strong>la</strong> aplicación. Portanto se les ofrece el ejecutable <strong>de</strong> <strong>la</strong> aplicaciónfuncionando correctamente y se les pi<strong>de</strong> que<strong>de</strong>sarrollen el código correspondiente a <strong>la</strong>implementación <strong>de</strong>l análisis <strong>de</strong> Fourier, o a <strong>la</strong>caracterización <strong>de</strong> <strong>la</strong> modu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> señal.3ULPHUDH[SHULHQFLD6HULHVGH)RXULHUEn esta primera experiencia práctica los alumnosempiezan a tomar contacto con el análisis <strong>de</strong>Fourier. Para esto, se estudia el caso más sencilloque han visto durante <strong>la</strong>s c<strong>la</strong>ses teóricas <strong>de</strong> au<strong>la</strong>,que es el uso <strong>de</strong> <strong>la</strong> <strong>de</strong>scomposición <strong>de</strong> señales enseries <strong>de</strong> Fourier.El alumno conoce <strong>la</strong>s expresiones para<strong>de</strong>scomponer una función periódica IW conperiodo 7 (esto es, que IW IW7) en series <strong>de</strong>Fourier. Como sabemos éstas son:D∑ ∞0 2I ( W)= + D cos( ω W)+ E VHQ(ω W)QQ Q Q7 7 Q=1don<strong>de</strong> los coeficientes D Q y E Q se calcu<strong>la</strong>nmediante <strong>la</strong>s siguientes expresiones:


Figura 2. Entorno visual para experimentar con series <strong>de</strong> FourierD∫= 7 I ( W) cos( ω WQQE0∫= 7 I ( W)sen(ωQQ0) GWW)GWLo primero que se pi<strong>de</strong> en esta experiencia esque el alumno obtenga una expresión general quepermita calcu<strong>la</strong>r los coeficientes D Q y E Q paraobtener el espectro <strong>de</strong> una señal periódica querepresente <strong>la</strong> transmisión repetida <strong>de</strong> un mismobyte. De esta forma, el alumno realiza un primerejercicio analítico que le obliga a estudiar yenten<strong>de</strong>r <strong>la</strong>s expresiones para <strong>la</strong> <strong>de</strong>scomposición<strong>de</strong> señales mediante series <strong>de</strong> Fourier.El ejercicio simplemente consiste en<strong>de</strong>scomponer cada una <strong>de</strong> <strong>la</strong>s integrales <strong>de</strong>finidas<strong>de</strong> 0 a 7 en ocho integrales, correspondiendo cadauna <strong>de</strong> el<strong>la</strong>s al periodo <strong>de</strong> un bit <strong>de</strong>ntro <strong>de</strong>l byte(<strong>de</strong> 0 a 7/8, <strong>de</strong> 7/8 a 27/8, etc). De esta manera,cada integral estará multiplicada por uno o cero enfunción <strong>de</strong>l valor <strong>de</strong>l bit.El siguiente ejercicio a <strong>de</strong>sarrol<strong>la</strong>r esimplementar el cálculo <strong>de</strong> <strong>la</strong> potencia <strong>de</strong> unarmónico Q <strong>de</strong> <strong>la</strong> señal, usando <strong>la</strong> expresión& = D + E2 2QQ Qa partir <strong>de</strong>l valor <strong>de</strong>l byte y <strong>de</strong> <strong>la</strong> velocidad <strong>de</strong>transmisión, que marcará el periodo 7 <strong>de</strong> <strong>la</strong>santeriores expresiones (tiempo que tarda un byteen ser transmitido).Una vez implementada esta sencil<strong>la</strong> rutinaentramos en <strong>la</strong> parte fundamental <strong>de</strong> <strong>la</strong> práctica,en <strong>la</strong> que el alumno experimenta directamente conlos distintos parámetros que permiten observar elespectro <strong>de</strong> un carácter o byte. Para esto se facilitaun entorno visual como el mostrado en <strong>la</strong> figura 2.En él se pue<strong>de</strong> introducir el código <strong>de</strong>l carácter, <strong>la</strong>velocidad <strong>de</strong> transmisión, el ancho <strong>de</strong> banda <strong>de</strong>lmedio físico <strong>de</strong> transmisión y el número <strong>de</strong>armónicos que se <strong>de</strong>sea representar.


Por simplicidad, en nuestro caso, el medio <strong>de</strong>transmisión se trata como un filtro paso bajo, <strong>de</strong>manera que el ancho <strong>de</strong> banda <strong>de</strong>l medio marca elnúmero <strong>de</strong> armónicos que el nodo <strong>de</strong>stino pue<strong>de</strong>usar para representar <strong>la</strong> señal. Por lo tanto, almodificar el ancho <strong>de</strong> banda automáticamentecambiará el número <strong>de</strong> armónicos que pasan porel medio, y a su vez si lo que se modifica es elnúmero <strong>de</strong> armónicos que queremos representar,el valor <strong>de</strong>l ancho <strong>de</strong> banda variará <strong>de</strong> maneraautomática para ajustarse al nuevo valorintroducido y así permitir el paso <strong>de</strong> toda <strong>la</strong> señal.Otro <strong>de</strong> los parámetros que se pue<strong>de</strong> cambiaren tiempo <strong>de</strong> ejecución es <strong>la</strong> velocidad <strong>de</strong>transmisión, lo que afectará directamente altiempo <strong>de</strong> transmisión <strong>de</strong>l byte (7) y por tanto a <strong>la</strong>disposición <strong>de</strong> los armónicos <strong>de</strong>ntro <strong>de</strong>l espectro,ya que sabemos que los armónicos se sitúan enmúltiplos <strong>de</strong> <strong>la</strong> frecuencia fundamental, o sea, <strong>de</strong> 7. Por tanto cuanto mayor es <strong>la</strong> velocidad <strong>de</strong>transmisión, menor número <strong>de</strong> armónicos soncapaces <strong>de</strong> pasar por el medio.Para observar el comportamiento <strong>de</strong> <strong>la</strong> señalen función <strong>de</strong> <strong>la</strong> variación <strong>de</strong> estos parámetros, <strong>la</strong>aplicación dispone <strong>de</strong> otras dos zonas <strong>de</strong> pantal<strong>la</strong>.En una <strong>de</strong> el<strong>la</strong>s se representa el espectro <strong>de</strong> <strong>la</strong>señal tal y como llega al nodo <strong>de</strong>stino, es <strong>de</strong>cir,<strong>de</strong>spués <strong>de</strong> ser filtrado por el medio <strong>de</strong>transmisión.En una segunda área <strong>de</strong> <strong>la</strong> pantal<strong>la</strong> aparece <strong>la</strong>representación <strong>de</strong> <strong>la</strong>s señales transmitidas yrecibidas. En rojo aparece <strong>la</strong> señal que se quieretransmitir (<strong>la</strong> que generaría el nodo origen), sinningún tipo <strong>de</strong> distorsión. En negro se representa<strong>la</strong> señal tal y como le llega al <strong>de</strong>stino, <strong>de</strong>spués <strong>de</strong>ser filtrada por el medio, y se obtiene como <strong>la</strong>señal aproximada por un <strong>de</strong>terminado número <strong>de</strong>armónicos usando series <strong>de</strong> Fourier.En este punto se invita al alumno a queexperimente y observe cómo se comporta <strong>la</strong> señalen función <strong>de</strong> los distintos parámetros <strong>de</strong> entrada,y <strong>la</strong> re<strong>la</strong>ción que existe entre el ancho <strong>de</strong> banda y<strong>la</strong> velocidad <strong>de</strong> transmisión, incentivando <strong>la</strong>obtención <strong>de</strong> conclusiones.Posteriormente se sugiere al alumno queexperimente con unos caracteres <strong>de</strong>terminados. Enprimer lugar se introducen diferentes potencias <strong>de</strong>dos, que representan los mismos pulsos, <strong>de</strong>duración 7/8, <strong>de</strong>sp<strong>la</strong>zados. De esta manera losalumnos observan como <strong>la</strong> envolvente es unafunción subamortiguada que tal y como han vistoen <strong>la</strong>s sesiones <strong>de</strong> teoría se caracteriza porVHQ[[. Otros códigos <strong>de</strong> caracteres que losalumnos prueban son aquellos que producen unpulso más <strong>la</strong>rgo, y por tanto el valor <strong>de</strong> HVmayor, <strong>de</strong> manera que comprueban como cuantoPD\RUHVHOYDORUGH DQWHVVHSURGXFHHOSULPHUpaso por cero <strong>de</strong>l envolvente.Estos ejemplos son simplemente dos muestras<strong>de</strong> cómo los alumnos usan esta aplicación, que enparte ha sido <strong>de</strong>sarrol<strong>la</strong>da por ellos, para enten<strong>de</strong>rprogresivamente el significado <strong>de</strong> armónico ycómo <strong>la</strong> variación que introduce el medio físicoafecta a <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> señal.6HJXQGDH[SHULHQFLD7UDQVIRUPDGD'LVFUHWDGH)RXULHU')7Una vez el alumno ha trabajado con el análisis <strong>de</strong>Fourier a nivel teórico y entien<strong>de</strong> los conceptosbásicos <strong>de</strong> armónico y análisis en frecuencia, sepropone una segunda experiencia en <strong>la</strong> que seutilice el análisis <strong>de</strong> Fourier para un caso real.En este caso <strong>la</strong> señal a analizar es una serie <strong>de</strong>muestras <strong>de</strong> audio obtenidas a partir <strong>de</strong> ficheros <strong>de</strong>sonido <strong>de</strong> Windows (extensión .wav). Pararealizar el análisis tendrán que poner en práctica <strong>la</strong>segunda herramienta re<strong>la</strong>cionada con Fourier quehan estudiado durante <strong>la</strong>s sesiones teóricas, <strong>la</strong>transformada discreta <strong>de</strong> Fourier (GLVFUHWH)RXULHUWUDQVIRUP')7)En c<strong>la</strong>ses <strong>de</strong> teoría se estudia como <strong>la</strong>s series<strong>de</strong> Fourier permiten realizar una <strong>de</strong>scomposición<strong>de</strong> una señal periódica, y se introduce <strong>la</strong>transformada <strong>de</strong> Fourier para realizar un estudio<strong>de</strong> señales no periódicas, que serán tratadas comoperiódicas con un periodo que tien<strong>de</strong> a infinito. Asu vez estudian como <strong>la</strong> versión discreta <strong>de</strong> estaherramienta matemática permite calcu<strong>la</strong>r losarmónicos correspondientes a una señalmuestreada. Justamente esto es lo que van a poneren práctica durante esta segunda experiencia queproponemos.El primer ejercicio a realizar es programar <strong>la</strong>DFT para realizar un análisis espectral <strong>de</strong> unconjunto <strong>de</strong> muestras. Para esto los alumnossimplemente <strong>de</strong>ben implementar <strong>la</strong>s fórmu<strong>la</strong>svistas durante teoría, que permiten obtener <strong>la</strong> partereal e imaginaria <strong>de</strong> <strong>la</strong> DFT, <strong>de</strong> forma quecalcu<strong>la</strong>n <strong>la</strong> potencia <strong>de</strong> cada uno <strong>de</strong> los armónicos.Una vez implementada <strong>la</strong> función para el cálculo<strong>de</strong> <strong>la</strong> DFT el alumno pue<strong>de</strong> integrar<strong>la</strong> <strong>de</strong>ntro <strong>la</strong>


Figura 3: Entorno visual para experimentar con <strong>la</strong>transformada discreta <strong>de</strong> Fourieraplicación visual que le permite observar <strong>la</strong> señaloriginal y dibujar los armónicos <strong>de</strong> <strong>la</strong> DFTcalcu<strong>la</strong>dos.En <strong>la</strong> figura 3 po<strong>de</strong>mos observar una captura<strong>de</strong> <strong>la</strong> pantal<strong>la</strong> <strong>de</strong> esta aplicación. Mediante elbotón )LFKHUR el alumno pue<strong>de</strong> cargar un fichero<strong>de</strong> audio y lo muestra sin transformar (en eldominio <strong>de</strong>l tiempo). Para calcu<strong>la</strong>r <strong>la</strong> DFT yobtener su espectro en frecuencias basta conpulsar en el botón &DOFXODU una vez cargado elfichero. También se pue<strong>de</strong> escuchar el audiomediante los botones <strong>de</strong> gestión se sonido.Para po<strong>de</strong>r experimentar con los resultados <strong>de</strong><strong>la</strong> DFT se propone como ejercicio el cálculo <strong>de</strong>lespectro <strong>de</strong> los tonos <strong>de</strong> marcaciónmultifrecuencia.El sistema telefónico emplea dos posiblesmétodos para <strong>la</strong> marcación: por pulsos y portonos. El primero traduce los números marcadosen una serie <strong>de</strong> pulsos, separados por pausas, <strong>de</strong>tal modo que reflejan el número marcado. Elsegundo, más evolucionado, asigna a cada una <strong>de</strong><strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> marcación un tono.Los tonos se generan mediante <strong>la</strong> suma <strong>de</strong> dosseñales <strong>de</strong> frecuencias distintas. De esa forma, enlugar <strong>de</strong> emplear 16 tonos (los números <strong>de</strong> 0 a 9 ylos caracteres especiales #. *, A,B,C,D) nos bastacon ocho frecuencias. Así, el tec<strong>la</strong>do <strong>de</strong> unteléfono funciona según se observa en <strong>la</strong> figura 4.F1 F2 F3 F4F5 1 2 3 AF6 4 5 6 BF7 7 8 9 CF8 * 0 # DFigura 4: Tec<strong>la</strong>do telefónico multifrecuenciaCuando se pulsa un número, por ejemplo el 1,el teléfono genera un tono como <strong>la</strong> suma <strong>de</strong> dosfrecuencias, en este caso F1 y F5, enviando dichotono a través <strong>de</strong> <strong>la</strong> red telefónica. Para <strong>la</strong>recepción, se pasa el tono recibido por ocho filtrospaso banda, que permiten pasar <strong>la</strong>s frecuencias <strong>de</strong>F1 a F8. Sólo dos <strong>de</strong> los filtros tendrán salida, porlo que mediante una matriz simi<strong>la</strong>r al tec<strong>la</strong>do sereproduce el dígito marcado.En este segundo ejercicio se facilita a losalumnos un conjunto <strong>de</strong> muestras <strong>de</strong> audio querepresentan cada uno <strong>de</strong> los sonidos emitidos alpulsar una tec<strong>la</strong> <strong>de</strong>l tec<strong>la</strong>do telefónico. De estamanera, al representar el espectro aparecenc<strong>la</strong>ramente los dos armónicos correspondientes acada una <strong>de</strong> <strong>la</strong>s frecuencias que componen un tono


Figura 5: Entorno visual para el estudio en frecuencia usando <strong>la</strong>DFT <strong>de</strong> señales modu<strong>la</strong>das con portadora analógicatelefónico. Así por ejemplo, en <strong>la</strong> figura 3 serepresenta <strong>la</strong>s muestras correspondientes a <strong>la</strong> tec<strong>la</strong>1, y su espectro asociado. Otro efecto que e<strong>la</strong>lumno pue<strong>de</strong> apreciar es <strong>la</strong> réplica simétrica <strong>de</strong> <strong>la</strong>segunda mitad <strong>de</strong>l espectro respecto a <strong>la</strong> primeramitad, que aparece al calcu<strong>la</strong>r el espectro <strong>de</strong>cualquier señal muestreada.El ejercicio se completa pidiendo al alumnoque i<strong>de</strong>ntifique cada una <strong>de</strong> <strong>la</strong>s frecuencias F1,F2,…, F8 que se representan en <strong>la</strong> figura cuatro,mediante <strong>la</strong> observación <strong>de</strong> los armónicos <strong>de</strong>mayor potencia en los espectros <strong>de</strong> <strong>la</strong>s distintasmuestras <strong>de</strong> sonido.7HUFHUDH[SHULHQFLD7UDQVIRUPDGD5iSLGDGH)RXULHU))7Durante <strong>la</strong> experiencia anterior el alumnoposiblemente note que si el número <strong>de</strong> muestras aprocesar por <strong>la</strong> DFT es gran<strong>de</strong>, su cálculo se hacemuy costoso. De hecho el coste <strong>de</strong> <strong>la</strong> DFT es <strong>de</strong>or<strong>de</strong>n cuadrático respecto al número <strong>de</strong> muestras aprocesar.En esta tercera experiencia práctica se pi<strong>de</strong> a<strong>la</strong>lumno que implemente <strong>la</strong> versión rápida <strong>de</strong> <strong>la</strong>transformada discreta <strong>de</strong> Fourier, y que compareel tiempo <strong>de</strong> ejecución <strong>de</strong> esta versión respecto asu equivalente discreta, utilizando ficheros condistintos número <strong>de</strong> muestras.Como sabemos, este algoritmo <strong>de</strong>sarrol<strong>la</strong>dopor Cooley y Tukey en el año 1965 es bastantemás rápido, presentando una complejidad <strong>de</strong>lor<strong>de</strong>n O(nlog 2 (n))De esta forma, esta tercera práctica resultamenos visual que el resto pero no por ello menosespectacu<strong>la</strong>r. De hecho el coste <strong>de</strong>l cálculo <strong>de</strong> <strong>la</strong>FFT utilizando 1024 muestras esaproximadamente diez veces menor que usando <strong>la</strong>DFT, con lo que los alumnos adquieren una i<strong>de</strong>a<strong>de</strong> lo importante que es el uso <strong>de</strong> optimizacionesen los algoritmos <strong>de</strong> procesamiento <strong>de</strong> datos,sobre todo cuando existen restricciones <strong>de</strong> tiemporeal o el número <strong>de</strong> muestras a procesar es muygran<strong>de</strong>.&XDUWDH[SHULHQFLD(VWXGLRHQIUHFXHQFLDGHVHxDOHVPRGXODGDVXVDQGROD')7Después <strong>de</strong> <strong>la</strong>s tres activida<strong>de</strong>s <strong>de</strong>sarrol<strong>la</strong>das porlos alumnos, éstos ya han <strong>de</strong>bido adquirir <strong>la</strong>shabilida<strong>de</strong>s necesarias para enten<strong>de</strong>r e interpretarlos espectros en frecuencia <strong>de</strong> señales.En esta cuarta experiencia se propone que e<strong>la</strong>lumno estudie e implemente <strong>la</strong> caracterización<strong>de</strong>l proceso <strong>de</strong> modu<strong>la</strong>ción <strong>de</strong> señal, tanto en elcaso <strong>de</strong> portadora analógica y modu<strong>la</strong>dora digitalcomo en el caso opuesto.


Figura 6: Entorno visual para el estudio en frecuencia <strong>de</strong>señales modu<strong>la</strong>das con portadora digitalEn el caso <strong>de</strong> portadora digital seimplementará <strong>la</strong>s modu<strong>la</strong>ciones en amplitud(ASK), en frecuencia (FSK) y en fase (PSK). Deesta forma se propone al alumno que <strong>la</strong> señal atransmitir es un tren <strong>de</strong> pulsos y que <strong>de</strong>ben <strong>de</strong>caracterizar cada una <strong>de</strong> <strong>la</strong>s señales modu<strong>la</strong>das.El resultado <strong>de</strong>berá ser un vector <strong>de</strong> muestrasque represente <strong>la</strong> señal original modu<strong>la</strong>da. De estamanera, usando <strong>la</strong> DFT o <strong>la</strong> FFT implementada en<strong>la</strong>s experiencias anteriores, se pue<strong>de</strong> obtener elespectro <strong>de</strong> <strong>la</strong> señal modu<strong>la</strong>da y comparar con el<strong>de</strong> <strong>la</strong> señal original.La figura 5 muestra el interfaz visual <strong>de</strong> <strong>la</strong>aplicación, que se usará para introducir datos ypara <strong>la</strong> representación <strong>de</strong> <strong>la</strong>s señales obtenidas. En<strong>la</strong> parte <strong>de</strong> arriba aparece el tren <strong>de</strong> pulsosmodu<strong>la</strong>do en frecuencia, en este caso usando FSK.La gráfica inferior muestra el espectro <strong>de</strong> <strong>la</strong> señal,con dos armónicos <strong>de</strong> mayor potencia que indicanc<strong>la</strong>ramente <strong>la</strong>s dos frecuencias presentes en <strong>la</strong>señal modu<strong>la</strong>da, <strong>la</strong> <strong>de</strong> mayor frecuenciarepresentando el nivel alto y <strong>la</strong> <strong>de</strong> menor el nivelbajo. En <strong>la</strong> parte <strong>de</strong>recha se pue<strong>de</strong> modificar losparámetros <strong>de</strong> <strong>la</strong> modu<strong>la</strong>ción en tiempo <strong>de</strong>ejecución.De esta forma, una vez se han implementado<strong>la</strong>s funciones que caracterizan <strong>la</strong> modu<strong>la</strong>ción, e<strong>la</strong>lumno pue<strong>de</strong> experimentar introduciendodistintos parámetros a <strong>la</strong> modu<strong>la</strong>ción. Así, unaprimera experiencia es tomar el tren <strong>de</strong> pulsos ycalcu<strong>la</strong>r su espectro, para luego modu<strong>la</strong>rlomediante ASK y observar que el espectroresultante es el mismo que el original pero<strong>de</strong>sp<strong>la</strong>zado en función <strong>de</strong> <strong>la</strong> frecuencia <strong>de</strong> <strong>la</strong>portadora, y replicado a ambos extremos.Un segundo grupo <strong>de</strong> modu<strong>la</strong>ciones aimplementar son <strong>la</strong>s que usan portadora digital ymodu<strong>la</strong>dora analógica. Nosotros hemosseleccionado trabajar con modu<strong>la</strong>ción PAM, PDMy PPM. La figura 6 muestra un ejemplo <strong>de</strong>modu<strong>la</strong>ción PDM obtenida mediante <strong>la</strong> aplicación<strong>de</strong> prácticas, una vez implementada estamodu<strong>la</strong>ción. La modu<strong>la</strong>dora analógica en estecaso es una señal senoidal, y <strong>la</strong> modu<strong>la</strong>da es unpulso a nivel alto, con un f<strong>la</strong>nco <strong>de</strong> bajada en elmomento en el que <strong>la</strong> pendiente corta <strong>la</strong> seña<strong>la</strong>nalógica. Por otro <strong>la</strong>do, en este tipo <strong>de</strong>modu<strong>la</strong>ciones el espectro tiene menos interés y loque se pi<strong>de</strong> es que los alumnos calculen <strong>la</strong> energíatotal <strong>de</strong> <strong>la</strong> señal, <strong>de</strong> forma que se observa comouna modu<strong>la</strong>ción PPM presenta como ventajarespecto a <strong>la</strong> PDM el tener una energía totalmucho menor.4XLQWDH[SHULHQFLD(VWXGLRHQIUHFXHQFLDGHVHxDOHVPRGXODGDVXVDQGRVHULHVGH)RXULHUSi en <strong>la</strong> experiencia anterior se realizaba el cálculo<strong>de</strong>l espectro <strong>de</strong> <strong>la</strong>s muestras <strong>de</strong> <strong>la</strong>s señalesmodu<strong>la</strong>das, en este caso se pi<strong>de</strong> hacer un<strong>de</strong>sarrollo analítico para obtener los armónicos <strong>de</strong>


<strong>la</strong>s señales modu<strong>la</strong>das con portadora analógicamediante el uso <strong>de</strong> series <strong>de</strong> Fourier.En <strong>la</strong> cuarta experiencia se usa como señalmodu<strong>la</strong>dora un tren <strong>de</strong> pulsos y como señalportadora una señal senoidal. Ambas señales sonperiódicas y el resultado <strong>de</strong> <strong>la</strong>s modu<strong>la</strong>cionesASK, FSK y PSK también lo serán. Por lo tanto,en este ejercicio el alumno <strong>de</strong>be realizar un<strong>de</strong>sarrollo analítico simi<strong>la</strong>r al efectuado en <strong>la</strong>primera experiencia, para po<strong>de</strong>r obtener unaexpresión general para el cálculo <strong>de</strong> los armónicos<strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s posibles modu<strong>la</strong>ciones. Unavez implementadas <strong>la</strong>s fórmu<strong>la</strong>s resultantes, elresultado <strong>de</strong>be ser un espectro simi<strong>la</strong>r al obtenidocon <strong>la</strong> DFT (ver figura 5).&RQFOXVLyQEn este artículo se ha presentado una serie <strong>de</strong>experiencias prácticas que han sido <strong>de</strong>sarrol<strong>la</strong>dascon el objetivo <strong>de</strong> incrementar <strong>la</strong> comprensión <strong>de</strong>conceptos fundamentales que involucran e<strong>la</strong>nálisis <strong>de</strong> Fourier, situándose siempre <strong>de</strong>ntro <strong>de</strong>lmarco <strong>de</strong> los sistemas <strong>de</strong> transmisión <strong>de</strong> datos. Elresultado obtenido ha sido favorable, observandocomo el alumno era capaz <strong>de</strong> compren<strong>de</strong>rcontenidos estudiados en sesiones teóricas,difíciles <strong>de</strong> enten<strong>de</strong>r <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vistaexclusivamente matemático.Como futuras ampliaciones se está trabajandoen una caracterización más real <strong>de</strong> los mediosfísicos <strong>de</strong> transmisión, con el objetivo <strong>de</strong> obtenerrespuestas <strong>de</strong>l medio que sean más reales que unsimple filtro paso-bajo, en el que un número<strong>de</strong>terminado <strong>de</strong> armónicos pasan completamente yel resto son cance<strong>la</strong>dos.5HIHUHQFLDV[1] Martin S. Ro<strong>de</strong>n. $QDORJDQGGLJLWDOFRPPXQLFDWLRQV\VWHPV Ed. Prentice-Hall,1991[2] A. Bonastre, F. Buendía, M. Pérez. (TXLSRV\VLVWHPDVGHWUDQVPLVLyQGHGDWRV. Servicio <strong>de</strong>publicaciones <strong>de</strong> <strong>la</strong> U.P.V., 1996[3] H.J. Nussbaumer, )DVW)RXULHU7UDQVIRUPDQGFRQYROXWLRQDOJRULWKPVSpringer, 1982.[4] Mischa Swartz. 7UDQVPLVLyQGHLQIRUPDFLyQPRGXODFLyQ\UXLGR. Ed. McGraw-Hill, 1993


Tecnologías Web: una asignatura sobre tecnologías <strong>de</strong> Interneten <strong>la</strong>s Ingenierías InformáticasOtto Colomina, Ignacio Iborra, Miguel Ángel LozanoDpto. Ciencia <strong>de</strong> <strong>la</strong> Computación e Inteligencia ArtificialUniversidad <strong>de</strong> Alicante03080 Alicantee-mail: {otto, nacho, malozano}@dccia.ua.esResumenEn este artículo se <strong>de</strong>scribe una propuesta para loscontenidos teóricos y prácticos <strong>de</strong> <strong>la</strong> asignatura <strong>de</strong>Tecnologías Web en <strong>la</strong>s Ingenierías enInformática <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alicante. Dichaasignatura aborda el <strong>de</strong>sarrollo <strong>de</strong> aplicacionesweb centrándose en <strong>la</strong> parte <strong>de</strong>l cliente, y hacomenzado a imp<strong>la</strong>ntarse en los nuevos p<strong>la</strong>nes <strong>de</strong>estudio <strong>de</strong> dicha Universidad en el curso 2001.Para terminar se <strong>de</strong>scribe <strong>la</strong> experiencia docente<strong>de</strong>l pasado curso.1. IntroducciónEn <strong>la</strong> actualidad, resulta superfluo insistir en elimpacto que está teniendo el rápido crecimiento<strong>de</strong> internet y concretamente <strong>de</strong> <strong>la</strong> web en <strong>la</strong>actividad profesional <strong>de</strong>l informático. Este <strong>de</strong>beenfrentarse al hecho <strong>de</strong> que <strong>la</strong> web es un contextocada vez más común para el <strong>de</strong>sarrollo <strong>de</strong>aplicaciones, lo que le obliga a dominar una serie<strong>de</strong> tecnologías asociadas. Por todo ello, se hacenecesario introducir estas tecnologías en losnuevos p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> <strong>la</strong>s Ingenierías enInformática.En este sentido, el Computing Curricu<strong>la</strong> 2001,<strong>de</strong> ACM e IEEE [1] recoge "La web comoejemplo <strong>de</strong> sistema cliente-servidor", como una <strong>de</strong><strong>la</strong>s unida<strong>de</strong>s pertenecientes al núcleo básico (core)<strong>de</strong> <strong>la</strong> disciplina, y por tanto necesariamentepresentes en cualquier curriculum <strong>de</strong> un IngenieroInformático. En esta unidad se propone el estudio<strong>de</strong> temas como protocolos <strong>de</strong> web o servidoresweb, y tecnologías como lenguajes <strong>de</strong> script,applets, CGIs, etc.Siguiendo esta ten<strong>de</strong>ncia, en los nuevos p<strong>la</strong>nes<strong>de</strong> estudio <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Alicante [2] sehan introducido diversas asignaturas directamentere<strong>la</strong>cionadas con <strong>la</strong> web o con tecnologías <strong>de</strong>Internet. En este artículo tratamos <strong>la</strong> docencia <strong>de</strong>una <strong>de</strong> el<strong>la</strong>s, <strong>la</strong> asignatura <strong>de</strong> tecnologías web,que, como se verá se ocupa <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong>aplicaciones web <strong>de</strong>s<strong>de</strong> <strong>la</strong> perspectiva <strong>de</strong>l cliente,fundamentalmente.2. Tecnologías web en el contexto <strong>de</strong> losp<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> <strong>la</strong> U.A.En <strong>la</strong> tab<strong>la</strong> 1 se recogen <strong>la</strong>s asignaturas <strong>de</strong> losnuevos p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> <strong>la</strong>s IngenieríasInformáticas en <strong>la</strong> Universidad <strong>de</strong> Alicantedirectamente re<strong>la</strong>cionadas con tecnologías <strong>de</strong>Internet.Asignatura DescriptoresTecnologías Lenguajes <strong>de</strong> especificaciónweb<strong>de</strong> páginas web. Lenguajes<strong>de</strong> script. Programación <strong>de</strong>clientes web. Animación paraweb. SeguridadProgramación Sistemas <strong>de</strong> acceso a B.D. <strong>de</strong>en internet Internet. P<strong>la</strong>nificación, diseñoy admon. <strong>de</strong> sitios web.Migración <strong>de</strong> aplicaciones aentornos Internet.Administración Intranets y extranets <strong>de</strong> gestión<strong>de</strong> servicios <strong>de</strong> <strong>de</strong> red. Servidores web.internet Servidores WAP. ServletsTab<strong>la</strong> 1: asignaturas re<strong>la</strong>cionadas con internet en losp<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> informática <strong>de</strong> <strong>la</strong> U.A.Las tres asignaturas son <strong>de</strong> carácter optativopara <strong>la</strong>s tres Ingenierías en Informática, con 3créditos teóricos y 3 prácticos. En cuanto a


contenidos, como pue<strong>de</strong> verse en <strong>la</strong> tab<strong>la</strong>, <strong>la</strong>asignatura <strong>de</strong> Tecnologías Web se ocupafundamentalmente <strong>de</strong> <strong>la</strong> programación y<strong>de</strong>sarrollo <strong>de</strong>l <strong>la</strong>do <strong>de</strong>l cliente, <strong>la</strong> <strong>de</strong>Programación en Internet <strong>de</strong>l <strong>la</strong>do <strong>de</strong>l servidor y<strong>la</strong> <strong>de</strong> Administración <strong>de</strong> Servicios en Internet <strong>de</strong> <strong>la</strong>gestión y administración <strong>de</strong> los servidores ysistemas <strong>de</strong> red.3. Enfoque propuesto para <strong>la</strong> asignaturaDados los <strong>de</strong>scriptores que tiene <strong>la</strong> asignatura enel p<strong>la</strong>n <strong>de</strong> estudios, nos p<strong>la</strong>nteamos un objetivofundamental: que el alumno conozca <strong>la</strong>stecnologías empleadas en <strong>la</strong> programación <strong>de</strong>aplicaciones web y sepa qué aporta cada una <strong>de</strong>el<strong>la</strong>s, centrándose sobre todo en <strong>la</strong> parte <strong>de</strong>lcliente. Como en una aplicación web "real" seempleará una combinación <strong>de</strong> tecnologías, no setrata únicamente <strong>de</strong> conocer una serie <strong>de</strong> lenguajesy/o herramientas, sino a<strong>de</strong>más <strong>de</strong> po<strong>de</strong>r <strong>de</strong>cidircuándo se emplea cada una <strong>de</strong> el<strong>la</strong>s, y <strong>de</strong> saberintegrar<strong>la</strong>s a<strong>de</strong>cuadamente.Por todo ello, y con el objetivo <strong>de</strong> realizar e<strong>la</strong>prendizaje en un contexto lo más "realista"posible, el hilo conductor <strong>de</strong> <strong>la</strong> asignatura es <strong>la</strong>realización <strong>de</strong> una aplicación web que integratodas <strong>la</strong>s tecnologías vistas en el temario.Concretamente, en el curso 2001/2002 losalumnos implementaron una "tienda web". Esto se<strong>de</strong>scribe con más <strong>de</strong>talle en el apartado 4.2.Otra cuestión importante a <strong>la</strong> hora <strong>de</strong> p<strong>la</strong>ntear<strong>la</strong> asignatura es su caracter marcadamentetecnológico. Es <strong>de</strong>cir, no se trata tanto <strong>de</strong> apren<strong>de</strong>rconceptos formales o matemáticos como <strong>de</strong>tecnologías. Así, por ejemplo, los alumnos no vana apren<strong>de</strong>r programación orientada a objetos engeneral, sino que van a aplicar Java al <strong>de</strong>sarrollo<strong>de</strong> applets. Esto, junto con el elevado porcentaje<strong>de</strong> créditos <strong>de</strong> <strong>la</strong>boratorio (50%) obliga a darle a <strong>la</strong>asignatura un marcado carácter práctico: en c<strong>la</strong>se<strong>de</strong> teoría, a<strong>de</strong>más <strong>de</strong> los conceptos fundamentales,se <strong>de</strong>ben mostrar numerosos ejemplos,<strong>de</strong>mostrando en <strong>la</strong> c<strong>la</strong>se el uso <strong>de</strong> <strong>la</strong>s tecnologías.Finalmente, no hay que per<strong>de</strong>r <strong>de</strong> vista elhecho <strong>de</strong> que muchos alumnos ven <strong>la</strong> materia quese imparte en tecnologías web como "atractiva", y"novedosa". Esto hace que algunos <strong>de</strong> ellosempleen voluntariamente un esfuerzoconsi<strong>de</strong>rable en <strong>la</strong> realización <strong>de</strong> los trabajos <strong>de</strong> <strong>la</strong>asignatura. Para dar <strong>la</strong> máxima libertad posible eneste aspecto, cada práctica tiene una propuesta <strong>de</strong>partes optativas, aceptando también <strong>la</strong>s hechas porparte <strong>de</strong> los propios alumnos. A<strong>de</strong>más se intentapromover <strong>la</strong> realización <strong>de</strong> trabajos adicionalesque abor<strong>de</strong>n tecnologías que no es posible ver enel temario por cuestiones <strong>de</strong> tiempo.4. Propuesta <strong>de</strong> contenidosA continuación exponemos el programa teórico ypráctico <strong>de</strong> <strong>la</strong> asignatura, <strong>de</strong>sarrol<strong>la</strong>do tomandocomo base <strong>la</strong>s consi<strong>de</strong>raciones expuestas en e<strong>la</strong>partado previo. Este temario, junto con apuntes ymaterial complementario pue<strong>de</strong> consultarse en elsitio web <strong>de</strong> <strong>la</strong> asignatura [3].4.1. Temario teóricoEn <strong>la</strong> parte teórica <strong>de</strong> <strong>la</strong> asignatura se intentaabordar, a un nivel <strong>de</strong> profundidad razonable dadoel tiempo disponible, todas <strong>la</strong>s tecnologías que sepue<strong>de</strong>n emplear para construir una aplicaciónweb. Dados los <strong>de</strong>scriptores <strong>de</strong> <strong>la</strong> asignatura, noscentraremos sobre todo en <strong>la</strong> parte <strong>de</strong>l cliente(navegador).El temario consta <strong>de</strong> 6 temas, que se <strong>de</strong>tal<strong>la</strong>nen <strong>la</strong> tab<strong>la</strong> 2. La asignatura comienza con unaintroducción al protocolo HTTP, base <strong>de</strong> todas <strong>la</strong>stecnologías que se abordarán en los temasposteriores. Se continúa con applets <strong>de</strong> Java.Previamente se imparten seminarios <strong>de</strong> Java conel objeto <strong>de</strong> que los alumnos, que están en sumayoría familiarizados con C/C++ se adapten a <strong>la</strong>sintaxis <strong>de</strong> este lenguaje. El tema 3 es el <strong>de</strong>HTML en el que se intenta, más que ver todas <strong>la</strong>setiquetas <strong>de</strong>l lenguaje, explicar su filosofía,técnicas <strong>de</strong> “buen uso” <strong>de</strong> código y hacer hincapiéen <strong>la</strong> compatibilidad. En el tema siguiente seabordan los lenguajes <strong>de</strong> script en el navegador,centrándose en JavaScript. El tema se centra en<strong>la</strong>s posibilida<strong>de</strong>s que ofrece el lenguaje paramanejar <strong>de</strong> forma dinámica el contenido y estilo<strong>de</strong> los documentos web. El tema posterior es el <strong>de</strong>XML, en el que se trata <strong>la</strong> sintaxis <strong>de</strong> esteformato, su filosofía <strong>de</strong> separación entrecontenido y estilo y su utilidad para el <strong>de</strong>sarrollo<strong>de</strong> webs. Finalmente, el temario concluye con unaintroducción a multimedia y animación web.


TemaDuraciónProtocolo HTTP y aplicaciones web 2 horasSistemas cliente-servidor. Protocolos <strong>de</strong>Internet. Protocolo HTTP. AplicacioneswebApplets Java6 horasImplementación básica <strong>de</strong> un applet. ElAWT: eventos y c<strong>la</strong>ses. El paquetejava.applet. Seguridad. Threads y applets.HTML6 horasLenguajes <strong>de</strong> marcado. El lenguaje HTML.Hojas <strong>de</strong> estilo en cascada (CSS). Normas<strong>de</strong> buen uso <strong>de</strong> código HTML.Programación <strong>de</strong> scripts6 horasLenguajes <strong>de</strong> script en el navegador. Ellenguaje JavaScript. Interacción con elnavegador. Interacción con el documentoHTML: el DOM. HTML dinámico.Seguridad.XML4 horasSintaxis XML. Validación <strong>de</strong> documentoscon DTDs. Hojas <strong>de</strong> estilo (XSL-T y XSL-FO). XML para sitios web. Lenguajesbasados en XML: WML, XHTML,...Multimedia y Animación web 4 horasMultimedia en web. Streaming. Lenguajesy herramientas para animación webTab<strong>la</strong> 2: Temario <strong>de</strong> teoría <strong>de</strong> <strong>la</strong> asignaturaDurante <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> teoría se intenta poner elmáximo número <strong>de</strong> ejemplos posible, con el fin <strong>de</strong>que el alumno pueda ver el uso real <strong>de</strong> <strong>la</strong>stecnologías. Asímismo se hace hincapié en <strong>la</strong>conveniencia <strong>de</strong> adherirse a los estándares. En <strong>la</strong>actualidad, y aunque organismos como el W3C[4] están normalizando <strong>la</strong>s tecnologías empleadasen <strong>la</strong> web, en <strong>la</strong> práctica muchos sitios websimplemente se adaptan al modo peculiar <strong>de</strong>funcionar <strong>de</strong> algunos navegadores, con losconsiguientes problemas <strong>de</strong> compatibilidad.Aunque en el temario se abordan estaspeculiarida<strong>de</strong>s, también se insiste en el uso <strong>de</strong>"buenas prácticas" <strong>de</strong> codificación, queproporcionen en <strong>la</strong> medida <strong>de</strong> lo posible <strong>la</strong>in<strong>de</strong>pen<strong>de</strong>ncia con respecto al software <strong>de</strong>lcliente.4.2. Temario <strong>de</strong> prácticasLa práctica consistirá en realizar una aplicaciónweb utilizando para ello <strong>la</strong>s principalestecnologías correspondientes al <strong>la</strong>do <strong>de</strong>l cliente.La aplicación a realizar es una tienda online, <strong>de</strong> <strong>la</strong>que se proporciona el esqueleto básico <strong>de</strong>procesamiento y obtención <strong>de</strong> datos en el <strong>la</strong>do <strong>de</strong>lservidor para que el alumno incorpore sobre el<strong>la</strong>todos los elementos necesarios para construir unatienda con todas sus funcionalida<strong>de</strong>s.La realización <strong>de</strong> esta aplicación completa sedividirá en una serie <strong>de</strong> prácticas, cada una <strong>de</strong> <strong>la</strong>scuales correspon<strong>de</strong>rá a una <strong>de</strong> <strong>la</strong>s tecnologíasestudiadas, con <strong>la</strong>s que el alumno creará <strong>de</strong> formaprogresiva el front-end <strong>de</strong>l sitio web. Estosbloques se divi<strong>de</strong>n como se muestra en <strong>la</strong> tab<strong>la</strong> 3.Figura 1: Ejemplo <strong>de</strong> página principal <strong>de</strong> <strong>la</strong> tienda web <strong>de</strong>sarrol<strong>la</strong>da en el curso


Nombre <strong>de</strong>l temaDuraciónApplets Java: Programación <strong>de</strong> un 6 horastickerHTML: Diseño <strong>de</strong>l sitio web6 horasJavascript: Carro <strong>de</strong> <strong>la</strong> compra 6 horasXML: Rediseño <strong>de</strong>l portal4 horasF<strong>la</strong>sh: Animación4 horasTab<strong>la</strong> 3: temario <strong>de</strong> prácticas <strong>de</strong> <strong>la</strong> asignaturaEn cada tema se han proporcionado apuntessobre dicho tema para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> prácticaen cuestión, así como ejemplos sobre el uso <strong>de</strong> <strong>la</strong>correspondiente tecnología. En cada una <strong>de</strong> <strong>la</strong>sprácticas se realizarán los componentes mása<strong>de</strong>cuados para <strong>la</strong> tecnología <strong>de</strong> <strong>la</strong> que se trate.En <strong>la</strong> práctica <strong>de</strong> Applets Java se preten<strong>de</strong> dara conocer <strong>la</strong>s técnicas principales <strong>de</strong>programación en Java <strong>de</strong> este tipo <strong>de</strong> elementos.Se imparte un seminario sobre programacióngeneral en Java, pasando luego a <strong>de</strong>tal<strong>la</strong>r losaspectos concretos para <strong>la</strong> programación <strong>de</strong>Applets. El alumno <strong>de</strong>berá <strong>de</strong>sarrol<strong>la</strong>r un ticker, enel que <strong>de</strong>berá pasar parámetros a un Applet, leerun fichero remoto <strong>de</strong> don<strong>de</strong> <strong>de</strong>berá extraer todoslos mensajes a mostrar, y dibujar todos estosmensajes <strong>de</strong> forma animada, mediante <strong>la</strong>utilización <strong>de</strong> Threads, evitando el parpa<strong>de</strong>omediante <strong>la</strong> técnica <strong>de</strong>l doble buffer. A<strong>de</strong>más <strong>de</strong>esto se verá también <strong>la</strong> interacción entre el Applety el navegador, y <strong>la</strong> obtención <strong>de</strong> imágenes y clips<strong>de</strong> audio <strong>de</strong> localizaciones remotas, así como sureproducción en el Applet.En <strong>la</strong> segunda práctica el alumno <strong>de</strong>beráconstruir el sitio web a partir <strong>de</strong>l esqueleto que seproporciona para obtener <strong>la</strong> información en elservidor. Se <strong>de</strong>berá dar una estructura a estainformación utilizando para ello <strong>la</strong>s etiquetas <strong>de</strong>lHTML. Se utilizarán marcos, tab<strong>la</strong>s y otroselementos para <strong>la</strong> organización <strong>de</strong> los contenidos<strong>de</strong>l documento, se <strong>de</strong>finirán en<strong>la</strong>ces entre <strong>la</strong>sdistintas páginas que componen el sitio web, seestudiará el paso <strong>de</strong> parámetros y se realizará unformu<strong>la</strong>rio <strong>de</strong> búsqueda <strong>de</strong> productos. A loselementos utilizados se les dará un estiloutilizando para ello hojas <strong>de</strong> estilo CSS, yevitando el uso <strong>de</strong> etiquetas <strong>de</strong>saprobadas. Sepreten<strong>de</strong> que el alumno genere el sitio websiguiendo <strong>la</strong>s normas <strong>de</strong> buen uso <strong>de</strong>l HTML.Como lenguaje script en el cliente se estudiajavascript que es el más común. En <strong>la</strong> tercerapráctica se utilizará dicho lenguaje para añadircontenido dinámico a <strong>la</strong> página, así como <strong>la</strong>manutención <strong>de</strong> una cesta <strong>de</strong> <strong>la</strong> compra en el <strong>la</strong>do<strong>de</strong>l cliente mediante cookies. Se verá <strong>la</strong> forma <strong>de</strong>acce<strong>de</strong>r a <strong>la</strong>s cookies <strong>de</strong>l navegador, <strong>la</strong> creación,eliminación y modificación <strong>de</strong> <strong>la</strong>s mismas, asícomo <strong>la</strong> encapsu<strong>la</strong>ción en objetos <strong>de</strong> los datosleídos <strong>de</strong> el<strong>la</strong>s. A<strong>de</strong>más el carrito se <strong>de</strong>berámostrar también como persiana <strong>de</strong>splegable,viendo así <strong>la</strong> forma <strong>de</strong> modificar dinámicamenteel documento HTML, estudiando el DOM <strong>de</strong> losdistintos navegadores.La siguiente práctica consiste en <strong>la</strong> conversión<strong>de</strong>l portal a XML, <strong>de</strong>biendo <strong>de</strong>finir el alumno supropio lenguaje con el que se generará <strong>la</strong>información. A partir <strong>de</strong> este documento XML,<strong>de</strong>berá <strong>de</strong>finir hojas <strong>de</strong> estilo XSLT y XSL-FOpara <strong>la</strong> traducción <strong>de</strong> los documentos a HTML,WML y PDFComo trabajo final se propone <strong>la</strong> utilización<strong>de</strong> F<strong>la</strong>sh para <strong>la</strong> realización <strong>de</strong> algún elementopara <strong>la</strong> web, como pue<strong>de</strong> ser una presentación otítulo animado.4.3. Bibliografía y material <strong>de</strong> referenciaSi para <strong>la</strong> mayor parte <strong>de</strong> asignaturasuniversitarias es difícil encontrar textos que seadapten al temario impartido, <strong>la</strong> asignatura <strong>de</strong>Tecnologías web es aún más peculiar en esteaspecto: <strong>la</strong> novedad <strong>de</strong> los temas impartidos, juntocon <strong>la</strong> constante evolución <strong>de</strong> <strong>la</strong>s tecnologías,hacen que no sea práctico emplear un texto <strong>de</strong>referencia. Baste seña<strong>la</strong> r que durante elcuatrimestre en que se impartió <strong>la</strong> asignaturaaparecieron 3 versiones sucesivas <strong>de</strong>l servidorweb empleado en <strong>la</strong>s prácticas (Apache Tomcat),<strong>de</strong>s<strong>de</strong> <strong>la</strong> beta hasta <strong>la</strong> <strong>de</strong>finitiva. Por ello hemosoptado por realizar apuntes <strong>de</strong> <strong>la</strong> asignatura(disponibles en el sitio web) y dar una referencia alos alumnos sobre los textos disponibles para cadatema a fin <strong>de</strong> que puedan ampliar conocimientos.En este sentido, hemos visto como referenciasinteresantes libros como [5] sobre el lenguajeJava, [6] sobre JavaScript, o [7] sobre HTML.En este sentido, quizá <strong>la</strong> mejor referencia <strong>la</strong>tienen en <strong>la</strong> propia web, don<strong>de</strong> pue<strong>de</strong>n consultar<strong>de</strong>s<strong>de</strong> los estándares <strong>de</strong>l W3C hasta multitud <strong>de</strong>sitios con cursos, tutoriales y ejemplos sobre <strong>la</strong>stecnologías abordadas en el curso.


5. ConclusionesAl pertenecer <strong>la</strong> asignatura a los nuevos p<strong>la</strong>nes <strong>de</strong>estudio, el curso 2001/2002 es el primero en quese ha impartido, por lo que todavía es prematurosacar conclusiones, aunque po<strong>de</strong>mos a<strong>de</strong><strong>la</strong>ntar <strong>la</strong>ssiguientes, basándonos en <strong>la</strong> experiencia docente yen <strong>la</strong>s encuestas que cumplimentaron los alumnosal final <strong>de</strong>l cuatrimestre.En primer lugar, el correcto seguimiento <strong>de</strong> <strong>la</strong>asignatura supone una serie <strong>de</strong> requisitos previosque no todos los alumnos cumplían.Evi<strong>de</strong>ntemente, antes <strong>de</strong> programar applets esnecesario saber Java, y antes <strong>de</strong> eso, dominar <strong>la</strong>programación orientada a objetos. No obstante,algunos alumnos se matricu<strong>la</strong>ron en <strong>la</strong> asignaturasin estos conocimientos, quizá "<strong>de</strong>jándose llevar"por el atractivo <strong>de</strong> <strong>la</strong> programación web. Ensucesivos cursos insistiremos en los requisitosprevios que tiene <strong>la</strong> asignatura para po<strong>de</strong>r sercursada con el máximo aprovechamiento.En segundo lugar, el que los alumnos hayantenido que realizar prácticas que funcionencorrectamente en todos los navegadores hace quese hayan tenido que p<strong>la</strong>ntear ellos mismos <strong>la</strong>necesidad <strong>de</strong>l uso <strong>de</strong> estándares en <strong>la</strong> web, porencima <strong>de</strong> <strong>la</strong>s tecnologías propietarias.Finalmente, <strong>de</strong>stacar que en general, losalumnos perciben <strong>la</strong> materia impartida en <strong>la</strong>asignatura como "útil" e "interesante". Esto haceque algunos <strong>de</strong>diquen un esfuerzo consi<strong>de</strong>rable a<strong>la</strong> realización <strong>de</strong> sus prácticas, mucho más <strong>de</strong>lestrictamente necesario. Por ello, nos p<strong>la</strong>nteamosen cursos siguientes profundizar en <strong>la</strong> posibilidad<strong>de</strong> realizar trabajos adicionales y proponerampliaciones <strong>de</strong> <strong>la</strong> práctica que atraigan einteresen al alumno.Referencias[1] ACM/IEEE, Computing Curricu<strong>la</strong> 2001,2001, IEEE Computer Society/ACM TaskForce on Computing Curricu<strong>la</strong>.[2] P<strong>la</strong>nes <strong>de</strong> estudios conducentes a los títulos <strong>de</strong>Ingeniero en Informática, Ingeniero Técnicoen Informática <strong>de</strong> Gestión e Ingeniero Técnicoen Informática <strong>de</strong> Sistemas <strong>de</strong> <strong>la</strong> Universidad<strong>de</strong> Alicante, BOE <strong>de</strong> 25 <strong>de</strong> septiembre <strong>de</strong>2001.[3] Otto Colomina. Página web <strong>de</strong> <strong>la</strong> asignaturaTecnologías Web .www.dccia.ua.es/dccia/inf/asignaturas/TW[4] World Wi<strong>de</strong> Web Consortium, página web <strong>de</strong>lW3C. http://www.w3c.org.[5] P. Niemeyer, J.Knudsen. Curso <strong>de</strong> Java.Anaya Multimedia, 2000.[6] D. f<strong>la</strong>nagan. JavaScript: The <strong>de</strong>finitive gui<strong>de</strong>.O’reilly 2001.[7] Musciano y Kennedy. HTML y XML: <strong>la</strong> guía<strong>de</strong>finitiva. Anaya Multimedia, 2000.


Trabajos fin <strong>de</strong> carrerae investigación <strong>de</strong> alumnos


El mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>sarrollo para un Proyecto Fin <strong>de</strong> Carrera enIngeniería Técnica en InformáticaAgustín Cernuda <strong>de</strong>l RíoDepartamento <strong>de</strong> Informática - Universidad <strong>de</strong> OviedoEscue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong> Ingeniería Técnica en Informática <strong>de</strong> OviedoFacultad <strong>de</strong> Ciencias - C/ Calvo Sotelo, S/N - 33007 Oviedoguti@lsi.uniovi.esResumenEl Proyecto Fin <strong>de</strong> Carrera <strong>de</strong> <strong>la</strong> IngenieríaTécnica en Informática presenta al alumno unaproblemática especial, y <strong>la</strong> actividad <strong>de</strong>l profesorcomo guía adquiere gran relevancia. A<strong>de</strong>más, esteprimer proyecto <strong>de</strong> un alumno pue<strong>de</strong> tener graninfluencia en su posterior comportamiento comoprofesional. Pensando en ciertos problemas queaquejan a <strong>la</strong> industria <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> software,parece apropiado aprovechar el Proyecto Fin <strong>de</strong>Carrera para que el alumno afronte su vidaprofesional prevenido contra estos problemas. Eneste documento se realizan diversas reflexionessobre un posible mo<strong>de</strong>lo <strong>de</strong> gestión <strong>de</strong>l proyectoque responda a estos fines, mo<strong>de</strong>lo que estamosaplicando en nuestros proyectos <strong>de</strong> IngenieríaTécnica en Informática. Precisamos que <strong>la</strong>problemática referida se hace especialmentepatente en proyectos nuevos, no <strong>de</strong> mantenimiento,y nos limitaremos a ese ámbito. En estecaso, a<strong>de</strong>más, hab<strong>la</strong>remos sólo <strong>de</strong> proyectosindividuales.1. La gestión <strong>de</strong> proyectos en el mundoprofesionalEl <strong>de</strong>sarrol<strong>la</strong>dor profesional <strong>de</strong> software <strong>de</strong>beafrontar un panorama <strong>de</strong> notables <strong>de</strong>safíos. Dostercios <strong>de</strong> los proyectos terminan c<strong>la</strong>ramente fuera<strong>de</strong> coste y p<strong>la</strong>zo, los gran<strong>de</strong>s proyectos muestranun retraso medio <strong>de</strong>l 25% al 50% <strong>de</strong> <strong>la</strong> estimacióninicial, y cuanto mayor es el proyecto mayor es <strong>la</strong>probabilidad <strong>de</strong> cance<strong>la</strong>ción [2]. De 600 empresasencuestadas, el 35% tenía al menos un proyectofuera <strong>de</strong> control [3]. Existen gran<strong>de</strong>s dificulta<strong>de</strong>spara p<strong>la</strong>nificar costes y p<strong>la</strong>zos, así como paramantener una calidad a<strong>de</strong>cuada <strong>de</strong> los productos,un bajo coste <strong>de</strong> mantenimiento y un conjunto <strong>de</strong>prestaciones apropiado.Muchos <strong>de</strong> los problemas que p<strong>la</strong>ntea el<strong>de</strong>sarrollo <strong>de</strong> software no son <strong>de</strong> índoleestrictamente técnica. Gran parte <strong>de</strong> estosinconvenientes no obe<strong>de</strong>cen a dificulta<strong>de</strong>s con loslenguajes <strong>de</strong> programación, el análisis o el diseño,sino en el campo <strong>de</strong> <strong>la</strong> gestión <strong>de</strong> proyectos.Algunos <strong>de</strong> los errores clásicos que influyen <strong>de</strong>manera <strong>de</strong>terminante en <strong>la</strong> pérdida <strong>de</strong>l control <strong>de</strong>un proyecto [3] pue<strong>de</strong>n verse en <strong>la</strong> Ilustración 1.I. Expectativas poco realistasII. Hazañas, ilusionesIII. P<strong>la</strong>nificación excesivamente optimistaIV. Gestión <strong>de</strong> riesgos insuficienteV. Abandono <strong>de</strong> <strong>la</strong> p<strong>la</strong>nificación bajo presiónVI. Escatimar en <strong>la</strong>s activida<strong>de</strong>s iniciales y/o enel control <strong>de</strong> calidad, en favor <strong>de</strong> <strong>la</strong> codificaciónVII. Programación a <strong>de</strong>stajo<strong>VIII</strong>. Exceso <strong>de</strong> requisitosIX. Control insuficienteIlustración 1. Algunos errores clásicos.Estos patrones <strong>de</strong> conducta (y podrían citarsemuchos otros) se cuentan entre los más nocivospara <strong>la</strong> profesión, y son causa directa <strong>de</strong>l fracaso<strong>de</strong> buena parte <strong>de</strong> los proyectos informáticos.Pue<strong>de</strong> verse que en gran medida no se veninvolucrados conocimientos estrictamenteacadémicos, sino más bien hábitos <strong>de</strong>comportamiento. Según Roger Burlton, “<strong>la</strong>sorganizaciones que intentan imp<strong>la</strong>ntar <strong>la</strong>disciplina <strong>de</strong> <strong>la</strong> ingeniería <strong>de</strong>l software antes que<strong>la</strong> <strong>de</strong> gestión <strong>de</strong> proyectos están abocadas alfracaso”.


2. El papel <strong>de</strong>l Proyecto Fin <strong>de</strong> CarreraA lo <strong>la</strong>rgo <strong>de</strong> sus estudios, un alumno tieneocasión <strong>de</strong> caer en este tipo <strong>de</strong> hábitos e incluso<strong>de</strong> sufrir <strong>la</strong>s consecuencias. Habrá comprobadomás <strong>de</strong> una vez, por ejemplo, que <strong>de</strong>sear terminaruna práctica en una noche no lo hace posible. Noobstante, es nuestra opinión que esa experienciacircunstancial y oportunista no es, en general,suficiente para su formación.Apoya esta i<strong>de</strong>a el hecho <strong>de</strong> que los<strong>de</strong>sarrol<strong>la</strong>dores profesionales incurren una y otravez en este tipo <strong>de</strong> comportamientos “suicidas”,bien porque no los i<strong>de</strong>ntifican como <strong>la</strong> causa <strong>de</strong>fracasos anteriores, bien porque no perciben que<strong>la</strong>s cosas puedan transcurrir <strong>de</strong> otra manera.Desgraciadamente, está muy extendida <strong>la</strong> i<strong>de</strong>a <strong>de</strong>que en el <strong>de</strong>sarrollo <strong>de</strong> software real “no haytiempo” para activida<strong>de</strong>s como control <strong>de</strong> calidad,buen análisis o diseño, saneamiento <strong>de</strong>l código,etc. No parece razonable esperar que un estudiantecon tan limitada experiencia en el <strong>de</strong>sarrollollegue por sí mismo a conclusiones más acertadasque los profesionales en un p<strong>la</strong>zo tan breve.Se impone, pues, transmitir al alumno unoshábitos que en el futuro le protejan frente a estoserrores clásicos, <strong>de</strong> manera que al menos seaconsciente <strong>de</strong> cuándo está haciendo un maltrabajo. Aunque estas normas básicas <strong>de</strong> actuación<strong>de</strong>ben promoverse en todo momento ycircunstancia durante el <strong>de</strong>sarrollo <strong>de</strong> los estudios,enten<strong>de</strong>mos que <strong>la</strong> piedra <strong>de</strong> toque <strong>de</strong>finitiva es elProyecto Fin <strong>de</strong> Carrera (en a<strong>de</strong><strong>la</strong>nte PFC), puestoque:• El alumno estará centrado en el proyecto, ypodrá ser más consciente <strong>de</strong> su propio proceso<strong>de</strong> <strong>de</strong>sarrollo que en los casos en que dicho<strong>de</strong>sarrollo es sólo un medio para alcanzarconocimientos <strong>de</strong> alguna otra materia.• El <strong>de</strong>sarrollo <strong>de</strong>l PFC guarda mayor parecidocon el <strong>de</strong>sarrollo <strong>de</strong> un proyecto real en cuantoa objetivos, técnicas y (especialmente)responsabilida<strong>de</strong>s que el alumno <strong>de</strong>be asumir.• Esta situación es <strong>la</strong> primera en <strong>la</strong> que se da talparecido (en <strong>la</strong> mayoría <strong>de</strong> los casos).Si se acepta esta i<strong>de</strong>a, durante el <strong>de</strong>sarrollo <strong>de</strong>lPFC sería conveniente adoptar métodos <strong>de</strong> trabajoque formasen al alumno con vistas a evitar losmales endémicos <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> software que sehan citado más arriba. A nuestro juicio, sería muyconveniente contemp<strong>la</strong>r los siguientes aspectos:• Ciclos <strong>de</strong> vida• Estimación• P<strong>la</strong>nificación• Gestión <strong>de</strong> riesgos• Calidad• DocumentaciónEl resto <strong>de</strong> este artículo está <strong>de</strong>dicado a proponeralgunas prácticas cuyo fin es potenciar estoselementos para <strong>la</strong> consecución <strong>de</strong> los objetivosp<strong>la</strong>nteados anteriormente. Las normas <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> PFC que aplicamos recogen estasi<strong>de</strong>as. En cada apartado se presentarán, a modo <strong>de</strong>resumen, los hábitos recomendados, y unareferencia a los “errores clásicos” <strong>de</strong> <strong>la</strong> Ilustración1 a los que se preten<strong>de</strong> combatir en cada caso.3. Ciclos <strong>de</strong> vidaUn punto fundamental para que el <strong>de</strong>sarrollo <strong>de</strong>un PFC transcurra <strong>de</strong> manera satisfactoria es <strong>la</strong>selección <strong>de</strong> un ciclo <strong>de</strong> vida para el mismo.Quedarán <strong>de</strong>spués por resolver muchos <strong>de</strong>tallestácticos <strong>de</strong> p<strong>la</strong>nificación, pero esa tarea será aúnmás difícil sin una <strong>de</strong>cisión previa a nivelestratégico.La falta <strong>de</strong> visibilidad es un problema muypreocupante (y frecuente) en los proyectos <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> software. Quien va a recibir unproducto l<strong>la</strong>ve en mano en cierta fecha lejana perono tiene información fiable sobre el progreso <strong>de</strong>lproyecto está asumiendo graves riesgos. Si hayerrores <strong>de</strong> base se <strong>de</strong>scubrirán <strong>de</strong>masiado tar<strong>de</strong>; siel proyecto fracasa, se habrá gastadoeventualmente todo el dinero.En el caso <strong>de</strong> un PFC este efecto esigualmente pernicioso. No es raro que se dé porsupuesto un <strong>de</strong>sarrollo en cascada, con <strong>la</strong>s fasesacadémicas tradicionales <strong>de</strong> análisis, diseño,codificación y pruebas. Este esquema, sinembargo, es difícil <strong>de</strong> aplicar con éxito en unentorno profesional (a menos que se gestione congran habilidad el conjunto <strong>de</strong> requisitos o elproyecto sea muy simi<strong>la</strong>r a otros anteriores); nodigamos para un alumno sin experiencia en


p<strong>la</strong>nificación ni estimación. Debe <strong>de</strong>sarrol<strong>la</strong>rdotes casi adivinatorias para <strong>de</strong>finir en un solopaso <strong>la</strong> solución a un problema <strong>de</strong> envergaduranotable. Durante el <strong>de</strong>sarrollo afrontará una granincertidumbre sobre <strong>la</strong> fecha <strong>de</strong> terminación o <strong>la</strong>marcha <strong>de</strong> los trabajos, ya que durante gran parte<strong>de</strong>l proyecto no tendrá nada tangible o ejecutable.Proponemos como remedio discutir <strong>de</strong> maneraexplícita cuál va a ser el ciclo <strong>de</strong> vida a adoptar,<strong>de</strong>pendiendo <strong>de</strong> <strong>la</strong>s circunstancias <strong>de</strong>l proyecto.En este entorno, creemos que es a<strong>de</strong>cuado casi entodos los casos algún ciclo <strong>de</strong> vida que produzcaresultados intermedios: <strong>de</strong>sarrollo en espiral,entrega por etapas, <strong>de</strong>sarrollo evolutivo osimi<strong>la</strong>res. El alumno <strong>de</strong>be ver algo funcionandoperiódicamente. Eso le dará confianza, le ayudaráa concretar el proyecto y le permitirá ejercitar <strong>la</strong>difícil habilidad <strong>de</strong> <strong>la</strong> estimación.En particu<strong>la</strong>r, creemos también que en el caso<strong>de</strong> estudiantes es imperativo (y así se refleja ennuestras normas) el <strong>de</strong>sarrollo <strong>de</strong> al menos unprototipo, ya sea <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> usuario, <strong>de</strong>viabilidad tecnológica o ambos a <strong>la</strong> vez. Porsupuesto, el prototipo se <strong>de</strong>sechará sin paliativos.El alumno habrá adquirido experiencia sobrecómo no <strong>de</strong>be hacer <strong>la</strong>s cosas <strong>la</strong> segunda vez;parece <strong>la</strong> única forma <strong>de</strong> asimi<strong>la</strong>r técnicas nuevasreduciendo el impacto negativo en <strong>la</strong> calidad <strong>de</strong>lproducto final, y ayuda a<strong>de</strong>más a mitigar <strong>la</strong>notable sensación <strong>de</strong> incertidumbre <strong>de</strong>l alumno(recor<strong>de</strong>mos que probablemente es <strong>la</strong> primera vezque <strong>de</strong>be resolver un problema en el que elenunciado no está cerrado, sino que es muy vago).Simplemente, se trata <strong>de</strong> aplicar el viejo consejo:build one to throw away [1].Prácticas recomendadas:• Elección explícita <strong>de</strong>l ciclo <strong>de</strong> vida alprincipio <strong>de</strong>l proyecto• Realización obligatoria <strong>de</strong> al menos unprototipo (<strong>de</strong> IU, <strong>de</strong> viabilidad tecnológica oambos)Problemas mitigados: IX, I, II, III, <strong>VIII</strong>4. EstimaciónLa estimación suele resultar especialmente difícil,porque sólo pue<strong>de</strong> realizarse <strong>de</strong> forma rigurosa sise tiene imp<strong>la</strong>ntado un buen sistema <strong>de</strong> mediciónsobre proyectos anteriores; y aun en ese caso pasapor fases <strong>de</strong> progresiva precisión, peroinicialmente hay que admitir un abultado margen<strong>de</strong> error. En <strong>la</strong> práctica, juegan un importantepapel <strong>la</strong> experiencia y el instinto <strong>de</strong>l <strong>de</strong>sarrol<strong>la</strong>dor.A <strong>la</strong> luz <strong>de</strong> esto, es evi<strong>de</strong>nte que un alumno <strong>de</strong>un PFC no se encuentra en una situación i<strong>de</strong>alpara realizar buenas estimaciones (y así suelepercibirlo él mismo). La estrategia queproponemos pasa por inculcar los siguientesprincipios, que serán <strong>de</strong> aplicación en el mundoprofesional:• Ya que el problema no tiene soluciónsatisfactoria, lo mejor que tenemos es elcriterio <strong>de</strong>l <strong>de</strong>sarrol<strong>la</strong>dor.• Una estimación no se negocia.• El <strong>de</strong>sarrol<strong>la</strong>dor se compromete con suspropias estimaciones, que <strong>de</strong>be tratar <strong>de</strong>cumplir.• Hay que dividir <strong>la</strong>s tareas hasta llegar a untamaño muy pequeño, y estimar esas minitareas.La estimación final se obtienecombinando <strong>la</strong>s parciales (no se “inventa”).Conviene hacer especial hincapié en que <strong>la</strong>sestimaciones no se negocien. El alumno <strong>de</strong>beestimar el tiempo o esfuerzo lo mejor que pueda;una vez lo ha hecho, el <strong>de</strong>seo <strong>de</strong> su jefe (oprofesor) no altera los hechos, y por tantotampoco <strong>de</strong>be alterar <strong>la</strong> estimación (salvo que sele aporte información adicional que influya en <strong>la</strong>misma). El alumno <strong>de</strong>be apren<strong>de</strong>r a dar (yreconocer) <strong>la</strong>s ma<strong>la</strong>s noticias con valentía. Ce<strong>de</strong>ry hacer <strong>la</strong>s estimaciones más cortas sin ningúnmotivo racional es una <strong>de</strong> <strong>la</strong>s prácticas másnocivas en el <strong>de</strong>sarrollo <strong>de</strong> software.En el ámbito <strong>de</strong> <strong>la</strong> estimación, pue<strong>de</strong> ser <strong>de</strong>utilidad que el alumno mantenga una tab<strong>la</strong> <strong>de</strong>tareas, en <strong>la</strong> que vaya incluyendo cada tareaprevista, <strong>la</strong> fecha prevista <strong>de</strong> terminación, y <strong>la</strong>fecha real. En esta tab<strong>la</strong> quedará constancia <strong>de</strong> loserrores <strong>de</strong> estimación, tanto por <strong>de</strong>fecto como porexceso. El objetivo <strong>de</strong> esto no es “penalizar” a<strong>la</strong>lumno por sus errores, sino hacerle consciente <strong>de</strong><strong>la</strong>s cifras previstas y reales (dándole así datos para


el futuro) y hacer que practique con frecuencia <strong>la</strong>estimación. Esta también es práctica obligatoria ennuestros PFC (Ilustración 2). La estimación <strong>de</strong>tareas pequeñas (<strong>de</strong> pocas jornadas, o inclusomenos) ayuda a disminuir el error global, ya quelos errores por exceso y por <strong>de</strong>fecto se anu<strong>la</strong>n. Porúltimo, cada una <strong>de</strong> <strong>la</strong>s tareas <strong>de</strong>be ser binaria: seentrega en cierta fecha o no, sin términos mediosni porcentajes.Prácticas recomendadas:• El alumno realiza sus estimaciones y secompromete con el<strong>la</strong>s.• Se estima con frecuencia, y sobre tareaspequeñas.• Se mantiene un registro riguroso <strong>de</strong>estimaciones, cumplimientos e incumplimientos.• Las tareas están terminadas ó al 100% ó al0%, sin paliativos.Problemas mitigados: I, II, IIIIlustración 2. Tab<strong>la</strong> <strong>de</strong> tareas y fechas en <strong>la</strong>página web <strong>de</strong> un PFC5. P<strong>la</strong>nificaciónLas dificulta<strong>de</strong>s <strong>de</strong> <strong>la</strong> p<strong>la</strong>nificación <strong>de</strong>rivan engran medida <strong>de</strong> <strong>la</strong>s que p<strong>la</strong>ntea <strong>la</strong> estimación,añadiendo <strong>la</strong> colocación <strong>de</strong> <strong>la</strong>s tareas, elestablecimiento <strong>de</strong> <strong>de</strong>pen<strong>de</strong>ncias y prece<strong>de</strong>ncias,etc. Cobra aquí particu<strong>la</strong>r importancia el efecto <strong>de</strong><strong>la</strong>s <strong>de</strong>sviaciones.Con el fin <strong>de</strong> evitar los problemasmencionados en el apartado 1, conviene vigi<strong>la</strong>restrechamente el <strong>de</strong>sarrollo <strong>de</strong>l PFC para evitaralgunos males frecuentes, que tienen su raíz enuna actitud muy común: el abandono <strong>de</strong> <strong>la</strong>p<strong>la</strong>nificación bajo presión. Cuando el p<strong>la</strong>n seincumple, el <strong>de</strong>sarrol<strong>la</strong>dor simplemente empieza atrabajar a <strong>de</strong>stajo para acabar lo antes posible,ignorando el p<strong>la</strong>n. Durante el PFC se <strong>de</strong>beríahacer hincapié en evitar esto.Proponemos que el alumno siempre trabajesobre un p<strong>la</strong>n. A<strong>de</strong>más, este p<strong>la</strong>n <strong>de</strong>be contenerhitos binarios (que se cumplen o se incumplen ensu totalidad); cuando se incumple un hito, seanalizan <strong>la</strong>s causas y se modifica <strong>la</strong> p<strong>la</strong>nificación<strong>de</strong> manera a<strong>de</strong>cuada. No se abandona el p<strong>la</strong>n. Sinembargo, es lícito rehacer el p<strong>la</strong>n cuantas vecessea necesario. No se obliga al alumno a acertar ensus apuestas (al fin y al cabo, está aprendiendo),pero cuando fal<strong>la</strong> en su apuesta, siempre <strong>de</strong>besustituir<strong>la</strong> por otra.Asimismo, el incumplimiento <strong>de</strong> hitos obligaa rep<strong>la</strong>nificar: se supone que el retraso producidoprobablemente se reproducirá <strong>de</strong> manera global enel proyecto. No es aceptable asumir que el tiempoperdido se recuperará por sí solo más a<strong>de</strong><strong>la</strong>nte.Proponemos también que el alumno lleve un“diario <strong>de</strong>l proyecto”, en el que anote los sucesosimportantes. Los incumplimientos <strong>de</strong>l p<strong>la</strong>n y <strong>la</strong>sacciones correctoras se reflejan siempre en estediario.Prácticas recomendadas:• El p<strong>la</strong>n contiene hitos que se cumplen al 100%ó al 0%.• El incumplimiento <strong>de</strong> un hito conlleva unarep<strong>la</strong>nificación.• En el diario <strong>de</strong>l proyecto queda constanciaescrita <strong>de</strong> ambos sucesos.• El alumno siempre trabaja sobre un p<strong>la</strong>n;pue<strong>de</strong> modificarlo repetidamente, pero noabandonarlo.Problemas mitigados: V, VII, IX


6. Gestión <strong>de</strong> riesgosEs muy frecuente que en el entorno profesional nose realice una gestión <strong>de</strong> riesgos efectiva;lógicamente, en un PFC esto es aún más habitual.Sin embargo, el obligar al alumno a realizaruna gestión <strong>de</strong> riesgos siquiera mínima tiene ungran valor didáctico. En primer lugar porque lehace consciente <strong>de</strong> los peligros que acechan alproyecto, y cuando alguno se manifieste estarásensibilizado; y en segundo lugar porque <strong>la</strong>gestión <strong>de</strong> riesgos es también un ejercicioadicional <strong>de</strong> p<strong>la</strong>nificación y gestión. Basta con unsencillo documento <strong>de</strong> una o dos páginas, en elque el alumno i<strong>de</strong>ntifique los peligros importantesy adopte acciones preventivas (que pue<strong>de</strong>n ser tansimples como cambiar el or<strong>de</strong>n <strong>de</strong> ciertas tareas).Un riesgo muy importante en los PFC (y queno se produce tanto en entornos profesionales) esel a<strong>la</strong>rgamiento in<strong>de</strong>finido <strong>de</strong>l proyecto. Esfrecuente en todo tipo <strong>de</strong> alumnos, pero más en elcaso <strong>de</strong> alumnos que encuentran trabajo antes <strong>de</strong>obtener <strong>la</strong> titu<strong>la</strong>ción. Para mitigar este riesgo, esaconsejable que el tutor obligue a un progresoconstante, aunque sea muy lento; esto entroncacon el hábito ya mencionado <strong>de</strong> que toda tareatenga una fecha <strong>de</strong> entrega prevista que el alumnose esfuerce por cumplir.Prácticas recomendadas:• Una gestión <strong>de</strong> riesgos, siquiera elemental.• Norma <strong>de</strong> obligado cumplimiento: un avanceconstante (aunque sea lento) <strong>de</strong>l proyecto. Encaso <strong>de</strong> abandono manifiesto, cance<strong>la</strong>ción <strong>de</strong>lmismo.Problemas mitigados: IX, V7. CalidadQuizás <strong>la</strong> enseñanza más importante que e<strong>la</strong>lumno pue<strong>de</strong> obtener <strong>de</strong>l PFC es que <strong>la</strong> calidadno es una cualidad adicional que se pue<strong>de</strong>incorporar al proyecto como una prestación más(o renunciar a el<strong>la</strong>), sino que <strong>de</strong>be ser algointrínseco a cualquier proyecto. Y por una sencil<strong>la</strong>razón: <strong>la</strong> calidad es precisamente el camino paraterminar el proyecto en menos tiempo y conmenos esfuerzo [3].El PFC es el momento a<strong>de</strong>cuado para lucharcontra el mito <strong>de</strong> que los proyectos reales sonartesanía. Si el alumno termina su formacióntécnica y ya en <strong>la</strong> etapa final <strong>de</strong> <strong>la</strong> misma ve quelo estudiado en otras asignaturas sobre <strong>la</strong> calida<strong>de</strong>s sólo teoría, es <strong>de</strong> esperar que ce<strong>de</strong>rá con todafacilidad a <strong>la</strong>s presiones <strong>de</strong>l entorno profesionalpara <strong>de</strong>sarrol<strong>la</strong>r más rápido, “a costa <strong>de</strong> <strong>la</strong>calidad”.No resulta fácil resumir en pocas activida<strong>de</strong>scómo <strong>de</strong>be vigi<strong>la</strong>rse <strong>la</strong> calidad; es una guerra queexige luchar en muchos frentes. Simplemente,<strong>de</strong>be garantizarse que el alumno compren<strong>de</strong>c<strong>la</strong>ramente que se espera <strong>de</strong> él que <strong>de</strong>sarrollesoftware <strong>de</strong> calidad, en su propio beneficio (porpuro egoísmo). Deben aplicarse todas <strong>la</strong>senseñanzas que se transmiten en el P<strong>la</strong>n <strong>de</strong>Estudios sobre cómo <strong>de</strong>be <strong>de</strong>sarrol<strong>la</strong>rse elsoftware.Una actividad que pue<strong>de</strong> resultar muybeneficiosa en este sentido es <strong>la</strong> realización <strong>de</strong>revisiones técnicas formales (RTF), que nosotrosproponemos según el mo<strong>de</strong>lo <strong>de</strong>scrito en [4].A<strong>de</strong>más <strong>de</strong> mejorar <strong>la</strong> calidad <strong>de</strong>l proyecto encuestión, si estas RTF se realizan <strong>de</strong> maneracruzada entre miembros <strong>de</strong> distintos proyectos,pue<strong>de</strong>n constituir un excelente ejercicio <strong>de</strong>análisis, diseño y codificación en un problemadistinto <strong>de</strong>l que ocupa a cada alumno en su propioPFC, aportándoles una experiencia extra y unavisión más amplia <strong>de</strong>l <strong>de</strong>sarrollo.Por supuesto, son aplicables <strong>la</strong>s mismasreservas que en <strong>la</strong>s RTF entre profesionales: hayque conseguir que los alumnos no consi<strong>de</strong>ren a losparticipantes como enemigos o censores, sinocomo personas que están ayudándole a terminar sutrabajo antes y mejor. De hecho, como personasque están haciéndole parte <strong>de</strong>l trabajo. Cada<strong>de</strong>fecto seña<strong>la</strong>do en una RTF ahorrará al alumnomuchas horas <strong>de</strong> <strong>de</strong>puración, y así <strong>de</strong>be percibirlo.Como inconveniente, cabe seña<strong>la</strong>r que losalumnos <strong>de</strong> otros PFC probablemente no estén enbuena situación para compren<strong>de</strong>r un problema queles es ajeno. Esto exige <strong>de</strong>l profesor una seleccióna<strong>de</strong>cuada <strong>de</strong>l material que se somete a RTFcruzada con otros alumnos, <strong>de</strong> manera que seadigerible por ellos. Otras partes críticas <strong>de</strong>lsistema que no puedan ser revisadas por estosalumnos pue<strong>de</strong>n someterse a RTFs en <strong>la</strong>s que sólo


participen el alumno afectado y algunosprofesores (al menos, lógicamente, el director <strong>de</strong>lproyecto).Prácticas recomendadas:• En general, aplicar <strong>de</strong> manera <strong>de</strong>cidida yrigurosa los fundamentos <strong>de</strong>l <strong>de</strong>sarrollo.• Realizar revisiones técnicas formales,cruzadas con otros alumnos o sólo conprofesores.Problemas mitigados: VI, VII, V8. DocumentaciónEn realidad, este punto es simplemente otra faceta<strong>de</strong>l problema <strong>de</strong> <strong>la</strong> calidad. La necesidad <strong>de</strong> unabuena documentación es un caballo <strong>de</strong> batal<strong>la</strong> enlos entornos profesionales, y también en losacadémicos.Aquí merece <strong>la</strong> pena l<strong>la</strong>mar <strong>la</strong> atención sobre<strong>la</strong> documentación re<strong>la</strong>cionada con <strong>la</strong> gestión <strong>de</strong>lproyecto en sí. Cuando se hab<strong>la</strong> <strong>de</strong>“documentación”, con frecuencia se piensa endocumentación <strong>de</strong> análisis y diseño, que <strong>de</strong>scribeel programa, probablemente con el fin <strong>de</strong> facilitarsu mantenimiento. Pero siendo este un temaimportante, no es el único. Conviene reflexionarsobre <strong>la</strong> documentación <strong>de</strong>l proyecto, que no serefiere <strong>de</strong> manera directa al programa sino a loque ro<strong>de</strong>a a su <strong>de</strong>sarrollo.Como ya se ha dicho, en muchos casos losproblemas <strong>de</strong> un proyecto no son técnicos, sino <strong>de</strong>gestión. La falta <strong>de</strong> control <strong>de</strong>l proyecto, <strong>la</strong>ausencia <strong>de</strong> p<strong>la</strong>nes precisos y or<strong>de</strong>nados o <strong>la</strong> falta<strong>de</strong> información sobre <strong>de</strong>cisiones adoptadaspreviamente pue<strong>de</strong> ser tan nociva como una ma<strong>la</strong><strong>de</strong>scripción <strong>de</strong>l código fuente. Existe un problemaadicional con este tipo <strong>de</strong> documentos, quenuevamente va más allá <strong>de</strong>l aspecto técnico: <strong>la</strong>documentación sobre el proyecto corre el riesgo<strong>de</strong> convertirse en burocracia, que el alumnopercibe como inútil y que realiza cumpliendo unmero trámite.La documentación sería motivo para unestudio pormenorizado por sí misma, pero aquínos limitaremos a algunos apuntes re<strong>la</strong>cionadoscon el tema que nos ocupa.Utilidad. Es fundamental que <strong>la</strong> documentaciónsea para el alumno una herramienta y que <strong>la</strong>perciba como tal. El director <strong>de</strong>l proyecto pue<strong>de</strong>aprovechar algunas <strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>s específicasque el PFC p<strong>la</strong>ntea al alumno (in<strong>de</strong>finición,incertidumbre, falta <strong>de</strong> control, dificultad...) paraque dicho alumno encuentre en sus propiosdocumentos el apoyo que necesita. Contra <strong>la</strong>in<strong>de</strong>finición, una buena lista <strong>de</strong> requisitos, quepueda consultar y actualizar con frecuencia;contra <strong>la</strong> incertidumbre, una buena p<strong>la</strong>nificación,y así sucesivamente.Creemos que pue<strong>de</strong> ayudar a esto el que e<strong>la</strong>lumno mantenga una buena organización yaccesibilidad <strong>de</strong> los documentos; imponemoscomo norma obligatoria el mantenimiento <strong>de</strong> unapágina web <strong>de</strong>l proyecto, don<strong>de</strong> se encuentra toda<strong>la</strong> documentación (Ilustración 3).Ilustración 3. Página web con <strong>la</strong>documentación <strong>de</strong> un PFCBurocracia. Hay que evitar a toda costa que e<strong>la</strong>lumno perciba <strong>la</strong> documentación como unejercicio <strong>de</strong> burocracia gratuita. A<strong>de</strong>más <strong>de</strong>conseguir que <strong>la</strong> documentación le resulte útil y


aprecie esa utilidad, hay que procurar que sereduzca al mínimo posible.El que <strong>la</strong> documentación no tiene por quéconvertirse en burocracia queda patente sipensamos en los documentos realmente necesarios(aparte <strong>de</strong> <strong>la</strong> documentación <strong>de</strong> análisis/diseñohabituales):• Un documento <strong>de</strong> requisitos preciso(probablemente entre 1 y 5 páginas). Estopue<strong>de</strong> consi<strong>de</strong>rarse documentación <strong>de</strong> análisis,pero tiene un papel activo en <strong>la</strong> gestión <strong>de</strong>lproyecto.• Un solo documento <strong>de</strong> p<strong>la</strong>nificación yestimación (tipo Microsoft Project)• Un documento <strong>de</strong> gestión <strong>de</strong> riesgos (1-2páginas)• Un “diario <strong>de</strong>l proyecto” en el que se reflejenlos sucesos importantes (y en este no tieneimportancia una mayor longitud)• Un historial <strong>de</strong> fechas <strong>de</strong> entregas parciales(<strong>la</strong>s mismas consi<strong>de</strong>raciones que en e<strong>la</strong>partado anterior)• Otros documentos “históricos” (como actas <strong>de</strong>reuniones, RTFs, etc.)Este simple conjunto <strong>de</strong> documentos permiterealizar <strong>la</strong> mayor parte <strong>de</strong> <strong>la</strong>s acciones sugeridasaquí, y parece c<strong>la</strong>ramente manejable.Sincronización. El típico problema <strong>de</strong> que <strong>la</strong>documentación se a<strong>de</strong>cue a <strong>la</strong> realidad, y cambiecon el<strong>la</strong>, pue<strong>de</strong> abordarse también adoptando loshábitos <strong>de</strong> trabajo a<strong>de</strong>cuados. Si el alumno piensasobre sus documentos, y se guía por ellos, cadanueva <strong>de</strong>cisión quedará reflejada en primer lugar<strong>de</strong> forma natural en los documentos afectados, yposteriormente se llevará a <strong>la</strong> práctica. Esto pue<strong>de</strong>ser más difícil <strong>de</strong> conseguir en <strong>la</strong> documentaciónque alu<strong>de</strong> directamente al código, pero en losdocumentos <strong>de</strong>l proyecto (requisitos, p<strong>la</strong>nificación,etc.) parece viable, puesto que <strong>la</strong>codificación es una tarea a <strong>la</strong> que el alumno estáhabituado y ha adquirido ciertos patrones <strong>de</strong>comportamiento, pero el <strong>de</strong>sarrollo <strong>de</strong> un PFC esuna experiencia nueva.9. ConclusionesEn este artículo se realiza una reflexión sobre elespecial papel que el Proyecto Fin <strong>de</strong> Carreracumple en <strong>la</strong> formación <strong>de</strong> un Ingeniero Técnicoen Informática <strong>de</strong> cara a su futura actividadprofesional. Se i<strong>de</strong>ntifican algunos <strong>de</strong> losproblemas más graves <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> softwareen entornos profesionales, y se analiza su re<strong>la</strong>cióncon algunos aspectos <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> un PFC;simultáneamente, se sugieren algunas prácticasrecomendables con el fin <strong>de</strong> que el alumnoadquiera hábitos que le conviertan en unprofesional mejor preparado para luchar contra losproblemas <strong>de</strong>scritos.En general, <strong>de</strong> lo que se trata es <strong>de</strong> que e<strong>la</strong>lumno perciba que el <strong>de</strong>sarrollo con arreglo a <strong>la</strong>sdirectrices <strong>de</strong> <strong>la</strong> profesión que se transmiten en losestudios universitarios resulta práctico y redundaen su propio beneficio. Asimismo, se preten<strong>de</strong> queadquiera una c<strong>la</strong>ra conciencia <strong>de</strong> que el dominio<strong>de</strong> <strong>la</strong> técnica, por sí solo, no garantiza un buenrendimiento profesional; se necesitan ciertoshábitos <strong>de</strong> trabajo (y herramientas adicionales)que ofrezcan un marco a<strong>de</strong>cuado a <strong>la</strong> <strong>la</strong>bor técnicay <strong>la</strong> apoyen.Referencias[1] Fre<strong>de</strong>rick P. Brooks. The Mythical Man-Month, Anniversary Edition: Essays onSoftware Engineering. Addison-Wesley PubCo; ISBN: 0201835959, Julio 1995.[2] Jones, Capers. Assessment and Control ofSoftware Risks. Englewood Cliffs, N. J.:Yourdon Press (1994).[3] McConnell, Steve. Desarrollo y gestión <strong>de</strong>proyectos informáticos. McGraw-Hill, 1997.[4] Software Formal Inspections Gui<strong>de</strong>book(NASA-GB-A302). Office of Safety andMission Asurance, NASA (Agosto <strong>de</strong> 1993).Disponible en http://satc.gsfc.nasa.gov/fi.


Experiencia <strong>de</strong> realización <strong>de</strong> proyectos fin <strong>de</strong> carreraen el área <strong>de</strong> los sistemas multi-agenteAntonio Moreno, Aïda VallsDep. <strong>de</strong> Ingeniería Informática y MatemáticasEscue<strong>la</strong> Técnica Superior <strong>de</strong> IngenieríaUniversidad Rovira i Virgili (URV)Av. <strong>de</strong>ls Països Cata<strong>la</strong>ns, 26, 43007-Tarragona{amoreno,avalls}@etse.urv.esResumenEl GruSMA (Grupo <strong>de</strong> trabajo en Sistemas Multi-Agente) proporciona un entorno en el que alumnos<strong>de</strong> primer y segundo ciclo <strong>de</strong> IngenieríaInformática <strong>de</strong> <strong>la</strong> Universidad Rovira i Virgili(URV) pue<strong>de</strong>n realizar Proyectos Fin <strong>de</strong> Carreraen el área <strong>de</strong> los Sistemas Multi-Agente. En estaponencia <strong>de</strong>scribimos <strong>la</strong> motivación para sucreación, su metodología <strong>de</strong> trabajo y los resultadosobtenidos hasta el momento.1. IntroducciónLos autores <strong>de</strong> esta ponencia pertenecen algrupo <strong>de</strong> investigación en Inteligencia Artificial<strong>de</strong> <strong>la</strong> URV (Banzai, [3]). Parte <strong>de</strong> <strong>la</strong> actividadinvestigadora <strong>de</strong> este grupo se ha centrado en losúltimos años en el tema <strong>de</strong> los Sistemas Multi-Agente (SMA); por eso nuestro objetivo principalera hacer que a los alumnos les pareciera atractivoel realizar el PFC en esta área. Para ello se leshabía <strong>de</strong> proporcionar un entorno en el que pudieranrealizar este tipo <strong>de</strong> proyectos. Con estepropósito en mente se i<strong>de</strong>ó el GruSMA (Grupo <strong>de</strong>trabajo en Sistemas Multi-Agente, [9]). En estaponencia, que extien<strong>de</strong> el trabajo presentado en[15], <strong>de</strong>scribimos <strong>la</strong>s circunstancias <strong>de</strong> creación<strong>de</strong>l grupo, su metodología <strong>de</strong> trabajo y los proyectosfin <strong>de</strong> carrera ya presentados. La ponenciaacaba con una valoración <strong>de</strong> esta experienciadocente.2. Creación <strong>de</strong> GruSMAEn el curso 98-99 ya se empezó a pensar en <strong>la</strong>posibilidad <strong>de</strong> crear este grupo. Lo primero quese hizo fue estudiar <strong>la</strong>s diferentes herramientas <strong>de</strong>construcción <strong>de</strong> SMAs existentes en el mercado,para ver si había alguna a<strong>de</strong>cuada (con suficientecalidad, ejecutable en PCs y, a ser posible, gratuita)para realizar los PFCs. Durante este cursoun alumno hizo en su PFC un <strong>de</strong>tal<strong>la</strong>do estudiocomparativo <strong>de</strong> diferentes entornos <strong>de</strong> construcción<strong>de</strong> SMAs ([10]). De este trabajo se obtuvierondos conclusiones importantes:• Hay dos gran<strong>de</strong>s corrientes <strong>de</strong> estandarización<strong>de</strong>l diseño e implementación <strong>de</strong> SMAs.En una, fundamentalmente utilizada en universida<strong>de</strong>samericanas, los agentes se comunicanutilizando un lenguaje l<strong>la</strong>mado KQML(Knowledge Query Manipu<strong>la</strong>tion Language,[6]). La otra, con amplia base europea, estáli<strong>de</strong>rada por una organización l<strong>la</strong>mada FIPA(Foundation for Intelligent Physical Agents,[7]) que ha <strong>de</strong>finido los elementos básicosque <strong>de</strong>ben componer un SMA, un lenguaje<strong>de</strong> comunicación entre agentes l<strong>la</strong>mado FI-PA-ACL (FIPA-Agent CommunicationLanguage), un lenguaje <strong>de</strong> representación <strong>de</strong>


conocimiento l<strong>la</strong>mado FIPA-SL (FIPA-Semantic Language), un conjunto <strong>de</strong> protocolos<strong>de</strong> intercambio <strong>de</strong> mensajes, etc. Nosotroselegimos utilizar esta segunda opción,<strong>de</strong>bido a <strong>la</strong> posibilidad (comentada mása<strong>de</strong><strong>la</strong>nte) <strong>de</strong> utilizar buenas herramientas <strong>de</strong>construcción <strong>de</strong> sistemas multi-agente <strong>de</strong> libredistribución que siguen <strong>la</strong>s especificaciones<strong>de</strong> <strong>la</strong> FIPA. En los últimos años estasegunda alternativa se está imponiendo pocoa poco como un estándar <strong>de</strong> facto a nivelmundial.• Existían ya (en verano <strong>de</strong> 1999) una grancolección <strong>de</strong> entornos <strong>de</strong> construcción <strong>de</strong>sistemas multi-agente lo suficientementebuenos y fiables como para p<strong>la</strong>ntearse <strong>la</strong>realización <strong>de</strong> PFCs en esta área. La mayoría<strong>de</strong> ellos son librerías en Java que proporcionan<strong>la</strong>s c<strong>la</strong>ses necesarias para po<strong>de</strong>r crear <strong>de</strong>forma re<strong>la</strong>tivamente sencil<strong>la</strong> un sistemamulti-agente. La principal diferencia entre<strong>la</strong>s diversas alternativas resi<strong>de</strong> en <strong>la</strong>s herramientas<strong>de</strong> soporte al programador que ofrecen.Así pues, en septiembre <strong>de</strong> 1999 se creó elGruSMA.3. Metodología <strong>de</strong> trabajoLa metodología <strong>de</strong> trabajo <strong>de</strong> GruSMA durantelos cursos académicos 99-00, 00-01 y 01-02 hasido <strong>la</strong> siguiente. En octubre, cuando se inicia elcurso académico y los alumnos <strong>de</strong> cursos finalesya empiezan a pensar cómo harán el PFC, se hacepublicidad <strong>de</strong> <strong>la</strong> posibilidad <strong>de</strong> realizar proyectosen el área <strong>de</strong> los Sistemas Multi-Agente. Estapublicidad se hace colgando carteles, realizandouna sesión informativa y enviando mensajes aalumnos que hayan realizado asignaturas re<strong>la</strong>cionadascon <strong>la</strong> Inteligencia Artificial durante elcurso anterior. A finales <strong>de</strong> octubre ya se sabecuántos alumnos están interesados en formarparte <strong>de</strong>l grupo. En estos cursos todavía no hasido necesario realizar ninguna selección: en elcurso 99-00 hubo sólo 2 alumnos (ambos acabaronel PFC), en el curso 00-01 ya hubo 7 alumnos(4 <strong>de</strong> los cuales ya han presentado el PFC), y enel curso actual hay 10 alumnos realizando el PFCpara presentarlo en junio o en septiembre <strong>de</strong>2002. Estimamos que un grupo <strong>de</strong> estas característicaspue<strong>de</strong> llegar a tener como máximo unos10 alumnos, ya que sería muy difícil llevar más<strong>de</strong> 10 PFCs distintos entre los dos profesores quecoordinan <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>l grupo. Por tanto,suponemos que, a partir <strong>de</strong>l curso 2002-2003,será necesario un proceso <strong>de</strong> selección previo.En noviembre y diciembre se realizan <strong>la</strong>ssesiones <strong>de</strong> trabajo <strong>de</strong>l grupo (2 horas semanalesdurante 6-7 semanas). En estas sesiones los profesoresresponsables <strong>de</strong>l grupo empiezan explicandolo que es un agente y lo que es un SMA.La explicación teórica se ha ilustrado este cursocon <strong>la</strong> <strong>de</strong>scripción y <strong>de</strong>mostración práctica <strong>de</strong> los2 PFCs realizados en el curso 99-00 ([18],[5]) ylos 4 PFCs presentados en el curso 00-01 ([19],[12], [8], [13]). Después se <strong>de</strong>scribe con <strong>de</strong>talleel estándar <strong>de</strong> construcción <strong>de</strong> SMAs <strong>de</strong>finidopor <strong>la</strong> FIPA ([7]). Se hace especial énfasis en ellenguaje <strong>de</strong> comunicación entre agentes (FIPA-ACL), los protocolos <strong>de</strong> intercambio <strong>de</strong> mensajesy <strong>la</strong> <strong>de</strong>finición e implementación <strong>de</strong> ontologíasen FIPA-SL.A continuación se <strong>de</strong>dican varias sesiones <strong>de</strong>trabajo a explicar el funcionamiento <strong>de</strong> un entornoconcreto <strong>de</strong> construcción <strong>de</strong> SMAs, l<strong>la</strong>madoJADE (Java Agent Development Environment,[4]). Este entorno está siendo <strong>de</strong>sarrol<strong>la</strong>do en el<strong>la</strong>boratorio italiano CSELT, y se distribuye <strong>de</strong>forma gratuita bajo <strong>la</strong>s condiciones <strong>de</strong> <strong>la</strong> GNULesser General Public License. JADE proporcionauna serie <strong>de</strong> c<strong>la</strong>ses Java que el usuario ha <strong>de</strong>utilizar para <strong>de</strong>sarrol<strong>la</strong>r sus propios agentes. Nos<strong>de</strong>cidimos por este entorno <strong>de</strong> construcción <strong>de</strong>Sistemas Multi-Agente por <strong>la</strong>s siguientes razones:


Figura 1-Interfície gráfica <strong>de</strong> JADE• Las pruebas que realizamos sobre él nosmostraron que es un entorno fiable. Estaapreciación ha sido corroborada durante <strong>la</strong>realización <strong>de</strong> los PFCs.• Es gratuito. Se pue<strong>de</strong> bajar por Internet [11],insta<strong>la</strong>r y utilizar muy fácilmente sobrecualquier or<strong>de</strong>nador que tenga Java 1.2.• Sigue <strong>la</strong>s especificaciones <strong>de</strong> <strong>la</strong> FIPA (estructura<strong>de</strong>l SMA, lenguaje y protocolos <strong>de</strong>comunicación, etc.).• Proporciona al usuario un entorno gráfico enel que se pue<strong>de</strong>n hacer acciones como verlos agentes <strong>de</strong>l sistema, añadir o eliminaragentes, o seguir los mensajes que éstos sevan intercambiando (ver figura 1).Existe una lista <strong>de</strong> distribución muy activa en <strong>la</strong>que los usuarios <strong>de</strong>l sistema pue<strong>de</strong>n enviar dudas,intercambiar experiencias o sugerir nuevas incorporacionesal sistema.Los 2 PFCs <strong>de</strong>l curso 99-00 se hicieron sobre<strong>la</strong> versión 1.3, y los 4 <strong>de</strong>l curso 00-01 han utilizado<strong>la</strong> versión 2.01, adaptada a los cambios en<strong>la</strong>s especificaciones <strong>de</strong> <strong>la</strong> FIPA realizados en e<strong>la</strong>ño 2000. Ahora acaba <strong>de</strong> aparecer <strong>la</strong> versión 2.5<strong>de</strong> JADE, que permitirá realizar PFCs sobreentornos Java móviles (p.e. PDAs) el próximocurso.4. Trabajo individual y en grupoOtro <strong>de</strong> los objetivos <strong>de</strong> crear un grupo <strong>de</strong> trabajoes que los alumnos se encuentren en un entornoamigable, en el que se enfrenten en común adiferentes problemas y puedan ayudarse los unosa los otros. Este aspecto <strong>de</strong>be fomentarse, <strong>de</strong>manera que sea más atractivo para los alumnospasar a formar parte <strong>de</strong> un colectivo con interesessimi<strong>la</strong>res que enfrentarse a <strong>la</strong> realización <strong>de</strong> unPFC <strong>de</strong> forma ais<strong>la</strong>da. Este aspecto colectivo seve reforzado, por un <strong>la</strong>do, por el encuentro semanalen <strong>la</strong>s reuniones <strong>de</strong> trabajo. Por otro <strong>la</strong>do, loscoordinadores <strong>de</strong> GruSMA buscamos problemasque sean <strong>de</strong> interés para todos los miembros, yhacemos que se enfrenten en común a ellos antes<strong>de</strong> ponerse a trabajar cada uno en su PFC enparticu<strong>la</strong>r. Este tipo <strong>de</strong> problemas incluyen aspectosdiversos <strong>de</strong> JADE como estudiar <strong>la</strong> comunicación<strong>de</strong> agentes ejecutándose en diferentes


Figura 2-Página web <strong>de</strong> GruSMA (http://www.etse.urv.es/recerca/banzai/toni/MAS)PCs, acce<strong>de</strong>r a <strong>la</strong> información <strong>de</strong> una base <strong>de</strong>datos <strong>de</strong>s<strong>de</strong> un agente, estudiar técnicas <strong>de</strong> coordinación<strong>de</strong> uso general, etc. Este tipo <strong>de</strong> problemasles son p<strong>la</strong>nteados a mediados <strong>de</strong> diciembre.Hacia finales <strong>de</strong> enero ya han estudiado estosproblemas, y ponen en común <strong>la</strong>s solucionesencontradas para que cada uno sepa resolver esetipo <strong>de</strong> situaciones en su PFC particu<strong>la</strong>r. Hay quehacer notar, sin embargo, que <strong>la</strong> parte básica <strong>de</strong>ltrabajo se ha <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r <strong>de</strong> manera individual.A principio <strong>de</strong> febrero, una vez han acabado losexámenes <strong>de</strong>l primer cuatrimestre, ya se <strong>de</strong>finenlos PFCs individuales y cada alumno trabaja ensu tema concreto. A estas alturas ya se conocentodos los miembros <strong>de</strong>l grupo y saben que pue<strong>de</strong>ncontar con los <strong>de</strong>más para ayudarles en cualquierproblema concreto que se puedan encontrara <strong>la</strong> hora <strong>de</strong> utilizar JADE. Los PFCs finalizadosse pue<strong>de</strong>n presentar en junio o en septiembre.Los alumnos disponen <strong>de</strong> toda <strong>la</strong> informaciónque se maneja <strong>de</strong>ntro <strong>de</strong> GruSMA en una páginaweb ([9], ver figura 2). En esta página se pue<strong>de</strong>encontrar todo el material <strong>de</strong> <strong>la</strong>s sesiones <strong>de</strong>trabajo, el código fuente y ejecutable <strong>de</strong> JADE,los datos <strong>de</strong> los miembros <strong>de</strong>l grupo, los PFCspropuestos y asignados, <strong>la</strong>s memorias <strong>de</strong> losPFCs ya presentados, el calendario <strong>de</strong> <strong>la</strong>s sesiones<strong>de</strong> trabajo, vínculos a <strong>la</strong>s páginas <strong>de</strong> FIPA y<strong>de</strong> JADE, etc.5. Proyectos final <strong>de</strong> carreraLos coordinadores <strong>de</strong> GruSMA <strong>de</strong>cidimos hacerque todos los PFCs <strong>de</strong>sarrol<strong>la</strong>dos en el grupofueran sobre un conjunto restringido <strong>de</strong> temas(manteniendo, en todo momento, un nivel alto <strong>de</strong>exigencia académica y una diferencia c<strong>la</strong>ra <strong>de</strong>calidad y trabajo personal entre los <strong>de</strong> primerciclo y los <strong>de</strong> segundo ciclo). La motivación <strong>de</strong>esta <strong>de</strong>cisión era doble. Por un <strong>la</strong>do, el hecho <strong>de</strong>trabajar varios alumnos en un mismo tema fomentael espíritu colectivo <strong>de</strong>l grupo. Por otro, secreaba <strong>la</strong> posibilidad <strong>de</strong> unir diferentes SMAs<strong>de</strong>sarrol<strong>la</strong>dos en varios PFCs en un solo Sistema


Multi-Agente que solucionara algún problemacomplejo (en <strong>la</strong> sección 6.2 haremos un comentarioa este respecto). Hasta ahora se han <strong>de</strong>sarrol<strong>la</strong>do6 PFCs, básicamente centrados en dos áreasdiferentes: el transp<strong>la</strong>nte <strong>de</strong> órganos y AgentCities.5.1. Transp<strong>la</strong>nte <strong>de</strong> órganosEl principal problema que <strong>de</strong>cidimos tratarfue <strong>la</strong> gestión <strong>de</strong> <strong>la</strong> coordinación <strong>de</strong> transp<strong>la</strong>ntes<strong>de</strong> órganos entre los hospitales <strong>de</strong> toda España.En el grupo <strong>de</strong> investigación en InteligenciaArtificial <strong>de</strong> <strong>la</strong> URV estamos especialmenteinteresados en <strong>la</strong> aplicación <strong>de</strong> SMAs en entornosmédicos, y <strong>de</strong> ahí surgió <strong>la</strong> i<strong>de</strong>a <strong>de</strong> usar estedominio ([2]). El problema es lo suficientementecomplejo como para abarcar gran cantidad <strong>de</strong>PFCs individuales, que son <strong>de</strong>l siguiente estilo:• Crear el SMA interno <strong>de</strong> un hospital, conagentes que se comunican con otros hospitales,agentes que acce<strong>de</strong>n a <strong>la</strong> base <strong>de</strong> datoslocal <strong>de</strong> pacientes en espera, agentes que secomunican con los médicos, agentes que recibenlos datos <strong>de</strong> los órganos disponibles,etc.• Crear el SMA <strong>de</strong> coordinación entre hospitalesa nivel español, con un coordinador nacional,diversos coordinadores regionales yautonómicos, coordinadores locales, y uncoordinador en cada hospital (PFC <strong>de</strong> segundociclo en curso).• Tener un agente que se ocupe <strong>de</strong>l tratamiento<strong>de</strong> los pacientes <strong>de</strong> emergencia 0, que sonaquellos que ya han llegado a un estado críticoen el que necesitan un órgano en un períodomuy breve <strong>de</strong> tiempo (PFC <strong>de</strong> primerciclo en curso).• Crear agentes que sepan, dado un órganodisponible, aplicar técnicas <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisionesmulti-criterio para encontrar el pacienteen espera que se a<strong>de</strong>cúe más a sus características(PFC <strong>de</strong> primer ciclo ya presentado,[19]).• Una vez <strong>de</strong>terminado el paciente que recibiráun órgano, buscar medios <strong>de</strong> transporte quepermitan llevar el órgano lo más rápido posibleal hospital <strong>de</strong> ese paciente (PFC <strong>de</strong>primer ciclo ya presentado, [18]).• Mientras se va transportando el órgano, tenerun SMA en el hospital receptor que se encarge<strong>de</strong> buscar el equipo médico a<strong>de</strong>cuadopara realizar <strong>la</strong> operación y que gestione <strong>la</strong>reserva <strong>de</strong> quirófanos (PFC <strong>de</strong> primer cicloya presentado, [5]).• Tener agentes que mantengan un registrohistórico <strong>de</strong> <strong>la</strong>s operaciones realizadas ypuedan aplicar técnicas <strong>de</strong> minería <strong>de</strong> datospara obtener información útil sobre <strong>la</strong> asociaciónentre pacientes y órganos.Este problema permite ser abordado <strong>de</strong> formanatural mediante <strong>la</strong> utilización <strong>de</strong> SMAs, al estar<strong>la</strong> información necesaria distribuída espacialmenteen or<strong>de</strong>nadores <strong>de</strong> toda España (en hospitales,organizaciones <strong>de</strong> coordinación <strong>de</strong> transp<strong>la</strong>ntes,bases <strong>de</strong> datos <strong>de</strong> medios <strong>de</strong> transporte,etc.), y ser c<strong>la</strong>ra <strong>la</strong> necesidad <strong>de</strong> una comunicacióny una coordinación entre los hospitales <strong>de</strong>toda España para asegurar una distribución rápiday justa <strong>de</strong> los órganos entre los pacientes enespera.5.2. AgentCitiesAgentCities.RTD ([1]) es un proyecto financiadopor <strong>la</strong> Unión Europea que empezó sus activida<strong>de</strong>sel 1 <strong>de</strong> julio <strong>de</strong> 2001. El objetivo principal <strong>de</strong>este proyecto es <strong>la</strong> creación <strong>de</strong> un entorno innovadoren el que se pueda experimentar <strong>la</strong> composicióndinámica <strong>de</strong> servicios heterogéneos online.Este entorno se construirá utilizando estándarsy tecnología <strong>de</strong>finidos por <strong>la</strong> FIPA, <strong>de</strong> formaque se permita <strong>la</strong> interoperación y comunicación<strong>de</strong> agentes inteligentes. Se <strong>de</strong>sea que los miembros<strong>de</strong>l proyecto sean capaces <strong>de</strong> construir todoun conjunto <strong>de</strong> p<strong>la</strong>taformas que ofrezcan serviciosbasados en agentes. Este proyecto está


acompañado por una red europea, AgentCities.NET,que ofrece un cierto apoyo a <strong>la</strong>s institucioneseuropeas que <strong>de</strong>seen formar parte <strong>de</strong> <strong>la</strong>experiencia <strong>de</strong> creación <strong>de</strong> este conjunto <strong>de</strong> serviciosbasados en agentes. Esta red empezó susactivida<strong>de</strong>s el 1 <strong>de</strong> noviembre <strong>de</strong> 2001; actualmenteya tiene más <strong>de</strong> 30 miembros, <strong>de</strong> los cuales8 son españoles. En <strong>la</strong> última reunión <strong>de</strong> estared (Lausanne, 8/2/2002) hubo más <strong>de</strong> 90 asistentesque ya mostraron su interés en formarparte <strong>de</strong> esta iniciativa.Un PFC <strong>de</strong> segundo ciclo <strong>de</strong>sarrol<strong>la</strong>do en esteproyecto fue presentado en septiembre <strong>de</strong> 2001([12]), y contiene una serie <strong>de</strong> agentes que ofrecenal usuario servicios <strong>de</strong> tipo hospita<strong>la</strong>rio. Porejemplo, el usuario pue<strong>de</strong> pedirle a su agentepersonal que le diga el hospital más cercano en elque le pueda visitar un oftalmólogo, e inclusopue<strong>de</strong> pedir al sistema que le reserve hora con él,o consultar su historial médico. La arquitectura<strong>de</strong>l sistema se muestra en <strong>la</strong> figura 3.Figura 3. SMA que proporciona servicios médicosEn <strong>la</strong> misma línea, también se ha presentadoeste pasado septiembre un PFC en el que se hadiseñado e implementado un SMA que ofreceservicios re<strong>la</strong>cionados con <strong>la</strong> restauración ([8]);el agente personal <strong>de</strong>l usuario pue<strong>de</strong> hacer consultassobre los restaurantes <strong>de</strong> Tarragona enfunción <strong>de</strong> condiciones sobre un conjunto <strong>de</strong>atributos (tipo <strong>de</strong> comida, precio <strong>de</strong>l menú, p<strong>la</strong>tosconcretos, disponibilidad <strong>de</strong> aparcamiento, tarjetas<strong>de</strong> crédito aceptadas, etc.), y también pue<strong>de</strong>gestionar <strong>la</strong> reserva <strong>de</strong> una mesa en un restauranteconcreto.6. Resultados y valoración <strong>de</strong> <strong>la</strong> experienciadocente6.1 ResultadosEn el curso 99-00 los 2 integrantes <strong>de</strong> GruSMApresentaron sus PFCs (<strong>de</strong> Ingeniería Técnica enInformática) en <strong>la</strong> convocatoria <strong>de</strong> septiembre([18],[5]). Los dos proyectos estaban integradosen el dominio <strong>de</strong> <strong>la</strong> gestión <strong>de</strong>l transp<strong>la</strong>nte <strong>de</strong>órganos. En el curso 00-01 hubo un incrementoimportante en el número <strong>de</strong> alumnos, y se empezaron7 PFCs (5 <strong>de</strong> Ingeniería Técnica en Informáticay 2 <strong>de</strong> segundo ciclo <strong>de</strong> Ingeniería Informática).De éstos, 4 ya fueron presentados enseptiembre <strong>de</strong> 2001 (1 re<strong>la</strong>cionado con el transp<strong>la</strong>nte<strong>de</strong> órganos [19], 2 re<strong>la</strong>cionados conAgentCities [12], [8] y el último re<strong>la</strong>tivo a <strong>la</strong>simu<strong>la</strong>ción <strong>de</strong> equipos <strong>de</strong> trabajo utilizandoSMAs [13]). Tres <strong>de</strong> estos PFCs correspon<strong>de</strong>n a<strong>la</strong> Ingeniería Técnica, y uno al segundo ciclo. Enel presente curso hay actualmente 10 alumnostrabajando en PFCs (3 en el dominio <strong>de</strong> lostransp<strong>la</strong>ntes, 5 en diferentes ámbitos <strong>de</strong>ntro <strong>de</strong>lproyecto AgentCities - cines, información turística,búsqueda <strong>de</strong> trabajo, información médica ausuarios móviles - y 2 en <strong>la</strong> construcción <strong>de</strong>agentes que busquen información por Internet y<strong>la</strong> representen en una ontología dinámica).


6.2 Valoración <strong>de</strong> <strong>la</strong> experiencia docenteAlgunos <strong>de</strong> los puntos positivos <strong>de</strong> <strong>la</strong> puestaen marcha <strong>de</strong> GruSMA son los siguientes:• Constatar el interés que han mostrado losalumnos <strong>de</strong> Ingeniería Informática en realizarPFCs re<strong>la</strong>cionados con <strong>la</strong> InteligenciaArtificial, y <strong>la</strong> creatividad <strong>de</strong>sarrol<strong>la</strong>da durantesu diseño e implementación.• Buen espíritu <strong>de</strong> trabajo en grupo durante <strong>la</strong>ssesiones <strong>de</strong> trabajo.• Los cinco alumnos que entregaron el PFC <strong>de</strong><strong>la</strong> Ingeniería Técnica ahora están haciendoel segundo ciclo <strong>de</strong> Ingeniería Informática, ytienen <strong>la</strong> intención <strong>de</strong> aprovechar <strong>la</strong> formacióny los conocimientos adquiridos enGruSMA para realizar el PFC <strong>de</strong>l segundociclo en el mismo tema. Así, se ha establecidouna cierta continuidad <strong>de</strong> los alumnos<strong>de</strong>ntro <strong>de</strong>l grupo.• El alumno que ha hecho el PFC <strong>de</strong>l segundociclo ha comenzado los estudios <strong>de</strong> doctorado<strong>de</strong>ntro <strong>de</strong>l programa <strong>de</strong> Inteligencia Artificial<strong>de</strong> <strong>la</strong> UPC, bajo <strong>la</strong> dirección <strong>de</strong> uno <strong>de</strong>los coordinadores <strong>de</strong> GruSMA.• El trabajo realizado es <strong>de</strong> buena calidad. Unamuestra <strong>de</strong> ello es <strong>la</strong> presentación <strong>de</strong> estosresultados en conferencias y revistas <strong>de</strong> carácternacional e internacional (p.e. [17],[16], [20], [14]).• Los coordinadores <strong>de</strong>l grupo también hanaprendido mucho <strong>de</strong> <strong>la</strong> experiencia <strong>de</strong> dirección<strong>de</strong> PFCs en SMAs (qué problemas seencuentran en el diseño e implementación <strong>de</strong>Sistemas Multi-Agente, cómo se solucionan,cuáles son <strong>la</strong>s herramientas que proporcionaJADE, etc.). Este conocimiento nos lleva asugerir <strong>la</strong> posibilidad <strong>de</strong> tener una asignaturaoptativa <strong>de</strong> segundo ciclo centrada en el área<strong>de</strong> los sistemas multi-agente.Entre los aspectos negativos po<strong>de</strong>mos indicarlos siguientes:• Será difícil unir diferentes SMAs en uno sólo,como teníamos previsto en un principio, yaque <strong>la</strong>s especificaciones <strong>de</strong> <strong>la</strong> FIPA (y <strong>la</strong>sdiferentes versiones <strong>de</strong> JADE) van evolucionandobastante <strong>de</strong>prisa (p.e. los PFCs <strong>de</strong>sarrol<strong>la</strong>dosen <strong>la</strong> versión 1.3 <strong>de</strong> JADE nopue<strong>de</strong>n ejecutarse directamente en <strong>la</strong> versión2.01, que tampoco es compatible con <strong>la</strong> versiónactual, <strong>la</strong> 2.5).• El grupo <strong>de</strong> trabajo no dispone <strong>de</strong> excesivosrecursos propios (or<strong>de</strong>nadores, impresoras).Así, sólo se pue<strong>de</strong>n utilizar recursos <strong>de</strong>l <strong>de</strong>partamento<strong>de</strong> Ingeniería Informática y Matemáticaso <strong>de</strong> <strong>la</strong> Escue<strong>la</strong> Técnica Superior<strong>de</strong> Ingeniería. Esto limita en cierta forma <strong>la</strong>actividad <strong>de</strong>l grupo.En resumen, <strong>la</strong> valoración global <strong>de</strong> <strong>la</strong> puestaen marcha <strong>de</strong> GruSMA es totalmente positiva, yanimamos firmemente a profesores interesadosen temas <strong>de</strong> Inteligencia Artificial a exploraralternativas simi<strong>la</strong>res en otras universida<strong>de</strong>s.Referencias[1] AgentCities. Información disponible enhttp://www.agentcities.org..[2] Arantza Al<strong>de</strong>a, Beatriz López, Antonio Moreno,David Riaño, Aïda Valls. A Multi-AgentSystem for Organ Trasp<strong>la</strong>nt Co-ordination.En Artificial Intelligence in Medicine (Eds:S.Quaglini, P.Barahona, S.Andreassen).Lecture Notes in Computer Science 2101,pp.413-416, Springer Ver<strong>la</strong>g.[3] Banzai: grupo <strong>de</strong> investigación en InteligenciaArtificial <strong>de</strong> <strong>la</strong> Univ. Rovira i Virgili(http://www.etse.urv.es/recerca/banzai).[4] Fabio Bellifemine et al. Developing multiagentsystems with a FIPA compliant agentframework. Software Practice and Experience,No. 31, pp. 103-128, 2001.[5] Jaime Bocio. Diseño e implementación <strong>de</strong>un SMA para <strong>la</strong> gestión <strong>de</strong> equipos médicos


para transp<strong>la</strong>ntes. PFC, Ing. Técnica en Informática<strong>de</strong> Sistemas, URV, Septiembre2000.[6] Tim Finin et al., Specification of KQMLCommunication Language, DARPA KnowledgeSharing Effort, 1993(http://www.cs.umbc.edu).[7] FIPA: Foundation for Intelligent PhysicalAgents (ver http://www.fipa.org).[8] Albert Gavarró. Agents que proporcionenserveis <strong>de</strong> restauració als visitants <strong>de</strong> Tarragonadins el projecte AgentCities. PFC, Ing.Técnica en Informática <strong>de</strong> Sistemas, URV,Septiembre 2001.[9] GruSMA: Grupo <strong>de</strong> trabajo en SistemasMulti-Agente (información disponible enhttp://www.etse.urv.es/recerca/banzai/toni/MAS).[10] David Isern. Avaluació d'entorns <strong>de</strong> <strong>de</strong>senvolupament<strong>de</strong> Sistemes Multi-agent. PFC,Ing. Técnica en Informática <strong>de</strong> Sistemas,URV, Septiembre 1999.[11] JADE: Java Agent Development Framework(información disponible enhttp://sharon.cselt.it/projects/ja<strong>de</strong>).[12] David Isern. Disseny i implementació d'unSistema Multi-Agent per proporcionar serveismèdics dins <strong>de</strong>l projecte AgentCities.PFC, segundo ciclo <strong>de</strong> Ing. en Informática,URV, Septiembre 2001.[13] Marta Marín. Un Sistema Multi-Agentd'ajuda a <strong>la</strong> composició <strong>de</strong> grups <strong>de</strong> treballper a tasques complexes. PFC, Ing. Técnicaen Informática <strong>de</strong> Sistemas, URV, Septiembre2001.[14] Antonio Moreno, David Isern. A firststep towards proving health-care agentbasedservices to mobile users. Póster aceptadoen <strong>la</strong> 1 st International Joint Conferenceon Autonomous Agents and Multi-AgentSystems, AAMAS-2002. Bologna, Italia, julio<strong>de</strong> 2002.[15] Antonio Moreno, Aïda Valls. GruSMA:Grupo <strong>de</strong> Trabajo en Sistemas Multi-Agente.Encuentro sobre docencia en Inteligencia Artificial,en el XI Congreso <strong>de</strong> <strong>la</strong> Asociaciónespaño<strong>la</strong> para <strong>la</strong> Inteligencia Artificial, CAE-PIA-2001. Gijón, noviembre <strong>de</strong> 2001.[16] Antonio Moreno, Aïda Valls, Jaime Bocio.A Multi-Agent System to Schedule OrganTransp<strong>la</strong>nt Operations. Inteligencia Artificial(Revista Iberoamericana <strong>de</strong> Inteligencia Artificial)13 , pp. 36-44, 2001.[17] Antonio Moreno, Aïda Valls, Alberto Ribes.Finding efficient organ transport routesusing multi-agent systems. 3rd InternationalWorkshop on Enterprise Networking andComputing in Healthcare Industry, HealthCom'2001.L'Aqui<strong>la</strong>, Italia, 29 junio- 1 julio2001.[18] Alberto Ribes. SMA d'ajuda a <strong>la</strong> gestió<strong>de</strong>ls transp<strong>la</strong>nts d'òrgans entre hospitals: logística<strong>de</strong>l transport d'òrgans. PFC, Ing.Técnica en Informática <strong>de</strong> Sistemas, URV,Septiembre 2000.[19] David Sánchez. Un Sistema Multi-Agentd'ajuda a l'assignació d'òrgans en trasp<strong>la</strong>ntaments.El mèto<strong>de</strong> ClusDM amb criteris lingüístics.PFC, Ing. Técnica en Informática <strong>de</strong>Sistemas, URV, Septiembre 2001.[20] Aïda Valls, Antonio Moreno, DavidSánchez. A multi-criteria <strong>de</strong>cision aid agentapplied to the selection of the best receiver ina transp<strong>la</strong>nt. Actas <strong>de</strong> <strong>la</strong> 4 th InternationalConference on Enterprise InformationSystems, ICEIS-2002, pp 431-438. CiudadReal, abril <strong>de</strong> 2002.


Acerca <strong>de</strong> <strong>la</strong> investigaciónJavier OliverDept. <strong>de</strong> Ingeniería <strong>de</strong>l SoftwareFacultad <strong>de</strong> IngenieríaUniversidad <strong>de</strong> Deusto48007 Bilbaoe-mail: oliver@esi<strong>de</strong>.<strong>de</strong>usto.esResumenEs opinión generalizada que el profesor universitario<strong>de</strong>be combinar docencia e investigación, pero¿porqué no se realiza en <strong>la</strong> universidad españo<strong>la</strong>más investigación y <strong>de</strong> mayor calidad? Algunos<strong>de</strong> los motivos fueron ya expuestos en el sigloXIX por uno <strong>de</strong> nuestros más insignes investigadores:D. Santiago Ramón y Cajal. Lo que siguees una reflexión crítica acerca <strong>de</strong> <strong>la</strong> investigación,basada en gran parte en <strong>la</strong>s recomendaciones <strong>de</strong>D. Santiago, que no han perdido un ápice <strong>de</strong> suvigencia a pesar <strong>de</strong>l tiempo transcurrido.1. Breve semb<strong>la</strong>nza <strong>de</strong> D. SantiagoSantiago Ramón y Cajal nación en Petil<strong>la</strong> <strong>de</strong> Aragón,provincia <strong>de</strong> Navarra, en 1852, aunque élsiempre consi<strong>de</strong>ró Ayerbe, en Huesca, como supatria chica [1]. Tras una infancia difícil, en <strong>la</strong> quellegó a cumplir un arresto <strong>de</strong> cuatro días, y a trabajar<strong>de</strong> aprendiz <strong>de</strong> barbero y zapatero, <strong>de</strong>scubrióal fin el gusto por el estudio, y cursó <strong>la</strong> carrera <strong>de</strong>Medicina en <strong>la</strong> Facultad <strong>de</strong> Zaragoza, licenciándosea los 21 años.Fue profesor <strong>de</strong> anatomía, histología y anatomíapatológica. Investigó acerca <strong>de</strong> <strong>la</strong> estructura<strong>de</strong>l sistema nervioso, mejorando los métodos <strong>de</strong>tinción celu<strong>la</strong>r utilizados hasta entonces. En 1897fue nombrado miembro <strong>de</strong> <strong>la</strong> Real Aca<strong>de</strong>mia <strong>de</strong>Ciencias Exactas, Físicas y Naturales y su discurso<strong>de</strong> aceptación fue publicado bajo el título <strong>de</strong>“Reg<strong>la</strong>s y consejos sobre <strong>la</strong> investigación biológica”[2], obra en <strong>la</strong> que se inspira este trabajo, y en<strong>la</strong> que se hacen abundantes consi<strong>de</strong>raciones sobre<strong>la</strong> investigación científica, <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s cualessiguen siendo aplicables más <strong>de</strong> 100 años <strong>de</strong>spués<strong>de</strong> haber sido escritas.En 1906 compartió con el científico italianoCamilo Golgi el premio Nobel <strong>de</strong> Medicina, porsus estudios sobre <strong>la</strong> estructura y composición <strong>de</strong>lsistema nervioso.2. Ataduras <strong>de</strong>l investigador novelAl comenzar <strong>la</strong> carrera investigadora el principiantese enfrenta a una serie <strong>de</strong> obstáculos:2.1. Ido<strong>la</strong>tría a los clásicosAunque el respeto excesivo a los trabajos <strong>de</strong> susantecesores se <strong>de</strong>be en general a una mezc<strong>la</strong> <strong>de</strong>humildad y reconocimiento legítimo a <strong>la</strong> obra <strong>de</strong>otros científicos, pue<strong>de</strong> llegar a ser un <strong>la</strong>stre insuperable,y a anu<strong>la</strong>r toda iniciativa y espíritu crítico.Dice D. Santiago:Defecto por <strong>de</strong>fecto, preferible es <strong>la</strong> arrogancia a<strong>la</strong>pocamiento: <strong>la</strong> osadía mi<strong>de</strong> sus fuerzas y vence óes vencida; pero <strong>la</strong> mo<strong>de</strong>stia excesiva huye <strong>de</strong> <strong>la</strong>batal<strong>la</strong> y se con<strong>de</strong>na á vergonzosa inacción.Siempre se <strong>de</strong>be mantener el espíritu críticoalerta. La lectura <strong>de</strong> cualquier autor, por famosoque sea, nos <strong>de</strong>be hacer cuestionar todo aquellosobre lo que exista alguna duda razonable.2.2 Agotamiento <strong>de</strong> <strong>la</strong> cienciaSe trata <strong>de</strong>l falso convencimiento <strong>de</strong> que ya noqueda nada por <strong>de</strong>scubrir. Si bien es cierto quehay épocas en <strong>la</strong> historia <strong>de</strong> <strong>la</strong> ciencia en <strong>la</strong>s que <strong>la</strong>coinci<strong>de</strong>ncia <strong>de</strong> factores propiciadores hace quetengan lugar numerosos avances científicos, encualquier otro momento, quedan siempre y en todas<strong>la</strong>s disciplinas pequeñas y gran<strong>de</strong>s cuestionesque resolver.


A<strong>de</strong>más, el calificar un problema científico <strong>de</strong>gran<strong>de</strong> o pequeño, es algo muy re<strong>la</strong>tivo. A menudo,una observación aparentemente trivial se conviertecon el tiempo en un concepto fundamental.Como nos recuerda D. Santiago:Perdido en un indigesto Tratado <strong>de</strong> Teología,Christianismi Restitutio [2], escribió Servet, comoal <strong>de</strong>sdén, tres líneas tocante á <strong>la</strong> circu<strong>la</strong>ción pulmonar,<strong>la</strong>s cuales constituyen hoy su principaltimbre <strong>de</strong> gloria.Es recomendable comenzar <strong>la</strong> andadura científicaabordando problemas más accesibles, <strong>de</strong>jandopara más a<strong>de</strong><strong>la</strong>nte los más complejos.2.3. Exaltación <strong>de</strong> <strong>la</strong> investigación prácticaA menudo, el investigador principiante sobrevalora<strong>la</strong> investigación aplicada frente a <strong>la</strong> básica sindarse cuenta <strong>de</strong> que los <strong>de</strong>scubrimientos científicossurgen frecuentemente como curiosida<strong>de</strong>s sinutilidad inmediata y es <strong>la</strong> combinación <strong>de</strong> varias<strong>de</strong> esas curiosida<strong>de</strong>s <strong>la</strong> que finalmente acaba teniendoaplicaciones industriales.La <strong>de</strong>scripción inicial <strong>de</strong> <strong>la</strong> cámara oscuraapenas tuvo repercusión, y <strong>la</strong> posibilidad <strong>de</strong> obtenerimágenes fotográficas sobre un papel bañadoen nitrato argéntico no <strong>de</strong>spertó apenas interés,porque <strong>la</strong> imagen no podía ser fijada. Pero en1839, Daguerre sentó <strong>la</strong>s bases <strong>de</strong> <strong>la</strong> fotografíaactual basándose en éstas y otras curiosida<strong>de</strong>scientíficas. De nuevo nos hab<strong>la</strong> D. Santiago:Poco importa que una verdad científica sea aprovechadapor nuestros hijos o por nuestros nietos.Medrada andaría <strong>la</strong> causa <strong>de</strong>l progreso si Galvani,si Volta, si Faraday, <strong>de</strong>scubridores <strong>de</strong> los hechosfundamentales <strong>de</strong> <strong>la</strong> ciencia <strong>de</strong> <strong>la</strong> electricidad, hubieranmenospreciado sus hal<strong>la</strong>zgos por carecerentonces <strong>de</strong> aplicación industrial.Esta cuestión está hoy día <strong>de</strong> rabiosa actualidad.Resulta muy difícil conseguir financiaciónpara una investigación sin <strong>de</strong>mostrar c<strong>la</strong>ramentepara qué sirve. En ocasiones no hay que <strong>de</strong>jarseguiar so<strong>la</strong>mente por <strong>la</strong> visión a corto p<strong>la</strong>zo, y pensarque con el tiempo, <strong>la</strong> investigación básica pue<strong>de</strong>llegar a ser rentable.2.4. Insuficiente autoestimaAunque es necesaria una cierta capacidad intelectualpara <strong>la</strong> investigación científica, no es necesariotener una inteligencia superdotada, pero sícualida<strong>de</strong>s como <strong>la</strong> paciencia, <strong>la</strong> minuciosidad o <strong>la</strong>tenacidad. Éstos rasgos <strong>de</strong>l carácter se pue<strong>de</strong>npotenciar con el trabajo y verse reforzados con <strong>la</strong>consecución <strong>de</strong> algún éxito científico. Hoy en día,<strong>la</strong> investigación es una <strong>la</strong>bor <strong>de</strong> equipo, y hacefalta contar con gente bril<strong>la</strong>nte y con gente metódica,con creativos y con minuciosos...Gran parte <strong>de</strong> <strong>la</strong>s capacida<strong>de</strong>s intelectuales yrasgos <strong>de</strong>l carácter pue<strong>de</strong>n tener cabida en unequipo <strong>de</strong> investigación. Lo que se consi<strong>de</strong>ra genio,no es muchas veces más que una mayor velocida<strong>de</strong>n <strong>la</strong> concepción <strong>de</strong> <strong>la</strong>s i<strong>de</strong>as y en <strong>la</strong> realización<strong>de</strong> los p<strong>la</strong>nes. Los entendimientos rápidospue<strong>de</strong>n ser necesarios en algunos campos como en<strong>la</strong> oratoria y el <strong>de</strong>bate político, pero en <strong>la</strong> actividadcientífica, como en el arte, los resultados sejuzgan por su valía, y no por el tiempo empleadoen producirlos.Por otro <strong>la</strong>do, <strong>la</strong> concentración <strong>de</strong>l esfuerzopue<strong>de</strong> suplir una cierta limitación en <strong>la</strong> capacidad.La afirmación <strong>de</strong> que el saber no ocupa lugar, esmuy discutible ya que los recursos son limitados,y el saber exige al menos <strong>de</strong> un cierto tiempo paraser adquirido. Opina D. Santiago queLa lista <strong>de</strong> los aptos para <strong>la</strong> <strong>la</strong>bor científica esmucho más <strong>la</strong>rga <strong>de</strong> lo que se cree, y se compone,no sólo <strong>de</strong> los talentos estudiosos, <strong>de</strong> los fáciles,<strong>de</strong> los gran<strong>de</strong>s ingenios codiciosos <strong>de</strong> reputacióny ansiosos <strong>de</strong> en<strong>la</strong>zar su nombre á una obra gran<strong>de</strong>,sino también <strong>de</strong> esos entendimientos mo<strong>de</strong>stos,conocidos con el dictado <strong>de</strong> mañosos, por <strong>la</strong>habilidad y tino con que realizan toda obra manual;<strong>de</strong> esos otros dotados <strong>de</strong> temperamento artísticoy que sienten con vehemencia <strong>la</strong> belleza <strong>de</strong><strong>la</strong>s obras <strong>de</strong> <strong>la</strong> naturaleza; en fin, <strong>de</strong> los meramentecuriosos, flemáticos, cachazudos, <strong>de</strong>votos<strong>de</strong> <strong>la</strong> religión <strong>de</strong> lo menudo y capaces <strong>de</strong> consagrar<strong>la</strong>rgas horas al examen <strong>de</strong>l más insignificantefenómeno natural.Si se tiene vocación, unas aptitu<strong>de</strong>s entro <strong>de</strong> lonormal, y <strong>la</strong> suficiente perseverancia, es posible<strong>de</strong>dicarse a <strong>la</strong> carrera científica.


3. Enfermeda<strong>de</strong>s <strong>de</strong> <strong>la</strong> voluntadDice D. Santiago, con cierta dureza, que aquelloscientíficos que teniendo <strong>la</strong> capacidad, <strong>la</strong> formacióny los medios para investigar, no llevan a caboobra significativa alguna, son enfermos <strong>de</strong> <strong>la</strong> voluntad:Todos hemos visto profesores superiormente dotados,<strong>de</strong>sbordantes <strong>de</strong> actividad y <strong>de</strong> cultura, enposesión <strong>de</strong> suficientes medios <strong>de</strong> trabajo, y quesin embargo no realizan obra personal ni escribencasi nunca. [...] dichos maestros son enfermos <strong>de</strong><strong>la</strong> voluntad [...] sus discípulos y amigos tienen el<strong>de</strong>recho <strong>de</strong> consi<strong>de</strong>rarlos como anormales, y <strong>de</strong>proponerles, con el respeto y dulzura <strong>de</strong>bidos, untratamiento espiritual a<strong>de</strong>cuado.Llevado por su afán taxonómico, D. Santiagoc<strong>la</strong>sifica a los enfermos <strong>de</strong> <strong>la</strong> voluntad en los siguientesgrupos:3.1. Contemp<strong>la</strong>dores o diletantesLes encanta admirar <strong>la</strong> estética <strong>de</strong> <strong>la</strong> naturaleza ycon un culto casi fetichista, acumu<strong>la</strong>n, dibujan,fotografían y examinan sus especímenes pero sinañadir nunca nada nuevo al conocimiento sobrelos mismos:Todos nuestros lectores recordarán tipos y varieda<strong>de</strong>sinteresantes <strong>de</strong> esta especie, tan simpáticapor su entusiasmo juvenil y verbo cálido y cautivador,como estéril para el progreso efectivo <strong>de</strong> <strong>la</strong>ciencia.3.2. Bibliófilos y políglotasLa erudición no tiene en sí misma mucho valor sino es <strong>la</strong> antesa<strong>la</strong> <strong>de</strong> una obra personal fecunda, y<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l avance <strong>de</strong> <strong>la</strong> ciencia,tiene más interés un nuevo libro para <strong>la</strong> biblioteca,que llevar<strong>la</strong> toda entera en <strong>la</strong> cabeza. Dice D.Santiago que:Los síntomas <strong>de</strong> esta dolencia son: ten<strong>de</strong>ncias enciclopedistas;dominio <strong>de</strong> muchos idiomas, algunostotalmente inútiles, abono exclusivo á Revistaspoco conocidas; acaparamiento <strong>de</strong> cuantos librosnovísimos aparecen en los escaparates <strong>de</strong> loslibreros; lectura asidua <strong>de</strong> lo que importa saber,pero sobre todo <strong>de</strong> lo que interesa á muy pocos;pereza invencible para escribir y <strong>de</strong>svío <strong>de</strong>l seminarioy <strong>de</strong>l <strong>la</strong>boratorio.3.3. MegalófilosEsta variedad morbosa se reconoce fácilmente porsu afán <strong>de</strong> dar <strong>de</strong>s<strong>de</strong> un principio con <strong>la</strong> piedra filosofal,con el gran <strong>de</strong>scubrimiento que cambie elcurso <strong>de</strong> <strong>la</strong> historia. No se dan cuenta <strong>de</strong> que hayque empezar por el principio, y poco a poco, marcarseobjetivos más ambiciosos, a medida queaumenta <strong>la</strong> experiencia y los medios disponibles.D. Santiago los <strong>de</strong>scribe diciendo que:... como por vía <strong>de</strong> mi<strong>la</strong>gro esperan estrenarse conuna hazaña prodigiosa. Recordando acaso queHerz, Mayer, Schwann, Röntgen, Curie, iniciaronsu vida científica con un gran <strong>de</strong>scubrimiento, aspiraná ascen<strong>de</strong>r, <strong>de</strong>s<strong>de</strong> el primer combate, <strong>de</strong> soldadosá generales...3.4. OrganófilosSon aquellos obsesionados con los útiles <strong>de</strong> trabajo.El medio se convierte en el fin, y se <strong>de</strong>dicana atesorar todo tipo <strong>de</strong> instrumentos, accesorios,bibliografía, pero sin utilizarlos nunca, no vaya aser que se estropeen, se pierdan o se <strong>de</strong>sgasten.Todos los materiales se guardan bajo l<strong>la</strong>ve, fuera<strong>de</strong>l alcance <strong>de</strong> investigadores fogosos que pudieranhacer un mal uso <strong>de</strong> los mismos. Se <strong>la</strong>mentaD. Santiago <strong>de</strong> que:De los organófilos empe<strong>de</strong>rnidos no pue<strong>de</strong> sacarsepartido. Es enfermedad casi incurable, sobretodo si va asociada, como ocurre con frecuencia, ácierto estado moral poco confesable: á <strong>la</strong> preocupaciónegoísta y antipática <strong>de</strong> impedir que otrostrabajen ya que ellos no saben o no quieren trabajar.3.5.DescentradosSon aquellos que han equivocado su vocación, yque <strong>de</strong>dican <strong>la</strong> mayor parte <strong>de</strong> su tiempo y sus esfuerzosa tareas que nada tienen que ver con supuesto en <strong>la</strong> sociedad. El trabajo lo ejercen siguiendo<strong>la</strong> ley <strong>de</strong>l mínimo esfuerzo, sin ilusión ycon el único fin <strong>de</strong> cobrar el sueldo consiguiendo<strong>de</strong> paso que otra persona más entregada no lo <strong>de</strong>sempeñe.D. Santiago hab<strong>la</strong> <strong>de</strong> generales nacidospara pacíficos burócratas, profesores <strong>de</strong> medicinaque cultivan <strong>la</strong> literatura o <strong>la</strong> arqueología, ingenierosescribiendo melodramas... Los <strong>de</strong>scentrados<strong>de</strong> cierta edad son casos irrecuperables pero losjóvenes, harían bien en cambiar a tiempo el rumbo


<strong>de</strong> su carrera, armonizando mejor su <strong>la</strong>bor diaria y<strong>la</strong>s inquietu<strong>de</strong>s <strong>de</strong> su espíritu.3.6. TeorizantesSon individuos capaces, con iniciativa e imaginaciónpero con un marcado rechazo a los hechosconcretos y al trabajo <strong>de</strong> <strong>la</strong>boratorio. Quieren tenervisiones globales <strong>de</strong> los temas, y prefieren ellibro al artículo especializado. Siempre se <strong>de</strong>cantanpor una teoría innovadora aunque inconsistente,frente a un mo<strong>de</strong>lo clásico pero sólido ycomprobado.Ante una cuestión científica sin resolver tien<strong>de</strong>nsiempre a e<strong>la</strong>borar una nueva teoría en lugar<strong>de</strong> aplicar el método experimental. Aunque <strong>la</strong>steorías en forma <strong>de</strong> hipótesis <strong>de</strong> trabajo son imprescindiblespara el avance científico, el abuso <strong>de</strong><strong>la</strong> ten<strong>de</strong>ncia teorizante no consigue hacer avanzar<strong>la</strong> ciencia. Las teorías, por sólidas que parezcaninicialmente, suelen ser periódicamente sustituidaspor otras teorías. Son los hechos y <strong>la</strong>s observacionesconcretas, una vez sistematizados y correctamenteinterpretados los que hacen avanzar <strong>la</strong> ciencia.D. Santiago no perdona cuando afirma que:En el fondo, el teorizante es un perezoso disfrazado<strong>de</strong> diligente. Sin percatarse <strong>de</strong> ello, obe<strong>de</strong>ce a<strong>la</strong> ley <strong>de</strong>l mínimo esfuerzo. Porque es más fácilforjar una teoría que <strong>de</strong>scubrir un fenómeno.trabajo exige una formación general (método experimental,estadística, técnicas <strong>de</strong> búsqueda <strong>de</strong>información...) y específica (<strong>la</strong> propia <strong>de</strong> cada área<strong>de</strong> conocimiento) que nunca se termina <strong>de</strong> adquirir:es una formación continua. En <strong>la</strong> universidadtenemos una posición <strong>de</strong> privilegio, que <strong>de</strong>beríamosaprovechar mejor, para disfrutar <strong>de</strong> una formaciónpermanente.La complejidad <strong>de</strong> algunos proyectos <strong>de</strong> investigacióny <strong>la</strong>s condiciones que para su financiaciónimponen <strong>de</strong>terminadas instituciones exigen<strong>la</strong> cooperación <strong>de</strong> numerosos investigadores<strong>de</strong> distintos grupos y países. Hay que alcanzar unamasa crítica. Aunque <strong>la</strong> comunidad académica hafomentado tradicionalmente los contactos e intercambiosentre sus miembros, es fundamental quemejoremos nuestras capacida<strong>de</strong>s <strong>de</strong> comunicación,organización y gestión, encontrando <strong>de</strong> verdad<strong>la</strong>s sinergias que el trabajo en grupo posibilita.Pero en mi opinión, el elemento fundamental<strong>de</strong> <strong>la</strong> investigación es <strong>la</strong> motivación. Un profesoruniversitario pue<strong>de</strong> tener objetivos muy diversoscuando investiga y publica: estabilidad <strong>la</strong>boral,mejora <strong>de</strong>l sa<strong>la</strong>rio, hacer curriculum, reconocimientosocial, ascenso profesional... Aunque éstasy otras sean metas lícitas, creo que <strong>la</strong> motivaciónprincipal para investigar ha <strong>de</strong> ser <strong>la</strong> curiosidadpor <strong>de</strong>scubrir el porqué <strong>de</strong> <strong>la</strong>s cosas, y para publicar,el afán lógico <strong>de</strong> contar a los <strong>de</strong>más lo que seha <strong>de</strong>scubierto.4. Investigación y docenciaPor lúcidas y acertadas que sean <strong>la</strong>s observaciones<strong>de</strong> D. Santiago, ¿qué aplicación tienen hoy día ennuestra universidad? ¿Po<strong>de</strong>mos compatibilizardocencia universitaria e investigación en informática?De entre <strong>la</strong>s carencias que a menudo se citanpara justificar una pobre actividad investigadora<strong>de</strong>stacan <strong>la</strong> falta <strong>de</strong> tiempo, <strong>la</strong> falta <strong>de</strong> medios, <strong>la</strong>falta <strong>de</strong> apoyo institucional... Pero, ¿qué es enrealidad lo que necesitamos para investigar?Indudablemente, hacen falta medios materiales,pero creo que éste es el factor menos <strong>de</strong>cisivo.Muchos <strong>de</strong> los ilustres científicos que nos hanprecedido son ejemplos <strong>de</strong>l principio <strong>de</strong> economía<strong>de</strong> medios: sacar el máximo partido a un mínimo<strong>de</strong> recursos.Más importante es el método, el saber cómohacer <strong>la</strong>s cosas. Tener una buena metodología <strong>de</strong>5. ConclusiónLa <strong>de</strong>scripción <strong>de</strong> estas ataduras y enfermeda<strong>de</strong>s<strong>de</strong> <strong>la</strong> voluntad <strong>de</strong> los investigadores, dictadas conironía y c<strong>la</strong>rivi<strong>de</strong>ncia por D. Santiago <strong>de</strong>s<strong>de</strong> sutumba, preten<strong>de</strong> ser un espejo, a veces <strong>de</strong>scarnado,en el que nos miremos y hagamos examen <strong>de</strong>conciencia los docentes universitarios.En todo caso pue<strong>de</strong>n servir como base parauna reflexión crítica en <strong>la</strong> que cada uno intenterespon<strong>de</strong>rse a <strong>la</strong> pregunta: ¿porqué no hago másinvestigación y <strong>de</strong> mayor calidad? Hoy como ayersi <strong>de</strong>tectamos alguna <strong>de</strong> estas patologías en nuestroánimo, quizá <strong>de</strong>bamos recetarnos una estanciaen algún centro <strong>de</strong> investigación <strong>de</strong> auténticoprestigio:El <strong>la</strong>boratorio <strong>de</strong>l sabio es un sanatorio incomparablepara los extravíos <strong>de</strong> <strong>la</strong> atención y los <strong>de</strong>s-


mayos <strong>de</strong> <strong>la</strong> voluntad. En él se <strong>de</strong>svanecen viejosprejuicios y se contraen sublimes contagios. Allí,al <strong>la</strong>do <strong>de</strong> un sabio <strong>la</strong>borioso y genial, recibiránuestro abúlico el bautismo <strong>de</strong> sangre <strong>de</strong> <strong>la</strong> investigación;allí contemp<strong>la</strong>rá con envidia una ardienteemu<strong>la</strong>ción por arrancar secretos á lo <strong>de</strong>sconocido;allí respirará el <strong>de</strong>sdén sistemático hacia<strong>la</strong>s vanas teorías y los discursos retóricos; allí, enfin –en extrañas tierras- sentirá renacer el santopatriotismo. Y, cuando <strong>la</strong>nzado en el camino <strong>de</strong>ltrabajo personal cuente en su haber algunos estimables<strong>de</strong>scubrimientos, <strong>de</strong> regreso al país natal,medirá mejor sus admiraciones y mirará con <strong>de</strong>sdén,casi con lástima, á sus antiguos ídolos.Quizá <strong>de</strong>bamos volver a <strong>la</strong> motivación genuinaque toda investigación <strong>de</strong>be tener, que no esotra que <strong>la</strong> curiosidad infantil <strong>de</strong> querer averiguarel porqué <strong>de</strong> <strong>la</strong>s cosas. Si lo <strong>de</strong>scubrimos, lógicamentese lo queremos contar a aquellos que estáninteresados en los mismos asuntos que nosotros, yéste <strong>de</strong>be ser el motivo <strong>de</strong> toda publicación. Si nos<strong>de</strong>jamos guiar por otros intereses más mundanos,nos estaremos alejando <strong>de</strong> <strong>la</strong> esencia <strong>de</strong> <strong>la</strong> investigación.Referencias[1] Enciclopedia Espasa, Tomo 49, p. 568, EditorialEspasa Calpe S.A., 1923.[2] Santiago Ramón y Cajal. Reg<strong>la</strong>s y consejossobre investigación biológica. Imprenta y librería<strong>de</strong> Nicolás Moya, 3ª Edición, 1913.[3] Miguel Servet. Christianismi Restitutio. Fundación<strong>Universitaria</strong> Españo<strong>la</strong>, 1980.


Demostraciones


Un conjunto <strong>de</strong> herramientas didácticas sencil<strong>la</strong>s para un cursointroductorio sobre mo<strong>de</strong><strong>la</strong>do y evaluación <strong>de</strong> computadoresXavier Molero, Vicente SantonjaDepartament d’Informàtica <strong>de</strong> Sistemes i ComputadorsUniversitat Politécnica <strong>de</strong> ValènciaCamí <strong>de</strong> Vera, s/n. 46022 Valènciae-mail: {xmolero|visan}@disca.upv.esResumenEl presente artículo <strong>de</strong>scribe <strong>de</strong> manera concisa unconjunto <strong>de</strong> pequeñas herramientas didácticasimplementadas mediante programas <strong>de</strong> fácil uso.Estos programas tratan sobre diversos aspectos <strong>de</strong>carácter básico en materias sobre mo<strong>de</strong><strong>la</strong>do yevaluación <strong>de</strong> sistemas informáticos. El principalobjetivo perseguido con el diseño <strong>de</strong> <strong>la</strong>sherramientas expuestas en este trabajo es que seanfácilmente utilizables por los alumnos que cursanasignaturas re<strong>la</strong>cionadas con esta temática.1. IntroducciónLa evaluación <strong>de</strong> prestaciones o rendimiento(performance) <strong>de</strong> los computadores tiene una graninfluencia en el diseño, <strong>de</strong>sarrollo, configuracióny sintonización <strong>de</strong> los sistemas informáticos. Elmarco que actualmente ofrece el p<strong>la</strong>n <strong>de</strong> estudios<strong>de</strong> nuestra Escue<strong>la</strong> <strong>Universitaria</strong> <strong>de</strong> Informáticapara el tratamiento <strong>de</strong> <strong>la</strong> temática re<strong>la</strong>cionada con<strong>la</strong> evaluación <strong>de</strong> prestaciones viene representadopor <strong>la</strong> asignatura Evaluación <strong>de</strong> SistemasInformáticos (ESI).La asignatura ESI tiene carácter optativo y seimparte en el primer cuatrimestre <strong>de</strong>l tercer curso.La distribución <strong>de</strong> créditos es <strong>de</strong> 3 para <strong>la</strong>ssesiones <strong>de</strong> teoría y 3 para <strong>la</strong>s <strong>de</strong> <strong>la</strong>boratorio, loque le confiere un aspecto muy práctico. La parteteórica se trata en cuatro temas:• Introducción a <strong>la</strong> evaluación <strong>de</strong>l rendimiento• Monitorización <strong>de</strong> sistemas informáticos• Comparación <strong>de</strong>l rendimiento <strong>de</strong> sistemas:referenciación (benchmarking)• Técnicas analíticas: análisis operacional.Detección <strong>de</strong> cuellos <strong>de</strong> botel<strong>la</strong>Las sesiones <strong>de</strong> <strong>la</strong>boratorio inci<strong>de</strong>n en losaspectos más prácticos <strong>de</strong> <strong>la</strong> parte teórica: análisis<strong>de</strong> <strong>la</strong> configuración <strong>de</strong> un computador mediante elprograma Sandra [6], herramientas básicas <strong>de</strong>monitorización <strong>de</strong> sistemas Unix [4,7], resumen ycomparación <strong>de</strong> rendimientos [2,3], diseño <strong>de</strong>programas <strong>de</strong> prueba (benchmarks) [2,4] ymo<strong>de</strong><strong>la</strong>do mediante re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s <strong>de</strong> espera [1,2]con el lenguaje <strong>de</strong> especificación <strong>de</strong> mo<strong>de</strong>losQNAP2 [5].2. La necesidad <strong>de</strong> herramientas prácticasDentro <strong>de</strong>l apartado práctico expuesto en el puntoanterior, y tras una di<strong>la</strong>tada experiencia en <strong>la</strong>impartición <strong>de</strong> <strong>la</strong> asignatura ESI, se ha puesto <strong>de</strong>manifiesto <strong>la</strong> gran utilidad <strong>de</strong> disponer <strong>de</strong> unconjunto reducido <strong>de</strong> pequeñas herramientas con<strong>la</strong>s cuales el alumno pueda aplicar algunas <strong>de</strong> <strong>la</strong>stécnicas más usuales que aparecen en el campo <strong>de</strong><strong>la</strong> evaluación <strong>de</strong> prestaciones.El hecho más importante no es que estasherramientas tengan una interfaz visual <strong>de</strong>stacada,sino que lo realmente interesante es po<strong>de</strong>r resolverpequeños problemas mediante herramientasdiseñadas ad hoc y que sean fácilmente portables<strong>de</strong> una p<strong>la</strong>taforma a otra. Ello ha hecho que seescoja C (en su versión ANSI) como lenguaje <strong>de</strong>implementación, y que los parámetros seespecifiquen en <strong>la</strong> línea <strong>de</strong> ór<strong>de</strong>nes <strong>de</strong>l sistemaoperativo. Por otro <strong>la</strong>do, se ha incluido una


pequeña ayuda <strong>de</strong> manejo <strong>de</strong> cada herramienta, <strong>la</strong>cual se pue<strong>de</strong> obtener sin más que ejecutar elprograma sin ningún parámetro.3. Breve <strong>de</strong>scripción <strong>de</strong> <strong>la</strong>s herramientasA continuación se presenta brevemente unconjunto <strong>de</strong> cuatro programas <strong>de</strong> manejo muysencillo para su aplicación en algunos <strong>de</strong> lostemas básicos <strong>de</strong> <strong>la</strong> evaluación <strong>de</strong> los sistemasinformáticos.Herramienta amdahl. Calcu<strong>la</strong>, empleando <strong>la</strong> ley<strong>de</strong> Amdahl [3], <strong>la</strong> aceleración global <strong>de</strong> un sistema(speedup) <strong>de</strong>spués <strong>de</strong> sustituir un componente <strong>de</strong>lmismo por uno k veces más rápido, el cual seutiliza durante una fracción <strong>de</strong> tiempo f. Estaaceleración se calcu<strong>la</strong> mediante <strong>la</strong> fórmu<strong>la</strong>:1A =1−f +Asimismo, también se calcu<strong>la</strong>, utilizando <strong>la</strong>misma expresión, el aumento <strong>de</strong>l coste <strong>de</strong>l sistemaa partir <strong>de</strong>l coste total C <strong>de</strong>l mismo, el <strong>de</strong>lcomponente que se reemp<strong>la</strong>za Cr y el <strong>de</strong>lcomponente nuevo Cn. La Figura 1 muestra unejemplo sencillo <strong>de</strong> uso don<strong>de</strong> se pue<strong>de</strong> ver elvalor que toma cada parámetro <strong>de</strong> entrada alprograma.amdahl f k C Cr Cnamdahl 0.8 3 150000 56000 90000fkAceleración <strong>de</strong>l sistema: 2.14Incremento <strong>de</strong>l coste: 1.23Figura 1: Ejemplo <strong>de</strong> uso <strong>de</strong>lprograma amdahlHerramienta zerotest. Esta herramienta resultamuy útil para comparar el rendimiento <strong>de</strong> doscomputadores [2,3]. Dados un total <strong>de</strong> nprogramas <strong>de</strong> prueba, este programa analiza lostiempos <strong>de</strong> ejecución <strong>de</strong> dichos programas en doscomputadores, y calcu<strong>la</strong> <strong>la</strong> significaciónestadística <strong>de</strong> <strong>la</strong>s diferencias observadas. Si elintervalo <strong>de</strong> confianza calcu<strong>la</strong>do con un nivel <strong>de</strong>confianza <strong>de</strong>l 95% para estas diferencias incluyeel cero entonces no hay una diferenciasignificativa <strong>de</strong> rendimientos. Un ejemplo <strong>de</strong>aplicación <strong>de</strong> esta herramienta para el caso <strong>de</strong> 4programas <strong>de</strong> prueba se muestra en <strong>la</strong> Figura 2.zerotest n x1 x2 x3 x4 y1 y2 y3 y4zerotest 4 23.3 11.8 14.8 87.2 26.9 14.1 13.7 98.6Media aritmética diferencias: -4.05Desviacion típica diferencias: 5.29Intervalo <strong>de</strong> confianza diferencias: [-12.46,4.36]Análisis: no hay diferencias significativasFigura 2: Ejemplo <strong>de</strong> uso <strong>de</strong>lprograma zerotestHerramienta merrill. Esta herramienta calcu<strong>la</strong>el índice <strong>de</strong> Merrill <strong>de</strong> un gráfico <strong>de</strong> Kiviatt [2].La forma <strong>de</strong> este tipo <strong>de</strong> gráficos es <strong>la</strong> <strong>de</strong> unpolígono don<strong>de</strong> <strong>la</strong> longitud <strong>de</strong> sus <strong>la</strong>dos está<strong>de</strong>terminado por el valor <strong>de</strong> 8 índices x i <strong>de</strong>rendimiento, <strong>la</strong> mitad buenos y <strong>la</strong> otra mitadmalos, dispuestos alternativamente. Los índicespue<strong>de</strong>n representar <strong>la</strong> utilización <strong>de</strong> <strong>de</strong>terminadoscomponentes <strong>de</strong>l sistema (como procesador,entrada/salida, red, etcétera). El índice <strong>de</strong> Merrillvaría entre 0 y 100 y se calcu<strong>la</strong> según <strong>la</strong> fórmu<strong>la</strong>:Q =12nn∑i=1( x2 i−1+ x2i+1)(100− x2i)Cuanto mayor sea el valor <strong>de</strong> este índice Qmejor será el rendimiento <strong>de</strong>l sistemainformático, ya que el gráfico <strong>de</strong> Kiviatt asociadose parecerá más a una estrel<strong>la</strong>. Para comparar elrendimiento <strong>de</strong> dos computadores basta compararsus índices <strong>de</strong> Merrill teniendo en cuenta que sóloes significativa <strong>la</strong> parte entera <strong>de</strong> este índice. LaFigura 3 muestra un ejemplo <strong>de</strong> resolución.merrillx1 x2 x3 x4 x5 x6 x7 x8merrill 100 60 40 0 40 0 40 60Cuantificación <strong>de</strong> Merrill (0..100): 58.31Figura 3: Ejemplo <strong>de</strong> uso <strong>de</strong>lprograma merrill


Herramienta solvenet. Esta herramienta es,con mucho, <strong>la</strong> más compleja <strong>de</strong> todas <strong>la</strong>spresentadas hasta ahora. El objetivo fundamentales resolver mo<strong>de</strong>los sencillos <strong>de</strong> re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s <strong>de</strong>espera [1,2] mediante <strong>la</strong> aplicación <strong>de</strong>l algoritmo<strong>de</strong>l valor medio o los algoritmos para re<strong>de</strong>s <strong>de</strong>co<strong>la</strong>s abiertas. La herramienta está pensada comoalternativa al programa QNAP2 en los casos <strong>de</strong>re<strong>de</strong>s más simples. Para facilitar <strong>la</strong> lectura <strong>de</strong>resultados se ha optado por utilizar también unainterfaz simi<strong>la</strong>r a <strong>la</strong> empleada por QNAP2,a<strong>de</strong>más <strong>de</strong> aportar información adicional sobrecuellos <strong>de</strong> botel<strong>la</strong> y asíntotas <strong>de</strong>l rendimiento queresultan muy útiles para el análisis <strong>de</strong> <strong>la</strong>sprestaciones <strong>de</strong>l sistema. La Figura 4 muestracómo se especifican los parámetros <strong>de</strong> entrada.solvenet [0|1] [<strong>la</strong>mbda| N Z] tcpu nio Sio1 Vio1...Sion Vionred: 0 (abierta) 1 (cerrada)<strong>la</strong>mbda: tasa <strong>de</strong> llegada(sólo para re<strong>de</strong>s abiertas)N: número <strong>de</strong> trabajos (sólo para re<strong>de</strong>s cerradas)Z: tiempo <strong>de</strong> reflexión(sólo para re<strong>de</strong>s cerradas)tcpu: tiempo <strong>de</strong> servicio <strong>de</strong> <strong>la</strong> CPUnio: número <strong>de</strong> dispositivos <strong>de</strong> I/OSio: tiempo <strong>de</strong> servicio <strong>de</strong>l dispositivo <strong>de</strong> I/O nº iVio: razón <strong>de</strong> visita o probabilidad <strong>de</strong> encaminamiento<strong>de</strong>l dispositivo <strong>de</strong> I/O nº iFigura 4: Parámetros <strong>de</strong> entrada al programasolvenetPara ilustrar el funcionamiento <strong>de</strong> esteprograma, se ha consi<strong>de</strong>rado <strong>la</strong> red <strong>de</strong> co<strong>la</strong>smostrada en <strong>la</strong> Figura 5. En esta figura también seespecifican los valores <strong>de</strong> los tiempos <strong>de</strong> servicioS i <strong>de</strong> <strong>la</strong>s estaciones así como <strong>la</strong> razón <strong>de</strong> visita V i .CPUsiguiente. Como se pue<strong>de</strong> apreciar, el programaaporta tanto información referida a cada estación<strong>de</strong> servicio <strong>de</strong>l mo<strong>de</strong>lo como <strong>de</strong>l sistema en suconjunto. La información <strong>de</strong> cada estación,expresada en valores medios, incluye <strong>la</strong>utilización, el número <strong>de</strong> clientes en toda <strong>la</strong>estación así como en <strong>la</strong> co<strong>la</strong> <strong>de</strong> espera, el tiempo<strong>de</strong> respuesta, <strong>la</strong> productividad y <strong>la</strong> <strong>de</strong>manda <strong>de</strong>servicio.En cuanto a <strong>la</strong> información referida al sistemainformático completo, el programa calcu<strong>la</strong>, adiferencia <strong>de</strong>l programa QNAP2 que sólo dainformación por estación <strong>de</strong> servicio, el número<strong>de</strong> trabajos en el sistema central y en reflexión, eltiempo <strong>de</strong> respuesta y su valor mínimo, <strong>la</strong>productividad y su valor máximo. Por otro <strong>la</strong>do,también indica los límites asintóticos optimistas<strong>de</strong> <strong>la</strong> productividad y <strong>de</strong>l tiempo <strong>de</strong> respuesta <strong>de</strong>lsistema en función <strong>de</strong>l número <strong>de</strong> trabajos.4. ConclusiónEn este trabajo se ha presentado un conjunto <strong>de</strong>herramientas sencil<strong>la</strong>s diseñadas ad hoc y<strong>de</strong>stinadas fundamentalmente a ser utilizadas enun curso básico <strong>de</strong> mo<strong>de</strong><strong>la</strong>do y evaluación <strong>de</strong>computadores.El hecho <strong>de</strong> estar diseñadas en lenguaje C ydisponer <strong>de</strong> parámetros indicados en <strong>la</strong> línea <strong>de</strong>ór<strong>de</strong>nes permiten que los alumnos puedanutilizar<strong>la</strong>s fácilmente. En <strong>la</strong> actualidad se estátrabajando en otra serie <strong>de</strong> herramientasadicionales para tratar aspectos re<strong>la</strong>cionados con<strong>la</strong> monitorización <strong>de</strong> sistemas Unix.ReferenciasZ = 25N = 15S CPU = 0.05, V CPU = 31S D1 = 0.03, V D1 = 20S D2 = 0.05, V D2 = 10DISCOSFigura 5: Ejemplo <strong>de</strong> red <strong>de</strong> co<strong>la</strong>s cerradaLa información aportada por el programasolvenet se refleja en <strong>la</strong> Figura 6 <strong>de</strong> <strong>la</strong> página[1] J. Cady and B. Howarth. Computer systemsperformance, management and capacity p<strong>la</strong>nning.Prentice may, 1990.[2] R. Jain. The art of computer systemperformance analysis. Techniques forexperimental <strong>de</strong>sign, measurement, simu<strong>la</strong>tionand mo<strong>de</strong>ling. John Wiley & Sons, 1991.[3] D.J. Lilja. Measuring computer performance.A practitioner's gui<strong>de</strong>. Cambridge UniversityPress, 2000.


[4] M. Louki<strong>de</strong>s. System performance tuning.O'Reilly & Associates, Inc., 1992[5] QNAP2. Reference manual (Tomes I and II).Simulog, 1996.[6] Sandra: The System ANalyser, Diagnostic andReporting Assistant program. Versión <strong>de</strong> usogratuito disponible en <strong>la</strong> dirección webwww.sisoftware.co.uk/sandra[7] Varios autores. Unix performance tuning.R&D Books, 1997.QUEUEING NETWORK: CLOSEDMean Value Analysis Algorithm********************************************************* NAME * UTIL * CUST NB * RESPONSE * THRUPUT ********************************************************** * * * * ** CPU * 0.7534* 2.1342* 0.1416* 15.0687** * * * * ** I/O 1 * 0.2917* 0.3996* 0.0411* 9.7217** * * * * ** I/O 2 * 0.2430* 0.3141* 0.0646* 4.8609** * * * * ****************************************************************************************************************** NAME * VISIT * SERVICE * DEMAND * CUST NQ ********************************************************** * * * * ** CPU * 31.0000* 0.0500* 1.5500* 1.3808** * * * * ** I/O 1 * 20.0000* 0.0300* 0.6000* 0.1079** * * * * ** I/O 2 * 10.0000* 0.0500* 0.5000* 0.0710** * * * * ********************************************************************************************** SYSTEM VARIABLES ************************************** * ** WORKING CUSTOMERS * 2.8479** THINKING CUSTOMERS * 12.1521** ALL CUSTOMERS * 15** SATURATION POINT * 18** * ** RESPONSE TIME * 5.8588** MINIMUM RESPONSE TIME * 2.6500** * ** THROUGHPUT * 0.4861** MAXIMUM THROUGHPUT * 0.6452** * *************************************Figura 6. Resultados generados por el programa solvenet para elcaso <strong>de</strong> red <strong>de</strong> co<strong>la</strong>s <strong>de</strong> <strong>la</strong> Figura 5.


Una aplicación didáctica para el diseño y simu<strong>la</strong>ción <strong>de</strong>re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>sVicente Santonja, Xavier Molero, Miguel CaballerDepartament d'Informàtica <strong>de</strong> Sistemes i ComputadorsUniversitat Politècnica <strong>de</strong> ValènciaCamí <strong>de</strong> Vera, s/n. 46022 Valènciae-mail: {visan | xmolero}@disca.upv.esResumenEl programa WinNet 3.0 es una herramienta didácticapara el diseño <strong>de</strong> re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s y su simu<strong>la</strong>ción.Permite diseñar <strong>de</strong> una forma sencil<strong>la</strong> yrápida re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s cerradas, abiertas y mixtas;monoc<strong>la</strong>se o multic<strong>la</strong>se. La red diseñada pue<strong>de</strong>ser analizada mediante simu<strong>la</strong>ción. Tambiénpermite traducir el diseño gráfico al lenguaje <strong>de</strong>especificación <strong>de</strong> mo<strong>de</strong>los QNAP2. De esta formaWinNet pue<strong>de</strong> utilizarse como entrada gráficapara QNAP2, el cual implementa múltiples algoritmos<strong>de</strong> resolución analítica <strong>de</strong> re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s,así como potentes mecanismos <strong>de</strong> simu<strong>la</strong>ción.1. IntroducciónLas asignaturas re<strong>la</strong>cionadas con <strong>la</strong> evaluación <strong>de</strong>prestaciones <strong>de</strong> los sistemas informáticos tienenen <strong>la</strong> teoría <strong>de</strong> co<strong>la</strong>s una <strong>de</strong> sus herramientasfundamentales. El funcionamiento <strong>de</strong> diversossistemas informáticos <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>sus prestaciones pue<strong>de</strong> ser mo<strong>de</strong><strong>la</strong>do a<strong>de</strong>cuadamentemediante re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s abiertas, cerrada omixtas [1]. Existen diversos algoritmos que permitenresolver analíticamente estos mo<strong>de</strong>los [2]. Esmás, cuando <strong>la</strong> red no tiene solución analítica, estatécnica <strong>de</strong> mo<strong>de</strong><strong>la</strong>do pue<strong>de</strong> servir <strong>de</strong> base para <strong>la</strong>construcción <strong>de</strong> mo<strong>de</strong>los <strong>de</strong> simu<strong>la</strong>ción. Sinembargo, <strong>la</strong> especificación <strong>de</strong> una red <strong>de</strong> co<strong>la</strong>s esun proceso complejo, ya que <strong>de</strong>ben <strong>de</strong>finirsemúltiples variables <strong>de</strong> entrada: caracterización <strong>de</strong>lproceso <strong>de</strong> llegadas, distribución <strong>de</strong> los tiempos<strong>de</strong> servicio, probabilida<strong>de</strong>s <strong>de</strong> encaminamiento,políticas <strong>de</strong> p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong>s co<strong>la</strong>s, etc. Parafacilitar esta parte <strong>de</strong>l proceso <strong>de</strong> mo<strong>de</strong><strong>la</strong>do se ha<strong>de</strong>sarrol<strong>la</strong>do <strong>la</strong> herramienta WinNet que funcionabajo el entorno Windows. Mediante una sencil<strong>la</strong>interfaz gráfica, el usuario dibuja <strong>la</strong> red <strong>de</strong> co<strong>la</strong>s y,posteriormente, <strong>de</strong> forma asistida, va introduciendolos parámetros <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s estaciones.A partir <strong>de</strong> este diseño, WinNet permite obteneruna <strong>de</strong>scripción <strong>de</strong>l mo<strong>de</strong>lo en el formato QNAP2[3]. Posteriormente pue<strong>de</strong> utilizarse QNAP2 para<strong>la</strong> resolución analítica o <strong>la</strong> simu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> red <strong>de</strong>co<strong>la</strong>s. Con el fin <strong>de</strong> hacer <strong>de</strong> WinNet una herramientamás útil <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista educativo,el programa incorpora un simu<strong>la</strong>dor con el cual sepue<strong>de</strong> obtener índices <strong>de</strong> prestaciones <strong>de</strong> unaforma rápida. De esta forma los alumnos pue<strong>de</strong>nevaluar el impacto sobre <strong>la</strong> prestaciones <strong>de</strong> diversasalternativas <strong>de</strong> diseño o ajustes sobre <strong>la</strong> configuración<strong>de</strong> un sistema.2. Descripción <strong>de</strong>l programaLa Figura 1 muestra <strong>la</strong>s partes principales quecomponen el entorno gráfico <strong>de</strong> WinNet 3.0Mediante <strong>la</strong> barra <strong>de</strong> herramientas se acce<strong>de</strong>fácilmente a <strong>la</strong>s tareas más comunes <strong>de</strong> <strong>la</strong> aplicación:crear un nuevo documento, imprimir eldocumento actual, dibujar una estación <strong>de</strong> servicio,interconectar dos estaciones, aumentar odisminuir el nivel <strong>de</strong> zoom, etc.La barra <strong>de</strong> estado aparece en <strong>la</strong> parte inferior<strong>de</strong> <strong>la</strong> ventana <strong>de</strong> WinNet. En el<strong>la</strong> se <strong>de</strong>scriben <strong>la</strong>sacciones que realizan los elementos <strong>de</strong> menúmientras se usan <strong>la</strong>s tec<strong>la</strong>s <strong>de</strong> flecha para <strong>de</strong>sp<strong>la</strong>zarsepor los menús.El área <strong>de</strong> dibujo es don<strong>de</strong> se representa gráficamente<strong>la</strong> red <strong>de</strong> co<strong>la</strong>s. WinNet es una aplicaciónmultidocumento, es <strong>de</strong>cir, permite tener abiertos


Área <strong>de</strong> DibujoBarra <strong>de</strong> HerramientasBarra <strong>de</strong> Estadovarios documentos a <strong>la</strong> vez, y trabajar con ellos <strong>de</strong>forma in<strong>de</strong>pendiente.3. Tipos <strong>de</strong> estacionesFigura 1: Aspecto general <strong>de</strong> <strong>la</strong> aplicación WinnetLa red <strong>de</strong> co<strong>la</strong>s estará formada por un conjunto <strong>de</strong>estaciones elegidas <strong>de</strong> entre los tipos siguientes:• Servidor simple: Es una estación <strong>de</strong> serviciocon un único servidor. Las estaciones <strong>de</strong> estetipo requieren diversos parámetros. A continuaciónse mencionan los más importantes.La política <strong>de</strong> p<strong>la</strong>nificación indica cómo seelige el siguiente cliente que entrará en elservidor <strong>de</strong> entre los que están esperando enco<strong>la</strong>, cuando el servidor queda libre. Pue<strong>de</strong>ser una <strong>de</strong> <strong>la</strong>s siguientes: FIFO, LIFO, PS,QUANTUM o PRIOR. Para cada c<strong>la</strong>se <strong>de</strong>trabajos que atien<strong>de</strong> esta estación se especificael número inicial <strong>de</strong> clientes en <strong>la</strong> estacióny <strong>la</strong> distribución <strong>de</strong>l tiempo <strong>de</strong> servicio. Laaplicación ofrece <strong>la</strong> posibilidad <strong>de</strong> elegir entreseis distribuciones diferentes: exponencial,hiperexponencial, Er<strong>la</strong>ng, <strong>de</strong>terminista,uniforme entera y uniforme real. Dependiendo<strong>de</strong> <strong>la</strong> distribución elegida, <strong>la</strong> <strong>de</strong>finición<strong>de</strong>l tiempo <strong>de</strong> servicio <strong>de</strong>berá completarseespecificando uno o dos parámetros adicionales(por ejemplo, valor medio y coeficiente<strong>de</strong> variación). Para cada c<strong>la</strong>se se <strong>de</strong>be indicar,a<strong>de</strong>más, <strong>la</strong>s probabilida<strong>de</strong>s <strong>de</strong> encaminamientoque indican <strong>la</strong>s rutas que siguen losclientes <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> red. Para que, en todomomento, <strong>la</strong> información <strong>de</strong> encaminamientosea compatible con <strong>la</strong> topología <strong>de</strong> <strong>la</strong> red dibujada,sólo se permitirá utilizar como estaciones<strong>de</strong>stino aquél<strong>la</strong>s con <strong>la</strong>s que <strong>la</strong> estaciónactual está en<strong>la</strong>zada.• Servidor múltiple. Mo<strong>de</strong><strong>la</strong> un recurso <strong>de</strong>l cualexisten múltiples copias idénticas. Requierelos mismos parámetros que el anterior más elnúmero <strong>de</strong> servidores.• Servidor infinito. Mo<strong>de</strong><strong>la</strong> un recurso <strong>de</strong>l cualexisten suficientes copias para que nunca seformen co<strong>la</strong>s <strong>de</strong> clientes en espera <strong>de</strong> utilizarlo,o bien, un recurso que por sus características,pue<strong>de</strong> ser compartido simultáneamentepor un número ilimitado <strong>de</strong> clientes. Este tipo<strong>de</strong> estaciones también recibe el nombre <strong>de</strong>estación tipo retardo. Requiere los mismosparámetros que un servidor simple, salvo queen este caso <strong>la</strong> política <strong>de</strong> p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong>co<strong>la</strong> no es aplicable.• Fuente. Mo<strong>de</strong><strong>la</strong> un punto <strong>de</strong> entrada <strong>de</strong> clientesen <strong>la</strong> red <strong>de</strong> co<strong>la</strong>s. Sólo hay que especificar<strong>la</strong> distribución <strong>de</strong>l tiempo entre llegadas y<strong>la</strong>s probabilida<strong>de</strong>s <strong>de</strong> encaminamiento.• Sumi<strong>de</strong>ro. Mo<strong>de</strong><strong>la</strong> un punto <strong>de</strong> salida <strong>la</strong> red <strong>de</strong>co<strong>la</strong>s.• Recurso. Junto con los semáforos, permitemo<strong>de</strong><strong>la</strong>r <strong>la</strong> compartición simultánea <strong>de</strong> recursos.También se usa para mo<strong>de</strong><strong>la</strong>r <strong>la</strong> exclusiónmutua. Debe indicarse el número <strong>de</strong> copias<strong>de</strong>l recurso disponibles.• Semáforos. Mo<strong>de</strong><strong>la</strong>n <strong>la</strong> solicitud y liberación<strong>de</strong> los recursos mo<strong>de</strong><strong>la</strong>dos según <strong>la</strong> estructuraanterior.


4. Diseño <strong>de</strong> una red sencil<strong>la</strong>Como ejemplo <strong>de</strong>l uso <strong>de</strong> WinNet, en esta secciónmostraremos <strong>la</strong> secuencia <strong>de</strong> pasos a seguir paracrear una red sencil<strong>la</strong>. Se trata <strong>de</strong> una red cerradamonoc<strong>la</strong>se formada por cuatro estaciones: losterminales, <strong>la</strong> CPU, y dos discos. El resultadofinal que obtendremos es el que se muestra en <strong>la</strong>Figura 2.Ahora proce<strong>de</strong>mos a crear los en<strong>la</strong>ces entre<strong>la</strong>s estaciones. Para ello elegimos <strong>la</strong> opción En<strong>la</strong>ce<strong>de</strong> <strong>la</strong> barra <strong>de</strong> herramientas. Pinchamos en <strong>la</strong>estación <strong>de</strong> los terminales con el botón <strong>de</strong>recho<strong>de</strong>l ratón, y <strong>de</strong>spués en <strong>la</strong> estación CPU, entoncesaparecerá un en<strong>la</strong>ce entre <strong>la</strong>s dos estaciones.Después creamos los en<strong>la</strong>ces entre <strong>la</strong> CPU y losdiscos y, por último, cerramos <strong>la</strong> red uniendo losdiscos con los terminales. Para ello pinchamos enel Disco 1, en los puntos intermedios, y finalmenteen los terminales. Para el Disco 2 no hace faltarealizar todos los puntos intermedios, sólo tenemosque unir el Disco 2 con el primer punto encomún con el en<strong>la</strong>ce que viene <strong>de</strong>l Disco 1. Automáticamenteel en<strong>la</strong>ce es finalizado por el programahasta llegar a los terminales (ver Figura 4).Figura 2. Red <strong>de</strong> co<strong>la</strong>s ejemplo.En primer lugar dibujaremos <strong>la</strong>s estaciones. Empezamospor los terminales. Éstos se pue<strong>de</strong>nmo<strong>de</strong><strong>la</strong>r mediante una estación <strong>de</strong>l tipo ServidorInfinito, por lo que <strong>de</strong>bemos escoger ese tipo <strong>de</strong>estación en <strong>la</strong> barra <strong>de</strong> herramientas. Una vezelegido lo situamos en <strong>la</strong> zona <strong>de</strong>l área <strong>de</strong> dibujo.Seguidamente incorporamos al diseño el resto<strong>de</strong> estaciones. Al ser todas <strong>de</strong>l tipo Servidor Simple,elegimos este tipo en <strong>la</strong> barra <strong>de</strong> herramientasy pinchamos tres veces en <strong>la</strong> zona <strong>de</strong> dibujo parasituar correctamente <strong>la</strong>s tres estaciones restantes.Una vez hemos añadido todas <strong>la</strong>s estaciones, leasignamos un nombre a cada una <strong>de</strong> el<strong>la</strong>s, los cua<strong>la</strong>yudará a <strong>la</strong> hora <strong>de</strong> en<strong>la</strong>zar<strong>la</strong>s. Para ello simplementehay que hacer doble clic sobre cada estacióny rellenar el campo nombre <strong>de</strong> su ventana <strong>de</strong>parámetros. La red en este momento se encuentraasí:Figura 3. Colocación <strong>de</strong> <strong>la</strong>s estaciones.Figura 4. En<strong>la</strong>ces entre estaciones.Una vez realizados los en<strong>la</strong>ces ya po<strong>de</strong>mos parametrizar<strong>la</strong>s estaciones; para ello, hacemos dobleclic sobre cada una <strong>de</strong> <strong>la</strong>s estaciones y introducimos<strong>la</strong> información acerca <strong>de</strong> <strong>la</strong>s distribuciones<strong>de</strong>l tiempo <strong>de</strong> servicio, probabilida<strong>de</strong>s <strong>de</strong> encaminamiento,políticas <strong>de</strong> p<strong>la</strong>nificación <strong>de</strong> <strong>la</strong> co<strong>la</strong>, etc.La red <strong>de</strong> co<strong>la</strong>s ya está diseñada. Para comprobarque no hayamos cometido ningún errorvamos al menú Acciones y elegimos <strong>la</strong> opciónChequear. Si hemos seguido los pasos a<strong>de</strong>cuadamente,aparecerá un mensaje indicando que <strong>la</strong> re<strong>de</strong>s correcta. En caso contrario, aparecerá un listadocon los errores cometidos.Una vez revisada ya po<strong>de</strong>mos obtener resultados,ya sea mediante <strong>la</strong> simu<strong>la</strong>ción o generando e<strong>la</strong>rchivo QNAP2 equivalente. Para generar e<strong>la</strong>rchivo QNAP2 <strong>de</strong>bemos ir al menú Acciones yelegir <strong>la</strong> opción Generar QNAP, y elegir el archivo<strong>de</strong> <strong>de</strong>stino. Con ese archivo po<strong>de</strong>mos ejecutar<strong>la</strong> aplicación QNAP2 y generar los índices <strong>de</strong>prestaciones que <strong>de</strong>seemos. El archivo generadose muestra en <strong>la</strong> Figura 5.WinNet también permite obtener resultadosmediante simu<strong>la</strong>ción. Para ello, elegimos <strong>la</strong> opciónSimu<strong>la</strong>ción <strong>de</strong>l menú Acciones, introducimosel fichero <strong>de</strong> <strong>de</strong>stino, y el tiempo <strong>de</strong> simu<strong>la</strong>ción.Una vez realizada <strong>la</strong> simu<strong>la</strong>ción aparece unaventana que muestra los índices <strong>de</strong> prestaciones


más importantes <strong>de</strong> <strong>la</strong>s estaciones <strong>de</strong> <strong>la</strong> red (ver <strong>la</strong>Figura 6): utilización, longitud media <strong>de</strong> <strong>la</strong> co<strong>la</strong>,productividad, tiempo medio <strong>de</strong> espera en co<strong>la</strong>,tiempo medio <strong>de</strong> respuesta, etc.El ejemplo que acabamos <strong>de</strong> presentar esintencionadamente sencillo. Se ha elegido paramostrar el proceso básico <strong>de</strong> mo<strong>de</strong><strong>la</strong>do medianteWinNet. Sin embargo, <strong>la</strong> aplicación permite diseñarmo<strong>de</strong>los mucho más complejos, que incluyandiversas c<strong>la</strong>ses <strong>de</strong> trabajos y re<strong>de</strong>s mixtas (abiertaspara unas c<strong>la</strong>ses y cerradas para otras)./DECLARE/QUEUE Terms, CPU, Disco_1, Disco_2;/STATION/NAME = Terms;TYPE = SERVER, INFINITE;INIT = 15;SERVICE = EXP(15.00);TRANSIT = CPU, 1.00;/STATION/NAME = CPU;TYPE = SERVER, SINGLE;INIT = 0;SCHED = FIFO;SERVICE = EXP(0.50);TRANSIT = Disco_1, 0.70, Disco_2, 0.30;/STATION/NAME = Disco_1;TYPE = SERVER, SINGLE;INIT = 0;SCHED = FIFO;SERVICE = EXP(2.00);TRANSIT = Terms, 1.00;/STATION/NAME = Disco_2;TYPE = SERVER, SINGLE;INIT = 0;SCHED = FIFO;SERVICE = EXP(2.50);TRANSIT = Terms, 1.00;/EXEC/SOLVE;Figura 6. Resultados obtenidos por simu<strong>la</strong>ción.5. ConclusiónLa herramienta WinNet permite <strong>la</strong> <strong>de</strong>scripción ysimu<strong>la</strong>ción <strong>de</strong> re<strong>de</strong>s <strong>de</strong> co<strong>la</strong>s. Todo ello medianteun entorno gráfico y <strong>de</strong> fácil uso. Pue<strong>de</strong> ser unaherramienta interesante para <strong>la</strong>s prácticas <strong>de</strong> asignaturasre<strong>la</strong>cionadas con <strong>la</strong> evaluación <strong>de</strong> prestaciones<strong>de</strong> sistemas informáticos.La incorporación <strong>de</strong> algoritmos <strong>de</strong> análisis<strong>de</strong>ntro <strong>de</strong> <strong>la</strong> aplicación es uno <strong>de</strong> nuestros objetivosinmediatos.Referencias[1] G. Bolch, S. Greiner, H. <strong>de</strong> Meer y K. Trivedi.Queueing Networks and Markov Chains.John Wiley & Sons, 1998.[2] F. Baskett, K. Chandy, R. Muntz y F. Pa<strong>la</strong>cios.Open, Closes, and Mixed Network of Quueswith Different C<strong>la</strong>sses of Customers. Journalof the ACM, 22(2):248-260, April 1975.[3] Simulog. Disponible en http://www.simulog.fr/END/Figura 5. Programa QNAP2 generado automáticamente.


ECODE: Entorno Integrado <strong>de</strong> Desarrollo para CODE-2Antonio Martínez Alberto Prieto Héctor Pomares Pedro CastilloDepartamento <strong>de</strong> Arquitectura y Tecnología <strong>de</strong> ComputadoresE.T.S.I. InformáticaUniversidad <strong>de</strong> GranadaE-18071 Granada. e-mail: aprieto@ugr.esResumenEn este artículo, se <strong>de</strong>scribe el funcionamiento y<strong>la</strong>s características más sobresalientes <strong>de</strong> ECODE,un entorno integrado <strong>de</strong> <strong>de</strong>sarrollo (IDE) para elComputador Didáctico Elemental CODE-2.ECODE permite editar, ensamb<strong>la</strong>r y <strong>de</strong>purarprogramas escritos en lenguaje ensamb<strong>la</strong>dor <strong>de</strong>CODE-2, al modo tradicional, a<strong>de</strong>más <strong>de</strong> emu<strong>la</strong>r<strong>la</strong> ejecución <strong>de</strong> programas en lenguaje máquina.El entorno pue<strong>de</strong> trabajar en dos modos: modoreal y modo ampliado, con el que se visualizan ymonitorizan los contenidos <strong>de</strong> cualquier elementointerno <strong>de</strong>l computador, pudiendo en cualquierinstante interactuar con ellos, modificándolosdirectamente.1. IntroducciónCODE-2, es <strong>la</strong> segunda versión <strong>de</strong> un ComputadorDidáctico Elemental diseñado en el Departamento<strong>de</strong> Arquitectura y Tecnología <strong>de</strong> Computadores <strong>de</strong><strong>la</strong> Universidad <strong>de</strong> Granada [1,2]. Se trata <strong>de</strong> uncomputador <strong>de</strong> tipo von Newmann, que contiene<strong>la</strong>s unida<strong>de</strong>s típicas <strong>de</strong> este mo<strong>de</strong>lo: entradas,salidas, unidad <strong>de</strong> control, unidad <strong>de</strong> procesamiento<strong>de</strong> datos y memoria para datos einstrucciones. La filosofía <strong>de</strong> concepción y diseño<strong>de</strong> este computador, es eminentemente pedagógica,y está completamente <strong>de</strong>scrito a nivel <strong>de</strong>lenguaje máquina, lenguaje ensamb<strong>la</strong>dor ymicromáquina en [2]. La longitud <strong>de</strong> pa<strong>la</strong>bra <strong>de</strong>CODE-2 es <strong>de</strong> 16 bits, y dispone <strong>de</strong> tan sólo 16instrucciones máquina. Los elementos a los que setiene acceso directamente <strong>de</strong>s<strong>de</strong> el nivel <strong>de</strong><strong>de</strong>scripción <strong>de</strong> lenguaje máquina son:• Un banco <strong>de</strong> 16 registros (r0 a rF).• Unidad Aritmético Lógica (ALU), que realiza<strong>la</strong> operaciones que más a<strong>de</strong><strong>la</strong>nte <strong>de</strong>tal<strong>la</strong>remos.La ALU tiene asociados biestables indicadores,que funcionan <strong>de</strong> forma usual, <strong>de</strong>acuerdo con los resultados obtenidos en el<strong>la</strong>:biestable <strong>de</strong> cero (Z), <strong>de</strong> signo (S), <strong>de</strong> acarreo(C) y <strong>de</strong> <strong>de</strong>sbordamiento (V).• Memoria Principal: <strong>de</strong> 2 16 =64Kpa<strong>la</strong>bras <strong>de</strong> 16bits (128 Kbytes), direccionable por pa<strong>la</strong>bras.• Puertos <strong>de</strong> entrada y salida: Se admiten 256puertos <strong>de</strong> entrada (IP00...IPFF) y otros 256puertos <strong>de</strong> salida (OP00...OPFF).El lenguaje máquina <strong>de</strong> CODE-2 se compone<strong>de</strong> 16 instrucciones, todas el<strong>la</strong>s <strong>de</strong> 16 bits, y son<strong>la</strong>s siguientes:• Transferencia <strong>de</strong> datos: Carga en un registro<strong>de</strong> un contenido <strong>de</strong> memoria (LD),almacenamiento <strong>de</strong>l contenido <strong>de</strong> un registroen memoria (ST), carga inmediata en registro(byte alto, LLI, o byte bajo, LHI), entrada (IN)y salida (OUT).• Aritmético-Lógicas: Suma (ADDS), resta(SUBS), NAND (NAND), y <strong>de</strong>sp<strong>la</strong>zamientoslógicos y aritméticos (SHL, SHR, SHRA).• Bifurcaciones incondicionales y condicionales:salto (B-), l<strong>la</strong>mada a subrutina (CALL-),retorno (RET) y• Parar (HALT).A continuación se presenta <strong>la</strong> primera versión<strong>de</strong> ECODE (Entorno CODE), un conjuntointegrado <strong>de</strong> herramientas para <strong>de</strong>sarrol<strong>la</strong>rprogramas en lenguaje ensamb<strong>la</strong>dor (<strong>de</strong>finidosegún el estándar IEEE 694 [4]) o máquina,<strong>de</strong>purarlos, y analizar con <strong>de</strong>talle el comportamientodinámico <strong>de</strong> CODE-2 al ejecutarprogramas en código máquina.


2. Especificaciones <strong>de</strong> diseño <strong>de</strong> ECODEECODE es un Entorno Integrado <strong>de</strong> Desarrollo(IDE) para el computador CODE-2 que aúnadiversas herramientas y programas diseñados conel propósito <strong>de</strong> conformar un entorno didácticopara el aprendizaje <strong>de</strong>l funcionamiento <strong>de</strong> uncomputador básico.A tal efecto, se <strong>de</strong>finen en ECODE dos modos<strong>de</strong> funcionamiento, el modo real y el modoampliado [3]:• En el modo real se emu<strong>la</strong> exactamente elcomportamiento <strong>de</strong> CODE-2; es <strong>de</strong>cir, e<strong>la</strong>lumno sólo pue<strong>de</strong> interactuar con <strong>la</strong>herramienta, <strong>de</strong> forma simi<strong>la</strong>r a como lo haríacon un prototipo físico <strong>de</strong>l computador.Concretamente, sólo se tiene acceso en estemodo al panel frontal <strong>de</strong> CODE-2 <strong>de</strong>scrito enFigura 1. Imagen <strong>de</strong> <strong>la</strong> interfaz gráfica <strong>de</strong> ECODE.[2] que dispone <strong>de</strong> tec<strong>la</strong>do (puerto IP1) paraintroducción <strong>de</strong> información en hexa<strong>de</strong>cimal,dos puertos <strong>de</strong> salida (OP1, OP2), tec<strong>la</strong>do <strong>de</strong>ór<strong>de</strong>nes (cargar, ejecutar, examinar/cargarregistros, etc.), y visualizadores <strong>de</strong>l contenidohexa<strong>de</strong>cimal <strong>de</strong> los registros IR y PC y <strong>de</strong> losbiestables indicadores.• El modo ampliado incrementa notablemente<strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong>l modo real. Seimplementa por medio <strong>de</strong> utilida<strong>de</strong>s yprogramas que facilitan el acceso directo acualquier componente <strong>de</strong> CODE-2: posiciones<strong>de</strong> memoria, registros, biestables indicadoresy puertos <strong>de</strong> entrada y salida. Entre losprogramas <strong>de</strong>l modo ampliado, se incluye unmódulo <strong>de</strong> <strong>de</strong>sensamb<strong>la</strong>do, que se comentarámás a<strong>de</strong><strong>la</strong>nte, y que por su propia naturaleza,pue<strong>de</strong> ser consi<strong>de</strong>rada como un sub-modo <strong>de</strong>l


modo ampliado, ya que <strong>de</strong>ntro <strong>de</strong> él cambia elcomportamiento <strong>de</strong> muchos objetos gráficos<strong>de</strong>l entorno ECODE.En <strong>la</strong> Figura 1 se incluye una imagen quemuestra el aspecto <strong>de</strong>l entorno funcionando enmodo ampliado. Se ha tenido especial cuidado, enel diseño <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> usuario para hacer<strong>la</strong> lomás didáctica y cómoda posible. La disposición<strong>de</strong> los componentes gráficos ha sidoespecialmente pensada para lograr <strong>la</strong> mayorcoherencia posible entre el entorno y <strong>la</strong><strong>de</strong>scripción real (física) <strong>de</strong> CODE-2. También seha diseñado <strong>de</strong> forma que el puntero <strong>de</strong>l ratóncambia <strong>de</strong> aspecto al superponerse a un objeto,indicando este hecho que el usuario pue<strong>de</strong>interactuar directamente con dicho objeto.A<strong>de</strong>más, al <strong>de</strong>scansar unos instantes el puntero <strong>de</strong>lratón sobre un objeto gráficos relevante, se<strong>de</strong>spliega automáticamente un rótulo indicando susignificado.El entorno está programado en Object Pascal,usando el entorno <strong>de</strong> Bor<strong>la</strong>nd Delphi 5.3. Características <strong>de</strong> ECODELa Figura 1 muestra <strong>la</strong> interfaz gráfica <strong>de</strong> ECODE(versión 1.0.0 para Windows). La imagen secompone <strong>de</strong> cinco zonas o sub-ventanas, y que <strong>de</strong>arriba abajo, y <strong>de</strong> izquierda a <strong>de</strong>recha son:1. Barra <strong>de</strong> menús, ubicada en <strong>la</strong> parte superior<strong>de</strong> <strong>la</strong> imagen y contiene <strong>la</strong>s siguientes opciones :• Archivo: Des<strong>de</strong> esta opción es posible abrirun archivo en ensamb<strong>la</strong>dor para editarlo, opara traducirlo y guardar el resultado en unarchivo o cargarlo directamente en <strong>la</strong> memoria<strong>de</strong> CODE-2 para emu<strong>la</strong>r su ejecución.• Entorno: con esta opción se pue<strong>de</strong>nseleccionar, entre otras utilida<strong>de</strong>s, los distintosmodos <strong>de</strong> funcionamiento <strong>de</strong>l entorno: real,ampliado y <strong>de</strong>sensamb<strong>la</strong>dor, así como acce<strong>de</strong>ral convertidor visual <strong>de</strong> archivos.• CODE: esta opción permite interactuardirectamente con el emu<strong>la</strong>dor <strong>de</strong> CODE-2.• Ayuda y manuales: con esta opción se obtieneinformación referente al uso <strong>de</strong> ECODE, alfuncionamiento <strong>de</strong> CODE-2 y un manual <strong>de</strong>ensamb<strong>la</strong>dor <strong>de</strong> CODE-2. También seincluyen ejemplos <strong>de</strong> programas y p<strong>la</strong>ntil<strong>la</strong>sen ensamb<strong>la</strong>dor para facilitar el trabajo <strong>de</strong>lusuario y <strong>la</strong> compresión <strong>de</strong> los conceptos quese preten<strong>de</strong>n transmitir al alumno.• Botones rápidos: Permiten acce<strong>de</strong>r <strong>de</strong> formamás ágil, a <strong>la</strong>s rutinas más usadas, estén o noen el menú principal, y son los siguientes:Ver/Ocultar <strong>la</strong> ampliación <strong>de</strong>l panel frontal,Desensamb<strong>la</strong>r, Variar <strong>la</strong> velocidad <strong>de</strong>ejecución, Encen<strong>de</strong>r/Apagar CODE-2, Modopaso a paso, Dirección <strong>de</strong> memoria, Registros,Cargar, Ejecutar, y Continuar.2. Sub-ventana <strong>de</strong> texto: visualiza el archivo <strong>de</strong>lprograma en <strong>de</strong>sarrollo, en lenguaje ensamb<strong>la</strong>doo máquina.3. Panel frontal <strong>de</strong> CODE-2, que representa alprototipo físico. A esta imagen se le ha añadidoen su parte superior tres so<strong>la</strong>pas, para visualizar,alternativamente el panel frontal, los mensajesemitidos por el entorno a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong> sesión, oel contenido <strong>de</strong> los registros.4. Esquema completo <strong>de</strong> CODE-2, don<strong>de</strong> seincluyen, a<strong>de</strong>más <strong>de</strong> los elementos que aparecenen el panel frontal, los contenidos <strong>de</strong> todos losregistros, <strong>de</strong> <strong>la</strong> memoria y <strong>de</strong> los puertos IP1 eIP2 <strong>de</strong> entrada, y OP1 y OP2 <strong>de</strong> salida. Todoslos contenidos pue<strong>de</strong> modificarse por medio <strong>de</strong>un editor hexa<strong>de</strong>cimal. A<strong>de</strong>más se permitearrastrar, ampliar y soltar don<strong>de</strong> el usuario <strong>de</strong>see<strong>la</strong> sub-ventana que representa <strong>la</strong> memoria.5. Barra <strong>de</strong> estado, informa <strong>de</strong> <strong>la</strong> situaciónactual <strong>de</strong>l programa.Cuando ECODE funciona en modo real sóloaparece el panel frontal, y cuando funciona enmodo ampliado se muestra completamente <strong>la</strong>imagen <strong>de</strong> <strong>la</strong> Figura 1. Por otra parte, el sistemaECODE contiene los siguientes módulos,integrados unos con otros:• Emu<strong>la</strong>dor: simu<strong>la</strong> el comportamiento <strong>de</strong>CODE-2.• Ensamb<strong>la</strong>dor: traduce archivos <strong>de</strong> ensamb<strong>la</strong>dor<strong>de</strong> CODE-2 a su lenguaje máquina. Lasalida pue<strong>de</strong> ser presentada en los formatos.HEX (hexa<strong>de</strong>cimal) o .EHC (EasyHexa<strong>de</strong>cimal Co<strong>de</strong>) <strong>de</strong>scritos en [3].• Editor hexa<strong>de</strong>cimal: permite, por ejemplo,cargar directamente un programa en <strong>la</strong>memoria sin más que situarse con el ratón en<strong>la</strong> sub-ventana <strong>de</strong> memoria .• Desensamb<strong>la</strong>dor: para <strong>de</strong>sensamb<strong>la</strong>r automáticamenteun programa cargado previamenteen <strong>la</strong> memoria <strong>de</strong> CODE-2. El resultado es


simu<strong>la</strong>ble posteriormente igual que si hubierasido el resultado <strong>de</strong>l ensamb<strong>la</strong>je normal <strong>de</strong> unprograma.• Cargador: Los programas pue<strong>de</strong>n seralmacenados automáticamente en <strong>la</strong> memoria,<strong>de</strong>spués <strong>de</strong> haber sido traducidos a códigomáquina por el ensamb<strong>la</strong>dor, y <strong>de</strong> acuerdo con<strong>la</strong>s directivas <strong>de</strong>l programa fuente queespecifiquen <strong>la</strong>s posiciones <strong>de</strong> carga enmemoria.• Módulo <strong>de</strong> información: genera y almacenalos mensajes <strong>de</strong> ECODE, tanto los <strong>de</strong> errorcomo los <strong>de</strong> estado (modo <strong>de</strong>funcionamiento), y se pue<strong>de</strong>n visualizarseleccionando <strong>la</strong> so<strong>la</strong>pa Mensajes.• Convertidor Visual <strong>de</strong> Archivos: gestiona uncuadro <strong>de</strong> diálogo con el que el usuario pue<strong>de</strong>realizar <strong>la</strong> conversión entre los formatos.ASM, .HEX, .EHC, con <strong>la</strong> excepción <strong>de</strong> queno po<strong>de</strong>mos pasar <strong>de</strong> .ASM a cualquier otro.Algunas <strong>de</strong> <strong>la</strong>s características <strong>de</strong>l entorno, queenfatizan su fin pedagógico son:• Visualización <strong>de</strong> los contenidos <strong>de</strong> todos losregistros y biestables.• Durante <strong>la</strong> ejecución <strong>de</strong> un programa seresalta <strong>la</strong> posición <strong>de</strong> memoria don<strong>de</strong> seencuentra <strong>la</strong> instrucción en ejecución.• Interacción directa con los registros y puertos<strong>de</strong> entrada/salida. Se pue<strong>de</strong>n editar cada uno<strong>de</strong> estos elementos, seleccionándolos con elratón.• Visualización <strong>de</strong>l comportamiento dinámico<strong>de</strong> todos los contenidos; para lo cual se pue<strong>de</strong>utilizar el modo <strong>de</strong> ejecución paso a paso(CODE-2 entra en modo <strong>de</strong> esperainmediatamente <strong>de</strong>spués <strong>de</strong> <strong>la</strong> ejecución <strong>de</strong>cada instrucción) o regu<strong>la</strong>r <strong>la</strong> velocidad <strong>de</strong>ejecución utilizando uno <strong>de</strong> los botonesrápidos.4. Utilización <strong>de</strong>l entornoNada más iniciar ECODE, queda listo paraempezar a simu<strong>la</strong>r. Implícitamente arranca enmodo ampliado, y se visualiza <strong>la</strong> imagen <strong>de</strong> <strong>la</strong>Figura 1. Ahora, se pue<strong>de</strong> elegir una <strong>de</strong> <strong>la</strong>sopciones <strong>de</strong>l menú Archivo, si se <strong>de</strong>sea cargar unprograma en código máquina, traducir unprograma en ensamb<strong>la</strong>dor y guardarlo comocódigo máquina, o editar un programa fuente,traducirlo, <strong>de</strong>purarlo y cargarlo en <strong>la</strong> memoria <strong>de</strong>CODE-2 para su ejecución simu<strong>la</strong>da. Cuando seejecuta un programa <strong>la</strong>s sub-ventanas <strong>de</strong> memoriay <strong>de</strong> texto visualizan <strong>la</strong> información <strong>de</strong> formacoherente, resaltando los cambios que se vanproduciendo en <strong>la</strong> memoria y en el contador <strong>de</strong>programa.En cualquier momento, aún con un programacargado, podremos editar <strong>la</strong> memoria, los registrosy los puertos, esta “edición en caliente” es muyútil para <strong>de</strong>purar programas o comprobar <strong>de</strong> formasencil<strong>la</strong> el funcionamiento <strong>de</strong> cualquierinstrucción.4. ConclusionesHemos presentado en esta comunicación <strong>la</strong>scaracterísticas más notables <strong>de</strong> ECODE, unentorno integrado <strong>de</strong> <strong>de</strong>sarrollo (IDE) orientado a<strong>la</strong> enseñanza, para un Computador DidácticoElemental (CODE-2). El sistema pue<strong>de</strong> obtenerseen <strong>la</strong> dirección web:http://atc.ugr.es/intro_info_mcgraw.htlmReferencias[1] Página web principal <strong>de</strong>l proyecto CODE-2http://atc.ugr.es/intro_info_mcgraw[2] A. Prieto, A. Lloris, J.C. Torres. Introduccióna <strong>la</strong> Informática, 3ª Edc. Cap 6-7, McGraw-Hill 2002.[3] A.Prieto, F.J.Pe<strong>la</strong>yo, F.Gómez, J.Ortega,A.Cañas, A.Martínesz, F.J.Fernán<strong>de</strong>z. Uncomputador didáctico elemental.Actas <strong>de</strong> <strong>la</strong><strong>VIII</strong> <strong>Jornadas</strong> <strong>de</strong> Enseñanza <strong>Universitaria</strong> <strong>de</strong><strong>la</strong> Informática (JENUI’2002). Cáceres 10-12Julio 2002. (en este mismo libro)[4] A. Martínez. Diseño <strong>de</strong> un Entorno Integrado<strong>de</strong> Desarrollo con emu<strong>la</strong>dor y compi<strong>la</strong>dorcruzado para el computador CODE-2,Proyecto fin <strong>de</strong> carrera <strong>de</strong> IngenieroElectrónico, Dpto. Arquitectura y Tecnología<strong>de</strong> Computadores, Universidad <strong>de</strong> Granada.Octubre 2001.[5] IEEE Standard for Microprocessor AssemblyLanguage. IEEE Std. 694-1985. The Instituteof Electrical and Electronics Engineers, Inc.New York., June 30, 1985.


Simu<strong>la</strong>dor <strong>de</strong> dispositivos <strong>de</strong> entrada/salida programablesManuel Prieto, Antonio J.Vicente, José. A. VargasDepartamento <strong>de</strong> AutomáticaUniversidad <strong>de</strong> Alcalá28871 Alcalá <strong>de</strong> Henarese-mail: mpm@aut.uah.esResumenLa ponencia presenta un entorno <strong>de</strong> simu<strong>la</strong>ción <strong>de</strong><strong>la</strong> entrada/salida <strong>de</strong> sistemas basados en <strong>la</strong> familiai80x86. Está enfocados principalmente a servircomo apoyo a los alumnos <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong>Alcalá en <strong>la</strong>s asignaturas <strong>de</strong> Sistemas ElectrónicosDigitales y Laboratorio <strong>de</strong> Sistemas ElectrónicosDigitales en <strong>la</strong> titu<strong>la</strong>ción <strong>de</strong> Ingeniería TécnicaTelemática, y por extensión, a otras asignaturasafines <strong>de</strong> otras ingenierías tales como Estructura<strong>de</strong> Computadores.1. MotivaciónEs una problemática muy común en <strong>la</strong> enseñanza<strong>de</strong> sistemas digitales, ya sea <strong>de</strong> electrónica digitalo <strong>de</strong> sistemas basados en microprocesador, <strong>la</strong> <strong>de</strong>ofrecer al alumno cuantas herramientas y recursoshardware estén a disposición <strong>de</strong>l profesor para elcorrecto seguimiento y compresión <strong>de</strong> <strong>la</strong> materiaen cuestión. Es evi<strong>de</strong>nte que <strong>la</strong> mejor forma <strong>de</strong>enseñar, y <strong>de</strong> que los alumnos comprendan lossistemas digitales, es trabajando con losdispositivos digitales reales que se enseñan en e<strong>la</strong>u<strong>la</strong>. De este modo, es muy común encontrar en<strong>la</strong>boratorios <strong>de</strong> asignaturas <strong>de</strong> esta índole(Electrónica Digital, Estructura <strong>de</strong> Computadores,Sistemas Electrónicos Digitales, etc.) todo elequipamiento necesario, como por ejemplo p<strong>la</strong>cas<strong>de</strong> <strong>de</strong>sarrollo, entrenadores, fuentes <strong>de</strong>alimentación, osciloscopios, etc. Otra opción, esrecurrir a <strong>la</strong> simu<strong>la</strong>ción, con <strong>la</strong>s ventajas yrestricciones que ello conlleva. Como ventajas<strong>de</strong>stacaremos que <strong>la</strong> simu<strong>la</strong>ción es unaherramienta muy potente, puesto que permiteevaluar un sistema previo a su montaje y estimarsu comportamiento. Así mismo, otra ventaja quereporta <strong>la</strong> simu<strong>la</strong>ción es su coste, ya que resulta,sin lugar a dudas, menos costosa que equipar un<strong>la</strong>boratorio con material electrónico. No obstante,<strong>la</strong> principal <strong>de</strong>sventaja <strong>de</strong> <strong>la</strong> simu<strong>la</strong>ción es <strong>la</strong> <strong>de</strong>que no <strong>de</strong>ja <strong>de</strong> ser un complemento. Si el sistemasimu<strong>la</strong>do no llega a probarse físicamente, elobjetivo que se persigue queda, en términoscoloquiales, un poco "cojo". La situación i<strong>de</strong>al esaquel<strong>la</strong> que incorpora parte <strong>de</strong> simu<strong>la</strong>ción y partepráctica real.El hecho <strong>de</strong> que al <strong>la</strong>boratorio se le haya dadoun enfoque puramente práctico, aún cuando esmuy didáctico, pue<strong>de</strong> suponer un granimpedimento para el alumnado en el <strong>de</strong>sarrollo <strong>de</strong><strong>la</strong>s prácticas. Para "investigar" sobre los conceptosexplicados en c<strong>la</strong>se o <strong>la</strong> puesta a punto <strong>de</strong> <strong>la</strong>sprácticas es imprescindible asistir al <strong>la</strong>boratorio,puesto que los alumnos no tienen los recursoseconómicos para adquirir el equipamientonecesario.En el caso <strong>de</strong> que el <strong>la</strong>boratorio seaexclusivamente <strong>de</strong> simu<strong>la</strong>ción, el problemaanterior queda subsanado siempre y cuando elsimu<strong>la</strong>dor en cuestión no precise <strong>de</strong> una licenciaque impida distribuir libremente el software entreel alumnado. En cualquiera <strong>de</strong> los casos, e<strong>la</strong>lumno nunca llegaría a trabajar con los sistemasreales, que es, en <strong>de</strong>finitiva, con lo que tendrá queenfrentarse en su vida <strong>la</strong>boral.Como ya se ha resaltado, el equilibrio idóneose obtiene <strong>de</strong> <strong>la</strong> combinación <strong>de</strong> simu<strong>la</strong>ción ypráctica. Sin embargo hay que buscar que hayauna correspon<strong>de</strong>ncia directa entre lo que se simu<strong>la</strong>y lo que se prueba. En el campo <strong>de</strong> <strong>la</strong> enseñanza<strong>de</strong> electrónica digital y <strong>de</strong> sistemas basados enmicroprocesador existe una amplia gama <strong>de</strong>simu<strong>la</strong>dores <strong>de</strong> muy diversa índole, en cuanto asus capacida<strong>de</strong>s y coste. Lo más frecuente es queciertos simu<strong>la</strong>dores <strong>de</strong>staquen por unos aspectos


pero que carezcan <strong>de</strong> otros, es <strong>de</strong>cir, que es muydifícil encontrar un simu<strong>la</strong>dor que reúna todas <strong>la</strong>scondiciones que se precisan. En el peor <strong>de</strong> loscasos, no llega siquiera a encontrarse.Para el caso que nos ocupa, re<strong>la</strong>tivo a <strong>la</strong>enseñanza <strong>de</strong> sistemas digitales basados enmicroprocesador, lo i<strong>de</strong>al sería disponer <strong>de</strong> unentorno <strong>de</strong> simu<strong>la</strong>ción lo más transparente posiblepara el alumno. Un entorno en el que trabajasecon instrucciones reales, ensamb<strong>la</strong>dores reales y<strong>de</strong>puradores reales y que a<strong>de</strong>más que <strong>la</strong>simu<strong>la</strong>ción no tuviese límites. Una <strong>de</strong> <strong>la</strong>s ventajasque tiene <strong>la</strong> arquitectura i80x86 frente a otras, esque no es necesario emplear emu<strong>la</strong>dores oentrenadores; cualquier PC es suficiente.Prácticamente todos los alumnos disponen <strong>de</strong> unPC en casa, con lo que pue<strong>de</strong>n trabajar <strong>de</strong>s<strong>de</strong> el<strong>la</strong>.Sin embargo no se pue<strong>de</strong> <strong>de</strong>cir lo mismo cuando<strong>la</strong>s prácticas <strong>de</strong>jan <strong>de</strong> ser <strong>de</strong> mera programaciónen ensamb<strong>la</strong>dor y se pasa a trabajar condispositivos <strong>de</strong> entrada/salida (E/S).Con este ánimo, estamos trabajando en eldiseño <strong>de</strong> simu<strong>la</strong>dores <strong>de</strong> sistemas periféricos quepresentamos a continuación.2. ObjetivosTomando como base <strong>la</strong> asignatura SistemasElectrónicos Digitales, los requisitos que <strong>de</strong>bencumplir los simu<strong>la</strong>dores a <strong>de</strong>sarrol<strong>la</strong>r son lossiguientes:1. Transparente al alumno. El alumno <strong>de</strong>be tener<strong>la</strong> sensación <strong>de</strong> que está trabajando en todomomento con el dispositivo real y <strong>de</strong>be tenerasí mismo <strong>la</strong> certeza <strong>de</strong> que cuando lo pruebesobre estos dispositivos obtendrá los mismosresultados. En el ensamb<strong>la</strong>do, en<strong>la</strong>zado yposterior <strong>de</strong>puración <strong>de</strong> su programa <strong>de</strong>beemplear <strong>la</strong>s mismas herramientas queemplearía para <strong>la</strong> aplicación real. Nuestrosalumnos emplean el programa ensamb<strong>la</strong>dor y<strong>de</strong>purador MacroAssembler [2] y Co<strong>de</strong>view<strong>de</strong> Microsoft [3] respectivamente.2. Lo más reales posibles. Los simu<strong>la</strong>dores<strong>de</strong>ben ajustarse lo más posible a losdispositivos que simu<strong>la</strong>n. No <strong>de</strong>ben carecer<strong>de</strong> ninguna <strong>de</strong> sus características.3. Didácticos. Que a su vez los simu<strong>la</strong>doresaporten información al alumno que trabajacon él y que le oriente en caso <strong>de</strong> que seequivoque en su manejo.4. Facilidad <strong>de</strong> tras<strong>la</strong>darlo a <strong>la</strong> realidad. Queuna vez realizada <strong>la</strong> simu<strong>la</strong>ción, el alumno,con unos cambios mínimos, pueda tras<strong>la</strong>darel código <strong>de</strong>sarrol<strong>la</strong>do al sistema real. Es<strong>de</strong>cir, que no se vean obligados a re-escribirel código.5. Gráficos. Debe ser un simu<strong>la</strong>dor gráfico <strong>de</strong>colores don<strong>de</strong> se distingan c<strong>la</strong>ramente <strong>la</strong>sacciones tomadas por los alumnos en suprograma.6. Reducido tamaño. Lo i<strong>de</strong>al es que no resultensimu<strong>la</strong>dores <strong>de</strong> gran tamaño. Se persigue quetodos los ficheros necesarios para <strong>la</strong>simu<strong>la</strong>ción quepan en un disquete.7. Libre distribución. Los simu<strong>la</strong>dores <strong>de</strong>ben sergratuitos y abiertos. Al alumno no sólo se lefacilitará el ejecutable, sino también sucódigo fuente y una <strong>de</strong>scripción <strong>de</strong>lfuncionamiento <strong>de</strong>l mismo.8. Ampliables. ¿Por qué restringir el simu<strong>la</strong>dor auna asignatura concreta en <strong>la</strong> que se estudianunos dispositivos concretos?. Tanto para elprofesor como para el alumno es muyinteresante que los simu<strong>la</strong>dores seanampliables.9. Multip<strong>la</strong>taforma. Se persigue <strong>de</strong>sarrol<strong>la</strong>rsimu<strong>la</strong>dores que sean multip<strong>la</strong>taforma o que,en su <strong>de</strong>fecto, <strong>la</strong> conversión <strong>de</strong>l simu<strong>la</strong>dor <strong>de</strong>una p<strong>la</strong>taforma a otra sea lo más sencil<strong>la</strong>posible.3. Desarrollo <strong>de</strong> los simu<strong>la</strong>doresBuscando el cumplimiento <strong>de</strong> los requisitosexpuestos en el apartado anterior, se ha pensadoen el <strong>de</strong>sarrollo <strong>de</strong> simu<strong>la</strong>dores modu<strong>la</strong>res, es<strong>de</strong>cir, para cada dispositivo <strong>de</strong> E/S a simu<strong>la</strong>r se<strong>de</strong>sarrol<strong>la</strong>rá un módulo diferente. De este modo, <strong>la</strong>capacidad <strong>de</strong> ampliación está asegurada. Estosmódulos <strong>de</strong> simu<strong>la</strong>ción se programarán enensamb<strong>la</strong>dor, lenguaje con el que trabajan losalumnos en <strong>la</strong>s asignaturas y que conocenperfectamente. En estos programas se cargará porun <strong>la</strong>do <strong>la</strong> pantal<strong>la</strong> gráfica <strong>de</strong> simu<strong>la</strong>ción (VGA640x480) y por otro <strong>la</strong>do se <strong>de</strong>finirán losprocedimientos necesarios. El alumno <strong>de</strong>s<strong>de</strong> suprograma l<strong>la</strong>mará a esos procedimientos externos<strong>de</strong>finidos en el módulo <strong>de</strong> simu<strong>la</strong>ción (figura 1).


L<strong>la</strong>madasVentana <strong>de</strong>simu<strong>la</strong>ciónPrograma<strong>de</strong>l alumnoMódulosimu<strong>la</strong>dorFigura 1. Diagrama <strong>de</strong> funcionamientoLa arquitectura i80x86, a diferencia <strong>de</strong> otrosmicroprocesadores, tiene los espacios <strong>de</strong>direcciones <strong>de</strong> memoria y entrada/salidaseparados. Para procesos <strong>de</strong> E/S existenúnicamente dos instrucciones: IN para entrada <strong>de</strong>puerto y OUT para salida a puerto. Para conseguir<strong>la</strong> máxima transparencia <strong>de</strong> cara al alumno, se hapensado en <strong>de</strong>finir dos instrucciones, l<strong>la</strong>mémos<strong>la</strong>svirtuales, <strong>de</strong> entrada/salida que se asemejen lomás posible a <strong>la</strong>s instrucciones reales. Estasinstrucciones virtuales son en <strong>de</strong>finitiva dosmacros con <strong>la</strong>s que el alumno interactuará con elsimu<strong>la</strong>dor en cuestión.Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l alumno, lo únicoque cambia respecto a trabajar con un sistema realson <strong>la</strong>s instrucciones <strong>de</strong> entrada/salida queempleen. Para el trabajo en simu<strong>la</strong>ción utilizarán<strong>la</strong>s instrucciones virtuales, mientras que, cuando<strong>de</strong>seen tras<strong>la</strong>dar su programa a una aplicaciónreal, lo único que <strong>de</strong>berán hacer es sustituir esasinstrucciones virtuales por <strong>la</strong>s reales (operación <strong>de</strong>buscar y reemp<strong>la</strong>zar en cualquier editor <strong>de</strong> texto).Las dos instrucciones virtuales se han l<strong>la</strong>madoINM y OUTM y su formato se correspon<strong>de</strong>exactamente con el <strong>de</strong> <strong>la</strong>s originales. En <strong>la</strong> figura2, pue<strong>de</strong> apreciarse c<strong>la</strong>ramente lo sencillo que leresulta al alumno pasar <strong>de</strong>l entorno <strong>de</strong> simu<strong>la</strong>ciónal real.REALINOUTINSTRUCCIONESREALESSIMULACIÓNINMOUTMINSTRUCCIONESVIRTUALESFigura 2. Simu<strong>la</strong>ción vs. realidadPara operar con el simu<strong>la</strong>dor, el alumno sólo<strong>de</strong>berá añadir una pequeña cabecera en suprograma y una vez ensamb<strong>la</strong>do, en<strong>la</strong>zarlo con elfichero objeto <strong>de</strong>l simu<strong>la</strong>dor.Todos los simu<strong>la</strong>dores <strong>de</strong>sarrol<strong>la</strong>dos tienenasignadas unas direcciones <strong>de</strong> entrada/salida"virtuales" pre<strong>de</strong>terminadas. Con fines didácticos,se ha dotado a los simu<strong>la</strong>dores <strong>de</strong> capacidad <strong>de</strong><strong>de</strong>puración. De este modo, en caso <strong>de</strong> que elusuario realice una acción no permitida, bien apropósito o bien por error (como por ejemploacce<strong>de</strong>r a una dirección errónea), se le informará<strong>de</strong> ello en pantal<strong>la</strong>, indicando <strong>la</strong> causa <strong>de</strong>l error.Por último, sobre <strong>la</strong> pantal<strong>la</strong> <strong>de</strong>l simu<strong>la</strong>dor encuestión se ha incluido el ratón, mediante el cualel alumno podrá interactuar sobre el simu<strong>la</strong>dor(cambio <strong>de</strong> estado <strong>de</strong> microinterruptores,pulsación <strong>de</strong> botones, etc.)4. Simu<strong>la</strong>doresHasta el momento, se han <strong>de</strong>sarrol<strong>la</strong>do tressimu<strong>la</strong>dores que se ajustan a los temas tratados enSistemas Electrónicos Digitales:• P<strong>la</strong>ca <strong>de</strong> Entrada/Salida. La ventana <strong>de</strong>simu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca <strong>de</strong> E/S se muestra en <strong>la</strong>figura 3.D7D7PLACA DE E/SD0D0300h300hFigura 3. Ventana <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca <strong>de</strong> E/S301h302hEn el<strong>la</strong> pue<strong>de</strong>n distinguirse los elementos máscaracterísticos como son los micro-


interruptores y los LEDs para simu<strong>la</strong>r <strong>la</strong>entrada y <strong>la</strong> salida respectivamente.Tal y como se ha resaltado previamente, <strong>la</strong>sdirecciones virtuales <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca <strong>de</strong> E/S sonfijas, aunque pue<strong>de</strong>n fácilmente cambiarse,reensamb<strong>la</strong>ndo el programa <strong>de</strong>l simu<strong>la</strong>dor.Para el módulo <strong>de</strong>sarrol<strong>la</strong>do se han escogido<strong>la</strong>s direcciones virtuales comprendidas entre <strong>la</strong>300h y <strong>la</strong> 302h. Estas direcciones coinci<strong>de</strong>ncon <strong>la</strong>s <strong>de</strong> <strong>la</strong> p<strong>la</strong>ca <strong>de</strong> E/S real que existe y quemanejan los alumnos en <strong>la</strong>s prácticas <strong>de</strong><strong>la</strong>boratorio.• Interfaz Paralelo Programable PPI 8255A. Laventana principal <strong>de</strong> simu<strong>la</strong>ción <strong>de</strong>ldispositivo PPI 8255A [1] se muestra en <strong>la</strong>figura 4.Puerto APuerto BPuerto CControlINTERFAZ PARALELO 8255APPI 8255A0101 0011301h0111 1011302hxxxx xxxx303h1011 0000PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0IBFaSTBaINTaINTEa>OUTM DX,ALDX = 303hAL = B0hConfiguración PPI:PA: modo 1 (E)PB: modo 0 (S)PCH: (S)PCL: (S)>Figura 4. Ventana <strong>de</strong>l simu<strong>la</strong>dor <strong>de</strong> <strong>la</strong> PPIPue<strong>de</strong>n distinguirse c<strong>la</strong>ramente los puertos <strong>de</strong><strong>la</strong> PPI, los registros internos y <strong>la</strong>s líneas <strong>de</strong>control. Se trata <strong>de</strong> una ventana dinámica.Dependiendo <strong>de</strong> <strong>la</strong> configuración <strong>de</strong> <strong>la</strong> PPI,<strong>la</strong>s líneas <strong>de</strong> control se reconfigurana<strong>de</strong>cuadamente. Así mismo en <strong>la</strong> parteizquierda <strong>de</strong> <strong>la</strong> ventana, el alumno dispone <strong>de</strong>un histórico <strong>de</strong> acciones. Si el alumno cometeun error, se le informa <strong>de</strong> ello.• Interfaz Serie USART 8251A. Comocomplemento al tema 6 <strong>de</strong> SistemasElectrónicos Digitales, se ha <strong>de</strong>sarrol<strong>la</strong>do unsimu<strong>la</strong>dor <strong>de</strong> <strong>la</strong> interfaz serie USART 8251A[1]. La ventana principal <strong>de</strong> simu<strong>la</strong>ción semuestra en <strong>la</strong> figura 5. Al igual que en el caso<strong>de</strong> <strong>la</strong> PPI, se muestran todos sus registrosinternos y <strong>la</strong>s señales <strong>de</strong> interés.EntradaSalidaModoControlSinc. 1Sinc. 2INTERFAZ SERIE 8251AUSART 8251A0101 00110111 10110100 11010011 0111xxxx xxxxxxxx xxxxEstado 1011 0000>INM AL,DXDX = 300hLectura buffer datosAL Dirección <strong>de</strong> comando: 301hDirección <strong>de</strong> datos: 300hDSRSBD FE OE PE TxERxRTxRP/SS/PPERIFÉRICO SERIEFigura 5. Ventana <strong>de</strong>l simu<strong>la</strong>dor <strong>de</strong> <strong>la</strong> USART5. ConclusiónSe han presentado tres simu<strong>la</strong>dores <strong>de</strong> dispositivosperiféricos para <strong>la</strong> familia i80x86. La i<strong>de</strong>a <strong>de</strong>l<strong>de</strong>sarrollo <strong>de</strong> estos simu<strong>la</strong>dores ha surgido <strong>de</strong> <strong>la</strong>experiencia docente y <strong>de</strong> <strong>la</strong>s sugerencias <strong>de</strong> losalumnos <strong>de</strong> Sistemas Electrónicos Digitales.Pensamos que estos simu<strong>la</strong>dores ayudarán adichos alumnos en el próximo curso académico acompren<strong>de</strong>r mejor <strong>la</strong> asignatura y servirán comocomplemento a su <strong>la</strong>boratorio. Se han <strong>de</strong>sarrol<strong>la</strong>dopersiguiendo <strong>la</strong> máxima versatilidad <strong>de</strong> losmismos, cumpliendo los requisitos expuestos en e<strong>la</strong>partado dos. Nuestro propósito es continuar<strong>de</strong>sarrol<strong>la</strong>ndo nuevos simu<strong>la</strong>dores (PIC 8259,DMA 8237, timer 8254, etc.) que contribuyan a <strong>la</strong>formación <strong>de</strong> los alumnos en los sistemasmicroprocesador. La filosofía en su <strong>de</strong>sarrollo,permite <strong>la</strong> posibilidad <strong>de</strong> crear nuevos y potentessimu<strong>la</strong>dores que incluyan una combinación <strong>de</strong>interfaces programables y periféricos (DACs,ADCs, etc.), siempre persiguiendo simu<strong>la</strong>rfielmente <strong>la</strong> entrada/salida.Referencias[1] Intel. Microprocessor and PeripheralHandbook, Volumen I y II. 1989.[2] Microsoft. Macro Assembler. Programmer'sGui<strong>de</strong>. 1987[3] Microsoft. Co<strong>de</strong>view and Utilites. 1987


Una ayuda a <strong>la</strong> aplicación <strong>de</strong> técnicas heurísticas <strong>de</strong>optimizaciónJose Antonio Lozano Alonso, Francisco Javier Echarte AyerraDept. <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong> Computación e Inteligencia ArtificialUniversidad <strong>de</strong>l País Vasco/Euskal Herriko Unibertsitateae-mails: lozano@si.ehu.es <strong>la</strong>udix@infonegocio.comResumenEl presente artículo presenta una herramienta <strong>de</strong>ayuda a <strong>la</strong> implementación y experimentación contécnicas heurísticas <strong>de</strong> optimización. En concreto,<strong>la</strong>s técnicas <strong>de</strong> optimización a <strong>la</strong>s que da soporteson: el algoritmo <strong>de</strong> enfriamiento estadístico, losalgoritmos genéticos y <strong>la</strong> búsqueda tabú.Al mismo tiempo que se exponen <strong>la</strong>sprincipales características <strong>de</strong> <strong>la</strong> herramienta, seilustrará el uso que se hace <strong>de</strong> <strong>la</strong> misma en <strong>la</strong>asignatura “Optimización. Técnicas Avanzadas”.1. Introducción, Situación y MotivaciónLa asignatura “Optimización. TécnicasAvanzadas” [1] es una asignatura optativa <strong>de</strong>segundo ciclo, <strong>de</strong>ntro <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong>Ingeniero en Informática en <strong>la</strong> Universidad <strong>de</strong>lPaís Vasco. Dicha asignatura consta en el p<strong>la</strong>n <strong>de</strong>estudios con una carga lectiva <strong>de</strong> seis créditos(cuatro teóricos y dos prácticos). El número <strong>de</strong>alumnos matricu<strong>la</strong>dos en <strong>la</strong> asignatura osci<strong>la</strong> entreveinte y treinta y cinco. El primer coautor <strong>de</strong> <strong>la</strong>presente ponencia viene impartiendo estaasignatura durante los cuatro últimos años.Los contenidos teóricos <strong>de</strong> <strong>la</strong> asignatura secentran en <strong>la</strong> resolución <strong>de</strong> problemas <strong>de</strong>optimización combinatoria [3] mediante técnicasheurísticas. Las más <strong>de</strong>stacables son: búsquedalocal, enfriamiento estadístico (simu<strong>la</strong>tedannealing (a veces citado como: temple, recocidosimu<strong>la</strong>do, o enfriamiento simu<strong>la</strong>do)), búsquedatabú y algoritmos genéticos [2].La parte práctica <strong>de</strong> <strong>la</strong> asignatura consiste en <strong>la</strong>resolución <strong>de</strong> un problema <strong>de</strong> optimizacióncombinatoria mediante el uso <strong>de</strong> los algoritmosvistos en c<strong>la</strong>se y, variaciones <strong>de</strong> los mismosespecíficas para el problema concreto a resolver.Éstos son problemas clásicos <strong>de</strong> optimizacióncombinatoria como: el problema <strong>de</strong>l agenteviajero, el problema <strong>de</strong> <strong>la</strong> mochi<strong>la</strong>, el problema <strong>de</strong><strong>la</strong> partición <strong>de</strong>l grafo, etc.Una <strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>s a <strong>la</strong> que se enfrentabanlos alumnos al realizar <strong>la</strong> parte práctica <strong>de</strong> <strong>la</strong>asignatura era que, <strong>la</strong> implementación <strong>de</strong> losalgoritmos presentados en <strong>la</strong>s c<strong>la</strong>ses teóricas no essencil<strong>la</strong>. Esto implicaba que una mayor parte <strong>de</strong>ltiempo lo invertían en <strong>la</strong> implementación <strong>de</strong> uno<strong>de</strong> los algoritmos, quedando muy poco tiempopara <strong>la</strong> comparación <strong>de</strong> <strong>la</strong>s soluciones obtenidascon diferentes conjuntos <strong>de</strong> parámetros y <strong>de</strong>componentes para dicho algoritmo, y por supuestono pudiendo llevar a cabo una comparaciónexperimental con diferentes métodos.Dado que los algoritmos son conceptualmentefáciles <strong>de</strong> enten<strong>de</strong>r, <strong>la</strong> implementación en estecaso, no aportaba ningún conocimiento extra a losalumnos.Una solución a esta situación es <strong>la</strong> utilización<strong>de</strong> paquetes <strong>de</strong> software estándar que tuviesenimplementados los algoritmos. Sin embargo, noexiste actualmente ninguna herramienta queimplemente todos los algoritmos, y menos enlengua españo<strong>la</strong>. Esto suponía que los alumnos<strong>de</strong>bían familiarizarse con más <strong>de</strong> un paquete, loque implica nuevamente un gran esfuerzo.Para solucionar dicha dificultad hemose<strong>la</strong>borado una herramienta que supone una ayudaa <strong>la</strong> aplicación <strong>de</strong> estos algoritmos: recoge todoslos algoritmos vistos en c<strong>la</strong>se bajo un mismoentorno; tiene implementados un conjunto <strong>de</strong>componentes y <strong>de</strong> opciones que permiten <strong>la</strong>comparación experimental <strong>de</strong> diferentesalgoritmos; y a<strong>de</strong>más es abierta en el sentido <strong>de</strong>que es posible añadir nuevos componentes alsistema, <strong>de</strong> forma sencil<strong>la</strong>.


El resto <strong>de</strong>l artículo está organizado <strong>de</strong> <strong>la</strong>siguiente manera: <strong>la</strong> sección 2 <strong>de</strong>scribe en líneasgenerales <strong>la</strong> herramienta. La sección 3 trata sobre<strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> aumentar el VOpt,<strong>de</strong>dicándose <strong>la</strong> sección 4 a explicar el entorno. Lasección 5 apunta <strong>la</strong>s limitaciones <strong>de</strong>l sistema y setermina apuntando <strong>la</strong>s conclusiones en <strong>la</strong> secciónfinal.2. VOpt: Una herramienta <strong>de</strong> ayuda a <strong>la</strong>aplicación <strong>de</strong> técnicas heurísticas <strong>de</strong>optimización2.1 Aspectos generales y metodología <strong>de</strong>utilización básicaVOpt (Visual Optimization) [4] es unaherramienta <strong>de</strong> ayuda a <strong>la</strong> aplicación yexperimentación con técnicas heurísticas <strong>de</strong>optimización. Dicha herramienta se ha centrado entres algoritmos heurísticos (los más utilizadosatendiendo a <strong>la</strong> literatura <strong>de</strong>l área): el algoritmo <strong>de</strong>enfriamiento estadístico, los algoritmos genéticosy <strong>la</strong> búsqueda tabú.La herramienta codifica los componentesfundamentales <strong>de</strong> estas tres técnicas <strong>de</strong>optimización. De esta forma, el estudiante, unavez elegido el algoritmo a utilizar, <strong>de</strong>ci<strong>de</strong> <strong>de</strong>ntro<strong>de</strong>l conjunto <strong>de</strong> componentes disponibles aquellosque más le interesen. Esto permite que el usuarioconcentre su atención en <strong>la</strong> implementación <strong>de</strong> <strong>la</strong>función <strong>de</strong> coste o función objetivo <strong>de</strong>l problema<strong>de</strong> optimización a resolver.Una vez codificado el procedimiento queimplementa <strong>la</strong> función <strong>de</strong> coste y elegidos loscomponentes <strong>de</strong>l algoritmo, el sistema generacódigo C. Si se dispone <strong>de</strong> un compi<strong>la</strong>dor <strong>de</strong> C enel or<strong>de</strong>nador es posible compi<strong>la</strong>rlo <strong>de</strong>s<strong>de</strong> elentorno <strong>de</strong> VOpt, en caso contrario el código Cgenerado se pue<strong>de</strong> tras<strong>la</strong>dar a cualquier otramáquina que disponga <strong>de</strong> un compi<strong>la</strong>dor ycompi<strong>la</strong>rlo en dicha máquina.Si <strong>la</strong> compi<strong>la</strong>ción se realizó <strong>de</strong>ntro <strong>de</strong>lentorno, el sistema <strong>de</strong>vuelve los errores <strong>de</strong>compi<strong>la</strong>ción si es que estos existían (los asociadosa <strong>la</strong> codificación <strong>de</strong> <strong>la</strong> función objetivo).Finalmente, se dispondrá <strong>de</strong> un fichero ejecutable.Dicho fichero pue<strong>de</strong> ser ejecutado <strong>de</strong>s<strong>de</strong> elsistema y los datos <strong>de</strong> salida son almacenados enun archivo que gestiona VOpt.Dado que estos algoritmos utilizan <strong>de</strong> algunaforma <strong>la</strong> aleatoriedad, los resultados variarán <strong>de</strong>una ejecución a otra, por lo que resulta interesanterealizar varias ejecuciones si es que se quiereobtener alguna información <strong>de</strong> valor. Por estarazón, el sistema ofrece también algunasfunciones para calcu<strong>la</strong>r estadísticas sencil<strong>la</strong>sutilizando los ficheros <strong>de</strong> salida.2.2 Componentes básicos <strong>de</strong> los métodos <strong>de</strong>optimizaciónUn elemento común a todos los algoritmos <strong>de</strong>optimización heurísticos es <strong>la</strong> codificación <strong>de</strong> <strong>la</strong>solución. Cada solución a un problema <strong>de</strong>optimización dado <strong>de</strong>be codificarse <strong>de</strong> una formaconcreta que permita almacenarlo en el or<strong>de</strong>nador.La herramienta VOpt dispone por <strong>de</strong>fecto <strong>de</strong><strong>la</strong>s siguientes codificaciones: lista binaria, lista <strong>de</strong>reales, lista <strong>de</strong> enteros y permutaciones. Cada una<strong>de</strong> estas codificaciones dispone <strong>de</strong> dosinicializaciones diferentes, una aleatoria y otra apartir <strong>de</strong> un fichero <strong>de</strong> datos.El algoritmo <strong>de</strong> enfriamiento estadísticodispone <strong>de</strong>l siguiente conjunto <strong>de</strong> componentes:sistema <strong>de</strong> vecinos, longitud <strong>de</strong> <strong>la</strong>s ca<strong>de</strong>nas <strong>de</strong>Markov, función <strong>de</strong> reducción <strong>de</strong> <strong>la</strong> temperatura ycriterio <strong>de</strong> terminación. A<strong>de</strong>más <strong>de</strong> loscomponentes anteriores el sistema proporciona alusuario <strong>la</strong> posibilidad <strong>de</strong> establecer el valor inicial<strong>de</strong>l parámetro temperatura.En re<strong>la</strong>ción a los algoritmos genéticos loscomponentes configurables son: elección <strong>de</strong> <strong>la</strong>pob<strong>la</strong>ción inicial, operadores <strong>de</strong> selección, cruce ymutación y el criterio <strong>de</strong> parada. Los parámetros alos que se <strong>de</strong>be asignar valor son: probabilidad <strong>de</strong>cruce, probabilidad <strong>de</strong> mutación, tamaño <strong>de</strong> <strong>la</strong>pob<strong>la</strong>ción y longitud <strong>de</strong>l individuo.La búsqueda tabú dispone <strong>de</strong> los siguientescomponentes: sistema <strong>de</strong> vecinos, criterio <strong>de</strong>parada, criterios <strong>de</strong> aspiración. Los parámetrosque <strong>de</strong>ben ser establecidos son: longitud <strong>de</strong> <strong>la</strong> listatabú, tiempo que un atributo permanece tabú,longitud <strong>de</strong> <strong>la</strong> intensificación y <strong>de</strong> <strong>la</strong>diversificación.


3. VOpt: Un sistema abiertoUna <strong>de</strong> <strong>la</strong>s características a <strong>de</strong>stacar <strong>de</strong>l sistema esque es una herramienta abierta. Es <strong>de</strong>cir, esposible incorporar <strong>de</strong> forma sencil<strong>la</strong> nuevoscomponentes.Esta característica es fundamental si trabajamoscon algoritmos <strong>de</strong> optimización. Cada problematiene sus propias características, y por lo tantopue<strong>de</strong> ocurrir que los componentes que ofrece por<strong>de</strong>fecto el sistema no sean los más a<strong>de</strong>cuados. Porejemplo es posible que necesitemos unacodificación diferente.Para crear nuevos componentes el sistemadispone <strong>de</strong> un conjunto <strong>de</strong> ayudas. Por ejemplo,en el caso <strong>de</strong> una nueva codificación, una vez<strong>de</strong>finida <strong>la</strong> misma es necesario codificar también<strong>la</strong>s funciones <strong>de</strong> creación, inicialización, copia y<strong>de</strong>strucción. A <strong>la</strong> hora <strong>de</strong> crear <strong>la</strong>s funcionesanteriores, una <strong>de</strong> <strong>la</strong>s ayudas que proporciona elsistema es <strong>la</strong> cabecera <strong>de</strong> dicha función.Sin embargo no sólo es posible crearcomponentes, sino también modificar los yaexistentes. Por ejemplo, pue<strong>de</strong>n existir situacionesdon<strong>de</strong> sea interesante que un algoritmo genéticoutilice sólo mutación y no cruce. Cada algoritmoviene dado por una p<strong>la</strong>ntil<strong>la</strong>, luego en este casohay que construir una nueva p<strong>la</strong>ntil<strong>la</strong>. Laconstrucción <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s se facilita mediante<strong>la</strong> utilización <strong>de</strong> directivas, que hacen que algunoscomponentes <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> sean obligatoriosmientras que otros sean opcionales.4. VOpt: Un entorno amigableOtra característica a <strong>de</strong>stacar <strong>de</strong> <strong>la</strong> herramientaVOpt es su entorno. Proporciona un interfazgráfico con menús y ventanas <strong>de</strong> tipo Windows.El acceso a <strong>la</strong>s diferentes funcionalida<strong>de</strong>s sepue<strong>de</strong> realizar <strong>de</strong> diferentes formas permitiendo alusuario utilizar <strong>la</strong> que más le convenga en cadamomento.El sistema tiene integrado una ayuda don<strong>de</strong>a<strong>de</strong>más <strong>de</strong> contener información acerca <strong>de</strong> cadauna <strong>de</strong> sus funcionalida<strong>de</strong>s y componentes,proporciona una introducción a los métodos <strong>de</strong>optimización que se implementan. A<strong>de</strong>más cadacomponente tiene asociada una <strong>de</strong>scripción queaparece en <strong>la</strong> pantal<strong>la</strong> cuando se pincha con elratón en dicho elemento, <strong>de</strong> esta forma el usuariopue<strong>de</strong> conocer que representa el componente quese va a añadir al algoritmo que se quiere construir.La figura 1 muestra un posible estado <strong>de</strong>linterfaz. La información que refleja el entorno nosindica que estamos codificando un algoritmo <strong>de</strong>enfriamiento estadístico para un problema <strong>de</strong>minimización. El usuario se encuentra eligiendouna codificación para <strong>la</strong>s soluciones, teniendoseleccionada (TlistaBinaria) una lista <strong>de</strong> ceros yunos. Obsérvese también como se muestra elcódigo C <strong>de</strong> dicha componente.5. VOpt: Puntos débilesVOpt también tiene algunos puntos que sonsusceptibles <strong>de</strong> mejora. El principal problema esque en <strong>la</strong> actualidad, únicamente se ejecuta <strong>de</strong>forma correcta bajo Windows NT. El sistema fue<strong>de</strong>sarrol<strong>la</strong>do por el segundo coautor <strong>de</strong> esteescrito, como proyecto fin <strong>de</strong> carrera en el año1999, y <strong>de</strong>s<strong>de</strong> entonces <strong>la</strong> tecnología ha superadoel sistema operativo Windows NT. Por supuestono se dispone <strong>de</strong> ningún soporte técnico, ni estáprevista ninguna actualización.En re<strong>la</strong>ción con <strong>la</strong>s capacida<strong>de</strong>s <strong>de</strong> <strong>la</strong>herramienta en sí, hay aspectos que podrían sermejorados. Por ejemplo, <strong>la</strong>s herramientas <strong>de</strong> quese dispone para analizar los resultados <strong>de</strong>diferentes ejecuciones son muy básicas, y en <strong>la</strong>mayoría <strong>de</strong> los casos hay que utilizar otrosprogramas auxiliares (Excel, SPSS, etc.).Otro punto débil es el control <strong>de</strong> <strong>la</strong>sejecuciones y <strong>de</strong> los datos que se generan. Porejemplo, el establecimiento <strong>de</strong> los parámetros paraestos algoritmos se realiza en <strong>la</strong> mayoría <strong>de</strong> loscasos tras experimentar con ciertos conjuntos <strong>de</strong>ellos. Una persona experta en <strong>la</strong> aplicación <strong>de</strong>estos algoritmos es capaz <strong>de</strong> <strong>de</strong>scubrir fallos uobtener mejores conjuntos <strong>de</strong> parámetrossimplemente observando una traza <strong>de</strong> <strong>la</strong> ejecución<strong>de</strong>l algoritmo (por ejemplo en el caso <strong>de</strong><strong>la</strong>lgoritmo <strong>de</strong> enfriamiento estadístico, <strong>la</strong>información que <strong>de</strong>bería proporcionar <strong>la</strong> traza es:valor <strong>de</strong>l parámetro temperatura, solución actual,solución vecina elegida, número <strong>de</strong> aceptados conel valor <strong>de</strong> t fijo y mejor solución conseguidahasta el momento). Desafortunadamente elsistema actual no permite <strong>la</strong> obtención <strong>de</strong> este tipo<strong>de</strong> trazas.


Figura 1. Ejemplo <strong>de</strong> uso <strong>de</strong>l entorno VOpt6. ConclusionesEn este escrito hemos presentado el softwareVOpt. Este software constituye una ayuda en <strong>la</strong>aplicación y experimentación con algoritmosheurísticos <strong>de</strong> optimización. El entornoproporciona <strong>la</strong> oportunidad <strong>de</strong> que el usuario secentre en <strong>la</strong> implementación <strong>de</strong> <strong>la</strong> función objetivoobviando los <strong>de</strong>talles <strong>de</strong> <strong>la</strong> implementación <strong>de</strong><strong>la</strong>lgoritmo <strong>de</strong> optimización. Al mismo tiempo elsistema aúna bajo un mismo entorno tres técnicasque optimización hasta ahora dispersas enpaquetes diferentes. Finalmente <strong>de</strong>stacar que elsistema es un sistema abierto que permite añadirnuevos componentes <strong>de</strong> forma sencil<strong>la</strong>.La utilización <strong>de</strong> VOpt en <strong>la</strong> asignatura hasido muy satisfactoria. Los alumnos han realizadoexperimentos con varias técnicas <strong>de</strong> optimización,adquiriendo mas conocimiento experimenta<strong>la</strong>cerca <strong>de</strong> su funcionamiento.Agra<strong>de</strong>cimientosLos autores <strong>de</strong>sean agra<strong>de</strong>cer <strong>la</strong>s sugerencias <strong>de</strong> <strong>la</strong>profesora Susana Rodríguez.Referencias[1] Guia Docente <strong>de</strong> <strong>la</strong> Facultad <strong>de</strong> Informática2001-2002. Universidad <strong>de</strong>l País Vasco. SanSebastián.[2] C. Reeves. Mo<strong>de</strong>rn heuristic techniques forcombinatorial optimization. B<strong>la</strong>ckwellscientific publications, 1993.[3] C. Papadimitriou y K. Steiglitz. Combinatorialoptimization: Algorithms and complexity.Prentice-Hall, 1982.[4] F. Echarte. Entorno <strong>de</strong> ayuda a <strong>la</strong> aplicación<strong>de</strong> técnicas <strong>de</strong> optimización. Proyecto fin <strong>de</strong>carrera.. Fac. Informática UPV-EHU, 1999.


ENTORNO MULTIMEDIA DE APOYO A LA DOCENCIAJosé Poveda, Julian GutierrezDepartamento <strong>de</strong> InformáticaUniversitat <strong>de</strong> València46100 Valenciae-mail: jose.f.poveda@uv.esResumenUn aspecto muy importante en <strong>la</strong> enseñaza es elseguimiento y evaluación continuada <strong>de</strong>l alumno alo <strong>la</strong>rgo <strong>de</strong>l periodo en el cual se imparte <strong>la</strong>asignatura. Por <strong>de</strong>sgracia, en aquellos estudiosuniversitarios que presentan masificación <strong>de</strong>asignaturas, cubrir estos objetivos con el gradoque sería <strong>de</strong>seable no es siempre posible.En el presente artículo exponemos, <strong>la</strong> concepción,especificación, funcionamiento y resultados <strong>de</strong>una experiencia piloto con un sistema tutor para elseguimiento y evaluación continuada <strong>de</strong><strong>la</strong>lumnado. El sistema tutor, concebido como unentorno multimedia <strong>de</strong> apoyo a <strong>la</strong> docencia bajouna arquitectura cliente-servidor es unamaterialización particu<strong>la</strong>r <strong>de</strong> los genéricamentel<strong>la</strong>mados Sistemas Tutores Inteligentes.El sistema tutor, ha sido probado durante el cursoacadémico 00-01, 01-02, en <strong>la</strong> asignatura <strong>de</strong>Informática II <strong>de</strong> <strong>la</strong> Diplomatura <strong>de</strong>Biblioteconomía y Documentación <strong>de</strong> <strong>la</strong>Universitat <strong>de</strong> València.1. IntroducciónA lo <strong>la</strong>rgo <strong>de</strong> nuestra experiencia docente hemos<strong>de</strong>tectado ciertos aspectos que cada vez nosparecen más importantes para el correctop<strong>la</strong>nteamiento y funcionamiento <strong>de</strong> cualquierasignatura como son el saber:1. ¿Cómo apren<strong>de</strong>n los alumnos?2. ¿Cuándo apren<strong>de</strong>n?3. ¿Sobre qué contenidos específicos encuentranproblemas?4. ¿Qué nivel previo tiene <strong>la</strong> c<strong>la</strong>se?5. ¿Cómo evoluciona el nivel <strong>de</strong> un alumnoconcreto, a lo <strong>la</strong>rgo <strong>de</strong>l curso?6. Dado un nivel, ¿qué tanto por ciento <strong>de</strong> <strong>la</strong>c<strong>la</strong>se superaría dicho nivel en unaevaluación final y oficial <strong>de</strong> <strong>la</strong> asignatura?.En este sentido, <strong>la</strong>s preguntas que nos p<strong>la</strong>nteamosson muchas y <strong>de</strong> gran interés para el correctop<strong>la</strong>nteamiento <strong>de</strong> una asignatura. El conocimiento<strong>de</strong> estos interrogantes, establecería una interacciónfundamental entre el profesor y <strong>la</strong> c<strong>la</strong>se. Estacomunicación bidireccional favorecería <strong>de</strong> formaglobal el proceso <strong>de</strong> enseñanza-aprendizaje.A lo <strong>la</strong>rgo <strong>de</strong> nuestra experiencia docente se haobservado que aquellos alumnos querepetidamente encuentran dificulta<strong>de</strong>s en <strong>la</strong>comprensión <strong>de</strong> <strong>la</strong> materia, si éstas no sonsubsanadas, conducen a un irremediable abandono<strong>de</strong>l <strong>la</strong> asignatura por parte <strong>de</strong>l alumno.Motivados por esta estrecha re<strong>la</strong>ción entre <strong>la</strong>sdificulta<strong>de</strong>s que encuentran los alumnos y e<strong>la</strong>bandono <strong>de</strong> <strong>la</strong> asignatura, se cree necesaria <strong>la</strong>e<strong>la</strong>boración <strong>de</strong> algún sistema que nos informe <strong>de</strong><strong>la</strong> marcha <strong>de</strong>l estudiante y <strong>de</strong> sus posibles<strong>de</strong>ficiencias. Por otro <strong>la</strong>do, el sistema informa alpropio estudiante <strong>de</strong> su nivel <strong>de</strong> conocimientos en<strong>la</strong> asignatura, <strong>de</strong> <strong>la</strong>s <strong>de</strong>ficiencias <strong>de</strong>tectadas y <strong>de</strong>los conocimientos que <strong>de</strong>be reforzar para <strong>la</strong>subsanación <strong>de</strong> tales <strong>de</strong>ficiencias.Este sistema tutor ha sido implementado en unap<strong>la</strong>taforma web, que toma <strong>la</strong>s entradas <strong>de</strong> los test<strong>de</strong> evaluación efectuados <strong>de</strong> forma personalizadaa cada alumno <strong>de</strong> forma que el sistema expertoinforma al alumno <strong>de</strong> su estado <strong>de</strong> conocimientossobre el tema <strong>de</strong>l que ha sido evaluado o, <strong>de</strong> <strong>la</strong>


asignatura en general, para el caso <strong>de</strong> un control<strong>de</strong> evaluación continua <strong>de</strong> contenidos.El presente artículo se ha dividido <strong>de</strong> <strong>la</strong> siguientemanera: en primer lugar intentamos, analizar <strong>la</strong>sbases <strong>de</strong>l proceso enseñanza-aprendizaje, ensegundo lugar, estudiamos con <strong>de</strong>talle el sistematutor inteligente. Una vez vistas <strong>la</strong>s diferentespartes <strong>de</strong>l sistema, <strong>de</strong>finiremos los objetivosfuncionales <strong>de</strong>l sistema experto.Aunque el sistema ha sido probado para <strong>la</strong>asignatura <strong>de</strong> primer curso, Informática II <strong>de</strong> <strong>la</strong>Diplomatura en Biblioteconomía yDocumentación, cuyos contenidos correspon<strong>de</strong>n afundamentos <strong>de</strong> <strong>la</strong> informática y <strong>la</strong> programación,el sistema ha sido diseñado e implementado paraaceptar los contenidos <strong>de</strong> cualquier asignatura conun formato establecido en XML. Para finalizar,mostraremos los resultados obtenidos en <strong>la</strong> pruebapiloto <strong>de</strong> dicho sistema, así como <strong>la</strong>s conclusionesque se extraen <strong>de</strong> dichos resultados.2. El proceso enseñanza-aprendizajeTradicionalmente, el papel que <strong>de</strong>sempeña elpersonal docente con respecto a los alumnosdurante el proceso <strong>de</strong> aprendizaje, se limita a unaevaluación <strong>de</strong> los conocimientos adquiridos, quemuchas veces se realiza por medio <strong>de</strong> un simpleexamen. La universidad viene utilizando unsistema que se basa en <strong>la</strong> “<strong>de</strong>sasistencia liberal”[BLO71], en don<strong>de</strong> el estudiante carece <strong>de</strong> unsistema <strong>de</strong> control y <strong>de</strong> tutorización sistemática.Erróneamente se ha supuesto que <strong>la</strong> ayudapedagógica que <strong>de</strong>be recibir el estudiante está enre<strong>la</strong>ción con su edad o madurez, y que por tanto,lo principal para el profesor es el dominio <strong>de</strong> <strong>la</strong>materia y no tanto <strong>de</strong> <strong>la</strong> pedagogía.Las c<strong>la</strong>ses teóricas han sido y continúan siendo <strong>la</strong>principal actividad <strong>de</strong> <strong>la</strong> Universidad. Se<strong>de</strong>sarrol<strong>la</strong>n normalmente como c<strong>la</strong>ses magistrales,teniendo como principal fin, presentarsistemáticamente con rigor científico y c<strong>la</strong>rida<strong>de</strong>xpositiva, el contenido <strong>de</strong> <strong>la</strong> asignatura. Estatradición viene dada por el profundo arraigo quetiene este esquema, y por <strong>la</strong> dificultad <strong>de</strong> crearcambios sustanciales en el mismo. Esta dificulta<strong>de</strong>s <strong>de</strong>bida a <strong>la</strong> masificación <strong>de</strong> <strong>la</strong>s carrerasuniversitarias, don<strong>de</strong> un gran número <strong>de</strong> alumnos,no presentan ni <strong>la</strong> motivación, ni <strong>la</strong> preparacióna<strong>de</strong>cuada [MAR97]. Este comportamiento<strong>de</strong>sanima al profesor, que por otra parte y, <strong>de</strong>bidoa <strong>la</strong> necesidad <strong>de</strong> reconocimiento, se centra másen aspectos investigadores que en <strong>la</strong>s cuestionesdocentes.Debido a estos problemas, ha sido necesario unanálisis profundo para tratar <strong>de</strong> solventar <strong>la</strong>s<strong>de</strong>ficiencias en el sistema educativo y <strong>de</strong>tectar <strong>la</strong>forma en que los cambios sociales y tecnológicoscontribuyen a <strong>la</strong> generación <strong>de</strong> nuevasnecesida<strong>de</strong>s en <strong>la</strong> sociedad.Los estudios realizados sobre los procesos <strong>de</strong>aprendizaje reve<strong>la</strong>n <strong>la</strong> necesidad <strong>de</strong> insistir en losaspectos cualitativos <strong>de</strong> <strong>la</strong> educación y en sucarácter continuo e interdisciplinario. Por tanto, elprofesor no <strong>de</strong>be limitarse a <strong>la</strong> transmisión <strong>de</strong>conocimientos, sino que <strong>de</strong>be <strong>de</strong> facilitar <strong>la</strong> <strong>la</strong>bor<strong>de</strong> aprendizaje por parte <strong>de</strong>l alumno, creando porejemplo nuevos hábitos <strong>de</strong> estudio, facilitando eltrabajo individual y <strong>la</strong> co<strong>la</strong>boración en equipo, eluso <strong>de</strong> <strong>la</strong> red informática, así como <strong>la</strong>scapacida<strong>de</strong>s fundamentales <strong>de</strong> expresar i<strong>de</strong>as yargumentar i<strong>de</strong>as.En este sentido, <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong> informacióny <strong>la</strong> comunicación (TIC’s) en general eINTERNET en particu<strong>la</strong>r, son el marco a<strong>de</strong>cuadopara el <strong>de</strong>sarrollo <strong>de</strong> un sistema que nos permita elseguimiento y evaluación personalizada <strong>de</strong> cadauno <strong>de</strong> los alumnos pertenecientes a un grupoin<strong>de</strong>pendientemente <strong>de</strong>l grado <strong>de</strong> masificación en<strong>la</strong>s au<strong>la</strong>s.3. Los sistemas tutores inteligentesUn sistema tutor inteligente [PAP98] es unsistema capaz <strong>de</strong> ayudar al estudiante en e<strong>la</strong>prendizaje <strong>de</strong> diversos conocimientos.Se podría <strong>de</strong>cir también que se trata <strong>de</strong> un sistemasemi-presencial <strong>de</strong> conocimiento, <strong>de</strong>bido a que elprofesor no está presente y es el propio sistema elque guía al alumno en <strong>la</strong> asimi<strong>la</strong>ción <strong>de</strong> losdiferentes conceptos.Cualquier sistema tutor inteligente está formadopor cinco módulos bien diferenciados [PAP98],como se muestra en <strong>la</strong> figura 1.


MODELOESTUDIANTECONOCIMIENTODEL DOMINIOLinux. Esta <strong>de</strong>cisión se <strong>de</strong>be a que el sistemaoperativo y <strong>la</strong> base <strong>de</strong> datos seleccionadas son <strong>de</strong>libre distribución con <strong>la</strong> ventaja <strong>de</strong> que el alumnopue<strong>de</strong> encontrar el software y una completadocumentación <strong>de</strong> forma gratuita.MODELOPEDAGÓGICOFigura 1: Módulos <strong>de</strong> un sistema tutor inteligenteLas tareas que <strong>de</strong>sarrol<strong>la</strong> cada uno <strong>de</strong> estosmódulos <strong>la</strong>s po<strong>de</strong>mos resumir como sigue:1.- Mo<strong>de</strong>lo <strong>de</strong>l estudiante: recoge datos históricossobre los resultados y características <strong>de</strong>l alumno.2.- Mo<strong>de</strong>lo pedagógico: es el módulo capaz <strong>de</strong>pronosticar <strong>la</strong> evolución <strong>de</strong>l alumno y sucorrespondiente solución (en este módulo seintegra nuestro Sistema Experto).3.- Mo<strong>de</strong>lo <strong>de</strong> comunicación: encargado <strong>de</strong>establecer el interfaz o comunicación entre elestudiante y el sistema.4.- Conocimiento <strong>de</strong>l dominio: módulo que recogetoda <strong>la</strong> información sobre <strong>la</strong> asignatura (temario,problemas, ejercicios, esquemas, exámenes, etc.).5.- Mo<strong>de</strong>lo experto: Es capaz <strong>de</strong> discernir <strong>la</strong>srespuestas <strong>de</strong>l alumno hacia el sistema y verificarsi son correctas o no. A<strong>de</strong>más <strong>de</strong>be <strong>de</strong>finir unperfil en el nivel <strong>de</strong> conocimientos <strong>de</strong>l alumno.3.1 Diseño <strong>de</strong>l sistemaMODELO DECOMUNICACIÓNMODELOEXPERTOLas características <strong>de</strong> implementación <strong>de</strong> losdiferentes módulos <strong>de</strong>l sistema tutor inteligenteson <strong>la</strong>s siguientes:1.- Mo<strong>de</strong>lo <strong>de</strong>l estudiante. Los datos re<strong>la</strong>tivos a<strong>la</strong>lumno y sus registros <strong>de</strong> evaluación sonalmacenados en <strong>la</strong> base <strong>de</strong> datos <strong>de</strong>l sistemaimplementada con MySQL sobre p<strong>la</strong>taforma2.- Mo<strong>de</strong>lo pedagógico. Este módulo básicamenteestá compuesto por un sistema experto basado enreg<strong>la</strong>s e implementado en código C++ conconexión a <strong>la</strong> base <strong>de</strong> datos a través <strong>de</strong> ODBC,que permite el acceso a los datos específicos <strong>de</strong>cada estudiante dado <strong>de</strong> alta en el sistema. Elsistema experto genera test <strong>de</strong> evaluación a tresniveles, basados en <strong>la</strong> taxonomía <strong>de</strong> Bloom, yadaptados al perfil <strong>de</strong>l estudiante.3.- Mo<strong>de</strong>lo <strong>de</strong> comunicación. La interfaz <strong>de</strong>lsistema ha sido implementada en página web conDHTML y php para el acceso a <strong>la</strong> base <strong>de</strong> datos<strong>de</strong>l sistema.4.- Conocimiento <strong>de</strong>l dominio. El sistema presentaun entorno multimedia con material docente parael estudio <strong>de</strong> <strong>la</strong> asignatura en página web. Por otraparte y <strong>de</strong> forma activa, el sistema tutor evalúa a<strong>la</strong>lumno sobre los objetivos docentes <strong>de</strong>finidos encada tema a partir <strong>de</strong> preguntas test c<strong>la</strong>sificadas atres niveles y almacenadas en <strong>la</strong> bases <strong>de</strong> datos <strong>de</strong>lsistema. La entrada <strong>de</strong> los datos mo<strong>de</strong><strong>la</strong> lossiguientes aspectos para cada pregunta:1. Enunciado <strong>de</strong> <strong>la</strong> pregunta2. Conceptos que cubre3. Opciones posibles4. Respuesta correcta5. Nivel <strong>de</strong> <strong>la</strong> pregunta5.- Mo<strong>de</strong>lo experto <strong>de</strong> corrección. La corrección<strong>de</strong> los test se realiza directamente por acceso a <strong>la</strong>base <strong>de</strong> datos a través <strong>de</strong> php. Posteriormente elsistema experto analiza los resultados y emite uninforme.4. Evaluación <strong>de</strong>l sistemaEl sistema ha sido utilizado en <strong>la</strong> Diplomatura <strong>de</strong>Biblioteconomía y Documentación <strong>de</strong> <strong>la</strong>Universita <strong>de</strong> València, para <strong>la</strong> asignatura <strong>de</strong>primer curso <strong>de</strong> <strong>la</strong> diplomatura, Informática II.Hay que <strong>de</strong>cir que no se trata <strong>de</strong> una carreratécnica, si bien aborda algunos aspectostecnológicos, y tiene una gran componente en


informática. Los alumnos que acce<strong>de</strong>n a <strong>la</strong>titu<strong>la</strong>ción, lo hacen principalmente con un perfilmuy poco tecnológico, por lo que losconocimientos en informática son mínimos onulos. Esto hace, especialmente dificultoso <strong>la</strong>consecución <strong>de</strong> los objetivos propuestos si elp<strong>la</strong>nteamiento se hiciera <strong>de</strong> forma análoga a comose haría en una carrera técnica. Es por ello, que el<strong>de</strong>sarrollo <strong>de</strong> un sistema que apoye, refuerce yoriente al alumno en el proceso <strong>de</strong> enseñanza, <strong>de</strong>forma adicional a <strong>la</strong> docencia impartida en <strong>la</strong>sau<strong>la</strong>s es especialmente crítico en este marco <strong>de</strong>trabajo, para po<strong>de</strong>r alcanzar unos objetivosdocentes a<strong>de</strong>cuados.El sistema tutor, ha sido probado durante el cursoacadémico 00-01, 01-02, en <strong>la</strong> asignatura <strong>de</strong>Informática II <strong>de</strong> <strong>la</strong> Diplomatura enBiblioteconomía y Documentación <strong>de</strong> <strong>la</strong>Universitat <strong>de</strong> València.5. Resultados obtenidosTras <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l sistema tutor, <strong>la</strong>motivación por <strong>la</strong> asignatura que se eligió comoasignatura piloto y <strong>la</strong> integración <strong>de</strong> los alumnosen <strong>la</strong> misma ha aumentado <strong>de</strong> forma consi<strong>de</strong>rableen los últimos años. En el curso académico 99-00el porcentaje <strong>de</strong> alumnos no presentados enprimera convocatoria en <strong>la</strong> asignatura InformáticaII <strong>de</strong> <strong>la</strong> Diplomatura en Biblioteconomía yDocumentación era <strong>de</strong>l 60% y <strong>de</strong>l 40% <strong>de</strong> lospresentados, el número <strong>de</strong> aprobados era <strong>de</strong> un30%. Después <strong>de</strong> dos años <strong>de</strong> uso <strong>de</strong>l sistema elnúmero <strong>de</strong> no presentados a disminuidoconsi<strong>de</strong>rablemente a un 20% y <strong>de</strong> los presentadosel número <strong>de</strong> aprobados es <strong>de</strong> un 60% en primeraconvocatoria.6. ConclusiónSe ha presentado un sistema multimedia para elseguimiento y evaluación continuada <strong>de</strong>l alumno.El sistema ha sido pensado para su uso simultáneoy complementario al esquema clásico <strong>de</strong> c<strong>la</strong>semagistral.El sistema ha sido probado durante los cursosacadémicos 00-01, 01-02 con alumnos <strong>de</strong> primercurso <strong>de</strong> <strong>la</strong> diplomatura en Biblioteconomía yDocumentación <strong>de</strong> <strong>la</strong> Universitat <strong>de</strong> València loscuales cursaban <strong>la</strong> asignatura <strong>de</strong> Informática II.Tras un análisis <strong>de</strong> los resultados obtenidos enestos dos años <strong>de</strong> evaluación, llegamos a <strong>la</strong>ssiguientes conclusiones:El sistema no so<strong>la</strong>mente constituye un perfectocomplemento al sistema tradicional <strong>de</strong> enseñanzasino que orienta <strong>de</strong> forma personalizada al alumnoen <strong>la</strong> evolución <strong>de</strong> sus estudios por medio <strong>de</strong>lsistema experto que analiza los erroresconceptuales <strong>de</strong> fondo que el alumno comete enlos test <strong>de</strong> evaluación. No se trata pues <strong>de</strong> un merorepositorio <strong>de</strong> documentación a <strong>la</strong> cual pue<strong>de</strong>acce<strong>de</strong>r el alumno para recoger material <strong>de</strong> <strong>la</strong>asignatura ni tampoco <strong>de</strong> un corrector <strong>de</strong>exámenes automatizado, sino que el sistemapresenta un <strong>la</strong>do reactivo en <strong>la</strong> interacción con elusuario que tiene en cuenta <strong>la</strong> evolución en elproceso <strong>de</strong> aprendizaje <strong>de</strong>l alumno.Por otra parte, el profesor tiene criteriosadicionales para <strong>la</strong> evaluación <strong>de</strong>l alumno, ya queel sistema proporciona <strong>la</strong> trayectoria <strong>de</strong> cada uno<strong>de</strong> los alumnos en su proceso <strong>de</strong> aprendizaje. Elprofesor, por tanto, pue<strong>de</strong> disponer <strong>de</strong> parámetroscomo: el tiempo <strong>de</strong>dicado por el alumno a cadatema, los resultados parciales obtenidos, así como<strong>de</strong>l nivel global <strong>de</strong> asimi<strong>la</strong>ción <strong>de</strong> <strong>la</strong> materia.7. Referencias[DEN98] Denis Zambrano, J., et al..Tecnologías<strong>de</strong> <strong>la</strong> información en <strong>la</strong> educación. AnayaMultimedia. 1998.[PAP98] Paproch, Kenneth. Distance Learning:The ultimate Gui<strong>de</strong>, London, Sage Publications,1998.[DOM99] Doménech Betoret, F. .Proceso <strong>de</strong>enseñanza/aprendizaje universitario.Universitas,Universidad Jaume I. 1999.[BLO71] Bloom B. Taxonomía <strong>de</strong> los objetivos<strong>de</strong> <strong>la</strong> educación. Ateneo. Buenos Aires. 1971.[MAR97] Martín G., Morales F., Cerverón V.Re<strong>la</strong>ción entre los resultados <strong>de</strong> <strong>la</strong> prueba <strong>de</strong>acceso a <strong>la</strong> universidad y el rendimientoacadémico en el primer curso universitario.Universitat <strong>de</strong> València. 1999.


Depuración <strong>de</strong> Programas Haskell a partir <strong>de</strong>Especificaciones PRE/POST en HaskellJ. M. Burgos, J. Galve, J. García, M. SutilDept. Lenguajes y Sistemas Informáticos (LSIIS)Universidad Politécnica <strong>de</strong> Madrid28660 Boadil<strong>la</strong> <strong>de</strong>l Monte - Madri<strong>de</strong>-mail: {jmburgos, jgalve, juliog, msutil}@fi.upm.esResumen 1En <strong>la</strong> siguiente propuesta 2 se presenta una versióninicial <strong>de</strong> <strong>la</strong> herramienta <strong>de</strong> <strong>de</strong>puración <strong>de</strong>c<strong>la</strong>ratival<strong>la</strong>mada H4D2 3 , <strong>la</strong> cual forma parte <strong>de</strong> unproyecto <strong>de</strong> investigación aplicado a <strong>la</strong> innovacióneducativa [8].El objetivo principal <strong>de</strong> este trabajo es ofrecerherramientas metodológicas e instrumentales quefaciliten el uso <strong>de</strong> metodos formales en un primercurso <strong>de</strong> programación en Haskell [5].1. Un <strong>de</strong>purador <strong>de</strong> programas a partir<strong>de</strong> <strong>la</strong>s Especificaciones PRE/POST1.1. Estructura <strong>de</strong>l Depurador H4D2La herramienta H4D2 <strong>de</strong>be permitir al operar enlos modos <strong>de</strong>puración / no_<strong>de</strong>puración. Parahacer esto posible, <strong>la</strong> implementación incluye unaconstante <strong>de</strong>bug que actúa a modo <strong>de</strong> f<strong>la</strong>g para<strong>de</strong>purar o no. Para pasar <strong>de</strong> un modo a otro, se<strong>de</strong>be cambiar el valor <strong>de</strong> esta constante(True/False).-- F<strong>la</strong>g <strong>de</strong> <strong>de</strong>puracion<strong>de</strong>bug :: Bool<strong>de</strong>bug = True1Una versión completa <strong>de</strong> este trabajo pue<strong>de</strong>encontrarse en [9].2 Este trabajo ha sido parcialmente financiado por elproyecto español TIC 01-2798.3 Haskell for Dec<strong>la</strong>rative Debugging-- Mensaje <strong>de</strong> error en PRECONDICIONerror_pre :: String -> Stringerror_pre nombreFuncion ="ERROR EN PRECONDICION: " ++ nombreFuncion-- Mensaje <strong>de</strong> error en POSTCONDICIONerror_post :: String -> Stringerror_post nombreFuncion ="ERROR EN POSTCONDICION: " ++ nombreFuncionEl modo en que opera el <strong>de</strong>purador <strong>de</strong>c<strong>la</strong>rativoH4D2 sigue <strong>la</strong> secuencia lógica <strong>de</strong>finida por <strong>la</strong>estructura <strong>de</strong> <strong>la</strong>s especificaciones PRE/POST. Así,dada una función Haskell con <strong>la</strong> estructura<strong>de</strong>scrita en <strong>la</strong> sección 3.1, <strong>la</strong> ejecución <strong>de</strong> <strong>la</strong><strong>de</strong>puración seguirá <strong>la</strong> siguiente secuencia <strong>de</strong>evaluaciones:DEPURADOR (pre, funcion, post) (x) =Paso 1) EVALUAR pre (x)Paso 2) resultado = EVALUAR funcion (x)Paso 3) EVALUAR post (x, resultado)Para <strong>la</strong> implementación, se ha optado por <strong>la</strong><strong>de</strong>finición <strong>de</strong> una función <strong>de</strong> or<strong>de</strong>n superior<strong>de</strong>purar que actúa sobre <strong>la</strong>s funciones pre, post yfuncion. Se ha añadido, así mismo, un parámetro<strong>de</strong> tipo ca<strong>de</strong>na <strong>de</strong> texto que representa el nombre<strong>de</strong> <strong>la</strong> función que se quiere <strong>de</strong>purar. Este últimoparámetro lo utilizaremos más a<strong>de</strong><strong>la</strong>nte paraasociar los mensajes <strong>de</strong> <strong>de</strong>puración a <strong>la</strong> funciónque se evalúa.


-- Interprete <strong>de</strong> <strong>de</strong>puración<strong>de</strong>purar :: (b -> Bool, b -> a, b -> a ->Bool, String) -> b -> a<strong>de</strong>purar (pre, funcion, post, nombre) (x) =eval_PRE (pre (x))(eval_POST ((funcion x) (post x) nombre)nombreObsérvese, que <strong>la</strong> secuencia <strong>de</strong> evaluaciones seimplementa mediante composición <strong>de</strong> funciones(eval_PRE, eval_POST). La anterior secuencia <strong>de</strong>evaluaciones pue<strong>de</strong> interrumpirse si bien <strong>la</strong>precondición o <strong>la</strong> postcondición no se cumplen.-- Función que evalúa <strong>la</strong> PRECONDICIÓNeval_PRE :: Bool -> a -> String -> aeval_PRE pre funcion nombre =if <strong>de</strong>bug thenif pre then funcionelse error (error_en_pre nombre)else funcion-- Función que evalua <strong>la</strong> POSTCONDICIONeval_POST :: a -> (a->Bool) -> String -> aeval_POST funcion post nombre =if <strong>de</strong>bug thenif post funcion then funcionelse error (error_en_post nombre)else funcionComo pue<strong>de</strong> verse, utilizamos el valor <strong>de</strong> <strong>la</strong>constante <strong>de</strong>bug para evaluar en modo <strong>de</strong>puración(evaluar <strong>la</strong> precondición y <strong>la</strong> postcondición) omodo normal. Finalmente, caso <strong>de</strong> que seincump<strong>la</strong> alguna <strong>de</strong> <strong>la</strong>s condiciones, <strong>de</strong>bedispararse una excepción y finalizar <strong>la</strong> ejecución.Esto lo realizan <strong>la</strong>s siguientes funciones error_prey error_post, <strong>la</strong>s cuales están parametrizadas conel nombre <strong>de</strong> <strong>la</strong> función que estamos <strong>de</strong>purando.2. Ejemplos <strong>de</strong> DepuraciónA continuación se presentan 2 ejemplosrepresentativos <strong>de</strong>l uso <strong>de</strong> <strong>la</strong> técnica propuestapara <strong>de</strong>purar programas Haskell. Los ejemplos sepresentan ya con <strong>la</strong> conversión <strong>de</strong> especificación a<strong>de</strong>puración.2.1. Ejemplo 1: “Número Primo”“Determinar si un número n ∈+ es primo”.Para resolver el problema <strong>de</strong>finimos <strong>la</strong> funciónauxiliar hay_divisor, <strong>la</strong> cual habíamosespecificado y se ha obtenido <strong>la</strong> siguiente versión:import Debug-- PROBLEMA: Determinar si en [2, x] hay-- algún divisor <strong>de</strong> nhay_divisor :: (Int, Int) -> Boolhay_divisor = <strong>de</strong>purar (pre,fun,post,name)where-- name :: Stringname = "hay_divisor"-- pre :: (Int,Int) -> Boolpre (x, n) = n > 0-- funcion :: (Int,Int) -> Boolfun (1, n) = Falsefun (x, n) = (n `mod` x) ||hay_divisor (x-1, n)-- post :: (Int,Int) -> Bool -> Boolpost (x,n) res = res ==(existe (ini,sig,min) (\y->True)div_inf)(x,n)-- ini :: (Int,Int) -> (Int,Int,Int)ini (x, n) = (2, x, n)-- sig :: (Int,Int,Int) -> (Int,Int,Int)sig (inf,sup,n) = (inf+1,sup, n)-- min :: (Int,Int,Int) -> Boolminimal (inf,sup,_) = (inf > sup)-- div_inf :: (Int,Int,Int) -> Booldiv_inf (inf,sup,n) = divi<strong>de</strong> (inf,n)Ahora ya, <strong>de</strong>scribimos <strong>la</strong> versión <strong>de</strong> <strong>de</strong>puración<strong>de</strong>l problema <strong>de</strong> calcu<strong>la</strong>r si un número es primo ono, como sigue:-- PROBLEMA: Determinar si un número n es-- primo.es_primo :: Int -> Booles_primo = <strong>de</strong>purar (pre, fun, post, name)where-- name :: Stringname= "es_primo"-- pre :: Int -> Boolpre n = n > 0-- fun :: Int -> Boolfun n = (n == 1) || (n == 2) ||not (hay_divisor (n `div` 2, n))-- post :: Int -> Bool -> Boolpost n res =res ==n==1|| n==2||(todos (ini,sig,min)(\x -> True)no_divi<strong>de</strong> n)-- ini :: Int -> (Int, Int)ini n = (n-1, n)-- sig :: (Int, Int) -> (Int, Int)


sig (x, n) = (x-1, n)-- min :: (Int, Int) -> Boolmin (x, n) = (x == 1)-- no_divi<strong>de</strong> :: (Int, Int) -> Boolno_divi<strong>de</strong> (x, n) = (n `mod` x /= 0)2.2. Ejemplo 2: “Operaciones con Dígitos”a) “Determinar los anillos <strong>de</strong> un dígito”-- PROBLEMA : Determinar el número <strong>de</strong>anillos <strong>de</strong> un dígitoanillos_digito :: Int -> Intanillos_digito = <strong>de</strong>purar(pre,fun,post,name)where-- name :: Stringname = "anillos_digito"-- pre :: Int -> Boolpre (n) = n >= 0-- fun :: Int -> Intfun (n) = if (n == 8) then 2else if (n == 0 ||n == 6 ||n == 9) then 1else 0-- post :: Int -> Int -> Boolpost n resultado = resultado == anilloswhere anillos | (n == 8) = 2| (n == 0) ||(n == 6) ||(n == 9) = 1| otherwise = 0b) “Determinar los anillos <strong>de</strong> un número n∈ ”-- PROBLEMA : Determinar los anillos <strong>de</strong>un número Natural n.anillos_numero :: Int -> Intanillos_numero = <strong>de</strong>purar(pre,fun,post,name)where-- nombre :: Stringnombre = "anillos_numero"-- pre :: Int -> Boolpre (n) = n >= 0-- fun :: Int -> Intfun n = if (n < 10) thenanillos_digito (n)elseanillos_digito (n `mod` 10) +anillos_numero (n `div` 10)-- post :: Int -> Int -> Boolpost n resultado =resultado ==suma (inicial, siguiente, minimal)(\x -> True) anillos_digito_i (n)-- ini :: Int -> (Int, Int)ini (n) = (n, numDigitos(n))-- sig :: (Int, Int) -> (Int, Int)sig (n, i) = (n, i-1)-- min (Int,Int) -> Boolmin (n, i) = i == 03. Conclusiones y Trabajos FuturosEn este trabajo hemos presentado una propuesta<strong>de</strong> <strong>de</strong>puración <strong>de</strong> programas Haskell a partir <strong>de</strong> <strong>la</strong>sespecificaciones PRE/POST <strong>de</strong>scritas en Haskell.En el futuro, p<strong>la</strong>neamos mejorar <strong>la</strong> herramientaH4D2 con más facilida<strong>de</strong>s <strong>de</strong> <strong>de</strong>puración yelementos que hagan más amigable <strong>la</strong> <strong>de</strong>puración(trazas paso a paso, evaluación <strong>de</strong> elementos <strong>de</strong>lprograma, etc..).Referencias[1] Burgos, J.M., Galve, J., García, J. and SutilM.: Una Taxonomía <strong>de</strong> Problemas para <strong>la</strong>Enseñanza <strong>de</strong> <strong>la</strong> Programación, Actas <strong>de</strong>l <strong>VIII</strong>NFOREDU’2000, Mayo 2000, La Habana(Cuba).[2] Burgos, J.M., Galve, J., García, J. and SutilM.: Diseño <strong>de</strong> Soluciones Abstractasmediante el Refinamiento <strong>de</strong>Especificaciones. VII <strong>Jornadas</strong> sobre <strong>la</strong>Enseñanza <strong>Universitaria</strong> <strong>de</strong> <strong>la</strong> Informática(JENUI’01).[3] J.M. Burgos, J.Galve y J. García. FromProblems to Programs: A Pattern Languageto Go from Problem Requirements toSolution Schemas in ElementaryProgramming. Proceedings of the 5thEuroPLoP´2000.[4] Schmidt, D.R. Towards a c<strong>la</strong>ssificationapproach to <strong>de</strong>sign. In Proceedings of theFifth International Conference on AlgebraicMethodology and Software Technology,AMAST’96 (1996), vol. LNCS 1101,Springer-Ver<strong>la</strong>g, pp. 62-84.[5] http://www.haskell.org/[6] S. Peyton Jones and J. Hughes (editors).Standard libraries for the Haskell 98programming <strong>la</strong>nguage, February 1999.[7] E.Y.Shapiro. Algorithmic ProgramDebugging. MIT Press, Cambridge, MA,1983.[8] Grupo <strong>de</strong> Investigación <strong>de</strong> ProgramaciónDec<strong>la</strong>rativa Aplicada LSIIS. Herramientasmetodológicas e instrumentales para <strong>la</strong>enseñanza <strong>de</strong> <strong>la</strong> Programación. ProyectoFundación General <strong>de</strong> <strong>la</strong> UPM (FG-UPM-43700000190), 2000-2001. Grupo <strong>de</strong>Investigación <strong>de</strong> Programación Dec<strong>la</strong>rativaAplicada LSIIS. Herramientas


metodológicas e instrumentales para <strong>la</strong>enseñanza <strong>de</strong> <strong>la</strong> Programación. ProyectoFundación General <strong>de</strong> <strong>la</strong> UPM (FG-UPM-43700000190), 2000-2001.[9] http://abraham.ls.fi.upm.es/h4d2/jenui02.pdf


Sistema <strong>de</strong> servicios web <strong>de</strong> apoyo a <strong>la</strong> docenciay gestión <strong>de</strong> una asignaturaAntonio Cañas Antonio F. Díaz Alberto PrietoDpto. <strong>de</strong> Arquitectura y Tecnología <strong>de</strong> ComputadoresUniversidad <strong>de</strong> GranadaEscue<strong>la</strong> Técnica Superior <strong>de</strong> Ingeniería Informáticae-mail: acanas@atc.ugr.es e-mail: afdiaz@atc.ugr.es e-mail: aprieto@ugr.esResumenA<strong>de</strong>más <strong>de</strong> <strong>la</strong>s clásicas secciones estáticas quesuele ofrecer <strong>la</strong> página web <strong>de</strong> una asignatura –programas, horarios, etc.–, es interesante <strong>la</strong>incorporación <strong>de</strong> servicios dinámicos que facilitenalgunas tareas docentes y <strong>de</strong> gestión. Este trabajopresenta un sistema <strong>de</strong> servicios web dinámicosque pue<strong>de</strong> incorporarse <strong>de</strong> manera sencil<strong>la</strong> a <strong>la</strong>spáginas <strong>de</strong> varias asignaturas. El sistema integra e<strong>la</strong>cceso i<strong>de</strong>ntificado para alumnos y profesores <strong>de</strong><strong>la</strong> asignatura, <strong>la</strong> consulta individual <strong>de</strong>calificaciones, <strong>la</strong> <strong>de</strong>scarga <strong>de</strong> documentos, <strong>la</strong> fichaelectrónica –incluyendo fotografía–, <strong>la</strong> or<strong>la</strong> <strong>de</strong> <strong>la</strong>c<strong>la</strong>se, un foro <strong>de</strong> discusión y <strong>la</strong> autoevaluación <strong>de</strong><strong>la</strong>lumno mediante un test.este dpto. En este trabajo se presenta su uso enEstructura <strong>de</strong> los computadores I y II [5] (Fig. 1).2. Servicios dinámicos ofrecidosInicialmente, el sistema permite el accesoi<strong>de</strong>ntificado <strong>de</strong> alumnos y profesores, que han <strong>de</strong>1. IntroducciónLa incorporación <strong>de</strong> servicios web automáticos <strong>de</strong>apoyo a <strong>la</strong> docencia y a <strong>la</strong> gestión <strong>de</strong> datos <strong>de</strong> losestudiantes es interesante ya que facilita alprofesor <strong>la</strong> realización <strong>de</strong> tareas docentes y <strong>de</strong>gestión, pero sobre todo porque propicia <strong>la</strong>autonomía y el autoaprendizaje <strong>de</strong>l estudiante. Enlos últimos años, varios grupos han <strong>de</strong>sarrol<strong>la</strong>ndosistemas que ofrecen tales servicios, enfocadosbien a <strong>la</strong> docencia en una asignatura concreta o envarias (p. ej. [1], [2], [8], [10], [11]), o bien a <strong>la</strong>gestión <strong>de</strong> todas <strong>la</strong>s <strong>de</strong> una titu<strong>la</strong>ción o centro ([6],[7]). En el Dpto. <strong>de</strong> Arquitectura y Tecnología <strong>de</strong>Computadores <strong>de</strong> <strong>la</strong> Univ. <strong>de</strong> Granada hemosdiseñado una herramienta enfocada a <strong>la</strong> docenciay gestión <strong>de</strong> cualquier asignatura, que está enconstante evolución y venimos utilizando durantelos tres últimos cursos en varias asignaturas <strong>de</strong>Figura 1. Página <strong>de</strong> <strong>la</strong>s asignaturas EC I y EC II, queincluye también los servicios estáticos <strong>de</strong> tablón <strong>de</strong>avisos, tutorías, horarios, programas, bibliografía,criterios <strong>de</strong> evaluación, FAQ y en<strong>la</strong>ces [4].Figura 2. Página principal <strong>de</strong>l sistema.


introducir su DNI y contraseña. El sistemaconsulta una base <strong>de</strong> datos, registra el acceso enun archivo log, y presenta <strong>la</strong> página principal (Fig.2) con los siguientes servicios:• Cambio <strong>de</strong> contraseña.• Consulta individual <strong>de</strong> calificaciones. Elprofesor guarda <strong>la</strong>s calificaciones en unatab<strong>la</strong> HTML (generada p. ej. con <strong>la</strong> hoja <strong>de</strong>cálculo Excel) que pue<strong>de</strong> tener cualquiernúmero <strong>de</strong> fi<strong>la</strong>s <strong>de</strong> encabezado y <strong>de</strong> pie,a<strong>de</strong>más <strong>de</strong> una fi<strong>la</strong> para cada alumno. Elnúmero y formato <strong>de</strong> <strong>la</strong>s columnas esindiferente, con <strong>la</strong> salvedad <strong>de</strong> que <strong>la</strong> primeraha <strong>de</strong> contener el DNI. En pantal<strong>la</strong> aparece elencabezado, <strong>la</strong> fi<strong>la</strong> correspondiente a<strong>la</strong>lumno y el pie <strong>de</strong> <strong>la</strong> tab<strong>la</strong> (Fig. 3).• Descarga <strong>de</strong> archivos. Se presentarecursivamente el contenido <strong>de</strong>l directorioespecificado por el profesor (Fig. 4). Elinterés radica en restringir el acceso alámbito <strong>de</strong> <strong>la</strong> c<strong>la</strong>se, y ahorrar al profesor eltrabajo <strong>de</strong> añadir un en<strong>la</strong>ce a cada archivo.• Ficha <strong>de</strong>l alumno (común para todas <strong>la</strong>sasignaturas). Se presenta un formu<strong>la</strong>rioinspirado en <strong>la</strong> clásica ficha en papel (Fig. 5).Tras enviar<strong>la</strong> se muestra otra pantal<strong>la</strong> simi<strong>la</strong>rpara confirmar los datos recibidos.• Envío <strong>de</strong> fotografía. Disponer <strong>de</strong> unafotografía <strong>de</strong>l alumno en formato digitalpermite p. ej. su inclusión automática(mediante una macro) en <strong>la</strong> hoja <strong>de</strong> cálculoutilizada en <strong>la</strong> evaluación. La fotografía seenvía mediante un formu<strong>la</strong>rio (Fig. 6) y <strong>la</strong>herramienta comprueba su formato y tamaño.En el futuro se preten<strong>de</strong> rechazarautomáticamente fotografías <strong>de</strong> baja calidad.• Or<strong>la</strong> <strong>de</strong> <strong>la</strong> c<strong>la</strong>se (Fig. 7). Se pue<strong>de</strong> seleccionarel número <strong>de</strong> columnas y <strong>la</strong> posibilidad <strong>de</strong>que aparezcan todos los alumnos o sólo losque disponen <strong>de</strong> fotografía. Bajo <strong>la</strong>sfotografías aparecen el nombre y el lugar <strong>de</strong>origen. Pue<strong>de</strong> acce<strong>de</strong>rse a <strong>la</strong> página web <strong>de</strong>cada alumno pulsando sobre él.• Foro <strong>de</strong> discusión. La herramienta crea unforo para cada asignatura, estructurado endos niveles: temas <strong>de</strong> discusión (Fig. 8), ycontenido <strong>de</strong> los mensajes <strong>de</strong>ntro <strong>de</strong> un tema.En ambos se muestra un formu<strong>la</strong>rio paraFigura 3. Calificaciones <strong>de</strong> un alumno (se muestra arriba<strong>la</strong> parte izda. y abajo <strong>la</strong> dcha.). Se incluye <strong>la</strong> notaobtenida en cada criterio evaluado en <strong>la</strong>s prácticas y encada apartado <strong>de</strong> cada pregunta <strong>de</strong>l examen.Figura 5. Ficha (datos <strong>de</strong>l profesor en el ej.).Figura 4. Descarga <strong>de</strong> archivos.Figura 6. Envío <strong>de</strong> fotografía.


enviar un nuevo mensaje, que se firmaautomáticamente.• Test <strong>de</strong> autoevaluación. Este servicio (el másvalorado por los estudiantes) genera y evalúaun test con preguntas extraídasaleatoriamente <strong>de</strong> un archivo <strong>de</strong> texto. Lasrespuestas pue<strong>de</strong>n ser V/F (Fig. 9), o bienuna elección entre varias opciones.Figura 7. Or<strong>la</strong> <strong>de</strong> <strong>la</strong> c<strong>la</strong>se.3. Implementación <strong>de</strong>l sistemaLa herramienta es un único programa que utiliza<strong>la</strong> especificación CGI [9] en un servidor Apache[13] sobre Linux. Para facilitar <strong>la</strong> reutilización <strong>de</strong>funciones y el mantenimiento <strong>de</strong>l código, integra<strong>la</strong>s acciones que normalmente llevarían a cabo lossiguientes 16 CGI: i<strong>de</strong>ntificación, presentación <strong>de</strong>lmenú principal (Fig. 2), presentación <strong>de</strong>l cambio<strong>de</strong> contraseña, actualización <strong>de</strong> contraseña,presentación <strong>de</strong> calificaciones (Fig. 3), listado <strong>de</strong>archivos (Fig. 4), presentación <strong>de</strong> ficha (Fig. 5),actualización <strong>de</strong> ficha, presentación <strong>de</strong>l envío <strong>de</strong>fotografía (Fig. 6), recepción <strong>de</strong> <strong>la</strong> fotografía,presentación <strong>de</strong> <strong>la</strong> or<strong>la</strong> (Fig. 7), presentación <strong>de</strong>lnivel 1 <strong>de</strong>l foro (Fig. 8), presentación <strong>de</strong>l nivel 2,recepción <strong>de</strong> un mensaje <strong>de</strong>l foro, generación <strong>de</strong>ltest (Fig. 9) y evaluación <strong>de</strong>l test.Aunque el lenguaje más utilizado paraprogramar mediante CGI es Perl, hemos optadopor C, junto con un sistema <strong>de</strong> gestión <strong>de</strong> bases <strong>de</strong>datos (SGDB) PostgreSQL [12] (pue<strong>de</strong>consultarse <strong>la</strong> comparación llevada a cabo en [6]entre distintos lenguajes, SGBD y herramientaspara implementar servicios web dinámicos).4. Evaluación <strong>de</strong>l sistemaFigura 8. Foro <strong>de</strong> discusión: nivel <strong>de</strong> temas <strong>de</strong> discusión.Se ha evaluado el interés <strong>de</strong> los alumnos en cadauno <strong>de</strong> los servicios estáticos y dinámicos, y <strong>la</strong>frecuencia <strong>de</strong> visitas a cada servicio. Lasvaloraciones respectivas se muestran en <strong>la</strong>sFiguras 10 y 11. A<strong>de</strong>más se han realizado <strong>la</strong>ssiguientes estadísticas (Fig. 12): el 76% <strong>de</strong> losalumnos dispone <strong>de</strong> acceso a Internet,mayoritariamente con conexión <strong>de</strong> banda ancha(Tab<strong>la</strong> 1); el 59% dispone <strong>de</strong> escáner y el 96%tiene acceso a uno; el 88% ha preferido rellenar <strong>la</strong>ficha electrónica frente al sistema tradiciona<strong>la</strong>unque haya sido sólo para una única asignatura, ysi <strong>la</strong> ficha electrónica fuese común para todas <strong>la</strong>sasignaturas, el 97% preferiría este sistema. LaTab<strong>la</strong> 2 muestra los porcentajes medios <strong>de</strong> accesopara un estudiante <strong>de</strong>s<strong>de</strong> distintos lugares.5. ConclusiónFigura 9. Test <strong>de</strong> autoevaluación.Se ha presentado una herramienta que ofrecediversos servicios web dinámicos <strong>de</strong> apoyo a <strong>la</strong>


docencia y gestión <strong>de</strong> varias asignaturas. Elsistema ha sido evaluado por los estudiantes, y seha mostrado que los servicios dinámicos sonmejor valorados en general que los estáticos y que<strong>la</strong> aplicación <strong>de</strong> <strong>la</strong>s tecnologías basadas enInternet para <strong>la</strong> docencia y <strong>la</strong> gestión <strong>de</strong> fichas yfotografías <strong>de</strong> estudiantes es ya factible, al menosen <strong>la</strong>s titu<strong>la</strong>ciones informáticas.Nuestra intención es seguir ampliando losservicios dinámicos para su uso en todas <strong>la</strong>sasignaturas <strong>de</strong> <strong>la</strong> E. T. S. I. Inf. <strong>de</strong> Granada, centroque cuenta con unos 2000 alumnos y unas 180asignaturas. Posiblemente, los servicios globales<strong>de</strong> gestión se incorporarán al portal web <strong>de</strong> dichaescue<strong>la</strong> [3].Referencias[1] M. C. Aranda y otros. Valoración <strong>de</strong>l marcodocente <strong>de</strong> <strong>la</strong> informática en <strong>la</strong> Ing. Técn.Industrial. JENUI 2001.[2] R. Barchino y otros. EDVI: un sistema <strong>de</strong>apoyo a <strong>la</strong> enseñanza presencial basado enInternet. JENUI 2001.[3] J. L. Bernier. Portal <strong>de</strong> <strong>la</strong> E. T. S. I. Inf. <strong>de</strong>Granada. 1996-2002. www-etsi2.ugr.es[4] A. Cañas. En<strong>la</strong>ces sobre Arquitectura <strong>de</strong>computadores. 1997-2002.atc.ugr.es/~acanas/arquitectura.html[5] A. Cañas. Página <strong>de</strong> estructura <strong>de</strong> loscomputadores I y II. 1996-2002.atc.ugr.es/~acanas/docencia/ec[6] D. Gayo y otros. Desarrollo <strong>de</strong>l portal web <strong>de</strong><strong>la</strong> E. U. I. T. Inf. <strong>de</strong> Oviedo. JENUI 2001.[7] E. A. Martel y otros. Sistema <strong>de</strong> gestión <strong>de</strong>asignaturas en entorno web. JENUI 2001.[8] R. Mas y otros. Aplicaciones <strong>de</strong> Internet a <strong>la</strong>enseñanza: un sistema <strong>de</strong> autoevaluación.JENUI 2001.[9] Matt’s Script Archive, Inc. The CGI ResourceIn<strong>de</strong>x. 1997-2002. cgi.resourcein<strong>de</strong>x.com[10] J. J. Merelo y otros. Integración <strong>de</strong> unaasignatura en Internet: el caso <strong>de</strong> Diseño yEvaluación <strong>de</strong> Configuraciones. JENUI 2001.[11] R. Pérez y otros. Incorporación <strong>de</strong> <strong>la</strong>s nuevastecnologías en <strong>la</strong> enseñanza. JENUI 2001.[12] PostgreSQL Global Development Group.PostgreSQL. 1997-2002. www.postgresql.org[13] The Apache Software Foundation. Apache.1999-2002. www.apache.orgFAQ sobre <strong>la</strong> asignaturaSistema <strong>de</strong> evaluaciónTablón <strong>de</strong> avisosPrograma <strong>de</strong> teoríaPrograma <strong>de</strong> prácticasBibliografíaTutorías (horario, ...)En<strong>la</strong>ces sobre <strong>la</strong> materiaEn<strong>la</strong>ce a pág. <strong>de</strong>l profesorHorario <strong>de</strong> c<strong>la</strong>ses100%75%50%25%0%94% 0,8288% 0,7077% 0,6475% 0,6671% 0,6669% 0,6268% 0,6062% 0,6147% 0,4738% 0,45Porcentaje bastante/muy interesante (frente a nada/pocointeresante)Valoración media (0=nada interesante; 0,33=poco interesante;0,67=bastante interesante; 1=muy interesante)Figura 10. Valoración <strong>de</strong> los servicios estáticos.Test <strong>de</strong> autoevaluaciónDescarga <strong>de</strong> archivosConsulta <strong>de</strong> calificacionesConsultas por e-mailFicha personalOr<strong>la</strong> <strong>de</strong> <strong>la</strong> c<strong>la</strong>seForo <strong>de</strong> discusión97%95%94%83%79%68%76% 59%96% 88% 97%24% 41% 4% 12% 3%Interneten casaEscáneren casaAcceso aescánere-ficha enuna asignat.e-fichacomún99% 0,930,920,890,790,710,720,65Porcentaje bastante/muy interesante (frente a nada/pocointeresante)Valoración media (0=nada interesante; 0,33=poco interesante;0,67=bastante interesante; 1=muy interesante)Figura 11. Valoración <strong>de</strong> los servicios dinámicos.SíNoFigura 12. Otras estadísticas <strong>de</strong> <strong>la</strong> encuesta.Mó<strong>de</strong>m (mayoritariamente 56 Kbps) 41%Cable (128 - 512 Kbps) 32%ADSL (128 - 256 Kbps) 14%RDSI (64 - 128 Kbps) 14%Tab<strong>la</strong> 1. Tipos <strong>de</strong> conexión a Internet <strong>de</strong>s<strong>de</strong> casa.Con Internet en casa Sin Internet en casaSu casa 81%Universidad 13%Universidad 52%Col. mayor 3% Cibercafé 22%Otra casa 2% Otra casa 21%Cibercafé 1% Col. mayor 5%Tab<strong>la</strong> 2. Porcentajes <strong>de</strong> acceso <strong>de</strong>s<strong>de</strong> distintos lugares.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!