Олимпиади и състезания

ANALYSIS OF PROBLEM SOLVING IN INFORMATICS FOR 12 – 13 YEAR OLD STUDENTS IN BULGARIA

Отворен достъп

Резюме. The present study aims at characterizing the solutions of tasks in Informatics from National competitions and Olympiads for Group D students relevant to 6th school grade. The study covers a 10-year-period (2004-2013). An application proposes a classification of these tasks based on their main characteristics. An evaluation of the relative difficulty of the tasks is also included.

Ключови думи: Olympiad, Informatics, task, classification

Over the recent years competitions in Informatics have rapidly increased, both in our country and abroad. Bulgaria could be proud with very good results achieved in Informatics competitions, both national and international. Since 2001, regularly each year Bulgaria organizes six national competitions in Informatics following exactly the same rules and regulations as those of the International Olympiad in Informatics: 3 tournaments per year (in autumn, winter and spring) and 3 rounds of the National Olympiad. Since 2002, the competitions in Informatics have been targeting participants of different age groups: group A (11 – 12th school grade), Group B (9 – 10th school grade), group C (7 – 8th school grade) and group D (4 – 6th school grade).

In the autumn of 2004 the group E has been introduced which includes 4 – 5th school grade and this has led to a new distribution of the age groups: A, B, C and D, covering 12th, 10-11th, 8-9th and 6-7th school grades, respectively. In the autumn of 2007, with the establishment of the Balkan Olympiad in Informatics (JBOI) for students up to 15.5 years age we have applied a modified age system in which Group D has covered only 6th school grade and the distribution of the other groups are as follows: group A (11 – 12 grade), group B (9 – 10 grade), group C (7 – 8 grade), Group D (6th grade) and group E (4 – 5 grade).

The most important goal of the competitions is to enhance students’ knowledge, skills and abilities. Competitions encourage self-education. They are a powerful regulator, because students get the opportunity to assess their own level of expertise. Thus, the participants have the possibility to make necessary adjustments in their further training and self-preparation. To solve tasks of different competitions successfully, one needs in-depth knowledge not only in the field of algorithms and programming, but also in the domain of Mathematics.

Preparation of students for national competitions involves various extracurricular activities. The main objectives of the extracurricular training in Informatics are:

Expanding opportunities for students to demonstrate their practical skills and preparing them to participate in national and international competitions in Informatics.

Developing students’ algorithmic methods of thinking. Expanding their knowledge in programming. Analyzing and understanding the solutions of different tasks included in Informatics Olympiads.

Learning standard algorithmic methods and acquiring skills to apply them to other types of tasks.

Developing creative thinking, teaching a creative approach to task solving.

Thought - provoking methods aiming at improving the effectiveness of the algorithms and their rapid functioning.

Enjoying moral and emotional satisfaction with their achievements.

Developing self-discipline, perseverance, sportsmanship and striving for selfeducation (Старибратов & Танева, 2009).

In this paper we follow Emil Kelevedjiev’s and Zornitca Djenkova’s fundamental ideas (Келевджиев & Дженкова, 2008) and (Келевджиев & Дженкова, 2012) for problem systematization and classification. After accumulating a sufficient number of tasks from national competitions, it is possible to conduct different kinds of research, for example classifications based on task basic characteristics.

Consider the coefficient k = (y – x)/(x + y), where x denotes the number of the contestants with more than 60 points (out of 100) for task performance and y denotes the number of the contestants with less than 30. The maximum value is k = 1 (for x = 0), meaning that there is no contestant with more than 60 points, which shows that the task is difficult. The minimum value is k = – 1 (at y = 0), i.e. no contestants’ result is under 30 points, which indicates in turn that the task is easy. The coefficient k gives information about the extent to which the authors of the tasks have made the paper selection according to the particular competition and the age of the students. (Келевджиев & Дженкова, 2008)

Below the main characteristics of the tasks are summarized in the following three points:

