Cognitive Problems in the Process of Programming Teaching in Higher Education: Learner-Instructor Experiences1

Programming teaching plays an important role in developing cognitive thinking skills that areconsidered to be among 21st century skills, such as problem solving, critical thinking, reflectiveand analytical thinking. However, it is considered to be a difficult and complex process due toits abstract structure. In this context, it is important to identify the factors that affect the processof the programming teaching and to develop solutions for these factors. Cognitive factors arethe leading factors among them. In this context, the aim of the research is to examine theexperiences of students and instructors regarding the cognitive problems they face during theprocess of programming teaching. Content analysis method was used to examine theexperiences of students and instructors. The participants of the research consisted of 14undergraduate students and 4 instructors selected through purposive sampling methodInterviews, reflective student diaries, observer reports and semi-structured focus groupinterviews were used as data collection tools. It is thought that the cognitive problemsdetermined regarding the process of programming teaching will contribute to the studies aimedat developing programming skills.

Yükseköğretimde Programlama Öğretimi Sürecinde Yaşanan Bilişsel Problemler: Öğrenen-Öğreten Deneyimleri

Programlama öğretimi, 21.yy becerileri arasında gösterilen problem çözme, eleştirel düşünme, yansıtıcı ve analitik düşünme gibi bilişsel düşünme becerilerin geliştirilmesinde önemli bir rol oynamaktadır. Ancak, soyut yapısından dolayı zor ve karmaşık bir süreç olarak değerlendirilmektedir. Bu bağlamda, programlama öğretimi sürecine etki eden faktörlerin belirlenmesi ve bu faktörlere yönelik çözüm önerilerinin geliştirilmesi önemlidir. Bu faktörlerin başında bilişsel faktörler öne çıkmaktadır. Bu kapsamda araştırmanın amacı, öğrenci ve öğretim elemanlarının programlama öğretimi sürecinde karşılaştıkları bilişsel problemlere ilişkin deneyimlerinin incelenmesidir. Öğrenci ve öğretim elemanlarının deneyimlerinin incelenmesinde içerik analizi yöntemi kullanılmıştır. Araştırmanın katılımcıları amaca uygun örnekleme yöntemiyle seçilen 14 lisans öğrencisi ve dört öğretim elemanından oluşmaktadır. Veri toplama aracı olarak mülakat, yansıtıcı öğrenci günlükleri, gözlemci raporları ve yarı yapılandırılmış odak grup görüşmeleri kullanılmıştır. Programlama öğretimi sürecine yönelik belirlenen bilişsel problemlerin, programlama becerisinin geliştirilmesine yönelik çalışmalara katkı yapacağı düşünülmektedir.

___

Akçay, A., & Çoklar, A.N. (2016). Bilişsel becerilerin gelişimine yönelik bir öneri: Programlama eğitimi. Eğitim Teknolojieri Okumaları, 121-139.

Akpınar, Y., & Altun, A. (2014). The need for programming education in information society schools. Elementary Education Online, 13(1), 1-4.

Altadmri, A., & Brown, N.C. (2015, February). 37 million compilations: Investigating novice programming mistakes in large-scale student data. In Proceedings of the 46th Technical Symposium on Computer Science Education (pp. 522-527). ACM.

Al-Tahat, K., Taha, N., Hasan, B., & Shawar, B.A. (2016, July). The impact of a 3d visual tool on female students attitude and performance in computer programming. In 2016 SAI Computing Conference (SAI) (pp. 864-867). IEEE.

Altun, A., & Mazman, S.G. (2012). Programlamaya ilişkin öz yeterlilik algısı ölçeğinin türkçe formumun geçerlilik ve güvenirlik çalışması. Eğitimde ve Psikolojide Ölçme ve Değerlendirme Dergisi, 3(2), 297- 308.

Arabacıoğlu, T., Bülbül, H.İ., & Filiz, A. (2007). Bilgisayar programlama öğretiminde yeni bir yaklaşım. IX. Akademik Bilişim. Dumlupınar Üniversitesi, Kütahya, Türkiye.

Bayman, P., & Mayer, R.E. (1983). A diagnosis of beginning programmers misconceptions of BASIC programming statements. Communications of the ACM, 26(9), 677-679.

Biju, S.M. (2013). Taking advantage of Alice to teach programming concepts. E-Learning and Digital Media, 10(1), 22-29.

Bosse, Y., & Gerosa, M.A. (2017). Why is programming so difficult to learn? Patterns of difficulties related to programming learning mid-stage. ACM SIGSOFT Software Engineering Notes, 41(6), 1-6.

