Sie sind auf Seite 1von 5

Scientia et Technica Ao XVI, No 48, Agosto de 2011. Universidad Tecnolgica de Pereira.

ISSN 0122-1701 122

LA IMPORTANCIA DE LA ABSTRACCIN EN LA INFORMTICA

The importance of abstraction in the informatics

RESUMEN EDGAR SERNA M.


Es un hecho que algunos ingenieros de software y cientficos computacionales Ingeniero de Sistemas, Ms.C
son capaces de producir diseos y programas claros y elegantes, mientras que Profesor auxiliar
otros no pueden. Acaso, ser esto cuestin de inteligencia? Ser posible Facultad de Ingenieras
mejorar en los estudiantes estas aptitudes y habilidades mediante formacin y Fundacin Universitaria Luis Amig
entrenamiento? En este trabajo se exploran respuestas a estas preguntas y se edgar.sernamo@amigo.edu.co
argumenta que para los profesionales y estudiantes de informtica es crucial que
posean una buena comprensin de la abstraccin.

PALABRAS CLAVES: Abstraccin, Ciencias Computacionales, informtica,


Ingeniera de Software.

ABSTRACT
It is a fact that some software engineers and computer scientists can develop
clear and elegant software programs and designs, in contrast to those who are
unable to do that. Could it be a matter of intelligence? It would be possible to
improve these skills and aptitudes in the students by means of training and
education? In this work we explore answers to these questions and we propose
that a good comprehension level on abstraction is crucial for both professional
and students belonging to computer science.

KEYWORDS: Abstraction, computing, Computer Science, Software


Engineering.

1. INTRODUCCIN pueden? Es alguna cuestin de inteligencia? Creemos


que la clave est en la abstraccin, es decir, en la
Por ms de veinte aos, he estado involucrado en la capacidad para realizar y aplicar pensamiento abstracto y
investigacin, formacin y difusin de las ciencias poseer habilidades en abstraccin.
computacionales y la ingeniera de software. Mi
experiencia en formacin abarca cursos como principios En este artculo se explora esta hiptesis y se formulan
de la programacin, arquitectura de sistemas, arquitectura recomendaciones para trabajos futuros. En primer lugar,
de software, ingeniera de software, sistemas de se discute qu es la abstraccin y su papel en la
informacin, algoritmos distribuidos y diseo de informtica y otras disciplinas; se utilizan los resultados
software. Cursos que requieren de los estudiantes del desarrollo cognitivo, y se analizan los factores que
habilidades para analizar, conceptualizar, modelar y afectan la capacidad de los estudiantes para hacer frente a
resolver problemas. La experiencia en estos aos me ha la abstraccin y para aplicarla. Luego, se discute si la
permitido concluir que los estudiantes que sobresalen en abstraccin es o no enseable; y, finalmente, se sugieren
informtica son capaces de manejar la complejidad de los los pasos necesarios para poner a prueba las habilidades
problemas para producir modelos y diseos elegantes, y en abstraccin, como medio para validar la hiptesis
de hacer frente a la complejidad de los algoritmos planteada, revisar la actuales tcnicas de enseanza, e
distribuidos, a la aplicabilidad de diversas notaciones de incluso, tal vez, seleccionar los estudiantes mejor
modelado, y otras cuestiones importantes en esta rea. capacitados.

Por otro lado, existen otros estudiantes que no sobresalen 2. DEFINICIN E IMPORTANCIA DE LA
tanto como aquellos: ya que encuentran que los ABSTRACCIN
algoritmos distribuidos son muy difciles, no aprecian la
utilidad del modelado, tienen dificultades para identificar De las diversas definiciones de abstraccin [1], nos
lo que es importante en un problema, y producen centramos en dos aspectos particularmente pertinentes
soluciones complicadas que replican las complejidades [2]: el primero hace hincapi en el proceso de eliminar
mismas del problema. Por qu? Qu es lo que hace que detalles para simplificar y concentrar la atencin con
algunos estudiantes puedan? Qu les falta a los que no base en:
Fecha de Recepcin: 13 de Mayo de 2011
Fecha de Aceptacin: 22 de Julio de 2011
123 Scientia et Technica Ao XVI, No 48, Agosto de 2011. Universidad Tecnolgica de Pereira.

 El acto de retirar o remover algo es mal utilizado por los turistas, ya que lo malinterpretan
 El acto o proceso de no considerar una o ms como a un verdadero mapa geogrfico de Londres. El
