Você está na página 1de 8

Del diseo a la implementacin del Software: una metodologa de cohesin de disciplinas

Dpto. Lenguajes Sistemas Informticos Universidad Alicante 03072 San Vicente Raspeig ccachero@dlsi.ua.es

Cristina Cachero

Dpto. Fsica y Arquitectura de Computadores Universidad Miguel Hernndez 03202 Elche otoniel@umh.es

Otoniel Lpez

Mara Jos Dur


Dpto. Orientacin IES Victoria Kent 03202 Elche majosedm@telefonica.net

Resumen

En la actualidad es comn que enseanza de la Programacin Orientada a Objetos se realice atendiendo principalmente a criterios sintcticos (basados en un lenguaje de programacin determinado) y deje de lado aspectos conceptuales. Este hecho causa dicultades a los alumnos a la hora de abstraer los conocimientos adquiridos y relacionarlos con los que asimilan en otras materias como la Ingeniera del Software. Desde este artculo se deende la idea de que esta falta de interconexin explcita en los temarios de ambas asignaturas crea en los alumnos lagunas de conocimiento y menoscaba su motivacin a la hora de aprender tcnicas de diseo, que no perciben como verdaderamente tiles para la codicacin de software. Para paliar este problema, presentamos una experiencia de trabajo donde la enseanza y discusin de los conceptos relacionados con la Programacin Orientada a Objetos se ha apoyado en la notacin UML. Los resultados demuestran, desde nuestro punto de vista, que el uso de UML como apoyo desde el inicio de la formacin del alumno en conceptos de OO no slo permite que ste sea capaz de comunicarse mediante especicaciones diagramticas estndares, sino que le ayuda a percibir la importancia del diseo en el cdigo implementado.
1. Introduccin

rante en la formacin del alumno, sobre todo en los primeros aos de carrera. En nuestra universidad, este rea gestiona un 20 % de la docencia troncal/obligatoria impartida en primer curso y un 28 % de la docencia troncal/obligatoria de segundo curso. Es precisamente en segundo donde los alumnos tienen su primer contacto con la Programacin Orientada a Objetos (POO), que se imparte como asignatura obligatoria de las tres ingenieras y tiene una carga lectiva de 2,25 crditos tericos y 2,25 crditos prcticos. Esta asignatura se complementa entre otras con Lenguajes y Paradigmas de Programacin (donde se introducen todos los paradigmas) y Herramientas de Programacin (donde el alumno se familiariza con entornos de desarrollo y depuracin, herramientas de control de versiones, estndares de nomenclatura y documentacin, etc.), tambin obligatorias de segundo curso. Para la enseanza de las principales tcnicas de POO, esta asignatura, al igual que ocurre en otras universidades, se imparte en base a un lenguaje determinado. En nuestro caso, dicho lenguaje es C++, que, defendido como lenguaje de aprendizaje para el paradigma OO por autores como [11], marca adems una continuidad con el lenguaje aprendido por los alumnos en primer curso. Pensamos que este enfoque implcitamete transmite al alumno uno de los ms extendidos mitos de la programacin, que es el de Soy un programador. Por qu debera preocuparme por el diseo?, en lugar de transmitirle que todo el mundo que escribe cdigo tambin disea cdigo, sea bien o mal,

El rea de Programacin en la carrera de Ingeniera Informtica tiene un papel preponde-

264

Ingeniera del Software