Burns, J. (2012). School ICT to be replaced by computer science programme, BBC News. Retrieved November 27, 2018, from http://www.bbc.co.uk/ news/education. Büyüköztürk, Ş., Çakmak, E. K., Akgün, Ö. E., Karadeniz, Ş., & Demirel, F. (2017). Bilimsel araştırma yöntemleri. Ankara: Pegem Yayınları.

Byrne, P., & Lyons, G. (2001). The effect of student attributes on success in programming. In S. Fincher (Eds.),The 6th Annual Conference on Innovation and Technology ın Computer Science Education (191-195). United Kingdom: ITICSE Press.

Cevahir, H., & Özdemir, M. (2017, Mayıs). Programlama öğretiminde karşılaşılan zorluklara yönelik öğretmen görüşleri ve çözüm önerileri. Uluslararası Bilgisayar ve Öğretim Teknolojileri Sempozyumu içinde (s. 304-319). Malatya: İnönü Üniversitesi.

Coşar, M. (2013). Problem temelli öğrenme ortamında bilgisayar programlama çalışmalarının akademik başarı, eleştirel düşünme eğilimi ve bilgisayara yönelik tutuma etkileri (Yayınlanmamış doktora tezi). Gazi Üniversitesi, Eğitim Bilimleri Enstitüsü, Ankara.

Creswell, J. W. (2002). Educational research: Planning, conducting, and evaluating quantitative. Boston: Pearson Education

Demir, F. (2015). Programlama öğretiminde eğitsel programlama dilinin farklı kullanımlarının programlama başarısı ve kaygısına etkisi (Yayınlanmamış doktora tezi). Atatürk Üniversitesi, Eğitim Bilimleri Enstitüsü, Erzurum.

Demirer, V., & Nurcan, S.A.K. (2016). Dünyada ve Türkiye'de programlama eğitimi ve yeni yaklaşımlar. Eğitimde Kuram ve Uygulama, 12(3), 521-546.

Ersoy, H., Madran, R.O., & Gülbahar, Y. (2011). Programlama dilleri öğretiminde bir model önerisi: Robot programlama. XIII. Akademik Bilişim Konferansı’nda sunulan bildiri, İnönü Üniversitesi, Malatya.

Esteves, M., & Mendes, A.J. (2004, October). A simulation tool to help learning of object oriented programming basics. In 34th Annual Frontiers in Education, 2004. FIE 2004. (pp. F4C-7). IEEE.

Fesakis, G., & Serafeim, K. (2009, July). Influence of the familiarization with scratch on future teachers' opinions and attitudes about programming and ICT in education. In ACM SIGCSE Bulletin (Vol. 41, No. 3, pp. 258-262). ACM.

Gezgin, D.M., & Adnan, M. (2016). Makine mühendisliği ve ekonometri öğrencilerinin programlamaya ilişkin öz yeterlik algılarının incelenmesi. Ahi Evran Üniversitesi Kırşehir Eğitim Fakültesi Dergisi, 17(2), 509-525.

Gomes, A., & Mendes, A. (2014, October). A teacher's view about introductory programming teaching and learning: Difficulties, strategies and motivations. In 2014 IEEE Frontiers in Education Conference (FIE) Proceedings (pp. 1-8). IEEE.

