Teaching Programming to Schoolchildren in Gomel (Belarus)
MICHAEL DOLINSKY
Faculty of Mathematics and Programming Technologies,
Francisk Skorina Gomel State University,
Sovetskaya Str.104, 246019, Gomel,
BELARUS
Abstract: - The author has been teaching programming to Gomel schoolchildren for more than four decades.
For the last twenty-five years, training has been focused primarily on preparing for programming competitions
from school to international competitions (IOI). Since 1997, 15 students of the author have won a total of 26
medals at IOI 1997 - 2023. The article contains a description of the teaching methods and tools used by the
author. An essential technical basis for training is the instrumental distance learning system DL.GSU.BY, was
created and developed under the leadership of the author from 1999 to the present time.
Key-Words: - computer science olympiads, instrumental system of distance learning, programming,
DL.GSU.BY, primary school, secondary school, high school.
Received: August 2, 2023. Revised: December 2, 2023. Accepted: February 9, 2024. Published: April 2, 2024.
1 Introduction
Even a cursory analysis of the literature shows how
relevant it is now to teach programming to
schoolchildren from “Every student in every school
should have the opportunity to study computer
science” [1], to teaching schoolchildren such
professional programming languages as Python [2],
[3], [4], C++ [5], C# [6], Java [7], Javascript [8],
HTML and CSS [9] . Particular importance is
attached to gamification, [10], as a means of
attracting the attention of schoolchildren to
programming and automatic systems for checking
programs, [11], to increase the speed and quality of
programming learning. It is pointed out that
programming competitions motivate schoolchildren
to study programming, [12]. Recommendations are
being developed for preparing for programming
competitions, [13] and new approaches to teaching
programming, for example, in [14], training is
proposed according to the OBE (output-based
education) principle. Proposals are also being made
for the development of e-learning systems proper,
[15]. There are examples of successful systems for
teaching programming, [16]. Great attention is paid
to the further development of teaching methods, in
particular such aspects as integrated teaching of
programming and mathematics [17], the
development of effective learning without the
direct use of computers (unplugged activities) [18],
[19], the use of a balanced approach to
simultaneous work on theory and practice, [20].
The role of the development of technological
resources for learning is noted, [21]. Examples of
successful technological resources are given, [22].
The future is seen in personalized learning systems,
[23], [24], with the widespread use of educational
video materials [25], mobile devices [26] and
artificial intelligence [27], [28].
2 Problem Formulation
The author has been teaching programming to
schoolchildren, [29], for several decades, and in
this paper offers a description of his approach to
teaching programming. Initially, the author was
focused on teaching applied programming to
schoolchildren. However, when only two out of ten
well-motivated and well-prepared schoolchildren -
programmers entered the university, it was decided
to reorient themselves towards preparing for the
Olympiads in Informatics, since obtaining a
diploma from the Republican Olympiad for
schoolchildren guarantees university admission.
3 Problem Solution
3.1 What to Teach?
Since 2010, the conditions of tasks for the
Belarusian Republican and Regional Olympiads in
Informatics have been prepared by a single
scientific committee, and, in this way, the vector of
WSEAS TRANSACTIONS on ADVANCES in ENGINEERING EDUCATION
DOI: 10.37394/232010.2024.21.2
Michael Dolinsky
E-ISSN: 2224-3410
11
Volume 21, 2024
development of education is set - what topics and at
what level of complexity are required to prepare
schoolchildren for Olympiads in Informatics. Since
that time, the author himself has been solving these
problems in two directions:
A) Score enough points to pass from the
Gomel region to the Belarusian Republican
Olympiad and score enough points to receive a
diploma from the Belarusian Republican Olympiad.
As a rule, to achieve the desired result, it is enough
to solve one or two problems completely in each
round and make partial solutions for two or three
problems in the round. Each round includes four
tasks.
B) Solve completely thematically
important problems that were not necessary to
solve completely to get a diploma, but they are very
useful for successful performance at international
Olympiads. We are talking about tasks on the
following topics: dynamic programming, complex
data structures, graphs, and elements of number
theory.
For all solved problems, the author writes his
detailed descriptions of not only the ideas of the
solution but also the details of the implementation
of his solution. The description also includes the
full text of the solution in Pascal. This is done so
that the solutions can be understood by all students.
Our training begins in Pascal, but from some point
on, many Olympiad students switch to C++. If the
jury's original decision uses advanced (compared to
Pascal) C++ features, then it (together with the
original description) is attached to the decision of
the author of the article.
The tasks of item A are collected in a special
package of tasks “Belarusian Olympiads - Diploma
Minimum in order of increasing complexity of
topics and tasks within topics in the course “Basic
Programming”. At the moment, this task package
contains problems of the Belarusian Republican
and Regional Olympiads 2010-2023, grouped by
topics: one-dimensional array, two-dimensional
array, geometry, strings, enumeration, greedy
algorithm, dichotomy, trichotomy, elements of
number theory (modular arithmetic, divisors,
greatest common divisor, sieve of Eratosthenes,
number systems, bit processing), recursion,
dynamic programming, graphs (recursion, disjoint
set system), C++ goodies (multiset, map), partial
solutions, also grouped by topic: one-dimensional
array, two-dimensional array, strings, enumeration,
elements of number theory (divisors, sieve of
Eratosthenes, greatest common divisor, number
systems, bit processing), greedy algorithm, queue,
recursion, dynamic programming (prefix sums,
knapsack, largest increasing subsequence,
partitioning an array into subarrays); graphs
(queue, recursion, Prim's minimum spanning tree
algorithm), C++ goodies (map)).
The tasks of point B are collected in separate
task packages inside the “Belarusian Olympiads”
folder on the following topics: dynamic
programming (one-dimensional, two-dimensional,
three-dimensional, on an array of strings, on a tree,
by number, by bit number, inclusion-exclusion
method); complex data structures: trie on (string,
bit), segment tree (without modification, single
increment-sum, single assignment-minimum, and
number, increment on segment-lazy propagation-
minimum); C++ goodies (vector+sort, map,
multimap, upper/lower bound, ordered set); graphs
(tree diameter, response dichotomy, Kruskal's
algorithm, least common ancestor, centroid
decomposition); elements of number theory
(greatest common divisor, sieve of Eratosthenes,
Euler function, bit processing (cycle over all
submasks)).
The author does not always manage to solve the
problem on his own, in this case, original analyses
and solutions come to the rescue.
3.2 How to Teach?
Over the decades of teaching programming to
schoolchildren, the following general principles of
the author's teaching methodology have been
formed:
- teach everyone who comes, without dropping out
by age and/or level of training
- in every lesson, every student works every
minute, and not because he is forced, but because
he is interested
- personalized adaptive learning
- many individual educational trajectories
- a reasonable combination of individual and group
lessons.
The effective implementation of these
principles became possible thanks to the
development of the leadership of the author of the
DL.GSU.BY instrumental system of distance
learning and its continuous development and filling
with educational materials, starting from September
1999. The main capabilities of DL.GSU.BY is
presented in the author’s paper [5]. The following
describes other features of the author's approach to
teaching programming.
Automatic formation of the table of Codeforces-
ratings of schoolchildren in Gomel and the
Gomel region. All schoolchildren who aim to
participate in the regional Olympiad in Informatics
WSEAS TRANSACTIONS on ADVANCES in ENGINEERING EDUCATION
DOI: 10.37394/232010.2024.21.2
Michael Dolinsky
E-ISSN: 2224-3410
12
Volume 21, 2024
and beyond are strongly recommended to register
on the Codeforces.com website and solve rounds
there at least once a month. As a result, a table [30]
is automatically formed, that contains the columns
“Rating”, “City”, “Surname”, “Name”, “Grade”,
“School”, “Last Date”, and “Number of Rounds”.
The top 15 rows of the table shown above represent
the 15 most likely candidates for the next
Belarusian Republican Olympiad as part of the
Gomel Region team. As the statistics of the last 6
years show, at least 11 of them (in 2023 - 14) will
take diplomas of the Belarusian Republican
Olympiad. The top 25 lines of the table show the
most likely graduates of the nearest Gomel Oblast
Olympiad in Informatics. The 25 best in the table
for Gomel show the most likely current participants
in the nearest Gomel Oblast Olympiad from the
city of Gomel.
Thus, each of the students can constantly
understand their place in the regional / city
hierarchy, monitor the effectiveness of their
training, set themselves, and solve tasks to rise to
the planned level. Columns “Date” (last
participation) and “Number of rounds” (in which
the student took part) show the seriousness of the
student's intentions. It is also important to note that
solving Codeforces rounds allows you to track
trends in the development of Olympiad
programming, learn new algorithms that are useful
for learning, and conduct psychological and tactical
training for Olympiad participants.
Weekly Sunday Olympiads. For the most
advanced children of Gomel, based on the
informatics cabinet of secondary school 27,
training olympiads are held weekly on Sundays
based on the materials of the olympiads USACO
(USA), COCI (Croatia), Russian final, regional,
and Internet olympiads. After the standard 5-hour
solution, the participants of the Olympiads analyze
the problems. Since olympiads are always taken,
for which author's analyses are posted, they can
also be used when resolving these olympiads.
Regional Olympiads in programming are
described in the author’s paper [4].
Weekly training olympiads. They are held on
the tasks of regional olympiads of past years in two
divisions 1-4 cells, 5-11 cells. Tasks open on
Thursday morning and close on Wednesday
evening of the following week. Thus, each student
has at his disposal a whole week to find time to
solve this Olympiad. The thematic format of the
Olympiads allows the student and his teacher to
constantly see the quality of the assimilation of the
topics covered, as well as the topics to be studied.
Season Cups. For additional motivation for
classes, quantitative results of training are summed
up on a quarterly basis (who solved the problems
most for Autumn, Winter, Spring, and Summer) in
four nominations “Professional programming”
(without age restrictions), “Basic programming”
(for students 1-8 grades), “Informatics” (for
students in grades 1-4), “Mathematics” (for
students in grades 1-8). In the last three
nominations, the results of the “Person of the Year”
contest are also summed up. Valuable gifts are
awarded by the OpenMyGame company, founded
by the author's students.
Progress Cups. Awarded to one student in the
courses "Basic Programming" and "Informatics"
who has achieved the greatest progress. Valuable
gifts are awarded by the DL Club (St. Petersburg).
The author’s paper [4], contains a detailed
description of such questions as teaching
programming in middle and high school as well
as teaching text programming (in Pascal) in
elementary school and automation of learning in
arbitrary programming languages.
4 Teach to Learn
The author believes that the first and most
important thing he should teach his students is to
“teach to learn”. Since a specialist in information
technology will have to do this almost throughout
his professional career. This study begins “from a
small point” - to start a notebook on the subject,
keep reasonable notes, and behave correctly in the
classroom (do not be distracted by yourself and do
not interfere with learning by others). The next
level of “learning to learn” is to listen to the
teacher’s explanations, try to understand what you
hear, and think about what you are learning all the
time. Next comes the ability to understand the task,
highlight the important, discard the unimportant,
develop an algorithm, and debug a program written
according to it. Then comes the formation of
teamwork skills - listening carefully, concisely, and
clearly expressing one's thoughts, behave correctly
during discussions and dispute resolution. And,
finally, the formation of the ability to obtain
information from the Internet - the main source of
knowledge today.
5 Teach Professions
Historically, it so happened that the author spends
most of his time working with schoolchildren on
teaching Olympiad programming. This is largely
WSEAS TRANSACTIONS on ADVANCES in ENGINEERING EDUCATION
DOI: 10.37394/232010.2024.21.2
Michael Dolinsky
E-ISSN: 2224-3410
13
Volume 21, 2024
because the diploma of the Republican Olympiad
in Informatics (which is a programming Olympiad)
makes it possible to enter any university in Belarus
without exams. In addition, Belarusians can
participate in Russian Olympiads, which give
similar rights for admission to Russian universities.
Winners of international Olympiads have certain
benefits when entering universities in other
countries.
At the same time, there are periodically
schoolchildren who want to switch to applied
professional programming, for example, after they
took a diploma at the Republican Olympiad at the
end of March and secured admission to a university
and “free time” before starting their studies at a
university in September.
Such guys are attracted to work on the
development of DL.GSU.BY. What has been done
to facilitate their transition to professional
programming?
1) a DL virtual machine has been created, which
allows you to install a website on your computer
and learn “by trial and error” without threatening
the operation of the combat DL.
2) a video tutorial was created on installing this DL
virtual machine, modifying programs on the virtual
machine, and transferring verified modifications to
the “combat DL”.
3) Professional programmers (the author's students)
provide advice to beginners and exercise strict
control over the code changed by beginners.
4) For professional communication of developers, a
special DL documentation site is maintained,
including a section of questions and answers
5) A special course "WEB-technologies for
beginners" has been created - with automatic
verification of solutions.
6 Conclusion
This work describes methods, tools, and
technologies for teaching programming to
schoolchildren. The effectiveness of the work is
confirmed by dozens of medals from Gomel
residents at the International Olympiads for School
Students in Informatics (IOI) and hundreds of
diplomas from Gomel residents at the Belarusian
Republican School Olympiads in Informatics from
1997 to 2023.
References:
[1] Code.org. Every student in every school
should have the opportunity to learn
computer science, 2021, [Online].
https://code.org/files/Code.orgOverview.pdf
(Accessed Date: March 21, 2024).
[2] Choi M.Python for Kids: Best Resources to
Learn Python Programming. 2022
CodeWizardsHQ, [Online].
https://www.codewizardshq.com/python-for-
kids/ (Accessed Date: March 21, 2024).
[3] Qu Z., Wang X., Zhang W.A Study on Game
Teaching in Python Programming Teaching
for Middle School. In: Hong, W., Weng, Y.
(eds) Computer Science and Education.
ICCSE 2022. Communications in Computer
and Information Science, vol. 1813. Springer,
Singapore, https://doi.org/10.1007/978-981-
99-2449-3_8.
[4] Zhu Y., Guo Y., Lv H., Zhang T., Yu Y., Liu
Y. The Reform and Practice of PYTHON
Programming Teaching in the Context of
Emerging Engineering Education. In: Hong,
W., Weng, Y. (eds) Computer Science and
Education. ICCSE 2022. Communications in
Computer and Information Science, vol.
1813. Springer, Singapore,
https://doi.org/10.1007/978-981-99-2449-
3_48.
[5] junilearningC++ for Kids | Learn C++
Programming The Fun Way. junilearning,
2021, [Online].
https://junilearning.com/blog/coding-
projects/cpp-for-kids/ (Accessed Date: March
21, 2024).
[6] MacDonald M. Can You Teach C# as a First
Language for Kids? medium. 2021, [Online].
https://medium.com/youngcoder/can-you-
teach-c-as-a-first-language-for-kids-
367f019c8584 (Accessed Date: March 21,
2024).
[7] Vedantu. Java for Kids - Introduction to Java
for Kids. Vedantu.Com. 2023, [Online].
https://www.vedantu.com/coding-for-
kids/java (Accessed Date: March 21, 2024).
[8] Tev V. javascript for kids: what is it and
where to start, codemonkey, 2022, [Online].
https://www.codemonkey.com/blog/javascrip
t-for-kids-what-is-it-and-where-to-start/
(Accessed Date: March 21, 2024).
[9] CodeWizardsHQ. Intro to HTML and CSS
for Kids. 2021 CodeWizardsHQ, [Online].
https://www.codewizardshq.com/html-css-
for-kids/ (Accessed Date: March 21, 2024).
[10] ZhanZ. The effectiveness of gamification in
programming education: Evidence from a
meta analysis, Computers and Education:
Artificial Intelligence, 2022, vol. 3, pp.1-7.
WSEAS TRANSACTIONS on ADVANCES in ENGINEERING EDUCATION
DOI: 10.37394/232010.2024.21.2
Michael Dolinsky
E-ISSN: 2224-3410
14
Volume 21, 2024
[11] Zhang Y., Li Z., Du B., Wu Y., Jiang H. Data
Analysis of Online Judge System-Based
Teaching Model. In: Hong, W., Weng, Y.
(eds) Computer Science and Education.
ICCSE 2022, pp.531-543,
Communications in Computer and
Information Science, vol. 1813. Springer,
Singapore, https://doi.org/10.1007/978-981-
99-2449-3_46.
[12] Katyetova A. How Competitions Can
Motivate Children to Learn Programming,
Olympiads, Informatics, 2022. Vol.16,
pp.13-22.
[13] Tsvetkova MS, Kiryukhin VM, Borisov NA,
Kinder MI Methods of Tracks for Training
Juniors in Olympiad Informatics: The ISIJ
Experience, Olympiads in Informatics, 2022,
Vol. 16, pp.75-87.
[14] Gou, P., Han, Y., Hu, X.Case Teaching of
Programming Course Integrating
Professional Characteristics under the Idea of
OBE. In: Hong,
W., Weng, Y. (eds) Computer Science and
Education. ICCSE 2022. Communications in
Computer and Information Science, 2023,
vol. 1813. Springer, Singapore. pp.316-324.
[15] Kostadinov B., Stojmenovska I.Common
Approaches to Developing Extensible E-
learning Systems, Olympiads in Informatics.
2022. Vol. 16, pp.23-34.
[16] Laaksonen A.What is the Competitive
Programming Curriculum?, Olympiads in
Informatics, 2022. Vol.16. P.35-42
[17] Elicer, R.; Tamborg, A. L.; Brating, K.;
Kilhamn, C. Comparing the Integration of
Programming and Computational Thinking
into Danish and Swedish Elementary
Mathematics Curriculum Resources.
LUMAT 2023, 11, pp.77–102.
[18] Fanchamps, N., van Gool, E., Slangen, L. et
al. The effect on computational thinking and
identified learning aspects: Comparing
unplugged smartGames with SRA-
Programming with tangible or On-screen
output. Educ. Inf. Technol. 29, 2999–3024
(2024).
[19] Dag, F., Sumuer, E., & Durdu, L.
The effect of an unplugged coding course on
primary school students' improvement in
their computational thinking skills. Journal
of Computer Assisted Learning, 2023,
Vol. 39, no 6, pp.1902–1918.
[20] Eckerdal, A., Berglund A., Thune, M.
Learning programming practice and
programming theory in the computer
laboratory, European Journal of
Engineering Education, 2024, Vol. 49, no 2,
pp.330-347, DOI:
10.1080/03043797.2023.2294953.
[21] Penate, A.H., Padron-Robaina, V. &
Nieves, J. The role of technological
resources in the reputation of vocational
education schools. Educ. Inf. Technol. 2024,
Vol. 29, pp.931–2950,
https://doi.org/10.1007/s10639-023-11919-x
[22] Pereira, D.E., Seabra, R.D. "Open
Educational Resource for Studying
Algorithms and Programming Logic: An
Approach to the Technical Level Integrated
with Secondary School." Informatics in
Education 2023, vol. 22, no. 3 pp.441-462.
https://doi.org/10.15388/infedu.2023.17.
[23] Adewale, O.S., Agbonifo, O.C., Ibam, E.O.,
Makinde A.I., Boyinbode, O.K., Ojokoh,
B.A., Olabode, O., Omirin, M.S., Olatunji,
S.O. Design of a personalised adaptive
ubiquitous learning system, Interactive
Learning Environments, 2024 vol.32, Nom
1, pp. 208-228, DOI:
10.1080/10494820.2022.2084114.
[24] Yang, Y., Zhang, H., Chai, H., Xu, W.
Design and application of intelligent
teaching space for blended teaching,
Interactive Learning Environments, 2023,
Vol. 31, No. 10, pp.6147-6164,
DOI: 10.1080/10494820.2022.2028857.
[25] 25. Tekkumru-Kisa, M., Stein, M.K.
Designing, facilitating, and scaling-up video-
based professional development: supporting
complex forms of teaching in science and
mathematics. IJ STEM Ed 4, 27, (2017).
https://doi.org/10.1186/s40594-017-0087-y.
[26] Coelho, Regina Celia, Marques, Matheus F.
P., and Tiago de Oliveira. "Mobile Learning
Tools to Support in Teaching Programming
Logic and Design: A Systematic Literature
Review." Informatics in Education, 2023,
Vol. 22 no.4 pp.589-612,
https://doi.org/10.15388/infedu.2023.24.
[27] Porn, R.; Brasken, M.; Wingren, M.;
Andersson, S. Attitudes towards and
Expectations on the Role of Artificial
Intelligence in the Classroom Among
Digitally Skilled Finnish K-12 Mathematics
Teachers. LUMAT 2024, 12, pp.53–77.
[28] Xu, W., Ouyang, F. The application of AI
technologies in STEM education: a
systematic review from 2011 to 2021. IJ
STEM Ed 9, 59
WSEAS TRANSACTIONS on ADVANCES in ENGINEERING EDUCATION
DOI: 10.37394/232010.2024.21.2
Michael Dolinsky
E-ISSN: 2224-3410
15
Volume 21, 2024
(2022), https://doi.org/10.1186/s40594-022-
00377-5.
[29] Dolinsky M. Gomel training school for
Olympiadsin Informatics, Olympiads in
Informatics. 2016, Vol. 10. pp.237-247,
DOI: 10.15388/ioi.2016.16.
[30] The table of Codeforces-ratings of
schoolchildren in Gomel and the Gomel
region (In Russian), [Online].
https://dl.gsu.by/codeforces/ (Accessed Date:
April 1, 2024).
Contribution of Individual Authors to the
Creation of a Scientific Article (Ghostwriting
Policy)
The author contributed in the present research, at
all stages from the formulation of the problem to
the final findings and solution.
Sources of Funding for Research Presented in a
Scientific Article or Scientific Article Itself
No funding was received for conducting this study.
Conflict of Interest
The author has no conflicts of interest to declare.
Creative Commons Attribution License 4.0
(Attribution 4.0 International, CC BY 4.0)
This article is published under the terms of the
Creative Commons Attribution License 4.0
https://creativecommons.org/licenses/by/4.0/deed.e
n_US
WSEAS TRANSACTIONS on ADVANCES in ENGINEERING EDUCATION
DOI: 10.37394/232010.2024.21.2
Michael Dolinsky
E-ISSN: 2224-3410
16
Volume 21, 2024