Python como primer lenguaje de programación textual en la Enseñanza Secundaria

José Carlos GARCÍA MONSÁLVEZ

Resumen


Con la reciente introducción de la Programación en el currículo preuniversitario, se abre una oportunidad para incluir conceptos fundamentales de las Ciencias de la Computación. Este artículo presenta el origen y evolución de Python, las principales características que lo configuran como un lenguaje idóneo, así como una revisión y clasificación de herramientas educativas disponibles en su ecosistema. Dichas herramientas abarcan un amplio y variado abanico de recursos; desde libros interactivos hasta librerías que facilitan la creación de elaborados artefactos software por parte de los alumnos. En este trabajo se presenta una propuesta multidisciplinar para utilizar el lenguaje de programación Python en todos los niveles de Secundaria.

Palabras clave


Python; Enseñanza Secundaria; Currículum; Computación; Informática; Pensamiento computacional; Introducción a la programación

Texto completo:

PDF

Referencias


Armoni, M., Meerbaum-Salant, O., & Ben-Ari, M. (2015). From scratch to “real” programming. ACM Transactions on Computing Education (TOCE), 14(4), 25. https://doi.org/10.1145/2677087

Ateeq, M., Habib, H., Umer, A., & Rehman, M. U. (2014, April). C++ or Python? Which One to Begin with: A Learner’s Perspective. In Proceedings of the 2014 International Conference on Teaching and Learning in Computing and Engineering (LaTiCE) (pp. 64-69). EEUU: IEEE. https://doi.org/10.1109/LaTiCE.2014.20

Balanskat, A., & Engelhardt, K. (2015). Computing our future. Computer programming and coding. Priorities, school curricula and initiatives across Europe. European Schoolnet, Brussels.

Bart, A. C., Tibau, J., Tilevich, E., Shaffer, C. A., & Kafura, D. (2016, June). Implementing an Openaccess, Data Science Programming Environment for Learners. In Proceedings of the 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC) (Vol. 1, pp. 728-737). EEUU: IEEE. https://doi.org/10.1109/COMPSAC.2016.132

Braught, G., Wahls, T., & Eby, L. M. (2011). The case for pair programming in the computer science classroom. ACM Transactions on Computing Education (TOCE), 11(1), Article 2. https://doi.org/10.1145/1921607.1921609

Brown, N. C., Altadmri, A., & Kölling, M. (2016, March). Frame-Based Editing: Combining the Best of Blocks and Text Programming. In Proceedings of the 2016 International Conference on Learning and Teaching in Computing and Engineering (LaTICE) (pp. 47-53). EEUU: IEEE. https://doi.org/10.1109/LaTiCE.2016.16

Compañ-Rosique, P., Satorre-Cuerda, R., Llorens-Largo, F., & Molina-Carmona, R. (2015). Enseñando a programar: un camino directo para desarrollar el pensamiento computacional. Revista de Educación a

Distancia, 46. https://doi.org/10.6018/red/46/11

Denning, P. J. (2003). Great principles of computing. Communications of the ACM, 46(11), 15-20. https://doi.org/10.1145/948383.948400

Dorling, M., & White, D. (2015, February). Scratch: A way to logo and python. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (pp. 191-196). New York, EEUU: ACM. https://doi.org/10.1145/2676723.2677256

Elkner, J. (2000, January). Using Python in a high school computer science program. In Proceedings of the 8th International Python Conference (pp. 2000-2001).

Freeman, S., Eddy, S. L., McDonough, M., Smith, M. K., Okoroafor, N., Jordt, H., & Wenderoth, M. P.

(2014). Active learning increases student performance in science, engineering, and mathematics. Proceedings of the National Academy of Sciences, 111(23), 8410-8415. https://doi.org/10.1073/pnas.1319030111

Gal-Ezer, J., & Stephenson, C. (2014). A tale of two countries: Successes and challenges in K-12 computer science education in Israel and the United States. ACM Transactions on Computing Education (TOCE), 14(2), Article 8. https://doi.org/10.1145/2602483

