Está en la página 1de 13

ARTICULO CIENTIFICO ENSEÑANZA DE LA PROGRAMACIÓN DE

COMPUTADORES

CARLOS ALBERTO GUTIERREZ RODAS

UNIVERSIDAD AUTONOMA DE MANIZALES


DEPARTAMENTO DE EDUCACION
MAESTRIA EN ENSEÑANZA DE LAS CIENCIAS
MANIZALES
AVANCE EN LA ESTRATEGIA PARA LA ENSEÑANZA DE LA

PROGRAMACIÓN EN ESTUDIANTES DE PRIMER SEMESTRE DE INGENIERÍA DE

SISTEMAS

Autor: Carlos Alberto Gutiérrez Rodas

Resumen

La enseñanza de la programación de computadores es clave en las carreras afines

a la ingeniería de sistemas, son múltiples las estrategias y metodologías que usan las

diferentes instituciones de educación para lograr que el estudiante desarrolle

habilidades de pensamiento como la creatividad y la destreza en la solución de

problemas del mundo real. Lo que se pretende con este articulo mostrar avances de

una investigación de aula que pretende implementar una unidad didáctica que apoye la

enseñanza de la programación de computadores. El método de investigación es un

estudio caso aplicado a un grupo de 38 estudiantes de la asignatura introducción a la

programación de la Universidad de Caldas.

Palabras clave: resolución de problemas, programar, unidad didáctica, creatividad,

estudio de caso.

INTRODUCCION

Son diferentes los actores en la educación que están preocupados por la

desmotivación y la deserción de los estudiantes cuando estos cursan materias de

programación de computadores, por lo que desarrollan nuevas estrategias o


metodologías para la enseñanza de la programación, dichas estrategias ayudan a que

el estudiante se motive e identifique los pasos para resolver problemas

computacionalmente.

Como antecedentes se tiene el proyecto CUPI2, el cual inicio en el año 2004, frente

a la preocupación por la baja motivación de los estudiantes y el alto porcentaje de

deserción, una estrategia para encontrar nuevas formas de enseñar a programar

teniendo en cuenta las preocupaciones mencionadas. Como lo afirma Villalobos [1]. El

proyecto CUPI2, surgió como un proyecto multidisciplinario de Investigación que ha

pasado por siete etapas: (1) diagnóstico, (2) definición del marco conceptual, las

hipótesis, las variables, los indicadores y los instrumentos, (3) diseño de la propuesta,

(4) validación de las hipótesis por medio de pilotos controlados, (5) construcción de los

materiales y herramientas de apoyo, (6) proceso de formación y acompañamiento de

profesores y (7) creación de una comunidad de aprendizaje y difusión de resultados.

Entre las estrategias de enseñanza que usa el proyecto CUPI2 está la enseñanza

basada en problemas, creando una propuesta pedagógica que ha sido ganadora del

Premio Colombiano de Informática Educativa - Categoría Investigación, RibieCol.,

Universidad del Sinú, Montería. Septiembre 30 de 2009.

La Universidad Mariana de Colombia, hace un análisis de las creencias de los

docentes sobre la importancia de la didáctica en la enseñanza de la programación [2],

donde se evalúa el modelo de la Universidad con la didáctica del proyecto Cupi2.

En la Universidad Mariana, la programación de computadores como primer curso

ha sido vital para la continuidad de los estudiantes de la carrera de Ingeniería de

Sistemas, encontrado las mismas dificultades evidenciadas por Villalobos (2009) [1] de
deserción y desmotivación o frustración de los estudiantes a la hora de enfrentar

problemas de programación; así tengan laboratorios actualizados o material

bibliográfico moderno. Sin embargo, lograron identificar tres actores en el proceso de

programación, el primero es el usuario que tiene el problema, el segundo quien lo

soluciona y el tercero el usuario final de la solución.

Como lo menciona Hernández (2013)[3] para el desarrollo de competencias los

