• No se han encontrado resultados

El proceso de enseñanza aprendizaje de la programación en la formación de profesores de

CAPÍTULO 1: FUNDAMENTOS TEÓRICO METODOLÓGICOS PARA LA ESTRUCTURACIÓN DEL

1.3. El proceso de enseñanza aprendizaje de la programación en la formación de profesores de

En el programa de la disciplina LTP de la especialidad Informática se declaran los siguientes objetivos generales:

 Caracterizar los paradigmas de programación estructurada, programación orientada a objetos y programación visual a partir del análisis de los elementos que los tipifican.

 Resolver problemas del ámbito docente o de la vida diaria, teniendo en cuenta los recursos que brindan los diferentes lenguajes de programación: estructurado en cuanto a modelos para la descripción de algoritmos y su implementación, así como para la programación orientada a objetos con un entorno visual; fomentando la creación de intereses motivacionales, habilidades profesionales e investigativas durante la resolución de estos.

 Desarrollar formas de pensamiento lógico que conduzcan al logro de aprendizajes significativos, autorregulados y con alto índice de motivación, que promuevan el aprendizaje independiente con un enfoque interdisciplinario e integrador.

Estos objetivos constituyen la precisión del futuro resultado de la actividad del estudiante. En ellos se revelan tres elementos esenciales: la caracterización de los

24

paradigmas de programación, la resolución de problemas y el desarrollo en los estudiantes de formas de pensamiento lógico.

La caracterización de los paradigmas de programación implica el dominio de conceptos, procedimientos, técnicas, algoritmos básicos y lenguajes de programación que conducen al desarrollo de habilidades en la resolución de problemas utilizando cualquier paradigma.

La resolución de problemas es el objetivo principal de la enseñanza de la programación, y para su cumplimiento se deben tomar además en consideración las técnicas de programación y las herramientas de desarrollo disponibles.

Para el aprendizaje de las técnicas de programación se necesita la formación de todo el sistema de conceptos y procedimientos básicos y el desarrollo de habilidades tanto generales como específicas que conduzcan al cumplimiento del objetivo. El estudio de alguna herramienta de desarrollo es imprescindible pues es en un programa, aplicación visual o software donde se materializa la solución de los problemas, aunque se debe precisar que la formación en competencias para diseñar programas y aplicaciones no se incluye como un objetivo general para los futuros profesores, pues no se están formando para el desempeño específico de un programador.

Analizando las particularidades que se presentan en la resolución de problemas de programación, así como las exigencias intelectuales que esta plantea, es evidente que, para responder a ellas, el estudiante no puede permanecer de manera pasiva ante su solución, sino que adopta una posición activa en la búsqueda, tanto de las vías de solución, como de los conocimientos necesarios para su solución.

A decir de Labarrere (1996: 17) “La forma más peculiar tal vez más importante para el hombre, bajo la cual se manifiesta el pensamiento es la solución y la formulación de problemas.” De ahí la relevancia que adquiere el desarrollo en los estudiantes de formas de pensamiento lógico mediante el estudio de la programación.

Estos objetivos generales cumplen la importante función de determinar el resto de los componentes del proceso de enseñanza aprendizaje de la programación en la formación de profesores de Informática.

25

Los contenidos

Álvarez (1999) plantea que el contenido se manifiesta en la selección de los elementos de la cultura y su estructura, de los que debe apropiarse el estudiante para alcanzar los objetivos. “… en el contenido se revelan tres dimensiones: conocimientos, que reflejan el objeto de estudio; habilidades, que recogen el modo en que se relaciona el hombre con dicho objeto; y valores, que expresan la significación que el hombre le asigna a dichos objetos.” (Álvarez, 1999: 64)

El sistema de conocimientos de la disciplina LTP comprende seis asignaturas y está constituido fundamentalmente por conceptos, procedimientos algorítmicos y algoritmos básicos que aportan las llamadas técnicas de programación.

Según Álvarez (1999: 65) “El concepto es el elemento más importante del pensamiento lógico. Es una imagen generalizada que refleja la multitud de objetos semejantes, por medio de sus características esenciales.” El sistema de conceptos de programación aporta conocimientos tanto en función de la asimilación de técnicas generales de programación, como de las características particulares de los lenguajes y entornos de desarrollo en los que se materializa la solución de los problemas que se resuelven en las asignaturas.

Las acciones humanas se conciben en procedimientos de diferentes tipos: los específicos, encaminados a realizar tareas concretas, cuyas acciones y operaciones están determinadas y se realizan siempre de la misma forma; y los generalizados, cuyas acciones no tienen un contenido concreto, pues constituyen esquemas de acciones que pueden implementarse ante una diversidad de situaciones.