1. Elements of the programming language related to the types of the processed data in the program: numbers, symbols, strings, one-dimensional and two-dimensional arrays, arrays of strings. The following diagram (Fig. 1) shows the proportion (in percentages) of the processed data in the tasks of group D (2004-2012):

Fig. 1. Processed data for task solving

Fig. 2. Relative difficulty of the tasks

It is obvious from the above chart that most of the tasks involving numbers are relatively less difficult. This is completely natural because students use to know this type of data when they are still in Group E (4-5th grade). The tasks with an array of strings as processed data are the smallest in number and pose most difficulties to students.

2. Programming language elements related to the syntactic structures used in the program: conditional operator – if, loop (for, while, do... while), nested loops, use of functions. The following diagram (Fig. 3) shows the proportion (in percentages) of the syntactic constructions in the tasks of Group D (2004-2012):

Fig.3. Syntactic structures in task decisions

The relative difficulty of the tasks is established according to the syntactic structures used in the solutions of the tasks of Group D, presented in Figure 4. It is shown in the diagram that students meet relatively more difficulties in doing tasks on loop syntax with functions and nested loops with functions.

3. A theory of data structures and algorithms used in the solutions of the tasks: divisibility, long numbers, classification, number systems, recursion, text processing, geometry – rectangles with sides parallel to the coordinate axes, etc.

Classification of the tasks given in National competitions in Informatics Group D (2004 – 2012)

Legend: NAT – National Autumn Tournament in Informatics; WCI – Winter Competition in Informatics; NOI2 – National Olympiad in Informatics (regional round); NSTI – National Spring Tournament in Informatics; NOI3 – National Olympiad in Informatics; DIGIT – separation and Processing digits of numbers; RSPCA – rectangle with sides parallel to the coordinate axes; OPT – find the optimal (maximal/minimal) element; UNIT – conversion of measure units; SUM – finding the sum of a final number of numbers.

