<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">infojournal</journal-id><journal-title-group><journal-title xml:lang="ru">Информатика и образование</journal-title><trans-title-group xml:lang="en"><trans-title>Informatics and education</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">0234-0453</issn><issn pub-type="epub">2658-7769</issn><publisher><publisher-name>Publishing House Education and Informatics</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.32517/0234-0453-2023-38-2-66-74</article-id><article-id custom-type="elpub" pub-id-type="custom">infojournal-965</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>ПЕДАГОГИЧЕСКИЕ ИЗМЕРЕНИЯ И ТЕСТЫ</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>PEDAGOGICAL ASSESSMENTS AND TESTS</subject></subj-group></article-categories><title-group><article-title>Система контроля знаний и практических навыков по программированию</article-title><trans-title-group xml:lang="en"><trans-title>The system for automated assessment of knowledge and practical skills in programming</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-7995-3688</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Жуков</surname><given-names>И. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Zhukov</surname><given-names>I. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Жуков Игорь Андреевич, аспирант кафедры теоретических основ информатики, Институт прикладной математики и компьютерных наук</p><p>г. Томск</p></bio><bio xml:lang="en"><p>Igor A. Zhukov, a postgraduate student at the Computer Science Theory Department, Institute of Applied Mathematics and Computer Science</p><p>Tomsk</p></bio><email xlink:type="simple">IgZhukov963@yandex.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0009-0001-3730-8071</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Костюк</surname><given-names>Ю. Л.</given-names></name><name name-style="western" xml:lang="en"><surname>Kostyuk</surname><given-names>Yu. L.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Костюк Юрий Леонидович, доктор тех. наук, профессор, профессор кафедры теоретических основ информатики, Институт прикладной математики и  компьютерных наук</p><p>г. Томск</p></bio><bio xml:lang="en"><p>Yuriy L. Kostyuk, Doctor of Sciences (Engineering), Professor, Professor at the Computer Science Theory Department, Institute of Applied Mathematics and Computer Science</p><p>Tomsk</p></bio><email xlink:type="simple">kostyuk.yu48@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Национальный исследовательский Томский государственный университет</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Tomsk State University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2023</year></pub-date><pub-date pub-type="epub"><day>03</day><month>07</month><year>2023</year></pub-date><volume>38</volume><issue>2</issue><fpage>66</fpage><lpage>74</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Жуков И.А., Костюк Ю.Л., 2023</copyright-statement><copyright-year>2023</copyright-year><copyright-holder xml:lang="ru">Жуков И.А., Костюк Ю.Л.</copyright-holder><copyright-holder xml:lang="en">Zhukov I.A., Kostyuk Y.L.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://info.infojournal.ru/jour/article/view/965">https://info.infojournal.ru/jour/article/view/965</self-uri><abstract><p>В статье описан программный комплекс (система контроля знаний), позволяющий на практике применять новый тип заданий для автоматизированного контроля знаний и навыков по программированию и основанный на конструктивно-выборочном методе. В таких заданиях обучающийся из предложенных компонентов (строк программного кода) составляет ответ (программу), причем задание предполагает множество правильных ответов. Новый тип заданий позволяет контролировать знание ранее изученных алгоритмов и навыки составления программ, дополняя тестирование методом черного ящика. Разработанная система автоматизированного контроля состоит из двух подсистем: «Обработка» и «Демонстрация». Подсистема «Демонстрация», которая является веб-приложением, дает минимально необходимый набор возможностей для применения такого типа заданий в учебном процессе. Также она служит образцом, который может быть использован при разработке расширений для других систем. Подсистема «Обработка» позволяет интегрировать новый тип заданий по программированию в различные системы автоматизированного контроля и LMS, если те предоставляют возможность для расширения. Перед применением нового типа заданий преподаватель вручную или при помощи разработанных авторами инструментов создает шаблон и список компонентов. Алгоритм контроля оценивает соответствие ответа обучающегося шаблону и дает оценку соответствия в интервале [0; 1].</p></abstract><trans-abstract xml:lang="en"><p>The article describes a software package (automated knowledge assessment system) that allows in practice to apply a new type of tasks for automated control of knowledge and skills in programming, based on a constructive-selective method. In such tasks, the student constructs an answer (program) from the proposed components (lines of program code), and the task involves many correct answers. A new type of task allows assessing the knowledge of previously studied algorithms and skills of writing programs, that complement black-box testing. The developed automated control system consists of two subsystems: “Processing” and “Demonstration”. The “Demonstration” subsystem, which is a web application, provides the minimum necessary set of features for using this type of tasks in the educational process, and it also serves as an example that can be used when developing extensions for other systems. The “Processing” subsystem allows integration of a new type of programming tasks into various automated knowledge assessment systems and LMS, if they provide an opportunity for expansion. A teacher creates manually or using the tools developed by the authors of this article a pattern and a list of components before applying a new type of task. A student makes up the answer (program) from the proposed components (lines of program code). The assessment algorithm evaluates the compliance of the student’s answer with the pattern and assesses compliance in the interval [0; 1].</p></trans-abstract><kwd-group xml:lang="ru"><kwd>конструктивно-выборочный метод</kwd><kwd>автоматизированный контроль знаний</kwd><kwd>система контроля знаний</kwd><kwd>обучение программированию</kwd></kwd-group><kwd-group xml:lang="en"><kwd>constructive-example method</kwd><kwd>automated knowledge control</kwd><kwd>knowledge control system</kwd><kwd>programming training</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Шумихина М. С., Яшина И. А. СДО Moodle в обучении программированию. Актуальные проблемы авиации и космонавтики. Сборник материалов XIV Международной научно-практической конференции, посвященной Дню космонавтики. 2018;3(4(14)):803–804. EDN: YWPLUL</mixed-citation><mixed-citation xml:lang="en">Shumikhina M. S., Yashina I. A. LMS Moodle in teaching programming. Actual Problems of Aviation and Cosmonautics. Proc. XIV Int. Scientific and Practical Conf. Dedicated to the Day of Cosmonautics. 2018;3(4(14)):803–804. (In Russian.) EDN: YWPLUL</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Барабанова П. С., Лямкин Р. А., Макарова И. С. Разработка электронного курса по программированию для самоподготовки студентов технического вуза. Бюллетень лаборатории математического, естественнонаучного образования и информатизации: материалы Международной научно-практической конференции «Математическое, естественнонаучное образование и информатизация». М.: ГАОУ ВО МГПУ; 2015;6:62–66. EDN: VHJSIB</mixed-citation><mixed-citation xml:lang="en">Barabanova P. S., Lyamkin R. A., Makarova I. S. The development of the electronic course on programming for independent learning of technical university students. Bulletin of the Laboratory of Mathematical, Natural Science Education and Informatization: Proc. Int. Scientific and Practical Conf. “Mathematical, Natural Science Education and Informatization”. Moscow, MCU; 2015;6:62–66. (In Russian.) EDN: VHJSIB</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Biňas M. Version Control System in CS1 course: Practical experience. 2013 IEEE 11th Int. Conf. on Emerging eLearning Technologies and Applications (ICETA). 2013:23–28. DOI: 10.1109/ICETA.2013.6674398</mixed-citation><mixed-citation xml:lang="en">Biňas M. Version Control System in CS1 course: Practical experience. 2013 IEEE 11th Int. Conf. on Emerging eLearning Technologies and Applications (ICETA). 2013:23–28. DOI: 10.1109/ICETA.2013.6674398</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Баженова И. Ю. Особенности обучения языкам программирования при дистанционной форме образования. Современные информационные технологии и ИТобразование. 2014;(10):190–196. EDN: TJTTXF</mixed-citation><mixed-citation xml:lang="en">Bazhenova I. Yu. Peculiarities of teaching a programming language in the remote form of education. Modern Information Technologies and IT-education. 2014;(10):190–196 (In Russian.) EDN: TJTTXF</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Шагбазян Д. В., Штанюк А. А. Методы контроля знаний студентов вузов по программированию. Поколение будущего: взгляд молодых ученых. Сборник научных статей 4-й международной молодежной научной конференции. Курск: ЗАО «Университетская книга»; 2016;2:119–121. EDN: XDXIKH</mixed-citation><mixed-citation xml:lang="en">Shagbazyan D. V., Shtanyuk A. A. Methods for knowledge assessment of university students in programming. Generation of the Future: the View of Young Scientists. Collection of Scientific Articles of the 4th Int. Youth Sci. Conf. Kursk, CJCS “University book”; 2016;2:119–121. (In Russian.) EDN: XDXIKH</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Магомедов А. М., Лавренченко С. А., Ибрагимова З. И. Алгоритм автоматизации создания тестов. Вестник Дагестанского государственного университета. Серия 1: Естественные науки. 2019;34(2):63–71. EDN: CHLRYE. DOI: 10.21779/2542-0321-2019-34-2-63-71</mixed-citation><mixed-citation xml:lang="en">Magomedov A. M., Lawrenchenko S. A., Ibragimova Z. I. Algorithm for automating test creation. Herald of Dagestan State University. Series 1. Natural Sciences. 2019;34(2):63– 71. (In Russian.) EDN: CHLRYE. DOI: 10.21779/2542-03212019-34-2-63-71</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Голанова А. В., Голикова Е. И. Организация итогового контроля знаний по дисциплине «Программирование» будущих бакалавров педагогического образования. XXII Царскосельские чтения. Материалы международной научной конференции. Санкт-Петербург: Ленинградский государственный университет имени А. С. Пушкина; 2018;3:75–79. EDN: YXOZUS</mixed-citation><mixed-citation xml:lang="en">Golanova A. V., Golikova E. I. Organization of the final control of knowledge on the discipline “Programming” of future bachelors of teacher education. XXII Tsarskoye Selo Readings. Proc. Int. Sci. Conf. Saint Petersburg, Pushkin Leningrad State University; 2018;3:75–79. (In Russian.) EDN: YXOZUS</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Перязева Ю. В. Возможности автоматической проверки заданий в LMS Moodle. Современные информационные технологии и ИТ-образование. 2019;15(4):876–885. EDN: BECCUB. DOI: 10.25559/SITITO.15.201904.876-885</mixed-citation><mixed-citation xml:lang="en">Peryazeva J. V. Extending moodle functionality with computer-assisted assessment. Modern Information Technologies and IT-education. 2019;15(4):876–885. (In Russian.) EDN: BECCUB. DOI: 10.25559/SITITO.15.201904.876-885</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Ramos J., Trenas M. A., Gutiérrez E., Romero S. E-assessment of Matlab assignments in Moodle: Application to an introductory programming course for engineers. Computer Applications in Engineering Education. 2013;21(4):728–736. DOI: 10.1002/cae.20520</mixed-citation><mixed-citation xml:lang="en">Ramos J., Trenas M. A., Gutiérrez E., Romero S. E-assessment of Matlab assignments in Moodle: Application to an introductory programming course for engineers. Computer Applications in Engineering Education. 2013;21(4):728–736. DOI: 10.1002/cae.20520</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Карманова Е. В. Автоматизированный контроль при обучении программированию на Python c использованием плагина CodeRunner LMS Moodle. Наука. Информатизация. Технологии. Образование. Материалы XIV международной научно-практической конференции. Екатеринбург: Российский государственный профессионально-педагогический университет; 2021:102–108. EDN: TEDZUF</mixed-citation><mixed-citation xml:lang="en">Karmanova E. V. Automated control for teaching programming on the Python using the plugin CodeRunner in LMS Moodle. Science. Informatization. Technologies. Education. Proc. XIV Int. Scientific and Practical Conf. Yekaterinburg, Russian State Vocational Pedagogical University; 2021:102– 108. (In Russian.) EDN: TEDZUF</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Guo P. J. Online python tutor: Embeddable webbased program visualization for cs education. Proc. 44th ACM Technical Symposium on Computer Science Education (SIGCSE ‘13). New York (United States), Association for Computing Machinery; 2013:579–584. DOI: 10.1145/2445196.2445368</mixed-citation><mixed-citation xml:lang="en">Guo P. J. Online python tutor: Embeddable webbased program visualization for cs education. Proc. 44th ACM Technical Symposium on Computer Science Education (SIGCSE ‘13). New York (United States), Association for Computing Machinery; 2013:579–584. DOI: 10.1145/2445196.2445368</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Gulwani S., Radiček I., Zuleger F. Automated clustering and program repair for introductory programming assignments. Proc. 39th ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 2018). New York (United States), Association for Computing Machinery; 2018:465–480. DOI: 10.1145/3192366.3192387</mixed-citation><mixed-citation xml:lang="en">Gulwani S., Radiček I., Zuleger F. Automated clustering and program repair for introductory programming assignments. Proc. 39th ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 2018). New York (United States), Association for Computing Machinery; 2018:465–480. DOI: 10.1145/3192366.3192387</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Suzuki R., Soares G., Head A., Glassman E., Reis R., Mongiovi M., D’Antoni L., Hartmann B. TraceDiff: Debugging unexpected code behavior using trace divergences. Proc. 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). Raleigh, NC, IEEE; 2017:107–115. DOI: 10.1109/VLHCC.2017.8103457</mixed-citation><mixed-citation xml:lang="en">Suzuki R., Soares G., Head A., Glassman E., Reis R., Mongiovi M., D’Antoni L., Hartmann B. TraceDiff: Debugging unexpected code behavior using trace divergences. Proc. 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). Raleigh, NC, IEEE; 2017:107–115. DOI: 10.1109/VLHCC.2017.8103457</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Reis R., Soares G., Mongiovi M., Andrade W. L. Evaluating feedback tools in introductory programming classes. Proc. 2019 IEEE Frontiers in Education Conf. (FIE). Covington, KY, USA, IEEE; 2019:1–7. DOI: 10.1109/FIE43999.2019.9028418</mixed-citation><mixed-citation xml:lang="en">Reis R., Soares G., Mongiovi M., Andrade W. L. Evaluating feedback tools in introductory programming classes. Proc. 2019 IEEE Frontiers in Education Conf. (FIE). Covington, KY, USA, IEEE; 2019:1–7. DOI: 10.1109/FIE43999.2019.9028418</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Шевелев М. Ю., Вишнякова Л. А., Шевелев Ю. П. Контроль знаний в компьютерном обучении. Неантропоморфный подход. Саарбрюккен: LAP LAMBERT Academic Publishing; 2014. 404 с.</mixed-citation><mixed-citation xml:lang="en">Shevelev M. Yu., Vishnyakova L. A., Shevelev Yu. P. Knowledge assessment in e-learning. Non-anthropomorphic approach. Saarbrücken, LAP LAMBERT Academic Publishing; 2014. 404 p. (In Russian.)</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Жуков И. А., Костюк Ю. Л. Модель представления многовариантных заданий для автоматизированного контроля знаний по программированию. Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2020;(53):110–117. EDN: TERGOW. DOI: 10.17223/19988605/53/11</mixed-citation><mixed-citation xml:lang="en">Zhukov I. A., Kostyuk Yu. L Model of representation of multivariate tasks for automated control of programming knowledge. Tomsk State University Journal of Control and Computer Science. 2020;(53):110–117. (In Russian.) EDN: TERGOW. DOI: 10.17223/19988605/53/11]</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Жуков И. А., Костюк Ю. Л. Расширенный алгоритм контроля знаний для модели представления многовариантных заданий. Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2021;(57):101–109. EDN: AOWESF. DOI: 10.17223/19988605/57/11</mixed-citation><mixed-citation xml:lang="en">Zhukov I. A., Kostyuk Yu. L. An extended assessment algorithm for multivariate task presentation model. Tomsk State University Journal of Control and Computer Science. 2021;(57):101–109. (In Russian.) EDN: AOWESF. DOI: 10.17223/19988605/57/11]</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
