Научная статья на тему 'DEVELOPING A TRAINING PROGRAM BY THE METHOD OF SPACED REPETITION'

DEVELOPING A TRAINING PROGRAM BY THE METHOD OF SPACED REPETITION Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
126
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
learning automation / memorization / memory mechanism / spaced repetition / hybrid application / Distance education / автоматизация обучения / запоминание / механизм запоминания / интервальное повторение / гибридное приложение / дистанционное обучение

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Васюков Никита Анатольевич, Резединова Евгения Юрьевна, Сергеев Анатолий Васильевич

Quite often developers face low performance, hanging and other problems when they’re developing sites. To solve such problems we need to trace site requests. Existing tracing methods do not allow tracing progress of request from a client's webbrowser to server or group of servers. In this paper we propose distributed tracing mechanism that allows to tracking requests starting from browser. For generating complete client-to-server tracing, client application must be able to initiate the appropriate request. For execution these actions, we need use a special library. In paper we consider the algorithm of such a library. A popular tracer (OpenTracing) is used on the server side. Based on proposed methodology, a library was developed. The library’s working was tested. Testing has shown that using library, we can track full chain of requests from browser to the server. Trace result is presented in graphical view. This allows analyzing received data and finding bottlenecks when queries are passing.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

РАЗРАБОТКА ТРЕНИРОВОЧНОЙ ПРОГРАММЫ МЕТОДОМ ИНТЕРВАЛЬНОГО ПОВТОРЕНИЯ

Довольно часто разработчики сталкиваются с низкой производительностью, зависаниями и другими проблемами при разработке сайтов. Для решения таких проблем нам необходимо отслеживать запросы сайта. Существующие методы отслеживания не позволяют отслеживать продвижение запроса от веб-браузера клиента к серверу или группе серверов. В этой статье мы предлагаем распределенный механизм отслеживания, который позволяет отслеживать запросы, начинающиеся с браузера. Для создания полной трассировки клиент-сервер клиентское приложение должно иметь возможность инициировать соответствующий запрос. Для выполнения этих действий нам необходимо использовать специальную библиотеку. В статье мы рассмотрим алгоритм такой библиотеки. На стороне сервера используется популярный трассировщик (OpenTracing). На основе предложенной методологии была разработана библиотека. Работа библиотеки была протестирована. Тестирование показало, что с помощью библиотеки мы можем отслеживать полную цепочку запросов от браузера к серверу. Результат трассировки представлен в графическом виде. Это позволяет анализировать полученные данные и находить узкие места при передаче запросов.

Текст научной работы на тему «DEVELOPING A TRAINING PROGRAM BY THE METHOD OF SPACED REPETITION»

УДК 004.9 : 004.738.5 doi:10.18720/SPBPU/2/id21-374

Васюков Никита Анатольевич1,

магистр;

Резединова Евгения Юрьевна1,

старший преподаватель;

Сергеев Анатолий Васильевич3,

канд. техн. наук, доцент

РАЗРАБОТКА ТРЕНИРОВОЧНОЙ ПРОГРАММЫ МЕТОДОМ ИНТЕРВАЛЬНОГО ПОВТОРЕНИЯ

12 3

' ' Россия, Санкт-Петербург, Санкт-Петербургский политехнический университет Петра Великого, Sergeev_av@spbstu.ru

Аннотация. Довольно часто разработчики сталкиваются с низкой производительностью, зависаниями и другими проблемами при разработке сайтов. Для решения таких проблем нам необходимо отслеживать запросы сайта. Существующие методы отслеживания не позволяют отслеживать продвижение запроса от веб-браузера клиента к серверу или группе серверов. В этой статье мы предлагаем распределенный механизм отслеживания, который позволяет отслеживать запросы, начинающиеся с браузера. Для создания полной трассировки клиент-сервер клиентское приложение должно иметь возможность инициировать соответствующий запрос. Для выполнения этих действий нам необходимо использовать специальную библиотеку. В статье мы рассмотрим алгоритм такой библиотеки. На стороне сервера используется популярный трассировщик (OpenTracing). На основе предложенной методологии была разработана библиотека. Работа библиотеки была протестирована. Тестирование показало, что с помощью библиотеки мы можем отслеживать полную цепочку запросов от браузера к серверу. Результат трассировки представлен в графическом виде. Это позволяет анализировать полученные данные и находить узкие места при передаче запросов.

