Вы находитесь на странице: 1из 8

Un estudio de las dificultades de los programadores principiantes

1. INTRODUCCIN

La programacin no es un tema fcil de estudiar. Requiere la comprensin correcta de los conceptos


abstractos. Muchos estudiantes tienen problemas de aprendizaje debido a la naturaleza del tema.
Adems, a menudo no hay suficientes recursos y los estudiantes sufren de

Una falta de instruccin personal. Tambin los grupos estudiantiles son grandes y heterogneos y
por lo tanto es difcil disear la instruccin para que sea beneficiosa para todos. Esto a menudo
conduce a altas tasas de abandono en los cursos de programacin.

Codewitz (www.codewitz.net) tiene como objetivo desarrollar soluciones que beneficien la


programacin de enseanza y aprendizaje. El objetivo principal del proyecto es desarrollar
visualizaciones basadas en la web de conceptos de programacin para uso en el aula y para apoyar
el aprendizaje independiente. A diferencia de varios enfoques que se concentran en la animacin
de algoritmos, p. [4], este proyecto tiene como objetivo mejorar los conceptos de aprendizaje de
los estudiantes de introduccin a la programacin y estructuras lingsticas, por ejemplo, variables,
bucles y declaraciones condicionales. Para el desarrollo de la cooperacin internacional, se decidi
organizar una encuesta amplia entre las universidades asociadas para estudiar las dificultades
actuales en la programacin del aprendizaje. Los resultados de este estudio podran utilizarse tanto
como una base para desarrollar nuevas visualizaciones como para desarrollar enfoques de
aprendizaje para programar cursos en general.

La organizacin del artculo es la siguiente. La seccin 2 contiene una visin general de la literatura
relacionada. El diseo y la metodologa de la encuesta se presentarn en la Seccin 3 y el anlisis de
los resultados en la Seccin 4. Los resultados sern discutidos ms a fondo y

Relacionados con otros estudios en la seccin 5. La seccin 6 contiene las conclusiones.

2. LITERATURA RELACIONADA

Robins et al. [7] proporcionan una revisin completa de la investigacin relacionada con la
educacin de programacin. Otra buena fuente de informacin es una coleccin ms antigua de
trabajos de investigacin sobre programadores principiantes, editado por Soloway y Spohrer [8].
Estos artculos proporcionan varios puntos de vista sobre las caractersticas y conceptos comunes

De los programadores principiantes que deben ser considerados al disear enfoques para
programar la educacin.

Estas fuentes concluyen, por ejemplo, que los programadores principiantes estn tpicamente
limitados al conocimiento superficial de los programas. A menudo se acercan a la programacin
"lnea por lnea" en lugar de utilizar estructuras de programas significativas. El conocimiento de los
principiantes tiende a ser especfico del contexto, y tambin a menudo no aplican los conocimientos
que han obtenido adecuadamente. Pueden conocer la sintaxis y la semntica de las declaraciones
individuales, pero no saben cmo combinarlos en programas vlidos [9]. Por lo tanto, es importante
combinar el conocimiento conceptual y las estrategias para su uso en el proceso de aprendizaje.
Se han presentado varios enfoques para cursos de CS1, p. Fincher [1] examin los enfoques
"sintaxis-libres", "alfabetizacin", "resolucin de problemas" y "informtica como interaccin". El
tema de discusin ms comn en la literatura de hoy parece ser si el enfoque imperativo [2] u
objeto-orientado [3] debe ser el primero. Cualquiera que sea el enfoque, en algn momento los
estudiantes tienen que aprender las estructuras bsicas de los lenguajes de programacin tales
como bucles, variables, recursin y paso de parmetros. Soloway y Spohrer presentan varios
conceptos errneos tpicos relacionados con los constructos del lenguaje [8], as como por Pane y
Myers [6]. Por ejemplo, a menudo hay conceptos errneos relacionados con la inicializacin
variable, bucles, condiciones, punteros y recursin. Los estudiantes tambin tienen problemas con
la comprensin de que cada instruccin se ejecuta en el estado que ha sido creado por las
instrucciones anteriores.

