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.

ƒ 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

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

Saved successfully!

Ooh no, something went wrong!