Ключевые слова: автоматизация обучения, запоминание, механизм запоминания, интервальное повторение, гибридное приложение, дистанционное обучение.

Nikita A. Vasukov1, Master of Science;

Evgenia Yu. Rezedinova2, Senior Lecturer;

Anatoliy V. Sergeev3, Associate Professor, Candidate of Technical Sciences

DEVELOPING A TRAINING PROGRAM BY THE METHOD OF SPACED REPETITION

12 3

' ' Peter the Great St.Petersburg Polytechnic University, St. Petersburg, Russia, Sergeev_av@spbstu.ru

Abstract. Quite often developers face low performance, hanging and other problems when they're developing sites. To solve such problems we need to trace site requests. Existing tracing methods do not allow tracing progress of request from a client's webbrowser to server or group of servers. In this paper we propose distributed tracing mechanism that allows to tracking requests starting from browser. For generating complete client-to-server tracing, client application must be able to initiate the appropriate request. For execution these actions, we need use a special library. In paper we consider the algorithm of such a library. A popular tracer (OpenTracing) is used on the server side. Based on proposed methodology, a library was developed. The library's working was tested. Testing has shown that using library, we can track full chain of requests from browser to the server. Trace result is presented in graphical view. This allows analyzing received data and finding bottlenecks when queries are passing.

Keywords, learning automation, memorization, memory mechanism, spaced repetition, hybrid application, Distance education.

Introduction

Due to the rapid development of new technologies, people spend more and more time learning in the modern world. Both children and adults are studying; at the same time, adults are improving their qualifications or acquiring new professions. In this regard, various technologies which reduce training time and facilitate training gain relevance. For many people, it isn't easy to memorize a large amount of information because that cannot be memorized using only logical memory. For memorizing foreign words and memorizing various terms, historical dates, rules, definitions, mechanical peoples used a mechanical memory. The memorization mechanism when using logical and mechanical memory is quite different. For better memorization (when using mechanical memory), it is necessary to repeat the memorized information at regular intervals periodically.

To facilitate and partially automate the memorization and repetition procedure, it is advisable to use a particular training program. As a result of using such a program, the learning speed and the reliability of memorizing new information increase. A training program must consider the mechanisms of the human brain to increase the efficiency and quality of memorization. Only by taking into account how the brain works can the training program make it easier to remember new information. It is worth noting that mechanisms of the human brain and the mechanism of memorization haven't been sufficiently studied. Training programs can also be used to collect anonymous data on the progress of the training procedure. These data can be used to study later the algorithms of the human brain and memory mechanism. In the future, the research results will lead to the improvement of teaching methods.

Quite a several articles are devoted to the issues of automation of learning and online learning. The article [1] deals with the problem of automatic assessment of students' knowledge based on the answers to test questions. It is advisable to add game elements to educational programs to increase students' interest [2]. The article [3] formulates functional requirements for an automat-

ed learning environment and gives an example of developing an automated education system. In [4] the authors analyze the requirements for an intelligent learning automated information system to improve the efficiency of the educational process. The classification of information technologies used in the educational process to improve its effectiveness is also proposed. It is advisable to use social networks to increase the involvement and cooperation of students in the learning process. In [5] there is data showing that the use of social networks increases students' interaction skills and the quality of collaboration. Let us consider programs for memorizing words and expressions using spaced repetition. One of oldest programs is Anki [6]. The basic principle of operation is that the user selects a set of words to memorize; the program shows word and translation. Number of words varies from training to training, and the repetition interval increases according to the methodology (1 min, 10 min, one day, four days, etc.). The main drawbacks of the program are the nonavailability of reminders about training and a complicated interface. The program's interface is more suitable for use on computers rather than smartphones. When using this program during training, all interface elements remain in place, which adversely affects the work.

There is also no API for accessing data about user work in the application. Another memory program is Memrise website. Memrise is positioned as a service for learning foreign languages [7]. Site works only online. There is practically no interactive component in it, there is no possibility to create your own cards, and there is no support for working with spaced repetition technique. To increase motivation, Memrise uses ranking and comparison of results with achievements of other users. Each of service members can share their progress with other users. However, given all the disadvantages, the benefits of this feature are questionable. This service is a typical representative of platforms whose authors decide how to present information to the user. At the same time, they do not apply best practices in user interface design and do not go deeper into optimizing training using standard teaching methods. Quite interesting is Mnemosyne program, which uses the spaced repetition method and it is free. This is a research project on the nature of long-term memory. Mne-mos yne is an easy-to-use program. At the same time, experienced users can customize it using plugins and scripts [8]. Mnemosyne uses a sophisticated algorithm to optimize the memorization process. At the user's request, anonymous statistics of the educational process can be uploaded to the central server for analysis. This data is used to study memory behavior over a very long period. Results will be used to improve algorithms and software further. This program is best in terms of the implementation of methodology and research potential. However, a user interface is not optimized. Also, this program is only available on desktop systems. This is a significant drawback since it is advisable to use every free minute to repeat the material under study. In this

case, a computer may not always be at hand. It is essential that the training program runs on tablets and smartphones and is always available to the user.

The rest of the article is organized as follows:

• new mechanisms of memorization of information by a person are considered;

• proposed requirements for the system being developed;

• the structure of the application is presented;

• Considered the developed application and the first results of its use.

1. Methods

2.1. Information Memorization Mechanisms in Humans

If we need to use the peculiarities of human memorization of information when developing a training program, we need to understand how human memory works. Memory is a complex cognitive process consisting of several private processes related to each other. These processes are called mnemonic. Mnemonic processes include memorization, preservation, reproduction, and forgetting. Each of them individually can be optimized using various technologies implemented in the training program [9].

Memorization (or fixation) is a mnemonic process that is responsible for imprinting and storing new information in memory, most often through associating new information with that acquired in past.

There are two types of memorization according to the degree of human activity in the implementation of this process:

1. Involuntary (or unintentional) memorization is memorization in which there is no predetermined goal and a person does not use any techniques, methods and manifestations of willpower.

2. Voluntary (or deliberate) memorization is purposeful, conscious memorization by a person of any information. [10] To solve this problem, the main attention should be focused on intentional memorization. It is the process of purposeful memorization that has been studied most of all. Certain methods have been developed that can serve as a good basis for developing a training program. Memorization is the first process. In many ways, modern teaching methodologies are aimed at facilitating the memorization process. However, without attention to preservation, memorization results are likely to disappear, and the process loses its meaning [11]. Reservation (or retention) is mnemonic process that is responsible for keeping the recorded information for more or less long time in form that is available for its reproduction [12]. Process of preservation information is quite complex. Preservation is not just a passive storage of information, but a complex dynamic process. This process includes processing, aggregating and sorting of information. It involves participation of various mental operations, such as systematization, generalization and etc. That is process of preservation information entails not only retention of mem-

orized information, but also its mental processing. Forgetting is mnemonic process that is the opposite of preserving process. It is a loss, clearing without the possibility of restoring in the mind of information that was previously recorded in memory of a person. Forgetting can be partial and complete [13]. Computer technologies and information systems cannot directly influence the described processes (preservation and forgetting). However, this may affect indirectly. The nature of the phenomenon of memorizing precisely necessary information is not clear, but the regularity itself has been repeatedly verified experimentally. In order to preserve information, it is necessary to increase its value from the point of view of the human brain. There are two main ways to increase the value of information: the emotional coloring of the knowledge consumed and the other with repetition of what was learned. For teaching purposes the repetition method is best suited [14]. The method of repetition of what has been studied in practice has been used for a long time. Even the well-known proverb "Repetition is mother of learning" testifies to this.

