Vous êtes sur la page 1sur 20

Didasc@lia: Didctica y Educacin.

LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

LGICA ALGORTMICA PARA LA RESOLUCIN DE PROBLEMAS DE PROGRAMACIN COMPUTACIONAL: UNA PROPUESTA DIDCTICA LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL AUTORES: Antonio Salgado Castillo1 Isabel Alonso Berenguer2 Alexander Gorina Snchez3 Yaritza Tardo Fernndez4 DIRECCIN PARA CORRESPONDENCIA: Facultad de Matemtica Computacin. Universidad de Oriente. E-mail: asalgado@csd.uo.edu.cu
Fecha de recepcin: 31 07 2012 Fecha de aceptacin: 28 12 2012

RESUMEN El carcter eminentemente social, cultural y tecnolgico del proceso de resolucin de problemas de programacin computacional, junto a la complejidad y dificultades detectadas en su enseanza, han contribuido a despertar la preocupacin por el estudio de los procesos de comunicacin, transmisin y comprensin de la Programacin y a interesar a una amplia comunidad cientfica en correspondencia con el creciente desarrollo que sta alcanza en la actualidad. Razn por la cual este trabajo tiene como objetivo que se develen, desde el punto de vista didctico, los ejes integradores de una lgica algortmica que sea contentiva de la solucin a la contradiccin que se revela en el proceso formativo entre la modelacin matemtica y su sistematizacin algortmica, para potenciar un desempeo eficiente de los profesionales de la Ciencia de la Computacin y de la Ingeniera Informtica. En esta direccin se fundamenta una nueva propuesta didctica consistente en una lgica algortmica, en la que se precisan y explican aquellos procesos esenciales que deben de llevarse a cabo en la resolucin de problemas de programacin computacional. Desde la fundamentacin terica realizada, se concluye que estos procesos constituyen momentos didcticos necesarios para resolver coherentemente la contradiccin antes sealada. PALABRAS CLAVE: Lgica resolucin de problemas algortmica, programacin computacional,

Licenciado en Ciencia de la Computacin. Doctorante en Ciencias Pedaggicas. Profesor Asistente. Departamento de Ciencia de la Computacin. Facultad de Matemtica y Computacin. Universidad de Oriente. Cuba. 2 Licenciada en Matemtica. Doctora en Ciencias Pedaggicas. Profesora Titular. Departamento de Matemtica. Facultad de Matemtica y Computacin. Universidad de Oriente. Cuba. 3 Licenciado en Matemtica. Doctor en Ciencias Pedaggicas. Profesor Auxiliar. Departamento de Contabilidad y Finanzas. Filial Universitaria Contramaestre. Universidad de Oriente. Cuba. 4 Licenciada en Letras. Doctora en Ciencias Pedaggicas. Profesora Titular. Departamento de Idiomas. Facultad de Humanidades. Universidad de Oriente. Santiago de Cuba. Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 57

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

ALGORITHMIC LOGIC TO SOLVE PROBLEMS: A DIDACTIC PROPOSAL ABSTRACT

COMPUTATIONAL

PROGRAMMING

The cultural, technological and eminently social character of the computer programming problems solving process, joined with the complexity and difficulties detected in their teaching, has contributed to increase the concern about the study of the processes of communication, transmission and understanding of computer programming and to attract the attention of a wide scientific community in correspondence with the growing development that this reaches at the present time. That is the reason why this paper has the objective of discover, from the didactic point of view, the integrators axes of an algorithmic logic that solves the contradiction that is revealed in the formative process between the mathematic modeling and their algorithmic systematization to empower an efficient performance of the professionals of Computer Science and Computer Engineering. In this sense a new didactic proposal is based, that consist in an algorithmic logic, in which are specified and explained those essentials processes that should be carry out to solve computer programming problems. Based on the theoretical fundaments, we concluded that these processes constitute didactics moments, required in order to solve the contradiction mentioned before. KEYWORDS: Algorithmic Logic, computer programming, problem solving INTRODUCCIN El proceso de informatizacin de la sociedad ha cobrado gran auge en los ltimos tiempos, al propiciar la aplicacin de las Tecnologas de la Informacin y las Comunicaciones (TIC) a las diferentes esferas y sectores de la sociedad, en aras de lograr una mayor eficacia y eficiencia mediante la optimizacin de recursos y el incremento de la productividad en dichas esferas. A esta realidad no escapan los profesionales de Licenciatura en Ciencia de la Computacin y de Ingeniera Informtica, los cuales no slo necesitan apropiarse de los principales adelantos cientfico tcnicos relacionados con estas ciencias, sino tambin desarrollar habilidades que les permitan, disear, escribir, depurar y mantener el cdigo fuente de programas computacionales; cdigo que debe ser escrito en un lenguaje especfico y requiere frecuentemente de conocimientos de varias reas, del dominio del lenguaje a utilizar, de algoritmos especializados y de la lgica formal, a partir de lo cual podrn crear programas que exhiban el comportamiento deseado. Desde esta perspectiva de anlisis, se revela la necesidad de desentraar las insuficiencias del proceso de enseanza aprendizaje de la resolucin de problemas de programacin computacional en las carreras de Ciencia de la Computacin y de Ingeniera Informtica, y el impacto social de la formacin de
58 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

los futuros egresados para una insercin efectiva de los mismos en su ejercicio profesional. La repercusin social de ambas profesiones tiene su esencia en el desarrollo de procesos relacionados con los sistemas informticos en las organizaciones y en la solucin de clases de problemas en dominios propios y de aplicacin en cualquier mbito social, que les permitan obtener un incremento en la eficacia y la eficiencia de su funcionamiento, con tcnicas para el anlisis del entorno en funcin de delimitar los procesos computacionales, la informacin a procesar y las interrelaciones correspondientes. As como la gestin de proyectos informticos y computacionales con un alto nivel de profesionalidad, por lo que se reconoce que deben estar dotados de un conocimiento tecnolgico, de organizacin, direccin de procesos y entidades, que le permitan desempearse en todos los sectores de la sociedad, como el objetivo que se persigue en su desempeo profesional (Ministerio de Educacin Superior, 2007). Por lo que el proceso que se estudia, contribuye a formar al Ingeniero Informtico y al Licenciado en Ciencia de la Computacin en su funcin de mediar entre los procesos del ciclo de vida del sistema informtico, la explotacin de sistemas y las herramientas de desarrollo, desempeando diferentes roles en el equipo de trabajo, as como la gestin del conocimiento y la capacitacin. Consecuentemente, su actividad profesional se desarrolla en un amplio espectro de organizaciones sociales, a partir de su insercin de manera multidisciplinaria con especialistas de diversas ramas para concebir y desarrollar la solucin informtica que brinde respuesta a las necesidades del contexto, siendo capaz de asimilar los modelos correspondientes, seleccionar y utilizar el equipamiento necesario, as como las tcnicas y mtodos ms efectivos para el procesamiento de la informacin, la modelacin y desarrollo de sistemas informticos capaces de resolver problemas interdisciplinarios relacionados con la solucin por computadora en los diversos dominios de la ciencia, la tecnologa, la educacin, la produccin y los servicios. Precisamente en la resolucin de los citados problemas interdisciplinarios, se aprecian las mayores dificultades que tienen los egresados de estas carreras. En tal sentido, un anlisis realizado en la carrera de Licenciatura en Ciencia de la Computacin de la Universidad de Oriente, a partir de informes de los ltimos seis aos sobre los resultados docentes de la asignatura Programacin, permiti revelar las siguientes insuficiencias: Limitaciones en la comprensin de las situaciones problmicas que se les plantean y en su respectiva modelacin desde la programacin. Seleccin y empleo inadecuado de estructuras computacionales que no permiten la verificacin y validacin de los algoritmos que se conciben y se implementan.
Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 59

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

