LIBRERÍA DE PROGRAMACIÓN COMO HERRAMIENTA DE APOYO AL PROCESO DE ENSEÑANZA Y APRENDIZAJE DE LA UNIDAD CURRICULAR ANÁLISIS Y DISEÑO DE ALGORITMOS CASO: LUZ-COL

(Library of programming as a tool to support teaching and learning process of curriculum unit analysis and design of algorithms case: LUZ-COL)


Recepción: 24/04/2012

Aceptado: 07/06/2012



Ortigoza, Johan
Universidad del Zulia, Venezuela
johan.ortigoza@gmail.com



Andrade, Nelvin
Universidad del Zulia, Venezuela
nelvinandrade@hotmail.com



RESUMEN


La investigación tuvo como propósito desarrollar una librería de programación en Lenguaje C para el procesamiento de algoritmos en lenguaje natural utilizando el pseudocódigo como herramienta de apoyo al proceso de enseñanza y aprendizaje de los algoritmos, según los postulados de Aguilar (2001), Byron (2005), Schildt (1990), entre otros, para el aprendizaje de las estructuras algorítmicas dirigido a los estudiantes de la Universidad del Zulia, núcleo COL. La investigación es considerada bajo la modalidad de proyecto factible porque busca dar respuesta a la problemática asociada al desconocimiento de técnicas para el abordaje de algoritmos. Dentro del marco lógico se suscribe bajo un tipo de investigación-acción y corresponde a una observación participante. La población estuvo constituida por cuarenta y dos (42) estudiantes y siete (07) docentes de LUZ-COL. La técnica de recoleccion de datos utilizada fue la encuesta y como instrumento un cuestionario. Los resultados evidenciaron un alto índice de desconocimiento de técnicas para el análisis y diseño de algoritmos, por consiguiente, es necesario mejorar el abordaje de contenidos de la materia. El resultado obtenido en la investigación busca incrementar el rendimiento de los estudiantes con la librería en sus prácticas académicas como herramienta para el aprendizaje significativo de los algoritmos.

Palabras clave: Librería, Programación, Algoritmos, Pseudocódigo.

 

ABSTRACT


The research aimed to develop a library of C programming language processing algorithms using the pseudo-natural language as a tool to support teaching and learning algorithms, according to the principles of Aguilar (2001), Byron (2005 ), Schildt (1990) among others, to learning algorithmic structures aimed at students at the University of Zulia, COL core. The research is considered in the form of feasible project because it seeks to address the problems associated with lack of techniques for addressing algorithms. Within the logical framework is signed under a type of action research and participant observation corresponds to a. The population consisted of forty-two (42) students and seven (07) teachers of LUZ-COL. The data collection technique used was the survey and a questionnaire as an instrument. The results showed a high rate of lack of techniques for the analysis and design of algorithms, it is therefore necessary to improve the approach to subject content. The result obtained in the research seeks to increase the performance of students with the library in academic practices as a tool for meaningful learning algorithms

Key words: Bookstore, Programming, Algorithms, Pseudocode.

 

INTRODUCCIÓN


En la actualidad, el estudio y comprensión de los algoritmos por parte de los estudiantes pertenecientes a las diferentes carreras universitarias relacionadas con informática, computación, sistemas y afines, resultan de vital importancia para la consolidación y desarrollo de los conocimientos del futuro egresado, en la búsqueda de su mejor desenvolvimiento como futuro profesional. Por su parte, dicha relevancia cobra mayor auge si se trata de profesionales que tendrán el compromiso de formar las generaciones de relevo en los diferentes niveles académicos.

Tal es el caso de la carrera de Licenciatura en Educación, mención: Informática, cuyo contenido curricular fusiona lo mejor de ambos mundos. Es decir, los contenidos formativos de la maya curricular de un licenciado en educación con los contenidos de un especialista en informática. De este híbrido nació una carrera relativamente nueva la cual cuenta con mucho auge en la actualidad y es ofrecida por la ilustre Universidad del Zulia en el núcleo Costa Oriental del Lago.

En relación a lo antes expuesto, el objetivo que busca el presente trabajo de investigación es el desarrollo de una librería de soporte para la programación de los algoritmos utilizando un lenguaje natural completamente en español que facilite el estudio y comprensión de los algoritmos por parte de los estudiantes en su pleno proceso de formación. Es decir, lograr convertirse en una verdadera herramienta para el docente de al apoyo del proceso de enseñanza y aprendizaje de la unidad curricular: análisis y diseño de los algoritmos pertenecientes al programa de Humanidades y Educación de la Universidad del Zulia, núcleo Costa Oriental del Lago.

En este sentido, el presente modelo de aprendizaje apoyado en el uso de las TIC’s concede a los profesores las herramientas necesarias para usar la librería desde una perspectiva educativa constructivista, asimismo cada profesor puede desarrollar sus propios algoritmos con respecto al tema que estén enseñando. Este modelo también ayuda al profesor a planificar la enseñanza de una manera creativa.

El presente proyecto consiste en la elaboración de una librería de programación desarrollada completamente en el estándar ANSI C para el aprendizaje de los algoritmos dirigido a los estudiantes del cuarto semestre de Licenciatura en Educación, mención: Informática de LUZ-COL, haciendo uso de la librería, teniendo en cuenta la importancia que tienen los algoritmos en los actuales procesos de formación académica de los estudiantes.


PLANTEAMIENTO DEL PROBLEMA


A nivel mundial, el uso de los algoritmos se han convertido en una de las herramientas de mayor aceptación y divulgación para la resolución de problemas de propósito general, los cuales han logrado traspasar las fronteras de su utilidad no solamente en las ciencias de la informática y computación, sino también su incorporación en otras áreas del conocimiento tales como las ciencias sociales, las ciencias duras, las matemáticas, la administración, contabilidad por citar algunas. En este sentido, se puede observar el uso de diagramas de flujo (representación gráfica de un algoritmo) en literaturas pertenecientes a las ciencias sociales como administración de empresas, en libros de ingeniería de procesos, matemáticas, lógica, por citar algunas. En este orden de ideas, la UNESCO (2009), en su documento denominado Aporte para la enseñanza de la Matemática, SERCE, dice:

“…Una educación matemática de calidad debe proporcionar a los estudiantes las herramientas que les permitan actuar en una variedad de situaciones de la vida diaria. Actualmente, el foco de la enseñanza está puesto en la motivación y gestión del conocimiento y en que el estudiante desarrolle la capacidad de utilizar conceptos, representaciones y procedimientos matemáticos para interpretar y comprender el mundo real. Cabe destacar que la resolución de problemas propicia el desarrollo del pensamiento matemático, puesto que exige poner en juego diferentes tipos de razonamiento. Se presta, además, al desarrollo de habilidades para reconocer y utilizar conceptos y procedimientos matemáticos con diferentes y crecientes grados de dificultad”.

Por consiguiente, es un hecho que la educación basada en transmisión de conocimientos ha quedado atrás, para ser sustituida por el desarrollo de capacidades como lo menciona la UNESCO (2009). Esto se logra por medio de estrategias de aprendizaje activo, en las que el estudiante es el actor principal.

En tal sentido, es importante destacar que no es lo mismo repetir y recordar mecánicamente las tablas de multiplicar que comprender su uso o aplicación. No es lo mismo repetir maquinalmente una regla determinada a reconocer dónde, cuándo y por qué se debe emplear en una circunstancia en particular. Es por eso que enseñar primero algoritmos y luego presentar problemas para que los alumnos apliquen lo aprendido facilita el proceso enseñanza-aprendizaje.

Este último aspecto debe desarrollarse desde edades tempranas según la recomendación de la UNESCO (2009). No se debe olvidar que solucionar problemas con ayuda del computador puede convertirse en un excelente ejercicio directo y divertido para adquirir la costumbre de enfrentar problemas predefinidos de manera rigurosa y sistemática; aunque no siempre sea necesario utilizar un computador para solucionarlos.

Ahora bien, aterrizando en el ámbito nacional, según lo manifestado por Laya (2011) en su trabajo de investigación doctoral “Innovación Educativa para la Enseñanza de los Algoritmos y Lenguajes de Programación de computadoras” se expone que el sistema educativo universitario venezolano, plantea como eje estratégico el aumento en la calidad de la educación y la calidad del profesorado, esto bajo la premisa de una democracia participativa y protagónica, en el contexto de un enfoque humanístico, donde es el profesor el que imparte la educación a sus estudiantes y de él mismo depende el éxito o fracaso de la educación y de todo el sistema educativo.

De allí que se concibe el factor humano que a través de los procesos de enseñanza y aprendizaje, entendida como unidad compleja de la naturaleza humana integral; de forma que correspondan, los niveles y modalidades, a los momentos de desarrollo del ser humano en los órdenes físico, biológicos, psíquicos, cultural y social, que se producen en períodos sucesivos donde cada uno engloba y se vincula con el anterior, para crear condiciones de aptitud, vocación y aspiración a ser atendidas por el ámbito educativo correspondiente. Tal como lo establece la Constitución de la República Bolivariana de Venezuela (Asamblea Nacional Constituyente, 1999), en su artículo 103, donde se instituye que “toda persona tiene derecho a una educación integral de calidad, permanente, en igualdad de condiciones y oportunidades” (p.27).

Por su parte, en la investigación planteada por Laya (2011) en su anteproyecto de tesis doctoral, donde se pretende hacer un análisis crítico acerca de las características de los lenguajes de programación de computadoras más usuales con vistas a su utilización de un nuevo enfoque metodológico de aprendizaje, con miras a facilitar la enseñanza de la lógica algorítmica y la programación de alto nivel de computadora. Se expone una metodología para impartir el aprendizaje, la cual incluye una selección y secuencia de los contenidos que hacen más viable el uso de lógica y elementos de en la enseñanza de la programación de computadoras y que ha arrojado resultados superiores en cuanto al bajo rendimiento académico que presentan los estudiantes en esta área de aprendizaje.

En este orden de ideas, la óptica que se pretende abordar con la investigación es la Innovación Educativa, orientado al análisis y mejora de las estructuras y procesos educativos requeridos para el aprendizaje de algoritmos y la programación de computadoras, desde una perspectiva tanto longitudinal como transversal. Los fundamentos teóricos de los aspectos ontológicos y epistemológicos en filosofía de la educación, utilizados en el estudio permitirán tanto la orientación teórica y la formulación práctica de la innovación educativa como son: el idealismo, el pragmatismo, el utilitarismo, la teoría de metas, participación, percepción, expectativas y los diferentes modelos educativos con relación al modelo que se pretende diseñar.

Partiendo de lo anteriormente expuesto, el presente proyecto se centra en el desconocimiento sobre herramientas para el análisis y diseño de algoritmos que presentan los estudiantes del cuarto semestre de Licenciatura en Educación, mención: Informática, pertenecientes al programa de Humanidades y Educación del Departamento de Ciencias Formales de la Universidad del Zulia, núcleo Costa Oriental del Lago, ubicada en el municipio Cabimas del estado Zulia.

En la misma se realizó un análisis FODA, que es una herramienta sencilla que permite obtener una representación general de la situación y que según Talacon (2006), consiste en realizar una evaluación de los factores fuertes y débiles que, en su conjunto, diagnostican la situación interna de una organización, así como su evaluación externa, es decir, las oportunidades y amenazas. A su vez Thompson y Strickland (1995), establecen que el análisis FODA estima el efecto que una estrategia tiene para lograr un equilibrio o ajuste entre la capacidad interna de la organización y su situación externa, es decir, las oportunidades y amenazas.