The question is: how best to use this method? More specifically, we need to answer following questions:

1. At what intervals should the repetition procedure be performed?

2. How much data do you need to repeat?

3. When to stop repeating current piece of information and move on to another?

It should be noted in advance that there are no complete answers to these questions. Implementation of developed program, obtaining data about learning process with the help of it and processing this data will make it possible to get closer to the answer. Repetition of what has been learned is based on the reproduction process. Reproduction is a mnemonic process, the meaning of which is to update previously recorded information by extracting it from long-term memory and transferring it to an operational one. Experiments in this area indicate that most healthy people have the same reproductive ability [2]. Thus a replay-based learning methodology will work the same for most users. The information obtained during the learning process must be placed in long-term memory to be used for a long time. Thus, it is advisable to develop a program for storing information precisely in long-term memory.

By the way of storing information, memory is divided into mechanical and logical. Mechanical memory is realized automatically on the basis of contiguity associations and stereotyped repetition of information; its characteristics are stereotyped and usually accuracy in reproduction. Logical memory is based on preliminary comprehension of memorized material and is more efficient than mechanical memory. On the other hand, memorization techniques using mechanical memory are not yet effective enough. This area can be improved with a program that helps to memorize information. For memorizing information using mechanical memory, the spaced repetition method is the

best way. The technique should ensure the preservation of knowledge in long-term memory. The key to the technique is the systematic reproduction of information. The program should control the repetition intervals and provide convenient access to the material to minimize the time spent by the user on reproducing the recorded knowledge.

2.2. Requirements to developed system

Based on analysis of the subject area, limitations, and existing analogs, the following key technical requirements for a developed information system were determined.

1. System should consist of several components: a. User application. b. Web service for collecting, processing and sending data about application usage to storage. c. Web service for centralized processing of collected data. d. Public web API for providing anonymized data for learning.

2. User application must be mobile-oriented and run on both popular mobile platforms (iOS and Android). The user interface should be optimized for a userfriendly smartphone experience. Each screen should contain only the required set of buttons.

3. Application should provide to user the following features:

a. Create flashcards with information to remember.

b. Train cards, that is, repeat the contents of card at regular intervals.

c. Tracking the degree of memorization cards, start time of next workout, amount of cards studied.

4. Application should automate following stages of learning process:

a. Creation cards with information.

b. Storage cards with information.

c. Choice cards for training.

d. Planning your next workout.

e. Tracking progress of studying card.

f. Reminder to start training.

5. Application need following conditions:

a. Application will work without an Internet connection.

b. Save cards and study progress when app is uninstalling and reinstalling.

c. Provide the same functionality for both platforms (iOS and Android).

6. Web service for collecting data on use of application need the following conditions:

a. Work flawlessly with incomplete data.

b. Conduct primary data processing: checking, formatting and deper-sonalization.

2.3. Application design

Let us consider the process of memorizing information by the method of spaced repetition (Fig. 1). Based on this process, user interaction scenarios were developed.

Trained cards

Fig. 1. Process of memorizing information algorithm

Training begins with the processing of studied information. Cards are created with information containing a question, an answer, time of the first training session. These cards are replaced in the corresponding box of the filing cabinet. Next, there is an expectation of training. When it comes time to train, cards that need to be trained at the given time are selected. Question cards are presented to the user. The user gives an answer. The correctness of the answer is checked. The training results are recorded in the training log. If a question in the card was answered correctly, the card is removed from card index and is not used for repetition in future. The rest of the cards are returned to the filing cabinet. The process ends after memorizing all the studied information. In designing a custom application module, the MVC architecture was chosen (Fig. 2). This architecture allows us to divide the application into three parts: model, view, and controller [16]. Model is a part of the architecture that is responsible for application logic, storing, and processing data. At the same time model does not interact directly with the application user in any way; it can only receive data from the controllers and return it upon request from other parts of the application. Its main task is to abstract the rest of the application from the structure of data it uses, as well as hide the details of the data change process. The model can consist of many classes or functions that have different responsibilities, whether it is interacting with a data store, validating, or transforming data.