Imprecisiones en las soluciones computacionales que se dan a las situaciones problmicas, las cuales no siempre satisfacen las exigencias originales. Escasas destrezas en la codificacin de procedimientos computacionales en una diversidad de lenguajes computacionales. Estas insuficiencias en la apropiacin de los contenidos de programacin han sido tambin confirmadas a nivel internacional. En tal sentido, Oviedo y Ortiz (2002) en un estudio hecho en la Academia de Computacin de la PIICSA, Mxico D.F, concluyeron que existe carencia de habilidades para programar y bajo aprovechamiento docente en esta asignatura. Por otra parte los docentes investigadores Ferreira y Rojo (2005), de la Universidad Nacional de Ro Cuarto, en Argentina, aseguran que los alumnos del primer ao que cursan la asignatura de Introduccin a la Algortmica y Programacin, presentan insuficiencias, dentro de las que citan: escasa destreza para desarrollar algoritmos de mediana o alta complejidad, falta de apropiacin de una metodologa de resolucin de problemas e insuficiente experiencia en el manejo del lenguaje de programacin utilizado en la asignatura. Del mismo modo, autores como Guibert, Guittet y Girard (2005), plantean que los estudiantes que se enfrentan por primera vez a la programacin en su proceso de formacin, presentan problemas tales como: no logran desarrollar un modelo viable o estructura que permita resolver el problema, ni describir una estrategia comprensible para la computadora o abstraer los diferentes comportamientos de una tarea en una estrategia que los integre a todos. Adems de constatar numerosas dificultades en la concepcin de un programa por parte de estudiantes del primer ao universitario, concluyendo que el aprendizaje para programar no puede reducirse a aprender la sintaxis de un lenguaje de programacin, sino que el estudiante debe comprender la dificultad de esta tarea y construir un modelo correcto de cmo los programas se elaboran y ejecutan. Estos autores reconocen que la didctica de la programacin no puede sustentarse en enfoques esquemticos orientados a aprender slo lenguajes de programacin, sino que sta debe fundamentarse en procesos de anlisis, interpretacin y abstraccin de su lgica y concepcin algortmica. De manera similar los investigadores franceses Faouzia y Mostafa (2007), aseguran que la fragilidad del conocimiento de los estudiantes al programar se debe, en parte, a la falta de un modelo mental de la computadora, que le sirva de base para crear algoritmos viables. Sin embargo, si bien la concepcin de dicho modelo mental pudiera considerarse una alternativa viable para favorecer el proceso de programacin; sta no es suficiente para crear programas eficientes, ya que deben incorporarse otros conocimientos matemticos, lgicos y computacionales, que permitan una perspectiva ms integradora para abordar dicho proceso.
60 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

En otro sentido, los investigadores cubanos Gonzlez, Estrada, y Martnez (2006) proponen que los primeros conceptos de programacin se enseen a partir de la construccin de algoritmos, usando pseudocdigos, y reconoce que al hacerlo surgen dificultades con la codificacin. Si bien se coincide con la dificultad planteada por estos autores, se considera no es significativa comparada con los problemas que acarrea el no ensear a los estudiantes a construir los algoritmos, que en nuestra opinin son la base de la programacin. Por otro lado, las investigadoras argentinas Moroni y Seas (2005) afirman que la complejidad de los programas que se desarrollan actualmente exige del uso de tcnicas efectivas de programacin, para lo que debe ponerse nfasis en el diseo previo, con lo que connotan la utilizacin de los algoritmos como recursos esquemticos para plasmar el modelo de la resolucin de un problema. Si bien estas autoras reconocen el valor del empleo de algoritmos como recurso previo a la resolucin de un problema, su perspectiva de anlisis no trasciende lo meramente declarativo, sin ofrecer posibles vas y procedimientos didcticos de cmo disearlos. De igual forma, Whitfield y otros (2007), de la School of Computer Science of Liverpool Hope University, plantean que la resolucin de un problema computacional es compleja en s misma, requiriendo de habilidades tales como la identificacin de los sub - problemas, el reconocimiento de relaciones, situaciones y modelos que permitan desarrollar un algoritmo para la solucin y la traduccin del mismo al cdigo ejecutable. Con lo que remiten nuevamente a la necesidad de potenciar el proceso de algoritmizacin computacional desde una perspectiva didctica, a travs de la formacin de habilidades para analizar, identificar, reconocer y modelar la situacin problmica. Una opinin generalizadora de lo complejo que resulta el proceso de enseanza aprendizaje de la programacin, es la que ha sido emitida por Kasboll (2002), despus de realizar un estudio en varias universidades del mundo, quien en sus informes asegura que a nivel mundial, entre el 25 y el 80% de estudiantes que en su primer ao de universidad enfrentan cursos de programacin, han desaprobado o han abandonado los estudios de esta materia. Como se puede apreciar, todas estas investigaciones reconocen que el proceso de enseanza aprendizaje de la resolucin de problemas de programacin computacional tiene como centro de sus dificultades la algoritmizacin. Sin embargo, se quedan slo a nivel del reconocimiento de dicha problemtica, sin llegar a proponer soluciones didcticas orientadas a revelar la lgica del proceso de algoritmizacin computacional. Del anlisis hasta aqu realizado es necesario resaltar que la bsqueda de una forma de ensear a programar debe fundamentarse en procesos de anlisis, interpretacin y abstraccin de la lgica y concepcin del algoritmo; con lo que se destaca el empleo de estos, como recursos previos a la resolucin de un problema de programacin computacional. En este sentido, se devela la
Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 61

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