García-Peñalvo, F. J. (2016a). A brief introduction to TACCLE 3 – Coding European Project. In F. J. García-Peñalvo & J. A. Mendes (Eds.), 2016 International Symposium on Computers in Education (SIIE 16). USA: IEEE. https://doi.org/10.1109/SIIE.2016.7751876

García-Peñalvo, F. J. (2016b). Proyecto TACCLE3 – Coding. In F. J. García-Peñalvo & J. A. Mendes (Eds.), XVIII Simposio Internacional de Informática Educativa, SIIE 2016 (pp. 187-189). Salamanca, España: Ediciones Universidad de Salamanca.

García-Peñalvo, F. J. (2016c). What Computational Thinking Is. Journal of Information Technology Research, 9(3), v-viii.

García-Peñalvo, F. J., Reimann, D., Tuul, M., Rees, A., & Jormanainen, I. (2016). An overview of the most relevant literature on coding and computational thinking with emphasis on the relevant issues for teachers. Belgium. https://doi.org/10.5281/zenodo.165123

Grandell, L., Peltomäki, M., Back, R. J., & Salakoski, T. (2006, January). Why complicate things?: introducing programming in high school using Python. In Proceedings of the 8th Australasian Conference on Computing Education-Volume 52 (pp. 71-80). Australian Computer Society, Inc.

Guo, P. J. (2013, March). Online python tutor: embeddable web-based program visualization for cs education. In Proceeding of the 44th ACM technical symposium on Computer science education (pp. 579-584). New York, EEUU: ACM. https://doi.org/10.1145/2445196.2445368

Guzdial, M. (2015a). Learner-centered design of computing education: Research on computing for everyone. Synthesis Lectures on Human-Centered Informatics, 8(6), 1-165. https://doi.org/10.2200/S00684ED1V01Y201511HCI033

Guzdial, M. (2015b). What's the best way to teach computer science to beginners? Communications of the ACM, 58(2), 12-13. https://doi.org/10.1145/2714488

Hazzan, O., Gal-Ezer, J., & Blum, L. (2008, March). A model for high school computer science education: The four key elements that make it! In ACM SIGCSE Bulletin, 40(1), 281-285. https://doi.org/10.1145/1352322.1352233

Heintz, F., Mannila, L., & Färnqvist, T. (2016, October). A review of models for introducing computational thinking, computer science and computing in K-12 education. In Proceedings of 2016 IEEE Frontiers in Education Conference (FIE), (pp. 1-9). EEUU: IEEE. https://doi.org/10.1109/FIE.2016.7757410

Hubwieser, P., Giannakos, M. N., Berges, M., Brinda, T., Diethelm, I., Magenheim, J., & Jasute, E. (2015, July). A global snapshot of computer science education in K-12 schools. In Proceedings of the 2015 ITiCSE on Working Group Reports (pp. 65-83). New York, EEUU: ACM. https://doi.org/10.1145/2858796.2858799

Ihantola, P., Helminen, J., & Karavirta, V. (2013, November). How to study programming on mobile touch devices: interactive Python code exercises. In Proceedings of the 13th Koli Calling International Conference on Computing Education Research (pp. 51-58). New York, EEUU: ACM. https://doi.org/10.1145/2526968.2526974

Kirschner, P. A. (2017). Stop propagating the learning styles myth. Computers & Education, 106, 166-171. https://doi.org/10.1016/j.compedu.2016.12.006

Koulouri, T., Lauria, S., & Macredie, R. D. (2015). Teaching introductory programming: a quantitative evaluation of different approaches. ACM Transactions on Computing Education (TOCE), 14(4), Article 26. https://doi.org/10.1145/2662412

Mészárosová, E. (2015). Is Python an Appropriate Programming Language for Teaching Programming in Secondary Schools? International Journal of Information and Communication Technologies in Education, 4(2), 5-14. https://doi.org/10.1515/ijicte-2015-0005