Year, competitionName of thetaskData, SubjectSyntacticstructureFeature/algorithmxyk12004, NATPainterSymbolsNested loopSign and g-ure printing7160,3922004, NATSafeNumbersLoop syntaxDIGIT7170,4232004, WCWordStringNested loop, functionsText process-ing0171,0042004, WCNice sequenceNumbersLoop syntax, functionsRecursion3120,6052004, WCMultiplicationNumbersLoop syntaxDivisibility5100,3362004, NOI2GameNumbersLoop syntaxDivisibility1812-0,2072004, NOI2TopsTwo-dimen-sional arrayNested loop12190,2382004, NOI2Football sys-temsNumbersLoop syntax8190,4192004, STFractionsNumbersLoop syntaxDivisibility4120,50102004, STTrianglesSymbolsNested loopSign and g-ure printing2150,76112004, STArturdimensionalarrayLoop syntaxDIGIT2190,81122005, NATWord in thetextStringLoop syntaxText process-ing4240,71132005, NATCalendarnumbersNested loopdates/ print-ing gures ofsigns1270,93142005, NATThe Million-airenumbersLoop syntaxDynamic0291,00Optimizing152005, WCGameStringLoop syntax1240,92162005, WCCrosswordtwo-dimen-sional arrayNested loopfunctions2250,85172005, WCTravelingStackLoop syntax0261,00182005, NOI2SitesTwo-dimen-sional arrayNested loop5370,76192005, NOI2RectangledimensionalarrayLoop syntaxRSPCA12270,38
202005, NOI2PoolsdimensionalarrayLoop syntax13250,32212005,NOI3ArithmeticnumbersLoop syntax250,43Symbols222005,NOI3IntervalsStringLoop syntax230,20232005,NOI3CrosswordArray ofstringsNested loop071,00242005, STGamegameStrategyDivisibility390,50252005, STCalendarnumbersLoop syntaxDates480,33262005, STMonopolynumbersLoop syntax470,27272006, NATLibrarynumbersLoop syntax1412-0,08282006, NATTrainsnumbersNested loopPrinting g-ures of signs1814-0,13292006, NATWillStringLoop syntaxText process-ing5250,67Long numbers302006, WCYodaStringLoop syntaxText process-ing11160,19312006, WCWalleyenumbersLoop syntaxDivisibility7180,44322006, WCМАХ3dimensionalarrayLoop syntax2220,83332006, NOI2DiarynumbersLoop syntax2822-0,12342006, NOI2RoadsnumbersLoop syntax7460,74352006, NOI2Adjacent cellsTwo-dimen-sional arrayNested loop24280,08362006, NOI3Zig-zagTwo-dimen-sional arrayNested loop790,13372006, NOI3SummerSchooldimensionalarrayLoop syntaxMerging aclassiedarray5150,50382006, NOI3AmountdimensionalarrayLoop syntaxGeneratingand modelling0231,00392006, STZero’sNumbersLoop syntaxExponents1220,91402006, STEngenderedqueuesdimensionalarrayLoop syntax3240,78412006, STSticksnumbersLoop syntaxRecursion9170,31422007, NATHappy yearsnumbersLoop syntax4230,70432007, NATPunArray ofstringsNested loop0261,00442007, NATDivisibilitynumbersConditionaloperatorDivisibility54-0,11452007, WCIBank accountsStringLoop syntaxDIGIT13170,13462007, WCIIncluding …. dimensionalarrayLoop syntaxClassication5140,47
472007, WCISeagullNumbers &symbolsLoop syntax8210,45482007, NOI2RowsdimensionalarrayLoop syntax196-0,52492007, NOI2Task ForcenumbersLoop syntax, function func-tions176-0,48502007, NOI2ArticleStringLoop syntaxText process-ing146-0,40512007, STMushroomsTwo-dimen-sional arrayNested loop3120,60522007, STMelodydimensionalarrayLoop syntax0161,00532007, STTableTwo-dimen-sional arrayNested loop2140,75542008, NATFiguresnumbersNested loopDIGIT155-0,50552008, NATPavedroadsnumbersLoop syntax, functions7130,30dimensionalarray562008, NATChocolateStringLoop syntax, functions126-0,33572008, WCBooksdimensionalarrayNested loopClassication1190,90582008, WCMobiusnumbersNested loopfunctions3140,65592008, WCExcessivenumbersnumbersLoop syntax590,29602008, NOI2CircledimensionalarrayNested loop2290,87612008, NOI2PetsstringNested loopCounting2111-0,31622008, NOI2NumbersTwo-dimen-sional arrayNested loop5140,47632008, NOI3ExpressionstringLoop syntaxText process-ing102-0,67642008, NOI3TreasurestringLoop syntax, functionsText process-ing5150,50652008, NOI3FiguresnumbersLoop syntax114-0,47662008, STLampsnumbersLoop syntax116-0,29672008, STRectanglesnumbersNested loopRSPCA7160,39682008, STMeteorologistsstringLoop syntaxText process-ing204-0,67692009, NATRectanglesnumbersLoop syntax186-0,50702009, NATMaximumbinary numberstringLoop syntaxNumber sys-tems228-0,47
712009, NATGardennumbersLoop syntax, functionsGCD( thegreatest com-mon divisor) 107-0,18722009, WCIFriendsnumbersLoop syntax145-0,47732009, WCIFiguresdimensionalarrayNested loopLong numbers5120,41742009, WCIFattynumbersLoop syntax, functions9100,05752009, NOI2PebblesnumbersLoop syntaxОРТ8107-0,18762009, NOI2Bread andcheesedimensionalarrayNested loopОРТ11110,00772009, NOI2DifferencestringNested loop5150,50782009, NOI3UnitsnumbersLoop syntax2150,76792009, NOI3clocknumbersConditionaloperatorUNIT9370,40802009, NOI3At least theproductnumbersNested loopOPT106-0,25812009, NOI3SoildimensionalarrayNested loopSWAP, clas-sication2110,69822009, NOI3Farm PigsdimensionalarrayLoop syntaxClassication1160,88832009, NOI3BouquetsnumbersNested loop120,33842009, STDifferencenumbersNested loopNumber sys-tems270,56852009, STLinedimensionalarrayLoop syntax, functions , switch140,60862009, STDistancedimensionalarrayLoop syntax124-0,50872010, NATNumber seriesnumbersLoop syntax2111-0,31882010, NATParkingStringNested loop5270,69892010, NATAirplanesnumbersNested loop1310,94902010, WCIWarehouseTwo-dimen-sional arrayNested loopCounting8110,16912010, WCITreasure hunt-ersnumbersLoop syntaxDivisibility71-0,75922010, WCIBallsnumbersLoop syntax10110,05932010, NOI2FibonaccinumbersLoop syntax, functionsCalculating bya formula6160,45942010, NOI2Magic linesnumbersNested loop193-0,73952010, NOI2TetrisTwo-dimen-sional arrayNested loopCounting8100,11962010, NOI3LiningTwo-dimen-sional arrayNested loop880,00
972010, NOI3WaterdimensionalarrayLoop syntax, functionsClassication4150,58982010, NOI3PokerTwo-dimen-sional arrayNested loopfunctionsOPT126-0,33992010, NOI3FlagStringLoop syntax, functionsText process-ing, SWAP116-0,291002010, NOI3The last digitdimensionalarrayNested loopDivisibility2160,781012010, NOI3the Time Ma-chineStringNested loopText process-ing, classica-tion390,501022010, STRunnersdimensionalarrayNested loopfunctionsLogical2130,731032010, STTrue equalitydimensionalarrayNested loopfunctionsNumber sys-tems0141,001042010, STPasswordStringNested loopText process-ing3100,541052011, NATSymmetricalnumberStringNested loopfunctionsText process-ing9120,141062011, NATMaximumprotdimensionalarrayLoop syntax, functionsClassication138-0,24Calculating bya formula1072011, NATFrequencyStringNested loopText process-ing149-0,221082011, WCIFiguresnumbersLoop syntax, switchLogical159-0,251092011, WCIGamenumbersLoop syntax, functionsEuclideanalgorithm2100,671102011, WCITop resultsTwo-dimen-sional arrayNested loopfunctionsOPT12150,111112011, NOI2LettersTwo-dimen-sional arrayLoop syntaxText process-ing, BR189-0,331122011, NOI2Non-decreas-ing queuenumbersLoop syntaxОРТ221-0,911132011, NOI2The forbiddencorridordimensionalarrayLoop syntaxOPT173-0,701142011, NOI3Acorrect wordStringNested loopfunctionsText process-ing550,001152011, NOI3CodeStringNested loopText process-ing2110,691162011, NOI3LotterydimensionalarrayNested loop011,001172011, NOI3PointsTwo-dimen-sional arrayNested loopfunctions85-0,231182011, NOI3NumericaltrianglenumbersLoop syntaxSUM10, ОРТ52-0,43
1192011, NOI3Super simplenumbersNested loopfunctionsSieve ofEratosthenes, prime num-bers460,201202011, STCompetitorsTwo-dimen-sional arrayLoop syntax, functionsRecursion170,751212011, ST“Unusual”fractionsnumbersNested loopEuclideanalgorithm360,331222011, STBank codeTwo-dimen-sional arrayNested loopfunctionsCompletedepletion1200,901232012, WCIAlarmnumbersNested loopfunctionsUNIT, classi-cation7150,361242012, WCIYoung pro-grammer andС++numbersLoop syntaxCalculatingby a formula, SUM031,001252012, WCIRectangleTwo-dimen-sional arrayNested loopfunctions1311-0,081262012, NOI2Linden-treesTwo-dimen-sional arrayNested loopCalculating bya formula172-0,791272012, NOI2MessageTwo-dimen-sional arrayNested loop159-0,251282012, NOI2Colored ballsStringNested loopfunctions1210-0,091292012, NOI3Director de-cidesnumbersNested loopCalculating bya formula101-0,821302012, NOI3AmountnumbersLoop syntaxSUM, SWAP81-0,781312012, NOI3CrosswordTwo-dimen-sional arrayNested loop65-0,091322012,NOI3GiftsnumbersNested loop95-0,291332012, NOI3Case for GoldnumbersNested loop570,171342012, NOI3Number-palin-dromenumbersLoop syntaxfunctionsNumber sys-tems86-0,141352012, STStage numbersdimensionalarrayNested loop128-0,201362012, STProcessorsdimensionalarrayLoop syntax, functions8110,161372012, STRobotStringLoop syntax, functions, switch135-0,441382012, NATPage numberStringLoop syntax5660.86139139, NATPostmanOne-dimen-sional arrayLoop syntax, functions3680.921402012, NATChess boardTwo-dimen-sional arrayLoop syntax, functions13580.631412013, WCICornersNumbersConditionaloperator41160.44
1422013, WCIRiddleStringNested loop14440.521432013, WCIAparkTwo-dimen-sional stringNested loop5540.831442013, NOI2WOWOne-dimen-sional stringLoop syntax33160.351452013, NOI2Cube colour-ingOne-dimen-sional arrayNested loop13210.241462013, NOI2TSTSTS-BREHStringNested loop14290.351472013, NOI3DatesOne-dimen-sional arrayNested loop, functions1150,881482013, NOI3PresentingOne-dimen-sional arrayLoop syntax1060.251492013, NOI3RabbitsOne-dimen-sional arrayNested loop123-0.61502013, NOI3Prime num-bersOne-dimen-sional arrayNested loop2150.761512013, NOI3Naval engage-mentTwo-dimen-sional arrayNested loop, functions5100.331522013, NOI3Nine timesNumbersNested loop123-0.601532013, STDrawingOne-dimen-sional arrayLoop syntax, functions03811542013, STLost wayTwo-dimen-sional arrayLoop syntax, functions5340.741552013, STPentagonalnumbersOne-dimen-sional arrayLoop syntax19220.07

