PDF de programación - El nombre verdadero de la programación - Una concepción de enseñanza de la programación para la sociedad de la información

Imágen de pdf El nombre verdadero de la programación - Una concepción de enseñanza de la programación para la sociedad de la información

El nombre verdadero de la programación - Una concepción de enseñanza de la programación para la sociedad de la informacióngráfica de visualizaciones

Publicado el 4 de Enero del 2021
707 visualizaciones desde el 4 de Enero del 2021
272,3 KB
20 paginas
Creado hace 12a (14/04/2012)
El nombre verdadero de la programación

Una concepción de enseñanza de la programación

para la sociedad de la información

Pablo E. Martínez López*, Eduardo A. Bonelli**, and Federico A. Sawady O’Connor***

Universidad Nacional de Quilmes

Cuando sepas reconocer la cuatrifolia en todos sus estados, raíz, hoja y flor, por la vista
y el olfato, y la semilla, podrás aprender el nombre verdadero de la planta, ya que entonces
conocerás su esencia, que es más que su utilidad.

Un Mago de Terramar
Úrsula K. Le Guin

Resumen En la sociedad actual, basada en la información y el conocimiento, se vuelve
fundamental la manera en que se enseña programación. En este artículo explicitamos las
bases conceptuales de una propuesta innovadora para un primer curso de programación,
exhibiendo simultáneamente una metodología para la presentación de los conceptos deseados,
y atendiendo la problemática de la formación previa de los estudiantes. Como parte de
la tarea, presentamos una creación propia, el lenguaje Gobstones, diseñada para ser un
vehículo que oriente el aprendizaje conciso de las herramientas abstractas de programación
que deseamos enseñar.

1.

Introducción

En el mundo actual, donde la innovación, y la creación, distribución y manipulación de infor-
mación se ha vuelto un pilar para el desarrollo económico y cultural, especialmente de los países
latinoamericanos, se vuelve fundamental la formación de los recursos humanos capacitados. En
este marco, la necesidad de técnicos y graduados universitarios que posean adecuadas habilidades
de programación es esencial, y por ello comprender las bases de la forma en que enseñamos pro-
gramación es una clave de este desarrollo. En la Argentina ha habido mucha actividad relacionada
con el mejoramiento de la educación de programación, con proyectos de apoyo como el Fondo de
Mejoramiento de la Enseñanza de la Informática (FOMENI)1o la revalorización de la educación
secundaria con modalidad técnico-profesional2y ello propicia un aumento en el número de estu-
diantes que precisan formación específica en programación. Sin embargo, la base matemática y

* [email protected]
** [email protected]
*** [email protected]

1 http://cessiargentina.blogspot.com.ar/2007/09/el-fomeni-y-la-vigencia-de-un-plan.html
2 http://infoleg.mecon.gov.ar/infolegInternet/anexos/105000-109999/109525/norma.htm y
http://portal.educacion.gov.ar/secundaria/modalidades/educacion-tecnico-profesional

abstracta de este nuevo público para los docentes de programación es limitada o inadecuada, por
lo que se impone estudiar la forma en que enseñamos a programar, y adecuar nuestros métodos.

Impartir un curso inicial de programación a personas que poseen una formación matemática
incompleta o incorrecta, y que carecen de la capacidad de poder manipular abstracciones con sol-
tura, se vuelve un desafío. Estas características cognitivas de los estudiantes afectan de manera
directa el rendimiento académico y el proceso de enseñanza-aprendizaje en general, especialmente
en disciplinas abstractas como la programación y la matemática. La enseñanza de la programación
ha sido encarada desde diferentes ángulos a lo largo del tiempo. Generalmente, los enfoques tra-
dicionales tienen como efecto secundario que muchos alumnos abandonen de forma temprana por
falta de comprensión, aumentando notablemente los índices de desgranamiento en la Universidad,
ya que dichos enfoques usualmente no consideran los conocimientos previos y el contexto anterior
que los estudiantes poseen.

Uno de los caminos facilistas, muchas veces tomado para salvar dicha problemática, es simple-
mente intentar bajar el grado de dificultad de los conceptos que se van a enseñar, habitualmente
utilizando diversas metáforas o analogías delineadas para tal fin, que pretenden resultar más amenas
para el estudiante. Por otro lado, muchas veces se comete el error de brindar demasiados conceptos
en muy poco tiempo, sin focalizar aquellos que son fundamentales. Así pues, en muchos casos la
elección y diseño de estos cursos iniciales se realiza de forma arriesgada, y no se contempla el ob-
jetivo de brindar una formación sólida al obviar o no presentar adecuadamente diversos conceptos
que, a nuestro criterio, influyen sustancialmente en la formación de un buen programador, pero que
muchas veces se encuentran soslayados por sobreabundar detalles irrelevantes o complejos, cuando
en el curso no se establecieron claramente las ideas que realmente funcionarán como pilares. Si bien
muchos enfoques pueden parecer viables hasta cierto nivel, ciertas elecciones generan que luego al
estudiante le resulte más difícil ser consciente de la existencia de ideas que le permitirían mejorar
la producción y mantenimiento de su código, y que además le ayudarían a alcanzar y manipular,
en un futuro, otras abstracciones avanzadas aún más complejas. Sólo unos pocos logran alcanzar
un grado de conciencia notable a la hora de analizar qué ideas son importantes al momento de
programar. El resto, que es mayoría, ve limitado su abanico de herramientas, lo que deteriora la
calidad de la formación impartida, y en última instancia, la calidad del software que es producido.
En este artículo presentamos nuestra propuesta para encarar la enseñanza inicial de la pro-
gramación atendiendo estos aspectos, así como las bases conceptuales de la misma, exponiendo
además una herramienta que diseñamos para soportarla. Este enfoque se ha utilizado en los últi-
mos 4 años en la Tecnicatura Universitaria en Programación Informática (TPI), carrera dictada en
la Universidad Nacional de Quilmes (UNQ). Los alumnos de la carrera vienen logrando un buen
aprendizaje de la programación, sin que esto represente un filtro excluyente de personas con ciertas
falencias, tolerables al principio de su formación.