Murphy, E., Crick, T., & Davenport, J. H. (2017). An Analysis of Introductory Programming Courses at UK Universities. The Art, Science, and Engineering of Programming, 1(2), Article 18. https://doi.org/10.22152/programming-journal.org/2017/1/18

Nuutila, E., Törmä, S., & Malmi, L. (2005). PBL and computer programming—The seven steps method with adaptations. Computer Science Education, 15(2), 123-142. https://doi.org/10.1080/08993400500150788

Papastergiou, M. (2009). Digital game-based learning in high school computer science education: Impact on educational effectiveness and student motivation. Computers & Education, 52(1), 1-12. https://doi.org/10.1016/j.compedu.2008.06.004

Parker, K. R., Chao, J. T., Ottaway, T. A., & Chang, J. (2006). A formal language selection process for introductory programming courses. Journal of Information Technology Education, 5, 133-151.

Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., & Paterson, J. (2007). A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin, 39(4), 204-223. https://doi.org/10.1145/1345375.1345441

Peña Ros, R. (2015a). Paseo por la programación estructurada y modular con Python. ReVisión, 8(1), 17-17.

Peña Ros, R. (2015b). Python como primera aproximación a la programación. ReVisión, 8(2), 17-29.

Porter, L., Guzdial, M., McDowell, C., & Simon, B. (2013). Success in introductory programming: What works? Communications of the ACM, 56(8), 34-36. https://doi.org/10.1145/2492007.2492020

Ragonis, N., Hazzan, O., & Gal-Ezer, J. (2010, March). A survey of computer science teacher preparation programs in Israel tells us: computer science deserves a designated high school teacher preparation! In Proceedings of the 41st ACM technical symposium on Computer science education (pp. 401-405). New York, EEUU: ACM. https://doi.org/10.1145/1734263.1734402

Riesco Albizu, M., Díaz Fondón, M., Álvarez Gutiérrez, D., López Pérez, B., Cernuda del Río, A., & Juan Fuente, A. (2014). Informática: materia esencial en la educación obligatoria del siglo XXI. ReVisión, 7(3), 53-60.

Stefik, A., Daleiden, P., Franklin, D., Hanenberg, S., & Tichy, W. (2015). Programming Languages and Learning.

Stoilescu, D., & Egodawatte, G. (2010). Gender differences in the use of computers, programming, and peer interactions in computer science classrooms. Computer Science Education, 20(4), 283-300. https://doi.org/10.1080/08993408.2010.527691

Tabet, N., Gedawy, H., Alshikhabobakr, H., & Razak, S. (2016, July). From Alice to Python. Introducing Text-based Programming in Middle Schools. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (pp. 124-129). New York, EEUU: ACM.

Tang, T., Rixner, S., & Warren, J. (2014, March). An environment for learning interactive programming. In Proceedings of the 45th ACM technical symposium on Computer science education (pp. 671-676). New York, EEUU: ACM. https://doi.org/10.1145/2538862.2538908

Tedre, M., & Denning, P. J. (2016, November). The long quest for computational thinking. In Proceedings of the 16th Koli Calling Conference on Computing Education Research (pp. 24-27). https://doi.org/10.1145/2999541.2999542

Tollervey, N. H. (2015). Python in Education. Python in Education.

Van Rossum, G. (1999). Computer programming for everybody. Proposal to the Corporation for National

Research Initiatives.

Weintrop, D. (2015, February). Minding the gap between blocks-based and text-based programming. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (pp. 720-720). New York, EEUU: ACM.

Zingaro, D., & Porter, L. (2014). Peer Instruction in computing: The value of instructor intervention. Computers & Education, 71, 87-96. https://doi.org/10.1016/j.compedu.2013.09.015




DOI: http://dx.doi.org/10.14201/eks2017182147162





Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.