Adems de los conceptos errneos tpicos presentados en la literatura mencionada, una encuesta
reciente de Milne y Rowe [5] clasific los conceptos de programacin orientados a objetos segn el
nivel de dificultad. Ellos tenan slo 66 encuestados en su encuesta, pero proporcion informacin
interesante sobre las dificultades de los estudiantes de hoy, con los actuales lenguajes de
programacin y entornos de programacin.

Figura 1: Nmero de respuestas de los estudiantes por universidad

Figura 2: Proporciones de diferentes idiomas en la encuesta.


3. DISEO Y METODOLOGA DE LA ENCUESTA

La investigacin anterior sobre esta rea se ha llevado a cabo a menudo con herramientas de
programacin y lenguajes ms antiguos [8], o se concentr principalmente en ciertos conceptos
lingsticos [5]. Queramos estudiar la situacin actual con cursos de Java y C ++, y descubrir
percepciones tambin sobre las diferentes fases de programacin, situaciones de aprendizaje y
materiales en los cursos. De esta manera, no slo obtendramos ideas para temas que necesitaban
instruccin, sino tambin informacin de las situaciones de uso de materiales preferidas.

El cuestionario basado en la web tena tres secciones diferentes: antecedentes, contenidos del curso
y aspectos de aprendizaje. Las preguntas se pueden ver en la Tabla 1. Las mismas preguntas fueron
hechas en otra forma de los profesores como sus percepciones sobre las dificultades de los
estudiantes. El objetivo era comparar las diferencias en las concepciones de estudiantes y
profesores.

La primera seccin contena la informacin general del encuestado (ao de estudios, experiencia en
programacin antes de la universidad, conocimientos informticos, lenguajes de programacin
utilizados). El propsito de esta seccin fue poder comparar si el fondo tiene impacto en las
dificultades de aprendizaje. Se saba de antemano que la mayora de los encuestados haba estado
estudiando la programacin en C ++ o Java, por lo que esperbamos una posibilidad de estudiar el
impacto del lenguaje de programacin.

El objetivo de la segunda seccin fue encontrar dificultades para aprender los contenidos del curso.
Se dividi en dos partes: las cuestiones en la construccin del programa (por ejemplo, utilizando el
entorno de desarrollo del programa o dividiendo la funcionalidad en procedimientos) y los
conceptos de programacin. Las preguntas plantearon a los encuestados los aspectos y conceptos
de la programacin del grado en una escala de cinco puntos, desde muy fcil de aprender (1) hasta
muy difcil (5). Adems, haba una opcin que no s.

La tercera seccin contena preguntas sobre la programacin del aprendizaje.

El objetivo era descubrir qu tipo de situaciones y materiales de aprendizaje los estudiantes


encuentran ms efectivos. La escala de respuestas fue la misma que antes, de 1 a 5, variando de la
sensacin de que el estudiante estaba aprendiendo nunca en ese tipo de situaciones al aprendizaje
siempre. En las preguntas sobre los materiales

Prcticamente intil y 5 para muy til.

El cuestionario fue presentado para los estudiantes que tenan experiencia de 1-2 cursos de
programacin de sus programas de maestra y maestra en 6 universidades. Se anunci tambin a
los profesores de los mismos cursos. Se recibieron respuestas de la Fachhochschule Furtwangen
(FHF, Alemania), Universidad de Reykjavik (RU, Islandia), Politcnica de Tampere (TPU, Finlandia),
Universidad Tecnolgica de Tampere (TUT, Finlandia), Universidad de Tecnologa de Bucarest
(UTCB, Rumania) y Ventspils Universidad de Tecnologa (VENTA, Letonia).

El cuestionario estuvo disponible durante 10 das.


4. ANLISIS DE RESULTADOS

En total, 559 estudiantes y 34 profesores respondieron a la encuesta. El nmero de respuestas de