Atendiendo las ideas expuestas por los autores mencionados, el programa de Humanidades y Educación de la Universidad del Zulia, núcleo Costa Oriental del Lago, cuenta con elementos internos que beneficiaran y fortalecerán el proyecto, como lo es un laboratorio de computación ubicado en educación, un laboratorio alma mater con acceso a internet, y docentes de alta trayectoria y experiencia, lo cual es de suma importancia para la ejecución de las actividades y resolución de problemas con los algoritmos utilizando la herramienta (librería de programación). Las oportunidades con las que cuenta la institución están referidas al apoyo de la comunidad y organizaciones privadas que vía Ley Orgánica de Ciencia, Tecnología e Innovación, de ahora en adelante LOCTI, sirvan de apoyo para mantener operativo los laboratorios.

Por otra parte, los problemas internos o debilidades que afectan la institución se presentan en la escasez de recursos con los que se cuentan para mantener operativos los laboratorios de computación si se llegaran a presentar problemas o daños a los mismos. Al mismo tiempo las amenazas se hacen presente en el programa de Humanidades y Educación de LUZ-COL lo cual crea situaciones negativas externas que pudieran afectar el proyecto, estas se ven reflejadas en la falta de colaboración y el retraso por parte del Gobierno Nacional para el mejoramiento y mantenimiento de los laboratorios de computación con los cuenta la institución en general.

Tomando como referencia los elementos anteriores, se realizó una encuesta cerrada de diez preguntas relacionadas con el tema de la incorporación de una librería de programación que permita la construcción de algoritmos utilizando el lenguaje natural en español (pseudocódigo) a 7 docentes y 42 alumnos que conforman 2 secciones del primer periodo del 2010 del cuarto semestre de la Licenciatura en Educación, mención: Informática de LUZ-COL para conocer las causas del desconocimiento de este tema, destacando como el causante principal la falta de estrategias novedosas para el aprendizaje de los algoritmos. Por otro lado, la desmotivación por parte de los estudiantes al no contar con una herramienta que les facilite el estudio y comprensión de los algoritmos, utilizando su idioma nativo.

De no atender esta situación, el desconocimiento del análisis y diseño de los algoritmos seguirá siendo un problema que será arrastrado por los estudiantes en niveles superiores ya que no contarán con las bases solidas suficientes para lograr alcanzar los objetivos requeridos en las diferentes unidades curriculares pertenecientes a la carrera de Licenciatura en Educación, mención: Informática, tales como (programación I, Programación II, Administración de los Sistemas de Información, Ingeniería del Software, por citar algunas).

De lograr lo anteriormente expuesto, con la presente investigación los estudiantes del cuarto semestre de la carrera mencionada tendrán un cambio de conducta con respecto a su formación académica, podrán contar con una herramienta que sirva de apoyo a su proceso de formación, estarán en la completa libertad de construir sus algoritmos centrando su atención en la resolución del problema en sí y no en aprendizaje de la sintaxis de un lenguaje en específico.


JUSTIFICACIÓN


En cuanto a la conveniencia de la investigación, su justificación teórica se encuentra sustentada en la búsqueda por la aplicación de los lenguajes de programación y construcción de librerías de código apoyadas en el uso de las TIC’s aplicadas a los entornos de aprendizaje, disponer de una herramienta que sirva de apoyo al proceso de enseñanza – aprendizaje del presente y del futuro.

Del mismo modo, la justificación metodológica se encuentra fundamentada en que la presente investigación pueda ser tomada como complemento de otros proyectos o investigaciones relacionadas con el desarrollo de herramientas educativas, editores, lenguajes de programación que puedan utilizarse para la resolución de algoritmos, mejorando las capacidades cognitivas, de razonamiento lógico y de aprendizaje de los estudiantes. Por su parte, como justificación práctica, el desarrollo de una librería de programación en C está fundamentado dentro del ámbito educativo y su utilidad como herramienta practica para resolver problemas mediante la implementación de algoritmos programados en español (lenguaje natural) o en pseudocódigo.

Por otro lado, la misma tendrá una aplicación concreta lográndose medir los resultados del proceso de enseñanza y aprendizaje de la unidad curricular análisis y diseño de algoritmos apoyado en el uso de las TIC’s. Del mismo modo, el resultado de la investigación va a contribuir con el mejoramiento del desempeño de los estudiantes y entendimiento de los contenidos relacionados con la materia en cuestión. Igualmente, la relevancia social de la investigación se encuentra sustentada en el beneficio obtenido por parte de los estudiantes y docentes que imparten la materia al contar con una herramienta tecnológica que pueda apoyar el entendimiento y comprensión de los contenidos y técnicas para la resolución de problemas mediante el uso de algoritmos.

Por otro lado, el alcance e impacto de una investigación es definida según Sapag (2007), como los elementos que intervienen positiva y negativamente el logro de los objetivos y metas propuestas en la investigación. En este sentido se analizarán los impactos económicos, sociales, tecnológicos, institucionales y educativos; que se consideran en la presente investigación. En este sentido, Sapag (2007) define el impacto económico, como aquel que interviene en el logro de los recursos, tomando como base las fuentes externas o internas de la institución u objeto de estudio, de acuerdo con el autor, se toma en cuenta todas las fuentes de financiamiento que van aportar los recursos para la realización de este proyecto como lo son internos: los recursos económicos utilizados por el proyectista a lo largo de la investigación.

Asimismo, el autor antes mencionado puntualiza al impacto social como los “posibles beneficios que pueden obtener la comunidad y los usuarios potenciales y directos del proyecto”, sin duda la ejecución del presente proyecto aportará beneficios a los estudiantes del cuarto semestre de la carrera Licenciatura en Educación, mención: Informática del LUZ-COL al proporcionar una herramienta que sirva de apoyo al proceso de enseñanza y aprendizaje de los algoritmos.

Por su parte, Munguia (2009) define el impacto tecnológico como un conjunto de conocimientos técnicos, ordenados científicamente, que permiten diseñar y crear bienes o servicios que facilitan la adaptación al medio y satisfacen las necesidades de las personas. De este modo el uso de una librería de programación como herramienta tecnológica ayudará el proceso de aprendizaje de los algoritmos desde una perspectiva técnica y científica.