contenidos de las asignaturas deben tener las dimensiones conceptuales, aptitudinales,

actitudinales y socio-afectivas, sin embargo luego de la investigación de la Universidad

Mariana, la Universidad de los Andes con su proyecto Cupi2 solo maneja las

dimensiones conceptuales y aptitudinales; estas son un complemento para las

competencias en las dimensiones actitudinal y socio-afectiva presentes en la

Universidad Mariana.

A nivel internación también ha existido la preocupación por la enseñanza de la

programación, tanto que ya en escuelas de España y Estados Unidos han incluido en

su currículo la enseñanza de la programación, dejando de ser una asignatura exclusiva

de la ingeniería de sistemas y carreras afines, Como lo confirma Hadi Partovi

cofundador de Code.org (www.code.org) (organización sin ánimo de lucro que

promueve la enseñanza de código en las escuelas en EE UU) "No esperamos que

todos los niños que aprenden a escribir se conviertan en novelistas, ni que todos los

que estudian álgebra acaben siendo matemáticos; sin embargo, ambas son

consideradas como habilidades fundamentales que todos los niños deben aprender. La

programación informática también debería serlo"


(https://www.libertaddigital.com/ciencia-tecnologia/tecnologia/2015-05-09/el-futuro-de-

la-educacion-esta-en-ensenar-a-programar-en-la-escuela-1276547574/ )

El Massachusetts Institute of Technology (MIT) creó una herramienta visual para

enseñar a programar llamada Scratch; el MIT afirma en su página de Scratch