El objetivo de este artículo es presentar el enfoque utilizado, y explicitar el con-
junto de conceptos que lo sustentan, porque creemos que bien impartidos son el pilar
conceptual sobre el que otros conceptos más complejos pueden construirse con ma-
yor facilidad. En la UNQ, previo al ingreso a la carrera existe un curso nivelatorio que brinda
conocimientos básicos de matemática, física, química y producción de textos. Una vez que ingre-
san a la carrera, lo primero que cursan es Introducción a la Programación, materia tratada en
este artículo. Materias siguientes tratan sobre estructuras de datos e introducción al paradigma
de objetos. Nuestra idea es formarlos de tal manera que en las materias posteriores los alumnos
manipulen cómodamente abstracciones básicas pero fundamentales en programación. Sin embargo,

creemos que este enfoque no está limitado a la educación universitaria, sino que puede aplicarse
también a la enseñanza de la programación en el nivel medio, puesto que no asume conocimientos
específicos de matemáticas ni de lógica. De hecho, lo ideal sería comenzar a enseñar programación
con un enfoque conceptual en el nivel medio, cuando los alumnos pueden captar todas las ideas
de la mejor manera posible. La contribución más importante de este enfoque es que no depende
de herramientas ad-hoc, que pueden ir mutando con el tiempo, sino en ideas sencillas, poderosas y
perdurables. La dependencia de herramientas tecnológicas de moda, como programas de conexión
virtual o simulaciones gráficas de ideas o asistentes electrónicos para sintaxis, no implica que la
educación sea mejor, pues si bien facilitan la comprensión en el corto plazo, complican la posterior
adquisición de elementos abstractos. En realidad, los enfoques sobre los que uno opera con los
aparatos y herramientas también forman parte de lo que se denomina tecnología; una definición
de tecnología es “el conjunto de conocimientos técnicos, ordenados científicamente, que permiten
diseñar y crear bienes y servicios que facilitan la adaptación al medio ambiente y satisfacer tanto
las necesidades esenciales como los deseos de las personas”. En general se entiende por tecnología a
las máquinas y aparatos en sí, a lo que ahora se suman los programas. Pero la tecnología trata sobre
ideas, y por ende los enfoques y métodos de acercamiento a lo tecnológico también forman parte de
ella. Esta es una de las razones por las que estamos convencidos del enfoque que proponemos, que
pretende formar programadores eficaces en relación a lo que la Sociedad de la Información exige.
Para focalizar adecuadamente los conceptos mencionados, diseñamos un lenguaje conciso fun-
damentado en éstos. El propósito es estimular y presentar convenientemente las abstracciones que
deseamos impartir, minimizando detalles de ejecución y diversos elementos que consideramos no
pertinentes. Sin embargo, nuestra meta final no es presentar un lenguaje de programación, sino
atender en profunidad las ideas que presentaremos a lo largo del artículo, y que dan sustento a
nuestra filosofía. Cualquier curso que elija como base nuestra metodología puede optar por tomar
el lenguaje que construimos, o desarrollar uno propio que atienda igualmente aquellos aspectos
sobre la enseñanza de la programación que estimamos importantes.

El artículo se organiza de la siguiente manera. Primero exponemos nuestra concepción acerca de
programar y entender programas, aclarando qué clase de programador buscamos formar, qué con-
ceptos creemos que son importantes al comienzo su formación y qué habilidades debe ser capaz de
incorporar. Luego discutimos un modo de encarar el curso teniendo en cuenta el hecho de que las
personas, lamentablemente, no vienen adecuadamente preparadas para ser formadas fácilmente de
la manera en que pretendemos lo hagan. Posteriormente presentamos el lenguaje Gobstones y
analizamos cada elemento que lo conforma, contrastando los mismos con los conceptos discutidos
a lo largo del artículo. Por último, brindamos algunas conclusio
  • Links de descarga
http://lwp-l.com/pdf18640

Comentarios de: El nombre verdadero de la programación - Una concepción de enseñanza de la programación para la sociedad de la información (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad