Las computadoras y la forma de programarlas han tenido cambios muy
significativos a travs del tiempo. Para Ferreira y Rojo (2005) el enfoque de la programacin estructurada con ms de 40 aos de existencia, sigue teniendo una gran importancia en la enseanza, por otra parte, en la actualidad se ha consolidado el enfoque de la programacin orientada a objetos. Aun cuando existen varios enfoques en la programacin, no existe un consenso sobre cul es la mejor manera de ensear los conceptos bsicos de la programacin. Caspersen (2007) afirm que la programacin es un proceso creativo, en el cual los programadores tienen la libertad de crear cualquier estructura que cumpla sus necesidades. Continuando con la misma idea, Futschec (2006) precis que la programacin de computadoras tiene como requisito desarrollar los algoritmos apropiados para la resolucin del problema, adems estableci que la habilidad para construir correctamente un algoritmo para solucionar un problema es un aspecto a considerar del pensamiento algortmico. De acuerdo con la definicin realizada por Thomas (2014) el pensamiento algortmico es el desarrollo de un conjunto de competencias que permiten entender y construir algoritmos para resolver problemas. Por su parte Futschek y Moschitz (2011) determinaron que el desarrollo del pensamiento algortmico es una de las dificultades que los estudiantes confrontan cuando empiezan el aprendizaje de la programacin, adems manifestaron que en muchas universidades la mayora de los estudiantes consideran el tpico de los algoritmos difcil y poco atractivo. Asimismo, los estudiantes que enfrentan por primera vez la programacin presentan poca habilidad para desarrollar algoritmos de mediana o alta complejidad, adems, no logran desarrollar un modelo viable o estructura que permita resolver el
problema y poseen insuficiente experiencia en el manejo del lenguaje de programacin
(Ferreira y Rojo, 2005; Guibert, Guittet y Girard, 2005). Tambin Teague (2011) estableci que muchos estudiantes que entran a los primeros cursos de programacin tienen dificultades en entender los conceptos bsicos del pensamiento y resolucin de problemas computacionales. Siguiendo el mismo orden de ideas Bennedsen y Caspersen (2007) sealaron que la enseanza de la programacin a principiantes ha sido un problema por casi 40 aos. Robins, Rountree y Rountree (2003) afirmaron que los cursos de programacin son generalmente considerados como difciles y comnmente tienen niveles ms altos de reprobacin que otros cursos. De igual manera McGettrick et al. (2004) identificaron a la enseanza de la programacin como uno de los siete grandes retos de la computacin. Referencias Bennedsen, J. y Caspersen, M.E. (2007). Failure rates in introductory programming [Las tasas de reprobacin en la programacin introductoria]. SIGCSE Special Interest Group on Computer Science Education Bulletin, 39(2), 32 36. Caspersen, M. (2007). Educating novices in the skills of programming [Educando a principiantes en las competencias de programacin]. (Tesis doctoral, Department of Computer Science, University of Aarhus, Denmark). Recuperado de http://www.cs.au.dk/~mec/dissertation/Dissertation.pdf Ferreira, A. y Rojo, G. (2005). Enseanza de la programacin. Revista Iberoamericana de Tecnologa en Educacin y Educacin en Tecnologa, 1(1). 1 8. Futschek, G. (2006). Algorithmic Thinking: The Key for Understanding Computer Science [Pensamiento algortmico: La clave para entender las ciencias computacionales]. In Proceedings of the 2nd International Conference on Informatics in Secondary Schools - Evolution and Perspectives: the Bridge between Using and Understanding Computers (ISSEP 2006). 159 168. Berlin: Springer-Verlag. Futschek, G. y Moschitz, J. (2011). Learning algorithmic thinking with tangible objects eases transition to computer programming [Aprendiendo el pensamiento algortmico con objetos tangibles facilita la transicin a la programacin de computadoras]. ISSEP'11 Proceedings of the 5th international conference on Informatics in Schools: situation, Evolution and Perspectives. 155 164.
Guibert, N., Guittet, L. y Girard, P. (2005). A study of the efficiency of an alternative
programming paradigm to teach the basics of programming [Estudio de la eficiencia de un paradigma alternativo de programacin para ensear los fundamentos de programacin]. IFIP 8th World Conference on Computers in Education. McGettrick, A., Boyle, R., Ibbett, R., Lloyd, J., Lovegrove, G. y Mander, K. (2004). Grand challenges in computing education [Grandes retos en la educacin de la computacin]. UK: The British Computer Society. Robins, A., Rountree, J. y Rountree, N. (2003). Learning and teaching programming. A review and discussion [Enseanza y aprendizaje de la programacin. Una revisin y discusin]. Computer Science Education, 13(2). 137 172. Teague, D. (2011). Pedagogy of Introductory Computer Programming: A People-First Approach [Pedagoga de la Programacin de Computadoras Introductoria]. (Tesis de maestra indita). Queensland University of Technology, Australia. Thomas, J. (2014). Supporting computational algorithmic thinking (SCAT): development of a complex cognitive capability in african-american middle-school girls [Apoyo del pensamiento algoritmico computacional (SCAT): Desarrollo de una capacidad cognitive compleja en nias afroamericanas de nivel secundaria]. SIGCSE '14 Proceedings of the 45th ACM technical symposium on Computer science education. 709 710. doi:10.1145/2538862.2544279