ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Un intérprete para la enseñanza de algoritmos


Enviado por   •  22 de Mayo de 2014  •  Tesis  •  3.574 Palabras (15 Páginas)  •  406 Visitas

Página 1 de 15

Algor: Un intérprete para la enseñanza de algoritmos

Algor: An interpreter for the teaching of algorithms

Eduardo Alonso Pérez, José Alvites Rodas

Resumen

En este trabajo se describen las principales ideas tomadas en cuenta para el desarrollo de un intérprete de algoritmos. Surge por la necesidad de investigar nuevas estrategias que ayuden a la enseñanza de algoritmos en carreras de computación. Con esta herramienta los estudiantes pueden comprender mejor el proceso de construcción y ejecución de los algoritmos que desarrollan en clase. Se diseñó un pseudo lenguaje que utiliza palabras del lenguaje natural y una sintaxis simple y fácil de aprender. Se implementaron cada una de las etapas necesarias para la construcción de compiladores e intérpretes utilizando herramientas automáticas para la generación de analizadores léxicos y sintácticos.

Con el intérprete desarrollado, los estudiantes de cursos básicos de programación pueden probar, paso a paso, los algoritmos escritos en pseudo código, así como inspeccionar las variables que intervienen en los mismos. De esta manera el intérprete sirve como complemento en la enseñanza de la programación en su nivel más básico.

Palabras clave: compilador, intérprete de algoritmos, pseudo código, programación.

Abstract.

In this paper it is described the main ideas in the development of an algorithm interpreter. It is a result of the searching of new strategies for the teaching of algorithms. With this tool, the students can have a better understanding of the process of building and executing algorithms. It was designed a pseudo language that use natural language words and an easy to learn syntax. It was implemented each of the phases needed to build a compiler or interpreter and was used code generator tools for the lexical and syntax analyzers.

With this tool, students of basic programming curses can test, step by step, the algorithms written in pseudo code, and at the same time, they can inspect the variable’s contents. In this way, the interpreter it’s an important complement in the teaching of programming at the most basic level.

Key words: compiler, algorithm interpreter, pseudo code, programming.

Universidad Católica Santo Toribio de Mogrovejo, Ingeniería de Sistemas y Computación

ealonso@usat.edu.pe, josealvites@hotmail.com

Introducción

La programación constituye uno de los temas esenciales en cualquier carrera de Sistemas, Computación ó Informática. Es la base para un número significativo de cursos en los planes de estudio de éstas especialidades. Su importancia requiere de una investigación constante por parte de los docentes en la búsqueda de nuevas y mejores estrategias para su enseñanza.

Se estudia en los primeros semestres de las carreras y por lo general los docentes cuando comienzan con los cursos básicos se enfrentan con algunas deficiencias esenciales en los estudiantes, entre los cuales podemos mencionar, el razonamiento, la abstracción y la capacidad analítica. Dificultades que les impide poder realizar una de las actividades principales de la programación que es la de describir de manera precisa los pasos para la solución de un problema.

La programación es un proceso complejo y creativo que requiere de conocimientos, habilidades y actitudes. Es una disciplina muy difícil de dominar ó de llegar a ser un experto en ella. Muchos consideran que se requiere un talento especial, como todo un artista, para llegar a dominarla, como lo comentó James Gosling, autor del lenguaje Java: “la programación de computadoras siempre es un arte”, en una entrevista concedida a Bill Venners (2002) y mucho antes, de Knuth (1974) al comentar sobre uno de los libros más famosos de la historia de la computación “The Art of Computing Programming”.

Aún así, todos los estudiantes de las carreras relacionadas con la computación tienen que, en mayor o menor medida, adquirir esos conocimientos, habilidades y actitudes que le permitan construir programas de computadoras.

La adquisición de los conocimientos, en principios, está determinada por el docente quien debe lograr que los alumnos estudien los conceptos y fundamentos de la programación. La experiencia del docente dictando este tipo de curso contribuye notablemente en el aprendizaje de estos conocimientos.

Las habilidades en programación sólo se adquieren con mucha práctica. La única manera de aprender a programar es programando, por tanto requiere desde un inicio la realización de muchos ejercicios y de una gran disposición e interés del estudiante por resolverlos.

Las actitudes están relacionadas directamente con la disciplina en la programación. Esta disciplina se adquiere igualmente con las enseñanzas del profesor a través de su ejemplo, así como el de otros buenos programadores.

Aunque existen diversos criterios ó estrategias para la enseñanza de la programación, por lo general hay coincidencia en algunos aspectos relacionados con la secuencia de temas que se deben dictar. Es común que se impartan cursos sobre:

-Construcción de algoritmos

-Técnicas de programación

-Tipos de datos. (Estructura de datos)

El primer aspecto provee a los futuros programadores un nivel básico de enlace entre la lógica y las primeras etapas de la programación. Se manejan los conceptos de algoritmos, datos y estructuras de control que son comunes a cualquier lenguaje de programación. Una sólida formación en construcción de algoritmos es fundamental para el posterior aprendizaje de cualquier lenguaje de programación. En este nivel básico los algoritmos se presentan utilizando alguna técnica de descripción de algoritmos, como el pseudo código ó los diagramas de flujo, lo cual significa que el alumno sólo describe al algoritmo, mas no los ejecuta en la computadora.

El segundo aspecto, las técnicas de programación, introducen al alumno a la fase de codificación de los algoritmos en algún lenguaje de programación de alto nivel, como el Pascal, C ó Java. Además, y como su nombre lo indica, se debe profundizar en técnicas concretas de programación. Por lo general estos cursos se orientan a desarrollar programas medianamente complejos utilizando la programación estructurada u orientada a objetos como metodologías de programación. Además en estos cursos el estudiante se familiariza con algún ambiente de desarrollo integrado que le permite editar, compilar, ejecutar y depurar los programas.

Generalmente se incluye en los planes de estudios un tercer tipo de curso, orientado a profundizar en el concepto de tipo de dato abstracto. Aquí el estudiante

...

Descargar como (para miembros actualizados) txt (24 Kb)
Leer 14 páginas más »
Disponible sólo en Clubensayos.com