Research Article
BibTex RIS Cite

Undergraduate Students' Experiences in Programming: Difficulties and Obstacles

Year 2014, Volume: 5 Issue: 3, 1 - 27, 01.03.2014
https://doi.org/10.17569/tojqi.20328

Abstract

Programming courses become prominent as one of the courses in which undergraduate students are unsuccessful especially in departments which offer computer education. Students often state that these courses are quite difficult compared to other courses. Therefore, a qualitative phenomenological approach was used to reveal the reasons of the failures of the undergraduate students in programming courses and to examine the difficulties they confronted with programming. In this scope, the laboratory practices of the Internet Programming course were observed in fall term of the 2013-2014 academic year in a university at central Anatolia. Interviews were made with 12 undergraduate students taking this course. Finally, the difficulties students experienced in the programming were determined as programming knowledge, programming skills, understanding semantics of the program, and debugging. Students emphasized that the biggest causes of failure in programming languages are lack of practice, not using algorithms and lack of knowledge. In addition, it was seen that the students who had high programming experience possess higher programming success and self-efficacy related to programming

References

  • enough time. This finding is similar to the results of the studies which found that perceived self-efficacy
  • increases the programming success (Cegielski & Hall, 2006).
  • As a result, to get all the benefits of programming, effective programming education should be given
  • especially in higher education institutions (Fessakis, Gouli & Mavroudi, 2013). It is highlighted that the
  • current curricula should be reconstructed by increasing lesson hours of programming courses and
  • widening their scope. Moreover, more emphasis is called on teaching programming (Akpınar & Altun,
  • 2014); hence, programming education should be carried out taking into account aforementioned
  • problems and present situation.
  • Further research could determine the reasons of the students’ failures in visual programming courses.
  • Also, introspective methods could be used with the aim of better documenting the obstacles and
  • difficulties that the students confronted with in programming. Different programming languages have
  • different application features, code brevity, and extensibility and so on. Therefore, the usage of
  • alternative programming languages would be valuable for demonstration the differences between
  • programming languages and comparison of the results.
  • Akpınar, Y., & Altun, A. (2014). Bilgi toplumu okullarında programlama eğitimi gereksinimi. İlköğretim Online (13)1, 1-4.
  • Ala-Mutka, K. (2004). Problems in learning and teaching programming. Institute of Software Systems, Tampere University of Technology.
  • Altun, A., & Mazman, S. G. (2012). Programlamaya İliş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, Kış 2012, 3(2), 297- 308.
  • Ambrosio, A. P., Costa, F. M., Almeida, L., Franco, A., & Macedo, J. (2011). Identifying cognitive abilities to improve CS1 outcome. Frontiers in Education Conference (FIE). , 12-15 October.
  • Arabacıoğlu, T., Bülbül, H. İ., & Filiz, A. (2007). Bilgisayar programlama öğretiminde yeni bir yaklaşım. Akademik Bilişim 2007, Kütahya Dumlupınar Üniversitesi.
  • Aşkar, P., & Davenport, D. (2009). An investigation of factors related to self-efficacy for Java programming among engineering students. The Turkish Online Journal of Educational Technology (TOJET), 8(1).
  • Bednarik, R., & Tukiainen, M. (2004). Visual attention and representation switching in java program debugging: a study using eye movement tracking. In Proceedings of 16th Annual Psychology of Programming Interest Group Workshop (PPIG'04), Institute of Technology Carlow, Ireland, April 5-7, 2004, pp. 159-169.
  • Bergersen, G. R., & Gustafsson, J. E. (2011). Programming skill, knowledge, and working memory among professional software developers from an investment theory perspective. Journal of Individual Differences, 32(4), 201-209.
  • Caspersen, M. E. (2007). Educating Novices in the Skills of Programming. (PhD), University of Aarhus Denmark.
  • Cegielski, C. G., & Hall, D. J. (2006). What makes a good programmer? Communications of the ACM, 49(10), 73-75.
  • Clements, D., & Sarama, J. (2003). Strip mining for gold: research and policy in educational technology – a response to “fool’s gold”. AACE Journal. ISSN: 1551-3696, 11(1), 7–69, Association for the Advancement of Computing in Education, Norfolk, VA, USA.
  • Crescenzi, P., Malizia, A., Verri, M. C., Diaz, P., & Aedo, I. (2012). Integrating algorithm visualization video into a first-year algorithm and data structure course. Educational Technology and Society, 15(2), 115-124.
  • Creswell, J. W. (2008). Educational research: Planning, conducting, and evaluating quantitative and qualitative research (3rd ed.). Upper Saddle River, New Jersey: Pearson Education, Inc.
  • Creswell, J. W. (2007). Qualitative Inquiry and Research Design: Choosing among five approaches (2nd ed.). Thousand Oaks, CA: Sage.
  • diSessa, A.A., & Abelson, H.(1986). Boxer: A reconstructible computational medium. Communications of the ACM, 29(9), 859–868.
  • Eryılmaz, S. (2003). Algoritma tasarlama ve programlamaya giriş. Ankara: Detay Yayıncılık.
  • Ferrer-Mico, T., Prats-Fernandez, M. A., & Redo-Sanchez, A. (2012). Impact of Scratch programming on students´ understanding of their own learning process. Procedia - Social and Behavioral Sciences 46 (2012), 1219-1223.
  • Fessakis, G., Gouli, E., & Mavrodi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers and Education 63 (2013), 87- 97.
  • Glesne, C. (2013). Nitel Araştırmaya Giriş (Çeviri Editörleri: Ali Ersoy & Pelin Yalçınoğlu). 2. Baskı. Ankara: Anı Yayıncılık.
  • Hawi, N. (2010). Causal attributions of success and failure made by undergraduate students in an introductory-level computer programming course. Computers and Education 54 (2010), 1127- 1136.
  • Holvikivi, J. (2010). Conditions for Successful Learning of Programming Skills. In N. Reynolds & M. Turcsányi-Szabó (Eds.), Key Competencies in the Knowledge Society. 324, 155-164. Springer Berlin Heidelberg.
  • Hwang W.Y., Shadiev, R., Wang C. Y., & Huang, Z. H. (2012). A pilot study of cooperative programming learning behavior and its relationship with students’ learning performance. Computers and Education 58 (2012), 1267–1281.
  • Jegede, P. O. (2009). Predictors of java programming self–efficacy among engineering students in a Nigerian University. International Journal of Computer Science and Information Security (IJCSIS), 4(2).
  • Jiau, H. C., Chen, J. C., & Su, K. F. (2009). Enhancing self-motivation in learning programming using game-based simulation and metrics. IEEE Transactions on Education, 52(4), 555-562.
  • Lau, W. W. F., & Yuen, A. H. K. (2009). Exploring the effects of gender and learning styles on computer programming performance: implications for programming pedagogy. British Journal of Educational Technology, 40(4), 696-712.
  • Lau, W. W. F., & Yuen, A. H. K. (2011). Modeling programming performance: Beyond the influence of learner characteristics. Computers and Education, 57(1), 1202-1213.
  • Law, K., Lee, V., & Yu, Y. T. (2010). Learning motivation in e-learning facilitated computer programming courses. Computers and Education 55 (2010), 218-228.
  • Liao, Y. C., & Bright, G. W. (1991). Effects of computer programming on cognitive outcomes: a meta- analysis. Journal of Educational Computing Research, 7(3), 251–266.
  • Mannila, L., Peltomaki, M., & Salakoski, T. (2006). What about a simple language? Analyzing the difficulties in learning to program. Computer Science Education, 16(3), s:211-227.
  • Papert, S. (1991). Mindstorms: Children, computers and powerful ideas. Athens: Odysseas Publications (in Greek).
  • Patton, M. Q. (1990). Qualitative evaluation and research methods (2nd ed.). Newbury Park, CA: Sage Publications.
  • Rajala, T., Laakso, M.J., Kaila, E., & Salakoski, T. (2008). Effectiveness of program visualization: a case study with the VILLE tool. Journal of Information Technology Education: Innovations in Practice, 2008(7), 15-32.
  • Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137-172.
  • Shaw, R. S. (2012). A study of the relationships among learning styles, participation types, and performance in programming language learning supported by online forums. Computers and Education 58 (2012), 111–120.
  • Sivasakthi, M., & Rajendran, R. (2011). Learning difficulties of 'object-oriented programming paradigm using Java': students’ perspective. Indian Journal of Science and Technology, 8(4), 983-985.
  • Sullivan, A., & Bers, M. U. (2012). Gender differences in kindergarteners' robotics and programming achievement. International Journal of Technology and Design Education, 23(3), 691-702.
  • Tan, P. H., Ting, C. Y., & Ling, S. W. (2009). Learning difficulties in programming courses: Undergraduates’ perspective and perception. 2009 International Conference on Computer Technology and Development, Kota Kinabalu, Malaysia.
  • Utting, I., Cooper, S., Kölling, M., Maloney, J., & Resnick, M. (2010). Alice, Greenfoot, and scratch - a discussion. ACM Transactions on Computing Education, 10(4), 1-11.
  • Yıldırım, A., & Şimşek, H. (2008). Sosyal Bilimlerde Nitel Araştırma Yöntemleri (6. Baskı), Ankara: Seçkin Yayınevi.
  • Yurdugül, H., & Aşkar, P. (2013). Learning programming, problem solving and gender: A longitudinal study. Procedia - Social and Behavioral Sciences, 83, 605-610.
  • Ziatdinov, R., & Musa, S. (2012). Rapid mental computation system as a tool for algorithmic thinking of elementary school students development. European Researcher, 25(7), 1105-1110. GENİŞLETİLMİŞ ÖZ
  • Programlama dili öğrenme oldukça uzun bir zaman gerektiren zor bir süreçtir. Özellikle lisans düzeyindeki
  • programlama dersleri çoğunlukla üst düzey düşünme becerileri gerektirdiği için genellikle giriş
  • seviyesinde programlama bilgisine sahip öğrenciler tarafından oldukça zor olarak algılanmaktadır (Tan,
  • Ting ve Ling, 2009; Gültekin, 2006). Yapılan çalışmalar öğrencilerin çoğunun programlama dili
  • öğrenmede güçlük çektiğini göstermektedir (Başer, 2012; Ambrosio vd., 2011; Hawi, 2010; Aşkar ve
  • Davenport, 2009). Bu durum öğrencilerin programlama derslerinde başarısız olmasıyla sonuçlanmaktadır
  • Çalışma nitel araştırma yöntemlerinden fenomenoloji yaklaşımı ile desenlenmiştir. Çalışma grubu, 2013
  • 2014 güz yarıyılında Türkiye’de bir devlet üniversitesinde İnternet Tabanlı Programlama dersine devam
  • eden öğrenciler arasından seçilmiştir. Çalışma grubunun belirlenmesinde amaçlı örnekleme yöntemi
  • çeşitlerinden ölçüt örnekleme kullanılmıştır. Ölçüt olarak, öncelikle ifade yeteneği yüksek 18 öğrenci
  • seçilmiş, daha sonra çalışmaya katılmaya gönüllü olduğunu ifade eden 12 öğrenci ile görüşme
  • yapılmıştır. Verilerin toplanma sürecinde öncelikle dersin laboratuvar etkinlikleri iki hafta süreyle
  • araştırmacı tarafından yapılandırılmamış gözlemtekniği ile gözlemlenmiştir. Katılımcı olunmayan gözlem
  • anlayışına uygun biçimde yapılan gözlemlerin tümü video kaydına alınmıştır. Yapılan gözlem ile
  • yürütülmesi planlanan çalışmanın alt amaçları, çalışma grubu, çalışmanın yapılacağı ortam hakkında
  • karar verilmiştir. Bu doğrultuda öğrencilerle, programlama sürecinde yaşadıkları zorluklara ilişkin
  • görüşme yapılması kararlaştırılmıştır. Görüşmeler yarı yapılandırılmış görüşme türüne uygun olarak
  • hazırlanmış ve bireysel görüşme şeklinde gerçekleştirilmiştir. Tümü sesli kayıt altına alınmıştır. Elde
  • edilen veriler içerik analizine uygun olarak çözümlenmiştir. Kodlamalara ilişkin değerlendiriciler arası
  • güvenirliği sağlamak amacıyla, öncelikle veriler ilk yazar tarafından kodlanmış ve temalar
  • oluşturulmuştur. Daha sonra, bu temalar ve temalara ilişkin rastgele seçilen örnek cümleler nitel
  • araştırma yöntemleri dersi almış iki uzmana verilmiş ve kodlarla örnek cümleleri eşleştirmeleri istenmiştir.
  • Uyum yüzdesi %81 olarak hesaplanmıştır.
  • Öğrencilerin programlama sürecinde yaşadıkları zorlukların programlama bilgisi, programlama becerisi,
  • programın mantığını kavrama ve hata ayıklama üzerinde yoğunlaştığı görülmüştür. Araştırmaya katılan
  • öğrenciler, büyük çoğunlukla programlamaya ilişkin genel kavram ve ilkeleri hatırlamakta zorlandıklarını
  • ifade etmişlerdir. Öğrenciler, gerekli programlama bilgisine sahip olmalarına rağmen programı nasıl
  • tasarlayacaklarına ilişkin zorluk yaşadıklarını da belirtmektedirler. Bednarik ve Tukiainen’e (2004) göre,
  • bir hata ayıklama programlama deneyimiyle doğrudan ilişkilidir, programlama deneyimi yüksek olan
  • öğrenciler düşük olanlara göre hata ayıklamada daha başarılıdırlar. Nitekim mevcut çalışmada da önceki
  • programlama deneyimi yüksek olan öğrencilerin programdaki hataları bulmakta zorlanmayacakları
  • yönünde görüş belirttikleri görülmüştür. Öğrencilerin büyük çoğunluğu, programlama konusunda
  • yeterince çalışmamalarını, ders kapsamında yapılan etkinlikler ve verilen ödevler dışında programlama
  • için ek zaman ayırmamalarını ve verilen programları tekrar etmemelerini programlama dillerindeki
  • başarısızlıklarının en büyük nedeni olarak belirtmişlerdir. Ayrıca, programlama deneyimi yüksek olan
  • öğrenciler, programlama başarısının algoritma oluşturmaya bağlı olduğunu vurgulamışlardır. Algoritma
  • oluşturma, özellikle bir programlama dilini yeni öğrenmeye başlayan öğrencilerin en başta öğrenmesi
  • gereken konu olarak öne çıkmaktadır (İmal ve Eser, 2009; Eryılmaz, 2003). Ancak öğrenciler, algoritma
  • oluşturmayı vakit alıcı ve zor bir süreç olarak algıladıkları için (Futschek ve Moschitz, 2010) programlama
  • derslerinde algoritmik düşünmeyi geliştirme en büyük problemlerden biri olarak görülmektedir (Ziatdinov
  • ve Musa, 2012). Ek olarak, programlamayı sevdiğini belirten öğrencilerin genellikle kendilerini
  • geliştirmek, problemin çözümünde alternatif yollar bulmak veya daha nitelikli programlar yazmak için
  • ekstra zaman harcadıkları görülürken; programlamaya ilişkin ön yargısı olan öğrencilerin program
  • yazarken kendilerini sinirli ve stresli hissettikleri ve programlama için ek vakit ayırmak istemedikleri
  • görülmüştür. Bir diğer sonuç, programlama deneyimi yüksek olan öğrencilerin programlama başarısının
  • yüksek olmasıdır. Ancak, bazı öğrencilerin meslek lisesi mezunu olmaları nedeniyle birçok programlama
  • Sonuç olarak, öğrencilerin programlama sürecinde yaşadıkları güçlükleri ve karşılaştıkları engelleri en
  • aza indirebilmek için özellikle yükseköğretim kurumlarında uygun programlama eğitimi verilmesi
  • gerekmektedir (Fessakis, Gouli ve Mavroudi, 2013). Mevcut müfredatın programlama derslerinin
  • saatlerinin artırılması ve bu derslerin kapsamının genişletilmesi suretiyle yeniden düzenlenmesi gerektiği
  • vurgulanmaktadır. Ayrıca, programlama eğitimine daha fazla önem verilmelidir (Akpınar & Altun, 2014);
  • bu kapsamda, programlama eğitimi söz konusu sorunlar ve mevcut durum dikkate alınarak yapılmalıdır.

Üniversite Öğrencilerinin Programlama Deneyimleri: Güçlükler ve Engeller

Year 2014, Volume: 5 Issue: 3, 1 - 27, 01.03.2014
https://doi.org/10.17569/tojqi.20328

Abstract

Programlama dersleri, özellikle bilgisayar eğitimi veren bölümlerde üniversite öğrencilerinin en başarısız olduğu derslerden biri olarak öne çıkmaktadır. Öğrenciler bu dersleri diğer derslere oranla oldukça zor bulduklarını ifade etmektedirler. Bu doğrultuda, üniversite öğrencilerinin programlama derslerindeki başarısızlıklarının nedenlerini ortaya koymak ve programlama sürecinde yaşadıkları zorlukları incelemek amacıyla nitel araştırma yöntemlerinden biri olan fenomenoloji yaklaşımı kullanılmıştır. Bu kapsamda, 2013-2014 yılı güz döneminde Türkiye’de bir devlet üniversitesinde İnternet Tabanlı Programlama dersinin laboratuvar etkinlikleri gözlemlenmiş ve bu derse devam eden 12 öğrenci ile görüşme yapılmıştır. Sonuç olarak, öğrencilerin programlama sürecinde yaşadıkları zorluklar programlama bilgisi, programlama becerisi, programın mantığını kavrama ve hata ayıklama olarak belirlenmiştir. Öğrenciler, programlamadaki başarısızlıklarının en büyük nedenlerini pratik eksikliği, algoritma oluşturmama ve bilgi eksikliği olduğunu vurgulamışlardır. Ek olarak, programlama deneyimi yüksek olan öğrencilerin programlama başarılarının ve programlamaya ilişkin öz yeterlilik algılarının yüksek olduğu görülmüştür

References

  • enough time. This finding is similar to the results of the studies which found that perceived self-efficacy
  • increases the programming success (Cegielski & Hall, 2006).
  • As a result, to get all the benefits of programming, effective programming education should be given
  • especially in higher education institutions (Fessakis, Gouli & Mavroudi, 2013). It is highlighted that the
  • current curricula should be reconstructed by increasing lesson hours of programming courses and
  • widening their scope. Moreover, more emphasis is called on teaching programming (Akpınar & Altun,
  • 2014); hence, programming education should be carried out taking into account aforementioned
  • problems and present situation.
  • Further research could determine the reasons of the students’ failures in visual programming courses.
  • Also, introspective methods could be used with the aim of better documenting the obstacles and
  • difficulties that the students confronted with in programming. Different programming languages have
  • different application features, code brevity, and extensibility and so on. Therefore, the usage of
  • alternative programming languages would be valuable for demonstration the differences between
  • programming languages and comparison of the results.
  • Akpınar, Y., & Altun, A. (2014). Bilgi toplumu okullarında programlama eğitimi gereksinimi. İlköğretim Online (13)1, 1-4.
  • Ala-Mutka, K. (2004). Problems in learning and teaching programming. Institute of Software Systems, Tampere University of Technology.
  • Altun, A., & Mazman, S. G. (2012). Programlamaya İliş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, Kış 2012, 3(2), 297- 308.
  • Ambrosio, A. P., Costa, F. M., Almeida, L., Franco, A., & Macedo, J. (2011). Identifying cognitive abilities to improve CS1 outcome. Frontiers in Education Conference (FIE). , 12-15 October.
  • Arabacıoğlu, T., Bülbül, H. İ., & Filiz, A. (2007). Bilgisayar programlama öğretiminde yeni bir yaklaşım. Akademik Bilişim 2007, Kütahya Dumlupınar Üniversitesi.
  • Aşkar, P., & Davenport, D. (2009). An investigation of factors related to self-efficacy for Java programming among engineering students. The Turkish Online Journal of Educational Technology (TOJET), 8(1).
  • Bednarik, R., & Tukiainen, M. (2004). Visual attention and representation switching in java program debugging: a study using eye movement tracking. In Proceedings of 16th Annual Psychology of Programming Interest Group Workshop (PPIG'04), Institute of Technology Carlow, Ireland, April 5-7, 2004, pp. 159-169.
  • Bergersen, G. R., & Gustafsson, J. E. (2011). Programming skill, knowledge, and working memory among professional software developers from an investment theory perspective. Journal of Individual Differences, 32(4), 201-209.
  • Caspersen, M. E. (2007). Educating Novices in the Skills of Programming. (PhD), University of Aarhus Denmark.
  • Cegielski, C. G., & Hall, D. J. (2006). What makes a good programmer? Communications of the ACM, 49(10), 73-75.
  • Clements, D., & Sarama, J. (2003). Strip mining for gold: research and policy in educational technology – a response to “fool’s gold”. AACE Journal. ISSN: 1551-3696, 11(1), 7–69, Association for the Advancement of Computing in Education, Norfolk, VA, USA.
  • Crescenzi, P., Malizia, A., Verri, M. C., Diaz, P., & Aedo, I. (2012). Integrating algorithm visualization video into a first-year algorithm and data structure course. Educational Technology and Society, 15(2), 115-124.
  • Creswell, J. W. (2008). Educational research: Planning, conducting, and evaluating quantitative and qualitative research (3rd ed.). Upper Saddle River, New Jersey: Pearson Education, Inc.
  • Creswell, J. W. (2007). Qualitative Inquiry and Research Design: Choosing among five approaches (2nd ed.). Thousand Oaks, CA: Sage.
  • diSessa, A.A., & Abelson, H.(1986). Boxer: A reconstructible computational medium. Communications of the ACM, 29(9), 859–868.
  • Eryılmaz, S. (2003). Algoritma tasarlama ve programlamaya giriş. Ankara: Detay Yayıncılık.
  • Ferrer-Mico, T., Prats-Fernandez, M. A., & Redo-Sanchez, A. (2012). Impact of Scratch programming on students´ understanding of their own learning process. Procedia - Social and Behavioral Sciences 46 (2012), 1219-1223.
  • Fessakis, G., Gouli, E., & Mavrodi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers and Education 63 (2013), 87- 97.
  • Glesne, C. (2013). Nitel Araştırmaya Giriş (Çeviri Editörleri: Ali Ersoy & Pelin Yalçınoğlu). 2. Baskı. Ankara: Anı Yayıncılık.
  • Hawi, N. (2010). Causal attributions of success and failure made by undergraduate students in an introductory-level computer programming course. Computers and Education 54 (2010), 1127- 1136.
  • Holvikivi, J. (2010). Conditions for Successful Learning of Programming Skills. In N. Reynolds & M. Turcsányi-Szabó (Eds.), Key Competencies in the Knowledge Society. 324, 155-164. Springer Berlin Heidelberg.
  • Hwang W.Y., Shadiev, R., Wang C. Y., & Huang, Z. H. (2012). A pilot study of cooperative programming learning behavior and its relationship with students’ learning performance. Computers and Education 58 (2012), 1267–1281.
  • Jegede, P. O. (2009). Predictors of java programming self–efficacy among engineering students in a Nigerian University. International Journal of Computer Science and Information Security (IJCSIS), 4(2).
  • Jiau, H. C., Chen, J. C., & Su, K. F. (2009). Enhancing self-motivation in learning programming using game-based simulation and metrics. IEEE Transactions on Education, 52(4), 555-562.
  • Lau, W. W. F., & Yuen, A. H. K. (2009). Exploring the effects of gender and learning styles on computer programming performance: implications for programming pedagogy. British Journal of Educational Technology, 40(4), 696-712.
  • Lau, W. W. F., & Yuen, A. H. K. (2011). Modeling programming performance: Beyond the influence of learner characteristics. Computers and Education, 57(1), 1202-1213.
  • Law, K., Lee, V., & Yu, Y. T. (2010). Learning motivation in e-learning facilitated computer programming courses. Computers and Education 55 (2010), 218-228.
  • Liao, Y. C., & Bright, G. W. (1991). Effects of computer programming on cognitive outcomes: a meta- analysis. Journal of Educational Computing Research, 7(3), 251–266.
  • Mannila, L., Peltomaki, M., & Salakoski, T. (2006). What about a simple language? Analyzing the difficulties in learning to program. Computer Science Education, 16(3), s:211-227.
  • Papert, S. (1991). Mindstorms: Children, computers and powerful ideas. Athens: Odysseas Publications (in Greek).
  • Patton, M. Q. (1990). Qualitative evaluation and research methods (2nd ed.). Newbury Park, CA: Sage Publications.
  • Rajala, T., Laakso, M.J., Kaila, E., & Salakoski, T. (2008). Effectiveness of program visualization: a case study with the VILLE tool. Journal of Information Technology Education: Innovations in Practice, 2008(7), 15-32.
  • Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137-172.
  • Shaw, R. S. (2012). A study of the relationships among learning styles, participation types, and performance in programming language learning supported by online forums. Computers and Education 58 (2012), 111–120.
  • Sivasakthi, M., & Rajendran, R. (2011). Learning difficulties of 'object-oriented programming paradigm using Java': students’ perspective. Indian Journal of Science and Technology, 8(4), 983-985.
  • Sullivan, A., & Bers, M. U. (2012). Gender differences in kindergarteners' robotics and programming achievement. International Journal of Technology and Design Education, 23(3), 691-702.
  • Tan, P. H., Ting, C. Y., & Ling, S. W. (2009). Learning difficulties in programming courses: Undergraduates’ perspective and perception. 2009 International Conference on Computer Technology and Development, Kota Kinabalu, Malaysia.
  • Utting, I., Cooper, S., Kölling, M., Maloney, J., & Resnick, M. (2010). Alice, Greenfoot, and scratch - a discussion. ACM Transactions on Computing Education, 10(4), 1-11.
  • Yıldırım, A., & Şimşek, H. (2008). Sosyal Bilimlerde Nitel Araştırma Yöntemleri (6. Baskı), Ankara: Seçkin Yayınevi.
  • Yurdugül, H., & Aşkar, P. (2013). Learning programming, problem solving and gender: A longitudinal study. Procedia - Social and Behavioral Sciences, 83, 605-610.
  • Ziatdinov, R., & Musa, S. (2012). Rapid mental computation system as a tool for algorithmic thinking of elementary school students development. European Researcher, 25(7), 1105-1110. GENİŞLETİLMİŞ ÖZ
  • Programlama dili öğrenme oldukça uzun bir zaman gerektiren zor bir süreçtir. Özellikle lisans düzeyindeki
  • programlama dersleri çoğunlukla üst düzey düşünme becerileri gerektirdiği için genellikle giriş
  • seviyesinde programlama bilgisine sahip öğrenciler tarafından oldukça zor olarak algılanmaktadır (Tan,
  • Ting ve Ling, 2009; Gültekin, 2006). Yapılan çalışmalar öğrencilerin çoğunun programlama dili
  • öğrenmede güçlük çektiğini göstermektedir (Başer, 2012; Ambrosio vd., 2011; Hawi, 2010; Aşkar ve
  • Davenport, 2009). Bu durum öğrencilerin programlama derslerinde başarısız olmasıyla sonuçlanmaktadır
  • Çalışma nitel araştırma yöntemlerinden fenomenoloji yaklaşımı ile desenlenmiştir. Çalışma grubu, 2013
  • 2014 güz yarıyılında Türkiye’de bir devlet üniversitesinde İnternet Tabanlı Programlama dersine devam
  • eden öğrenciler arasından seçilmiştir. Çalışma grubunun belirlenmesinde amaçlı örnekleme yöntemi
  • çeşitlerinden ölçüt örnekleme kullanılmıştır. Ölçüt olarak, öncelikle ifade yeteneği yüksek 18 öğrenci
  • seçilmiş, daha sonra çalışmaya katılmaya gönüllü olduğunu ifade eden 12 öğrenci ile görüşme
  • yapılmıştır. Verilerin toplanma sürecinde öncelikle dersin laboratuvar etkinlikleri iki hafta süreyle
  • araştırmacı tarafından yapılandırılmamış gözlemtekniği ile gözlemlenmiştir. Katılımcı olunmayan gözlem
  • anlayışına uygun biçimde yapılan gözlemlerin tümü video kaydına alınmıştır. Yapılan gözlem ile
  • yürütülmesi planlanan çalışmanın alt amaçları, çalışma grubu, çalışmanın yapılacağı ortam hakkında
  • karar verilmiştir. Bu doğrultuda öğrencilerle, programlama sürecinde yaşadıkları zorluklara ilişkin
  • görüşme yapılması kararlaştırılmıştır. Görüşmeler yarı yapılandırılmış görüşme türüne uygun olarak
  • hazırlanmış ve bireysel görüşme şeklinde gerçekleştirilmiştir. Tümü sesli kayıt altına alınmıştır. Elde
  • edilen veriler içerik analizine uygun olarak çözümlenmiştir. Kodlamalara ilişkin değerlendiriciler arası
  • güvenirliği sağlamak amacıyla, öncelikle veriler ilk yazar tarafından kodlanmış ve temalar
  • oluşturulmuştur. Daha sonra, bu temalar ve temalara ilişkin rastgele seçilen örnek cümleler nitel
  • araştırma yöntemleri dersi almış iki uzmana verilmiş ve kodlarla örnek cümleleri eşleştirmeleri istenmiştir.
  • Uyum yüzdesi %81 olarak hesaplanmıştır.
  • Öğrencilerin programlama sürecinde yaşadıkları zorlukların programlama bilgisi, programlama becerisi,
  • programın mantığını kavrama ve hata ayıklama üzerinde yoğunlaştığı görülmüştür. Araştırmaya katılan
  • öğrenciler, büyük çoğunlukla programlamaya ilişkin genel kavram ve ilkeleri hatırlamakta zorlandıklarını
  • ifade etmişlerdir. Öğrenciler, gerekli programlama bilgisine sahip olmalarına rağmen programı nasıl
  • tasarlayacaklarına ilişkin zorluk yaşadıklarını da belirtmektedirler. Bednarik ve Tukiainen’e (2004) göre,
  • bir hata ayıklama programlama deneyimiyle doğrudan ilişkilidir, programlama deneyimi yüksek olan
  • öğrenciler düşük olanlara göre hata ayıklamada daha başarılıdırlar. Nitekim mevcut çalışmada da önceki
  • programlama deneyimi yüksek olan öğrencilerin programdaki hataları bulmakta zorlanmayacakları
  • yönünde görüş belirttikleri görülmüştür. Öğrencilerin büyük çoğunluğu, programlama konusunda
  • yeterince çalışmamalarını, ders kapsamında yapılan etkinlikler ve verilen ödevler dışında programlama
  • için ek zaman ayırmamalarını ve verilen programları tekrar etmemelerini programlama dillerindeki
  • başarısızlıklarının en büyük nedeni olarak belirtmişlerdir. Ayrıca, programlama deneyimi yüksek olan
  • öğrenciler, programlama başarısının algoritma oluşturmaya bağlı olduğunu vurgulamışlardır. Algoritma
  • oluşturma, özellikle bir programlama dilini yeni öğrenmeye başlayan öğrencilerin en başta öğrenmesi
  • gereken konu olarak öne çıkmaktadır (İmal ve Eser, 2009; Eryılmaz, 2003). Ancak öğrenciler, algoritma
  • oluşturmayı vakit alıcı ve zor bir süreç olarak algıladıkları için (Futschek ve Moschitz, 2010) programlama
  • derslerinde algoritmik düşünmeyi geliştirme en büyük problemlerden biri olarak görülmektedir (Ziatdinov
  • ve Musa, 2012). Ek olarak, programlamayı sevdiğini belirten öğrencilerin genellikle kendilerini
  • geliştirmek, problemin çözümünde alternatif yollar bulmak veya daha nitelikli programlar yazmak için
  • ekstra zaman harcadıkları görülürken; programlamaya ilişkin ön yargısı olan öğrencilerin program
  • yazarken kendilerini sinirli ve stresli hissettikleri ve programlama için ek vakit ayırmak istemedikleri
  • görülmüştür. Bir diğer sonuç, programlama deneyimi yüksek olan öğrencilerin programlama başarısının
  • yüksek olmasıdır. Ancak, bazı öğrencilerin meslek lisesi mezunu olmaları nedeniyle birçok programlama
  • Sonuç olarak, öğrencilerin programlama sürecinde yaşadıkları güçlükleri ve karşılaştıkları engelleri en
  • aza indirebilmek için özellikle yükseköğretim kurumlarında uygun programlama eğitimi verilmesi
  • gerekmektedir (Fessakis, Gouli ve Mavroudi, 2013). Mevcut müfredatın programlama derslerinin
  • saatlerinin artırılması ve bu derslerin kapsamının genişletilmesi suretiyle yeniden düzenlenmesi gerektiği
  • vurgulanmaktadır. Ayrıca, programlama eğitimine daha fazla önem verilmelidir (Akpınar & Altun, 2014);
  • bu kapsamda, programlama eğitimi söz konusu sorunlar ve mevcut durum dikkate alınarak yapılmalıdır.
There are 107 citations in total.

Details

Primary Language English
Journal Section Articles
Authors

Büşra Özmen

Arif Altun This is me

Publication Date March 1, 2014
Submission Date February 6, 2015
Published in Issue Year 2014 Volume: 5 Issue: 3

Cite

APA Özmen, B., & Altun, A. (2014). Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles. Turkish Online Journal of Qualitative Inquiry, 5(3), 1-27. https://doi.org/10.17569/tojqi.20328
AMA Özmen B, Altun A. Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles. TOJQI. July 2014;5(3):1-27. doi:10.17569/tojqi.20328
Chicago Özmen, Büşra, and Arif Altun. “Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles”. Turkish Online Journal of Qualitative Inquiry 5, no. 3 (July 2014): 1-27. https://doi.org/10.17569/tojqi.20328.
EndNote Özmen B, Altun A (July 1, 2014) Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles. Turkish Online Journal of Qualitative Inquiry 5 3 1–27.
IEEE B. Özmen and A. Altun, “Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles”, TOJQI, vol. 5, no. 3, pp. 1–27, 2014, doi: 10.17569/tojqi.20328.
ISNAD Özmen, Büşra - Altun, Arif. “Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles”. Turkish Online Journal of Qualitative Inquiry 5/3 (July 2014), 1-27. https://doi.org/10.17569/tojqi.20328.
JAMA Özmen B, Altun A. Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles. TOJQI. 2014;5:1–27.
MLA Özmen, Büşra and Arif Altun. “Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles”. Turkish Online Journal of Qualitative Inquiry, vol. 5, no. 3, 2014, pp. 1-27, doi:10.17569/tojqi.20328.
Vancouver Özmen B, Altun A. Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles. TOJQI. 2014;5(3):1-27.

Cited By




























Factors Affecting Engineering Students’ Achievement in Computer Programming
International Journal of Computer Science Education in Schools
Melih Derya Gurer
https://doi.org/10.21585/ijcses.v3i4.74