Fig. 4. Relative difficulty of the tasks with syntax structure

Conclusions. There are no difficult tasks in general but tasks, with which students are familiar and have practiced them in school. The others are completely new. Tasks of medium difficulty are those that combine knowledge and different algorithms. The Diagrams (Fig.5 and Fig. 6) show that tasks such as (co-efficient ‘k’ is negative) during the last two school years.

Fig.5. Relative difficulty of the competition tasks for the school year 201

Fig.6. Relative difficulty of the tasks in competitions for the school year 2012/2013

We used all these data for further analysis and classification of the problems which might be useful for the teachers concerned with extracurricular activities as well as selfeducating students. The current report will also help the preparation of future competition topics. It is necessary for us to improve the processing of the studied algorithms to achieve better results. To be confident in our success in competitions we need to apply the acquired theory and to put it into considerably more practice.

NOTES

1. http://infoman.musala.com/

2. http://www.math.bas.bg/infos

REFERENCES

Келеведжиев, Е. & Дженкова, З. (2012). Състезателните задачи по информатика за 9. – 10. клас. Математика и математическо образование, 41, 359 – 365.

Келеведжиев Е. & Дженкова, З. (2008). Състезателните задачи по информатика за 4. – 7. клас. Математика и математическо образование, 37, 367 – 378.

Старибратов, Ив. & Танева, Б. (2009). Различният начин за мотивиране на учениците за развитие на информатиката в средното образование. Сборник доклади на Национална конференция „Образованието в информационното общество“. Пловдив.

Година LVII, 2014/2 Архив

стр. 175 - 187 Изтегли PDF