necesidad de potenciar en los profesionales de la Ciencia de la Computacin y de la Ingeniera Informtica, una formacin que se centre en una lgica algortmica que les permita proponer respuestas pertinentes a problemas actuales de programacin, en correspondencia con las demandas sociales en una diversidad de contextos de actuacin profesional. Hablar de programacin computacional, entonces, implica reconocerla como un proceso complejo y creativo, que ha sido abordado desde una diversidad de paradigmas y ha generado numerosas propuestas y discusiones en la bsqueda de una forma ptima de ensear a programar, que permita al alumno el desarrollo de sus potencialidades para utilizar un conjunto de abstracciones interrelacionadas entre s para la resolucin de problemas (Chesevar, 2000). La sistematizacin epistemolgica realizada anteriormente, ha podido revelar las limitadas propuestas tericas y metodolgicas existentes en el proceso de algoritmizacin computacional, las que an no logran revelar las esencialidades didcticas del mismo, desde un sistema de relaciones que caracterice los ejes integradores de su lgica dinamizadora en la resolucin de problemas de programacin. Es por ello, que con el propsito de elevar a niveles cualitativos superiores la actividad formativa del futuro egresado de las carreras de Licenciatura en Ciencia de la Computacin y de Ingeniera Informtica, el presente trabajo se traz como objetivo principal develar, desde el punto de vista didctico, los ejes integradores de una lgica algortmica que sea contentiva de la solucin a la contradiccin que se revela en el proceso formativo entre la modelacin matemtica y su sistematizacin algortmica, para potenciar un desempeo eficiente del mencionado egresado en una diversidad de contextos socio profesionales. DESARROLLO Una profundizacin en los procederes didcticos ms relevantes del proceso de programacin computacional, implica remitirse en primera instancia, al anlisis de las particularidades distintivas de su proceso de enseanza aprendizaje y, en segundo lugar, al estudio de la didctica de la resolucin de problemas de programacin computacional. Se considera a estos aspectos necesarios en cualquier propuesta didctica sobre la lgica algortmica para la resolucin de problemas de programacin computacional. 1. El proceso de enseanza aprendizaje de la programacin computacional Las diversas perspectivas para abordar la didctica de la programacin computacional se pueden estructurar para su anlisis en dos variedades de propuestas: a partir de enfoques orientados a la especificidad de uno o varios lenguajes de programacin haciendo nfasis en su sintaxis y su semntica (Chesevar, 2000; Moroni y Seas, 2004; Soler y otros, 2008; Prez, 2009); o bien, se orientan al empleo de un lenguaje algortmico a travs de pseudocdigos, lo bastante general cmo para permitir su traduccin posterior
62 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

a cualquier lenguaje de programacin (Salazar y Delrieux, 2004; Martnez, 2005; Ferreira y Rojo, 2005; Gonzlez, Estrada y Martnez, 2006). Algunos partidarios del primer enfoque proponen el uso de mapas conceptuales a travs del diseo de un lenguaje de programacin, que facilite la representacin grfica de los elementos estticos y dinmicos de programas implementados en este lenguaje, as como el diseo, visualizacin y prueba de los algoritmos, Moroni y Seas (2004). Esta experiencia proporciona un complemento de inestimable valor en el proceso de enseanza aprendizaje de la programacin, aumentando la comprensin de conceptos de un alto nivel de abstraccin y complejidad. En este mismo enfoque se reconoce como vlida la propuesta hecha por Prez (2009) de la Universidad Politcnica del Valle de Mxico, consistente en un sistema informtico educativo que brinda un lenguaje de programacin con ambiente visual denominado Nuevo Lenguaje de Programacin (NLP), que usa a su vez seis lenguajes diferentes, con el objetivo de potenciar el desarrollo de algoritmos y la elaboracin de programas y as reducir el tiempo para aprender a programar, planteando que mientras ms se practique ms se aprende. Este investigador afirma que se logran resultados alentadores con la herramienta, ya que los alumnos empiezan a descubrir la sintaxis de los seis lenguajes rpidamente y, por otro lado, si no se tiene experiencia previa en el desarrollo de la programacin se adquiere a partir de que el software indica las correcciones sintcticas. Sin embargo, aunque este parecera ser un proceder ideal, puede conducir al estudiante a una mecanizacin del pensamiento, ya que el mismo emplea mayor tiempo en aprender la sintaxis de los lenguajes, que en el diseo lgico del programa; por lo que esta contribucin no se considera suficiente para el desarrollo de habilidades esenciales para la programacin, tales como la modelacin y la representacin. Adems, no tiene en cuenta las imprecisiones semnticas que reflejan el objetivo esencial del programa, siendo estas un indicador del cumplimiento de la intencionalidad del algoritmo. En resumen, aunque se reconoce la pertinencia de esta contribucin, se considera que tampoco logra potenciar, desde una ptica integradora, las relaciones existentes entre la algoritmizacin y su posterior codificacin en un lenguaje especfico. Por otro lado, los seguidores del segundo enfoque, desde una posicin ms comprometida con el desarrollo de habilidades de razonamiento lgico y modelacin, proponen un modelo que deviene Programa Heurstico General para la enseanza de la Programacin (Gonzlez, Estrada y Martnez, 2006), el que consta de las siguientes fases: deteccin del problema en la actividad cognoscitiva, confeccin de un modelo que refleje las caractersticas esenciales del fenmeno, expresin de este modelo en un sistema informtico, puesta en prctica del mismo para resolver la problemtica y, por ltimo, su reformulacin.

Vol. IV. Ao 2013. Nmero 1, Enero-Marzo

63

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