los estudiantes de diferentes universidades se muestra en la Figura 1. Los resultados de las secciones
Contenido del curso y Aprendizaje y enseanza de la programacin se presentan en la Tabla 1. La
seccin de informacin de antecedentes se analiza a continuacin.

Ms de la mitad (58,6%) de los estudiantes que participaron en la encuesta ya tenan experiencia en


programacin antes de estudiar en la universidad. Casi la mitad (40,6%) de los que tenan
experiencia en programacin, crean que sus habilidades de programacin eran al menos
moderadas. Esto demuestra que los estudiantes en una clase de programacin a menudo

Puede tener niveles de experiencia muy diferentes, lo que dificulta el diseo de la enseanza para
que sea un desafo e interesante para todos.

La mayora de los estudiantes haban estado aprendiendo los fundamentos de la programacin


usando C ++ como el lenguaje de programacin. Tambin hubo algunos estudiantes que haban
utilizado Java, y una pequea minora haba utilizado Pascal u otros idiomas. Los porcentajes de los
diferentes idiomas que se utilizan se presentan en la Figura 2.

4.1 Contenido del curso

Los encuestados percibieron como los problemas ms difciles en la programacin la comprensin


de cmo disear un programa para resolver una determinada tarea (I5), dividiendo la funcionalidad
en procedimientos (I6) y encontrando errores de sus propios programas (I7). stos son todos los
asuntos donde el estudiante necesita entender entidades ms grandes del programa en vez apenas
de algunos detalles sobre l.

Los conceptos de programacin ms difciles fueron la recursin (C4), punteros y referencias (C6),
los tipos de datos abstractos (C9), el manejo de errores (C11) y el uso de las bibliotecas de idiomas
(C12). Una vez ms, el manejo de errores requiere entender el programa de manera exhaustiva. El
uso de las bibliotecas de idiomas requiere una bsqueda independiente de la informacin, lo que
puede dificultarle a los principiantes. Recursividad, apuntadores y referencias, y tipos de datos
abstractos son conceptos abstractos y por lo tanto cognitivamente complejos de entender sin un
fenmeno similar en la vida cotidiana para la comparacin.

Las opiniones de los maestros sobre los contenidos de los cursos ms difciles fueron casi las mismas
que las de los alumnos. Adems, los maestros perciben que las estructuras de programacin de
comprensin (I3) son difciles en cuestiones de programacin. En los conceptos de programacin,
casi todas las preguntas tenan el valor medio por encima de 3, y las cuestiones ms difciles eran
las mismas segn los profesores y los estudiantes. Los profesores perciben sistemticamente todo
lo que en el contenido de los cursos es ms difcil de aprender que los estudiantes. La figura 3
muestra las diferencias en los conceptos de programacin.
4.2 Situaciones y materiales de aprendizaje

Los estudiantes parecen tener mucha confianza en s mismos, porque califican el estudio solo (S4)
ms til que las conferencias (S1) y trabajan solos en la programacin de cursos (S5) ms tiles que
las sesiones de ejercicio (S2) y la sesin prctica (S3). El aprendizaje por la prctica tambin se
consider eficaz, ya que las sesiones de ejercicio (S2) fueron calificadas como ms tiles que las
conferencias (S1), y las sesiones prcticas en salas de ordenadores (S3) incluso ms altas. Del mismo
modo, la programacin por s mismos (S5) se valor ms til que el estudio por s mismos (S4).

Los programas de ejemplo (M4) fueron considerados como el tipo de material ms til tanto por los
estudiantes como por los profesores. El resto de las formas materiales fueron consideradas
igualmente tiles por los estudiantes. Los profesores valoraron las visualizaciones interactivas ms
que el resto de los materiales, pero puede derivarse del hecho de que la encuesta se llev a cabo
entre profesores interesados en desarrollar visualizaciones.