İmal, N., & Eser, M. (2009). Programlama dili öğrenmedeki zorluklar ve çözüm yaklaşımları. Elektrik Elektronik Bilgisayar Biyomedikal Mühendislikleri Eğitimi IV. Ulusal Sempozyumu.[Çevrim-içi: http://www. emo. org. tr/ekler/8bd988bd20804a2_ek. pdf], Erişim Tarihi, 18, 2019.

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

Kinnunen, P., & Malmi, L. (2008, September). CS minors in a CS1 course. In Proceedings of the Fourth international Workshop on Computing Education Research (pp. 79-90). ACM.

Krippendorff, K. (2018). Content analysis: An introduction to its methodology. Sage publications.

Lahtinen, E., Ala-Mutka, K., & Järvinen, H.M. (2005). A study of the difficulties of novice programmers. Acm Sigcse Bulletin, 37(3), 14-18.

Lazarinis, F., Karachristos, C.V., Stavropoulos, E.C., & Verykios, V.S. (2019). A blended learning course for playfully teaching programming concepts to school teachers. Education and Information Technologies, 24(2), 1237-1249.

Linn, M.C., & Clancy, M.J. (1992). The case for case studies of programming problems. Communications of the ACM, 35(3), 121-133.

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, 1(41), 51- 61.

Marshall, M.N. (1996). Sampling for qualitative research. Family Practice, 13(6), 522-526.

Mayer, R.E. (2013). Teaching and learning computer programming: Multiple research perspectives. New York: Routledge.

Mhashi, M.M., & Alakeel, A.L.I.M. (2013, April). Difficulties facing students in learning computer programming skills at Tabuk University. In Proceedings of the 12th International Conference on Education and Educational Technology (EDU’13), Iwate, Japan (pp. 15-24).

Ouahbi, I., Kaddari, F., Darhmaoui, H., Elachqar, A., & Lahmine, S. (2015). Learning basic programming concepts by creating games with scratch programming environment. Procedia-Social and Behavioral Sciences, 1(191), 1479-1482.

Ozoran, D., Cagiltay, N., & Topalli, D. (2012). Using scratch in introduction to programming course for engineering students. In 2nd International Engineering Education Conference (IEEC2012) (Vol. 2, pp. 125-132).

Özmen, B., & Altun, A. (2014). Undergraduate students' experiences in programming: Diffuculties and obstacles. Turkish Online Journal of Qualitative Inquiry, 5(3), 9-27.

Özyurt, Ö., & Özyurt, H. (2015). Bilgisayar programcılığı öğrencilerinin programlamaya karşı tutum ve öz-yeterliliklerinin belirlenmesine yönelik bir çalışma. Eğitimde Kuram ve Uygulama, 11(1), 51-67.

Popescu, E. (2018, August). Q2A-I: A Support Platform for Computer Programming Education, Based on Automated Assessment and Peer Learning. In Advances in WebBased Learning–ICWL 2018: 17th International Conference, Chiang Mai, Thailand, August 22-24, 2018, Proceedings (Vol. 11007, p. 3). Springer.

Renumol, V., Jayaprakash, S., & Janakiram, D. (2009). Classification of cognitive difficulties of students to learn computer programming. Indian Institute of Technology, 1(1), 1-12.

Saygıner, Ş., & Tüzün, H. (2017). İlköğretim Düzeyinde Programlama Eğitimi: Yurt Dışı Ve Yurt İçi Perspektifinden Bir Bakış. Akademik Bilişim Konferansı.

Seğmen, E. (2016). Programlama öğrenme performansına etki eden bilişsel faktörlerin belirlenmesi ve programlama egitimi için bir model önerisi (Yayınlanmamış doktora tezi). Okan Üniversitesi, Fen Bilimleri Enstitüsü, İstanbul.

Shahmoradi, N., Nosratinia, M., & Shangarffam, N. (2018). The relationship among efl teachers’ critical thinking, neuro-linguistic programming, and their sense of efficacy. Journal of Applied Linguistics and Language Research, 5(2), 41-56.

Sirkia, T. (2012). Recognizing programming misconceptions: An analysis of the data collected from the Uhistle program simulation tool (Unpublished master's thesis). Aalto University, Espoo, Finland.

Smith, S., & Burrow, L.E. (2016). Programming multimedia stories in scratch to ıntegrate computational thinking and writing with elementary students. Journal of Mathematics Education, 9(2), 119-131.

Solmaz, E. (2014). Programlama dili öğretiminde alıce yazılımının ders başarısı, eleştirel düşünme ve problem çözme becerileri ile üstbilişsel farkındalık düzeyine etkisi (Yayınlanmamış doktora tezi). Gazi Üniversitesi, Eğitim Bilimleri Enstitüsü, Ankara.

Sorva, J. (2012). Visual program simulation in introductory programming education (Unpublished doctoral dissertation). Aalto University, Espoo, Finland

Taheri, S.M., Sasaki, M., Chu, J.O., & Ngetha, H.T. (2016). A study of teaching problem solving and programming to children by ıntroducing a new programming language. The International Journal of E-Learning and Educational Technologies in the Digital Media, 2(1), 31-36.

Thomas, L., Ratcliffe, M., & Thomasson, B. (2004, March). Scaffolding with object diagrams in first year programming classes: some unexpected results. In ACM SIGCSE Bulletin (Vol. 36, No. 1, pp. 250-254). ACM.

Thomas, M.K., Ge, X., & Greene, B.A. (2011). Fostering 21st century skill development by engaging students in authentic game design projects in a high school computer programming class. Journal of Educational Computing Research, 44(4), 391-408.

Tsai, M.J., Wang, C.Y., & Hsu, P.F. (2018). Developing the computer programming selfefficacy scale for computer literacy education. Journal of Educational Computing Research, 56(8), 1345-1360.

Vee, A. (2013). Understanding computer programming as a literacy. Literacy in Composition Studies, 1(2), 42-64.

Wong, G.K.W., & Cheung, H.Y. (2018). Exploring children’s perceptions of developing twenty-first century skills through computational thinking and programming. Interactive Learning Environments, 1(1),1-13.

Yıldırım, A., & Şimşek, H. (2005). Sosyal bilimlerde nitel araştırma teknikleri. Ankara: Seçkin Yayınları.