ESTUDIO
DE DIFICULTADES EN LA ENSEÑANZA Y APRENDIZAJE EN LOS CURSOS BÁSICOS DE
PROGRAMACIÓN DE COMPUTADORAS EN PANAMÁ
STUDY
OF DIFFICULTIES IN TEACHING AND LEARNING IN THE BASIC COURSES OF COMPUTER
PROGRAMMING IN PANAMA
Diego Santimateo, Giannina Núñez, Ediviel González
Facultad de Informática, Electrónica y Comunicación,
Universidad de Panamá, Centro Regional Universitario
de Veraguas, Panamá
E-mail: [diego.santimateo, giannina.nunez]@up.ac.pa
(Enviado Marzo
11, 2018; Aceptado Abril 16, 2018)
Resumen
El objetivo de este estudio es analizar la
percepción de los estudiantes respecto a la dificultad para aprender a
programar, la utilidad de los recursos y ambientes de aprendizaje. La población objeto son
estudiantes de las carreras de licenciaturas en informática de la Universidad
de Panamá, Universidad Tecnológica de Panamá, Universidad Latina de Panamá. Se concluye que las actividades
educativas que menos facilitan el logro de nuevos aprendizajes son las
conferencias (38.4%) y el estudio en grupo (21.5%). Por otra parte, son actividades útiles,
el uso de ejemplos para modificar (77.6%) y las explicaciones del docente (62.2%). Los vídeos, ejemplos de programas y tutoriales
web son los recursos de mayor utilidad para los estudiantes. Los recursos que
requieren de mayor lectura son considerados menos útiles. Los conceptos más
difíciles de aprender son: punteros, objetos, registros, recursividad, dividir
programas en módulos y crear funciones o subprogramas, aspectos coincidentes
con otras investigaciones.
Palabras clave:
Enseñanza-Aprendizaje de Programación, Conceptos de Programación, Recursos
para Programar, Actividades de Programación, Ambientes de Aprendizaje, Programación.
Abstract
The objective of this
research is to know the perception of students with respect to the difficulty
of learning programming, the usefulness of the resources and learning
environments. The target population are students of the bachelor's degrees in
computer science from the University of Panama, the Technological University of
Panama and the Latina University of Panama. It is concluded that least helpful activities in obtaining
new knowledge are conferences (38.4%) and study groups (21.5%). On the other hand, there are useful
activities, the use of examples to be modified (77.6%) and classroom lectures
(62.2%). The videos, examples programs and web tutorials are the most useful resources for students. Resources that require more reading are
considered less useful. The
most difficult programming concepts to learn are: pointers, objects, registers,
recursion, dividing programs into module and creating functions or subprograms,
that is coincident with others research.
Keywords: Teaching-Learning Programming, Programming Concepts, Resources for Programming,
Programming Activities, Learning Environments, Programming.
1 INTRODUCCIÓN
El problema de la enseñanza y aprendizaje de la programación es el tema de
esta investigación, debido al alto nivel de deserción que se da
en las asignaturas de programación, no solo en el Centro Regional Universitario
de Veraguas de la Universidad de Panamá [1], sino también a nivel internacional
como lo señalan Coppo et al. [2]
quien en función de ello propone una metodología que consiste en visualizar de
forma concreta los resultados de los programas escritos por los estudiantes,
introduciendo como elemento didáctico una placa electrónica basada en
principios de hardware y software.
Shuhidan et al. [3] ponen de manifiesto que aprender a programar es difícil,
una situación que es en gran parte responsable de altas tasas de deserción en
las escuelas de informática. Indica que el problema ha generado interés en una
serie de investigaciones y ha dado impulso a la necesidad de
un nexo de enseñanza-investigación para una mejor comprensión de los problemas
de programación de los principiantes. Derus [4] se refiere a la importancia de
la programación en la Ciencia, Matemática e Ingeniería en diferentes niveles,
considera el campo de la programación como difícil, complejo y caracterizado
como parte de los siete grandes retos en la educación computacional.
Por otra parte, Schulte
y Bennedsen [5] exploran lo que los docentes consideran
importante enseñar, lo que realmente enseñan y lo que los alumnos encuentran
más difícil según ellos en un curso introductorio de programación.
Salleth et al. [6] hacen una revisión de 45
investigaciones de la base de datos de ACM en el periodo 2005-2011 de aspectos
relevantes en la enseñanza y aprendizaje de la programación, destacando que 31
de ellas atienden particularmente las técnicas, herramientas de enseñanza y la
evaluación.
Soloway [7] afirma que los docentes de los cursos introductorios de programación son conscientes que enseñar sintaxis y semántica de un lenguaje de programación no es suficiente para el aprendizaje de la programación, se considera de mayor importancia fortalecer habilidades para solucionar problemas, la idea es lograr que el aprendiz pueda transferir lo aprendido en programación a otras situaciones de resolución de problemas, no sólo como una habilidad vocacional, sino como un vehículo para aprender la resolución efectiva de problemas.
En la investigación de Rodríguez [8] se procuran estrategias didácticas adecuadas para los cursos de programación de computadoras precisamente por los altos índices de deserción y pérdida académica registradas en dichos cursos. Para el desarrollo de ese trabajo se analizaron artículos de investigación e informes referenciados desde las bases de datos Scopus y DOAJ, empleando las palabras clave teaching programming, considerados desde el año 2000.
Teague [9] también
atiende las deficiencias en los cursos de programación y presenta resultados sobre
el modelo de aprendizaje por pares para proponer soluciones.
Cuando se dan deficiencias
en el aprendizaje es importante determinar las posibles causas para proponer
correctivos que puedan ayudar a eliminar o reducir las deficiencias, en ese
sentido el trabajo de Milne y Rowe [10] determina
los obstáculos más comunes encontrado por estudiantes matriculados en un primer
curso de programación orientada a objetos. Para ello consultó tanto a
estudiantes como a tutores de la asignatura sobre los conceptos que se enseñan
y que los estudiantes se esfuerzan por aprender. En ese mismo
orden de ideas encontramos el trabajo de Muñoz et al. [11] donde se indaga sobre los tópicos que provocaron más
problemas en el proceso de enseñanza y aprendizaje de la programación, además
de obtener las preferencias de los encuestados por el estudio. Los resultados
se asocian con los estilos de aprendizajes detectados en esa investigación.
Con el interés de
conocer con mayores detalles la situación actual en la enseñanza y aprendizaje
de la programación en Panamá, se realiza esta investigación donde se
analiza la percepción de los
estudiantes sobre los aspectos incidentes; recursos, ambientes de aprendizaje,
actividades y dominio de conceptos de manera que se identifiquen en cada uno de
ellos las debilidades y fortalezas, en consecuencia, se
espera que los resultados presentados en esta investigación sirvan de
fundamento para diseñar estrategias didácticas, recursos didácticos,
experiencias y ambientes de aprendizaje que incidan favorablemente en el
desempeño de los estudiantes con la consecuente disminución de las deficiencias
y deserciones.
2 MATERIALES
Y MÉTODO
Esta investigación se basa en el estudio de Essi
Lahtinen, Kirsti Ala-Mutka y Hannu-Matti Järvinen titulado “A Study of the Difficulties of Novice
Programmers” [12] con la diferencia de que no se confrontan opiniones de
estudiantes y docentes, pero adicionando aspectos de interés en las fases de
programación, situaciones de aprendizaje y de recursos utilizados.
El instrumento
utilizado se aplicó en el periodo 2015-2016 a estudiantes que han cursado por
lo menos un semestre de programación de computadoras en la Universidad Latina de Panamá (UL) sedes Azuero y Veraguas,
en la a Universidad de Panamá (UP) sedes Campus Central, Panamá Oeste, Coclé,
Aguadulce, Azuero, Veraguas y en la Universidad
Tecnológica de Panamá (UTP) sedes Coclé, Azuero y Veraguas. Se
procesaron 177 encuestas utilizando el software SPSS versión 20.
El cuestionario tiene
cinco secciones; la primera sobre generalidades de los encuestados, las dos
siguientes evalúan las actividades y conceptos usualmente utilizados en un
curso de programación con la escala (muy difícil=1, difícil=2, normal=3,
fácil=4, muy fácil=5) y las dos
últimas tratan de la utilidad de los ambientes de aprendizajes evaluadas con la
escala (nunca=1, algunas veces=2, normal=3, casi siempre=4, siempre=5) y
recursos para aprender con la escala (nada útil=1, algo útil=2, normal=3,
útil=4, muy útil=5).
De acuerdo con
Hernández Sampieri et al. [13], este trabajo
es exploratorio, porque aunque existen muchas referencias al respecto, en
Panamá no es así, es decir, es un tema poco estudiado en este país. Por otra parte, esta investigación
también es descriptiva, ya que se busca identificar características y rasgos
importantes de la problemática del proceso enseñanza-aprendizaje de la
programación de computadoras en Panamá. Se selecciona una serie de aspectos
involucrados en la enseñanza y aprendizaje de la programación, algunos resultantes
de investigaciones previas como la de Lahtinen et al.
[12]
y se recolectan datos sobre cada uno de ellos, aplicando la escala de Likert
para luego describir lo que se investiga.
Al no realizar manipulación de variables esta investigación no es
experimental.
El índice de consistencia interna se calcula
mediante coeficiente alfa de Cronbach dando como resultado 0.92. La medida de fiabilidad mediante el alfa
de Cronbach asume que los ítems medidos en escala de Likert miden un mismo
constructo y que están altamente correlacionados entre sí [14]. Se utilizan los
porcentajes relativos a las frecuencias de las respuestas de cada una de las
preguntas, para identificar el nivel de dificultad según la escala.
El cuestionario se diseñó agrupando las preguntas de
manera que combinadas miden un rasgo particular, en consecuencia, se considera
escala de intervalos y es aplicable la suma o media aritmética para su análisis
[15]. Además del análisis a partir de la media de los componentes de cada
rasgo bajo estudio, se determinan mediante el coeficiente de correlación de
Pearson, con significación estadística, las posibles relaciones de las
variables involucradas en las dificultades para el dominio de actividades de
programación, aprendizaje y uso de conceptos de programación, recursos que
facilitan el aprendizaje de la programación y ambientes de aprendizaje.
3 RESULTADOS
Y DISCUSIÓN
Se aplicaron 177 encuestas, la distribución se
registra en la Tabla 1.
Tabla
1 Distribución
de la muestra por Centro de Estudio y Sexo.
Centro de Estudio |
Sexo del encuestado |
Total |
|
Femenino |
Masculino |
||
UL Veraguas |
3 |
11 |
14 |
UL Azuero |
3 |
6 |
9 |
UP Veraguas |
11 |
13 |
24 |
UP Aguadulce |
2 |
7 |
9 |
UP Coclé |
8 |
8 |
16 |
UP Azuero |
6 |
8 |
14 |
UP Campus Central |
1 |
7 |
8 |
UP Panamá Oeste |
9 |
9 |
18 |
UTP Veraguas |
12 |
25 |
37 |
UTP Coclé |
5 |
7 |
12 |
UTP Azuero |
4 |
12 |
16 |
Total |
64 |
113 |
177 |
Figura
1 Los estudiantes valoran sus conocimientos en
programación.
Poco más del 54% de los estudiantes consideran sus
conocimientos en programación como regular, seguido de un 38.98% que lo consideran
bueno. Los estudiantes que perciben sus conocimientos como excelentes o
deficientes no superan el 4% (Fig. 1).
Respecto a las
actividades propias del proceso de aprender a programar, se presentan los
porcentajes de frecuencias acumuladas para los valores “muy difícil” y
“difícil” (Tabla 2). Los
estudiantes perciben que la actividad de crear módulos asociada con el uso de
funciones o subprogramas es una de las más difíciles de aprender. Se observa la
tendencia de la media hacia la alternativa “fácil de aprender” indicando que en
general los estudiantes perciben que estas actividades se aprenden con relativa
facilidad.
Tabla
2 Percepción del aprendizaje de las actividades del
proceso de aprender a programar.
Actividades |
Media |
Porcentaje de dificultad |
Dividir el programa en módulos |
3,14 |
27.7 |
Encontrar errores en el programa |
3,31 |
15.3 |
Crear y usar funciones o subprogramas |
3,36 |
22.6 |
Usar la sintaxis del lenguaje de programación |
3,50 |
11.9 |
Conocer como la computadora ejecuta/corre el programa |
3,52 |
11.9 |
Usar el entorno de desarrollo de programas |
3,63 |
11.3 |
Crear diagrama de flujo o lógica del programa |
3,69 |
10.7 |
Seleccionar datos para probar el programa |
3,69 |
8.5 |
En el caso de los conceptos de programación de
computadoras, también se muestran los porcentajes de frecuencias acumuladas
para los valores “muy difícil” y “difícil” reflejando que los punteros,
arreglos, estructuras, objetos y la recursividad se perciben como los conceptos
más difíciles de aprender (Tabla 3). Según la media, el concepto de variable,
las instrucciones de control del flujo del programa y el manejo de entrada /
salida de datos son los conceptos moderadamente más fáciles de aprender.
Tabla
3 Percepción del aprendizaje de los conceptos.
Concepto |
Media |
Porcentaje de
dificultad |
Punteros o Apuntadores |
2,73 |
45.2 |
Tipos abstractos de datos (objetos) |
2,86 |
28.2 |
Recursividad |
2,98 |
30.5 |
Tipos
de datos estructurados (struct, registros) |
3,03 |
25.4 |
Parámetros / Argumentos |
3,11 |
22.6 |
Funciones / Subprogramas / Métodos |
3,11 |
18.6 |
Librerías del lenguaje |
3,22 |
16.9 |
Arreglos |
3,24 |
24.9 |
Manejo
de errores / Excepciones |
3,27 |
17.5 |
Entrada
/ Salida |
3,55 |
11.3 |
Ciclos |
3,80 |
11.9 |
Decisiones
(if, case) |
3,95 |
9.0 |
Uso
de las variables |
4,14 |
7.9 |
En la Tabla 4 se
observa que los estudiantes consideran que el aprendizaje se les facilita en
las sesiones de laboratorios, se resalta la débil valoración del trabajo en
grupos y los aportes de las conferencias.
Respecto a los
recursos utilizados para aprender, se observa que los vídeos, los ejemplos de
programas y los tutoriales web son los de mayor utilidad. Los recursos que
requieren de mayor lectura son considerados menos útiles (Tabla 5).
En la Tabla 6 se
presentan las correlaciones entre actividades y entre ellas y los conceptos,
resultando fuertes, positivas y significativas al nivel 0.01 (p=0.01). Se han
descartado las correlaciones menores que 0.4, para un mayor significado de los
resultados.
Al analizar las
correlaciones entre las actividades evaluadas resalta la importancia del dominio
de la sintaxis del lenguaje, así como el entorno de programación y la creación
de diagramas de flujo cuando se manejan funciones o subprogramas, además es
evidente la relación entre la estrategia de dividir el programa en módulos con
la creación de funciones que refleja una correlación fuerte y positiva con un
coeficiente de correlación de 0.687, en muchos casos la división del programa
en módulos se considera parte de la creación de funciones.
Tabla
4 Percepción de los ambientes en los que se aprende.
Ambiente |
Media |
Menor incidencia en
aprendizaje (%) |
En conferencias |
3,05 |
38.4 |
Cuando estudio en grupos |
3,58 |
21.5 |
Cuando estudio solo |
3,62 |
18.1 |
Mientras tenga problemas que resolver |
3,62 |
12.4 |
Cuando el profesor explica |
3,69 |
11.9 |
Mientras tenga un ejemplo que modificar |
3,72 |
12.4 |
En sesiones prácticas de laboratorios |
4,03 |
5.6 |
Tabla
5 Percepción de la utilidad de los recursos.
Recursos |
Media |
Menor utilidad en el
aprendizaje (%) |
Clase
virtual o folleto del docente o trasparencias |
3,36 |
22.0 |
Libros
del curso de programación |
3,37 |
26.6 |
Ejercicios
de preguntas y respuestas |
3,53 |
15.8 |
Listado
de problemas por resolver |
3,66 |
11.3 |
Imágenes
de las estructuras de programación |
3,68 |
12.4 |
Mis
apuntes de la clase |
3,92 |
9.6 |
Videos
de programación |
4,15 |
9.0 |
Ejemplos
de programas |
4,25 |
2.3 |
Tutoriales
de la web en internet |
4,37 |
6.2 |
Tabla
6 Actividades del proceso de aprender a programar con
mayor correlación.
Actividades |
Usar el entorno de
desarrollo de programas |
Crear diagrama de
flujo o lógica del programa |
Crear y usar
funciones o subprogramas |
Usar la sintaxis
del lenguaje de programación |
Crear diagrama de flujo o lógica del
programa |
,446** |
|
|
|
Crear y usar funciones o subprogramas |
,616** |
,598** |
|
|
Usar la sintaxis del lenguaje de
programación |
,492** |
,532** |
,667** |
|
Dividir el programa en módulos |
,492** |
|
,687** |
,579** |
** La correlación es significativa al nivel 0,01
(bilateral). |
Al momento de relacionar las actividades con los
conceptos, se percibe la división del programa en módulos como la más afín a la
mayoría de los conceptos tratados en la programación de computadoras,
enfatizando así la importancia que los estudiantes le dan a la misma. Además,
presenta una correlación de 0.61 (p=0.01) con los conceptos involucrados con
las funciones o subprogramas (Tabla 7).
Tabla
7 Actividades del proceso de aprender a programar y
conceptos con mayor correlación.
Conceptos |
Usar el entorno de desarrollo de programas |
Crear y usar funciones o subprogramas |
Usar la sintaxis del lenguaje de programación |
Dividir el programa en módulos |
Decisiones (if /case) |
|
|
,524** |
,572** |
Ciclos |
|
,563** |
,500** |
,537** |
Recursividad |
|
,550** |
|
,511** |
Arreglos |
|
,554** |
|
,559** |
Punteros |
|
,459** |
|
,487** |
Parámetros / Argumentos |
|
,532** |
|
,557** |
Tipos de datos estructurados |
,545** |
,553** |
|
,567** |
Tipos abstractos de datos (objetos) |
,505** |
,565** |
|
,554** |
Funciones / Subprogramas / Métodos |
|
|
|
,610** |
** La correlación es significativa al nivel 0,01 (bilateral).
4 DISCUSIÓN
Muchas de las dificultades en el proceso de
enseñanza y aprendizaje de la programación de computadoras que existen en
Panamá, no son exclusivas de nuestro medio, Lahtinen et al. [12] presenta resultados similares con estudiantes de
Alemania, Finlandia, Rumania, Islandia y Letonia. Es importante resaltar que
los datos obtenidos corresponden a las percepciones de los estudiantes
consultados y que en algunos aspectos la experiencia indica que no siempre
tienen claridad en los conceptos, ni el dominio profundo de los procesos, ni de
la aplicación de los conceptos. Esto claramente se ve cuando el estudiante
decide que ya ha terminado un programa y no ha hecho un análisis de los datos
de prueba corroborando por lo menos el seguimiento de cada rama de la lógica y
verificando los resultados con un modelo previamente preparado para ello.
Según la percepción
general de los estudiantes, los recursos y los ambientes de aprendizajes
representan un nivel aceptable de utilidad, se distinguen los ejemplos de programas,
los materiales visuales y los tutoriales web como los recursos de mayor
utilidad para los estudiantes, resultados similares a los obtenidos por Muñoz et al. [11]. Los recursos que requieren
de mayor lectura son considerados menos útiles.
Respecto a las
actividades de programación, los estudiantes perciben que lo más difícil de
aprender se centra en la división de un programa en módulos, muy asociado con
la creación y uso de funciones. Es posible que la comprensión del proceso de
comunicación entre el programa invocador y el invocado no se haya logrado
satisfactoriamente, particularmente el pase de parámetros a argumentos y el
retorno de resultados. Por otra parte, poco se trabaja en el desarrollo en
equipo donde cada estudiante se encarga de un módulo, sus pruebas e integración
[16]. En cuanto a los conceptos propios de la programación de computadoras, los
más difíciles de aprender son: los punteros, la recursividad y el manejo de
objetos. Pero en general, más del 69% de los estudiantes consideran que el
aprendizaje de los conceptos es fácil o muy fácil cuando se utiliza la
sumatoria de los ítems, no obstante, al analizar los valores promedios la
mayoría cae en el rango entre 3.03 y 3.80 lo que refleja un nivel de
conocimiento moderado, similar al resultado del estudio de Derus [4].
Las correlaciones
entre conceptos y actividades resultaron ser las más significativas
corroborando la importancia de la creación de funciones o subprogramas que
correlaciona fuerte y significativamente con la mayoría de los conceptos
tratados en un curso de programación.
Se coincide con lo
reportado por Lahtinen et al. [12]
respecto a que el manejo de las librerías resultó poco correlacionado con las
actividades, en consecuencia, debe prestarse mayor interés en la enseñanza y
aprendizaje de ese tópico.
Es recomendable que la
teoría asociada a los conceptos sea transferida a la práctica y posteriormente
a la solución de problemas reales avanzando de lo simple a lo complejo
conjugando lo aprendido con los nuevos retos de aprendizaje, como se desprende
del aporte de Díaz-Barriga y Hernández [17].
El estudio y
participación en la creación de objetos de aprendizajes interactivos como los
que promueve el proyecto CODEWITZ (www.codewitz.net) puede rendir beneficios al
proceso de enseñanza y aprendizaje de la programación. Por otra parte,
comprender cómo los estudiantes aprenden apoya la creación de materiales
didácticos adecuados y personalizados que favorecen el aprendizaje. Queda como
reto investigar, experimentar y evaluar las estrategias de enseñanza y
aprendizaje propuestas por muchos investigadores en esta área, a fin de lograr
la reducción de los fracasos y la deserción en asignaturas de programación.
5 CONCLUSIÓN
Se identifican de manera coincidente con otras
investigaciones los conceptos de programación de mayor dificultad para
aprender. Con la investigación se tiene una idea clara de los recursos,
actividades y ambientes de aprendizaje que favorecen el aprendizaje de los
conceptos y contenidos de un curso de programación básico. Se debe profundizar
en los orígenes del poco valor que los estudiantes le dan al trabajo en grupo
por las bondades conocidas en la interacción e intercambio de conocimientos del
ser humano, así como en la variedad de metodologías que diversos autores
proponen para reducir los fracasos y deserción en los cursos de programación.
En ese sentido corresponde realizar experimentos con estrategias sugeridas como
por ejemplo, gamificación, programación visual, robótica educativa, uso de
software diseñado para la enseñanza de la programación, pensamiento
computacional, aplicaciones móviles, efectos de la zona de confort, enfoque
constructivista de desarrollo de proyectos, aspectos motivacionales y otras, de
manera que se puedan obtener conclusiones sobre sus respectivas eficiencia y
efectividad en el aprendizaje de la programación.
6 REFERENCIAS
[1] Santimateo,
D. (2014). Factores que inciden en el rendimiento académico de estudiantes en
los cursos iniciales de programación de computadoras. Panamá: Universidad de
Panamá.
[2] Coppo,
R., Iparraguirre, J., Feres, G., Ursua, G., Cavallo, A. (2011). Sistema
didáctico para la enseñanza de la programación con metodologías de aprendizaje
basado en problemas. Conferencia presentada en el XIII Workshop de Investigadores
en Ciencias de la Computación, 824-827.
[3] Shuhidan,
S., Hamilton, M., D’Souza, D. (2009). A taxonomic study of novice programming
summative assessment. Conferences in Research and Practice in Information
Technology Series, 95, 147–156.
[4] Derus, R.
(2012). Difficulties in learning programming: Views of students. 1st
International Conference oo Current Issues in Education, ICCIE2012, At
Yogyakarta, Indonesia. doi: 10.13140/2.1.1055.7441.
[5] Schulte, C., Bennedsen, J. (2006). What do
teachers teach in introductory programming? Proceedings of the second international workshop on computing education
research - ICER '06. doi:10.1145/1151588.1151593.
[6] Salleh,
S., Shukur, Z., Judi, H. (2013). Analysis of Research in Programming Teaching
Tools: An Initial Review. Procedia - Social And Behavioral Sciences, 103,
127-135. doi:10.1016/j.sbspro.2013.10.317.
[7] Soloway,
E. (1986). Learning to program = learning to construct mechanisms and
explanations. Communications Of The ACM, 29(9), 850-858. doi:10.1145/6592.6594
[8] Rodríguez
Carrillo, G. (2014). Enseñanza de la programación de computadoras para
principiantes: un contexto histórico. Revista Inventum, 9(17), 51-61.
doi:10.26620/uniminuto.inventum.9.17.2014.51-61
[9] Teague, D.
(2011). Pedagogy of Introductory Computer Programming: A People-First Approach.
Master of Information Technology. Queensland University of Technology.
[10] Milne, I., Rowe, G. (2002).
Difficulties in learning and teaching programming—views of students and tutors.
Education and Information technologies,
7(1), 55–66.
doi:10.1023/a:1015362608943.
[11] Muñoz, R., Barría, M.,
Nöel, R., Providel, E., Quiroz, P. (2012). Determinando las Dificultades en el
Aprendizaje de la Primera Asignatura de Programación en Estudiantes de
Ingeniería Civil Informática. Conferencia presentada en Congreso Internacional
de Informática Educativa, XVII, 1-7. doi: 10.13140/2.1.2000.7206.
[12] Lahtinen, E.,
Ala-Mutka, K., Järvinen, H. (2005). A study of the difficulties of novice
programmers. Proceedings of the 10th annual SIGCSE conference on Innovation and
Technology in Computer Science Education - ITiCSE '05. 14-18.
doi:10.1145/1067445.1067453.
[13] Hernández Sampieri,
R., Fernández Collado, C., Baptista Lucio, P. (2014). Metodología de la
investigación (6a ed). México, D.F: McGraw-Hill.
[14] Frías-Navarro, D.
(2014). Apuntes de SPSS. Universidad de Valencia. Recuperado de
http://www.uv.es/friasnav/ApuntesSPSS.pdf.
[15] Boone, H. N., Boone, D. A.
(2012). Analyzing Likert Data. Journal of Extension, 50(2), 1–5. Recuperado a
partir de
http://wiki.biologyscholars.org/@api/deki/files/2002/=Likert_Scale_Analysis.pdf.
[16] Wang, F.L., Kwan, R. and
Wong, K. (2012). An Effective Tool to Support Teaching and Learning of Modular
Programming. Communications in Computer and Information Science, pp.80-90. doi:
10.1007/978-3-642-31398-1_8.
[17] Díaz-Barriga, F. and
Hernández Rojas, G. (2002). Constructivismo y Aprendizaje Significativo.
En: Estrategias docentes para un aprendizaje significativo, (2ª Ed).
México: McGraw-Hill, pp.23-60.