(https://scratch.mit.edu/about/) que esta es usada por la comunidad internacional y está

enfocada a una población objetivo que empieza desde los 8 años. Scratch es un

proyecto del Grupo Lifelong Kindergarten del MIT Media Lab; se ofrece de forma

gratuita y está diseñada especialmente para edades entre los 8 y 16 años, sin

embargo, es usado por personas de todas las edades. Scratch es utilizado en más de

150 países y está disponible en más de 40 idiomas, y es usada en bibliotecas,

universidades, colegios, museos, entre otros, teniendo grandes resultados como se

evidencia en su página web (https://scratch.mit.edu/).

Metodología

Como se evidencia grandes instituciones están preocupadas por la enseñanza de

la programación creando modelos educativos y planteando iniciativas que ayudan a los

estudiantes en el aprendizaje de la programación, mi propuesta se apoya en estos

esfuerzos, pero como ingrediente innovador es la implementación de un laboratorio de

programación donde los estudiantes pueden asimilar fácilmente el nuevo conocimiento

y lo apliquen a problemas del mundo real.

Con el laboratorio se busca que el estudiante despierte la lógica que se requiere

para programar, para usar el ingenio, la creatividad y la lógica para resolver diferentes
tipos de problemas, reflexionar sobre lo aprendido y sobre el contexto en el proceso de

aprendizaje.

La propuesta metodológica se basa en un análisis de caso, con un grupo de 38

estudiantes de la asignatura introducción a la programación de la carrera de ingeniería

de sistemas de la Universidad de Caldas.

Luego de revisar antecedentes y metodologías, se realiza un proceso de búsqueda

e indagación realizando actividades para intervención de resultados iniciales

Resultados/Conclusiones/Recomendaciones

La lógica hace parte esencial de la programación de computadores, un algoritmo se

puede definir como una serie de pasos lógicos que ayudan a resolver una situación de

la vida real. Para la solución de un problema existen técnicas, metodologías y

herramientas, todos ellos usan la lógica en cada contexto.

Total Estudiantes 38

A: Uso variables
B: Identificó los datos incognitos
C: Usó condicionales
D: Entregó el resultado correcto
E: El algoritmo tiene una secuencia lógica

Un algoritmo es una serie de pasos que se ejecutan secuencialmente para obtener un resultado,
ejemplo si quiero calcular el IVA de un producto el proceso sería:
1- se pide el valor del producto y se guarda en la variable valor
2- Total = valor*1.19
3- Entrega el valor del Total como resultado
4- Fin
La instrucción 1 se puede escribir como Leer(valor) y la instrucción 3 como Resultado(valor)
Para resolver los siguientes ejercicios debe usar las siguientes herramientas:
- Variables: permite guardar un único valor para luego usarlo. Este valor lo puede cambiar en
cualquier momento, la sintaxis es Var = fórmula o valor.
- Condicional: permite tomar decisiones frente a un evento, ejemplo si mi sueldo es mayor a un
millón pago impuesto de estampilla, sino pago cero. la sintaxis es: si (condición) instrucciones
sino instrucciones finsi.
- Leer: permite preguntar por algún valor desconocido y guardarlo en una variable. Su sintaxis
es: Leer(Variable)
- Resultado: permite entregar un valor resultado del ejercicio; su sintaxis es: Resultado(Variable)

Otro ejercicio para entender la secuencia de pasos de un algoritmo es: Un supermercado tiene
una promoción que consiste en: por la compra de más de X pesos se realiza un descuento del
20%. Suponga que su familia fue a mercar allí, calcule cuanto le toca pagar
El proceso entonces seria primero saber cuánto valió el mercado, además se requiere conocer
el valor mínimo de compra (X) que se debe hacer para poder aplicar el descuento cuando lo
hay.
1- Leer (Valormercado)
2- Leer (X)
3- Si (Valormercado>X)
4- Descuento = Valormercado*0.2
5- Sino
6- Descuento = 0
7- FinSi
8- Total = Valormercado - Descuento
9- Resultado(Total)

Variables

Incógnitas

Condicional

Salida

Secuencia
EJERCICIOS A B C D E

1. Se desea comprar un vestido el cual está en promoción, 20 30 0 33 24


pero no se conoce el precio exacto, para lo cual, la mujer
envía a su hermano a comprarlo entregándole 100 mil
pesos.
El estudiante debe determinar cuáles son las acciones “paso
a paso” que debe hacer el hermano para conseguir el
objetivo y entregar la devuelta a su hermana si la hay.
2. En una granja tres hermanos se encargan de recoger naranjas, 25 31 0 38 15
unos tienen mejores habilidades que otros al realizar el proceso, al
final del día se debe informar al papá del total de naranjas recogidas
por los tres hermanos.
3. Un estudiante necesita llegar temprano a clase, tiene 15 minutos 15 22 0 35 22
para llegar, él viaja en una moto, la Universidad se encuentra a una
distancia de 5 kilómetros. Ayúdale al estudiante a determinar a qué
velocidad debe ir en la moto para llegar a tiempo.
4. Para jugar un partido de futbol se necesita comprar los uniformes 9 27 0 33 19
que consta de pantalonetas, medias, guayos y camisetas. Realice
los pasos necesarios para calcular el valor total de los 11 uniformes.
5. Hay un tanque de agua con una capacidad de 500 litros. Una 30 5 0 30 14
llave riega agua a 1200 mililitros por segundo. Realice el algoritmo
para calcular cuánto tiempo tarda en llenar el tanque.
1. Un viajero desea comprar un pasaje de avión, si el viajero es 33 27 7 34 11
menor de edad tiene un descuento del 35%. Realice el proceso para
determinar cuánto le vale el pasaje de avión.
2. Ayúdale a una mamá a saber la diferencia de edad entre sus dos 8 23 14 28 20
hijos.
3. Pedro y Miguel son dos hermanos, realice un algoritmo para 12 14 14 38 13
identificar cuál de los dos es el mayor.
4. Un ingeniero está comprando un portátil, el sabe que si este vale 27 28 25 37 17
más de un salario mínimo debe pagar un IVA del 19%. Realice los
pasos para calcular el costo del portátil.
5. Un policía de tránsito quiere multar a un motociclista parqueado 15 12 23 30 16
en un supermercado, para lograrlo el policía calcula la velocidad del
motociclista teniendo en cuenta la distancia que recorrió y el
tiempo que tardó en llegar al supermercado. Se conoce que la
velocidad mínima es de 30km/h

Sintaxis

Secuencia

Cálculos

Resultado
Suponga que se tiene una tortuga ubicada siempre en un centro del A B C D
piso del salón, la tortuga tiene un lápiz el cual toca el piso a menos
que lo levante; la tortuga solo entiende los comandos Avanzar #,
Girarderecha # , Levantarlapiz y Bajarlapiz donde el # en avanzar es
la cantidad de pasos que da y en GirarDerecha es la cantidad de
grados. Además, cada vez que la tortuga se mueve si tiene el lápiz
abajo raya en el piso.
1. Se pide, dando comandos a la tortuga, dibujar un rectángulo de 5 35 38 30
100x40
2. Dar instrucciones a la tortuga para dibujar un triángulo equilátero 14 38 17 14
con un lado de 100
3. Dibujar una casa con una puerta y una ventana 35 38 27 22
4. Dibujar los números del uno al cinco, uno seguido del otro, tal y 30 34 27 26
como se representan en una calculadora
5. Armar la palabra “COSE” dándole comandos a la tortuga. 29 29 30 28
Ítem A: Identificación de variables

Buenas %B Malas %M

Ejercicio 1 20 53% 18 47%

Ejercicio 2 25 66% 13 34%

Ejercicio 3 15 39% 23 61%

Ejercicio 4 9 24% 29 76%

Ejercicio 5 30 79% 8 21%

Ejercicio 6 33 87% 5 13%

Ejercicio 7 8 21% 30 79%

Ejercicio 8 12 32% 26 68%

Ejercicio 9 27 71% 11 29%

Ejercicio 10 15 39% 23 61%

19.4 51% 18.6 49%

El uso de variables en un algoritmo es esencial, ya que es la forma en que las computadoras guardan la
información para luego ser usada. Una persona puede recordar varios valores sin dificultad, pero para
un computador se hace necesario crear esos espacios de memoria que necesita para recordar (guardar)
la información importante, un ejemplo es tener una variable edad con valor de 18, si este valor es
cambiado por 34 y se pregunta por el valor anterior, este ya no es posible recuperarlo a menos que se
guarde en otro espacio de memoria.

Lo que se evidencia en los ejercicios es que el 51% logro usar las variables adecuadas con éxito, mientras
que el 49% tuvieron problemas al no comprender bien el funcionamiento de una variable."

Ítem B: Identificación de incógnitas

Buenas %B Malas %M

Ejercicio 1 30 79% 8 21%

Ejercicio 2 31 82% 7 18%


Ejercicio 3 22 58% 16 42%

Ejercicio 4 27 71% 11 29%

Ejercicio 5 5 13% 33 87%

Ejercicio 6 27 71% 11 29%

Ejercicio 7 23 61% 15 39%

Ejercicio 8 14 37% 24 63%

Ejercicio 9 28 74% 10 26%

Ejercicio 10 12 32% 26 68%

21.9 58% 16.1 42%

Un algoritmo está compuesto de unas entradas, llamados datos desconocidos, un proceso y unos
resultados o datos de salida. Identificar los datos de entrada o incógnitas es clave para solucionar un
problema, no se puede saber por ejemplo si una persona es mayor de edad sino le preguntamos su edad
(dato incognito).

El 58% de los estudiantes lograron identificar los valores que se necesitaban para poder resolver el
problema, dentro de las falencias que se encontraron en el 42% de la población fue la suposición, a
pesar de que resolvían el problema este algoritmo solo servía para datos constantes y no variables, un
ejemplo claro es cuando se pide calcular el IVA de un producto siempre colocan 19% sin prever que este
puede cambiar y que además cambió."

Ítem C: Uso de condicionales

Buenas %B Malas %M

Ejercicio 6 7 18% 31 82%

Ejercicio 7 14 37% 24 63%

Ejercicio 8 14 37% 24 63%

Ejercicio 9 25 66% 13 34%

Ejercicio 10 23 61% 15 39%

16.6 44% 21.4 56%

Las condicionales permiten determinar la ruta para resolver un problema o realizar ciertos cálculos. Son
de las instrucciones más usadas en la programación. Una condición es una operación relacional que
devuelve un valor de verdad, si el resultado es verdadero se tomarán ciertas acciones mientras que si es
falsa realizará otras operaciones. La forma de usar un condicional es realizar una pregunta se tiene un
bloque de instrucciones que se ejecutan si la proposición es verdadera, tiene otro bloque de
instrucciones para cuando la proposición es falsa.

El 44% comprendieron cómo funcionan los condicionales y supieron construir la proposición


adecuadamente; mientras que el 56% de los alumnos tuvieron problemas en comprender
especialmente la negación de la proposición que se debía cumplir, en otras palabras, no lograron
identificar claramente cuando la proposición es falsa.

Ítem D: Identificación de resultados

Buenas %B Malas %M

Ejercicio 1 33 87% 5 13%

Ejercicio 2 38 100% 0 0%

Ejercicio 3 35 92% 3 8%

Ejercicio 4 33 87% 5 13%

Ejercicio 5 30 79% 8 21%

Ejercicio 6 34 89% 4 11%

Ejercicio 7 28 74% 10 26%

Ejercicio 8 38 100% 0 0%

Ejercicio 9 37 97% 1 3%

Ejercicio 10 30 79% 8 21%

33.6 88% 4.4 12%

Como se dijo anteriormente un algoritmo tiene datos de entrada, procesos y datos de salida. Identificar
los datos de salida es saber que respuestas voy a entregar y como se entregan. En muchas ocasiones se
entregan respuestas incompletas o no comprensibles, por lo que la solución resulta ambigua. Es el caso
de preguntar por ejemplo la velocidad de un vehículo para recorrer 300 metros en 2 minutos, la
respuesta puede ser 15. ahora resulta otra pregunta 15 que? km por segundo, km por minuto, metros
por segundo, entre otras.
El 88% respondieron adecuadamente la incógnita del problema. El 12% tuvieron problemas en dar el
resultado adecuado o la respuesta que realmente se necesitaba.

Ítem E: Secuencia lógica

Buenas %B Malas %M

Ejercicio 1 24 63% 14 37%

Ejercicio 2 15 39% 23 61%

Ejercicio 3 22 58% 16 42%

Ejercicio 4 19 50% 19 50%

Ejercicio 5 14 37% 24 63%

Ejercicio 6 11 29% 27 71%

Ejercicio 7 20 53% 18 47%

Ejercicio 8 13 34% 25 66%

Ejercicio 9 17 45% 21 55%

Ejercicio 10 16 42% 22 58%

17.1 45% 20.9 55%

Realizar una actividad casera como preparar un huevo, puede tener una secuencia que no influye en el
resultado, por ejemplo, se puede prender el fogón y luego echar la mantequilla o viceversa. Pero en
computación la secuencia lógica es clave, ya que los valores pueden cambiar si cambiamos la secuencia
o los resultados pueden ser incorrectos.

En los ejercicios se logra evidenciar que el 45% de los estudiantes resolvieron los problemas con una
secuencia lógica, el 55% tuvo problemas en la secuencia donde les dio dificultad comprender el paso a
paso que se debe seguir para solucionar un problema.

Bibliografia

[1] Villalobos, J. A. (2009) Proyecto Cupi2: Un enfoque Multidimensional frente al

problema de enseñar y aprender a programar.


[2] Hernández, G. (2012) Creencias docentes sobre la importancia de la didáctica

en la orientación de la enseñanza del primer curso de programación de computadoras.

Bogotá, Colombia.

[3] Hernández, G.A. (2013) Creencias Docentes y Didáctica de la Programación de

Computadoras. Colombia.

También podría gustarte