=Paper=
{{Paper
|id=Vol-1427/paper1
|storemode=property
|title=Methodological Aspects of the Initial Training of Students for Participation in Programming Contests
|pdfUrl=https://ceur-ws.org/Vol-1427/paper1.pdf
|volume=Vol-1427
}}
==Methodological Aspects of the Initial Training of Students for Participation in Programming Contests==
Methodological Aspects of the Initial Training of Students for Participation in Programming Contests Galina E. Atanasova Plamenka T. Hristova Dept. of Natural Sciences and Education Dept. of Natural Sciences and Education Angel Kanchev University of Ruse Angel Kanchev University of Ruse gea@ami.uni-ruse.bg ptx@ami.uni-ruse.bg competitive programming provides opportunities and time for participants to develop and achieve better results in the higher age groups. Abstract Bulgaria is one of the few countries in the Unlike the teaching of mathematics, subjects that world where extracurricular activities and train students in programming are not included in basic competitions in Informatics start from early training courses in Bulgaria. This requires the training school age (prior to fifth grade – 11 years). to be delivered entirely in extracurricular forms. There The implementation of this activity is is no state-imposed curriculum, methodological associated with many challenges of materials and textbooks. organizational and methodological nature. Largely, the ideas that underlie the training of Development of new approaches and their students with mathematical skills, are also applicable to approbation in real conditions contribute to the students that actively train for participation in increasing the effectiveness and quality of this competitions in informatics. Similarly, in the training kind of training. Sharing the collected in Informatics the idea of a pyramid organization of experience and methodological materials will work has forced its way through. This includes facilitate teachers in the development of selection and subsequent work with students of extracurricular activities in informatics. The different levels and with varying intensity, consistent present paper presents the authors’ experience with their individual circumstances and wishes. But at in extracurricular activities for young this moment, the pedagogical aspects of discovering, competitors training in informatics. training and developing of young talents in the field of informatics are still quite far. These aspects are in the initial stage of development and they need widening 1. Introduction and deepening, taking into account the specifics of the The relevance and the importance of the problem for field. training and development of gifted children derives The process on finding, training and developing from the need of the modern globalized society of young talents in the field of informatics has its own creative thinking individuals with a comprehensive and specifics that must be considered. Lately, more and systematic understanding of the nature and relationship more researchers have been focusing on ways to between objects, events and people. The contemporary prepare talented students in schools in Informatics. In world with its rapid growth of information, constantly [Gar08] K. Garov reviews a study of informatics and changing technology and lifestyles requires the IT in Bulgarian school. He discusses the history of formation of individuals who can promptly and flexibly competitions and Olympiads in Informatics and he respond by changing their thinking, habits and offers a model for management of training of the behavior. participants in Olympiads in Informatics and IT and Informatics attracts students with its topicality and system support tasks for the training of outstanding future professional orientation prospects. The training students to participate in Olympiads in Informatics. In and participation in competitions are one way to meet [Yov09] B. Yovcheva offers a spiral approach in which the interest in it. to perform the training of 10 and 11 years old pupils in In recent years, there is a tendency to lower the age Informatics. of the competitors in Informatics. Early training in According to Nicklaus Wirth "the programming is constructive art" [Wir75]. This assertion raises the Copyright © 2015 for the individual papers by the papers' authors. question: What methods and approaches should be Copying permitted only for private and academic purposes. used to prepare the children to explore this constructive In: A. Bădică, M. Colhon (eds.): Proceedings of the 2015 Balkan creative activity? One possible approach is via Conference on Informatics: Advances in ICT exploring specific examples to summarize the basic 1 elements for programs construction and then put them • High level of generalization and abstract in a systematic way. This consequently allows students reasoning; to apply the principle of reuse. Actual programming • Ability to formulate unusual ideas and new should cover systems of complex requirements, which ways of solution. conclude a high level of intellectual activity. For this These individual characteristics influence the pace reason, the idea of "pure training recipe" is probably of preparation of young children. There are children wrong. The choice of teaching methods must be who need more time to feel confident in themselves supported by careful selection and presentation of the and who overcome slowly the psychological barriers key examples. Of course, we should not think that created by participation in competitions. Students who anyone can derive equal benefit from the study of these are not prepared well enough (theoretically, practically examples. Typical of this approach is that many rely on or psychologically) should not participate in the the learner, his diligence and intuition. This is competitions. This can lead to refusal of engagement especially true for relatively more complex and longer with informatics, and even to a mental breakdown. sample programs. They are "normal" case in practice However, we should not go to the other extreme and and they are much more suitable for demonstrating believe that the child is not prepared well enough for a subtle but important elements called organization and long period of time and not allow him/her to participate style of programming. in competitions. The effect can be the same. So the question arises: "When is a child ready to 2. Extracurricular activities in informatics take part in his/her first competition in informatics?" The answer to this question should be given by the Extracurricular activities in informatics have the head of the group in which he/she is prepared, taking following main objectives [3]: into account the following factors: • Preparation of elite competitors in • Theoretical training; Informatics; • Practical training; • Anticipatory learning and programming skills • Desire for expression; for students in primary grades; • Emotional stability. • Development of the intellectual potential of the nation by creating conditions for the 3. Principles for a methodology choice development of gifted children from the earliest possible age through sets of computer The chosen methodology defines the role of training science (intellectual skills such as analysis, activities and both sides in the training process synthesis, induction, deduction, interactions. It determines the tasks and activities generalization, critical thinking, discipline of sequence. The problem with this choice is extremely thought and others); complex because of the need for teaching-learning • Extra training in programming of a larger unity reflection. To enable the chosen methodology to number of students; lead to effective learning process, the following steps • Personal qualities development (discipline, are recommended: orderliness, consistency, teamwork, etc.); • The specific tasks selection to be consistent with • Constructive thinking adoption; the adequate level of hardships; • Basic school course knowledge of informatics • To identify dependent and independent sequence expansion; of activities that lead to achieving the objectives. The • Students’ additional computer literacy. dependent one stems from the logic of educational The following general characteristics of intellectual content and the independent does not affect the brilliance and individual differences between the achievement of the objectives (when the time of the children must also be taken into account in teaching contest is irrelevant, since the student is prepared to Informatics: take part in it); • Increased cognitive demand that occurs in a • The successful construction of the relationship wide curiosity and exploratory behavior; between dependent and independent consecutive • Increased demand for mental workload; activities leads to systematization and simplifies the • Perseverance to achieve self-set goal; achievement of training objectives. 2 The foundation of a successful methodology for The used language for the practical training is C++. Its usage training in programming contests stands on a detailed is required by the regulations of the International Olympiad analysis of tasks and their types, targets for a given in Informatics respectively of the National Olympiad in competitor, his cognitive level and pace of Informatics. development. Analysis of the above issues in the ongoing training 4. Proposed methodology for of young competitors in programming contests gives programming contests training grounds to look for approaches and methodologies of training, fully tailored to the specific needs of such As already was highlighted, and according to one of the kind of competitors. The age of the participants in these founders of modern scientific research Donald Knuth contests and modern competition reality justify the [Knu73] programming is an art, so the pure stereotype usage of an active approach to the selection of a of training will develop giftedness of students. Classes methodology for training in programming contests. should be directed to the development of giftedness in Underlying this approach is the idea that human children. Specific logical thinking and unconventional activity is formed under the influence of its needs, the solutions should be promoted and children, who benefits of which are reflected in the objectives of the display them, should be encouraged to develop them. actions. Particular attention is paid to the grounds as an In the process of development of extracurricular important structural component of the cognitive activities in informatics in Bulgaria there were formed activity of the student. The motivation for actions five age groups: 4-5 grades, 6-7 grades, 8th grade, proposes and forms a major instigator for its grades 9-10 and grades 11-12 (hereinafter, respectively implementation. In competitors’ training it can be group E, D, C, B, A). argued that the conditions for creation of a clear motive According to the adopted structure of curricula, the for learning will be reflected in precise objectives and basics of algorithms are studied in the early age groups will provide better results and consequently quality of (E and D), which include students up to 13 years. For training. these age groups the school curriculum does not offer The advantages of this active approach to the choice utilization of such knowledge. Therefore, small pupils of methodology for the competitors training for should learn faster knowledge and skills brand new to programming contests is reflected in the combination them by attending extracurricular forms in Informatics. of the characteristics of object-studied area and age of The basic algorithms are presented on the basis of the children. Clarifying the need for training is an knowledge in mathematics acquired by students in important prerequisite for successful performance and school. future good ranking. It serves as an inducement for the Our long experience has shown that what is difficult activity of learning in the process of training. to achieve when working with children at an early age The implementation of such an active approach has is the habit to combine computer skills with their led to the following methodology for the young knowledge of mathematics and formal rules of competitors’ training for participation in the programming languages. programming contests: • Cognitive tasks consideration as a separate unit, regardless of syntactic specifics of a programming language; • Using modern approaches and techniques for A competitor’s training awareness, understanding and learning of the basic tasks set; • Consolidating the knowledge capable of analyzing individual gaps of each competitor; • The knowledge and skills application by solving other similar tasks; • Non-standard problems solving which consist an element of creativity; • Analysis and assessment of the acquired skills to solve contest tasks. 3 Figure 1. The training steps ascending order. • making evaluation of the possibilities of reducing some fragments from the base Preparation of students includes acquiring algorithm to the already known elementary knowledge and skills of various nature: pure algorithms (familiarization with the programming, mathematical, technical, and logical one. modularity and object orientation); Insufficient acquisition of some types of knowledge • defining the complete results and how they leads to later failures and disappointments. The have to be output. complex nature of the preparation may initially distress They should learn basic algorithmic structures – and frighten young students, so new knowledge must sequence, if, switch, while, do-while cycles. They have be taught gradually and practiced over a long period of to get acquainted with the concepts such as variable, time [Hri10, Hri11-1]. The training steps are shown on array, data type, and the following commonly used figure 1 in the ascending order. basic algorithms: The first step for beginners, starting to learn • Two variables values exchange; informatics, is acquiring excellent computer literacy. • Working with the coordinates of the point in Through gaming tasks, students must adhere to work the plane; with the PC and learn the basic commands of the • Finding the maximum of two/three variables; operating system. The period up to 12 years is the time • Calculating the sum or average value of the to provide functional literacy to children. Computer numbers as array elements; literacy acquisition is essential and it is a prerequisite • Finding the product of array elements; for their motivation for acquiring the necessary • Finding the number of array elements knowledge and skills. The most important practical corresponding to a given condition; skills that pupils need to learn are: • Finding the value and/or the index of the • Working with the mouse; maximum / minimum element in the array; • Knowledge about the location of the letters, • Sorting out the array elements; numbers and special characters on the • Searching in the sorted array; keyboard. Excellent knowledge and use of the • Creating a new array with elements of an keyboard (including the transition from one existing array, satisfying a given condition. alphabet to another) is mandatory; The study of basic numerical algorithms in the early • Readiness to start a program in the Windows stages of training contributes to better and more environment; durable understanding of the difference between • Storing files to removable media (external solving a task by hand and using the computer. disk, flash memory, etc.) and manipulation The optimization of the range of tasks that young with files from any medium; students deal with in the course of their training is one • Redirecting input from the standard input of the most important elements of their overall learning device to a file; process. The choice of objectives and the coherence of • Creating own folders on specified device. their study largely determine the level and results that The second but not less important step should be can be achieved in the competitions for age group E. training algorithms. Learners must learn to create The system of tasks and basic numerical algorithms are algorithms for solving a problem. constantly updated, following the trends outlined in the The experience gained shows that knowledge of tasks given at competition for this group. This algorithm development, which should be mastered first, feedback, from the competitions to the training, is easier to perceive and learn quickly when children contributes to the maintenance of the set of basic are taught by flowchart specifications and step by step numerical algorithms up to date. animation. This is the way they understand better the The third step - new knowledge should be served in nature of the algorithm concept and its properties. small portions, backed by appropriate examples. In this The pupils have to be able to do task condition age group, a lot of attention should be paid to analysis analysis which includes: of the condition of the task. It is important for children • defining the input data; to understand that behind the many words, in the • subdividing the main task into groups with condition of each programming task lies a logical elementary operations that lead to the model which they have to reach as they answer the solution; following questions: 4 a) "What is given in the task?" students to attend an extracurricular mathematics class b) "What are you looking for in the task?" in which to study mathematics preemptively. c) "How should you get from the given data to the Some of the most common difficulties in the wanted result?" extracurricular activities in informatics are associated Reaching the answers to these questions, the young with their different aims in comparison to the aims in learners realize that what is given in the condition of the mass oriented school. It is important for the pupils the problem is their input data for the algorithm. What from the beginning of their education to understand the is searched in the task description is the information substantial role that the algorithms perform in solving that has to be displayed, and the answer to the third tasks by means of a computer and that the exercises in question gives the sequence of actions that leads from the basic algorithms would have helped them in their the given to what is sought. future training. The fourth step in the training of informatics in this Another difficulty spotted by us is the inability of age group is to teach the basics of a programming many students to decompose a question properly and language and the principles of programming. put it for algorithm development. This difficulty can be At present, the training is carried out based on the overcome by using the mechanism of the “dry run” and C++ language. The students have to learn the syntax needs a lot of practice work. and semantics of this language. They must know very An important moment in teaching compiling well the programming environment and the successive algorithms is that children should be left alone to draw steps to prepare a working program. The choice of algorithms of the tasks, programmed by them because programming environment is determined by the current when participating in contests the children are alone in environment provided by the competitive system that is front of the computer, only with the description of the used in the conduct of competitions in all age groups. problem. Sometimes it is enough to tell the student Teaching the language should start in parallel with how to use basic algorithms or how to use already the training algorithms. This helps studied algorithms known tasks for developing the new task. to be programmed and immediately tested on a During the training in developing algorithms, the computer. In this way is achieved: teacher must pay special attention to the most • Reinforcement of the knowledge and skills frequently made mistakes by the students. Based on our already acquired; longstanding observations during the work with gifted • Better understanding of the role of algorithms children from the schools of informatics, the most in solving problems in Informatics; frequently made mistakes can be grouped in the • Maintaining the interest of young children in following way: programming activities. 1. Mistakes, related to the properties of the algorithms The students in age group E have to master: In the most general case, the algorithms must have • environment for the programming language; the four basic properties: synonymy, determination, • standard data types; terminality and effectiveness. The main difficulties in • basic arithmetic and logical operations; creating algorithms and making mistakes are connected • assignment Operators, if, switch and loops; first of all with non-compliance with some of these • redirection to the standard input and output; properties: • the use of one-dimensional array; • Improperly determining the sequence of the • word processing. steps that must be implemented. An important component in the small competitors • For example, when calculating a sum in a training is filling in the gaps in their mathematical cycle, zeroing of the variable in which we calculate the knowledge. Very often for the solving of problems in sum to be located in the body of the cycle. Informatics it is necessary to use knowledge that is • Improperly determining the type of tasks to studied later in the school mathematics course. This which the algorithm can be applied. requires the teacher of the extracurricular classes in For example, the input data may not be entered by a informatics to familiarize the young students with this reading block, but may be assigned to variables within knowledge so that they are able to comprehend and the algorithm itself. In this manner, the algorithm apply it in their programs. In some extracurricular always depends on the same data. forms in informatics there is a practice the fifth grade • Unfinished work of the algorithm within the allotted time 5 For example, the execution reaches an unexpected • Review and analysis of the proposed solutions exit because of a wrong condition to end the cycle, or and their quality evaluation; completion of the algorithm without a written output. • Offering a recommended solution if the 2. Mistakes, associated with an cycle improperly organized proposed solutions are not the best quality; • Loops. • Analysis of the solution proposed by the • Wrong number of cycle repeats. author; • Changing the parameter’s value inside the • Discussion with emphasis on the key points of cycle with the parameter’s body. the basic algorithm usage. 3. Mistakes, associated with improperly initialized variables • Non-compliance with the rule for zero adder and counter before a cycle and cleaning with a one when multiplication has been accumulated in a cycle. • Using a variable before initialization with some value. 4. Errors, associated with incorrect determination of the area of admittable values • By interval – inside boundaries and outside the interval. • By a set of values – verification for belonging to the set. 5. Other mistakes • Division by zero. • Wrong indexation when trying to create a new subarray from the existing array, fulfilling given conditions. • Necessity of using unknown mathematical mechanisms like rooting, exponentiation, coordinates Figure 2. The proposed methodology sequence to points, etc. It is important that students learn more about the so- The student has to learn the peculiarities of the called “protective programming” on the program text entered via the keyboard. He/she has to be algorithmization level. The algorithm should also familiar with the programming environment to check process the cases – “This is impossible to happen”. For how the program works. Reaching the ultimate goal - example, to check whether the divisor is different from running program, requires him/her to know the stages zero before division; to check whether an index of an through which the programming environment works. array exceeds the limits of the array, etc. This approach During the preparatory phase (compilation), the extent is called inclusion of assertion in programming. The to which the student has mastered the strict rules of the assertions, included in the programming code, bring it particular programming language is shown. For the to behave in foreseeable manner and help to detect the next stage (linking), when the program code is nature and the reason of the problems. associated with the code of other programs taken by the The essence of the proposed method is shown in the libraries included, the student needs to know about figure 2. It consists of learning the basic algorithms in these libraries - what they include and how to use them. the following sequence [Hri11-2]: The last stage (creation and testing of the executable • Introductory task, illustrating the basic program code for semantic (logical) errors, he/she must algorithm; know that it is necessary to implement the program • Series of complex tasks in which the repeatedly, with various well-selected test examples to underlying algorithm is an integral part; verify the overall performance of the program. The proposed methodology includes elements that • The acquired knowledge approbation through develop the following: work on a task which uses the same basic algorithm • Students’ independent thinking; and was given in competitions; • Reaching a higher level and more complex 6 structure in the development of capabilities; long). There is not enough time to consolidate • Striving for innovation and originality in knowledge and build lasting skills. The emphasis is on problems solving; creating interest in students, which should grow into • Striving for expression. motivation for more serious activities in the field of The tasks set optimization that the gifted students computer work and extracurricular activities in this deal with in the course of their training, is one of the area. The majority of the children, who participated most important elements of the learning process. The once in the classroom, continue their activities in this choice of the tasks set largely determines the level that direction in extracurricular classes in informatics. the student could reach at the end of his/her training. That is a prerequisite for the system of tasks 5. The results development for initial training in competitive programming [Hri07]. The important criteria for evaluation of the proposed The sample methodological system comprises 7 approach for informatics training for beginners is subsystems of tasks including the concepts of student performance in the following national algorithm, programming language C++, standard input competitions in Informatics: Winter Competition in and output operations, linear programs, programs with Informatics (WCI), National Olympiad in Informatics if, programs with cycles, programs with one- Final Round (NOI3), Spring tournament in Informatics dimensional arrays, processing of string information. (STI) and Autumn tournament in Informatics „John These provide the theoretical and practical knowledge Atanasov” (ATI)2. and skills necessary for the purposes of training [2]. Table 1 presents the results of Ruse students in Each subsystem is built on the following five basic chronological order. elements: Table 1. The results for the smallest group E 1) Main objective; 2) Knowledge and skills; Total Number of Number 3) Practical work; Year Competition number of participants participants from Ruse of prizes 4) Sequence of tasks; WCI 13 2 2 2007 STI 25 4 2 5) Methodological features using tasks. ATI 24 2 0 The methodology suggested and the basic system of WCI 17 1 0 2008 STI 20 1 1 tasks developed have been successfully applied in the ATI 13 2 0 classroom “Initial programming" via "Bistra & Galina" WCI 18 1 0 2009 STI 21 2 0 Foundation1. The main goal of the training in this ATI 31 2 1 classroom is to introduce the children aged between 9 WCI 22 1 1 2010 STI 20 2 2 and 13 years to the creation of algorithms and writing ATI 31 3 0 simple programs. Via these activities they reveal the WCI 17 1 1 NOI3 8 1 1 beauty of informatics and they are motivated to involve 2011 STI 21 3 0 in extracurricular forms in Informatics, which are run ATI 26 2 2 WCI 18 2 2 at the Center for students’ technical and scientific work 2012 NOI3 12 1 0 in Ruse. STI 25 2 1 ATI 16 2 1 Similar objectives and the methodological materials WCI 16 2 1 availability provoked us to use the same set of tasks in 2013 NOI3 STI 19 35 1 2 0 0 the work in the classroom. This necessitated scaling, ATI 43 2 1 simplifying and reducing the number of tasks in order WCI NOI3 34 20 2 1 2 0 2014 to place them in the classes and achieve the goal of STI 29 2 0 32 2 1 education - generating interest and motivation for ATI continuing education. Figure 3 shows a graph of the students attracted to A specific feature of this training is two times the Center for students work in Ruse (CUTNT)3 by the shorter academic hours, but the intensity of the proposed methodology, prizes from competitions employment is much higher (4 hours per day, 8 days 2 http://www.math.bas.bg/infos 1 3 http://www.bgfound.org/ bg http://cutnt-ruse.com 7 summed up in years. The line of behavior shows a students is directly aimed at rationalization of learning trend of steady growth. Assuming that the number of new material. the prizes won at national level is a measure of the 2. The suggested system of tasks is scalable and quality of education and level of training of athletes at applicable by other groups for basic training in this basic level, it can be concluded that the proposed informatics. methodology combined with the correct selection of 3. A very important and integral part of this tasks for training helps to increase quality methodology is a system of tasks that must constantly continuously. be updated with new ones. 7. References [Gar08] Garov, K. Theory and practice of preparation of prominent and talented students to participate in contests and competitions in informatics and information technology, Dissertation for awarding the educational and scientific degree "doctor",, Sofia, 2008. (in Figure 3. Prizes by years Bulgarian) Figure 4 represents the quality of the training [Hri11-1] Hristova P., G. Atanasova, Atanasova Preparation of proposed approach in its purest form, because of the heads of schools in Informatics, Informatics National highest possible competition during the national round Conference „Education Education in Informational of the NOI, objective selection of participants and the society”, Plovdiv, 2011,, p. 303-310, 303 ISBN fact that these races were held during the approbation 1314 0752 of the overall methodology. [Hri07] Hristova P., Training through tasks, tasks Proceedings of the University of Rousse “Angel Kanchev” Scientific Conference - 2007, Volume 46, Book 6, Mathematics, Informatics, Physics,, Pedagogy and Psychology, p. 50-55, 55, ISSN 1311-3321 1311 [Hri10] Hristova P.,, The Informatics Competitions for Group E During the School 2009-2010 2009 Year, Proceedings of the Anniversary International Conference Celebrating Prof. Sava S Grozdev’s 60th anniversary,, Bachinovo, Bulgaria, Figure 4. Participation in the national round rounds of OI September 10-12,12, 2010, p.409 – 417 [Hri11-2] Hristova, P., Best practices in training 6. Conclusions informatics competition participants, The analysis of the results, which have been obtained Proceedings of the 7th Annual International by application of the suggested methodology, shows Conference on Computer Science and that: Education in Computer Science 2011,2011 1. In the initial training program students Sofia/Dobriniste, Bulgaria, ISSN 1313-8624, 1313 assimilate the he algorithmic thinking principles and basic p. 371-384 algorithmic structures much better when they are [Knu73] Knuth D., The art of computer programming, illustrated with the tasks that process numerical Addison-Wesley Wesley Publishing Company, Company information. As a basis for teaching and learning the Ontario, 1973 new concepts of informatics are used tasks from mathematics,s, in which there are no unknown [Wir75] Wirth N., Algorithms Plus Data Structures mathematical concepts. Thus the attention of younger Equals Programs,, Prentice-Hall, Prentice 1975 8 [Yov09] Yovcheva, B. Spiral approach to teaching programming of 10-11 year-olds, Dissertation for awarding the educational and scientific degree "doctor", Shoumen, 2009. (in Bulgarian) 9