Öğretim Uygulaması
BibTex RIS Kaynak Göster

I-See-Bytes: A Simplified C++ Graphics Library for Concurrent Programming Education

Yıl 2025, Cilt: 18 Sayı: 2, 152 - 162, 22.12.2025
https://doi.org/10.54525/bbmd.1669509

Öz

Multithreaded programming is one of the most difficult subjects to teach at the undergraduate level. Different algorithms that run parallel to each other, that access the same resources asynchronously and communicate with each other to synchronize their behavior is difficult to grasp. Concurrent programming techniques are mostly used in server applications which are written in C++. Unfortunately, since C++ is difficult to teach compared to other languages, most universities focus on teaching in Python, which is easy, or Java, which is popular. That makes teaching concurrent programming in C++ even more difficult. In this study, a graphics library and course applications called I-See-Bytes, which offers the conveniences offered by Python for variables in C++ and makes game programming and debugging easier, are mentioned.

Proje Numarası

-

Kaynakça

  • Csikszentmihalyi, M., & Csikzentmihaly, M. (1990). Flow: The psychology of optimal experience. New York: Harper & Row. (Vol. 1990, p. 1).
  • Finneran, Christina M., and Ping Zhang. "Flow in computer-mediated environments: Promises and challenges." Communications of the association for information systems 15.1 (2005): 4.
  • Valinatajbahnamiri, Mona, and Vida Siahtiri. "Flow in computer‐mediated environments: A systematic literature review." International Journal of Consumer Studies 45.4 (2021): 511-545.
  • Cseh, Genevieve M., Louise H. Phillips, and David G. Pearson. "Flow, affect and visual creativity." Cognition and Emotion 29.2 (2015): 281-291.
  • Naps, Thomas, et al. "Evaluating the educational impact of visualization." Acm sigcse bulletin 35.4 (2003): 124-136.
  • Repenning, A. AgentSheets®: An interactive simulation environment with end-user programmable agents. Interaction. (2000)
  • Kraidy, Ute. "Digital media and education: cognitive impact of information visualization." Journal of Educational Media 27.3 (2002): 95-106.
  • Fırat, E. E., & Laramee, R. S. (2018). Towards a survey of interactive visualization for education. Computer Graphics and Visual Computing, CGVC 2018, 91-101.
  • Repenning, Alexander, et al. "Retention of flow: Evaluating a computer science education week activity." Proceedings of the 47th ACM Technical Symposium on Computing Science Education. 2016.
  • Siegfried, R. M., Herbert-Berger, K. G., Leune, K., & Siegfried, J. P. (2021, August). Trends of commonly used programming languages in CS1 and CS2 learning. In 2021 16th International Conference on Computer Science & Education (ICCSE) (pp. 407-412). IEEE.
  • Dennis G. Balreira, Thiago L. T. da Silveira, Juliano A. Wickboldt "Investigating the impact of adopting Python and C languages for introductory engineering programming courses, Comp. Appl Eng Educ. 2023;31:47–62.
  • Duffany, Jeffrey L. "Choice of language for an introduction to programming course." Excellence in Engineering To Enhance a Country’s Productivity, Twelfth LACCEI Latin American and Caribbean Conference for Engineering and Technology (LACCEI’2014). 2014.
  • Glasauer, C. Yeh, M. K., DeLong, L. A., Yan, Y., & Zhuang, Y. “C”ing the light – assessing code comprehension in novice programmers using C code patterns. Computer Science Education, https://doi.org/10.1080/08993408.2024.2317079 (2024) 1-25.
  • Rodríguez‐Vidal, Javier, and Ángel García‐Beltrán. "Impact of C‐coding self‐assessment exercises on exam performance: A study in engineering education." Computer Applications in Engineering Education 32.2 (2024): e22706.
  • Ferhat Kadir Pala, and Pınar Mıhçı Türker. "The effects of different programming trainings on the computational thinking skills." Interactive Learning Environments 29.7 (2021): 1090-1100.
  • Windows API https://en.wikipedia.org/wiki/Windows_API
  • Simon, Richard J. "Windows 95 common controls & messages API bible." Simon & Schuster, 1996.
  • Feldman M.B. and B.D. Bachus, “Concurrent Programming CAN be Introduced into the Lower-Level Undergraduate Curriculum” ACM SIGCSE Bulletin 29-3 (1997) pp 77-79.
  • Videnovik, Maja, et al. "Game-based learning in computer science education: a scoping literature review." International Journal of STEM Education 10.1 (2023): 54.
  • Krath, Jeanine, Linda Schürmann, and Harald FO Von Korflesch. "Revealing the theoretical basis of gamification: A systematic review and analysis of theory in research on gamification, serious games and game-based learning." Computers in Human Behavior 125 (2021): 106963.
  • Marmorstein R., “Teaching Semaphores using ... Semaphores” Journal of Computing Sciences in Colleges, 30 (3) pp 117-125, (2015).
  • Inggs, C.P, T. Gadd, J Giffard, ”Learning Concurrency Concepts while Playing Games” 9th International Conference on Computer Supported Education, CSEDU 2017, v 1,pp 597-602.
  • Zhu, Jichen, et al. Programming in game space: how to represent parallel programming concepts in an educational game. In: Proceedings of the 14th International Conference on the Foundations of Digital Games. 2019. p. 1-10.
  • Hudecek P., M. Pokorny, The Deadlock Empire: Slay Dragons, master concurrency. https://deadlockempire.github.io/ (2017).
  • Baykal I. C. “ICBYTES Basitleştirilmiş C++ Kütüphanesi.pdf” klasör: https://github.com/cembaykal/icbytes (2024).
  • Baykal I. C. “I-See-Bytes A Simplified C++ Library.pdf” klasör: https://github.com/cembaykal/icbytes (2024).
  • LINE MACRO https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
  • https://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library
  • https://en.wikipedia.org/wiki/.NET
  • WINE https://www.winehq.org
  • Sawyer, Keith. Group Genius: The Creative Power of Collaboration. Basic Books. 2007.
  • Łucznik, Klara, Jon May, and Emma Redding. "A qualitative investigation of flow experience in group creativity." Research in Dance Education 22.2 (2021): 190-209.
  • Pamuk, Mürşide Miraç Hayrunnisa. Yönlendirici grup oyun terapisinin dikkat eksikliği ve sosyal duygusal beceri algısına etkisi. MS thesis. İstanbul Sabahattin Zaim Üniversitesi, 2022.
  • Basawapatna, Ashok, Alexander Repenning, and Mark Savignano. "The zones of proximal flow tutorial: designing computational thinking cliffhangers." Proceedings of the 50th ACM Technical Symposium on Computer Science Education. 2019.
  • Java ve C++ derlenen programların kod hızı karşılaştırması https://programming-language-benchmarks.vercel.app/java-vs-cpp
  • Python ve C++ derlenen programların kod hızı karşılaştırması https://programming-language-benchmarks.vercel.app/python-vs-cpp
  • Qt kütüphanesi https://www.qt.io
  • SDL (Simple DirectMedia Layer) kütüphanesi: https://www.libsdl.org/
  • SFML (Simple and Fast Multimedia Library) kütüphanesi https://www.sfml-dev.org