consciente o inconscientemente [10]. Adems, nuestra experiencia en las aulas indica que el uso de un lenguaje determinado como vehculo de comunicacin, si bien a corto plazo agiliza la capacidad de implementacin del alumno en dicho lenguaje, implcitamente condiciona el modo en que el alumno interioriza los distintos conceptos de la asignatura, lo cual menoscaba su capacidad para aplicar dichos conceptos a nuevos lenguajes o relacionarlos con asignaturas impartidas con posterioridad en la ingeniera.
Es por ello que en este artculo defendemos la idea de que es necesario hacer visible el proceso de diseo desde las primeras etapas de formacin del alumno en conceptos relacionados con la Orientacin a Objetos (OO). El uso de tcnicas de diseo permite la introduccin de una metodologa de programacin basada en la abstraccin de datos. De este modo se ayuda a romper la inercia del alumno al seguir utilizando las tcnicas aprendidas en primer curso, fundamentadas en la abstraccin funcional y el diseo descendente para la resolucin de problemas (metodologas top-down)[11]. Adems, pensamos que hacer visible este proceso ayuda a explicitar la relacin entre las asignaturas de Programacin y las de Ingeniera del Software, y de este modo facilita la adquisicin de una visin global de la disciplina. A continuacin presentamos una propuesta metodolgica que, basndose en esta idea, utiliza como base para la discusin de los principales conceptos de OO la notacin UML. Para ello, en la seccin 2 presentamos el contexto en el que se desarrolla la asignatura, para a continuacin, en la seccin 3, describir los fundamentos metodolgicos de nuestra propuesta y cmo se adapta a este contexto. En la seccin 4 mostramos los resultados de la evaluacin que el alumnado ha hecho de nuestra aproximacin. Por ltimo, la seccin 5 muestra las conclusiones y las lneas de trabajo que estamos siguiendo para continuar mejorando la asignatura.

2.

Situacin Actual

En la actualidad existe una disparidad notable de criterios respecto al mejor modo de abordar la enseanza de la POO, criterios que abarcan desde el lenguaje a utilizar para ejemplicar los conceptos hasta cundo se debe introducir al alumno en este paradigma. Respecto al primer punto, abundan las propuestas [2, 8] en las que se aboga por el uso de ms de un lenguaje de programacin para ilustrar los distintos conceptos. De este modo se pretende demostrar al alumno que, independientemente del ritmo vertiginoso al que los lenguajes de programacin aparecen y desaparecen, los conceptos subyacentes siguen siendo vlidos. Otros [9, 7] acuden a lenguajes diseados por ellos mismos y que incluyen bajo una sola sintaxis los conceptos considerados ms relevantes. No obstante, las circunstancias de la prctica docente (escaso nmero de horas de clase, amplitud de los temarios y necesidad de dar respuesta a la demanda de profesionales formados en determinadas tecnologas por parte de la empresa) hacen que en la mayora de los casos se acabe impartiendo la materia en base a un lenguaje popular y de alto nivel como C++ o Java, incluso reconociendo que dichos lenguajes no son perfectos. Por otra parte, y rerindonos a la cuestin de cundo abordar la enseanza de este paradigma, frente a autores que proponen introducirlo desde el primer contacto del alumno con la programacin, existen otros que abogan por hacerlo tras haber profundizado en la programacin estructurada e incluso en los Tipos Abstractos de Datos. No es nuestro propsito contribuir a esta polmica, sino sealar la necesidad de, sea cual sea el enfoque adoptado, tratar de manera explcita su relacin con la Ingeniera del Software. En efecto, la mayor parte de los programas y bibliografa consultados se centran en discutir los distintos conceptos de la POO en relacin a su implementacin en uno u otro lenguaje, y dejan implcita la discusin respecto a por qu se adopta una u otra conguracin de clases y objetos en dicha implementacin. Nuestra experiencia docente demuestra que de este modo el alumno tiende a centrarse en concep-

X Jornadas de Enseanza Universitaria de la Informtica

265

tos sintcticos y no profundiza en los conceptos tericos de la asignatura. Mltiples ejemplos en nuestro trabajo diario avalan esta teora: desde un uso automatizado, basado en mimetismo de ejemplos de cdigo similares dados en clase, de palabras reservadas de C++ como virtual hasta una falta de comprensin de por qu determinados tipos de generalizacin (implementados mediante herencia) son seguros y cules, aunque tambin permitidos en los lenguajes de programacin, s pueden causar sin embargo problemas de mantenimiento y reutilizacin. En general, el alumno asume la idea de que si compila, entonces est bien. Es por ello que en este artculo proponemos una metodologa que, partiendo de la situacin actual de la asignatura, introduce al alumno en consideraciones relativas al diseo desde las primeras fases de enseanza del paradigma OO. Es importante destacar que desde este artculo no abogamos por la sustitucin del uso de ejemplos de cdigo para ilustrar los conceptos especcos, sino que, al contrario, optamos por una complementariedad entre conceptos tericos, consideraciones de diseo y ejemplos prcticos que favorezcan la interiorizacin correcta de conceptos por parte del alumno. A continuacin presentamos dicha metodologa, as como nuestra experiencia en las aulas.
3. Metodologa Propuesta