propiedades de un objeto complejo a fin de atender nivel, los beneficios y el valor de una abstraccin en
las dems. particular dependen de sus propsitos.

El segundo hace hincapi en el proceso de generalizacin Por qu es importante la abstraccin en las Ciencias
para identificar el ncleo comn o esencial con base en: Computacionales y en la Ingeniera de Software? El
software en s ciertamente es abstracto, y la disciplina de
 El proceso de formulacin general de conceptos para desarrollo de software requiere habilidades de
abstraer propiedades comunes de las instancias abstraccin. Devlin [4] seala de manera clara y concisa:
 Un concepto general formado por la extraccin de Una vez que te das cuenta de que la informtica tiene
caractersticas comunes a partir de ejemplos que ver con la construccin, manipulacin y
especficos. razonamiento acerca de abstracciones, se hace evidente
que un pre-requisito importante para la buena escritura
La abstraccin es ampliamente utilizada en otras de programas de computador es la capacidad para
disciplinas como el arte, la escritura y la msica. Por manejar abstracciones de manera precisa. Wing [5]
ejemplo, es famosa la pintura de Henri Matisse, Naked confirma la importancia de la abstraccin en el
blue IV, en la que logra representar con claridad la pensamiento computacional, haciendo hincapi en la
esencia de su tema, una mujer desnuda, utilizando slo necesidad de pensar en mltiples niveles de abstraccin.
lneas simples o recortes. Su representacin elimina todos Ghezzi et al. [6] identifican a la abstraccin como uno de
los detalles, pero transmite mucho; del mismo modo, los principios fundamentales de la ingeniera de software,
Katsushika Hokusai en su pintura South Wind, Clear para poder dominar la complejidad. Autores como
Sky, utiliza un equilibrio perfecto de color y Hazzan [7], tambin han discutido la abstraccin como
composicin representando una forma abstracta de la un pilar bsico para las matemticas y la computacin. La
montaa para capturar su esencia. eliminacin de detalles innecesarios es evidente en la
ingeniera de requisitos y en el diseo de software.
Otro ejemplo es el jazz, en el que los msicos identifican
las melodas esenciales o el corazn de la pieza de La elicitacin de requisitos consiste en identificar los
msica en particular, e improvisan a su alrededor, de tal aspectos crticos del entorno que requiere el sistema,
forma que proporcionan sus propios adornos. De acuerdo mientras se abandonan los irrelevantes. El diseo
con los msicos de jazz, es fcil hacer complejo a un requiere que se evite la implementacin innecesaria de
sonido simple, pero es ms difcil hacer simple a un restricciones. Por ejemplo, en el diseo de un compilador
sonido complejo. Esta dificultad es un claro ejemplo del a menudo se emplea una sintaxis abstracta para centrarse
desafo en la aplicacin de la abstraccin para eliminar en las caractersticas esenciales de la construccin del
detalles superfluos. lenguaje, y se disea el compilador para producir cdigo
intermedio para una mquina abstracta idealizada, para
Un maravilloso ejemplo de la utilidad de la abstraccin lo mantener la flexibilidad y evitar la innecesaria
proporciona Harry Beck [3], en su mapa del metro de dependencia de la misma. El aspecto de generalizacin
Londres: en 1928 el mapa era esencialmente una de la abstraccin se puede ver claramente en el
superposicin de la red del metro sobre un mapa desarrollo, en el uso de abstracciones de datos y de clases
geogrfico convencional de Londres; se mostraban las en la programacin orientada por objetos. La
curvas de las lneas de tren y las del ro Tmesis, y las interpretacin abstracta para analizar el programa es otro
distancias relativas entre las estaciones. En 1931, Beck ejemplo de generalizacin, donde el dominio del
produjo la primera representacin abstracta y programa concreto se asigna a un dominio abstracto para
esquemtica: simplific las curvas a slo lneas capturar la semntica computacional para analizar el
horizontales, verticales y diagonales, donde las distancias programa.
entre las estaciones ya no eran proporcionales a las
distancias geogrficas. Esta forma de representacin Las habilidades de la abstraccin son esenciales en la
simplificada, o abstraccin, result ser tan adecuada para construccin de modelos, diseos e implementaciones
navegar alrededor del metro de Londres que todava se apropiadas, que son aptas para el propsito particular que
utiliza, y se ha utilizado para sistemas de transporte en nos ocupa. El pensamiento abstracto es fundamental para
muchos otros pases. El nivel de abstraccin utilizado fue manipular y razonar sobre abstracciones, ya sean
cuidadosamente seleccionado a fin de incluir slo los modelos formales para el anlisis o programas en un
detalles necesarios, pero abandonando los innecesarios: si lenguaje de programacin. De hecho, la abstraccin es
es demasiado abstracto, el mapa no proporciona fundamental para las matemticas y la ingeniera en
suficiente informacin para este propsito; y demasiado general, jugando un papel crtico en la produccin de
detallado, se vuelve confuso e incomprensible. Al igual modelos para el anlisis y en la produccin de soluciones
que cualquier abstraccin, puede ser engaosa si se de ingeniera de sonido.
utiliza para otros propsitos: este mapa del metro a veces
Scientia et Technica Ao XVI, No 48, Agosto de 2011. Universidad Tecnolgica de Pereira. 124

