Académique Documents
Professionnel Documents
Culture Documents
Politécnico Grancolombiano
1. Introducción
74
Enseñanza de programación en el Politécnico Grancolombiano
2. Educación y programación
75
Revista Elementos - Número 1 - Junio de 2011
76
Enseñanza de programación en el Politécnico Grancolombiano
3. Contexto local
77
Revista Elementos - Número 1 - Junio de 2011
un algoritmo sin complicar el proceso más allá de lo necesario para esta etapa
básica de formación. Como lenguaje de programación, actualmente se utiliza
Java para ofrecer a los estudiantes el contacto con uno de los lenguajes con más
penetración en el mercado laboral en la actualidad, al mismo tiempo que tienen
contacto con un lenguaje abierto, con una gran comunidad de usuarios y un vasto
conjunto de recursos de aprendizaje fuera del aula. Como metodología, se cuenta
con tres sesiones semanales, una de las cuales está dedicada a la introducción
teórica de conceptos nuevos ilustrados por ejemplos y talleres elaborados con
apoyo del docente, mientras que las otras dos están enfocadas en trabajo práctico
autónomo por parte de los estudiantes con asistencia del docente cuando el
estudiante encuantra dificultades.
A continuación se relacionan las dificultades más relevantes que se han en-
contrado al momento de articular el proceso de enseñanza – aprendizaje con los
estudiantes:
• A pesar de la inclusión de Pensamiento Algorítmico, los estudiantes llegan a
la asignatura Programación de Computadores con deficiencias conceptuales
en términos de la aplicación de conceptos matemáticos adquiridos previa-
mente en su educación media. Se aprecian deficiencias para identificar dichos
conocimientos como herramientas válidas de solución a problemas prácticos,
así como para aplicarlos de manera correcta una vez son identificados como
una opción teórica de solución.
• La decisión de utilizar Java como lenguaje de programación para la asignatura
ha tenido resultados mixtos. Mientras por un lado es evidente la ventaja
que presenta el tener contacto temprano con un lenguaje que está siendo
utilizado actualmente en la mayor parte de los escenarios productivos, y que
es fruto de un proceso de maduración riguroso, también resulta evidente
que las herramientas de desarrollo e incluso los conceptos mismos inherentes
al lenguaje resultan en ocasiones ser contraproducentes al tratarse de una
asignatura básica con estudiantes de primeros semestres. Concretamente, el
IDE2 utilizado en las clases (actualmente Eclipse (16), aunque se han hecho
pruebas utilizando NetBeans [17], y BlueJ [18]) puede ser intimidante para
los alumnos, y el hecho de enseñar programación estructurada utilizando
un lenguaje orientado por objetos genera la necesidad de ignorar ciertos
elementos y características del código (clases, constructores, etc.), lo que no
resulta ideal.
• A pesar de que las herramientas utilizadas ofrecen opciones como la ejecución
paso a paso del código, este proceso no resulta intuitivo para los alumnos.
Esto resulta infortunado por cuanto una de las dificultades más notorias es
la de “visualizar” el funcionamiento de un algoritmo en el tiempo. Para los
estudiantes resulta complejo entender cómo una serie estática de instruc-
ciones se comporta en tiempo de ejecución; particularmente las sentencias
condicionales y los ciclos resultan confusos en términos de su interpretación
en el tiempo. Las pruebas de escritorio ayudan mucho en este sentido, pero
en muchos de los casos no son prácticas en términos de tiempo.
2
Integrated Development Environment, Entorno Integrado de Desarrollo.
78
Enseñanza de programación en el Politécnico Grancolombiano
A pesar de ser claro que la mayor parte de las dificultades aquí expresadas
son naturales y deben ser manejadas y eliminadas a lo largo del proceso de
aprendizaje, este proceso resultaría mucho más fluido si fuera posible eliminarlas
o reducirlas en un momento temprano de la dinámica enseñanza-aprendizaje.
4. Solución propuesta
Con los conceptos y situaciones presentados anteriormente, y teniendo en cuenta
el escenario local esbozado, es posible ahora presentar la propuesta de solución a
la que se refiere este documento.
En aras de solventar los inconvenientes experimentados en el proceso de
enseñanza de programación en el Politécnico Grancolombiano, se propone la
implementación de una herramienta de software que apoye la dinámica en el
aula y sirva, a la vez, como herramienta de estudio y solución de problemas
de programación para los estudiantes de la asignatura. Como características
generales, a través de las cuales se busca paliar los inconvenientes presentados
previamente, se tienen:
79
Revista Elementos - Número 1 - Junio de 2011
80
Enseñanza de programación en el Politécnico Grancolombiano
81
Revista Elementos - Número 1 - Junio de 2011
5. Trabajo futuro
El siguiente paso en el proceso de aplicación de la solución es extender el escenario
de pruebas a las aulas de programación en el Politécnico Grancolombiano. Hasta
el momento se han realizado pruebas limitadas con resultados alentadores, pero
debido a la dinámica semestral de los cursos, y que es necesario integrar la
herramienta al principio de los mismos, las pruebas formales comenzarán en el
primer semestre de 2011.
En términos de características del software, se pretende integrar un ambiente
de simulación en el que se pueda verificar de una manera visual la ejecución del
algoritmo diseñado, más allá de las herramientas de seguimiento que ofrece la
herramienta actualmente, y que están orientadas a seguir la ejecución sobre el
diagrama de flujo. La posibilidad de controlar la actividad de un elemento visual
animado, como por ejemplo un robot u otra representación de ese estilo podría,
en conjunto con las características ya expuestas de Ariadna, facilitar aún más
el proceso de apropiación de los conceptos básicos de programación.
Gracias a la arquitectura de diseño de Ariadna, la idea de adicionar lenguajes
para los cuales se genere código, es de simple implementación. Esto ofrecerá
flexibilidad a la herramienta a la vez que da la posibilidad al estudiante de
comparar la sintaxis de varios lenguajes en su proceso de aprendizaje.
82
Enseñanza de programación en el Politécnico Grancolombiano
Referencias
1. Rosheim, M. E.: Robot Evolution: The Development of Anthrobotics. s.l: Wiley-
Interscience. (2008)
2. Heide, L.: Punched-Card Systems and the Early Information Explosion, 1880–1945
(Studies in Industry and Society). s.l: The Johns Hopkins University Press. (2009)
3. Wilford, J. N.: Discovering How Greeks Computed in 100 B.C. The New York
Times. 31 de Julio de 2008. (2008)
4. Wexelblat, R. L.: History of Programming Languages (Acm Monograph Series). s.l:
Academic Press, (1981)
5. Bergin, T. J., Gibson, R. G.: History of Programming Languages, Volume 2. s.l:
Addison-Wesley Professional, (1996)
6. Dijkstra, E. W., Hoare, C. A. R. y Dahl, OJ.: Structured Programming (A.P.I.C.
Studies in Data Processing, No. 8). s.l: Academic Press, (1972)
7. Sleeman, D.: The Challenges of Teaching Computer Programming. Communications
of the ACM. Septiembre de 1986.
8. Solloway, Elliot.: Learning to program = learning to construct mechanisms and
explanations. Communications of the ACM. Septiembre de 1986.
9. Jonassen, David H. y Reeves , Thomas C.: Association for Educational Communi-
cations and Technology. Learning With Technology: Using Computers As Cognitive
Tools. [En línea] [Citado el: 21 de Agosto de 2010.]
http://www.aect.org/edtech/ed1/24/index.html.
10. Scratch. [En línea] MIT. [Citado el: 22 de Agosto de 2010.]
http://scratch.mit.edu/.
11. Phrogram. [En línea] The Phrogram Company. [Citado el: 22 de Agosto de 2010.]
http://phrogram.com/.
12. JKarel. [En línea] [Citado el: 22 de Agosto de 2010.]
http://www.cs.tufts.edu/comp/10F/JKarel.htm.
13. Alice. [En línea] Carnegie Mellon University. [Citado el: 22 de Agosto de 2010.]
http://www.alice.org/.
14. CeeBot-3. [En línea] Epsitec. [Citado el: 22 de Agosto de 2010.]
http://www.ceebot.com/ceebot/3/3-e.php.
15. LEGO Mindstorms. [En línea] LEGO. [Citado el: 22 de Agosto de 2010.]
http://mindstorms.lego.com/en-us/overview/NXT_Software.aspx.
16. Eclipse. [En línea] The Eclipse Foundation. [Citado el: 23 de Agosto de 2010.]
http://www.eclipse.org/.
17. NetBeans. [En línea] Oracle Corporation. [Citado el: 23 de Agosto de 2010.]
http://netbeans.org/.
18. BlueJ. [En línea] La Trobe University, University of Kent at Canterbury, Sun
Microsystems. [Citado el: 23 de Agosto de 2010.] http://www.bluej.org/.
19. Fitter, M., Green, T.: When do diagrams make good computer languages?. Interna-
tional Journal of Man-Machine Studies, Vol. 11. (1979)
83