Particularmente, una estrategia de resolución de problemas es: “… un procedimiento generalizado constituido por esquemas de acciones cuyo contenido no es específico, sino general, aplicable en situaciones de diferente contenido, que el sujeto utiliza para orientarse en situaciones en las que no tiene un procedimiento “ad hoc” y sobre la base de las cuales decide y controla el curso de la acción de búsqueda de la solución.” (Campistrous, 1996: 8)

26

Este autor señala que en los procedimientos generalizados, y particularmente en las estrategias, se integran las estrategias heurísticas; pero no con el alcance de una estrategia sino como componentes elementales que él denomina “técnicas” y que son interiorizadas por el sujeto. “Estas técnicas, por su carácter elemental, pueden ser presentadas en una forma prescriptiva y asociarse a formulaciones metacognitivas que permiten al alumno un proceso de búsqueda inteligente y le proveen de criterios de decisión y control adecuados.” (Campistrous, 1996: 9)

En programación se establece la diferencia entre los procedimientos algorítmicos, o sea, la sucesión de indicaciones dirigida al estudiante para que la utilice como una base de orientación en el proceso de resolución de problemas y los algoritmos, que constituyen una representación concreta de la solución de una clase de problema. En particular, se centra la atención en aquellos que pueden ser codificados y consecuentemente ejecutados en un lenguaje de programación.

La habilidad es el componente del contenido que refleja las realizaciones del hombre en una rama del saber propia de la cultura de la humanidad. Las habilidades según Álvarez (1999: 69), “… caracterizan en el plano didáctico, las acciones que el estudiante realiza al interactuar con su objeto de estudio.”

Fiallo, referenciado por Díaz (2005: 6), define el concepto de habilidad informática como: “… el dominio de acciones psíquicas y motoras que posibilitan una regulación de la actividad intelectual y física del hombre en el proceso de resolución de problemas mediante la utilización de recursos y medios informáticos.”

Por su parte González (2005: 4) conceptualiza el desarrollo de habilidades informáticas como: “… el dominio de un sistema de acciones y operaciones que permiten la comunicación del estudiante con (software-hardware), en una regulación racional de las actividades, mediada por un lenguaje computacional, en signos o comandos, que ordenados lógicamente realizan una tarea.”

La mayoría de las investigaciones sobre este tema que se han consultado, hacen referencia a diferentes clasificaciones e incluso han caracterizado y/o definido algunas habilidades informáticas, generalmente adaptables a los sistemas de

27

aplicación y al trabajo con los software, observándose fundamentalmente una tendencia a circunscribir las habilidades informáticas a la manipulación de diferentes software, ya sean de carácter general o específicos.

Expósito (2002) plantea, a partir del Programa Heurístico General, la declaración de una habilidad principal a desarrollar para resolver problemas mediante computadoras. En ese caso, los pasos del programa se transforman en las acciones que caracterizan dicha habilidad. En esencia, plantea que la habilidad informática general a desarrollar en un curso, puede estar caracterizada por el siguiente sistema de acciones:

 Determinar los elementos formales que integran el problema.

 Determinar y describir los pasos principales de la solución.

 Seleccionar las opciones necesarias y suficientes (para el caso de un sistema de aplicación específico), o codificar los pasos principales del algoritmo (para el caso de los lenguajes de programación).

 Controlar los resultados.

 Introducir las acciones correctivas.

A partir de esta habilidad informática general, se establece el sistema de habilidades de cada disciplina. En el caso de LTP, el programa de la disciplina declara como habilidad principal: resolver problemas donde se integren el análisis, diseño visual, algoritmo de solución, la codificación, edición y puesta a punto. Esta declaración se corresponde con el planteamiento de Expósito (2002) de la resolución de problemas con computadoras como habilidad informática general. No se hace ninguna particularización para cada una de las asignaturas, y las habilidades específicas que se proponen, a criterio de la autora, se identifican con objetivos específicos de los diferentes temas de la asignatura.

El sistema de habilidades específicas de la Informática está aún en proceso de investigación, y particularmente en el caso de la programación se han obtenido muy pocos resultados hasta el momento, por lo que de manera general, en los programas de las disciplinas de esta especialidad, se declaran habilidades que no están bien

28

concebidas, ni se ha establecido la estructura interna que indique las acciones y operaciones a realizar para su desarrollo.