Fig. 2. Scheme of MVC architecture

The view is part of the architecture responsible for providing users with an interface to interact with the application, as well as outputting data. In this case, the same data can be presented to users in different views. The controller is a piece of architecture that handles user requests. Requests are any user actions that trigger the triggering of handler methods that refer to models. In this case, user actions are called events[17]. Models are classified into active and passive, depending on the interaction between the model and view. In the active model state changes occur in connection with logic of work. These changes are reflected in view. The passive model changes only under the influence of external requests. These changes as a result of the query are also reflected in view. For our purpose the active model is more suitable since training program should be change. It is stated over time and encourages user to start the repetition process. MVC is a high-level abstraction of application logic. A deeper architecture is required to implement a specific application. Flux architecture is often used for these purposes. Flux is an extension of the MVC architecture, more specifically the model and controller parts. Flux describes the process of storing and processing data. Its main distinguishing feature is the one-way directionality of data transfer between components. Flux sets limits on data flow and defines state change in a single place - the data store [18]. The minimal version of this architecture is shown in Fig. 3 and includes the following set of components: actions (includes event, dispatcher, and handler entities), storage, views.

Actions Stores Views

I

Event - Dispatcher —► Handler

Fig. 3. Diagram of minimal Flux architecture

The action consists of three entities: Event is a notification about an event that has occurred, contains an event identifier;

The dispatcher is an event manager that calls the appropriate handler for each of them and transfers processing result to storage; The handler is a component that processes data from storage in accordance with a certain algorithm. The store is a storage component, and it is only data source that provides information about the current state of a model. This data is used to represent the state of the model.

When designing the application, the following scenarios interaction of program with the user was developed:

1. Opening application.

2. Creation card with information.

3. Card training.

Based on developed scenarios of user interaction, studied architectural solutions and templates for mobile applications, the following system modules we were designed:

1. Card module. The card module consists of a card class, an interface for accessing it. The system allows users to create cards, edit them, increase or reset the degree of memorization, delete from the database, and view a general list of cards. The system also automatically indicates the time of card creation and assigns the time of her next workout according to the methodology.

2. Training module. The training module deals with training process. Training module consists of a workout class describing its current state, including metainformation about the amount of cards and the time spent. Within the module framework, the training process takes place, issuance of questions and answers to user and storage of the training results.

3. Notification module. Notification module schedules and sends notifications to user about need for training. It is consists of a queue of notifications. And this module stores necessary data, such as title and body of notification, and event handlers for the transition of notification to application.

4. Database model.

For this system, a database model was designed, shown in Figure 4.

The relational database was chosen because it needs to maintain relationships between various object parameters in the database. 3 Results and Discussions Application development began with a selection of tools. Based on described platform and architecture of web service and application, it is possible to describe the preferred technology stack to meet specified requirements. In general, JavaScript was chosen for the development of the entire system since it can be used to develop each of the modules and its extension: TypeScript - it allows the use of static typing in the development process [19], which ensures greater stability of system modules. It is advisable to implement a web service on the node js software platform using Express. Express is pop-

ular web framework based on Connect. It includes all basic functionality, such as serving static files, URL routing, and application configuration [20]. It provides ability to create reusable modules without undue constraints. This solution seems to be optimal from the point of view of ratio of support cost to system performance within framework of problem being solved.

Fig. 4. Database schema