No cabe duda de que las tcnicas de enseanza estn evolucionando de una manera muy rpida en los ltimos aos. Hasta hace poco tiempo, la docencia de cualquier especialidad cientca o tcnica era mayoritariamente transmitida mediante la exposicin oral por parte del profesor en las llamadas clases magistrales. El principal problema de este tipo de clase es que constituye un mtodo de transmisin unidireccional entre profesor y alumno [1, 4]. Las clases de laboratorio, ms innovadoras, tampoco carecen de problemas prcticos, entre los que destacamos el gran nmero de alumnos (682 matriculados en la asignatura durante el curso 2003-2004) y la escasez de medios en dichos

laboratorios, que hacen difcil un buen aprendizaje y una tutorizacin personalizada de los problemas y dicultades particulares de cada alumno. Este problema ha sido parcialmente paliado por la inclusin en la prctica diaria del uso de otros medios para la docencia, entre los que destacamos las distintas versiones de campus virtual presentes en la actualidad en la prctica totalidad de las universidades espaolas. Nuestra propuesta intenta potenciar el aprendizaje del alumno mediante una combinacin sincronizada de los distintos tipos de tcnicas. As, durante las 15 semanas que dura el cuatrimestre, cada clase de teora se ve apoyada por una clase prctica donde se revisan e implementan los conceptos tericos comentados. Por otro lado, en las clases tericas se combina leccin magistral con ejercicios que los alumnos resuelven y entregan en clase. Con el n de integrar el diseo en esta dinmica, hemos hecho de UML el vehculo mediante el cual, por un lado, se plantean y discuten los conceptos tericos en clase, y por otro se especican los ejercicios que el alumno debe implementar en un lenguaje de programacin determinado (en nuestro caso C++) durante las clases prcticas. Toda nuestra labor docente se ve apoyada por la web de la Escuela Politcnica y, especialmente, por el Campus Virtual de nuestra universidad, donde el alumno recoge todos los apuntes y transparencias necesarios, consulta la informacin relativa a objetivos, temario, evaluacin o bibliografa, revisa las preguntas frecuentes de la asignatura y los enlaces de inters actualizados y, sobre todo, realiza tutoras electrnicas que complementan la tutorizacin presencial: en el ao 2003-2004 se ha contabilizado una media de 20 tutoras semanales, con picos importantes en fechas de examen y entrega de prcticas.
3.1.

Por qu esta opcin metodolgica?

Esta propuesta est enmarcada en el "Modelo Tecnolgico", uno de los cuatro modelos metodolgicos que distinguen diversos autores [3]. El modelo tecnolgico se fundamenta en las teoras ecientistas y conductistas del

266

Ingeniera del Software

aprendizaje. Los aspectos caractersticos de este enfoque disciplinar se sintetizan en una programacin basada en objetivos operativos, la puesta en prctica de secuencias cerradas de actividades vinculadas a los objetivos y la realizacin de un diagnstico previo y nal del nivel de aprendizaje del alumno que sirve de evaluacin. Dentro de este modelo, y como bien dicen Coll et al. [5], aprender un contenido implica atribuirle un signicado, construir una representacin o un modelo mental del mismo. Cuando hablamos de la actividad mental del alumno nos referimos por tanto al hecho de que este construye signicados, representaciones o modelos mentales de los conocimientos a aprender. En esta metodologa destacan dos factores fundamentales a tener en cuenta:
El

consiga jar esos conceptos ms rpidamente.


