CASPIAN JOURNAL

MANAGEMENT AND HIGH TECHNOLOGIES

METHODS OF PROGRAMMING CODE CHECKING IN LEARNING SYSTEMS

Read Kataev Alexander V., Shabalina Olga A., Kamaev Valery A.  METHODS OF PROGRAMMING CODE CHECKING IN LEARNING SYSTEMS // Caspian journal : management and high technologies. — 2011. — №3. — pp. 19-25.

Kataev Alexander V. - Lecturer, Volgograd State Technical University, 28 Lenin avenue, Volgograd, 400131, Russia, alexander.kataev@gmail.com.

Shabalina Olga A. - Cand.in Technics, Associate Professor, Volgograd State Technical University, 28 Lenin avenue, Volgograd, 400131, Russia, O.A.Shabalina@gmail.com.

Kamaev Valery A. - D.Sc. in Technology, Full Professor, Volgograd State Technical University, 28 Lenin avenue, Volgograd, 400131, Russia, kamaev@cad.vstu.ru.

One of the most complicated problems of educational systems developers is the problem of testing and evaluation of learning results. In educational systems aimed at learning programming languages, learning tasks require writing programming code. There exist specialized tools for programming code verification, analysis and testing, but they are mostly oriented on industrial software level. Peculiarities of programming code as a class of educational task solution are considered and approaches of programming code evaluation in educational systems are suggested. Approaches based on evaluation of a text of solution (source code) and based on code execution results are described. Peculiarities of programming code that lead to low effectiveness of using traditional methods of text verification are considered. Methods of preprocessing of source code (code normalization) for using in algorithms of evaluation of the text of program are suggested. Different ways of evaluation of code execution results are considered, based on ready-to-use interpreters, or development of special tools for using in educational system. The method of completing programming code with prepared program fragments (translation context) is suggested.

Key words: learning environments,task checking,knowledge level estimation,program code,software verification,unit-testing,regular expressions,program code normalization,translation context,program code execution.