La autora propone una habilidad general para cada asignatura de programación, derivada de la declarada en el programa de la disciplina.

 Fundamentos de Programación I: Contiene los elementos esenciales de la lógica matemática que constituyen el fundamento de la lógica y técnicas de programación; así como el estudio de la programación estructurada. Se propone como habilidad general: resolver problemas a partir del desarrollo de algoritmos lineales, condicionales y repetitivos.

 Fundamentos de Programación II: Contiene los conceptos básicos asociados al estudio de un lenguaje de programación de alto nivel, la codificación y puesta a punto de programas estructurados, escritos en dicho lenguaje y el estudio de la programación modular. Se propone como habilidad general: resolver problemas a partir de la codificación de algoritmos utilizando la programación estructurada y modular.

 Estructuras de datos: Contiene los conceptos y procedimientos básicos para la definición y tratamiento de las estructuras de datos. Se propone como habilidad general: resolver problemas a partir de la identificación adecuada de la estructura de los datos.

 Programación Orientada a Objetos I: Contiene los conceptos básicos del paradigma de la programación orientada a objetos y los procedimientos correspondientes para la utilización de este en la resolución de problemas. Se propone como habilidad general: resolver problemas a partir de la implementación del diseño orientado a objetos y la conexión del programa principal con este.

 Programación Orientada a Objetos II: Contiene los conceptos básicos del paradigma de la programación conducida por eventos y de los entornos visuales de desarrollo, así como los procedimientos necesarios para la utilización de estos en la resolución de problemas. Se propone como habilidad general: resolver problemas con enfoque orientado a objetos, mediante el desarrollo de aplicaciones visuales.

29

 Programación Orientada a Objetos III: Contiene los conceptos asociados a los entornos de desarrollo visuales que permiten la manipulación de errores, el manejo de vídeos, textos y bases de datos. La habilidad general es resolver problemas mediante el desarrollo de aplicaciones visuales donde se utilicen los recursos del entorno para la manipulación de bases de datos.

Sin intención de profundizar en esta temática, resulta evidente que cada una de las habilidades generales declaradas incluye otras más específicas, que pueden constituir el objeto de otras investigaciones, tales como:

 Desarrollar algoritmos.

 Codificar algoritmos.

 Identificar la estructura de datos correspondiente a la solución de un problema.

 Desarrollar un diseño orientado a objetos.

 Codificar un diseño orientado a objetos.

 Desarrollar aplicaciones visuales.

 Desarrollar aplicaciones visuales conectadas con un diseño orientado a objetos. Estas habilidades específicas se desarrollan en el proceso de elaboración de los procedimientos y por supuesto en la resolución de los problemas.

Álvarez (1999: 70) define el valor como: “… la significación del objeto para el sujeto, o sea, el grado de importancia que tiene la cosa, para el hombre que se vincula con ese objeto.”

El desarrollo del proceso de enseñanza aprendizaje de la programación a través de la resolución de problemas, debe garantizar la relación de la asignatura con la vida práctica, y tanto su análisis, como el proceso de solución, ofrecen la posibilidad de dar tratamiento, como parte del contenido, al sistema de relaciones, experiencias, sentimientos y actitudes que determinan la formación de los conocimientos, ideales y valores de los estudiantes.

También resulta importante la formación de valores asociados a la Informática, como la ética en el buen uso de la información y la aplicación de las tecnologías en la

30

sociedad y cómo estas contribuyen a la globalización de la solidaridad y generalizar conciencia de la necesidad de preservar el planeta, que es hoy un problema cardinal de la educación.

Los métodos

El éxito del proceso de enseñanza aprendizaje depende en gran medida de su correcta dirección y en ella ocupa un destacado lugar el método de enseñanza. Según Álvarez (1999), el método expresa la configuración interna del proceso, para que, transformando el contenido, se alcance el objetivo, que se manifiesta a través de la vía, el camino que escoge el sujeto para desarrollarlo.

A partir del reconocimiento de la resolución de problemas como habilidad fundamental en el proceso de enseñanza aprendizaje de la programación, es evidente que el estudiante debe aprender a programar mediante el planteamiento y resolución de problemas. Álvarez (1999: 42) plantea que: “El estudiante aprende, estudia, en tanto resuelve un problema, en tanto se estimula, porque como resultado de su labor es más inteligente, y en el contexto social, está más cerca de los valores que la sociedad establece como modelo.”

Se debe considerar además la autorregulación del estudiante, su método de aprendizaje, que según Álvarez (1999: 43) “… está determinado por su personalidad en las relaciones en el grupo, en la solución del problema mediante la cual dicho estudiante de un modo activo genera sus propios procedimientos en la dinámica del proceso docente educativo, con el fin de alcanzar los objetivos docentes programados por la sociedad.”

Los textos de Metodología de la Enseñanza de la Informática y el programa de la disciplina aportan muy pocos elementos relativos a los métodos idóneos para la enseñanza de la programación y el tratamiento a la resolución de problemas. Al respecto, en el libro Metodología de la Enseñanza de la Computación, en el apartado titulado: Enfoque problémico de la enseñanza de la programación, se plantea: “Si partimos de considerar que el objetivo fundamental del curso de programación es desarrollar en los alumnos la habilidad para resolver problemas mediante

31

computadoras, es necesario que en la estructuración metodológica del curso predominen los métodos problémicos.” (Expósito, 2000: 63)

Haciendo una acotación en el término utilizado, la autora considera que se hace referencia a los métodos de la enseñanza problémica, cuya esencia, “… está en la contradicción dialéctica, en el carácter contradictorio del conocimiento. El proceso de aprendizaje se caracteriza por sus contradicciones propias, que se relacionan con las del proceso general. (…) Durante su formación, el estudiante tiene que desarrollarse paulatinamente, pasando por métodos de reconocimiento, de producción, de aplicación y por último, de creación.” (Álvarez, 1999: 55)

Las reflexiones teóricas realizadas hasta el momento permiten a la autora asumir los métodos de la enseñanza problémica con carácter binario (Anexo 1), definidos por Majmutov (1983), para su utilización en el proceso de enseñanza aprendizaje de la programación, seleccionados adecuadamente, a partir de la estructuración en este proceso de un enfoque didáctico predominante.

Los medios de enseñanza

Sobre los medios de enseñanza González Castro (1986: 48) plantea: “…podemos referirnos a los medios de enseñanza como todos los componentes del proceso docente educativo que actúan como soporte material a los métodos (instructivos o educativos) con el propósito de lograr los objetivos planteados.”

El colectivo de autores del texto Pedagogía (1981) considera que los medios de enseñanza constituyen distintas imágenes y representaciones de objetos y fenómenos que se confeccionan especialmente para la docencia; también abarcan objetos naturales e industriales, tanto en su forma normal como preparada, los cuales expresan la esencia del contenido a enseñar y aprender utilizándose como fuente de su asimilación.

En el proceso de enseñanza aprendizaje de la programación se utilizan los medios conocidos como tradicionales, pues el desarrollo de la actividad docente y el trabajo independiente de los estudiantes no se diferencia del resto de las asignaturas. El hecho de que no existan libros de texto específicamente elaborados para esta

32

disciplina, conlleva a la elaboración de materiales de apoyo a la docencia, tanto de forma impresa como digital que faciliten el desarrollo del proceso y el estudio independiente de los estudiantes.

El uso de objetos naturales también está presente, pues el proceso de búsqueda de la solución de los problemas en programación se apoya en la representación de la realidad según el paradigma que se esté estudiando, o en la identificación de objetos y relaciones en la naturaleza y en la vida, que permitan modelar relaciones entre conceptos y procedimientos específicos de la programación.

La computadora es el medio de enseñanza por excelencia que predomina en el estudio de la programación, pues para la resolución de problemas como objetivo principal, se necesita disponer de una herramienta de desarrollo.

El uso de la computadora en el proceso de enseñanza aprendizaje de la programación debe verse a partir de sus componentes principales: el hardware y el software, de manera que se combine su utilización como medio de enseñanza y en la elaboración de medios auxiliares heurísticos que contribuyan a la búsqueda de la solución de los problemas.

Cuando se habla de hardware se hace referencia a que en el estudio de la programación se deben revelar como un medio de enseñanza aquellos elementos de este componente que son utilizados para la conservación, el procesamiento y la transmisión de la información.

Por su parte el software se debe analizar a partir de su clasificación en básicos y de aplicación. Como software básico fundamental está el sistema operativo, del cual se deben revelar aquellos elementos que intervienen en los procesos de entrada, procesamiento y salida de la información, como etapas obligatorias en la resolución de un problema de programación. En los software de aplicación, se diferencian aquellos que resuelven tareas específicas (como los paquetes de oficina) y los lenguajes de programación. Los primeros se pueden utilizar como medio para el análisis de los programas y lenguajes sobre los que están diseñados y por las posibilidades que muchos de ellos brindan para utilizar técnicas de programación similares a las que se estudian en esta disciplina.

33

Por supuesto, los lenguajes de programación y entornos de desarrollo visual son los software que constituyen el objeto de estudio de la disciplina y pueden ser utilizados además como herramienta de trabajo, tanto en la resolución de problemas del ámbito profesional de los estudiantes, como en el desarrollo de su trabajo de investigación.

La evaluación

A decir de Álvarez (1999: 121) la evaluación, “…es un eslabón del proceso que, en su desarrollo, nos da la medida de que lo aprendido por el estudiante se acerca al objetivo propuesto.” Considera además que la evaluación es un control que se hace en los momentos finales de cualquiera de los niveles estructurales del proceso, y sirve para determinar el grado en que se cumplieron los objetivos.

La evaluación, en concordancia con un proceso de enseñanza aprendizaje diseñado con una intención productiva, como es el caso de la programación, tiene que concebirse con un nivel de asimilación, al menos, productivo, o sea a nivel de