3. LAS CAPACIDADES DE LOS ESTUDIANTES problemas, y ensearles conceptos generales en lugar de


DE INFORMTICA slo hechos.

De qu competencias en abstraccin dependen nuestros Qu pasa con los contenidos curriculares y los planes de
estudiantes para su desarrollo cognitivo? Podemos estudio? Es recomendable que, en cualquier pregrados en
mejorar sus capacidades y, en caso afirmativo, cmo? informtica, se ofrezcan mdulos de cursos diferentes,
Es posible ensear las habilidades del pensamiento entre los que se incluya un nmero adecuado de
abstracto y la abstraccin? especializacin, que sean opcionales. Ninguno de esos
cursos debe ser sobre abstraccin, sin embargo, todos
Jean Piaget [8, 9] sent las bases para una comprensin deben depender de o utilizar la abstraccin para explicar,
del desarrollo cognitivo de los nios, desde que son bebs modelar, especificar, razonar o resolver problemas! Esto
hasta la edad adulta. Con base en estudios de caso, deriv podra confirmar que la abstraccin es un aspecto
cuatro etapas para el desarrollo: senso-motriz, pre- esencial de la informtica, pero que tiene que ensearse
operacional, operacional concreta y operacional formal. indirectamente, a travs de otras temticas.
Las primeras dos fases van desde la infancia hasta la
primera infancia, cerca de los siete aos, y es donde Nuestra experiencia es que las matemticas son un
indica, ms o menos, la inteligencia mediante actividades excelente vehculo para ensear el pensamiento abstracto.
motrices, y luego con el lenguaje y la manipulacin En los primeros aos de algunos pregrados, cuando los
temprana de smbolos. La tercera es la etapa operacional planes de estudio tienen menos contenido matemtico,
concreta, entre los siete y doce aos, y es donde indica, parece que a los estudiantes les hicieran falta habilidades
ms o menos, la inteligencia mediante una comprensin de abstraccin y son menos capaces de lidiar con
de la conservacin de la materia, de la causalidad, y una problemas complejos. Devlin [4] confirma esta tesis al
habilidad para clasificar objetos concretos. La cuarta es la subrayar: El principal beneficio de aprender y utilizar
etapa operacional formal, alrededor de los doce aos matemticas no son los contenidos especficos, sino el
hasta la edad adulta, y es donde los individuos indican hecho de que se desarrolla la capacidad para razonar
una habilidad para pensar abstracta, sistemtica e precisa y analticamente acerca de estructuras abstractas
hipotticamente, y utilizan smbolos relacionados con definidas formalmente. El movimiento en favor de un
conceptos abstractos. Esta es la etapa crucial en la que el tratamiento matemtico de la informtica y la inclusin
individuo es capaz de pensar abstracta y cientficamente. de tpicos matemticos en el currculo es muy fuerte. Sin
embargo, en informtica, no slo es fundamental que los
Aunque existen algunas crticas acerca de la forma como estudiantes sean capaces de manipular formalismos
Piaget realiz sus investigaciones y deriv su teora, simblicos y numricos, tambin es necesario que tengan
existe un apoyo general para sus ideas fundamentales. habilidades para pasar del mundo real, informal y
Adems, estudios y evidencias experimentales apoyan la complicado, a un modelo abstracto simplificado.
hiptesis de Piaget de que los nios progresan a travs de
las tres primeras etapas de desarrollo; sin embargo, El currculo en informtica de la ACM [12], reconoce la
parece que no todos los adolescentes progresan hasta la importancia de la abstraccin mediante la inclusin de
etapa operacional formal a medida que maduran. El aspectos como encapsulamiento, niveles de abstraccin,
desarrollo biolgico puede ser un pre-requisito, pero generalizacin y clases de abstraccin; sin embargo, es el
pruebas realizadas en poblaciones de adultos indican que modelado y el anlisis del software los que reciben
slo entre el 30 y el 35% de los adultos alcanzan la etapa mayor atencin.
operacional formal [10], y que condiciones particulares
del medio ambiente y de formacin pueden ser necesarias La modelizacin y el anlisis formal son un poderoso
para que tanto adolescentes como adultos alcancen esta medio para la prctica del pensamiento abstracto y la
etapa. consolidacin de la capacidad de los estudiantes para
aplicar la abstraccin. El modelado es la tcnica de
4. LA ENSEANZA DE LA ABSTRACCIN ingeniera ms importante: los modelos nos ayudan a
comprender y analizar los problemas grandes y
A pesar de que el nivel de exigencia para alcanzar la fase complejos. Dado que los modelos son una simplificacin
operacional formal de Piaget es bajo, puede ms bien ser de la realidad con el propsito de promover la
decepcionante, ya que no parece haber alguna esperanza comprensin y el razonamiento, los estudiantes deben
de poder mejorar el rendimiento de los estudiantes ejercitar todas sus capacidades de abstraccin para
mediante la creacin de un ambiente educativo adecuado. construir modelos que sean idneos para un propsito.
Por ejemplo, Huitt and Hummel [9] basados en Woolfolk Tambin deben ser capaces de trazar mapas entre la
and McCune-Nicolich [11], recomiendan para realidad y la abstraccin, a fin de que puedan apreciar las
adolescentes utilizar tcnicas de enseanza como la de limitaciones de sta ltima, y de interpretar las
darles la oportunidad de explorar muchas cuestiones implicaciones del anlisis del modelo. La motivacin del
hipotticas: animarlos a explicar cmo resuelven estudiante se puede mejorar mediante la presentacin
matemtica de los formalismos del modelado, pero de
125 Scientia et Technica Ao XVI, No 48, Agosto de 2011. Universidad Tecnolgica de Pereira.