Esta propuesta se basa en un paradigma de programacin especfico: la Programacin Orientada a Objetos (POO), que por definicin est basado en un lenguaje de tercera generacin o de alto nivel, que requiere de la formacin de estrategias heursticas particulares, resultando de vital importancia para la bsqueda de la solucin a un problema. En tal sentido, la heurstica juega un papel esencial en el diseo de nuevos algoritmos, la redefinicin de estos, su optimizacin y su codificacin. Sin desdear esta propuesta, se considera criticable que se dirija a las generalidades de la programacin computacional y no tenga en cuenta las esencialidades de la algoritmizacin. Adems, soporta su estrategia en la enseanza de la POO como va para desarrollar la creatividad y el pensamiento heurstico del estudiante, sin tener en cuenta que la propia naturaleza de lo heurstico requiere, en primer lugar, un pensamiento algortmico, el cual debe partir de lo simple para llegar a lo complejo. Por lo que comenzar a ensear con la POO, cuya sintaxis es muy complicada, implicara un tiempo considerable para su estudio, en detrimento del aprendizaje y desarrollo de habilidades inherentes a la algoritmizacin. Dentro del enfoque didctico que emplea pseudocdigos, se destaca la metodologa de Ferreira y Rojo (2005), sustentada en la ejecucin de varias fases para resolver un problema, en un lenguaje algortmico estructurado de carcter general. As, una vez obtenida la solucin, se traduce a un lenguaje de alto nivel y se implementa siguiendo las etapas de: anlisis, diseo, implementacin y prueba. Sin embargo, aun cuando esta propuesta resulta vlida, en tanto se reconoce a la algoritmizacin como parte importante del proceso de programacin, no profundiza en las particularidades de los procesos que intervienen en la lgica didctica de la misma, al no favorecer el componente lgico matemtico necesario para llegar a comprender y modelar el problema, previo al proceso de planteamiento en un lenguaje algortmico estructurado. Teniendo en cuenta lo analizado hasta aqu, podemos sealar que el carcter eminentemente social, cultural y tecnolgico del proceso de resolucin de problemas de programacin computacional, junto a la complejidad y dificultades detectadas en su enseanza, han contribuido a despertar la preocupacin por el estudio de los procesos de comunicacin, transmisin y comprensin de la Programacin y a interesar, al respecto, a una amplia comunidad cientfica en correspondencia con el creciente desarrollo que sta alcanza en la actualidad. Consecuentemente, en aras de alcanzar el objetivo del presente trabajo, se hace necesario dirigir ahora el anlisis hacia los elementos componentes de la resolucin de problemas de programacin computacional y sus aspectos didcticos ms relevantes. Teniendo en cuenta que estos elementos constituyen un sustento de gran valor para el proceso de enseanza aprendizaje de la programacin computacional.
64 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

2. Didctica de la resolucin de problemas de programacin computacional Desde el punto de vista computacional, resolver un problema de programacin implica el establecimiento de una sucesin de pasos elementales, cada uno de los cuales genera un conocimiento nuevo, que se obtiene como inferencia lgica, a partir de los conocimientos y experiencias del individuo y de las condiciones del problema o consecuencias derivadas de stas en pasos anteriores. La conjuncin de estos pasos, entonces, permitir fundamentar la exigencia del problema (Alonso, 2001). En adicin, la actividad de resolucin de problemas de programacin computacional requiere del establecimiento de un conjunto de instrucciones ordenadas para que la computadora lleve a cabo una determinada tarea (Remedios, 2006, p.2), de dnde se induce la necesidad de favorecer el desarrollo de las potencialidades en los estudiantes para disear, y mantener el cdigo fuente de los programas computacionales. Por sus beneficiosos efectos en el desarrollo de las capacidades cognitivas de los estudiantes, la programacin enfocada a la resolucin de problemas computacionales, suscita inters psicopedaggico, al contribuir al desarrollo de su actividad intelectual en tanto les permite establecer planificaciones y estrategias, construir algoritmos, estructurar instrucciones, analizar y comprender los programas propios o escritos por otros, aprender la sintaxis de los distintos lenguajes de programacin y comparar recursos usados por los programadores expertos y por los principiantes (Moroni y Seas, 2005, p.1). En tal sentido, el modelo que propone Polya (1965), aun cuando est pensado para problemas matemticos y no se constituye en procedimientos estrictos e inalterables que puedan asegurar el xito al resolver un problema, deviene alternativa viable para una orientacin general, reconocida por su representatividad en la didctica de la programacin computacional, la cual se concreta en las siguientes etapas: comprender el problema, concebir un plan de solucin, ejecutar el plan, y examinar la solucin obtenida. Sin embargo, la complejidad que caracteriza a la programacin y la actividad resolutiva, hace que al llevarla a cabo se confronten serias dificultades, siendo una de las principales, la falta de xito que tienen los estudiantes en el anlisis y algoritmizacin de situaciones problmicas, en relacin con su posterior implementacin en un lenguaje determinado. Esto conduce, por consiguiente, a que se diseen e implementen programas en los que se reflejan varias inconsistencias, entre las que podemos mencionar: Puede suceder que el programa diseado e implementado est bien sintcticamente, pero no cumpla con la intencionalidad deseada; es decir, la parte semntica est incorrecta. Aun cuando el programa sea semnticamente correcto, puede ser que la solucin que brinda no sea ptima, lo que obliga al programador a volver a la parte de anlisis o comprensin.
Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 65

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

Sucede con frecuencia que el estudiante comprende e interpreta correctamente la situacin problmica que se le plantea y disea correctamente el programa, pero en el momento de la implementacin, por la complejidad del lenguaje de programacin, se equivoca en la parte sintctica y semntica. Lo anterior tiene entre sus principales causas los limitados enfoques tericos y didcticos aplicados a la enseanza de la resolucin de problemas de programacin computacional, debido a perspectivas reduccionistas de abordaje mecnico de las estructuras de los programas, que no trascienden la presentacin de gran nmero de ejemplos anlogos, a lo que se integra el hecho de que an no se privilegia la concepcin del ordenamiento lgico que debe preceder la implementacin computacional. Esto propicia que el programador no desarrolle un pensamiento algortmico, necesario e imprescindible en todo profesional de las ciencias informticas, sino que se intente solucionar un problema usando como nico recurso el conocimiento de una situacin problmica similar. Si bien esto no es del todo errado, no siempre se tienen ejemplos similares, y ante esta situacin el programador no cuenta con las habilidades necesarias para resolverla, lo que repercute directamente en el contexto socio profesional donde se desempea. Todo esto conlleva a que la herramienta computacional que se desea obtener no cumpla con los requerimientos exigidos lo que redunda en una demora en el tiempo de programacin. Adems de implicar un alto compromiso social, pues si tenemos en cuenta, que las ciencias informticas tienen una alta incidencia en el desarrollo de herramientas para la medicina, la educacin, la economa, entre otras, un error semntico o sintctico, podra acarrear graves consecuencias en cualquiera de estas reas, al brindar un resultado que no sea correcto. En este mismo orden de ideas, otro de los obstculos ms comunes a los que se enfrentan los estudiantes durante la resolucin de problemas de programacin computacional, lo constituye el nfasis formativo que generalmente se da a la teora de la programacin enfocada a un lenguaje especfico, subestimndose la necesidad de crear habilidades de algoritmizacin que sean eficaces para cualquier lenguaje. Esto se traduce en que la resolucin de problemas siempre es precedida por un proceso largo de instruccin formal donde al alumno se le ensea la sintaxis del lenguaje, la estructura de los programas y los comandos del compilador. Sin embargo, cuando llega el momento de poner a prueba sus conocimientos en la diversidad de tareas y contextos socio profesionales, el programador novato tiene que enfrentar tres problemas al mismo tiempo: encontrar una solucin al problema, dominar la sintaxis del lenguaje y utilizar eficientemente el compilador, intrprete o ambiente de programacin (Ramrez, 1991). Estas insuficiencias conducen a que el estudiante emplee mucho tiempo, en el aprendizaje de la sintaxis de un lenguaje que puede ser compleja y no desarrolle habilidades como programador, que es lo que le permitir
66 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