3.2. Puesta en prctica de la metodologa

factor visual en el proceso de enseanza-aprendizaje. Nuestra propuesta facilita el aprendizaje al permitir que los alumnos tengan una perspectiva visual de los conceptos tericos [6, 12], al mostrarles ese modelo mental mediante diagramas de clases (con notacin UML). As, los alumnos aprenden a manejar relaciones entre clases o conceptos como herencia, polimorsmo, generalizacin, y en general todos aquellos relacionados con la OO de manera visual, abstrayndolos de la sintaxis especca de un lenguaje determinado.
te tipo de metodologa es importante que los conceptos se expongan primeramente de una forma genrica y visual, y posteriormente se lleven a la prctica, en nuestro caso mediante su implementacin en un lenguaje de programacin especco. Esta forma de secuenciacin de los contenidos est totalmente en consonancia con los principios del aprendizaje signicativo, el cual consiste en comenzar por los elementos ms generales e ir introduciendo paulatinamente los elementos ms especcos[13]. Pensamos que una correcta secuenciacin de los contenidos es fundamental para conseguir que el alumno

La secuenciacin de los contenidos. En es-

Como ejemplo ilustrativo del modo en que la metodologa propuesta se ha llevado a cabo durante el curso 2003-2004 presentamos la temporalizacin de las primeras sesiones de la asignatura que culminaron con la implementacin de la primera de las dos prcticas que el alumno debe entregar en la asignatura. En esta programacin, las primeras tres semanas de prcticas se dedicaron a impartir un seminario de C++ orientado a que los alumnos se familiarizasen con el entorno de desarrollo (compilador g++ bajo Linux) y herramientas que tenan que utilizar (makele, gdb, tar, doxygen, etc.). Durante la cuarta sesin, y tras haber impartido en clase el tema correspondiente a clases, objetos y mtodos, se les entreg el enunciado de la primera prctica, que giraba en torno al diagrama de clases que puede ser visto en la Fig. 1, y que constitua un subconjunto de las clases necesarias para implementar el conocido juego de Hundir la Flota. En esta cuarta clase se hizo que los alumnos se centraran en la clase Casilla, e implementaran una versin compilable de la misma. Esa misma semana en clase se vieron las relaciones bsicas entre objetos (asociacin, composicin y dependencia), y esos contenidos tericos permitieron en la sesin 5 de prcticas abordar la construccin de la clase Tablero. Durante dicha construccin se plante una discusin sobre por qu la relacin semntica existente entre ambas clases haba hecho conveniente implementar primero la clase Casilla. Tambin se plantearon distintas alternativas para implementar la relacin entre ambas clases (mediante un array esttico, mediante un puntero simple o mediante un doble puntero) y qu ventajas e inconvenientes tena cada aproximacin. La sexta sesin se dedic a la depuracin del cdigo, y la sptima semana fue puesta como fecha lmite para la entrega de la prctica en el servidor de prcticas del departamento. Paralelamente, en las clases de teora ya se estaba impartiendo el tema de genericidad, necesario para implementar la segunda prctica a partir

X Jornadas de Enseanza Universitaria de la Informtica

267

de la octava sesin.

minante para que un 88 % de los alumnos (602 de 682 matriculados) la entregasen. Estos resultados contrastan con los obtenidos durante el ao anterior, donde una sola prctica al nal de curso y una menor sincronizacin entre ambas partes de la asignatura haba causado que ms del 50 % de los alumnos abandonasen la asignatura en el mes de diciembre.

Figura 1:

Diagrama de clases de Tablero


Figura 2: Documentacin obtenida con Doxygen