forma problematizadora; de tal forma que puedan que exclusivamente en las calificaciones escolares
beneficiarse de la disposicin de herramientas de soporte previas. La capacidad en abstraccin podra
como las de comprobacin de modelos para el potencialmente utilizarse para ayudar a detectar a
razonamiento y el anlisis. aquellos estudiantes que no son competentes o que
tienen menor probabilidad de lograr un adecuado
La experiencia personal me ha demostrado que la desempeo en sus estudios de informtica, y
construccin de modelos y anlisis como parte de un seleccionar a aquellos que, adems de ser
curso en concurrencia [13], pueden ser muy alentadoras. acadmicamente competentes, tambin tienen una
Dado un modelo, los estudiantes manifiestan mayor aptitud real para la informtica y la ingeniera de
inters por clarificar los aspectos importantes del software.
problema, y por razonar acerca de sus propiedades y
comportamiento. Sin embargo, a algunos todava les La realizacin de estos experimentos y recoleccin de
resulta extremadamente difcil construir los modelos estos datos depende de la disponibilidad de buenas
desde el principio. No es suficiente pensar en lo que pruebas en abstraccin para medir el pensamiento y las
desean modelar, necesitan pensar acerca de cmo el capacidades de los estudiantes acerca de la misma.
propsito van a utilizar ese modelo. Aunque son Desafortunadamente, no hemos podido detectar la
capaces de pensar y razonar en abstracto, estos existencia de pruebas apropiadas. Las pruebas para la
estudiantes parecen carecer de las habilidades necesarias etapa operacional formal se enfocan principalmente en el
para aplicar la abstraccin. razonamiento lgico, y no son apropiadas para probar
capacidades en abstraccin ni para distinguir entre las
5. UNA SOLUCIN capacidades de los estudiantes de un nivel universitario.
Dubinsky and Hazzan [14] recomendaron disear un
Si la abstraccin es una habilidad clave para la conjunto especfico de preguntas de prueba, incluyendo
informtica, en qu se deberan centrar los procesos de suficientes y diferentes tipos de tareas y descripciones,
enseanza en informtica para asegurar que sea efectiva, soportadas en la recoleccin de datos cuantitativos y
y para que los profesionales tengan adecuados cualitativos e incluyendo preguntas y entrevistas no
conocimientos en abstraccin? limitadas de antemano. Estas pruebas deben examinar las
diferentes formas y niveles de abstraccin y los diferentes
Hasta el momento hemos presentado situaciones propsitos para esas abstracciones. Este debe ser nuestro
principalmente anecdticas, con alguna evidencia siguiente paso. Slo entonces podremos tener datos
soportada en la literatura, pero cmo sustentar esto con definitivos en cuanto a la criticidad de la abstraccin en
una base ms cientfica para mejorar nuestra la informtica, y de nuestra habilidad para ensearla. Por
comprensin de la situacin? Como en todas las ejemplo, deberamos ser capaces de confirmar o refutar
actividades cientficas e ingenieriles, antes de que que un curso en particular, tales como el modelado y el
podamos controlar o efectuar, primero debemos medir. El anlisis formal, es realmente un medio efectivo para
objetivo es reunir los siguientes datos: ensear abstraccin.

