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>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.

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

Saved successfully!

Ooh no, something went wrong!