=Paper=
{{Paper
|id=Vol-3426/paper32
|storemode=property
|title=Design and Implementation of a Ukrainian-Language Educational Platform for Learning Programming Languages
|pdfUrl=https://ceur-ws.org/Vol-3426/paper32.pdf
|volume=Vol-3426
|authors=Andrii Vasyliuk,Taras Basyuk,Vasyl Lytvyn
|dblpUrl=https://dblp.org/rec/conf/momlet/VasyliukBL23
}}
==Design and Implementation of a Ukrainian-Language Educational Platform for Learning Programming Languages==
Design and Implementation of a Ukrainian-Language
Educational Platform for Learning Programming Languages
Andrii Vasyliuk , Taras Basyuk and Vasyl Lytvyn
Lviv Polytechnic National University, Bandera str.12, Lviv, 79013, Ukraine
Abstract
The article analyzes the existing methods and known systems that provide tools for learning
programming languages and describes the mechanisms for evaluating these skills, which made
it possible to identify the main shortcomings of the existing approaches and showed the
relevance of the research. In the process of analyzing the subject area, the existing
recommendation methods were reviewed and analyzed, and a joint filtering method was
chosen, which is implemented through a unified layout of the system user's video settings
matrix. The design of the software system was carried out using an object-oriented approach
and the display of created diagrams in accordance with the notation of the UML language. A
description of the functionality of the educational platform was carried out using the
algebra of algorithms, which provided the means to optimize its software construction. The
result of the research was the design and implementation of a platform for learning
programming languages with the possibility of educational video content searching. The
created platform for learning programming languages works in prototype mode and
implements the described functionality.
Keywords 1
Programming language, training, platform, information system
1. Introduction
As you know, knowledge is an important factor in the process of formation of any personality. Since
we live in the 21st century, in the world of technology, the most convenient way for us to learn will be
interactive systems, online guides, video courses, and audiobooks. All these force you to look for
different platforms, mostly free or with a trial period, to go to distant pages of results to get what you
want. However, not everyone thinks about the reliability of the data, its integrity and its usefulness.
Nevertheless, this topic is most appropriate within the framework of a higher education institution,
because the educational program is not often updated and does not always correspond to modern trends.
Therefore, students remain at the level of "classics", which leads to the impossibility of solving the
latest problems in the field of programming [1, 2].
Yes, basic knowledge is undeniably necessary, however, the way these basics are delivered is
somewhat outdated. Not only science does not stand still, but also pedagogy, approaches to learning
and psychology: it is about the possibility of interactive learning with the consolidation of the learned
material. As you know, for primary grades of junior schools, there is a program called "Steps of
Informatics", which involves providing interaction between a beginner programmer and the curriculum.
The purpose of this course is to develop algorithmic and logical thinking, to master practical skills in
using a graphic editor and programs to support the study of academic subjects. In institutions of higher
education, there is a problem with the learning and practical implementation of new algorithms for
students. It often happens that even quite simple algorithms can be difficult to master, and the format
with supporting video content in this aspect only helps to master the educational material.
MoMLeT+DS 2023: 5th International Workshop on Modern Machine Learning Technologies and Data Science, June 3, 2023, Lviv, Ukraine
EMAIL: Andrii.S.Vasyliuk@lpnu.ua (A. Vasyliuk); Taras.M.Basyuk@lpnu.ua (T. Basyuk); Vasyl.V.Lytvyn@lpnu.ua (V. Lytvyn)
ORCID: 0000-0002-3666-7232 (A. Vasyliuk); 0000-0003-0813-0785 (T. Basyuk); 0000-0002-9676-0180 (V. Lytvyn)
© 2023 Copyright for this paper by its authors.
Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Wor
Pr
ks
hop
oceedi
ngs
ht
I
tp:
//
ceur
-
SSN1613-
ws
.or
0073
g
CEUR Workshop Proceedings (CEUR-WS.org)
In this way, it will be possible to create a platform that combines learning with the ability to search
for video content on educational topics. This approach will be able to improve the level of students'
education, encouraging them to complete the tasks set in higher education, to show their creative ideas
and non-standard solutions. In addition, it is possible to attract senior students who will be able to
contribute to the development of the system. This will make it possible to implement a continuous
educational process and ensure communication between students of different years of study [3].
For this purpose, it is planned to develop a platform for learning programming languages. This
platform will include lectures, the study of which will allow you to understand the basic algorithms,
approaches and patterns taught in various programming languages [4], as well as instructions for
completing the task and a personal account with the ability to view your rating and success. In addition,
it will be possible to find appropriate video content on educational topics using the tools of the
developed platform. The specified topic is relevant today, as questions of creativity, non-standard
solutions to problems, as well as an interesting way of assimilating educational material in the field of
programming are of great interest to both teachers and students. The development of such platforms is
important for science, as the collected statistics will make it possible to take into account the cognitive
characteristics of students and personalize the learning process. For students, it is an opportunity to
demonstrate their skills, knowledge, share experience with others and receive advice from others,
improve their skills and approaches.
1.1 Analysis of recent researches and publications
1.1.1 Known methods of study
In order to choose the appropriate type of e-learning, it is necessary to examine many factors: the
requirements of the person who will follow it, the tasks that this type offers, the ways in which it
recommends thematic educational materials, and exactly how the results are evaluated. If you take into
account all the aspects described above, you can choose the most correct method of assimilation of
information for a person, and it will, accordingly, improve learning productivity.
The following main types of e-learning are distinguished [5]:
● Web training. This option of e-learning involves the use of web browsers, so students who
choose it, have access to the offered educational materials almost always. Given that browsers
support the playback of audio and video files, web-based learning is a very flexible tool for both
students and teachers. However, both parties must be connected to the Internet to download or view
educational courses and interact with each other.
● Training based on video materials. This method appeals to people who are bored with
presentations or e-books. Video recordings are a more interesting tool for presenting information, as
they can contain animation elements, full or excerpted interviews with scientists or experts, case
studies captured on camera, or computer screen recordings with relevant comments. Since video
materials are on the web, they can be accessed at any time and as many times as you want, and the
mechanisms of video players, such as speeding up or slowing down the video or rewinding to any
minute, allow a person to watch the recording at the desired speed, which ensures learning at a
comfortable pace.
● Webinars and virtual classes. Webinars are educational seminars held online through special
programs for video conferencing. As for virtual classes, their difference from ordinary classes is that
teachers and students can be in different places, and not physically in the same classroom.
Accordingly, virtual classes can include webinars. These options of e-learning contribute to the
establishment of cooperation between people, as well as the education of students from all over the
world in a common field with the possibility of direct and instant consideration of issues.
● Mobile learning. Given that most people today have mobile devices, this type of e-learning is
quite common. For example, students can receive study materials and homework remotely on their
smartphones. However, mobile learning has made the most significant contribution to organizations:
it allows them to train their employees more easily, following the Bring Your Own Device policy.
This policy made mobile learning a separate, full-fledged format of e-education, and not just another
component of a web-based online learning program.
● Coeducation. In general, people learn more easily when they can communicate with others, and
this is what this type of e-learning focuses on. Its goal is to build an environment where students and
teachers can work together and share ideas with each other. In this way, collaborative learning
resembles traditional group learning that takes place outside of the Internet. In fact, web resources
such as social media have a huge impact on student communication. Forums, messengers, chats and
other platforms that promote social learning and encourage students to communicate are integral
elements of learning management programs. In this way, the additional, parallel use of social
networks, such as Twitter, Facebook, or Telegram, will help to realize for all participants of the
educational process an environment where they can exchange questions and relevant information,
help each other and generally form friendly relations, which will ultimately create a positive
atmosphere for learning. Learning in a team with colleagues is a critical point that may be missing
for a person who wants to use e-learning methods.
● Microlearning. This method of e-learning offers to break information into small portions that
are easier to absorb. Thanks to this, the student can fully concentrate on the chosen course and,
accordingly, better remember what it is about. However, this approach requires more time to teach
all the necessary educational material, because it provides information on only one specific topic at
a time. Microlearning can be combined with other types of e-education. For example, if it is used
together with elements of joint or mobile learning, the process of acquiring new knowledge by a
person becomes more effective and more coordinated.
● Individual e-learning. Individual courses are developed on the necessary topics directly
following the requirements of a predetermined group of people. Such training is adaptive, which is
different from the other types of e-learning mentioned above. It does not include all general materials
in the course, but only those that a specific user really needs to know. Because of this, the
development of individual courses is quite difficult. In the process of their creation participate
different experts from relevant fields, designers of information systems and experienced developers
of educational programs. Given the scalability problems of such educational systems, most
companies and organizations that want to have their own software for individual e-learning do not
implement it themselves but turn to corporations that specialize in this.
Whichever method of e-learning a student chooses for himself, it will definitely help him get good
results. But today, individual e-learning is considered the most effective option, thanks to its adaptive
aspect. As mentioned earlier, for a large part of people, interaction with computer technologies is a
daily thing, and therefore they have plenty of time and opportunities for learning. As a result, if they
are also offered to use adaptive educational programs, they will process only information that is really
useful to them, will not burden themselves with unnecessary or already familiar theories, and therefore
will study more productively.
Platforms for learning programming languages with the possibility of adaptability are designed to
provide a higher level of personalization of learning than other systems [6]. By analyzing the knowledge
and skills of an individual student, they dynamically generate a course plan and adjust the level of
difficulty. Thanks to adaptive learning, an important innovation in education was emerged – the ability
to immediately change the discipline program based on the student’s knowledge. The information
system determines which material the user perceives better and which worse, after which it adjusts the
course in real-time. That means it changes the approach on an individual level to make sure that the
user has fully familiarized himself with the topic before moving on to the next one. Accordingly,
adaptive learning is optimized, and teachers do not need to make additional checks to see if students
have really studied the lectures well.
1.1.2. Analysis of known systems
Usually, e-learning platforms provide Learning Management Systems (LMS). They are developed
in the form of applications, web technologies or cloud systems that connect to other applications already
available to a person. An effective system of adaptive e-learning allows teachers to qualitatively manage
such elements as user registration, course content, calendars, user access to courses, as well as
communication between users, their certifications and notifications [7, 8].
Next, five different adaptive eLearning systems will be covered, namely Surgent CPA Review,
Knewton, CogBooks, DreamBox, and Exercism.
● Surgent CPA Review [9] is a system aimed at preparing the user to pass the Certified Public
Accountant exam, which acts as a reliable financial advisor that helps individuals, businesses and
other organizations plan and achieve their financial goals. The Surgent CPA Review assesses a
person’s overall skillset and identifies their weaknesses and strengths. Using artificial intelligence,
Surgent CPA Review identifies what the user doesn’t know and tells them what they need to study
to pass the exam. Advantages: free period of use, unlimited time of use until the user passes the CPA
exam successfully. Disadvantages: there is no offline version of the system.
● Knewton [10] is a company specializing in adaptive learning. Its platform personalizes
educational content and provides courses for higher education in mathematics, information
technology and engineering. Knewton enables organizations, schools, and developers to offer
customized learning to any student or employee. Its technology allows you to analyze a person’s
performance in real-time. In addition, the platform provides adaptive learning technologies that other
developers can use to build their own adaptive learning systems. Disadvantages: the system contains
only pre-verified, agreed-upon courses, which makes it impossible for all users to publish them and,
accordingly, slows down the process of updating existing ones. A person can only choose the courses
that he likes, without the possibility of directly combining them or specifying his own ultimate
educational goal. Another disadvantage is the lack of explanations for generating individual
recommendations logic: the user may not understand why he was offered to study such educational
materials and not others.
● CogBooks [11] is an adaptive learning platform that creates customized courses for users. It is
constantly being improved and more precisely adapted to the student’s needs, improving his
productivity. Currently, the platform offers 9 academic disciplines: agricultural sciences, biological
sciences, business, health and well-being, history, mathematics, philosophy, physics and
psychology. In addition, the company offers services for creating individual applications for
educational institutions. The CogBooks system can be connected to the LMS as a cloud-based tool
so that the student can enjoy the benefits of adaptive learning without installing new applications.
However, integration is currently only possible with Moodle, Blackboard, Canvas, D2L, Schoology,
and some other websites. In addition, according to user reviews [12], many initially found it difficult
to work with the system due to a large number of buttons and links, which makes navigation not
user-friendly. Another drawback of CogBooks is the somewhat superficial explanation of the correct
answers in case the user makes a mistake during the tasks.
● DreamBox [13] is an adaptive online math learning application that includes curriculum-based
tasks for children ages 5 to 14. This system was created to help students stay motivated in every
lesson and receive the right instructions at the right time from the very beginning. As for the
disadvantages of DreamBox, the interface is only in English, so children learning math with this app
must have at least a basic knowledge of the language. In addition, the games are quite bulky, so they
take a long time to load and, accordingly, take more time for teachers and students. It can also cause
the child to lose concentration and interest.
● Exercise. An online free and open-source programming platform offering code practice and
mentoring in 50 different programming languages [14, 15]. The website differs from other coding
platforms in that it requires students to download exercises through a command-line client, solve the
code on their own computers, and then submit solutions for feedback, where they can also view the
solutions of other students [16]. Advantages of Exercism: a sufficient selection of competitions, a
large selection of programming languages to learn, the presence of detailed instructions with
examples, and quick response of the system to user requests. Disadvantages of Exercism: there is no
“favorite” option if you liked the task; there is no option for sparring with users; there is no rating
table of participants; a limited number of social networks to connect.
The conducted analysis showed that in the process of creating the system, it is necessary to take into
account a number of features: the simplicity of the interface, giving the user the opportunity to change
the course at will. Constant monitoring and analysis of the student’s success is also an important
function.
1.2 The main tasks of the research and their significance
The purpose of the research is the design and construction of platforms for learning programming
languages. The research conducted will provide a means of learning programming languages through a
variety of them, including educational video content.
To achieve the goal, it is necessary to solve the following main tasks: analyze the existing
approaches, methods and software tools that are used in the field of studying, and evaluating the skills
of mastering programming languages; to determine the main tasks that arise at the same time; design a
software system using an object-oriented approach and display created diagrams in accordance with the
UML language notation; choose a recommendation engine for searching for video content, describe the
functionality using the algebra of algorithms, to develop of a Ukrainian-language educational platform
for learning programming languages.
The research results solve the actual scientific and practical task of creating a methodological
approach and software for learning programming languages.
2. Major research results
At the beginning of the research, it is necessary to carry out a systematic analysis of the subject area,
which should begin with the construction of a tree of goals [17,18]. With the help of this method of
system analysis, it is possible to display various types of goals: personal, professional, those for the
fulfillment of which a month or year is allocated, or which are long-term. The goal tree allows you to
visualize a full-fledged system of specific decisions aimed at reaching the main, global reference point
step by step. This kind of approach is unique because it depicts not only a general list of individual tasks
but also their interactions and connections. At the same time, secondary goals are a tool for achieving
other, primary goals, and together they lead to the successful achievement of the set goal.
Figure 1: The tree of goals of a platform for learning programming languages
The conducted analysis made it possible to develop the structure of the future platform, the type of
which is presented in Fig. 2.
Figure 2: The structure of the educational platform for learning programming languages
According to the given structure, the designed platform should consist of the following functional
parts: learning subsystem, recommendation subsystem, video content selection subsystem, testing
subsystem. As for the video material, in the process of analyzing the subject area, the existing
recommendation methods were reviewed and analyzed, and a joint filtering method was chosen, which
is implemented through a unified layout of the system user's video settings matrix.
The information domain of the collaborative filtering system consists of users who express their
preferences for different videos [19]. Ratings (advantages) are usually presented in the form of a triple
(users, videos, reviews). Recommender systems typically use rating criteria, such as 0-5 stars. The set
of all evaluated triples forms a sparse matrix, which is called the evaluation matrix. Pairs (user, video),
where the user did not rate the video, are unknown values of this matrix, as shown in Table 1.
Table 1
An example of a sparse matrix of video scores
Position Video #1 Video #2 Video #3
User #1 4 ? 2
User #2 1 2 ?
User #3 ? 5 4
Using a recommendation system based on joint filtering presents us with two tasks:
● calculate the rating or preference that the user will give for a specific video (the purpose of such
a forecast is to set unknown values in the rating matrix);
● form recommendations, that is, create a ranked list of N-elements for the corresponding user.
Let's singularly decompose the matrix X (a set of user ratings) of size n x m, which contains real or
complex numbers [20]. The result will be multipliers in the form of m x rT, as shown in formula 1,
where U (matrix of "attributes" of users) - a matrix of size n x r will consist of the real or complex
unitary matrix, S of size r x r (rectangular diagonal matrix), and VT, which will be a unitary matrix of
dimension m x r. The unified form of all matrices is shown in formula 2.
'
𝑋["#$] = 𝑈["#&] 𝑆[&] %𝑉[$#&] ' (1)
𝑥(( … 𝑥(" 𝑢(( … 𝑢(& 𝑠(( … 𝑠(& 𝑣(( … 𝑣(& '
( ⋮ ⋱ ⋮ -=( ⋮ ⋱ ⋮ -( ⋮ ⋱ ⋮ -( ⋮ ⋱ ⋮ - (2)
𝑥$( … 𝑥$" 𝑥"( … 𝑥"& 𝑠&( … 𝑠&& 𝑣$( … 𝑣$&
The Singular Matrix Decomposition method is used to predict the ratings of videos that have not
been rated by users, and then serve the videos with the highest predicted ratings to users [21].
An example of a matrix layout is shown in formulas 3 and 4, where the rows of the matrix define
users of the system, the columns of the matrix define videos, and the value user is evaluated for a
particular video.
1 1 1 0 0
3 3 3 0 0
4 4 4 0 0
А=5 5 5 0 0 (3)
0 2 0 4 4
0 0 0 5 5
0 1 0 2 2
After carrying out the singular expansion of the matrix A, the following matrices U, S, VT are
obtained as a result, as indicated in formulas 4-6:
0.13 0.02
0.41 0.07
0.55 0.09
𝑈 = 0.68 0.11 (4)
0.15 −0.59
0.07 −0.73
0.07 −0.29
12.4 0
𝑆= (5)
0 9.5
0.56 0.59 0.56 0.09 0.09
𝑉' = (6)
0.12 −0.02 −0.12 −0.69 −0.69
After multiplying the matrices U, S, VT, we get the resulting matrix B, which is given in formula 7:
0.92 0.95 0.92 0.01 0.01
2.91 3.01 2.91 −0.01 −0.01
3.90 3.01 2.91 0.01 0.01
𝐵 = 4.82 5.00 4.82 0.03 0.03 (7)
0.70 0.53 0.70 4.11 4.11
−0.69 1.34 −0.69 4.78 4.78
0.32 0.23 0.32 2.01 2.01
Comparing matrix A with matrix B, it can be seen that the difference between the elements is very
small, in other words, the result of multiplication B (after SVD) almost corresponds to the original
matrix A (before SVD).
As part of this work, the svds() function of the SciPy library [22] is used to implement the method
of singular matrix factorization. It forms a sparse matrix of video ratings created by system users [23].
The sparsity of the matrix means that in a large number of videos, each user receives only a small part
of the video, so most of the values in the matrix are empty. After processing the input data, the svds()
function returns a matrix containing the approximate estimated prediction value for each video, filling
the gaps in the matrix. Then, according to the user who requested the calculation recommendation
(authorized on the website) to obtain the predicted rating data, the result set forms a sorted sample of
the user's video ID (from best to worst) and prepares a list of URLs [24, 25].
The next stage was modeling the work of the educational platform using the algebra of
algorithms [26].The first stage of the implementation of the algebra of algorithms is the description of
unit terms and the synthesis of sequences, which is given below.
Formed uniterms: O(c) – uniterm of course opening; O(l) - is the uniterm of the opening of the
lecture; O(t) - is the opening unit term of the test; S(a) - is the uniterm of saving the answers of the
cross-checker; S(r) - is the unit term for saving the user's results; G(rec) - is the unit term for the
formation of recommendations; Sh(rec) – a unit term for displaying a list of recommendations; O(up)
– user profile uniterm; Sh(pg) - is the uniterm of the formation of traversal graphs; O(ch) - is the chat
uniterm; u1 – authentication data verification condition; u2 - is the unit term for selecting the completion
of training stages or statistical data on the completion of training, u3 - is the unit term for selecting
statistical data on the completion of training or chat. As a result of the use of the apparatus of the algebra
of algorithms, the following sequences and eliminations were synthesized:
S1 - sequence of learning stages:
S2 – the sequence of saving the results of the training stages:
S3 - recommendation generation sequence:
S4 - sequence of system operation in case of availability of authentication data and selection of
completion of training stages:
S5 - sequence of system operation in case of availability of authentication data and selection of
statistical data on training:
L1 – checking for authentication data:
L2 – selection of training stages or statistical data on training:
L3 – selection of statistical data on training or chat:
The next stage is the substitution of the corresponding sequences in the elimination.
As a result of using the properties of the algebra of algorithms [26], we subtract the common unit
terms by the sign of the elimination operation and obtain the following formula of the algebra of
algorithms:
The given description of the work of the educational platform using the algebra of algorithms
allowed us to optimize its structure and determine the main design direction. The next stage of the
research was the design of the system using an object-oriented approach [27-29]. The design of a
software product is necessary in order to create a clear technical task with the division of
responsibilities, to see the capabilities and functionality of the program before the start of development,
and to understand the algorithm of actions. In the absence of a project, there is a high probability of not
getting a ready-made solution. Namely, at the beginning of the design, a use case diagram was created
(Fig. 3).
Figure 3: Use case diagram
The following usage options are available to the “User”: “Register in the system”, which includes
the extension “Report a registration error”; “Log in to the system” with the extension “Report an
authorization error”; “Create/edit course”, which is available only to the teacher and includes
“Create/edit lecture”, “Create/edit test tasks”, “Create/edit practical task” and “Add glossary”; “View
educational materials”, which includes “Download glossary” and “Perform control tasks”; “To pass a
test”; “View educational recommendations”; “View performance data” and “Interact interactively”,
which includes “Write a message in the chat” and “View answers to questions”.
The class diagram represents the static view of the program. It is used not only to visualize, describe
and document various aspects of the system, but also to build executable software code. A class diagram
describes the fields and operations of a class, as well as the constraints imposed on the system. This
diagram is widely used in the modeling of object-oriented systems, because it is the only UML diagram
that can be directly displayed in object-oriented languages. The constructed class diagram, which
generally demonstrates the system architecture, is shown in Fig. 4.
Figure 4: Class diagram
The main classes that the system will contain are:
● Teacher. This class will store data that only teachers, working with the system under
development, will have;
● Student. This class will store data that only students will have;
● User. This is a generalized class for teachers and students that will contain data that is common
to them;
● Registration and authorization window. This class will read data from the appropriate windows,
check it against the ones available on the system, and grant or deny the user access to the system;
● Data. Will include methods for accessing the database;
● Main interface. Will be responsible for switching from the menu to other windows;
● User profile. Will read the user’s data from the Data class and display it in the profile;
● Test results. Will store and display the formed list of educational recommendations.;
● Course window. This class will store the list of available courses, as well as their content: the
corresponding lectures and tests for them;
● Chat window. It will provide communication between users by sending messages from one
client to another.
The sequence diagram for the developed system is shown in Fig. 5.
Figure 5: Sequence diagram
First, the user enters a login and password interacting with the registration and authorization
window. In the future, the system receives user data from the database and verifies the data entered by
the user, and grants the latter access. After that, the user can choose to switch to courses in the menu of
the main interface. To display the content of the courses, the system opens a separate course window
with which the user interacts directly. The course window accesses system data to query the list of
courses, lecture content, tests and passes test results to an object of the same name that analyzes the
user's responses and generates learning recommendations.
The next stage was the construction of the system, which is implemented in the form of a cross-
platform desktop application. The system is programmed using the Javascript language [30] and uses
the MYSQL relational database management system [31]. Platform and involves the use of two
software clients: one for teachers and the other for students. Each user of the system must have his own
profile, and therefore windows for authorization and registration in the system were created. User data
after registration is stored in the system database and checked when attempting to log in.
When the user has successfully logged into the system, the main menu window opens (Fig. 6). Four
main navigation buttons are available on it: "Courses", "Profile", "Chat" and "Video".
Figure 6: System main menu window
Teachers can create courses and add lectures to them using a text editor and locally from a computer,
as well as test tasks (Fig 7) using the appropriate template.
Figure 7: Creation of test tasks in the system
Students can view the lecture materials, after which they can take tests (Fig. 8).
Figure 8: Testing process in the system
As a result of testing, the system analyzes the user's answers and generates an individual list of
training recommendations for him (Fig. 9).
Figure 9: An example of generating individual recommendations for a student
Also, on the basis of the given recommendations, in order to better master the material, the user is
shown the appropriate Ukrainian-language video content (Fig. 10)
Figure 10: Recommended Ukrainian-language video content
3. Conclusion
As a result of the conducted research, the existing methods and known systems that provide tools
for learning programming languages were analyzed. As the analysis showed, today there are many
software systems, but all of them are characterized by certain shortcomings, from paid access to the
application to limited functionality, which makes the design and construction of a platform for learning
programming languages an actual task. In the process of analyzing the subject area, the existing
recommendation methods were reviewed and analyzed, and a joint filtering method was chosen, which is
implemented through a unified layout of the system user's video settings matrix. Object-oriented design of
the software system was carried out by constructing a set of diagrams in UML notation, three of which
(diagrams of use cases, classes and sequence) are presented in the work. Based on the conducted
research, the design and implementation of the platform was carried out. The created software product
works in prototype mode and implements the described functionality.
Further research will be aimed at creating a mobile version of the system, eliminating conflicts, and
expanding functionality in accordance with the specified requirements.
4. References
[1] С. Simone, L. Howles, Designing the Online Learning Experience: Evidence-Based Principles and
Strategies, Stylus Publishing, 2021
[2] N. Dabbagh, R. Marra, J. Howland, Meaningful Online Learning: Integrating Strategies, Activities,
and Learning Technologies for Effective Designs,
[3] K. Rudestam, Handbook of Online Learning in Higher Education, Fielding University Press, 2021
[4] C. Petzold, Code: The Hidden Language of Computer Hardware and Software, Microsoft Press,
2022
[5] A. Dyro. Adaptive Learning In Education: The Next Gen Of Educational eContent. URL.
https://elearningindustry.com/adaptive-learning-in-education-next-gen-econtent
[6] S. Kosslyn, Active Learning Online: Five Principles that Make Online Courses Come Alive,
Alinea Learning, 2021
[7] S. Foreman, The LMS Guidebook: Learning Management Systems, Association for Talent
Development, 2017
[8] A. Vasyliuk, T. Basyuk, Construction Features of the Industrial Environment Control System,
Proceedings of the 5rd International Conference on Computational Linguistics and Intelligent
Systems (COLINS-2021). Volume I: Main Conference, Kharkiv, Ukraine, April 22-23, 2021, Vol-
2870: pp.1011-1025.
[9] Surgent CPA Review. URL. https://www.surgentcpareview.com
[10] Knewton. URL. https://www.knewton.com
[11] CogBooks. URL. https://www.cogbooks.com
[12] M. Wetten, E. Serafin. Adaptive Learning Pilot – Reflections on Student Experience. URL.
https://www.academia.edu/13912408/Adaptive_Learning_Pilot_-_Reflections_on_Student
_Experience
[13] DreamBox. URL. https://www.dreambox.com
[14] J. Cook. Exercise your coding skills: rejuvenated platform empowers thousands of developers to
learn a new language for free. URL. https://bit.ly/2pHq0Hr.
[15] Get really good at programming. URL. https://exercism.io/.
[16] V.Brasseur. Improve your programming skills with Exercism. URL. https://red.ht/37jvJEj.
[17] S. Tilley. System Analysis and Design (MindTap Course List), Cengage Learning, 2019.
[18] J. Valacich, J. George, J. Hoffer. Modern Systems Analysis and Design, Pearson, 2020.
[19] Adomavicius, G., Tuzhilin, A., Toward the next generation of recommender systems: A survey of
the state-of-the-art and possible extensions. //IEEE Transactions On Knowledge And Data
Engineering, 2015,17(6), pp.734-749.
[20] Mediakov O., Basyuk T. Specifics of Designing and Construction of the System for Deep Neural
Networks Generation // CEUR Workshop Proceedings. – 2022. – Vol. 3171 : Computational
Linguistics and Intelligent Systems 2022 : Proceedings of the 6th International conference on
computational linguistics and intelligent systems (COLINS 2022). Vol. 1 : Main conference,
Gliwice, Poland, May 12-13, 2022. – P. 1282–1296.
[21] H. Nelson, Essential Math for AI: Next-Level Mathematics for Efficient and Successful AI
Systems, O'Reilly Media, 2023
[22] J. Nunez-Iglesias, S. Walt, H. Dashnow, Elegant SciPy: The Art of Scientific Python, O'Reilly
Media, 2017
[23] M. Cohen, Practical Linear Algebra for Data Science: From Core Concepts to Applications Using
Python, O'Reilly Media, 2022
[24] O. Naum, L. Chyrun, O. Kanishcheva, V. Vysotska, Intellectual System Design for Content
Formation. In: Computer Science and Information Technologies, Proc. of the Int. Conf. CSIT,
2017, pp. 131-138.
[25] Basyuk T., Vasyliuk A. Approach to a subject area ontology visualization system creating // CEUR
Workshop Proceedings. – 2021. – Vol. 2870 : Proceedings of the 5th International conference on
computational linguistics and intelligent systems (COLINS 2021), Lviv, Ukraine, April 22–23,
2021. Volume I : main conference. – Р. 528–540.
[26] V. Ovsyak, ALGORITHMS: methods of construction, optimization, probability research. – Svit,
2001.
[27] S. Sundaramoorthy, UML Diagramming: A Case Study Approach, Auerbach Publications, 2022
[28] P. Mrzyglocki, UML Summarized: Key Concepts and Diagrams for Software Engineers,
Architects and Designers, Independently published, 2023
[29] B. Shamile, Software Development with UML Diagrams, Independently published, 2022
[30] D. Flanagan, JavaScript: The Definitive Guide: Master the World's Most-Used Programming
Language, O'Reilly Media, 2020
[31] D. Nichter, Efficient MySQL Performance: Best Practices and Techniques, O'Reilly Media, 2022.