desempearse profesionalmente y dar solucin a una diversidad de problemas sociales con la calidad y eficiencia requerida. Otra de las dificultades ms comunes en la resolucin de problemas computacionales est dada por la limitada comprensin del planteamiento de dichos problemas, etapa que en muchos casos es subestimada por los estudiantes, motivo por el cual resultan comunes los errores durante dicho proceso de resolucin. Precisamente, ha sido reconocida por numerosos didactas la importancia de tener bien claro las exigencias del problema que se quiere resolver antes de proceder a su solucin, lo que ha sido el resultado de las observaciones hechas al desempeo de los alumnos, que muchas veces fallan porque leen el problema rpido, de manera descuidada, sin poner atencin a los detalles y sin preocuparse por comprenderlo completamente; lo que los lleva a resolver un problema que es diferente del que se les plantea (Polya, 1965; Pozo, 1994; Alonso, 2001). Algo anlogo sucede durante la siguiente etapa, es decir, durante la concepcin de un plan de solucin. En tal sentido Whimbey y Lochhead (1993) mencionan una serie de errores comunes de los estudiantes al resolver problemas, reconociendo que, en ocasiones, el estudiante no tiene claro el procedimiento a utilizar y comienza a trabajar con el que ms se le parece, sin razonar sobre su conveniencia, ni estimar los posibles resultados que debe obtener, resolviendo el problema de manera mecnica, sin reflexionar mucho sobre la eficacia de lo que est haciendo. Ello lleva a que, en estos casos, se pongan en prctica planes de solucin que no estn precedidos de un diseo pertinente y veraz, que garantice una lgica coherente para la continuidad del proceso. Finalmente, con respecto a examinar la solucin obtenida, Whimbey y Lochhead (1993) mencionan dentro de los errores ms comunes, el llegar a la solucin y no comprobar que sea la correcta, lo que se expresa en que generalmente, se prueba el programa con los datos que aparecen como ejemplo en el planteamiento del problema y, si funciona adecuadamente, se supone que el programa ya es correcto. Sin embargo, en numerosas ocasiones, al probarlo con ciertos datos reales, ste no se ejecuta. De lo anterior, se puede inferir la gran complejidad que entraa el proceso de resolucin de un problema de programacin computacional, y la necesidad de desarrollar en los futuros profesionales de Licenciatura en Ciencia de la Computacin y de Ingeniera Informtica las habilidades para analizar, comprender, interpretar y modelar el problema a resolver. Creando algoritmos eficientes que permitan su codificacin, siguiendo las reglas de un determinado lenguaje de programacin, as como comprobando su eficacia para resolver la situacin problmica original. Aqu cabe destacar el relevante papel que juega la habilidad modelar, pues a criterio de estos autores, el proceso de resolucin de un problema de programacin computacional requiere de dos modelaciones, la primera de
Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 67

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

carcter matemtico, que segn define Juan Ral Delgado en su artculo Las habilidades generales matemticas asocia a todo objeto real o ideal objetos matemticos que representen determinados comportamientos, relaciones o caractersticas suyas (Delgado, 2000); y a partir de sta, una segunda modelacin de carcter computacional, ms esencial an que la primera. Por ello, ser necesario dedicar especial atencin al desarrollo de esta habilidad, en el proceso de enseanza aprendizaje de las asignaturas computacionales, especialmente en aquellas, cuyos objetivos esenciales estn encaminados a ensear a programar. Tambin es preciso insistir, en que para tener xito en la modelacin, se debe lograr una correcta comprensin de la situacin problmica que se aborda, considerando esa comprensin, segn la definicin de Wiltrock (1990, p.7), quien la expresa como una representacin estructural o conceptualmente ordenada de las relaciones entre las partes de la informacin que se debe aprender y entre esa informacin y esas ideas y nuestra base de conocimientos y experiencias. De la anterior definicin se puede inferir que la comprensin de una situacin problmica depende, ante todo, de la representacin que de la misma se haga la persona que trata de resolverla, y siendo as, la representacin debe jugar un papel muy importante en su resolucin, ya que el proceso comienza justamente con la concepcin de una representacin de la mencionada situacin (Alonso, 2001). A propsito de esta habilidad de representar, debe puntualizarse que la misma ha ido cobrando importancia en la ltima dcada, desde que la propuesta de Estndares Curriculares para el ao 2000, del National Council of Teacher of Mathematics, la incorpor como uno de los diez Estndares de matemtica. Estableciendo que los programas deben enfatizar las representaciones matemticas, para fomentar su comprensin, de modo que los estudiantes: elaboren y usen representaciones para organizar, registrar y comunicar ideas matemticas; desarrollen un repertorio matemtico que pueda ser utilizado intencional, flexible y apropiadamente; utilicen representaciones para modelar e interpretar fenmenos fsicos, sociales y matemticos (Alonso, 2001, p.9). Entonces, para la concepcin de adecuadas representaciones matemticas de la situacin problmica bajo estudio, ser necesario llevar a cabo un apropiado proceso de anlisis de la misma, que conduzca a su correcta interpretacin. Considerando la habilidad de interpretar como el proceso mediante el cual se atribuye significado a los objetos que conforman la situacin, de modo que adquieran sentido en funcin de los conocimientos matemticos o en funcin del fenmeno o problemtica real de que se trate (Delgado, 2000). Ahora bien, aunque la premisa fundamental sea privilegiar la enseanza de la resolucin de problemas computacionales desde la algoritmizacin sobre lenguajes de programacin, todava los enfoques didcticos actuales no van ms all de establecer una gua de lo que debe ensearse, en detrimento de
68 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

