Multilingual Computer Programming Workshops with Automated Verification of the Correctness of Task Completion for Students of Pedagogical Specialties
摘要
Federal State Educational Standards of Russia (FSES) determine 70% of the content of all school courses, including the computer science course for secondary school (age 14–16 years). One of the most important and difficult topics to master in a school computer science course is programming. The Federal State Educational Standard quite strictly defines the content of this topic: all schoolchildren in Russia, upon completion of the compulsory 9 years of schooling, must master all structured programming constructs, having learned to compose programs for controlling virtual robots in one of the graphical programming environments, and must also master standard algorithms for working with numerical arrays (maximum, arithmetic mean, sorting) in one of the six full-text programming languages prescribed by the standard. The list of approved languages includes both educational programming languages Pascal and the school algorithmic language with Russian vocabulary KuMir, as well as production programming languages Java Script and Python. Obviously, a programming course for future computer science teachers should give students stable skills in composing simple programs in at least one of the prescribed programming languages. And the task is to develop a methodology for teaching programming to students of pedagogical specialties, ensuring confident mastery of the basics of programming with minimal time and effort. This article proposes a solution to this problem by implementing a multilingual programming workshop with automated verification of the correctness of task completion. The proposed methodology was introduced at the Moscow Pedagogical State University in a one-year course (72 teaching hours) and has proven its applicability and success. A distinctive feature of the proposed methodology is the approach in which students perform an impressive number of programming tasks: in the annual course, students are given 500 tasks, of which at least 80% of the tasks must be completed to receive credit for each topic. To ensure quick and effective mastery of all structured programming constructs, this mastery begins in the textless, pictogram-based programming environment PictoMir on the tasks of controlling virtual robots and real robotic toys. Next, the accumulated experience in creating robot control programs using all structured programming constructs is transferred to the full-text programming languages KuMir and Python. The author’s experience shows that the proposed approach can also be used in introductory programming courses in primary and secondary schools.