Las situaciones de aprendizaje fueron vistas de manera diferente entre los profesores que entre los
estudiantes. Los profesores pensaron que las situaciones de aprendizaje ms efectivas eran sesiones
prcticas en salas de computacin (S3), sesiones de ejercicio en grupos pequeos (S2) y trabajo solo
en cursos (S5). O los profesores parecen pensar que los estudiantes necesitan ms orientacin que
los propios estudiantes o los profesores

Consideran su enseanza ms efectiva de lo que realmente es, porque calificaron todas las
situaciones de aprendizaje guiadas ms altas que los estudiantes.

4.3 Correlaciones

Al analizar las correlaciones de diferentes problemas de programacin y conceptos de programacin


de las respuestas de los estudiantes, se encontr que las cuestiones relacionadas con la
comprensin de las estructuras de programacin (I3), el aprendizaje de la sintaxis del lenguaje de
programacin (I4), la comprensin de cmo disear un programa para resolver una determinada
tarea ) Y dividiendo la funcionalidad en procedimientos, funciones y / o clases (I6), todos tienen una
fuerte correlacin positiva entre s (0.534 <r <0.637, p = 0.01). El estudiante o aprende todo esto
fcilmente o tiene problemas con todos.

Estos cuatro aspectos parecen formar algn tipo de ncleo de la comprensin de la programacin,
porque tambin se correlacionan fuertemente (0.406 <r <0.600, p = 0.01) con la comprensin de la
mayora de los conceptos de programacin (C1-C9). Los otros problemas de programacin tenan
correlaciones claramente ms dbiles con el aprendizaje de los conceptos de programacin.

Los temas centrales de programacin se correlacionan tambin con el resto de los conceptos de
programacin, pero no con tanta fuerza. Estos conceptos incluyen el manejo de entrada y salida
(C10), el manejo de errores (C11) y el uso de bibliotecas de lenguaje (C12), es decir, cuestiones que
normalmente no forman parte del ncleo del lenguaje de programacin. Estos conceptos no suelen
pertenecer a los temas principales de un curso de programacin.

No hubo correlaciones significativas entre las situaciones o materiales de aprendizaje y los


contenidos del curso. Las correlaciones en los resultados de los profesores tampoco fueron
significativas.

4.4 Comparacin entre diferentes idiomas

Hubo algunas diferencias estadsticas significativas entre los idiomas en el contenido del curso. El
lenguaje de enseanza no pareca afectar las situaciones de aprendizaje. Sin embargo, debido a que
diferentes universidades utilizan diferentes lenguajes de programacin, es posible, que las
circunstancias en las universidades tambin afecten las diferencias de las lenguas.

Se encontr que C ++ era ms difcil que Java. Las estructuras de seleccin (C2), arrays (C5), punteros
y referencias (C6) y parmetros (C7) se percibieron significativamente ms difciles al aprender en C
++ que en Java (p = 0.05).

Comprender las estructuras de programacin (I3) fue significativamente (p = 0.05) ms difcil en


otros idiomas que en C ++, Java o Pascal.

Sin embargo, no haba campo en el cuestionario para revelar qu otros idiomas se queran decir
aqu. El uso de las bibliotecas de idiomas (C12) fue ms fcil en Java que en Pascal.

5. DISCUSIN

Al interpretar los resultados, es importante tener en cuenta que las respuestas son opiniones
subjetivas de las personas que respondieron.

Los estudiantes no siempre ven sus dificultades completamente. Sin embargo, el nmero de
respuestas es tan grande que se puede ver que el grupo de encuestados representa a los estudiantes
de programacin ya los maestros de estas universidades.

Los resultados de la encuesta sobre los conceptos de programacin confirman que los conceptos
ms difciles de aprender son los que requieren entender las entidades ms grandes del programa
en vez de slo detalles, como tambin se encuentra en varios artculos en Soloway y Spohrer. Los
resultados apoyan tambin las nociones hechas por Milne y Rowe [5]; Conceptos abstractos como
punteros y manejo de la memoria son difciles de aprender. Los resultados tambin mostraron un
grupo de temas (por ejemplo, entradas y salidas, bibliotecas de idiomas) que probablemente
deberan tener ms atencin, ya que entenderlos no estaba relacionado con la comprensin del
"ncleo" reconocido de la programacin.