1. Mientras estn en la universidad, medir anualmente 6. CONCLUSIONES


las capacidades en abstraccin de los estudiantes.
Esto se podra utilizar para comprobar si su habilidad Al igual que muchos, creemos que la abstraccin es una
se correlaciona con sus calificaciones, y relacionarlo habilidad clave para la informtica; que es esencial, en la
con los resultados de sus compaeros de semestre. ingeniera de requisitos, para elicitar los aspectos crticos
Suponiendo que nuestras tcnicas de clasificacin del entorno que requiere el sistema, mientras
convencional trabajos de cursos, trabajos de descuidamos los no importantes. En el diseo,
laboratorio y evaluaciones son indicativas de la necesitamos articular la arquitectura del software y la
capacidad de un estudiante en informtica, esto funcionalidad de los componentes, de tal forma que
ayudara a ganar confianza en que la abstraccin es un satisfagan los requisitos funcionales y no funcionales,
indicador clave de capacidad. Un segundo objetivo de mientras evitamos innecesarias restricciones de
estas pruebas es que proporcionaran un medio implementacin. Incluso, en la fase de implementacin,
alternativo para revisar las capacidades del estudiante. utilizamos la abstraccin de datos y de clases con el fin
Por ltimo, tambin podra ayudar a evaluar la de generalizar las soluciones.
eficacia de nuestras tcnicas de enseanza, y a
asegurar que las capacidades de todos los estudiantes En este trabajo hemos propuesto que la razn por la que
mejoren a medida que progresan en su carrera. algunos ingenieros de software y cientficos
computacionales son capaces de producir diseos y
2. Medir las capacidades en abstraccin de los programas claros y elegantes, mientras que otros no son
estudiantes al momento que tramiten su inscripcin capaces, se puede atribuir a sus capacidades de
para estudiar informtica. Actualmente, el ingreso a abstraccin. Argumentamos que una buena comprensin
las universidades de los estudiantes se sustenta casi del concepto de la abstraccin y su importancia en la
Scientia et Technica Ao XVI, No 48, Agosto de 2011. Universidad Tecnolgica de Pereira. 126

