A Framework for Personalized Competitive Programming Training
2018, 2018 17th International Conference on Information Technology Based Higher Education and Training (ITHET)
https://doi.org/10.1109/ITHET.2018.8424620…
8 pages
Sign up for access to the world's latest research
Abstract
Programming Contests are a special branch in the general area of training and education programming support and cover an important role in the area of computer science. Rather than the direct provision of concepts and exercises related to programming, the main concern is on the algorithms and data structures managed while composing the solution to a problem, and the quality of the solution program itself. Training via web for programming contests is mainly comprised of the activity of producing solutions to problems offered by the online system (online training platforms), whereas a solution is a program, submitted by the student, and it has to be evaluated, in order to assess the programming performance, and give suggestions about the quality of the solution, so to make the experience an informative (learning) one. To the best of our knowledge, supporting a personalized approach and possibly recommendations given by the system, is a challenge. In this paper we tackle the problem of supporting students in their online training toward the participation in a programming contest, aiming at defining a framework that can allow recommendations, under the form of suggestions, to the learner, about the next programming problem to undertake, and that can foster motivation in students by means of a lightweight, badge-based, gamified approach.
Related papers
Annales UMCS, Informatica, 2009
Computer science would not exist without the concept of algorithm. Therefore design of algorithms plays an important role in education while implementation is usually considered to be straightforward. Increasing variety of programming languages, wealth of possible constructions, programming environments and tools makes programming difficult for the beginners. Apart from the idea of problem solution, it is important to teach programming skills. Size of classes of 10-20 pupils and a limited number of lessons and their short time are the major problem. The teacher has to check solution of every pupil, compile it and run tests. This is definitely a time-consuming process which makes teaching difficult. In this paper the authors present the use of problem solutions validation systems during classes. With the help of such a system called ZawodyWEB, the authors teach algorithms and programming for the secondary school students.
2003
Abstract This paper presents a new Web-based system, Mooshak, to handle programming contests. The system acts as a full contest manager as well as an automatic judge for programming contests.
Communication Papers of the 2018 Federated Conference on Computer Science and Information Systems
This paper presents our experience using gamification principles into the free and open-source learning management system Moodle for aiding and abetting our Computer Science students in learning algorithms. In this work, we used the LMS Moodle and we developed a module with gamification features focused on promoting engagement of students in the learning process of basic concepts of algorithms, data structures and pointers. We conducted a deep study about Moodle and how to implement gamification plugins into the environment. We used and configured HotPotatoes, Games, LevelUp and Badges plugins. We defined the lessons about the specific concepts of algorithms and we created them into Moodle environment. Then we implemented several games, like hangman, crosswords, cryptex, snakes and ladders. We used LevelUp with the objective to gamify the students' learning experience by allowing them to earn experience points to level up in their courses. Badges were used in order to motivate students in their achievements and to show their progress in the courses. In our learning environment, it is possible to have different levels of proficiency in the class and rewards are based on different rules the professor can define; the student can earn more points for some activities or fewer points for other activities. A comparative ranking can be displayed so that students can see their progress, and the professor can look at the log to verify the activities students did and the points they have earned. The results showed us that the use of gamification concepts can contribute significantly to the process of teaching-learning programming concepts to students in the early years, as well for teenager's students without any previous knowledge about programming concepts. This study aims to present the methodology used to carry out our experience and the results obtained with the development and implementation of gamification concepts in a free and open-source learning management system.
Macedonia has a tradition of organizing programming contests for high-school students as long as the tradition of IOI. In the last few years the organizer, the Computer Society of Macedonia (CSM), used the online learning and contest management system MENDO, firstly for the organization and carrying out of the national contests, and also for the promotion of the contests, programming and algorithmic thinking. CSM tries to provide a portal for the students that will offer complete learning materials and tools, and that will motivate them and allow them to learn programming and prepare for the competitions. In this paper we will present MENDO with its new features, and we will mention some new and original features for collaboration and personalization. At the end, we will present the great improvements in sense of the number of contestants and achievements of Macedonian students at the international competitions, showing that MENDO is a valuable asset for organization of competitions.
Procedia Computer Science, 2019
Computer programming is a complex domain both to teach and learn. This incited endeavors to find methods that could mitigate at least some of the existing barriers. In the last years, automatic assessment has been playing an important role in reducing the burden of teachers in the assessment of students' attempts to solve programming exercises and fostering the autonomy of students by allowing them to practice in any place and at any time with timely feedback. Even more recent development is the use of gamification in computer programming education in order to raise the enjoyment and engagement of students. Despite its rising spread, until now, there is not a programming exercise specification format addressing the needs of gamification, such as the definition of challenges, the underlying storyline, including the links to other exercises, or the rewards for solving challenges in form of points, badges or virtual items. Such a data format would allow the exchange of ready-to-use programming exercises along with the gamification-related data among different educational institutions and courses, providing instructors a possibility to make use of gamification in their courses without having to invest their own time in defining gamification rules themselves. In this paper, we analyze a set of concepts related to programming gamification developed in our previous work to identify the requirements for the specification of a gamified exercise format.
2016
This article is for beginning programmers who are new to program-ming contests. I will discuss the common problems faced in contests, the University of Valladolid online judge, and the USU online judge. The suggestions are divided into three parts: General Suggestions, Online Contest Suggestions, and Valladolid-Specific Suggestions. Throughout this paper, please note that in real-time contests, the judges are human and in online contests, the judges are computer pro-grams, unless otherwise noted.
ACM SIGCSE Bulletin, 2008
The annual ACM International Collegiate Programming Contest produces a competitive paradigm that is at odds with the pedagogical goals of modern computer science and software engineering degree programs. This paradigm stresses the fast completion of a programming task and evaluates the results solely with black-box testing specified by the judges. In contrast, the pedagogical goals of contemporary college degree programs in computing emphasize the quality of processes inherent in software development and implementation. In 2007, the College of Charleston student chapter of the ACM hosted its annual high school programming competition by turning the conventional programming paradigm on its head to focus on quality-of-process rather than timeto-complete. The judging criteria included both technical and artistic merit. The implementation of the competition emphasized success by giving students working skeleton solution programs. This paper presents the motivation for the new paradigm, the details of its implementation for the 2007 competition, and the details of the new techniques for judging technical and artistic merit.
Competitions in informatics are usually synonyms for algorithmic programming contests. Many of these competitions use automatic grading of the contestants' solutions. This is done by running them on batches of input data and testing the correctness of the output. In this paper we will introduce a newly developed system called "MENDO", which is used by the Macedonian Computer Society in the organization of national informatics competitions. We will outline the main modules every grading system should support (sandbox, grader, controller, auxiliary modules) and present how each one of them is implemented in our system. We will show that MENDO is comprehensive and superior in a number of functionalities as compared to the other presently existing systems.
2020
Learning programming relies on practicing it which is often hampered by the barrier of difficulty. The combined use of automated assessment, which provides fast feedback to the students experimenting with their code, and gamification, which provides additional motivation for the students to intensify their learning effort, can help pass the barrier of difficulty in learning programming. In such environment, students keep receiving the relevant feedback no matter how many times they try (thanks to automated assessment), and their engagement is retained (thanks to gamification). While there is a number of open software and programming exercise collections supporting automated assessment, up to this date, there are no available open collections of gamified programming exercises, no open interactive programming learning environment that would support such exercises, and even no open standard for the representation of such exercises so that they could be developed in different educationa...
International Journal of Electrical, Energy and Power System Engineering, 2021
People's dependence on digital technology has increased rapidly since the global Covid-19 pandemic. This causes the world's need for digital products and human resources to make digital products higher. Informatics Engineering Program is one of the providers of human resources who are proficient in the field of information technology. One of the basic skills that must be possessed to create digital products is programming or coding skills. The more skilled a person is at typing and understanding coding, the more complex the digital products he can create. This is why the coding ability of students in the Informatics Engineering Program must be improved. This website-based coding training program aims to improve the coding skills of Informatics Engineering students with interesting and fun gamification methods. Gamification methodology will greatly benefit student of Informatics Engineering Program in Riau University to improve his or her coding skill without consuming too mu...
Key takeaways
AI
AI
- The proposed framework personalizes programming contest training through dynamic student modeling and problem recommendations.
- Gamification elements, like badges, enhance learner motivation and engagement in programming training.
- Real-time dynamic testing evaluates submitted solutions, providing timely feedback on performance and quality.
- Recommendations are based on the student's model, guiding them to the most beneficial problems for skill development.
- The framework is aimed at preparing students for prestigious contests like the IOI and ACM ICPC.
References (40)
- V. Dagienė, "Sustaining informatics education by contests," in Teaching Fundamentals Concepts of Informatics. Springer, 2010, pp. 1-12.
- G. Garcia-Mateos and J. L. Fernandez-Aleman, "Make learning fun with programming contests," in Transactions on Edutainment II. Springer, 2009, pp. 246-257.
- G. Audrito, G. B. Demo, and E. Giovannetti, "The role of contests in changing informatics education: A local view." Olympiads in Informat- ics, vol. 6, 2012.
- O. Astrachan, "Non-competitive programming contest problems as the basis for just-in-time teaching," in Frontiers in Education, 2004. FIE 2004. 34th Annual, Oct 2004, pp. T3H/20-T3H/24 Vol. 1.
- M. Blumenstein, S. Green, S. Fogelman, A. Nguyen, and V. Muthukku- marasamy, "Performance analysis of game: a generic automated marking environment," Computers and Education, vol. 50, pp. 1203--1216, 2008.
- T. Wang, P. Su, X.and Ma, Y. Wang, and K. Wang, "Ability-training- oriented automated assessment in introductory programming course," Computers and Education, vol. 56, pp. 220--226, 20011.
- S. S. Skiena and M. A. Revilla, Programming challenges: The program- ming contest training manual. Springer Science & Business Media, 2003.
- S. Halim and F. Halim, Competitive Programming, Third Edition. Lulu. com, 2013.
- F. Ricci, L. Rokach, and B. Shapira, Introduction to Recommender Systems, 2011, pp. 1--29.
- J. Bobadilla, F. Ortega, A. Hernando, and A. Gutiérrez, "Recommender systems survey," Knowledge-Based Systems, vol. 46, pp. 109-132, 2013.
- B. Bradley and B. Smyth, "Improving recommendation diversity," in Proc. of 12th Nat. Conf. Artif. Intell. Cogn. Sci (AICS01), 2001, pp. 75-84.
- M. Kunaver and T. Pozrl, "Diversity in recommender systems -a survey," Knowledge-Based Systems, vol. 123, pp. 154-162, 2017.
- E. N. Lennart and S. Deterding, "The maturing of gamification research," Computers in Human Behavior, 2017.
- K. Seaborn and D. Fels, "Gamification in theory and action: A survey," International Journal of Human-Computer Studies, vol. 74, pp. 14-31, 2014.
- S. Deterding, D. Dixon, R. Khaled, and L. Nacke, "From game design elements to gamefulness: Defining gamification," in Proc. of the 15th In- ternational Academic MindTrek Conference: Envisioning Future Media Environments, 2011, pp. 9-15.
- J. Witte, R. Westbrook, and M. Witte, "Gamification and training," in Proc. of Global Conference on Education and Research (GLOCER 2017), W. B. J. and C. Cobanoglu, Eds., 2017.
- A. Domínguez, J. Saenz-de Navarrete, L. De-Marcos, L. Fernández- Sanz, C. Pagés, and J. Martínez-Herráiz, "Gamifying learning experi- ences: Practical implications and outcomes," Computers and Education, vol. 63, pp. 380-392, 2013.
- R. Picard, "Affective computing," MIT Cambridge (MA), Tech. Rep., 1995.
- G. Tondello, R. Orji, and E. Lennart, "Recommender systems for personalized gamification," in Proc. of Fifty Shades of Personalization -Workshop on Personalization in Serious and Persuasive Games and Gameful Interaction, 2017.
- P. M. Fenwick, "A new data structure for cumulative frequency tables," Softw. Pract. Exper., vol. 24, no. 3, pp. 327-336, Mar. 1994. [Online]. Available: http://dx.doi.org/10.1002/spe.4380240306
- A. Laaksonen, Guide to Competitive Programming. Springer, 2017.
- T. Wang, P. Su, X. Ma, Y. Wang, and K. Wang, "Ability-training-oriented automated assess-ment in introductory programming course." Comp. and Ed., vol. 56, pp. 220-226, 2011.
- J. Hollingsworth, "Automatic graders for programming classes." Comm. ACM, vol. 3, 1960.
- M. Hristova, A. Misra, M. Rutter, and R. Mercuri, "Identifying and correcting java program-ming errors for introductory computer science students." in Proc. SIGCSE 2003, 2003.
- V. Pieterse, "Automated assessment of programming assignments." in Proc. CSERC 2013, 2013, pp. 200-203.
- C. Watson, F. Li, and J. Godwin, "Bluefix: Using crowd-sourced feedback to support programming students in error diagnosis and repair," in Proc. Int. Conf. on Web-based Learning, ICWL 2012, ser. LNCS, vol. 7558. Springer Verlag, 2012, pp. 228-239.
- K. Naudé, J. Greyling, and D. Vogts, "Marking student programs using graph similarity," Comp. and Ed., vol. 54, pp. 545--561, 2010.
- M. Joy, N. Griffiths, and R. Boyatt, "The boss online submission and assessment system." ACM J. Educational Resources in Computing, vol. 5, 2005.
- S. Combéfis and J. Wautelet, "Programming trainings and informatics teaching through online contests." Olympiads in Informatics, vol. 21, 2014.
- E. Enstrom, G. Kreitz, F. Niemela, P. Soderman, and V. Kann, "Five years with kattis -us-ing an automated assessment system in teaching." in Proc. FIE 2011, 2011.
- S. Edwards and M. Perez-Quinones, "Web-cat: automatically grading programming assignments." in Proc. ITiCSE 2008, 2008.
- D. de Souza, J. Maldonado, and E. Barbosa, "Progtest: An environment for the sub-mission and evaluation of programming assignments." in Proc. IEEE SEET 2011, 2011.
- W. Di Luigi, G. Farina, L. Laura, U. Nanni, M. Temperini, and L. Versari, "oii-web: an interactive online programming contest training system," Olympiads in Informatics, vol. 10, pp. 195-205, 2016.
- R. Van Eck, "Digital game-based learning: It's not just the digital natives who are restless." EDUCAUSE Review, vol. 41, pp. 16-30, 2006.
- S. Deterding, R. Khaled, L. Nacke, and D. Dixon, "Gamification: toward a definition." in Proc. CHI 2011 Gamification Workshop, 2011, pp. 12- 15.
- M. Metawaa and K. Berkling, "Personalizing game selection for mobile learning." in Proc. CSEDU 2016, 2016, pp. 306-311.
- B. Magerko, C. Heeter, J. Fitzgerald, and B. Medler, "Intelligent adaptation of digital game-based learning." in Proc. ACM FuturePlay08, 2008, pp. 200-203.
- R. Lindberg and T. Laine, "Detecting play and learning styles for adaptive educational games." in Proc. CSEDU 2016, 2016, pp. 181- 189.
- C. Loh, "Designing online games assessment as information trails." in Gibson, D., Al-drich, C., Prensky, M. (eds.) Games and Simulations in Online Learning: Research and De-velopment Frameworks. Infosci, 2007, pp. 323-348.
- M. Ilahi-Amri, L. Cheniti-Belcadhi, and R. Braham, "A framework for competence based e-assessment." Interaction Design and Architecture(s) Journal (IxD&A), vol. 32, pp. 189-204, 2017.
FAQs
AI
What are the key characteristics of programming contests as per the framework proposed?add
The framework identifies programming contests as time-limited competitions where contestants solve algorithmic problems, requiring specific algorithmic skills and data structures. Each problem can be divided into subtasks of increasing complexity based on the skills needed to solve them.
How does the personalized recommendation system enhance training in competitive programming?add
The framework includes a mechanism for personalized problem recommendations based on the student's skill model, optimizing learning paths. This allows learners to select problems suited to their skills, potentially improving their readiness for competitions like the ICPC.
What role do badges play in the student modeling within the proposed framework?add
Badges in the framework represent competencies that students acquire, serving as a visual metric for skill levels. They help track progress and motivate learners within a lightweight gamification environment.
How does the proposed framework evaluate programming solutions submitted by students?add
Solutions are evaluated based on their adherence to specified algorithms and data structures, with feedback mechanisms assessing both correctness and efficiency. This dual analysis fosters a deeper understanding of problem-solving strategies among students.
What was the significance of dynamic evaluation in the proposed educational framework?add
Dynamic evaluation provides real-time feedback on programming submissions, crucial for accurate assessment of students’ learning. It supports adaptive learning paths tailored to individual student needs, enhancing engagement and skill acquisition.
Marco Temperini