Sin embargo, el mayor problema de los programadores principiantes no parece ser la comprensin
de los conceptos bsicos, sino ms bien aprender a aplicarlos. Robins et al. [7] sugieren que los
profesores deben centrarse ms en la combinacin y el uso de estas caractersticas, especialmente
en las cuestiones subyacentes del diseo del programa bsico. En los resultados de la encuesta tanto
los estudiantes como los profesores coincidieron en que las situaciones prcticas de aprendizaje
eran las ms tiles. Incluso si la teora es muy importante en el aprendizaje de la programacin, los
estudiantes tambin necesitan experiencia prctica para entender los conceptos. Cuanto ms
prcticas y concretas sean las situaciones y los materiales de aprendizaje, ms aprendizaje tendr
lugar.

Aprender haciendo debe ser una parte de los estudios todo el tiempo.

Uno de los problemas en la programacin de la enseanza parece ser que los estudiantes
sobreestiman su comprensin. Los profesores piensan que el contenido del curso es ms difcil para
los estudiantes que para los propios estudiantes. La razn de las diferentes percepciones puede ser
que los estudiantes no se dan cuenta de todas las dificultades que tienen, pero los profesores hacen,
por ejemplo, al evaluar los exmenes. Adems, los maestros conocen los conceptos ms
profundamente y son capaces de ver que los estudiantes no tienen una comprensin completa de
las cuestiones que los propios estudiantes piensan que entienden por completo [5]. As, los
estudiantes y los profesores ven la necesidad de diferentes tipos de situaciones de aprendizaje y
materiales de manera diferente. Esto puede ser visto como una posible

Fuente de problemas en la motivacin de los estudiantes.

Dado que los problemas de aprendizaje suelen estar relacionados con cuestiones ms avanzadas
que los conceptos individuales, los materiales de aprendizaje pueden dirigirse a desarrollar las
habilidades de generacin, modificacin y depuracin del programa. Si se pudieran desarrollar
pequeos ejemplos, haciendo hincapi en pocos conceptos a la vez, para apoyar las habilidades de
programacin activa de los estudiantes, tambin podran involucrar mejor al estudiante en la
situacin de aprendizaje.

Dado que el xito en la creacin de un programa funcional es una fuerza positiva importante en el
trabajo de programacin tradicional de los estudiantes, los materiales deben tener ms naturaleza
de resolucin de problemas en lugar de representar solamente conceptos.

Para el trabajo futuro, el cuestionario podra disearse para que sea posible estudiar el impacto del
lenguaje de programacin y el ambiente utilizado. En esta encuesta slo fue posible ver que los
diferentes lenguajes tienen impacto en el aprendizaje de algunos de los conceptos de programacin.
Tras el desarrollo de las dificultades en el mismo grupo de estudiantes o individuos en una
investigacin a largo plazo podra revelar informacin ms detallada.
6. CONCLUSIONES

La programacin no es difcil slo a causa de los conceptos abstractos.

Los estudiantes tambin tienen problemas en diferentes temas relacionados con la construccin del
programa. Es importante para el aprendizaje que los estudiantes hagan la programacin por s
mismos. Con materiales y enfoques cuidadosamente diseados, los maestros pueden guiar el
conocimiento de los estudiantes y la construccin de habilidades.

La encuesta estudi las percepciones de los estudiantes y profesores acerca de las dificultades en el
aprendizaje de la programacin. Los resultados proporcionan una gran cantidad de datos sobre las
dificultades percibidas relacionadas con los conceptos de programacin y la construccin del
programa. La encuesta tambin proporciona informacin sobre las percepciones de los estudiantes
sobre los tipos de material y las situaciones de aprendizaje ms tiles. Estos resultados pueden
utilizarse al disear materiales y enfoques para cursos bsicos de programacin.

Вам также может понравиться