ingeniera de software, y la forma de ensear y examinar [13] J. Magee, and J. Kramer, Concurrency - State
las capacidades en abstraccin, es crucial para el futuro Models and Java Programs, Chichester UK: John
de las Ciencias Computacionales. Lo primero que se Wiley & Sons, 2006.
necesita es un conjunto de pruebas en abstraccin para [14] Y. Dubinsky, and O. Hazzan, Shaping of a
revisar el progreso del estudiante, que permitan teaching framework for software development
comprobar nuestras tcnicas de enseanza, y methods at higher education, Proceedings of The
potencializarlas como una ayuda para seleccionar International Workshop on Learning and
estudiantes en los procesos de admisin. Assessment in Science, Engineering & Management
in Higher Education. Technion - Israel Institute of
AGRADECIMIENTOS Technology, Haifa, Israel, pp. 59, Oct. 2004.

El autor desea manifestar sus agradecimientos a la


Fundacin Universitaria Luis Amig por su colaboracin
para la realizacin de la investigacin en la que se origin
este trabajo.

REFERENCIAS

[1] Webster, Third New International Dictionary of the


English Language. London: Merriam-Webster,
2002.
[2] P. Frorer, O. Hazzan, and M. Manes, Revealing the
faces of abstraction, International Journal of
Computers for Mathematical Learning, No. 2, pp.
217-228, Jul. 1997.
[3] BBC News (2006). Top three iconic designs
named. [Online]. Available:
http://news.bbc.co.uk/2/hi/uk_news/england/london/
4769060.stm
[4] K. Devlin, Why universities require computer
science students to take math, Communications of
ACM, Vol. 46, No. 9, pp. 37-39, Sept. 2003.
[5] J. M. Wing, Computational thinking,
Communications of ACM, Vol. 49, No. 3, pp. 33-35,
Mar. 2006.
[6] C. Ghezzi, M. Jazayeri, and D. Mandrioli,
Fundamentals of Software Engineering. New
Jersey: Pearson International, 2003.
[7] O. Hazzan, Reducing abstraction level when
learning abstract algebra concepts, Educational
Studies in Mathematics, No. 40, pp.71-90, May
1999.
[8] J. Piaget, and B. Inhelder, The Psychology of the
Child, London: Routledge & Kegan Paul, 1969.
[9] W. Huitt, and J. Hummel, Piagets theory of
cognitive development: Educational Psychology
Interactive. Valdosta USA: Valdosta State
University, 2003.
[10] D. Kuhn, J. Langer, L. Kohlberg, and N. S. Haan,
The development of formal operations in logical
and moral judgment, Genetic Psychology
Monographs, No. 95, pp. 97-188, Feb. 1977.
[11] A. E. Woolfolk, and L. McCune-Nicolich,
Educational Psychology for Teachers. New Jersey:
Prentice-Hall, 1984.
[12] ACM, AIS, IEEE-CS, The ACM/IEEE Computing
Curricula, Washington: ACM & IEEE Press, Sept.
2005.