cmo ensearlo. Aspecto que no ha beneficiado el alcance formativo de los nuevos contenidos que se han introducido a travs de modificaciones curriculares en la asignatura Programacin, pues se subvalora el desarrollo de las habilidades y potencialidades necesarias en el estudiante para el diseo y construccin de los algoritmos, a travs de una lgica didctica pertinente. De aqu el inters por develar, desde el punto de vista didctico, los ejes integradores de una lgica algortmica para la resolucin de problemas de programacin. 3. Didctica de una lgica algortmica para la resolucin de problemas de programacin computacional Debe partirse de reconocer el valor que tiene disponer de la didctica de una lgica algortmica que sirva de base para conducir la formacin del proceso resolucin de problemas de programacin computacional en el profesional de la Ciencia de la Computacin y de Ingeniera Informtica. Supone la formacin de un profesional con capacidades y habilidades de abstraccin, formalizacin, modelacin, construccin de algoritmos y su programacin, necesarias para la realizacin de su objeto de trabajo en una diversidad de contextos profesionales. Esta propuesta, se espera brinde mayores posibilidades de desempeo a los futuros egresados en la diversidad de contextos socio profesionales, lo que implica articular en un movimiento didctico nico, la modelacin matemtica y su sistematizacin algortmica, como ejes integradores de la lgica algortmica de la resolucin de problemas de programacin que se propone. Siendo as, se brindar desde la dinmica de las Ciencias Pedaggicas, no slo los procedimientos algortmicos y heursticos que permitirn elevar la eficacia y eficiencia resolutora ante la diversidad de tareas y problemas profesionales, si no tambin una estructura representacional que incluye la secuencia de estados necesarios para alcanzar la meta, lo que se traduce en sus potencialidades para modelar; como habilidad medular del proceso de resolucin de un problema de programacin computacional. Precisamente, la didctica de la lgica algortmica que se propone, parte de reconocer, que para resolver un problema de programacin computacional se debe realizar una doble modelacin: matemtica y computacional. La citada modelacin matemtica tiene como base la representacin matemtica de la situacin problmica, que se concibe como el proceso que permite concretar, en un modelo matemtico, la comprensin e interpretacin realizadas, de manera que facilite la visualizacin y conceptualizacin matemtica de los objetos y relaciones inherentes a la situacin problmica bajo anlisis, desde la lgica esencial de las Ciencias Informticas. Por consiguiente, durante la modelacin matemtica se interpretar a la comprensin del problema a resolver como expresin de los sucesivos acercamientos que debe realizar el estudiante para comprender el significado de
Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 69

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

una determinada situacin problmica, a los efectos de su solucin desde una lgica algortmica. En esta direccin debe tenerse en cuenta que hasta que no se comprenda bien la situacin que se aborda, todo el trabajo que se realice en aras de resolverla puede resultar intil. La comprensin implica un anlisis de la situacin problmica, es decir, su fragmentacin en partes, para examinar detalladamente cada una, con el propsito de identificar los objetos reales, matemticos o computacionales que las conforman, sus caractersticas y sus funciones, as como determinar las ms importantes o esenciales a los efectos del objetivo que se persigue. Todo esto conducir a una primera comprensin de la situacin problmica, la que deber irse perfeccionando a lo largo de todo el proceso de algoritmizacin. Ahora bien, la comprensin de una situacin problmica depende de los conocimientos que posee el estudiante (computacionales, matemticos y sobre el mundo que le rodea), pues tendr que ir creando, imaginando objetos y relaciones, en correspondencia con los objetos y relaciones externas que presenta la citada situacin. De aqu que los conocimientos y experiencias sobre el mundo sean sumamente importantes para lograr una adecuada comprensin de la situacin, la presencia de conocimientos lingsticos, por ejemplo, es obviamente necesaria, ya que el estudiante debe comprender el lenguaje y las experiencias por medio de las cuales recibe el planteamiento de la situacin. Si todos estos conocimientos resultan suficientes para procesar la informacin que brinda la situacin, es muy probable que se pueda lograr una adecuada comprensin de la misma, la que facilitar su posterior solucin. Aun as, durante la modelacin matemtica esta comprensin no es suficiente, si no se complementa con una interpretacin matemtica del problema, como expresin del proceso de reconstruccin matemtica que realiza el estudiante, a partir de establecer asociaciones y relaciones entre los objetos que intervienen en la situacin problmica, con lo que se atribuye un significado a dicho proceso en funcin de la situacin o problemtica real que se pretende resolver, desde un conocimiento matemtico, adquiriendo con ello un sentido diferente y cualitativamente superior. Aqu resulta de vital importancia este proceso encaminado a establecer asociaciones y relaciones, el que se da una vez que se comprende la situacin y conduce a la realizacin de abstracciones sustentadas en objetos y relaciones matemticas. As, para establecer estas relaciones debern conectarse los resultados de la exploracin y vincular las diversas partes de la informacin obtenida, es decir; conectar los datos similares y localizar las diferencias y semejanzas, para que, una vez hecha la comparacin, se puedan establecer los vnculos entre los componentes de la informacin y expresarlos matemticamente. Si se tiene en cuenta que el conocimiento matemtico es un conjunto de esquemas mentales en los que el individuo ha organizado los conceptos,
70 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

principio, frmulas y procedimientos de esta materia, se podr entender que a travs de esos esquemas es que el estudiante puede relacionar y organizar la informacin nueva, para interpretarla en forma significativa, en aras de resolver la situacin problmica. Esta representacin puede pasar por diferentes grados de generalizacin, esto hace que no se considere como una reproduccin mecnica e invariable de la percepcin de la situacin, sino que se asuma como un proceso dinmico y variable. La relacin entre la representacin y la situacin problmica regula, entonces, las modificaciones a las cuales est sometida la primera. En este momento, es que como parte del proceso de modelacin matemtica, la representacin matemtica de la situacin problmica permitir la determinacin y activacin del conocimiento a emplear en su algoritmizacin y solucin. De aqu que al comienzo del proceso, los conocimientos del individuo le permitirn obtener una representacin matemtica de la situacin y, en consecuencia, sern recuperados de su memoria los procedimientos concretos de algoritmizacin, si los conoce. En tal sentido, lo que gua la recuperacin de los procedimientos apropiados, es la representacin matemtica que de la situacin se forma dicho individuo; por ello se considera crucial dicha representacin para tener xito en la algoritmizacin, al ser la que determina qu conocimiento se activar en la memoria. Algo que no se puede perder de vista es que cada individuo crea sus representaciones matemticas, de ah que diferentes estudiantes pueden crear diferentes representaciones de una misma situacin problmica. Esto ms que una dificultad puede favorecer el proceso de enseanza aprendizaje de la algoritmizacin, siempre que sea bien aprovechado desde el punto de vista didctico. Esto permitir concretar en un nivel de esencialidad matemtica, la manera en que el estudiante se representa y construye su modelo mental, resultado de la abstraccin realizada, como punto de partida para nuevas representaciones y abstracciones, en una bsqueda y resignificacin constante de las relaciones lgico matemticas modeladas, siendo expresin del carcter de integracin y sistematizacin lgico matemtica, desplegado por el estudiante para desarrollar sus potencialidades en aras de comprender e interpretar pertinentemente la significatividad de los objetos y relaciones modelados. Aspecto que permite alcanzar estadios superiores en la representacin matemtica realizada durante el proceso resolutor, constituyendo un punto de partida para un nivel de esencialidad algortmica. De modo que, la sistematizacin algortmica tiene como base a la generalizacin de la representacin matemtica algortmica, que se concibe como el proceso que permite expresar mediante pseudocdigos la relacin existente entre la identificacin de estructuras algortmicas y la integracin jerrquica de estructuras algortmicas. Este proceso trasciende el simple aprendizaje de las caractersticas de un lenguaje especfico, encaminndose hacia el
Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 71

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

