LA HISTORIA DEL PSEINT
Enviado por carls777 • 6 de Septiembre de 2012 • Tesis • 1.356 Palabras (6 Páginas) • 3.256 Visitas
LA HISTORIA DEL PSEINT
PSEINT
PSeInt es una herramienta para aprender la lógica de programación, orientada a estudiantes sin experiencia en dicha área. Mediante la utilización de un simple y limitado pseudo-lenguaje intuitivo y en español, permite comenzar a comprender conceptos básicos y fundamentales de un algoritmo computacional.
ORIGEN Y MOTIVACIÓN
En la Facultad de Ingeniería y Ciencias Hídricas de la Universidad Nacional del Litoral(UNL), se desarrolla la carrera de Ingeniería Informática desde el año 1999. La asignatura Fundamentos de Programación del primer cuatrimestre plantea como contenidos un laboratorio de lenguaje ANSI/ISO C++ para desarrollar los conceptos básicos de algorítmica computacional y programación. Esta materia se complementa con Programación Orientada a Objetos del segundo cuatrimestre. La experiencia recogida luego de varios años de desarrollar la asignatura, los magros resultados de las primeras evaluaciones y la heterogeneidad de cada una de las sucesivas cohortes que ingresaban a la carrera, llevó a pensar en alternativas superadoras del proceso de aprendizaje. Más aún, considerando que en la asignatura se tratan contenidos claves dentro de la disciplina que da sustento a la carrera.
Teniendo en cuenta que el uso de lenguaje ANSI/ISO C++ para una materia inicial de la programación presenta notorias dificultades para estudiantes inexpertos que deben aprender varios conceptos relativos al diseño de algoritmos y paralelamente lidiar con cuestiones de implementación de las soluciones propuestas relativas a un lenguaje de programación: sintaxis, compilación, mensajes de errores en inglés, depuración, etc., se propuso la siguiente solución: diseñar un pseudocódigo en español, con reglas sintácticas sencillas y básicas, que permitiera concentrar al alumno en la lógica para la resolución de problemas mediante el diseño y la construcción de algoritmos y facilitara el aprendizaje y uso posterior de un lenguaje de alto nivel.
Si bien la utilización del pseudocódigo en el pizarrón a la hora de enseñar los conceptos básicos produjo un avance significativo, existen aún muchos otros factores que afectan el desempeño de los estudiantes y el desarrollo de la asignatura. Partiendo del hecho de que un problema generalmente puede ser resuelto correctamente de muchas formas distintas y teniendo en cuenta el elevado número de alumnos por comisión y la heterogeneidad de conocimientos de los mismos, se hace imposible en la práctica el seguimiento de todas las soluciones planteadas individualmente por cada alumno. De estas observaciones surge la motivación original de este desarrollo.
PRIMEROS PASOS
Durante el cursado de la asignatura Fundamentos de Programación pude observar las enormes dificultades que tenían muchos de mis compañeros para desarrollar la solución a un problema en forma de algoritmo computacional. Los que teníamos alguna formación básica al respecto (yo programaba en Basic antes de ingresar a la Universidad ;) simplemente debíamos asociar lo que ya conocíamos a las estructuras propuestas por la cátedra por lo que dicha asignatura resultaba relativamente simple. Sin embargo, muchos estudiantes que no tenían base alguna demostraban grandes dificultades para entender la lógica subyacente en las estructuras de datos y de control, lo cual llamó poderosamente mi atención y, junto con la necesidad de presentar un proyecto final de software para aprobar la asignatura Programación I(ahora Programación Orientada a Objetos) motivó originalmente este proyecto.
El software comenzó a desarrollarse en octubre de 2003 utilizando Borland C++ Builder debido a que era esta la herramienta que recomendaba la cátedra (por la facilidad que brinda para el desarrollo de interfaces visuales) y estar presente en los laboratorios de la facultad. Comencé con una prueba de concepto, ya que era el primer proyecto que iba a desarrollar con C++. A esta inexperiencia con el lenguaje le atribuyo algunos errores de diseño y muchas desprolijidades o ineficiencias en la implementación que con el tiempo fui notando y, cuando se podía, corrigiendo. Al ser este un software para uso exclusivamente didáctico, no se presentan grandes problemas de rendimiento (no se tiene que interpretar algoritmos de miles de líneas sumamente complejos) por los que puedo tomarme ciertas libertades en la implementación. Más aún, se debe tener en cuenta que el objetivo
...