Topallı, DamlaKhudhur, Omar Mohammed2022-03-012022-03-012022-03-01http://hdl.handle.net/20.500.11905/667EŞLİ PROGRAMLAMANIN AKIŞ ŞEMALARININ ANLAŞILABİLİRLİĞİNE ETKİSİ: C PROGRAMLAMA DERSİNDE BİR DURUM ÇALIŞMASIÖZ: Algoritma oluşturma, programlama öğrenmede birinci sınıf bilgisayar bilimi öğrencileri için öğrenilmesi gereken en önemli kavramlardan biridir. Ancak çoğu öğrencinin algoritma oluşturmayı ve algoritmaları akış şemaları gibi bir tasarım yöntemleri ile ifade etmekte zorlandıkları gözlemlenmiştir. Bu kapsamda bu tez çalışmasında, eşli programlama yaklaşımının akış diyagramlarının anlaşılabilirliğine etkisinin araştırılması ve 1. Sınıf bilgisayar bilimleri öğrencilerinin C programlama dersindeki bu konu üzerinde başarılarının değerlendirilmesi amaçlanmıştır. Eşli programlama, öğrencilerin bir kod veya tasarım üzerinde çalışırken akranlarıyla etkileşim ve iletişim kurmasını sağlayan bir tekniktir. Buna göre, bu tezde akış diyagramları üzerinde çalışırken ikili programlamanın hata tespit performansı üzerindeki etkisini daha iyi anlamak için tek ve eşli olmak üzere iki grupla deneysel bir çalışma yapılmıştır. İkinci olarak, sınıflandırma algoritmaları kullanılarak eşli ve tek grupların performanslarının sınıflandırılması araştırılmıştır. Son olarak, her iki grubun akış diyagramları ile ilgili derste kaydettiği ilerleme, ön test ve son test deneysel tasarımına dayalı olarak karşılaştırılmış ve analiz edilmiştir. Çalışmanın sonuçları, eşli grubun tek çalışan gruba göre akış diyagramlarında daha fazla hatayı doğru tespit ettiğini göstermiştir. Akış diyagramları üzerinde hata tespit performanslarına göre kullanılarak tek ve eşli grupları ayırt edilebilmek için öznitelik seçme yöntemleri ve çeşitli sınıflandırma algoritmaları kullanılmış olup karar ağacı (J48) ve kural tabanlı PART algoritmaları uygulandığında elde edilen en yüksek doğruluk yaklaşık olarak %70 olup, bu değer sınıflandırma başarısı açısından düşüktür. Ön test ve son test analiz sonuçlarına göre, başlangıçta bu gruplar arasında anlamlı bir fark yoktur, ancak son test sonuçları, eşli grubun tek gruba göre sınav puanları dikkate alındığında daha başarılı olduklarını ortaya koymaktadır. Bu sonuçlar, C derslerinde eşli programlama tekniğinin kullanımının, algoritma oluşturma ve programlamayı öğrenmede öğrenci motivasyonunu ve başarısını artırabileceğini göstermektedir. Gelecekte yapılacak çalışmalarda bu tekniğin yazılım ve bilişim şirketleri için kullanımının araştırılması ile, senkronize olarak çalışabilecek etkin eşli grupların oluşturulmasının projelerin verimliliğini artırması beklenmektedir.Constructing algorithms is one of the most important concepts to be learned for the first-year computer science students in learning programming. However, it is observed that most students find it challenging to construct algorithms and represent it by using a design, such as flowcharts. Based on this issue, in this thesis, it is aimed to investigate the effect of pair programming approach on the understandability of flowcharts and evaluate the progress of CS1 students in a C programming course on this topic. Pair programming is a technique which enables students to interact and communicate with their peers when working on a code or design project. Accordingly, in this thesis, an experimental study is conducted with two groups: solo and pair to better understand the effect of pair programming on defect detection performance while working on the flowcharts. Secondly, it is investigated if pair and solo groups’ performance can be classified by using classification algorithms. Finally, both groups’ progress in the course regarding the flowcharts is compared and analyzed based on a pre-test and post-test experimental design. The results of the study reveal that the pair group detects more defects correctly on the flowchart when compared to the solo group. To differentiate between solo and pair groups, after applying feature selection methods and classification algorithms, the highest accuracy obtained is approximately 70% when the decision tree (J48) and rule-based PART algorithms are applied, which is considerably low. According to the pre-test and post-test analysis results, at the beginning, there is no significant difference between those groups, but post-test results reveal that pair groups progress is higher considering the exam scores compared to the solo groups. These results may provide insight that adopting pair programming in programming courses can increase students’ motivation and success in constructing algorithms and learning programming. In future studies, it is expected that the use of this technique for software and IT companies and the creation of effective paired groups that can work in synchronization may increase the efficiency of the projects.encomputer engineeringTHE EFFECT OF PAIR PROGRAMMING ON THE UNDERSTANDABILITY OF FLOWCHARTS: A CASE STUDY IN A C PROGRAMMING COURSEEŞLİ PROGRAMLAMANIN AKIŞ ŞEMALARININ ANLAŞILABİLİRLİĞİNE ETKİSİ: C PROGRAMLAMA DERSİNDE BİR DURUM ÇALIŞMASIThesis