viernes, 20 de marzo de 2009

Una pasada por los Algoritmos

Los algoritmos han acompañado al hombre desde que tiene uso de razón, la historia habla de "genios" capaces de dar solución a casi cualquier problema, sin embargo su secreto era la capacidad para realizar el analisis de los problemas basandose en una metodologia que siempre seguian, esta presentacion de los señores Ignacio Garcia y Andrea Lopez de la universidad del sur nos da un paseo por los principios de los algoritmos y nos llevan a los conceptos fundamentales y al analisis algoritmico. Interesante traajo para tener en cuenta.
http://www.slideshare.net/AndreaF/multimedia-resolucin-de-problemas-y-algoritmos

jueves, 12 de marzo de 2009

! Gran Problema: Enseñar el Análisis de Problemas !

Es de gran importancia esta Etapa para el desarrollo de soluciones software, aun más que la implementación en algún lenguaje particular de programación, en esta se deben concentrar los esfuerzos pedagógicos del docente, que permitan al estudiante vincular la realidad y contexto del problema bajo análisis a una propuesta conceptual en términos de planteamientos algorítmicos.
Conciente de la dificultad que esta etapa representa para los estudiantes, se ha realizado la implementación de un método para realizar el análisis, que consta de las siguientes fases:

Determinación del Resultado Esperado, aquí se debe responder a la pregunta Cual será el resultado esperado de la ejecución del algoritmo (programa)?, en esta fase se determina los conceptos resultado y se debe pensar en las variables que representaran y contendrán los valores de dichos conceptos resultados, además, se debe considerar la forma como se presentaran los resultado (diseño) considerando que sea claro para el usuario.

Determinación de Operaciones o Cálculos, esta parte es la que causa mayores dificultades a los estudiantes, la causa puede obedecer en gran medida a la falta de fundamentación para la generación de expresiones matemáticas que formulen los cálculos requeridos, en este punto se debe pensar en la forma como los datos representados por sus variables deben interactuar con los operadores aritméticos y demás para llegar al resultado y finalmente ser manifestarlo en términos de unas sentencias de asignación dirigidas a la variables de resultado detectadas en el punto anterior, claro esta, que aquí se pueden utilizar otras variables intermedias para generar cálculos previos y que permiten apoyar el calculo del resultado que será enviado finalmente a las variables resultado. En esta fase apareceran otras variables que forman parte de la operación expresada, dichas variables forman parte de las variables de entrada.

Determinación de Datos de Entrada, esta etapa busca identificar los datos requeridos para poder llevar a cabo las operaciones detectadas en la etapa anterior y que deben ser solicitadas al usuario del programa propuesto, nótese que parte de estas variables deben ser detectadas por los estudiantes al formular las operaciones en la etapa anterior y generalmente corresponden a partes de las expresiones distintas a las constantes. Se debe considerar como serán tomados los datos y complementarlos con unos mensajes apropiados que indiquen al usuario que información se espera que suministre.


es increíble encontrar en la segunda fase “Determinación de Operaciones y cálculos”, como los estudiantes saben realizar las operaciones mentalmente pero son incapaces de traducirlas a una expresión aritmética u de otro tipo, la razón de esto, es un gran interrogante que puede dar pie a una investigación sobre el asunto, sin embargo, puede tener sus causas en las deficiencias de la educación media que están recibiendo nuestros estudiantes hoy en día, donde se ha mutilado la creatividad, la argumentación y la generación de propuestas, esto puede tener un origen en gran parte a que la educación en nuestro País aun sigue un enfoque pedagógico “Conductista” , donde el joven memoriza y mecaniza para sustentar sus evaluaciones.

Como meta pedagógica se propone entonces el refuerzo en la segunda fase, que permita la formulación de Expresiones apropiadas al resultado esperado, para ello es necesario:

Que el estudiante adquiera una buena base conceptual en el tratamiento de las expresiones, siendo capaz de reconocer los tipos de expresiones, los operadores y los resultados devueltos por cada tipo de expresión, igualmente debe estar en capacidad de reconocer cuando una expresión es incorrecta.

Que el estudiante adquiera destreza para formular expresiones acordes a requerimientos de cálculos comunes como por ejemplo calculo de porcentajes, promedios, traducción de formulas, operaciones aritméticas básicas y demás.

El trabajo en esta parte considero es crucial para el estudiante que se inicia en la programación, se debe reforzar el aprendizaje empleando diferentes estrategias como son:

El uso de mapas conceptuales sobre las expresiones

Talleres de identificación de elementos de las expresiones

Talleres para reconocer expresiones erróneas y correctas que requieran argumentar el error

Además se requiere proponer talleres que conduzcan al estudiante a la generación de expresiones a partir de la narrativa de problemas como por ejemplo “Obtener la suma del doble de dos números”.

Igualmente en un contexto general se debe expresar el método antes citado de tres fases a través de un mapa conceptual que facilite la comprensión a los estudiantes.

Finalmente se debe complementar con un formato a traves del cual el estudiante plasme la identificación de elementos al seguir las tres fases y que direccione al estudiante hacia el planteamiento y el análisis antes de emplear la herramienta computacional (Software DFD).

Es claro que algunos estudiantes tienen una capacidad de análisis y pueden realizar sus propuestas algorítmicas mentalmente con mucha facilidad y remitiesen directamente a su construcción a través del software, esta capacidad de estos estudiantes no debe pasar desapercibida, no se debe frenar su proceso creativo, pero si se deben conducir a la realización de un trabajo estructurado que pueda servir como apoyo a sus compañeros con menor capacidad de análisis e incluso pueden aprovecharse estos estudiantes como monitores de clase.

lunes, 9 de marzo de 2009

La Falta de Planeación

Es evidente durante las clases en que se presenta la metodología de análisis de problemas que permite plantear una propuesta conceptual y trasladarla a aspectos lógicos y físicos, el como los estudiantes pretenden hacer un salto directo a la parte física del desarrollo de la aplicación empleando las herramientas software o lenguaje de programación, esto representa una dificultad en el proceso cognitivo para el estudiante, puesto que su desinterés por escribir lo lleva a ignorar los aspectos tan importantes como el análisis y planteamiento mismo del problema, habiéndose identificado estas deficiencias se considera oportuno entonces seguir como estrategia de una herramienta mediante la cual el estudiante se pueda guiar para desarrollar su planteamiento y análisis, se propone entonces desarrollar una herramienta software para tal propósito que permita al estudiante agilizar esta fase en lugar de ignorarla y que se convierte en una herramienta de apoyo del proceso de aprendizaje.

La importancia de la fundamentación en Programación

Son notorias las dificultades que enfrentan muchos estudiantes del ámbito de la informática cuando cursan semestres superiores y deben abordar temas como las estructuras de datos y la programación orientada a objetos, en el que hacer educativo, se ha observado que los problemas específicos se centran en las dificultades que posee el estudiante para diferenciar los diferentes elementos conceptuales del tema, como por ejemplo la evaluación de una expresión, las diferencias entre las expresiones, el uso apropiado de los operadores, los nombre apropiados de variables y otros aspectos conceptuales como el manejo de las estructuras de control y aspectos báicos que cobran importancia al momento de tratar temas mas complejos como los citados, es por ello que se ha iniciado un proceso de construcción de currículo para trabajar con esta asignatura que ya completa en este su segundo semestre y pretende llevar estos temas "Complejos" a un visión simplificada basada en la correcta fundamentación, es así, como se ha hecho uso de herramientas como los mapas conceptuales, software DFD y se han generando propuestas metodológicas para el desarrollo de análisis y talleres que permiten reforzar los aspectos de diferenciación y aplicación correcta de los aspectos conceptuales, arrojando hasta el momento un avance significativo en términos de la comprensión del tema por parte de lo estudiantes.