Dado el gran nmero de alumnos, para esta primera prctica proporcionamos el el chero de conguracin de Doxygen a partir del cual se obtiene la documentacin (ver Fig. 2) y el makele con el que se deba compilar la prctica, y que permiti controlar el nombre de los cheros fuente. La prctica fue posteriormente corregida mediante un script automtico, donde sustituimos el main del alumno por nuestros propios programas principales, desde los que instancibamos sus clases y comprobbamos aspectos como ndices fuera de rango o la correcta implementacin de los destructores. Pensamos que este modo de corregir ayud al alumno a percibir la importancia de la encapsulacin, las posibilidades de reuso del cdigo creado, y la necesidad de ajustarse a las especicaciones (interfaces de clase), ya que un error en las mismas impeda que su prctica se ejecutase correctamente. Con el n de incentivar al alumno, esta prctica puntu un 10 % de la nota nal de la asignatura, y era adems totalmente reutilizable para la implementacin de la segunda prctica. La eleccin de un juego tan conocido por parte de los alumnos como es el Hundir la Flota, unido a la gran simplicidad de esta primera prctica, sin duda contribuy a que el alumno perdiera el miedo a la asignatura, y fue deter-

En esta experiencia es importante destacar lo positivo del uso de la herramienta de documentacin Doxygen. Esta herramienta no slo es uno de los vnculos de unin explcitos entre nuestra asignatura y la asignatura de Herramientas de Programacin (donde se profundiza, entre otros aspectos, en las distintas herramientas de documentacin existentes), sino que tiene como ventaja adicional la generacin de un diagrama de clases como parte de la documentacin. De este modo, por un lado el alumno percibe nuevamente la importancia de manejar la notacin UML, y por otro se facilita enormemente el contrastar, de una manera visual, si la solucin implementada por el alumno coincide con el diseo original, as como averiguar el por qu de las posibles diferencias.
3.2.1. Problemas encontrados

A pesar de lo positivo de la experiencia, nos hemos encontrado con algunos problemas a la hora de la puesta en marcha de esta metodologa, que pasamos a detallar a continuacin:
Bajo nivel en el manejo de la sintaxis de

C++. El nivel de programacin (en cual-

268

Ingeniera del Software

quier paradigma) de los alumnos que acceden a esta asignatura es en general muy limitado. Es por ello que algunos alumnos se han quejado de que se pierden en cuestiones sintcticas relacionadas con los ejemplos presentados en clase, y eso les diculta entender los conceptos semnticos de la asignatura.
Confusin por parte de algunos alumnos

cia, Polimorsmo, Generalizacin y Relaciones entre clases? 1. Ejemplos de cdigo en C++ 2. Trazas de ejecucin en C++ 3. Diagramas UML 4. Diagramas UML + trazas de ejecucin C++
Cunto tiempo te ha llevado comprender

entre relaciones entre clases y el concepto de clave ajena presente en las bases de datos relacionales. Para aquellos alumnos que han cursado previamente alguna asignatura de Bases de Datos Relacionales, se ha detectado que en general resulta ms fcil pensar en trminos de claves ajenas que pensar en punteros entre objetos. que no slo el tipo sino tambin la cardinalidad de las relaciones y el uso o no de polimorsmo juega en la eleccin de un tipo u otro de implementacin de las relaciones entre clases. ste es sin duda uno de los puntos ms crticos de la asignatura, cuya solucin pasa desde nuestro punto de vista por la familiarizacin del alumno con un mayor nmero de ejemplos que le permitan comprender los criterios aplicables. Este hecho dicult el seguimiento individualizado de los progresos y problemas particulares de cada alumno.
Evaluacin de la metodologa

la transformacin del diagrama de clases en cdigo en C++? 1. menos de una semana 2. entre una semana y un mes 3. ms de un mes 4. an no lo entiendo ses, consideras que es til para visualizar la estructura del cdigo y las relaciones entre clases? Y como vehculo de comunicacin entre programadores? 1. s, considero que es til para programar y para comunicarse entre programadores 2. creo que es til como vehculo de comunicacin, pero no para programar 3. creo que es til para programar, pero no para comunicarme con otros programadores 4. creo que no es til has aprendido en esta asignatura? 1. Sintaxis C++ 2. Conceptos tericos de OO 3. Conceptos tericos de OO y modo de expresarlos en UML 4. Conceptos tericos de OO, modos de expresarlos en UML y relacin entre sintaxis UML y sintaxis C++ que te resultara difcil implementar un diagrama de clases distinto en C++? 1. s, mucho 2. bastante 3. poco 4. nada lenguaje de programacin (e.j. Java), te resultara difcil implementar la prctica en ese otro lenguaje? 1. s, mucho 2. bastante 3. poco 4. nada

