THE EFFECT OF PAIR PROGRAMMING ON THE UNDERSTANDABILITY OF FLOWCHARTS: A CASE STUDY IN A C PROGRAMMING COURSE
Date
2022-03-01
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
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.
Description
EŞ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.
Ö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.
Keywords
computer engineering