Creating the computer player: an engaging and collaborative approach to introduce computational thinking by combining ‘unplugged’ activities with visual programming

Main Article Content

Anna Gardeli
Spyros Vosinakis


Ongoing research is being conducted on appropriate course design, practices and teacher interventions for improving the efficiency of computer science and programming courses in K-12 education. The trend is towards a more constructivist problem-based learning approach. Computational thinking, which refers to formulating and solving problems in a form that can be efficiently processed by a computer, raises an important educational challenge. Our research aims to explore possible ways of enriching computer science teaching with a focus on development of computational thinking. We have prepared and evaluated a learning intervention for introducing computer programming to children between 10 and 14 years old; this involves students working in groups to program the behavior of the computer player of a well-known game. The programming process is split into two parts. First, students design a high-level version of their algorithm during an ‘unplugged’ pen & paper phase, and then they encode their solution as an executable program in a visual programming environment. Encouraging evaluation results have been achieved regarding the educational and motivational value of the proposed approach.

Article Details

Articles - Special Issue


Armoni, M. (2011). The nature of CS in K--12 curricula: the roots of confusion. ACM Inroads, 2(4), 19- 20. doi:10.1145/2038876.2038883

Bell, T., Alexander, J., Freeman, I., & Grimley, M. (2009). Computer science unplugged: School students doing real computing without computers. The New Zealand Journal of Applied Computing and Information Technology, 13(1), 20-29. Retrieved from

Bundy, A. (2007). Computational thinking is pervasive. Journal of Scientific and Practical Computing, 1(2), 67-69. Retrieved from

Dann, W. P., Cooper, S., & Pausch, R. (2011). Learning to Program with Alice (w/CD ROM). Upper Saddle River, NJ: Prentice Hall Press.

Faust, J. L., & Paulson, D. R. (1998). Active learning in the college classroom. Journal on Excellence in College Teaching, 9(2), 3-24. Retrieved from

Gibson, B., & Bell, T. (2013, November). Evaluation of games for teaching computer science. In Proceedings of the 8th Workshop in Primary and Secondary Computing Education (pp. 51-60). New York, NY: ACM. doi:10.1145/2532748.2532751

Huang, T. (2001). Strategy game programming projects. Journal of Computing Sciences in Colleges, 16(4), 205-213. Retrieved from

Ivanović, M., Budimac, Z., Radovanović, M., & Savić, M. (2015, June). Does the choice of the first programming language influence students’ grades?. In Proceedings of the 16th International Conference on Computer Systems and Technologies (pp. 305-312). New York, NY: ACM.

Kalelioğlu, F. (2015). A new way of teaching programming skills to K-12 students: Code. org. Computers in Human Behavior, 52, 200-210. doi:10.1016/j.chb.2015.05.047

Kölling, M. (2010). The Greenfoot programming environment. ACM Transactions on Computing Education (TOCE), 10(4), 14. doi:10.1145/1868358.1868361

Kordaki, M. (2012). Diverse categories of programming learning activities could be performed within Scratch. Procedia - Social and Behavioral Sciences, 46, 1162-1166. doi:10.1016/j.sbspro.2012.05.267

Lai, M., Luong, D., & Young, G. (2015, January). A Study of Kinesthetic Learning Activities Effectiveness in Teaching Computer Algorithms Within an Academic Term. In Proceedings of the International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS) (p. 44). Retrieved from d/1?pq-origsite=gscholar&cbl=1976352

Lu, J. J., & Fletcher, G. H. (2009). Thinking about computational thinking. ACM SIGCSE Bulletin, 41(1), 260-264. doi:10.1145/1508865.1508959

Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12?. Computers in Human Behavior, 41, 51-61. doi:10.1016/j. chb.2014.09.012

Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The Scratch programming language and environment. ACM Transactions on Computing Education (TOCE), 10(4), 16. doi:10.1145/1868358.1868363

Prensky, M. (2005). Engage me or enrage me: What today’s learners demand. EDUCAUSE Review, 40(5). Retrieved from

Sáez-López, J. M., Román-González, M., & Vázquez-Cano, E. (2016). Visual programming languages integrated across the curriculum in elementary school: A two year case study using “Scratch” in five schools. Computers & Education, 97, 129-141. doi:10.1016/j.compedu.2016.03.003

Sorva, J., Karavirta, V., & Malmi, L. (2013). A review of generic program visualization systems for introductory programming education. ACM Transactions on Computing Education (TOCE), 13(4), 15. doi:10.1145/2490822

Sung, H. Y., & Hwang, G. J. (2013). A collaborative game-based learning approach to improving students’ learning performance in science courses. Computers & Education, 63, 43-51. doi:10.1016/j. compedu.2012.11.019

Wilson, A., & Moffat, D. (2010). Evaluating scratch to introduce younger schoolchildren to programming. In J. Lawrance, & R. Bellamy (Eds.), Proceedings of the 22nd annual workshop of the psychology of programming interest group – PPIG2010, September 19–22, 2010 (pp. 64–74). Retrieved from

Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical transactions of the royal society of London A: mathematical, physical and engineering sciences, 366(1881), 3717-3725. doi:10.1098/rsta.2008.0118

Zhang, F., Kaufman, D., & Fraser, S. (2014). Using Video Games in Computer Science Education. European Scientific Journal, 10(22), 37-52. Retrieved from