2021 Curso Problemas Intro Programacion SLIDES
2021 Curso Problemas Intro Programacion SLIDES
Objetivos de la sesión 1
–Ampliar horizontes:
–Énfasis en programación
Índice
Recomendaciones curriculares
Recomendaciones curriculares
Recomendaciones curriculares:
–No nos interesan ahora por la elaboración de planes de estudios sino por sus “grandes ideas”
Recomendaciones internacionales:
–Association for Computing Machinery (ACM) –Computer Society of the Institute of Electrical and
Electronic Engineers (IEEE-CS)
–IFIP- UNESCO
–Carnegie-Mellon University
ACM: –ACM’68 –ACM’78: Modelo basado en un núcleo básico de asignaturas, que ha tenido una
gran influencia posterior Terminología de asignaturas, principalmente CS1 y CS2 Revisión de CS1 y
CS2
Informe Denning
Grupo de trabajo conjunto de ACM e IEEE- CS, formado por 7 miembros y coordinado por Peter J. Denning
3
3 objetivos:
Definición de Informática:
–Lenguajes de programación
–Arquitectura
–Sistemas operativos
–Comunicación persona-computador
–Matemáticas
–Ciencias naturales
–Ingeniería
Cultura teórica:
–Basado en la matemáticas
Cultura de diseño:
–Basado en la ingeniería
1.Formular requisitos
2.Formular especificaciones
4.Probar el sistema
Diversificación:
CS 2001 contempla:
–Prácticas profesionales
–Habilidades personales
–Cuestiones institucionales
–Estructuras discretas
–Fundamentos de programación
–Algoritmos y complejidad
–Lenguajes de programación
–Arquitectura y organización
–Sistemas operativos
–Computación en la red
–Interacción persona-computador
–Sistemas inteligentes
–Gestión de la información
–Ciencia computacional
Computing Curricula 2001 Propone formas destacadas de organizar las asignaturas básicas e intermedias
–Diversificación y actualización:
Revisión en el CS 2008
IS 2010
CC 2013 18 áreas:
–Fundamentos de sistemas
Paradigmas de programación
Significado de paradigma:
–Ejemplo representativo
–Evolución en el tiempo: R. Floyd daba este nombre en 1979 a técnicas de programación de bajo
nivel, métodos de diseño de algoritmos y enfoques de alto nivel en la programación
–Imperativo
–Orientado a objetos
–Funcional
–Lógico
–Paralelo o concurrente
Programación funcional:
–Estructuración de cálculos:
–Composición de funciones
–Expresión condicional
Programación imperativa:
–Estructuración de cálculos:
7
–Secuencia
–Instrucción condicional
–Instrucción repetitiva
–Llamada a subprograma
–Imperativo
–Orientado a objetos
–Funcional
–Lógico
–Paralelo o concurrente
Pensamiento computacional
No hay una definición clara del pensamiento computacional, pero éste contempla:
–Abstracción y descomposición
–Falta de rigor
–Se han hecho estudios posteriores para una mejor definición, p.ej. en el contexto de bachillerato
Conceptos recurrentes Ideas, preocupaciones, principios y procesos que ayudan a unificar una disciplina Propuesta
de CC1991:
–Ligadura: El proceso de que una abstracción se haga concreta al asociarle propiedades adicionales
–Complejidad de los problemas grandes: El incremento no lineal de la complejidad en función del tamaño
del problema
–Modelos conceptuales y formales: Diversas formas de formalizar, caracterizar, visualizar y pensar sobre una
idea o problema
Conceptos recurrentes
Propuesta de CC1991:
–Compromisos y consecuencias: Los compromisos y sus consecuencias, así como los efectos de elegir una
alternativa en lugar de otras
–Pedagogos
–Psicólogos
Diferentes:
–Tradiciones intelectuales
–Marcos conceptuales
–Métodos de investigación
Recursos:
ACM Inroads
Recursos:
–Otros:
Áreas de investigación
Áreas destacadas:
–Contenidos innovadores
–Métodos de enseñanza
–Otras
Contenidos innovadores:
Métodos de enseñanza:
¿Qué ayudas pueden concebirse para ayudar a los alumnos a comprender una materia?
Aprendizaje activo
Estilos de aprendizaje
¿Qué formas de evaluación son más adecuadas con ciertos objetivos y en ciertos contextos?
–Evaluación automática:
–Estudios multi-institucionales
–El campo de estudio puede oscilar entre muy amplio o muy específico:
plataformas de e- learning,
11
Otras áreas:
–Transferencia técnica
–Proyectos de grado –…
Mi experiencia e interés
Contenidos innovadores:
–Enseñanza de la recursividad
Métodos de enseñanza:
Informática educativa:
–Contenidos
–Herramientas de programación
Índice
Informática educativa
Evolución en el tiempo:
CC2001 reconoce distintos enfoques para CS1, a veces ligados a ciertos paradigmas:
14
–Naturalidad
–Facilidad de uso
–Potencia expresiva
–Sobrecarga a los alumnos con elementos de POO: Clase y objeto Método y mensaje. Sobrecarga.
Polimorfismo
Test-Driven Development
–Gran dificultad
–Poca motivación
–Se escriben nuevos casos de prueba antes de realizar una ampliación: “Favorece el desarrollo
incremental porque siempre hay una versión ejecutable”
–Los resultados del programa se comparan con lo especificado por el profesor Ventajas: –Realimentación
inmediata al alumno
–Objetividad
16
–Los alumnos diseñan sus casos de prueba y los prueban antes de enviarlas
–La corrección de prácticas frecuentemente da una nota pero no va acompañada de comentarios que
ayudan al alumno a aprender
–Escriba un programa que lea enteros positivos hasta leer el número 99999. Tras ver este número, debería
imprimir la media de los números leídos (sin incluir 99999)
En un estudio con alumnos de Yale, sólo 14% de los alumnos lo resolvió bien
Estudio multiinstitucional de 2004 Estudio multiinstitucional y multinacional dirigido por Raymond Lister:
Informática desenchufada
Se presentan mediante actividades participativas y juegos basadas en tarjetas, pinturas y juego activo
Juegos
Metáforas
18
Las metáforas se usan para explicar un concepto nuevo con ayuda de otro concepto ya conocido Conceptos
usados regularmente:
–Apuntador (puntero)
–Menú
–Ventana
–Ratón
–Árbol
–Memoria
–…
–Muñecas rusas como recursividad: Sólo puede haber una llamada recursiva
Mapas de conceptos
–Proposiciones
1.Conceptos
Uso docente:
Puede pedirse crear un mapa vacío de la nada o de una lista de conceptos y relaciones
–Los alumnos construyen la representación verbal y visual de los conceptos que están aprendiendo
Otras características:
–Independencia de la tecnología:
Sistemas de visualización
20
Entornos de programación …
–Captación de alumnos:
–Mejoras de habilidades:
Manejo de ordenadores
Conceptos de informática
Pensamiento computacional
–Informática educativa
–Informática desenchufada
–http://scratch.mit.eduhttp://scratch.mit.edu
–Editor
–Depurador
–Avanzados: Pueden usar entornos profesionales (p.ej. Eclipse) Entornos para principiantes, dos objetivos
posibles:
–Aprender a programar
–Mecánica de la programación:
Expresar programas
Estructurar programas
Aprendizaje social
Contexto motivador
–Mecánica de la programación:
Facilitar la codificación
Entretenimiento
Educación
Visualización y animación
Visualización y animación
Elementos:
–Proceso mental
–Lenguaje gráfico
Sistema JFLAP:
–Sistema VisuSniff:
23
Visualización de programas:
Visualización de algoritmos:
Animación:
–Prácticas:
–Autoestudio
–Pruebas de caja negra: Comprueban si un programa tiene el comportamiento deseado según el enunciado,
en todas las situaciones
/–Pruebas de caja blanca: Comprueban si cada porción de código se ejecuta correctamente. Puede haber
diverso grado de cubrimiento
Correctores de programas
Correctores automáticos:
–Corrección de prácticas
Correctores de programas
–Rapidez en la respuesta
Correctores de programas
–Formativo
–Sumativo
Propiedades a evaluar:
–Estáticas:
Estilo de programación
Plagios
26
–Dinámicas:
Corrección
Eficiencia
Correctores de programas
–Aceptado
–Error de presentación
–Respuesta incorrecta
–Error de ejecución
–Error de compilación
Propiedades de algoritmos:
–Corrección
–Eficiencia
–Optimalidad
Análisis de propiedades:
–Formalmente
–Experimentalmente
–Corrección
–Eficiencia
–Optimalidad
Medidas:
–Tiempo de ejecución
–Uso de memoria
Requisitos:
28
–Ejecución de algoritmos
–Recogida de medidas
–Correctores automáticos
–Pocos sistemas
Usos docentes:
–Prácticas:
–Autoestudio
–Ahorro de tiempo
Cuestiones importantes:
–Contenido
–Quién contribuye
–Comunidad de uso
–Catalogación
–Mantenimiento de la colección
–Control de la colección
–Título
–Descripción
–Etiquetas
–Comentarios –…
–Libro electrónico: Sistema “pasivo” pero con gran riqueza de contenidos Pueden incluir elementos
dinámicos (simulaciones, tests, etc.)
–Sistema tutor inteligente: Da consejo (realimentación) a los alumnos para un mayor aprendizaje
Terminología
Marcos conceptuales
Métodos activos
Aprendizaje basado en problemas
Aprendizaje colaborativo
Otros métodos activos
4 Taxonomías educativas
5 Taxonomía de Bloom
Cognitivo
Afectivo
Psicomotor
Cognitivo
Propuesta publicada en 1956
Taxonomía de Bloom
31
Seis niveles:
Conocimiento
Comprensión
Aplicación
Análisis
Síntesis
Evaluación
El alumno es capaz de reconocer o recordar información sin necesidad de ningún tipo de comprensión o
razonamiento sobre su contenido
Tareas que pueden realizarse para alcanzar este nivel: Nombrar, enumerar, formular, reconocer, identificar,
ordenar, etiquetar
Ejemplos de tareas:
Ejemplos de tareas:
Predí el valor de las variables de salida al final de cada iteración de un bucle, suponiendo que las variables de
entrada tienen los siguientes valores
El alumno es capaz de seleccionar y usar datos y métodos para realizar una cierta tarea
Tareas que pueden realizarse para alcanzar este nivel: Aplicar, usar, construir, hacer, desarrollar, construir,
implementar
Ejemplos de tareas:
32
Implementa un algoritmo que ordene una lista encadenada de cadenas de caracteres mediante inserción
directa
El alumno es capaz de diferenciar, clasificar y relacionar hipótesis y evidencias de la información dada, así
como descomponer un problema en partes
Tareas que pueden realizarse para alcanzar este nivel: Analizar, comparar, clasificar, dividir, simplificar,
depurar
Ejemplos de tareas:
Dados una especificación y programa, modifica éste para que satisfaga esta especificación ligeramente
modificada
Ejemplos de tareas:
El alumno es capaz de comparar, criticar y evaluar métodos o soluciones para resolver un problema o para
elegir el mejor
Tareas que pueden realizarse para alcanzar este nivel: Comparar, juzgar, justificar, evaluar, medir
Ejemplos de tareas:
Compara los árboles equilibrados y tablas de dispersión como métodos para implementar un diccionario
Compara varios algoritmos de ordenación, identificando los pros y contras de cada uno
La taxonomía de Bloom se ha usado en diversas asignaturas, incluyendo programación. Usos más frecuentes:
“Compara varios algoritmos de ordenación, identificando los pros y contras de cada uno”: Nivel de
¿comprensión, aplicación, análisis, evaluación?
La misma terminología para ciertos niveles de Bloom y ciertas actividades de programación: “Analiza la
complejidad de este algoritmo” puede estar al nivel de aplicación o síntesis
Lenguaje de programación
Herramienta de programación
Materia (nombre)
Dimensión de conocimiento:
4 categorías (y 11 subcategorías):
Conocimiento factual
Conocimiento conceptual
Conocimiento procedimental
Conocimiento metacognitivo
34
Recordar
Comprender
Aplicar
Analizar
Evaluar
Crear
21 Tareas didácticas
Categoría recordar:
o Reconocer
o Recordar
Categoría comprender:
o Interpretar
o Ejemplificar
o Clasificar
o Resumir
o Inferir
o Comparar
35
o Explicar
Categoría aplicar:
o Ejecutar
o Implementar
o Categoría analizar:
o Diferenciar
o Organizar
o Atribuir
Categoría evaluar:
o Comprobar
o Juzgar
Categoría crear:
o Generar
o Planear
o Producir
o Tareas factuales
o Tareas de comprensión
o Tarea de depuración
o Tarea de predicción
o Tarea de dar un ejemplo
o Tarea de dar un modelo
o Tarea de evaluar
o Tarea de satisfacer una especificación
o Tarea de resolver un problema
o Tarea de reflexionar
Cinco niveles:
Relacional: El alumno integra las partes del problema en una estructura coherente, que usa para
resolver el problema
“Resumen ampliado”: La respuesta del alumno va más allá de problema planteado y lo sitúa en un
contexto más amplio
Oigo y olvido,
veo y recuerdo,
hago y entiendo
(Confucio)
Espiralado: Visitar temas estudiados previamente y desarrollarlos en un nivel intelectual más alto
Suele compararse con las clases presenciales en las que pasivamente reciben información del profesor
Se presentan problemas al comienzo de la instrucción y se utilizan como causa y contexto del aprendizaje:
o Para asignaturas básicas conviene dar problemas estructurados
o Para asignaturas avanzadas pueden ser problemas ambiguos o incompletos
Los alumnos suelen trabajar en pequeños grupo y el profesor es un orientador
o Se obliga a los alumnos a recopilar información, organizarla y evaluarla para formular una solución
o Los alumnos aprenden a ser flexibles
o Los alumnos desarrollan habilidades necesarias en la vida re (p.ej. formación continua)
Proporcionar el problema
Dar alguna guía a los alumnos
Ayudar a los alumnos
Publicar el trabajo de los alumnos
Evaluar el trabajo e informar a los alumnos
Se usan clickers para que los alumnos voten a preguntas de múltiples respuestas
o Se plantea una pregunta sobre un concepto, que cada alumno reflexiona y vota
individualmente
o Los alumnos se reúnen en pequeños grupos, discuten y vuelven a votar
o El profesor utiliza los resultados de ambas votaciones para discutir en clase de conceptos
erróneos
Miniexposiciones en el aula
Método instruccional en el que los alumnos hacen sus propios descubrimientos sobre ciertos fenómenos
Forma de organización:
Ventajas:
Oportunidad para los alumnos de reunir y aplicar el conocimiento de una asignatura (o grado)
Reproduce la forma de trabajar en la empresa
Inconvenientes:
Elecciones
Contaminación
Respuestas a accidentes
etc.
¿Crees que podrías rediseñar tu asignatura total o parcialmente para incorporar algún método activo:
Aprendizaje colaborativo
Cualquier método instruccional en el que los alumnos trabajan juntos en pequeños grupos con un objetivo
común
Aprendizaje cooperativo:
Caso especial de aprendizaje colaborativo en el que cada alumno es evaluado por separado
Características deseables:
Objetivos individuales
Evaluación individual
Trabajo equilibrado de los miembros del grupo
Grupos heterogéneos
Reglas de dinámica de grupo y habilidades colaborativas
Autoevaluación final del grupo
Aprendizaje cooperativo
Actividad “cruzada”:
Proceso:
Los alumnos se dividen en pequeños grupos, de forma que cada grupo trabaja para hacerse
“expertos” en cierto tema
40
Los alumnos se reagrupan, de forma que hay un experto de cada tema en cada nuevo grupo
Dentro de cada grupo, el experto de cada tema va asumiendo sucesivamente el papel de profesor
del resto
Programación en pareja
El “conductor” maneja el teclado y se encarga de los detalles de bajo nivel de la tarea, como sintaxis
Estilos de aprendizaje
Si se empieza en ¿por qué? y acaba en ¿qué sí? podría atenderse a todos los alumnos
42
Los principiantes:
Las desatienden
Los expertos:
–Tienen muchos modelos mentales y los usan y mezclan como les conviene
–Trabajan de forma distinta ante problemas conocidos (más eficientemente) que desconocidos (utilizan
técnicas generales de resolución de problemas)
–Un alumno de grado sólo será un principiante avanzado, en disposición de ser experto
1.Principiante
43
2.Principiante avanzado
3.Competente consciente
4.Competente inconsciente
5.Experto
1.Se parte de estrategias generales de resolución de problemas y de conocimiento básico del dominio
2.Se combinan estrategia generales y especificas del dominio en una sola regla
Los expertos pueden saber lo mismo que un principiante avanzado sobre el lenguaje de programación pero
saben mucho más sobre el dominio y resolución de problemas
–Practicar mucho
Teorías de la educación
Cognitivismo:
–Metodología: La mente es una hoja en blanco que puede llenarse con conocimiento
–Pedagogía: La forma principal de transmisión del conocimiento son las clases y los libros
Constructivismo:
–Ontología: La realidad es en todo caso irrelevante porque no podemos conocer cómo es realmente
44
–Pedagogía: La tarea del profesor es guiar al alumno al construir su propio conocimiento. La comunicación
entre ambos mostrará si su conocimiento es viable
Modelos
Modelo conceptual: –Representación del conocimiento, construida por el profesor para transmitirlo a los
alumnos –Un modelo conceptual debe ser preciso, completo y coherente
Modelo mental: –La representación que un alumno construye de un modelo conceptual, es decir, cómo lo
entiende –Un modelo mental suele ser incompleto y ambiguo
–En general, pocos tienen un modelo claro y eficaz de qué es una computadora
–Máquina imaginaria (notional machine): Es una computadora idealizada y conceptual cuyas propiedades se
deducen de las construcciones del lenguaje de programación utilizado Su objetivo es proporcionar una base
para comprender el comportamiento de los programas en ejecución No suele explicarse explícitamente, sino
que se deduce de las explicación de las construcciones del lenguaje de programación
Modelos mentales:
45
–Dos alumnos construirán dos modelos mentales distintos ante el mismo modelo conceptual y su instrucción
–No hablamos de modelos mentales correctos sino viables o inviables: Un modelo mental viable permite
comprender los fenómenos en observación
–Si el aprendizaje no se basa en la experiencia, hay pocas posibilidades de modificar lo que se sabe
–Conviene que haya una interacción entre el conocimiento de la ciencia y la tecnología con la sociedad
–Uso de “prueba y error” como técnica de resolución de problemas: Opuesto a “reflexión en acción”
–Actitud antropomórfica frente al ordenador: “Me lo hizo de nuevo” “Eso no ha estado bien”
Errores o fallos:
–Una respuesta incorrecta indica en muchos casos una falta de comprensión del alumno, es decir, un modelo
mental inviable
–Preconcepción (idea previa): Conocimiento previo del alumno antes de la instrucción de un modelo
conceptual
–Malconcepción (idea errónea): Aspecto clave de un modelo mental que dificulta o imposibilita su viabilidad
Las preconcepciones:
Malconcepciones
Las malconcepciones:
–No son un síntoma de que los alumnos no tienen interés, sino de una comprensión deficiente
Actuación:
46
2.Actuar para ayudar a los alumnos a mejorar su comprensión o a eliminar las malconcepciones
–Comprender las dificultades de comprensión de los alumnos (cuando el profesor los percibe como
conceptos claros)
–Bajar el nivel de comprensión al nivel del alumno (cuando su nivel es más avanzado)
–Dudas repetidas de los alumnos: Repetir su pregunta y que la contesten ellos, para fomentar la reflexión
Reflexionar sobre las dudas, teniendo en cuenta el contexto o cualquier otro indicio disponible
–Ejercicios de diagnóstico
–Rebuscar en nuestro conocimiento de expertos para encontrar el conocimiento previo necesario para
construir un modelo conceptual viable
–Tener en cuenta el tiempo necesario en una asignatura para: Aprender a usar herramientas, explicar los
modelos conceptuales
–while sugiere una comprobación que se está realizando continuamente, cuando en programación sólo se
hace una vez por iteración: Pueden suponer que el bucle acaba en cuanto no se cumple la condición
–if también puede sugerir que se está esperando a que se cumpla una condición: La parte then se ejecuta en
cuanto se cumple la condición
–En Prolog se ha detectado que los alumnos utilizan un razonamiento similar a nuestro lenguaje en
situaciones familiares:
47
Dado padre(abraham,isaac).
?- padre(abraham).
–Esperan comportamientos similares entre lenguajes: Comparar estructuras de datos mediante equal? en
Scheme y mediante == en C
Nunca hay una correspondencia exacta entre el modelo a explicar y su analogía, lo cual permite sacar conclusiones
erróneas:
–Si “una variable es como una caja”, una variable puede contener varios valores
–Un algoritmo óptimo debe dar el mejor valor para cualquier dato de entrada
Actitudes nocivas
Tendencia a probar una hipótesis con datos que la confirman en lugar de refutarla:
Tendencia de los aprendices a evitar la complejidad, frente a la tendencia de los expertos a afrontarla
–El operador punto sólo puede aplicarse a métodos, no a variables de instancia o de clase
Ejemplos:
–Instrucciones de entrada
–En Pascal,
a partir de: “si quieres que un procedimiento cambie el valor de una variable, utiliza un
parámetro var ”
el alumno puede deducir: “aunque se modifique el valor de una variable global dentro de un
procedimiento, el nuevo valor no está disponible para el programa principal porque el valor
no se ha propagado con un parámetro var ”
Malconcepciones de la recursividad
–De copias
–De bucle
–Activo
–De paso
–Mágico o sintáctico
–Algebraico
–Raro
49
–“Flujo activo”
Motivación y actitudes
–Interés en la materia
–Agradar a la familia
–Utilidad de la materia
–Intrínseca: Interés en la materia en sí –Extrínseca: La carrera y las recompensas que obtendrá si la acaba
–Sin motivación
2.Aprender: 36’14% 3
.Grado: 8’15%
4.Disfrutar: 6’25%
2.Aprender: 20’05%
3.Contenidos: 14’29%
4.Utilidad: 8’79%
5.Disfrute: 4’67%
Elige una frase que resuma tu actitud para completar tus estudios:
4.Otras: 0’82%
–La motivación puede variar, según conocen más de informática y de las posibles salidas laborales
Actitudes
En cualquier profesión, no son importantes sólo los conocimientos y habilidades, sino las actitudes y valores:
–No puede preguntarse directamente sin exponerse a que los alumnos den la respuesta que se espera
–Pueden ser positivas o negativas, mientras que los conocimientos siempre son positivos
Actitudes
Actitudes
Asignaturas:
–Entrega en plazo
–Informe personal
Proyectos:
–Informe de supervisor
52
–Informe de cliente
Captación de alumnas. Razones para captar más alumnas en los estudios de Informática:
–Es justo
Retención de alumnas. Razones del abandono de los estudios de Informática por alumnas:
–Aislamiento
–Ambiente en la clase
Objetivos de la sesión 5 Ilustrar muchos de los temas de investigación mediante asignaturas de algoritmos:
–Informática educativa
–Modelos conceptuales
Índice
Planteamiento de la asignatura
Objetivos de aprendizaje
Visualización de la recursividad
Planteamiento de la asignatura
Contenidos comunes:
Objetivos de aprendizaje
3º curso Temario:
54
1.Introducción
2.Análisis de eficiencia
3.Optimización de algoritmos
5.Divide y vencerás
6.Algoritmos voraces
7.Vuelta atrás
Algunas notas:
Evaluación
Cinco prácticas:
1.Introducción
3.Divide y vencerás
5.Vuelta atrás
Examen final
58
Los cursos de Introducción a la Informática (CS1) en todo el mundo tienen muchos suspensos, muchos
abandonos y resultados más bajos que otros cursos.
- Algunos sostienen que existe el llamado gen geek, lo que demuestra que las distribuciones de las notas son
bimodales. No está probado y es muy discutido por los expertos.
- Los objetivos típicos de un curso de programación ("escribir un programa que...") se encuentran en lo alto
de las taxonomías, por lo que requieren objetivos cognitivos elevados (aplicación, análisis, síntesis,
evaluación)
- Conocimiento estratégico: capacidad de aplicar los conocimientos sintácticos y conceptuales para resolver
nuevos problemas o alcanzar los objetivos propios.
Problemas
- La sintaxis es sólo un problema inicial y, sin embargo, la mayoría de los libros de texto se centran sólo (o
casi sólo) en el conocimiento sintáctico
Almacenes de memoria
Este modelo tiene tres "almacenes" por los que pasan los estímulos sensoriales.
59
Almacenes de memoria
- Registro sensorial: vinculado al órgano sensorial correspondiente (la información permanece en fracciones
de segundo)
- Memoria a corto plazo o memoria de trabajo: limitada en el espacio (4±1? 7±2?) y en el tiempo (≈ 10s,
puede aumentar por repetición). Tránsito bidireccional entre el entorno y la memoria a largo plazo. Aquí es
donde tiene lugar la manipulación activa (y consciente) de la información.
- Memoria a largo plazo: capacidad potencialmente ilimitada, almacena grandes cantidades de información
durante periodos de tiempo muy largos. No somos conscientes de estos recuerdos: para utilizarlos tenemos
que recuperarlos trayéndolos a la memoria de trabajo.
Almacenes de memoria
¿Cómo es posible que el hombre sea capaz de realizar actividades mentales complejas con una memoria de
trabajo tan limitada? Utilizando el chunking y la automatización.
Por tanto, aprender algo significa almacenarlo en la memoria a largo plazo. Sin embargo, para acceder a ella,
debemos pasar por el "cuello de botella" de la memoria de trabajo: para ello, debemos ser buenos
procesando la información en grandes grupos y de forma automática.
Esquemas
- Por ejemplo, qué es una casa; acciones necesarias para comer en un restaurante / tomar un avión;
encontrar a en una ecuación del tipo a/b = c, con a, b no= 0,c cualquiera
- Experto: no tanto (no sólo) la inteligencia o el talento o la memoria de trabajo, sino una amplísima batería
de esquemas jerárquicos, vinculados, abstractos
60
- Los expertos dedican más tiempo a analizar el problema en profundidad, para utilizar los esquemas
adecuados
Carga cognitiva
- Se aprende mejor cuando la memoria de trabajo no está ni demasiado llena ni demasiado vacía, y la mayor
parte se utiliza para la formación de esquemas.
- Diferentes tipos:
- Relevante: no es indispensable para la solución de la tarea, pero se utiliza para crear o modificar
esquemas, reflexionando sobre lo que se está aprendiendo.
- Extrínseco: no es esencial para la tarea y no es necesario para el aprendizaje (por ejemplo, datos
innecesarios, charla de fondo, etc.).
- Si la carga cognitiva intrínseca es demasiado baja, puede producirse aburrimiento o falta de motivación.
- Reducir la carga cognitiva de las tareas muy difíciles (por ejemplo, escribir un programa): veremos algunas
técnicas relacionadas con la didáctica de la programación
Escriba un programa (en el lenguaje que le resulte más espontáneo) que pida como entrada al
usuario números enteros no negativos, que representen medidas de la cantidad diaria de lluvia.
Cuando el usuario introduce el valor 99999, el programa imprime la media de los números recibidos
antes de ese valor. Si el usuario introduce números negativos, éstos se ignoran. Hay que tener en
cuenta los casos extremos. No utilice estructuras de datos complejas (por ejemplo, listas, matrices,
etc.).
Escribe un programa (en el lenguaje que te resulte más natural) que pida al usuario la entrada de
enteros no negativos, que representen medidas de la cantidad de lluvia diaria. Cuando el usuario
introduce el valor 99999, el programa imprime la media de los números recibidos antes de ese valor.
Si el usuario introduce números negativos, éstos se ignoran. Hay que tener en cuenta los casos
extremos. No utilice estructuras de datos complejas (por ejemplo, listas, matrices, etc.).
61
- Un experto podría tener un trozo como "calcular la media de los valores tomados como entrada".
62
- Punto ciego del experto: ya no podemos "descomponer" en patrones más simples, por lo que no
nos damos cuenta de la alta carga cognitiva.
Modelos mentales
- Estructuras mentales que representan ciertos aspectos del entorno de una persona
- Cosas" concretas: yo mismo, mi novia, el entorno de edición con el que estoy componiendo las
diapositivas, además de objetos genéricos
- Son "falibles
- Son ejecutables: puedo realizar una simulación mental, en diferentes contextos y con diferentes
variables - La simulación utiliza la memoria de trabajo (no puedo involucrar demasiados estados o
variables)
- Más adelante veremos el "modelo mental" de la máquina que ejecuta un determinado programa.
Conceptos erróneos
- Creer que se sabe (cómo funciona algo), pero en realidad se ha "malinterpretado", es decir, se tiene
una interpretación perjudicial o indeseable de ello
- Veamos algunas de ellas, ordenadas por categorías. Para ver los "menús" más completos, consulte
Analogías y metáforas
La metáfora de la variable como una caja puede provocar algunos malentendidos, por ejemplo:
- Una variable puede contener más de un valor, en particular el "historial" de los valores que se le
han asignado
- Las asignaciones del tipo a = b mueven el valor de una variable a otra. La variable de origen se vacía
63
Matemáticas i
- Muchas líneas de código (no concurrente) pueden estar activas simultáneamente durante la
ejecución - Asignaciones como a = b funcionan en ambas direcciones, e intercambian valores
- Una variable debe ser una sola letra, los nombres más largos son comandos
Matemáticas ii
Los ejemplos documentados son la dificultad para entender el intercambio de variables con la variable
temporal, o que los estudiantes pidan los datos de entrada después de haberlos utilizado para calcular un
resultado, o que intenten resolver las tareas por sustitución.
Terminología
La analogía "programar con el ordenador es como hablar con él" puede llevar a atribuir intencionalidad al
ordenador [Pea, 1986]:
- Programar es como hablar en lenguaje natural. El ordenador o el entorno de desarrollo tiene una
inteligencia oculta que entiende las intenciones del programador y le ayuda a alcanzar su objetivo
("superbug"), por ejemplo completando con información "obvia" que falta.
- El ordenador tiene una visión general, sabe qué pasará con las líneas de código que no está
ejecutando en ese momento.
- No se pueden utilizar los mismos nombres para los parámetros formales y reales
- El paso de parámetros siempre crea un vínculo directo entre los parámetros formales y los reales
Los alumnos deducen las reglas a partir de los ejemplos que ven.
- Los atributos de los objetos sólo pueden ser números o, al menos, tipos primitivos
- Los argumentos de las llamadas a funciones sólo pueden ser valores, no variables
- Los operadores de comparación sólo pueden aparecer en las guías if o en los bucles y no, por
ejemplo, en las expresiones dentro de un retorno
- Ordenador idealizado, cuyas propiedades están implícitas en las construcciones del lenguaje de
programación utilizado, pero que pueden explicitarse durante la enseñanza.
- Es una noción más específica, porque con fines didácticos, que la noción clásica y general de máquina
abstracta.
- Una caracterización del ordenador en su papel de ejecutor de programas (en un lenguaje concreto), abarca
capacidades y comportamientos de hardware y software suficientemente abstractos, pero precisos, para
explicar cómo se ejecutan los programas.
- Pueden existir varias máquinas, a diferentes niveles de abstracción, para el mismo lenguaje (por ejemplo,
una máquina para Java que defina el ordenador como capaz de manejar objetos que intercambian mensajes,
otra de nivel inferior que vea las diversas construcciones que manejan áreas de memoria, pilas de llamadas y
heap, otra de nivel aún más bajo que describa Java en términos de bytecode)
- Los novatos pueden formarse modelos que no son adecuados → conceptos erróneos
- Según algunos, forma una "realidad objetiva"... jaque mate a los constructivistas extremos ;)
- NB. Los alumnos creen que es sólo una forma de explicar por parte de los profesores, deberían animarse a
hacerlo ellos mismos
Este libro no enseña a escribir. No se puede aprender a escribir leyendo un libro sobre la escritura, al igual
que no se puede aprender a esquiar leyendo un libro sobre el esquí. Hay que practicar: es decir, leer mucho
(novelas, ensayos, periódicos decentes), hablar con gente más culta e inteligente que nosotros y, por
supuesto, escribir, a ser posible con la ayuda de quienes ya saben escribir mejor que nosotros.
Claudio Giunta. Cómo no escribir: Consejos y ejemplos a seguir, trampas y trucos a evitar cuando se escribe
en italiano. UTET. Prólogo.
Ejemplos resueltos
- Etiquetado de los subobjetivos (comentarios en el código que identifican los subesquemas que estamos
aplicando)
-Parson Problema:https://js-arsons.github.io/
-Generador de problemas:http://acos.cs.hut.fi/jsparsons-enerator
-Intenta reordenar este programa (enlace en la página de inicio del wiki-acortador https://lodi.ml/csed) para
que calcule el número de ifres pares en x. Luego piensa en nombres más significativos para las variables a
partir de una idea de Violetta Lonati)
67
- Intenta reordenar este programa (enlace en el acceso directo de la wiki https://lodi.ml/csed) para que
calcule el número de dígitos pares en x. Luego piensa en nombres más significativos para las variables.
Entonces, piensa en nombres más significativos para las variables (a partir de una idea de Violetta Lonati)
Altri esempi
- Las actividades de comprensión del programa pueden crearse para los tres niveles (conocimientos
sintácticos, conceptuales y estratégicos) (eje x en el siguiente diagrama).
- Ejercicios de ejemplo para cada una de las "cajas" del diagrama anterior:
http://lonati.di.unimi.it/didainfo_2019-20/ progComp/4-progCompTasks.pdf (Sección 5).
Patrones elementales
NO son "contenidos" que deban enseñarse por separado, son herramientas que deben reconocerse, nombrarse y
utilizarse durante la enseñanza/aprendizaje.
Atkinson, R. and Shiffrin, R. (1968). Human memory: A proposed system and its control processes. volume 2 of
Psychology of Learning and Motivation, pages 89 –195. Academic Press.
Lodi, M. (2014). Imparare il pensiero computazionale, imparare a programmare. Master’s thesis, Alma Mater
Studiorum -Universit`a di Bologna. http://amslaurea.unibo.it/6730/.
McGill, T. J. and Volet, S. E. (1997). A conceptual framework for analyzing students’ knowledge of programming.
Journal of Research on Computing in Education, 29(3):276–297.
Pea, R. (1986). Language-independent conceptual “bugs” in novice programming. Journal of Educational Computing
Research, 2:25–36.
Qian, Y. and Lehman, J. (2017). Students’ misconceptions and other difficulties in introductory programming: A
literature review. ACM Transactions on Computing Education, 18(1):1:1–1:24.
Sorva, J. (2013). Notional machines and introductory programming education. Trans. Comput. Educ., 13(2):8:1–8:31.
http://doi.acm.org/10.1145/2483710.2483713.
70
Notas nuevas
La enseñanza es el elemento central del oficio del docente, una actividad que plantea el objetivo de transformar a
otros. En palabras de Jackson la enseñanza “busca llevar a cabo una transformación en la persona qué la recibe, un
cambio cualitativo, con frecuencia de grandes proporciones” (Jackson, 2015:126). Para Meireu (20071, cuando
educamos no estamos frente a un objeto en construcción sino acompañamos a un sujeto que se construye. En este
sentido el oficio docente obra sobre otros sujetos para que ellos a su vez obren sobre sí mismos, con otros, y se
construyen a partir de su formación.
Por otro lado, desde el estudiante, aprender, más allá de poder Añadir información habilidades y valores, Conlleva
una base de experimentación y descubrimiento qué les permite construir saberes que hasta ese momento no no
tenían. En este sentido aprender puede considerarse cómo la autoenseñanza.
71
Carga cognitiva
La teoría de la carga cognitiva, descrita originalmente por Sweller (1988), se sustenta en la integración de tres
componentes de orden cognitivo: la memoria de trabajo, las tareas de aprendizaje y los tipos de cargas cognitivas
que se le imponen a la mencionada memoria. La cual tiene serias limitaciones, ya que es de muy corta duración (en
el orden de varias decenas de milisegundos) y solo puede almacenar muy pocos elementos (alrededor de cinco)
(Cowan, 2010). Toda la información no sensorial que recibimos transita obligatoriamente por la memoria de corto
plazo, y cuando el flujo entrante sobrepasa su capacidad provoca una “carga cognitiva” que dificulta el aprendizaje.
Así, la construcción de conocimientos depende de la adquisición de “esquemas” (Rist, 1989; Cooper y Sweller,
1987), los cuales son construcciones que se dan en nuestra mente y se almacenan en la memoria de largo plazo.
En nuestro cerebro, la memoria de trabajo, también llamada operativa o de corto plazo o memoria operativa,
procesa dos tipos de información, la visual y la auditiva, al mismo tiempo. Pero cuando se trata de realizar a la vez
dos o más tareas mentales con el mismo tipo de información (por ejemplo: leer y escuchar) se reduce rápidamente
su capacidad, en un proceso conocido como sobrecarga cognitiva (Ruiz Martín, 2019). Esto lo podemos ver a través
de un ejemplo sencillo muy común en la docencia, cuando en la enseñanza de un tema se usan transparencias que
contienen demasiado texto.
En esencia, la teoría de la carga cognitiva propone que para aprender no hay que saturar la memoria de trabajo,
tratando de equilibrar los tipos de carga cognitiva que pueden darse a la vez, siendo las mismas:
Carga intrínseca. Se la relaciona con el propio objeto de aprendizaje. Cuanto más complejo sea y más
componentes tenga el aprendizaje, habrá una mayor carga cognitiva. Para solucionar este impase se
aconseja secuenciar el aprendizaje a los efectos de reducir la cantidad de elementos nuevos que se aportan.
Carga ajena. Ocurre cuando existe una intrusión de elementos que son superfluos en función de lograr el
objetivo de aprendizaje. Por ejemplo, sucede cuando se diseñan mal las actividades (por ejemplo, con datos
innecesarios) o suceden cosas en el aula que pueden distraer al estudiante (por ejemplo, ruidos molestos).
Carga relevante. Esta es la carga sucede cuando en nuestro cerebro se promueve la reflexión y se relaciona
información nueva con conocimientos propios previos al identificar relaciones entre los mismos.
Las actividades de enseñanza y de aprendizaje que imponen cargas importantes en la memoria de trabajo afectan
negativamente la comprensión de los estudiantes, quienes, ante tal situación, suelen abandonar las tareas que
realizan en tal momento de sobrecarga. Para el aprendizaje si es necesario tener una alta carga cognitiva relevante y
a la vez regular la carga cognitiva intrínseca. Ya que, si es demasiado alta, no habrá espacio para el aprendizaje y, por
otro lado, si es demasiado baja, puede producir aburrimiento en el estudiante.
En orden se superar tales problemas en relación a la carga cognitiva se suelen dar una serie de orientaciones (Ruiz
Martín, 2019):
72
En su libro sobre ciencias de la educación en la escuela obligatoria, Waite y Grover (2020) nos recuerdan que “…
aprender a programar no es algo trivial. Es una actividad cognitiva compleja que a menudo es difícil para los
principiantes, independientemente de la edad y el entorno de programación. Una de las razones por las que la
programación se considera difícil es debido a la alta carga cognitiva impuesta por los conceptos que los estudiantes
deben dominar a medida que aprenden a programar. Tienen que dar sentido a la tarea en cuestión, conceptualizar
un diseño, implementar y evaluar una solución que debe ser programada.” Así, en la enseñanza de la programación,
dado que esta es considerada una tarea difícil debido su complejidad (Insuasti, 2016), el docente debe contemplar y
regular la carga cognitiva de sus estudiantes en sus prácticas de enseñanza y actividades de aprendizaje.
73
Waite y Grover (2020) proponen una serie de recomendaciones a los estudiantes, basadas en andamios (Pea, 2004),
con la finalidad de la carga cognitiva durante el proceso de aprendizaje de la programación. Los andamios son
técnicas asociadas a la enseñanza que tratan de apoyar el aprendizaje de los estudiantes hasta que sean capaces de
abordar las actividades de aprendizaje por sí mismos. Algunas técnicas de andamiaje restringen fuertemente las
experiencias de aprendizaje; el maestro tiene mucho control. Otras técnicas son flexibles, lo que les da a los alumnos
más autonomía sobre lo que están aprendiendo y cómo. En este sentido, a medida que los estudiantes progresan, el
andamiaje provisto debe desaparecer, dando más responsabilidad al estudiante, propiciando su independencia en
función de una mayor apropiación de su proceso de aprendizaje.
Waite y Grover (2020) recomiendan una serie de enfoques para las actividades de programación que involucran
recursos de andamiaje. A su vez, los autores advierten acerca de que algunos de los enfoques que se presentan a
continuación son marcos generales de trabajo y otros son solo técnicas que deben desaparecer con el tiempo
asociado al desarrollo de los estudiantes.
1. Lectura de programas. Se plantea que leer y escribir programas son tareas que deben realizarse en conjunto,
ya que están estrechamente relacionadas. Los estudiantes que pueden leer programas de manera precisa
obtienen mejores resultados en la escritura que sus pares que no pueden Waite y Grover (2020). Esto, puede
parecer algo obvio, pero recordemos que, al aprender un nuevo idioma, esperaríamos aprender a leer una
palabra antes de escribirla. La comprensión de un programa es la capacidad de predecir lo que hará cuando
se ejecuta, indicando que sucede internamente línea por línea, a medida que se ejecuta. Esta lectura
comprensiva incluye los valores que toman las variables en las distintas etapas de ejecución del programa.
Por otro lado, este tipo de explicación va más allá de comprender cada instrucción en particular, sino el
desarrollar la capacidad de entender que lograrán todas las instrucciones al combinarse.
2. Programación en vivo. La programación en vivo (live coding en inglés) es una forma de andamiaje donde el
docente (también en casos más avanzados suelen hacerlo los propios estudiantes) muestra a la clase un
diseño de una solución a un problema y su implementación en forma de programa. Esta manera de mostrar
tiene la particularidad que se realiza “en vivo” para una audiencia de estudiantes. Durante la sesión de
explicación, la persona que expone comenta sus decisiones de diseño y de programación que está tomando,
en tiempo real, pensando en voz alta y compartiendo sus reflexiones. Por otro lado, durante ciertos pasajes
se invita a la “audiencia” a participar en la problematización del tema y en el aporte de posibles soluciones.
En este tipo de sesiones se recomienda que el profesor aproveche la oportunidad resaltar conceptos, pero
más que nada para demostrar prácticas de resolución de problemas, tales como descomposición,
depuración, pruebas y como es el método de programar a través de un proceso de refinamiento iterativo.
3. Ejemplos resueltos. Los ejemplos resueltos, se presentan a los estudiantes como soluciones de tipo “paso a
paso” que apuntan a reducir la carga cognitiva y “permiten la adquisición de esquemas de solución de
74
Existe una estrategia didáctica alternativa que se denomina "codificación en vivo compartida con ejemplos",
en la cual se combinan los ejemplos resueltos y la programación en vivo, a partir de proporcionar a los
estudiantes una actividad de programación, y luego, al finalizar, se propone hacer una revisión grupal
conjunta. Donde esta última actividad se puede realizar a partir de proyectar en una pantalla los programas
creados y analizarlos, probarlos y discutirlos públicamente en el aula.
En la primera fase, se entiende que los estudiantes son consumidores, debido a que el docente propone
utilizar objetos (por ejemplo, aplicaciones diversas, juegos, simuladores, entre otros) que han sido pensados
y desarrollados por otras personas. En esta etapa los estudiantes exploran (con algunas orientaciones del
docente) de que se trata el objeto en función de averiguar qué hace y cómo funciona. Se trata
esencialmente de una actividad donde los estudiantes estudian y analizan un objeto digital y tratan de
producir alguna información relativa al mismo. En la segunda etapa, el “sentido de propiedad” del objeto
75
estudiado comienza a transferirse a los estudiantes, cuando se les propone comenzar a modificarlo. Se
recomienda que el docente planifique, de manera gradual, una sucesión de orientaciones en relación a
posibles cambios a realizar sobre el objeto. Así, los estudiantes, con el tiempo y partir de sucesivos
refinamientos, desarrollarán una mejor comprensión y nuevas habilidades. Tales sugerencias de cambios
deben aumentar en dificultad con la finalidad de apoyar a los estudiantes en el aprendizaje de conceptos
particulares que el profesor desea que desarrollen. En la etapa final, los estudiantes crean un nuevo objeto a
partir de aplicar los conceptos y técnicas que estudiaron y practicaron en las fases anteriores. En este nivel
de desarrollo de la estrategia el nuevo objeto es "completamente de los estudiantes".
5. PRIMM. Es una variación de la estrategia Usar-Modificar-Crear cuyas siglas significan predecir, ejecutar,
investigar, modificar y hacer (Predict-Run-Investigate-Modify-Make). PRIMM fue introducido por Sentance
en 2017 (Sentance y Waite, 2017) con la finalidad de agrupar prácticas de enseñanza relevantes en un marco
de trabajo estructurado. Se evaluó la estrategia PRIMM a partir de una prueba que incluyó 13 escuelas y 493
estudiantes, donde los alumnos que seguían el enfoque PRIMM tenían un mejor rendimiento que el grupo
de control (Sentance, Waite y Kallia, 2019).
La primera fase de PRIMM se denomina predecir y consiste en presentar a los estudiantes un programa con
la finalidad que lo lean e intenten predecir lo que hará cuando se ejecute en una computadora. Los deben
explicitar y discutir sus predicciones y luego documentarlas. Esta etapa funciona como una actividad a
realizar por parejas o en pequeños grupos. A través del diálogo se construye una idea colectiva que trata de
identificar lo que ocurrirá cuando se ejecute el código. Se recomienda que el ejemplo posee una buena parta
de instrucciones conocidas y a lo sumo uno o dos conceptos nuevos. La siguiente fase es ejecución, se
propone que los estudiantes pongan a prueba sus predicciones. El docente juega un rol clave en esta etapa,
ya que es el encargado de organizar las actividades que promuevan un debate para ayudar a los estudiantes
a verbalizar sus supuestos y comprobar si la realidad coincide con sus predicciones. A continuación, en la
76
etapa investigar, se utilizan para que los estudiantes rastreen, anoten, expliquen y discutan sobre el código
línea por línea, el objetivo es ayudarles a entender lo que hace en detalle. En la etapa modificar, la cual es
semejante a la de la técnica Usar-Modificar-Crear, los estudiantes proponen y realizan una serie de
modificaciones al programa estudiado, tratando de generar nivel de desafío creciente. En esta etapa el
andamiaje se retira cuando se observa que los estudiantes se sienten más familiarizados con los nuevos
conceptos que han aprendido. En la última etapa, hacer los estudiantes tienen que resolver un nuevo
problema que utiliza la misma estructura y los mismos conceptos que han aprendido. Así, aplican los nuevos
conocimientos construidos en un entorno familiar.
Arévalo-Mercado, C. A., Estrada-Rentería, B. G., & Muñoz-Andrade, E. L. (2019). El efecto de la teoría de carga
cognitiva en el aprendizaje de la programación básica. Entorno, (67), 169–176.
https://doi.org/10.5377/entorno.v0i67.7500
Pea, R. (2004). The social and technological dimensions of scaffolding and related theoretical concepts for learning,
Education, and human activity. The journal of the learning sciences, 13(3), 423-451.
Waite, J. y Grover, S. (2020) Worked Examples and Other Scaffolding Strategies. En S., Grover (ed.), Computer
Science in K-12. An A to Z handbook on teaching programming. Ed. Shuchi Grover
Sweller, J. (1988). “Cognitive Load During Problem Solving: Effects on Learning”. Cognitive Science. 12, 257-285.
Ruiz Martín, H. (2019) ¿Cómo aprendemos? una aproximación científica al aprendizaje y la enseñanza. Grao
Cooper, G. y Sweller, J. (1987). “The effects of schema acquisition and rule automation on mathematical
problem-solving transfer”. Educational Psychology Review. 79, 347-36
Rist, R.S. (1989). “Schema Creation in Programming”. Cognitive Science. 13, 389-414.
Sentance, S. y Waite, J. (2017) PRIMM: Exploring pedagogical approaches for teaching text-based programming in
school, In: Barendsen, E. and Hubwieser, P. (eds.) Proceedings of the 12th Workshop on Primary and Secondary
Computing Education, 8–10 November 2017, Nijmegen, The Netherlands. New York, ACM. pp. 113–114.
Sentance, S., Waite, J. & Kallia, M. (2019) Teaching computer programming with PRIMM: a sociocultural perspective.
Computer Science Education. 29 (2–3), 136–176. Available from: doi.org/10.1080/08993408.2019.1608781
77
El concepto “estilos de aprendizaje” es por Alonso como “los rasgos cognitivos, afectivos y fisiológicos que sirven
como indicadores relativamente estables, de cómo los discentes perciben, interrelacionan y responden a sus
ambientes de aprendizaje” (Alonso y otros, 1994:48). Al ser varios los estilos, en principio, se los puede comprender
como los distintos modos que caracterizan a los estudiantes en su manera de procesar información ante una
situación de aprendizaje, comprendiendo que los mismos están sobre el contenido que se procesa (Hederich,
2004:10). Riding y Rayner (1999) indican que los estilos de aprendizaje tienden a estar compuestos tres
componentes básicos: organización cognitiva, representación mental y la integración de ambas. Por otro lado, el
estilo de aprendizaje de un estudiante puede cambiar en el tiempo ya que los sujetos a medida que avanzan en sus
aprendizajes suelen descubrir formas de aprender más cercanas a sus gustos, en particular se indica que “(l)os
alumnos conforme avanzan en su proceso de aprendizaje descubren mejores formas o modos de aprender, por lo
tanto, van a variar su estilo, además dependerá de las circunstancias, contextos y tiempos de aprendizaje que tengan
que enfrentar. Los estilos de aprendizaje se centran en las fortalezas y no en las debilidades. En tal sentido, no existe
correcto” (Aguirre, Cancino y Loaiza, 2005).
“Los estilos cognitivos son constructos teóricos que explican lo que ocurre en la mente del sujeto cuando
éste elabora una respuesta frente a los estímulos ambientales, los procesa y se enfrenta a la realidad. “
“cada persona tiende a utilizar ciertas preferencias que definen un estilo de aprendizaje.”
“ Cada estilo de aprendizaje comporta sus propias fortalezas y debilidades, son flexibles y factibles de
modificarse (Contijoch 2006). “
“Al hacer referencia al término ‘estilos de aprendizaje’ es aludir a que cada persona puede utilizar un método
particular o alguna estrategia específica que le facilite la comprensión de cualquier tema”
– Dunn y Dunn (1978) definen Estilos de Aprendizaje como “un conjunto de características personales, biológicas o
del desarrollo, que hacen que un método, o estrategia de enseñar sea efectivo en unos estudiantes e inefectivo en
otros”.
– Guild y Garger (1998) consideran que los Estilos de Aprendizaje son “las características estables de un individuo,
expresadas a través de la interacción de la conducta de alguien y la personalidad cuando realiza una tarea de
aprendizaje”.
Hay numerosas aproximaciones en las formas de clasificar a los estilos de aprendizaje. En principio se pueden citar
las siguientes (Pantoja Ospina, Duque Salazar, y Correa Meneses, 2013):
a) Basadas en la construcción del conocimiento. Son las que tienen en cuenta los procesos mentales que se llevan a
cabo para convertir la información percibida en conocimiento. Por ejemplo, el modelo de Owen (1998).
• Aprendices Intuitivos-Racionales, tienen preferencia por la intuición y la reflexión, esto conduce a que
tiendan a ser comprensivos en su estilo.
También, basado en la experiencia, Kolb (1984) propone sus dimensiones de aprendizaje, siendo construidas a partir
de la percepción (sensitivo/intuitivo) y el interés hacia las cosas (extrovertido/introvertido). Así se tienen los
siguientes tipos: divergentes, los aprendices se basan en experiencias concretas y en una observación reflexiva;
convergentes, se basan en la conceptualización abstracta y una experimentación activa; asimiladores, son aquellos
estudiantes que usan la conceptualización abstracta y la observación reflexiva, a partir de planificar y establecerse
metas y acomodadores, que son aquellos sujetos que se basan en la experiencia concreta y una experimentación
activa, son intuitivos y aprenden por prueba y error.
c) Basados en los canales de percepción de la información. En este grupo se identifican aquellos modelos donde
existe preferencia por percibir la información a través de algún sentido en particular.
Dunn et ál. (1979), como lo menciona Salas Silva (2008), tratan de entregar una visión completa de los estilos de
aprendizaje que abarque elementos cognitivos, afectivos y ambientales, los cuales, según Hernández y Hervás
(2003), influyen en la percepción, interacción y respuesta en diferentes contextos de aprendizaje. Dunn et ál.
plantean en su modelo 21 influencias que afectan las habilidades de absorción y retención de la información (Salas
Silva, 2008).
79
Referencias
Pantoja Ospina, M., Duque Salazar, L., y Correa Meneses, J. (2013). Modelos de estilos de aprendizaje: una
actualización para su revisión y análisis. Revista Colombiana de Educación, (64), pp. 79.105.
Riding, R. y Rayner, S. (1999). Cognitive styles and learning strategies: Understanding style differences in learning and
behavior. London: David Fulton Publishers.
Alonso, C.; Gallego, D. y Honey, P. (1994). Los Estilos de Aprendizaje: Procedimientos de diagnóstico y mejora.
Bilbao: Ediciones Mensajero.
Aguirre, M., Cancino M. O. y Loaiza N. (2009). Estilos de aprendizaje: una propuesta didáctica para la enseñanza de
lenguas extranjeras. Cali: Universidad del Valle,
"No reconocimiento de diversos estilos de aprendizaje" Price, K., Smith, S., “Improving student performance in
CS1”. J. Comput. Sci. Coll. Vol 30, No. 2 (December 2014), pp 157-163, 2014
Paredes anchas
. En la didáctica específica de la programación se habla de que los proyectos diseñados para enseñar a programar
deberían tener “piso bajo y techo alto” (Resnick y Silverman, 2005).
" Los proyectos diseñados con el criterio “piso bajotecho alto” son los que se pueden completar con programaciones
sencillas que requieren pocas líneas de código para obtener rápidamente resultados –piso bajo– y al mismo tiempo
ofrecen posibilidades de construir proyectos cada vez más complejos y sofisticados a medida que se explora el
entorno y se conocen y combinan sus herramientas –techo alto. Además, permiten la alternancia en una amplia
gama de exploraciones y habilitan una gran variedad de proyectos diferentes –paredes anchas. En este sentido, son
accesibles y atractivas para niños con diferentes estilos de aprendizaje y modos de conocimiento (Resnick, 2008). El
trabajo por proyectos de programación permite integrar diferentes disciplinas –paredes anchas, y favorece que cada
grupo de alumnos pueda avanzar según sus motivaciones –techo alto. En la programación, muchas veces es la misma
práctica la que marca los errores y los aciertos a la hora de hacer funcionar un programa sin necesidad de una
80
supervisión constante, en este caso del docente. El feedback inmediato que nos posibilita la computadora favorece
no solo la exploración y descubrimiento de los contenidos, sino que les permite avanzar y otorgar autonomía y
confianza a sus alumnos en la aprehensión de los conocimientos (Echeveste, 2017)."
Resnick, M. (2008) Fallen in Love with Seymour’s ideas. Presented at a Special Session of the 2008 American
Educational Research Association Annual Meeting.
---
Desde diferentes puntos de vista y experiencias, se deduce que para el logro de los objetivos y propósitos
de formación de profesionales en el área de programación utilizando SL, ésta ha de orientarse hacia la
implementación de estrategias pedagógicas consecuente con las teorías del aprendizaje, las cuales señalan
que el aprendizaje humano es siempre una construcción que se realiza basado en el procesamiento de la
información, por lo que, la enseñanza debe “facilitar y potenciar al máximo ese procesamiento interior del
alumno con miras a su desarrollo” (Flórez, R., 1994, p. 35).
En el contexto sobre los estilos y estrategias de aprendizaje se reconoce la importancia de las variables
individuales ligadas al aprendizaje. En este sentido, los estilos de aprendizaje son definidos por Felder y
Henríquez, (Citado por Martín, Gavilanes, A., 2004, p.108) como “los modos en que el individuo
característicamente adquiere, retiene y recupera información”. También, las estrategias de aprendizaje se
refieren según de la Fuente, J., y Justicia, F., (2003), al conocimiento que la persona tiene sobre: sus
posibilidades y limitaciones para realizar una tarea; los requerimientos de esta última en cuanto a los pasos
que se precisan para su desarrollo y los repertorios que lleva consigo; así como también la evaluación que el
aprendiz realiza de su propio aprendizaje. El actual interés por el tema de las Estrategias de Aprendizaje, es
en parte promovido por las nuevas orientaciones psicopedagógicas, en investigaciones realizadas sobre el
tema se ha comprobado que los estudiantes con éxito difieren de los estudiantes con menos éxito en que
conocen y usan estrategias de aprendizaje más sofisticadas que la pura repetición mecánica. Es opinión
común que la inversión en la mejora de las estrategias de los estudiantes es más rentable académicamente,
que la mejora de las técnicas instruccionales o los materiales de enseñanza.
En otros escritos, los docentes Ferreira y Rojo (2005), de la Universidad Nacional de Río Cuarto, en Argentina,
confirman que los estudiantes de primer año que cursan Lógica de Programación (Algoritmia), presentan
insuficiencias, dentro de las que citan: escasa destreza para desarrollar algoritmos de mediana o alta
complejidad, falta de apropiación de una metodología de resolución de problemas e insuficiente experiencia
en el manejo del lenguaje de programación utilizado en la asignatura.
81