Let us consider the implementation features of the mobile application. There are two options for developing apps for mobile devices: native and hybrid apps [21]. A native application that targets one platform will not work on another platform. For example, you cannot install a native Android app on an iOS device. A separate platformspecific version needs to be released using the appropriate iOS-focused development tools. In contrast, a mashup application is a web application developed with HTML, CSS, and JavaScript and wrapped in an application wrapper (or user interface). The application under development is not resource demanding; hence, it is reasonable to choose hybrid application development to get all the advantages of this approach. When creating an application, it is advisable to use React Native technology. This is a framework for developing cross-platform applications for iOS and Android. This framework does not use WebView and HTML technologies and has established itself as one of the most popular technologies for developing hybrid mobile applications. Also for implementation we should choose Expo platform. It is a set of tools that speed up and simplify the development of applica-

tion prototypes using the React Native framework. Expo platform provides a JavaScript API that allows to access most of capabilities of a mobile device OS without having to write native code. Expo consists of expo-cli - developer tools for deploying a project, viewing application logs, publishing, and many other features [22].

The Expo platform also includes a client for mobile devices, which allows testing the developed and finished application on various devices. Based on the above requirements and using the selected tools, an spaced repetition training program was developed. This program implements only the client part of the developed application. It has full functionality and allows full training. Figure 5 shows the interface of the developed application.

Fig. 5. An example of the interface of the developed program

The developed program was tested. Six copies of the program were distributed to people learning a foreign language. The testing showed the effectiveness of the program. The testing also confirmed the effectiveness of the spaced repetition method for learning foreign words. According to subjective feelings of the testers, the memorization of foreign words became faster. The developed program made it possible to observe the required repetition intervals and optimize the memorization process. Words that can be memorized quickly take less time, and words that are harder to memorize are repeated more often. Implementation and testing of the server part of the application are expected in the future.

Conclusion

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

In this paper, the mechanisms of human memory of information were considered. For mechanical information memorization, it is reasonable to use the method of spaced repetition. The possibilities to automate the learning process by the method of spaced repetition, including the control of training time and duration, were investigated.

When designing the program, the Flux architecture was chosen. Based on the chosen architecture, a program was designed to automate the learning process. The database has been designed to store cards with information and collected data on the learning process. A user interaction model has been developed that implements an automated learning process. An application development toolkit was chosen. TypeScript was used as the programming language. The express framework was chosen as the web service platform. React Native framework was chosen for the mobile application. Prototype of application was developed and tested based on the design of application module, user experience scheme; we have chosen architecture and database model. Testing has confirmed the performance of the application and the effectiveness of the spaced repetition method for remembering new information. In the future, it is planned to implement the server part, which will collect impersonal data on the results of training. The collected information can be used in the future to further study the mechanism of human memory.

Acknowledgment

The authors are grateful to the St. Petersburg Polytechnic University for support of this work. The work was carried out within the framework of the "5-100" Program.

References

1. Kar S.P., Chatterjee R., Mandal J.K. A novel automated assessment technique in elearning using short answer type questions. - 2017. - DOI: https://doi.org/10.1007/978-981-10-6427-2_12.

2. Jo J., Jun H., Lim H. A comparative study on gamification of the flipped classroom in engineering education to enhance the effects of learning. // Comput. Appl. Eng. Educ. -2018. - Vol. 26. - Pp. 1626-1640. - DOI: https://doi.org/10.1002/cae.21992.

3. Orekhova E.V., Romashkova O.N., Gaidamaka Y.V. Management of a unified automated information system for continuing education. // In: CEUR Workshop Proceedings. - 2020. - Pp. 35-46.

4. Servetnik, O.L., Pletukhina, A.A., Velts, O.V., Novikova, E.N., Tsyganko, E.N.: Requirements for learning automated information system. // Journal of Physics: Conference Series. - 2020. - DOI: https://doi.org/10.1088/1742-6596/1691A/012137.