I-See-Bytes: Eşzamanlı Programlama Eğitimi için Basitleştirilmiş C++ Grafik Kütüphanesi

Yıl 2025, Cilt: 18 Sayı: 2, 152 - 162, 22.12.2025
https://doi.org/10.54525/bbmd.1669509

Öz

Çok iş parçacıklı programlama, lisans düzeyinde öğretilmesi en zor konulardan biridir. Birbirine paralel çalışan, aynı kaynaklara eş zamanlı olmayan bir şekilde erişen ve davranışlarını senkronize etmek için birbirleriyle iletişim kuran farklı algoritmaları kavramak zordur. Eş zamanlı programlama teknikleri çoğunlukla C++ ile yazılmış sunucu uygulamalarında kullanılır. Ancak C++ diğer dillere göre öğretilmesi zor olduğu için çoğu Üniversite kolay olan Python ya da popüler olan Java dilinde öğretime ağırlık vermektedir. Bu da C++’da eşzamanlı programlama öğretmeyi daha da zorlaştırmaktadır. Bu çalışmada, ismi I-See-Bytes olup, Python dilinin değişkenler için sunduğu kolaylıkları C++’da sunan, hata ayıklamayı ve oyun programlamayı kolaylaştıran bir grafik kütüphanesinden ve ders uygulamalarından bahsedilmektedir.