Por otro lado, según Bonilla (2001) el impacto institucional hace referencia a los beneficios que tienen los resultados de un proyecto sobre un establecimiento en general. La institución favorecida en el presente proyecto es la Universidad del Zulia, núcleo Costa Oriental del Lago, específicamente el Programa de Humanidades y Educación al contar con una plataforma tecnológica para el desarrollo de las clases de seguridad vial.

Por último, Sapag (2007) define al impacto educativo como los “beneficios que aportará la implementación del proyecto en el ámbito educativo”. De acuerdo con esto el presente proyecto favorece directamente el entorno educativo del Programa de Humanidades y Educación de la Universidad del Zulia, núcleo Costa Oriental del Lago al fomentar el uso de la librería para el estudio y comprensión de los algoritmos.


METODOLOGÍA


Metodológicamente, el tipo de investigación es aplicada en concordancia con los postulados planteados por Chávez (2001), según su propósito la cual tiene como fin principal resolver un problema en particular. Siendo el caso del presente estudio buscar la aplicación de una librería de programación que sirva de apoyo al proceso de enseñanza y aprendizaje de los algoritmos en la Universidad del Zulia del núcleo Costa Oriental del Lago en las facultades de Humanidades y Educación e Ingeniería, respectivamente. Del mismo modo, guarda relación con lo expuesto por Hurtado (2006) donde se plantea que este tipo de investigación está dirigida fundamentalmente a la resolución de problemas.

De igual manera, es descriptiva según su método de estudio, en concordancia con los planteado por Chávez (2001) siendo las investigaciones descriptivas aquellas orientadas a recolectar información relacionada con el estado real de las personas, objetos, situaciones o fenómenos, tal cual como fueron presentados en el momento de su recolección, describiéndolos sin realizar inferencias ni verificar hipótesis, en tal sentido, la presente investigación es descriptiva porque expresa el estado real de los datos. Y por otro lado, porque se orienta a la recopilación de toda la información de la organización y los sujetos encuestados.

Igualmente, para Cerda (2001) la factibilidad de un proyecto de investigación tiene como finalidad permitir la selección entre las variantes, determinar las características técnicas de la operación, fijar los medios a implementar, establecer los costos de operación y evaluar los recursos disponibles, reales y potenciales. Por su parte, Barrios (1998) plantea que dentro de la investigación educativa los proyectos factibles también son conocidos con el nombre de investigación y desarrollo, y se definen como la investigación, elaboración y desarrollo de una propuesta de un modelo operativo viable para solucionar problemas, requerimientos o necesidades de organizaciones o grupos sociales.

Tomando como referencia los elementos anteriores, el proyecto muestra un nivel de factibilidad ya que se busca dar respuesta a la problemática asociada con el desconocimiento en el análisis y diseño de los algoritmos de los estudiantes del cuarto semestre de la carrera de Licenciatura en Educación, mención: Informática aplicando una serie de técnicas y pasos para su ejecución asimismo aplicando el uso de herramientas tecnológicas, específicamente hablando: una librería de programación desarrollada en lenguaje C.

Una vez definido el tipo de problema que muestra el presente trabajo y planteados los objetivos que se desean alcanzar, se procederá a determinar el tipo de investigación. La misma se suscribe dentro de un tipo de investigación-acción, que de acuerdo con Méndez (1995), consiste en una búsqueda del conocimiento que se caracteriza por ser colectiva, por proporcionar resultados cuya utilización y gobierno corresponde a los propios implicados. Por otro lado, según Latorre (2003), la investigación-acción es una forma de búsqueda colectiva emprendida por participantes en situaciones sociales, con objeto de mejorar sus prácticas sociales o educativas.

En cuanto a la población, Pardinas (1992) denomina población al fenómeno que se va a estudiar, a cada una de las personas o cosas necesarias para responder a la población de la investigación. Por lo tanto la población de la presente investigación está conformada por cuarenta y dos (42) estudiantes del primer periodo del 2010 pertenecientes al cuarto semestre de educación mención informática en LUZ-COL. Con relación a la técnica de recolección de datos, se aplicará la encuesta por considerar que puede usarse para recabar datos vinculados con el conocimiento de los algoritmos que posee la población; Hernández (2004) precisa que la encuesta es un conjunto de técnicas destinadas a recoger, procesar y analizar información que se dan en unidades o personas de un colectivo determinado.


OBJETIVOS DE LA INVESTIGACIÓN


OBJETIVO GENERAL


Desarrollar una librería de programación en C como herramienta de apoyo al proceso de enseñanza / aprendizaje de la unidad curricular: Análisis y Diseño de Algoritmos.


OBJETIVOS ESPECÍFICOS



FUNDAMENTACIÓN TEÓRICA


Según Ceballos (1990), C es un lenguaje de programación de propósito general que posee una serie de características que lo distinguen del resto de los lenguajes de programación, las cuales son las siguientes:



De igual manera, Aguilar (2001) plantea una serie de características técnicas del lenguaje C que lo diferencian de otros lenguajes y lo hacen eficiente y potente a la vez. Entre las cuales tenemos las siguientes:


  • Una nueva sintaxis para declarar funciones. Una declaración de función puede añadir una descripción de los argumentos de la función. Esta información adicional sirve para que los compiladores detecten más fácilmente los errores causados por argumentos que no coincidan.
  • Asignación de estructuras (registros) y enumeraciones.
  • Preprocesador más sofisticado.
  • Una colección de cabeceras estándar que proporciona acceso uniforme a las declaraciones de funciones y tipos de datos.

  • En este sentido, ambos autores coinciden que el lenguaje C cuenta con una serie de características técnicas, operativas y funcionales que lo hacen de gran interés por parte de la comunidad de programadores a nivel mundial siendo su estudio y aprendizaje de gran importancia tanto en el ámbito académico como profesional.

    Otra característica importante de C es que los programas son muy portables, más que los escritos en otros lenguajes de alto nivel. Según Byron (2005), la razón de esto es que C deja en manos de las funciones de biblioteca la mayoría de las características dependientes de la computadora. Toda versión de C se acompaña de su propio conjunto de funciones de biblioteca, que están escritas para las características particulares de la computadora en la que se instale. Estas funciones de biblioteca están relativamente normalizadas y el acceso de cada función de biblioteca es idéntico en todas las versiones de C. De esta manera, la mayoría de los programas C se pueden compilar y ejecutar en muchas computadoras diferentes prácticamente sin modificaciones.

    Por otro lado, García y Carceran (1992), plantean que el lenguaje C que, sin duda por meritos propios, se extiende con rapidez en estos días, es un lenguaje de medio nivel. Con él se podrá descender a niveles cercanos al Ensamblador, manejar archivos creados con otros lenguajes, dispositivos, comunicarse con otras computadoras, construir sistemas operativos, crear videojuegos, por citar algunas de sus ventajas.

    Asimismo, Schildt (1990) plantea que si un programador desea programar con clase, de manera desafiante debe hacerlo en lenguaje C, ya que los productos de software con mayor éxito son aquellos desarrollados por alguien que no solo tenía un firme dominio de la aplicación específica, sino que tenía un completo conocimiento de todo el entorno de la computadora, incluyendo el sistema operativo y su hardware. Solo un programador con un control total de estos temas puede hacer programas elegantes que se ejecuten eficientemente y ofrezcan flexibilidad y transportabilidad.

    En este orden de ideas, Ceballos (1990) expone que el lenguaje C ha sido pensado para ser altamente transportable y para programar lo improgramable, igual que otros lenguajes tiene sus inconvenientes. Carece de instrucciones de entrada/salida, de instrucciones para manejo de cadena de caracteres, con lo que este trabajo queda para la librería de rutinas y funciones. La excesiva libertad en la escritura de los programas puede llevar a errores de programación que, por ser correctos sintácticamente no se detectan a simple vista. A pesar de todo, C ha demostrado ser un lenguaje extremadamente eficaz y expresivo.

    De igual manera, Aguilar (2001) plantea que C es un lenguaje de programación de propósito general asociado, de modo universal, al sistema operativo UNIX. Sin embargo, la popularidad, eficacia y potencia de C, se ha producido porque este lenguaje no está prácticamente asociado a ningún sistema operativo, ni a ninguna maquina, en especial. Esta es la razón fundamental, por el cual C, es conocido como el lenguaje de programación de sistemas, por excelencia. Hoy en día, según lo manifestado por el autor, en pleno siglo XXI, C sigue siendo uno de los lenguajes de programación más utilizados en la industria del software, así como en institutos tecnológicos, escuelas de ingeniería y universidades. Prácticamente todos los fabricantes de sistemas operativos, UNIX, LINUX, MacOS, SOLARIS, soportan diferentes compiladores de lenguaje C.

    En concordancia con lo antes expuesto, Byron (2005) plantea que C es un lenguaje de programación estructurado de propósito general. Sus instrucciones constan de términos que se parecen a expresiones algebraicas, además de ciertas palabras clave inglesas como if, else, for, do y while. En este sentido, C recuerda a otros lenguajes de programación estructurados como Pascal y Fortran. C se caracteriza por hace posible la redacción de programas fuente muy concisos, debido en parte al gran número de operadores que incluye el lenguaje.


    VENTAJAS DEL LENGUAJE C


    Según Aguilar (2001), el lenguaje C tiene una gran cantidad de ventajas sobre otros lenguajes, y son precisamente la razón fundamental de que después de más de tres décadas de uso, C siga siendo uno de los lenguajes más populares y utilizados en empresas, organizaciones y fábricas de software, algunas de ellas son:



    Según el citado autor, debido a que existen muchos programas escritos en C, se han creado numerosas bibliotecas C para programadores profesionales que soportan gran variedad de aplicaciones. Existen bibliotecas del lenguaje C que soportan aplicaciones de base de datos, gráficos, edición de texto, comunicaciones, entre otras. En concordancia con lo manifestado por el citado autor, el objetivo que busca el presente trabajo de investigación es el desarrollo de una biblioteca de soporte para la programación en lenguaje natural que facilite el estudio y comprensión de los algoritmos.


    ELABORACIÓN DE UN PROGRAMA EN LENGUAJE C


    Según Ceballos (1990), existe una serie de pasos a seguir en la realización de un programa, los cuales abarcan desde la creación del archivo con extensión .c desde un editor, pasando por el proceso de compilación intermedio .obj y luego el proceso de enlazado para la generación de un código ejecutable .exe:


    Figura 1.

    Realización de un Programa en C




    ESTRUCTURA DE UN PROGRAMA EN LENGUAJE C


    Según Ceballos (1990), un programa fuente C es una colección de cualquier número de directrices para el compilador, declaraciones, definiciones, expresiones, sentencias y funciones. Todo programa en C debe contener una función denominada main, donde el programa comienza a ejecutarse. Las llaves {} que incluyen el cuerpo de esta función principal, definen el principio y el final del programa.

    Por su parte, un programa en C, además de la función principal main, consta generalmente de otras funciones que definen rutinas con una función específica en el programa. Esto quiere decir que la solución de cualquier problema no debe considerarse inmediatamente en términos de sentencias correspondientes a un lenguaje, sino de elementos naturales del problema mismo, abstraídos de alguna manera, que darán lugar al desarrollo de las funciones mencionadas.

    En tal sentido, todos los programas escritos en lenguaje C y por consiguiente con la implementación de la librería de programación en español van a permitir la construcción de algoritmos y resolución de problemas utilizando este paradigma de programación estructurada con diseños Top Down. En este orden de ideas, según lo manifestado por García y Carceran (1992), para un principiante, programar en C puede resultar un verdadero martirio, con programas llenos de llaves {} que se olvidan, sentencias y bucles diferentes de los usuales en otros lenguajes. Si ya es difícil aprender a programar, comenzar a hacerlo en Lenguaje C utilizando programación estructurada puede ser una misión imposible.


    DIRECTRICES DEL PREPROCESADOR


    Según Byron (2005), todos los archivos externos o librerías de programación (archivos con extensión .h) pueden ser incorporadas en un programa C con la directriz #include “nombre_libreria.h”. Esta llama automáticamente al preprocesador de C, para que como primer paso en la compilación sustituya el contenido del archivo externo incluido, en el lugar donde se especifica la directriz.

    En este sentido, el preprocesador de C, es un procesador de texto que manipula el texto de un archivo fuente como primer paso de la compilación. Las directrices para el preprocesador son utilizadas para hacer programas fuentes fáciles de cambiar y de compilar en diferentes situaciones. Una directriz va precedida del símbolo #e indica al preprocesador una acción específica a ejecutar. Pueden aparecer en cualquier parte de un archivo fuente en C, se recomiendan colocarlas al principio del mismo ya que solamente se aplican al resto del programa fuente desde donde se hace su respectiva invocación.

    De igual manera, Aguilar (2001) plantea que el preprocesador es un programa en C o C++ el cual se puede considerar como un editor de texto inteligente con consta de directivas (instrucciones al compilador antes de que se compile el programa principal). Las dos directivas más usuales son #include y #define. Todas las directivas del preprocesador comienzan con el signo de # que indica al compilador que lea las directivas antes de compilar. Las directivas no son generalmente sentencias, sino instrucciones que se dan al compilador antes de que el programa se compile. Aunque las directivas pueden definir macros, nombres de constantes, archivo fuentes adicionales, etc. Su uso más frecuente en C es la inclusión de archivos de cabecera.

    Todo programa escrito en C, debe iniciar con la directriz #include . La directriz #include añade el contenido de un archivo .h dado, en otro archivo. Los archivos con esta extensión por lo general se les denominan librerías y suelen ser utilizados para incorporar definiciones de constantes, macros, declaraciones de variables externas y tipos complejos de datos a cualquier archivo fuente.


    Directriz #include < nombre_libreria >


    Por ejemplo:

    #include < conio.h >

    #include < stdio.h >


    Resto de las líneas de un programa


    Y en este caso:


    Todo algoritmo, deberá comenzar con la instrucción:

    #include < luzcol.h > o de manera similar #include “c:\dir\luzcol.h”

    Resto del algoritmo escrito en lenguaje natural con el uso de una librería de programación desarrollada en lenguaje C.

    Del mismo modo, Ceballos (1990) plantea que una de las características más importantes de C, es la facilidad con la que se pueden construir y utilizar librerías de funciones. Una librería es una colección de funciones precompiladas y agrupadas bajo un mismo nombre (archivo.h), que pueden ser utilizadas por cualquier programa. La ventaja de utilizar tales librerías está en el hecho de no tener que escribir el código fuente de la función de la librería correspondiente en el programa y en el tiempo que se ahorra, ya que el compilador cuando compila el código fuente, no tiene que compilar tales funciones nuevamente.


    APRENDIZAJE


    Feldman (2002) define el aprendizaje como el proceso de cambio relativamente permanente en el comportamiento de una persona generado por la experiencia. Para Schunk (1991), el aprendizaje implica adquisición y modificación de conocimientos, estrategias, habilidades, creencias y actitudes. En palabras de Schmeck (2008), el aprendizaje es un sub-producto del pensamiento, y la calidad del resultado de aprendizaje está determinada por la calidad de los pensamientos. Para Villalobos (2003), el aprendizaje y el desarrollo de la persona se determinan por la dimensión social de la conducta intelectual y dinámica.


    TIPOS DE APRENDIZAJE


    Tipos de aprendizaje más comunes citados por los autores antes descritos en la literatura de pedagogía son los siguientes:


    Aprendizaje receptivo: en este tipo de aprendizaje el sujeto solo necesita comprender el contenido para poder reproducirlo, pero no descubre nada.
    Aprendizaje por descubrimiento : el sujeto no recibe los contenidos de forma pasiva; descubre los conceptos y sus relaciones y los reordena para adaptarlos a su esquema cognitivo.
    Aprendizaje repetitivo : se produce cuando el alumno memoriza contenidos sin comprenderlos o relacionarlos con sus conocimientos previos, no encuentra significado a los contenidos.
    Aprendizaje significativo : es el aprendizaje en el cual el sujeto relaciona sus, conocimientos previos con los nuevos dotándolos así de coherencia respecto a sus estructuras cognitivas.

    ANÁLISIS DE LOS RESULTADOS


    A continuación se presentan por indicador algunos de los resultados obtenidos de la encuesta aplicada a los docentes y estudiantes que conforman la población objeto de estudio:


    Resultados obtenidos de la encuesta aplicada a los docentes


    La encuesta fue aplicada a siete (07) docentes del área informática de la carrera de Licenciatura en Educación, mención: Informática, de las secciones activas pertenecientes a la Universidad del Zulia, núcleo Costa Oriental del Lago, ubicada en el municipio Cabimas. La misma consta con 10 ítems, y es de tipo dicotómica. Las preguntas realizadas a los sujetos conjuntamente con los resultados obtenidos de manera gráfica se presentan a continuación. Considerando los porcentajes obtenidos en cada una de las respuestas: Sí, para los que respondieron afirmativamente. No, para los que respondieron de manera negativa, y NR (No Respondió) para los que decidieron no responder a la pregunta planteada.



    CUADRO 1.

    PREGUNTA:

    ¿LA INSTITUCIÓN CUENTA CON HERRAMIENTAS TECNOLÓGICAS PARA IMPARTIR LA MATERIA DE ANÁLISIS Y DISEÑO DE ALGORITMOS?


    Respuesta

    Fa

    Fr(%)

    5

    71.43

    NO

    2

    28.57

    NR

    0

    0.00

    Total

    7

    100


    Fuente: elaboración propia.


    Los resultados que se obtuvieron en el ítem demuestran que un 71% de los docentes consideran que la institución cuenta con herramientas tecnológicas para impartir la materia, mientras que un 28,57% exponen que no. Lo cual indica que el uso de la librería de programación puede ser llevado a cabo en esta institución sin mayores inconvenientes.


    Gráfica 1.

    Pregunta:

    ¿La institución cuenta con herramientas tecnológicas para impartir la materia de análisis y diseño de algoritmos?



    Fuente: elaboración propia.



    CUADRO 2.

    PREGUNTA:

    ¿LA INSTITUCIÓN INCORPORA EL USO DE LIBRERÍAS DE PROGRAMACIÓN QUE PERMITAN LA CONSTRUCCIÓN DE ALGORITMOS EN ESPAÑOL Y DE ESTA MANERA APOYAR LOS PROCESOS DE ENSEÑANZA/APRENDIZAJE DE LOS MISMOS?


    Respuesta

    Fa

    Fr(%)

    0

    0,0

    NO

    6

    85,71

    NR

    1

    14,29

    Total

    7

    100


    Fuente: elaboración propia.



    Los resultados que se obtuvieron en este indicador demuestran que casi un 86% de los docentes consideran que la institución no incorpora el uso de librerías de programación que apoyen los procesos de enseñanza/aprendizaje de los algoritmos. Razón por la cual surge la idea de diseñar y construir una librería de programación utilizando Lenguaje C de apoyo a los docentes y alumnos en el proceso educativo. Por otro lado, solo un 14% de los sujetos encuestados no respondió a la pregunta en cuestión.



    GRÁFICA 2.

    PREGUNTA:

    ¿LA INSTITUCIÓN INCORPORA EL USO DE LIBRERÍAS DE PROGRAMACIÓN QUE PERMITAN LA CONSTRUCCIÓN DE ALGORITMOS EN ESPAÑOL Y DE ESTA MANERA APOYAR LOS PROCESOS DE ENSEÑANZA/APRENDIZAJE DE LOS MISMOS?



    Fuente: elaboración propia.


    La encuesta fue aplicada a cuarenta y dos (42) estudiantes pertenecientes a la carrera de Licenciatura en Educación, mención: Informática del programa de humanidades y educación del núcleo LUZ-COL, específicamente a los estudiantes cursantes del cuarto semestre. La misma estuvo conformada por ocho (08) ítems, y fue de tipo dicotómica. Los resultados obtenidos fueron los siguientes:



    CUADRO 3.

    PREGUNTA:

    ¿TE GUSTARÍA APRENDER LA MATERIA DE ANÁLISIS Y DISEÑO DE ALGORITMOS UTILIZANDO UNA HERRAMIENTA COMPUTACIONAL QUE PERMITA MEDIANTE EL LENGUAJE NATURAL LA ELABORACIÓN DE ALGORITMOS COMPLETAMENTE EN ESPAÑOL?


    Respuesta

    Fa

    Fr(%)

    35

    83,33

    NO

    5

    11,90

    NR

    2

    4,76

    Total

    42

    100


    Fuente: elaboración propia.


    Los resultados que se obtuvieron en dicho indicador muestran que a un 83% de los estudiantes les gustaría aprender la materia de análisis y diseño de algoritmos apoyados en el uso de una herramienta de software que les brinde la posibilidad de construir los algoritmos utilizando el lenguaje natural (español), mientras que un casi 12% dijo que no, el 5% no respondió. Nuevamente los resultados se muestran a favor del trabajo de investigación, pues los estudiantes tienen la disponibilidad y la intención de utilizar la librería de programación desarrollada en lenguaje C.



    GRÁFICA 3.

    PREGUNTA:

    ¿TE GUSTARÍA APRENDER LA MATERIA DE ANÁLISIS Y DISEÑO DE ALGORITMOS UTILIZANDO UNA HERRAMIENTA COMPUTACIONAL QUE PERMITA MEDIANTE EL LENGUAJE NATURAL LA ELABORACIÓN DE ALGORITMOS COMPLETAMENTE EN ESPAÑOL?



    Fuente: elaboración propia.


    CONCLUSIONES


    Las conclusiones derivadas de esta investigación están orientadas al uso de una librería de programación desarrollada en lenguaje C, la cual se logra convertir en una herramienta que permite facilitar el proceso de enseñanza-aprendizaje de los estudiantes pertenecientes a la carrera de Licenciatura en Educación, mención: Informática. En la presente investigación se pudo demostrar la importancia que tiene el uso de herramientas novedosas para la enseñanza de los algoritmos. Sin duda existen herramientas dirigidas a realizar acciones encaminadas al desarrollo de conocimientos, hábitos, y actitudes que fortalecen el aprendizaje de los algoritmos; en este sentido, < < luzcol.h > > como herramienta que facilite para el aprendizaje de los algoritmos se suma a uno de ellos.

    En tal sentido, el concordancia con el título de la presente investigación, el resultado obtenido en el objetivo general fue desarrollar un librería de programación en C como herramienta de apoyo al proceso de Enseñanza / Aprendizaje de la unidad curricular: Análisis y Diseñó de Algoritmos donde se logró definir las necesidades para lo cual se diseño este proyecto, se cumplió con las metas propuestas en busqueda de generar un cambio significativo en el desconocimento de los algoritmos a través de la incoporacion de la librería de programacion en las practicas academicas. Igualmente, se presenta el nivel de desarrollo científico - tecnológico.

    El producto generado fue una librería de programación desarrollada bajo Lenguaje C como herramienta para el aprendizaje significativo de los algoritmos apoyado en el uso de las TIC’s dirigido a los estudiantes del cuarto semestre de la carrera de Licenciatura en Educación, mención: Informática.

    En relación al objetivo que persigue diagnosticar los conocimientos de los estudiantes de 4to semestre sobre análisis y diseño de algoritmos perteneciente a la carrera de Licenciatura en Educación, mención: Informática de la Universidad del Zulia, núcleo Costa Oriental del Lago se llegó a la conclusión que el diagnóstico de los conocimientos previos de los estudiantes relacionados con la materia en cuestión y la verificación de las estrategias utilizadas por los docentes fueron esenciales para seguir trabajando con la investigación, ya que se pudo recopilar información donde se manifestaba la problemática y la falta de estrategias y herramientas novedosas que sirvan de apoyo al proceso de enseñanza y aprendizaje de los algoritmos, lo cual permitió llegar a la recopilación de la información para fundamentar teóricamente el proyecto.

    Por su parte, en relación al objetivo que persigue diseñar la librería de programación en concordancia con el estudio de factibilidad previamente establecido se logró obtener un diseño consistente de la librería < < luzcol.h > > conformado por el conjunto de comandos y sintaxis con sus respectivas instrucciones o comandos traducidos literalmente en lenguaje natural (español) y su implementación utilizando las directivas del preprocesador de lenguaje C. Específicamente hablando, utilizando las directivas de macrosustitución #define y #include respectivamente.

    De igual manera, en relación al objetivo que busca construir la librería de programación de acuerdo a su diseño previamente establecido se logró desarrollar la librería < < luzcol.h > > directamente en Lenguaje C, utilizando su propio editor incorporado se codificaron todas las sentencias que permiten la macrosustitución mediante las directivas del preprocesador de C, permitiendo de esta manera, construir un nuevo lenguaje dentro del lenguaje existente, manteniendo todas las características originales de Lenguaje C, sus estructuras, tipos de datos, reglas y sintaxis para la codificación de los algoritmos pero a partir del momento en que se incluye la librería de programación con la directriz #include dentro del cuerpo de un programa (algoritmo) el estudiante tendrá la total libertad de usar el pseudocódigo para implementar la solución del algoritmo.

    Finalmente, en relación al objetivo que persigue comprobar el correcto funcionamiento de la librería de programación con su incorporación al entorno del lenguaje, se evidenció la correcta funcionalidad de la librería dentro del entorno de programación de Lenguaje C. En este sentido, se codificaron algunos ejemplos de algoritmos utilizando el pseudocódigo en español, se depuraron y ejecutaron los algoritmos y se generaron los archivos .obj y .exe respectivamente sin mayor complicación utilizando directamente la plataforma y el editor disponible en lenguaje C.


    RECOMENDACIONES


    A continuación se plantea una serie de consideraciones para que este proyecto se siga desarrollando, y pueda ser utilizado en otras áreas de conocimiento dentro y fuera de la institución. En este sentido se detallan varias recomendaciones inherentes con la investigación:



    REFERENCIAS BIBLIOGRÁFICAS


    Aguilar, J. (2001). Programación en C, metodología, estructura de datos y objetos. España. Editorial McGraw Hill.

    Asamblea Nacional Constituyente (1999). Constitución de la República Bolivariana de Venezuela. Gaceta Oficial No. 5.453, de fecha 24/03/2000. Venezuela.

    Barrios, M. (1998). Manual de trabajos de grado de especialización maestría y tesis doctorales. Venezuela. Publicaciones de la UPEL.

    Byron, S. (2005). Programación en C. España. Editorial McGraw Hill.

    Bonilla, S. (2001). Procesos implicados en la mejora escolar: las condiciones institucionales. Revista Iberoamericana sobre calidad, eficiencia y cambio en educación, Volumen 8. Número 5.

    Ceballos, F. (1990). Curso de Programación con C – Microsoft C. México. Macrobit Editores, S.A.

    Cerda, H. (2001). Cómo elaborar proyectos, diseño ejecución y evaluación de proyectos sociales y educativos. Colombia. Editorial Magisterio.

    Chávez, N. (2001). Introducción a la investigación educativa. Venezuela. Editorial La Columna, C.A.

    Feldman, J. (2002). Autoestima: ¿cómo desarrollarla?: juegos, actividades, recursos, experiencias creativas. España. Editorial Narcea

    García, S. y Carceran, H. (1992). Lenguaje C y estructuras de datos. España. Editorial McGraw Hill.

    Hernández, R. (2004). Fundamentos de metodología de la investigación. México. Editorial Eduforma.

    Hurtado, M. (2006). Metodología de la investigación holística. Venezuela. SYPAL.

    Laya, J. (2011). Innovación educativa para la enseñanza / aprendizaje de los algoritmos y lenguajes de programación de computadoras. Documento en línea.

    Disponible en: http://www.jlaya.com/?p=59 . Consulta: 22/07/2011.

    Latorre, A. (2003). La investigación-acción: conocer y cambiar la práctica educativa. España. Editorial Grao.

    Méndez, C. (1995). Metodología para elaborar diseños de investigación en ciencias económicas, contables y administrativas. Colombia. Editorial McGraw Hill.

    Munguia, A. (2009). La economía como ciencia: posibilidades y limitaciones. EE.UU. Editorial Amigo del Hogar.

    Pardinas, F. (1992). Metodología y técnicas de investigación en ciencias sociales. México. Editorial Siglo XXI.

    Sapag, N. (2007). Proyectos de inversión, formulación y evaluación. México. Editorial Pearson.

    Schmeck, R. (2008). Learning strategies and learning styles. USA. Editorial Plenum Press.

    Schildt, H. (1990). C Guía para usuarios expertos. España. Editorial McGraw Hill.

    Schunk, D. (1991). Teorías de aprendizaje. México. Editorial Pearson.

    Documento en línea. Disponible en: http://www.eumed.net/ce/2006/hpt-FODA.htm . Consulta: 19/03/2011.

    Thompson, A. y Strickland, A. (1995). Dirección y administración estratégica. México. Editorial IRWIN.

    Organización de las Naciones Unidas para la Educación, la Ciencia y la Cultura (UNESCO) (2009). Aportes para la enseñanza de la matemática, SERCE. Chile. Publicaciones de la UNESCO.

    Villalobos, E. (2003). Educación y estilos de aprendizaje-enseñanza. México. Editorial Publicaciones Cruz. S.A.