5. Elzomor M., Pradhananga P., Sadri A.M. Using social media to improve minority students' skills when connecting courses with different educational modalities. // In: ASEE Annual Conference and Exposition, Conference Proceedings. - 2020.

6. Web Page: Anki - powerful, intelligent flashcards. - URL: https://apps.ankiweb.net/index.html (date of access: 20.03.2021).

7. Web Page: Memrise. - URL: https://www.memrise.com/ (date of access: 20.03.2021).

8. Web Page: The Mnemosyne Project. - URL: https://mnemosyne-proj.org/ (date of access: 20.03.2021).

9. Shevlin H. Conceptual short-term memory: A missing part of the mind? // J. Conscious. Stud. - 2017. - Vol. 24. - Pp. 163-188.

10. Krug S. Don't make me think. - Moscow: Izdatelstvo "E", 2018.

11. Jones W.E., Benge J.F., Scullin M.K. Preserving prospective memory in daily life: A systematic review and meta-analysis of mnemonic strategy, cognitive training, external memory aid, and combination interventions. // Neuropsychology. - 2021. - Vol. 35. - Pp. 123-140. - DOI: https://doi.org/10.1037/neu0000704.

12. Grünbaum T., Kyllingsb^k S. Is Remembering to do a Special Kind of Memory? // Rev. Philos. Psychol. - 2020. - Vol. 11. - Pp. 385-404. - DOI: https://doi. org/10.1007/s13164-020-00479- 5.

13. Schmidt J.R., Giesen C.G., Rothermund K. Contingency learning as binding? Testing an exemplar view of the colour-word contingency learning effect. // Q. J. Exp. Psychol. - 2020. - Vol. 73. - Pp. 739-761. - DOI: https://doi.org/10.1177/1747021820906397.

14. Balkenius C., Tj0stheim T.A., Johansson B., Wallin A., Gardenfors P. The Missing Link Between Memory and Reinforcement Learning. // Front. Psychol. - 2020. -Vol. 11. - DOI: https://doi.org/10.3389/fpsyg.2020.560080.

15. Friedman G.N., Johnson L., Williams Z.M. Long-term visual memory and its role in learning suppression. // Front. Psychol. - 2018. - Vol. 9. - DOI: https://doi.org/10.3389/fpsyg.2018.01896.

16. Kozhevnikov V.A., Pankratova E.S. The customer support service development for user applications. // Theor. Appl. Sci. - 2019. - Vol. 72. - Pp. 352-363. - DOI: https://doi.org/10.15863/tas.2019.04.72.44.

17. Kozhevnikov V.A., Pankratova E.S. Development of an intelligent recommender assistant using the telegram platform. // Theor. Appl. Sci. - 2018. - Vol. 61. - Pp. 77-83. DOI: https://doi.org/10.15863/tas.2018.05.61.16.

18. Banks A., Porcello E. React и Redux. Функциональная веб-разработка. - St. Petersburg: Piter, 2018.

19. Web Page: TypeScript: Handbook - Classes. - URL: https://www.typescriptlang.org/docs/handbook/classes.html (date of access: 20.03.2021).

20. Kozhevnikov V.A., Slupko N.M., Sergeev A.V. Design and development of personal finance management system. // Theor. Appl. Sci. - 2019. - Vol. 74. - Pp. 110-115. -DOI: https://doi.org/10.15863/tas.2019.06.74.8.

21. Siripathi S. Mobile Development Platforms. - URL: https://code.tutsplus.com/articles/mobile-development-platforms--cms28944?ec_unit=translation-info-language (date of access: 20.03.2021).

22. Kalinin M.O., Krundyshev V.M., Rezedinova E.Y., Reshetov D. V. Hierarchical Software-Defined Security Management for Large-Scale Dynamic Networks. // Autom. Control Comput. Sci. - 2018. - Vol. 52. - Pp. 906-911. - DOI: https://doi.org/10.3103/S014641161808014X.

i Надоели баннеры? Вы всегда можете отключить рекламу.