Destekleyen Kurum

-

Proje Numarası

-

Teşekkür

-

Kaynakça

  • Csikszentmihalyi, M., & Csikzentmihaly, M. (1990). Flow: The psychology of optimal experience. New York: Harper & Row. (Vol. 1990, p. 1).
  • Finneran, Christina M., and Ping Zhang. "Flow in computer-mediated environments: Promises and challenges." Communications of the association for information systems 15.1 (2005): 4.
  • Valinatajbahnamiri, Mona, and Vida Siahtiri. "Flow in computer‐mediated environments: A systematic literature review." International Journal of Consumer Studies 45.4 (2021): 511-545.
  • Cseh, Genevieve M., Louise H. Phillips, and David G. Pearson. "Flow, affect and visual creativity." Cognition and Emotion 29.2 (2015): 281-291.
  • Naps, Thomas, et al. "Evaluating the educational impact of visualization." Acm sigcse bulletin 35.4 (2003): 124-136.
  • Repenning, A. AgentSheets®: An interactive simulation environment with end-user programmable agents. Interaction. (2000)
  • Kraidy, Ute. "Digital media and education: cognitive impact of information visualization." Journal of Educational Media 27.3 (2002): 95-106.
  • Fırat, E. E., & Laramee, R. S. (2018). Towards a survey of interactive visualization for education. Computer Graphics and Visual Computing, CGVC 2018, 91-101.
  • Repenning, Alexander, et al. "Retention of flow: Evaluating a computer science education week activity." Proceedings of the 47th ACM Technical Symposium on Computing Science Education. 2016.
  • Siegfried, R. M., Herbert-Berger, K. G., Leune, K., & Siegfried, J. P. (2021, August). Trends of commonly used programming languages in CS1 and CS2 learning. In 2021 16th International Conference on Computer Science & Education (ICCSE) (pp. 407-412). IEEE.
  • Dennis G. Balreira, Thiago L. T. da Silveira, Juliano A. Wickboldt "Investigating the impact of adopting Python and C languages for introductory engineering programming courses, Comp. Appl Eng Educ. 2023;31:47–62.
  • Duffany, Jeffrey L. "Choice of language for an introduction to programming course." Excellence in Engineering To Enhance a Country’s Productivity, Twelfth LACCEI Latin American and Caribbean Conference for Engineering and Technology (LACCEI’2014). 2014.
  • Glasauer, C. Yeh, M. K., DeLong, L. A., Yan, Y., & Zhuang, Y. “C”ing the light – assessing code comprehension in novice programmers using C code patterns. Computer Science Education, https://doi.org/10.1080/08993408.2024.2317079 (2024) 1-25.
  • Rodríguez‐Vidal, Javier, and Ángel García‐Beltrán. "Impact of C‐coding self‐assessment exercises on exam performance: A study in engineering education." Computer Applications in Engineering Education 32.2 (2024): e22706.
  • Ferhat Kadir Pala, and Pınar Mıhçı Türker. "The effects of different programming trainings on the computational thinking skills." Interactive Learning Environments 29.7 (2021): 1090-1100.
  • Windows API https://en.wikipedia.org/wiki/Windows_API
  • Simon, Richard J. "Windows 95 common controls & messages API bible." Simon & Schuster, 1996.
  • Feldman M.B. and B.D. Bachus, “Concurrent Programming CAN be Introduced into the Lower-Level Undergraduate Curriculum” ACM SIGCSE Bulletin 29-3 (1997) pp 77-79.
  • Videnovik, Maja, et al. "Game-based learning in computer science education: a scoping literature review." International Journal of STEM Education 10.1 (2023): 54.
  • Krath, Jeanine, Linda Schürmann, and Harald FO Von Korflesch. "Revealing the theoretical basis of gamification: A systematic review and analysis of theory in research on gamification, serious games and game-based learning." Computers in Human Behavior 125 (2021): 106963.
  • Marmorstein R., “Teaching Semaphores using ... Semaphores” Journal of Computing Sciences in Colleges, 30 (3) pp 117-125, (2015).
  • Inggs, C.P, T. Gadd, J Giffard, ”Learning Concurrency Concepts while Playing Games” 9th International Conference on Computer Supported Education, CSEDU 2017, v 1,pp 597-602.
  • Zhu, Jichen, et al. Programming in game space: how to represent parallel programming concepts in an educational game. In: Proceedings of the 14th International Conference on the Foundations of Digital Games. 2019. p. 1-10.
  • Hudecek P., M. Pokorny, The Deadlock Empire: Slay Dragons, master concurrency. https://deadlockempire.github.io/ (2017).
  • Baykal I. C. “ICBYTES Basitleştirilmiş C++ Kütüphanesi.pdf” klasör: https://github.com/cembaykal/icbytes (2024).
  • Baykal I. C. “I-See-Bytes A Simplified C++ Library.pdf” klasör: https://github.com/cembaykal/icbytes (2024).
  • LINE MACRO https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
  • https://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library
  • https://en.wikipedia.org/wiki/.NET
  • WINE https://www.winehq.org
  • Sawyer, Keith. Group Genius: The Creative Power of Collaboration. Basic Books. 2007.
  • Łucznik, Klara, Jon May, and Emma Redding. "A qualitative investigation of flow experience in group creativity." Research in Dance Education 22.2 (2021): 190-209.
  • Pamuk, Mürşide Miraç Hayrunnisa. Yönlendirici grup oyun terapisinin dikkat eksikliği ve sosyal duygusal beceri algısına etkisi. MS thesis. İstanbul Sabahattin Zaim Üniversitesi, 2022.
  • Basawapatna, Ashok, Alexander Repenning, and Mark Savignano. "The zones of proximal flow tutorial: designing computational thinking cliffhangers." Proceedings of the 50th ACM Technical Symposium on Computer Science Education. 2019.
  • Java ve C++ derlenen programların kod hızı karşılaştırması https://programming-language-benchmarks.vercel.app/java-vs-cpp
  • Python ve C++ derlenen programların kod hızı karşılaştırması https://programming-language-benchmarks.vercel.app/python-vs-cpp
  • Qt kütüphanesi https://www.qt.io
  • SDL (Simple DirectMedia Layer) kütüphanesi: https://www.libsdl.org/
  • SFML (Simple and Fast Multimedia Library) kütüphanesi https://www.sfml-dev.org
Toplam 39 adet kaynakça vardır.

Ayrıntılar

Birincil Dil Türkçe
Konular Bilgi Sistemleri Eğitimi, Bilgi Sistemleri Geliştirme Metodolojileri ve Uygulamaları
Bölüm Öğretim Uygulaması
Yazarlar

İbrahim Cem Baykal

Proje Numarası -
Gönderilme Tarihi 3 Nisan 2025
Kabul Tarihi 27 Ekim 2025
Erken Görünüm Tarihi 16 Aralık 2025
Yayımlanma Tarihi 22 Aralık 2025
Yayımlandığı Sayı Yıl 2025 Cilt: 18 Sayı: 2

Kaynak Göster

IEEE İ. C. Baykal, “I-See-Bytes: Eşzamanlı Programlama Eğitimi için Basitleştirilmiş C++ Grafik Kütüphanesi”, bbmd, c. 18, sy. 2, ss. 152–162, 2025, doi: 10.54525/bbmd.1669509.