top of page

Revisiting the Effectiveness of Competition (Programming Contests) in Introductory Programming Courses

Research Team
Dr. E. Rebecca Caldwell, PI/Faculty Advisor, Winston-Salem State University Ameenah Abdur-Raheem, Junior, Winston-Salem State University Haven Hairston, Junior, Winston-Salem State University  Lisa Hauser, Senior, Winston-Salem State University Nia Le

Project Description 
The improvement of academic performance in introductory programming classes is an ongoing mission of the curriculum committee in the Computer Science Department at Winston-Salem State University.  Across the country every year a high volume of students fail their introductory programming courses, or complete them with substandard knowledge.  This project seeks to address that problem by revisiting an intervention that was previously introduced but not quantitatively studied for significant results.  This intervention introduces competition via programming contests in the courses as a means of assessing students problem solving and programming skills towards improve academic achievement. Why revisit the intervention now?  During the last academic year while actively involved in another CREU research project, we noticed on several in class assignments that the students started to compete for rights to who wrote the best program.  There were not any tangible incentives involved.  Later, we observed the test scores of students who had previously done poorly improved.  At first I thought this was just a coincidence but it happened again in another section of the course.  Therefore, we believe the concept is worth revisiting.    The aforementioned reasons are the motivation for this project.  
 

Research Questions
The specific questions to be addressed in this CREU research project are:
 Question 1:   Is there any significant difference between the academic performance of students being assessed using the traditional lab quizzes and the students being assessed through competition? 
 
 Question 2:   What are the learning styles of the students enrolled in the introductory programming courses?
 
 Question 3:   Is there any significance difference between the motivation of students enrolled in the traditional lab and students in the competition lab? 
 
 Question 4:   Is there any significance difference in the retention of programming concepts in students enrolled in the traditional laboratory session and students enrolled in the competition lab sessions?

Research Methods 
 This CREU project frames an exploratory study to investigate competition as a means to improve student achievement and retention in introductory programming courses.  The project will utilize two intact closed laboratory sessions that use the java programming language and the BlueJ IDE.  To ensure consistency, the same instructor will conduct both laboratory sessions and the lecture sessions.  All laboratory session participants will experience the same in class experience.  One laboratory session will experience traditional laboratory quizzes while the other session will experience programming contests as the method of assessment. 
Students will not be provided with the difference in laboratory sessions information prior to enrolling in the class.  All laboratory session participants will be exposed to the same in class experience.  The laboratory sessions will have quizzes on java fundaments, classes and objects, decision structures, looping structures, and arrays.   The competition programming problems will be developed as close to real world applications as possible.    Judging rubrics will be developed and used to assess the correctness of the solutions of the competition problems.  Junior and senior computer science majors will be used as judges for the competitions.  The four female researchers will evaluate each competition problem to ensure the problems are gender friendly prior to deployment.  Surveys will be administered to capture students experiences.

 
Background Research
Introductory programming courses are generally required in all computer science majors.  Programming is noted for being challenging for instructors to teach and difficult for students to learn.  Research by computer science educators for decades has focused on innovative approaches to facilitating both the teaching and learning of programming.  Researchers tend to agree that competition plays an important role in academic achievement because it often stimulates students to chase excellence.   A survey of the literature found some support for our suspicion that competition could be harnessed and directed to motivate introductory programming students.  Pargas offers competition as one strategy for improving individual outcomes in CS1 and Roberts describes success in shaping an introductory course around a large competition at the end.  Programming contests have a number of pedagogical benefits: they reinforce many concepts and skills that students see in computer science courses, build cross-cutting skills such as teamwork, and can improve job prospects by better preparing students for technical job interviews.

 

References 

J. F. Bowring, “A new paradigm for programming competitions,” in SIGCSE’08, pp. 87–91. http://doi.acm.org/10.1145/1352135.1352166

 
V. Dagiene and G. Futschek. Bebras, a contest to motivate students to study computer science and develop computational thinking. In WCCE 2013: Tenth World Conference on Computers in Education,Torun, Poland, July 2013.
 
R. P. Pargas, J. C. Lundy, and J. N. Underwood. Tournament play in cs1. In ACM SIGCSE Bulletin, Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education, March 1997.
 
E. Roberts. Strategies for encouraging individual achievement in introductory computer science courses. In ACM SIGCSE Bulletin, Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, March 2000.
 
 

bottom of page