reconocimiento y aplicacin del pseudocdigo, como herramienta base para la escritura del algoritmo. La identificacin de estructuras algortmicas, durante el proceso de sistematizacin algortmica, es interpretada como aquel proceso mediante el cual el individuo reconoce las estructuras algortmicas necesarias para garantizar una lgica coherente en el proceso de algoritmizacin computacional. Este reconocimiento se logra a partir del anlisis de la representacin matemtica de la situacin problmica, contentiva de los rasgos esenciales de dicha situacin, en correspondencia con los conocimientos computacionales y matemticos que posee el individuo. Es decir, el individuo cuando ya tiene concebida una representacin matemtica de la situacin problmica, tendr que distinguir, dentro de un conjunto de estructuras algortmicas conocidas por l, aquellas que le sern tiles para transformar los objetos y relaciones que aparecen en la citada representacin, a partir del conocimiento de las caractersticas y funciones de dichas estructuras. Por consiguiente, la identificacin de estructuras lgico computacionales, presupone el dominio de ciertas habilidades y operaciones. No se puede identificar una estructura si no se ha aprendido a determinar las propiedades y funciones de la misma por medio de la comparacin con otras estructuras, esto es lo que permite diferenciarlas. Pero determinar las propiedades y funciones de una estructura no es suficiente, debe saberse diferenciar las propiedades y funciones esenciales de las no esenciales, como habilidad clave para lograr la identificacin. Esto requiere del dominio del concepto de propiedad y funcin, adems de habilidades para diferenciar en las estructuras diversas propiedades y caractersticas. Sin embargo, esta identificacin de estructuras por s sola no garantiza la concepcin de un algoritmo que conduzca a la solucin de la situacin problmica que se aborda durante el proceso de sistematizacin algortmica, y para lograrlo debe llevarse a cabo en estrecha relacin con la integracin jerrquica de estructuras algortmicas, garantizando as la seleccin, anlisis y concatenacin adecuada de las estructuras, previamente identificadas por el individuo, para conformar el algoritmo que constituir la estructura funcional del proceso de programacin computacional. Todo lo anterior implica identificar e integrar jerrquicamente las citadas estructuras para dar significado a las secuencias lgicas desde una interpretacin algortmico computacional, lo que se constituye en va estratgica para dirigir las operaciones y procedimientos individuales, a partir de un proceso de ordenacin, disposicin y estructuracin algortmica. Esto propicia una pertinencia de la intencionalidad lgico computacional que lleva a garantizar la eficiencia algortmica del proceso. Es en este momento que se debe garantizar que la integracin de las estructuras computacionales sea ptima, mediante el empleo de herramientas
72 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

de control, iterativas o de definicin en el orden exacto. Esto permitir que, cuando se implemente el algoritmo que se est diseando, se haga un uso eficiente de la memoria del computador y que el tiempo de ejecucin del mismo sea mnimo. La optimizacin realizada por el estudiante contribuye al desarrollo de habilidades de programacin, en lo referente al diseo y la concepcin de algoritmos. De aqu que en esta etapa se connote el carcter integrador y desarrollador que posee la algoritmizacin como proceso computacional, capaz de propiciar en el educando capacidades cognitivas, al tener que integrar y optimizar simultneamente. Como resultado de la relacin que se establece entre la de identificacin e integracin jerrquica de estructuras algortmicas se configura, con un carcter de integralidad cualitativamente superior, la generalizacin de la representacin matemtica algortmica, permitiendo sintetizar y dinamizar la lgica de algoritmizacin computacional desplegada. Esta es expresin del proceso de resignificacin y reestructuracin, de la representacin matemtica creada por el estudiante; a partir de una identificacin e integracin sistemtica de estructuras computacionales, lo que conduce a una representacin ms general, expresada mediante pseudocdigos. Este proceso de generalizacin trasciende el simple aprendizaje de las caractersticas de un lenguaje especfico, encaminndose hacia el reconocimiento y aplicacin del pseudocdigo, como herramienta base para la escritura del algoritmo, constituyndose en una primera aproximacin algortmica de la va de solucin del problema computacional; cualidad que da cuenta, del carcter generalizador del mismo. As pues, la didctica asociada a la nueva lgica algortmica que se propone, est en condiciones de ser aplicada para perfeccionar la resolucin de problemas computacionales a partir de diferentes instrumentos didcticos que posibiliten concretar sus ejes integradores: modelacin matemtica y sistematizacin algortmica, mediante el desarrollo de una lgica algortmica coherente con los procesos de comprensin del problema, interpretacin matemtica del problema, representacin matemtica de la situacin problmica, identificacin de estructuras algortmicas, integracin jerrquica de estructuras algortmicas y generalizacin de la representacin matemtica algortmica, los cuales se constituyen en los momentos didcticos ms importantes en los que se debe de incidir para perfeccionar el proceso de enseanza aprendizaje de la programacin computacional. CONCLUSIONES La sistematizacin realizada a partir de los referentes tericos metodolgicos del proceso de resolucin de problemas de programacin computacional, permiti revelar el limitado tratamiento que se le brinda actualmente a la lgica de algoritmizacin, pues no se concibe un proceso didctico que permita
Vol. IV. Ao 2013. Nmero 1, Enero-Marzo 73

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

