Informacijos Mokslai (Jan 2009)
Lietuvos informatikos olimpiados darbų vertinimas programinės įrangos kokybės modelio požiūriu
Abstract
Mokinių informatikos olimpiados – tai programavimo konkursai, per kuriuos metų dalyviai turi sukurti tinkamą ir efektyvų algoritmą, jį realizuoti kuria nors leidžiama programavimo kalba. Sprendimai olimpiadose vertinami automatiškai testuojant programas, taip pat vertinamas algoritmo aprašymas ir programavimo stilius. Pati vertinimo schema jau daugelį metų yra susiklosčiusi remiantis tradicijomis, metodiniais samprotavimais, tačiau nėra moksliškai pagrįsta. Šis straipsnis – tai pirmasis žingsnis, siekiant moksliškai pagrįsti vertinimą informatikos olimpiadose. Straipsnyje į dalyvio sukurtą programą žvelgiama programinės įrangos kokybės reikalavimų standarto ISO-9126-1 požiūriu ir analizuojama, kiek dabartinė vertinimo schema atitinka šį kokybės modelį. Assessment of solutions of Lithuanian Informatics Olympiads from the Point of View of Software Quality Model Jūratė Skūpienė Summary Lithuanian Informatics Olympiads are algorithmic and programming competitions where the contestants are given algorithmic tasks and have to design and implement correct and effi cient algorithms in one of the allowed programming languages (currently Pascal, C/C++). The current grading scheme consists of automated testing and manual assessment of verbal algorithm description and programming style. Two aspects of submission should be taken into account – algorithm (computer science area) and its implementation (computer engineering fi eld). The fi nal submission (program) delivered for grading is more likely to resemble piece of software rather than constructed algorithm. The paper focuses on analysing the grading of submissions from the point of view of Software quality model. Understanding of quality of a submission can’t be homogenous as quality is a constructed notion dependant on a particular software quality model chosen by the experts (scientific committee of the Olympiad). The grading schema (except for verbal description of an algorithm) correspond ISO-9126-1 software quality model. Current grading schema foresees assessing three out of six quality characteristics of this model, namely functionality, effi ciency and maintainability. The main goal of the Olympiad to emphasize problem solving, but not technical details of implementation, is a reasonable motivation why reliability and portability are not assessed. As for usability, there are very concrete requirements for the data input/output and the programs, the compliance to these requirements may be checked many times during the contest by submitting the program to Contest and Grading System (and corrected if needed). The programs which do not obey the requirements are not forwarded for grading. The most important characteristic is functionality and other have meaning only if the program is functional. This (i.e. the level of functionality) is taken into account while assessing maintainability, but not when assessing effi ciency. The most complicated is assessing functionality as the there exists confrontation between three different points of views. From the point of view of software quality model, functionality is a Boolean value and there should be no partial score. From educational point of view, motivation of contestants has high priority in the contest, so partial scoring is very important, while from the point of view of problem solving, automated grading is not good enough as not equivalent algorithms may be assigned similar scores (i.e. testing reveals the existence of an error, but it doesn‘t show the scope of the error). It can be concluded that overall current grading schema in Lithuanian Olympiads corresponds ISO-9126-1 quality model, however, the assessment of functionality should be more investigated and motivated.