Una vez comprendido el diagrama de cla-

Dicultad en la comprensin del papel

Qu crees que es lo ms importante que

Masicacin de los grupos de prctica.

Una vez nalizada la asignatura, crees


4.

A los profesores de la asignatura nos interesaba especialmente evaluar el grado de satisfaccin del alumnado con respecto a este sistema de trabajo, para lo cual, y nuevamente apoyndonos en los recursos ofertados por el Campus Virtual, se realiz la siguiente encuesta a un conjunto de 40 alumnos correspondientes a un grupo de prcticas aleatorio.
Qu te ha resultado ms intuitivo para

Crees que, conociendo la sintaxis de otro

Cundo crees que debera ensearse la

la comprensin de los conceptos de Heren-

relacin entre el diagrama de clases y la sintaxis C++?

X Jornadas de Enseanza Universitaria de la Informtica

269

1. al principio del curso 2. tras haber dado los conceptos tericos bsicos de la OO 3. al mismo tiempo que se van viendo ejemplos de cdigo de cada concepto 4. tras haber visto ejemplos de cdigo de todos los conceptos de OO (herencia, polimorsmo, genericidad, etc)
Te parece interesante el hecho de apren-

der conceptos y herramientas que vas a volver a utilizar en asignaturas de cursos superiores? 1. s, mucho 2. bastante 3. poco 4. nada

Una vez recopilados los datos, la encuesta muestra cmo a un 52 % de los encuestados el uso de diagramas UML les ha facilitado la comprensin de los conceptos de la asignatura frente a un 39 % que han seguido mejor los ejemplos de cdigo. Pensamos que parte de este porcentaje se debe a las dicultades inherentes a la abstraccin de conceptos, y que por tanto se podra mejorar mediante una ejemplicacin ms exhaustiva. Esta apreciacin se corrobora si observamos que el 40 % de los alumnos piensa que lo ms importante aprendido en esta asignatura han sido los conceptos de OO y su modo de implementarlos en un lenguaje como C++, frente a slo un 6 % que considera que lo ms importante aprendido es la sintaxis de C++. Un 88 % de los alumnos encuestados han comprendido la transformacin entre diagramas de clases y cdigo en un periodo inferior a un mes, lo cual se adeca al tiempo dedicado a la primera prctica de la asignatura. Respecto a la apreciacin de UML, un 76 % de los alumnos consideran que UML es un vehculo til para programar. El 24 % restante considera que es til como vehculo de comunicacin, pero no para programar. Pensamos que este porcentaje podra nuevamente mejorarse con ms ejemplos resueltos de implementaciones parciales de sistemas a partir de diagramas. Un 61 % de los encuestados consideran que la implementacin de un nuevo diagrama UML les causara pocas o ninguna dicultad, frente a un 73 % que considera que implementar el

mismo sistema en un lenguaje distinto les resultara poco o nada dicultoso. Ese 12 % de diferencia, atribuible a las dicultades que han encontrado los alumnos a la hora de entender e implementar las relaciones entre clases, nos hace pensar que an es necesario hacer un esfuerzo adicional en la discusin interactiva en teora acerca de la inuencia de las caractersticas de estas relaciones en la implementacin nal de cdigo. Un 73 % de los encuestados coinciden en sealar la necesidad de sincronizacin entre teora y prctica por la que hemos apostado en la asignatura. Sorprende constatar cmo sin embargo un 18 % preferira ver todos los conceptos relacionados con UML al principio de curso, antes de haber abordado dichos conceptos en la asignatura. Pensamos que este dato es debido al distinto nivel con que llegan los alumnos a la asignatura, que hace que aqullos que ya tienen conocimientos avanzados de programacin en C++ preeran abordar directamente aquella parte que an no conocen, i.e. la notacin UML. Por ltimo, el hecho de que un 97 % de los encuestados consideren positiva la experiencia de conocer conceptos que sern retomados en cursos posteriores avalan, desde nuestro punto de vista, la aceptacin por parte de los alumnos de este enfoque, a pesar de las dicultades aadidas con las que se tienen que enfrentar.
5. Conclusiones