integrar en un movimiento nico la modelacin matemtica y la sistematizacin algortmica, como expresin de una lgica algortmica pertinente. Se fundamenta una nueva propuesta didctica consistente en una lgica algortmica, en la que se precisan y explican aquellos procesos esenciales que deben de llevarse a cabo en la resolucin de problemas de programacin computacional. Desde la fundamentacin terica realizada, se concluye que estos procesos constituyen momentos didcticos necesarios para resolver coherentemente la contradiccin que se establece entre los ejes integradores: modelacin matemtica y sistematizacin algortmica. Por lo que se considera que dicha propuesta, una vez concretada en diferentes instrumentos didcticos, tiene potencialidad para contribuir significativamente al desarrollo de habilidades de algoritmizacin en los estudiantes de las carreras de Ciencia de la Computacin y de Ingeniera Informtica, dando respuesta a problemas actuales de programacin computacional. BIBLIOGRAFA
Alonso, I. (2001). La resolucin de problemas matemticos. Una alternativa didctica centrada en la representacin. Tesis en Opcin al Grado Cientfico de Doctor en Ciencias Pedaggicas, Universidad de Oriente, Santiago de Cuba, Cuba. Chesevar, C. (2000). Utilizacin de los mapas conceptuales en la enseanza de la programacin. Disponible en: http://cs.uns.edu.ar/~cic/2000/2000-jornadasmapas/2000-jornadas-mapas.pdf [Consultado el 10 de diciembre de 2011] Delgado, J.R. (2000). Las habilidades generales matemticas. Disponible en: http://www.soarem.org.ar/Documentos/Actas%20de%20la%20VII%20Carem.pdf [Consultado el 25 de junio de 2011] Faouzia, B y Mostafa, H. (2007). Utilisation des NTICs pour lapprentissage et lautovaluation de lalgorithmique. SETIT 2007, 4th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications. TUNISIA, Marzo 25 - 29, 2007. Ferreira, A. y Rojo, G. (2005). Enseanza de la programacin. Revista Iberoamericana de Tecnologa en Educacin y Educacin en Tecnologa. Disponible en: http://teyetrevista.info.unlp.edu.ar/numero-1.htm [Consultado el 25 de junio de 2011] Gonzlez, W., Estrada, V. y Martnez, M. (2006). Contribucin al desarrollo de la creatividad a travs de la enseanza de la programacin. Revista digital Pedagoga Universitaria. Vol 9. No.3. Disponible en: http://169.158.24.166/texts/pd/1894/04/3/189404308.pdf [Consultado el 12 de mayo de 2010] Guibert, N., Guittet, L. y Girard, P. (2005). A study of the efficiency of an alternative programming paradigm to teach the basics of programming. Disponible en: http://www.lisi.ensma.fr/fr/equipes/idd/publications.html [Consultado el 10 de enero de 2012] Kaasboll, J. (2002). Learning Programming. University of Oslo, 2002 Martnez, Y. (2005). En busca de una nueva forma de ensear a programar. Investigacin bibliogrfica. Disponible en:
74 Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA

Didasc@lia: Didctica y Educacin. LGICA ALGORTMICA PARA LA PROGRAMACIN COMPUTACIONAL

ISSN 2224-2643

http://www.mty.itesm.mx/rectoria/dda/riee/pdf05/27(DTIE).YolandaMtz.pdf [Consultado el 4 de abril de 2012] Ministerio de Educacin Superior (2007). Modelo del Profesional de Ingeniera Informtica y de Licenciatura en Ciencia de la Computacin, Cuba, 2007. Moroni, N. y Seas, P. (2004). Aplicacin de mapas conceptuales hipermediales en la visualizacin de programas. Disponible en: http://cmc.ihmc.us/papers/cmc2004252.pdf [Consultado el 7 de enero de 2011] _____________________ (2005). Estrategia para la enseanza de la programacin. Disponible en: http://cs.uns.edu.ar/jeitics2005/Trabajos/pdf/52.pdf [Consultado el 4 de abril de 2012] Oviedo, M. y Ortiz, F.G. (2002). La enseanza de la programacin. Disponible en: http://bibliotecadigital.conevyt.org.mx/colecciones/documentos/somece2002/Grupo4 /Oviedo.pdf [Consultado el 25 de abril de 2012] Prez, R. (2009). Una herramienta y tcnica para la enseanza de la programacin. Disponible en: http://campusv.uaem.mx/cicos/imagenes/memorias/ 6tocicos2008/Articulos/Cartel%206.pdf [Consultado el 13 de septiembre de 2010] Polya, G. (1965). "Como plantear y Resolver problemas", Trillas, 1965. Pozo, J.I. (1994). "La solucin de Problemas", Santillana. Aula XXI, Madrid,1994 Ramrez, R.V. (1991). NEWT, una herramienta de programacin grfica para la enseanza del pensamiento algortmico. IX Reunin de Intercambio de Experiencias en Estudios sobre Educacin. Monterrey, N.L., Mxico, Agosto de 1991 Remedios, M.A. (2006). La lgica de programacin en los joven club de computacin y electrnica. Disponible en: http://www.monografias. com/trabajos41/joven-clubcomputacion/joven-club-computacion2.shtml [Consultado el 20 de mayo de 2012] Salazar, C. y Delrieux, C. (2004). Asignaturas introductorias a la programacin: una discusin acerca de sus objetivos y contenidos programticos. Disponible en: http://lsm.dei.uc.pt/ribie/docfiles/txt20031212151824TCI12.pdf [Consultado el 20 de febrero de 2011] Soler, Y. y otros (2008). Mapa conceptual tipos abstractos de datos y sistema de visualizacin de programas SVP SUBC: herramientas eficaces en la formacin virtual del ingeniero informtico. Congreso Virtual Iberoamericano de Calidad en Educacin a Distancia. Disponible en: http://es.scribd.com/doc/21739903/RD14.Pg.1-13. [Consultado el 10 de enero 2012] Whimbey, A y Lochhead, J. Comprender y Resolver Problemas, Visor Distribuciones. Espaa. 1993. Whitfield, A.K y otros (2007). Programming, disciplines and methods adopted at Liverpool Hope University. ITALICS Volume 6 Issue 4, October 2007 [ISSN: 1473-7507] Wiltrock, R. (1990). Comprensin y representacin. MacMillan Publishing Company.

Vol. IV. Ao 2013. Nmero 1, Enero-Marzo

75

Antonio Salgado Castillo, Isabel Alonso Berenguer, Alexander Gorina Snchez, Yaritza Tardo Fernndez

76

Revista Didasc@lia: D&E. Publicacin cooperada entre CEDUT- Las Tunas y CEdEG-Granma, CUBA