Desde este artculo se ha defendido la idea de que la enseanza de Programacin Orientada a Objetos sin referencias explcitas a los criterios de diseo que deberan dirigir la denicin de las clases y relaciones perjudica el proceso de aprendizaje. Por ello, se ha presentado una propuesta metodolgica que, sustentada en teoras pedaggicas actuales, se adapta al nmero de alumnos y medios disponibles en nuestra universidad y complementa las deniciones tericas y los ejemplos de cdigo con representaciones visuales en notacin UML. De este modo se contribuye a que el alumno desarrolle su capacidad de abstraccin respecto a la sintaxis especca de un lenguaje deter-

270

Ingeniera del Software

minado. Una ventaja adicional del manejo de esta notacin es que se desambigua la especicacin de ejercicios y prcticas, y se proporciona una herramienta til de comunicacin entre los propios alumnos. La experiencia en clase y los resultados de la evaluacin por parte de los alumnos demuestran la viabilidad del enfoque, a pesar de las dicultades aadidas con las que, somos conscientes, se tienen que enfrentar dichos alumnos. Nuestra hiptesis, an no contrastada, es que esta enseanza temprana adems va a inuir de manera positiva en la asimilacin de conceptos en las asignaturas correspondientes al rea de Ingeniera del Software, al permitir enlazar los conceptos de anlisis con experiencias de implementacin previas. El resultado esperado es una mejor percepcin de la importancia de un buen anlisis y diseo en la construccin del software. La corroboracin o no de esta hiptesis dirigir sin duda la evolucin de la asignatura en prximos aos.
Referencias

[9] B. Meyer.

Object-Oriented Software Cons-

truction. 2nd Edition

. Addison-Wesley, 1997.
of Object

[10] M. Page-Jones.

Fundamentals

Oriented Design in UML

1999. [11] J.M. Rib. Hacia una renovacin de la enseanza de la programacin bsica. In M.icolau and F. Virgs, editors, IV Jornades sobre l'ensenyament universitari de la in-

. Addison-Wesley,

, pages 403410. Universitat d'Andorra, 05 1998. [12] G. Rose. Visual Methodologies. Sage, 2001. [13] J. Gimeno Sacristn. Autoconcepto, Sociabilidad y Rendimiento escolar. MEC, 1976.
formtica (JENUI)

[1] V. Benedito. Introduccin a la didctica. Barcanova, 1987. [2] T. Budd. Object-Oriented Programming. 3rd Edition. Addison Wesley, 2001. [3] P. Caal, A. Lled, F.J. Pozuelos, and G. Trav. Investigar en la escuela: elementos para una enseanza alternativa. Cuadernos de Pedagoga, (294):7475, 2000. [4] J.L Castillejo. Pedagoga Tecnolgica. Ceac, 1987. [5] C. Coll, J. Palacios, and A. Marchesi. Desarrollo psicolgico y educacin. Alianza, 1991. [6] F. Hernndez. Repensar la educacin en las artes visuales. Cuadernos de Pedagoga, (312):53, 2002. [7] L. Irn and V. Fuentes. Vega: un lenguaje para la enseanza de la programacin. In M.icolau and F. Virgs, editors, IV Jornades sobre l'ensenyament universitari de la in-

, pages 416422. Universitat d'Andorra, 05 1998. [8] F. Llopis. Propuesta de metodologa para un curso universitario introductorio a la programacin. In M.icolau and F. Virgs, editors,
formtica (JENUI) IV Jornades sobre l'ensenyament universita-

, pages 427534. Universitat d'Andorra, 05 1998.


ri de la informtica (JENUI)

Você também pode gostar