Scientific journal
European Journal of Natural History
ISSN 2073-4972
ИФ РИНЦ = 0,301

INNOVATIVE METHODS OF TEACHING PROGRAMMING AND IT IN RUSSIAN UNIVERSITIES

Ivanko A.F. 1 Ivanko M.A. 1 Butyrskaya D.V. 1
1 Moscow Polytechnic
1888 KB
With the active development of information technology (IT), employers’ requirements for personnel in the field of information technology and programming are increasing exponentially. For the release of sought-after specialists by higher educational institutions, the development and implementation of innovative methods in the educational educational process is necessary. The article deals with especially acute problems that the teaching staff and students of all forms of learning encounter while learning new material (algorithms, programming languages, etc.), among which it is important to note the weak connection of the studied disciplines with practical activities. The solution to this problem may be, proposed in our work, an innovative method of software development in a team using distance learning systems. The aspect of development of future algorithmic thinking and the ability to self-education using visualizing multimedia systems is also highlighted. Due to the rapid development of IT, the question is raised about the relevance of teaching aids and the ability to self-educate graduates, since students need to maintain their qualifications and keep up with progress throughout the labor process. Based on the study, the article proposes a solution to all of the above problems.
computer science
programming
educational process
distance learning
electronic libraries
visualization
multimedia systems
1. Ukuev B.T. The experience of introducing innovative teaching methods for bachelors and masters in information technology // Open Education, 2018. No. 3. Р. 83-90.
2. Talgatovna Ya.V., Bogomolova O.I. Use of the collective development method in distance learning of programming in a technical university // Educational Technologies and Society, 2014. No. 4. Р. 655-661.
3. The concept of programming. Types of programming languages ??[Electronic resource]. URL: https://studopedia.ru/8_31160_ponyatie-programmirovaniya-tipi-yazikov-programmirovaniya.html (accessed: 10/13/2019).
4. Ivanova G.S. The use of multimedia teaching aids when giving lectures on information technology // Mechanical Engineering and Computer Technology, 2018. No. 3. P. 373-386.
5. Experience in teaching students programming [Electronic resource]. URL: https://habr.com/en/post/179307/ (accessed: 10/14/2019).
6. What is multimedia [Electronic resource]. URL: https://www.kakprosto.ru/kak-80350-chto-takoe-multimedia (accessed date: 10/14/2019).
7. Prokin A.A., Bogatyrskaya V.A., Sergushina E.S., Klipikov V.Yu. Fundamentals of developing an effective WEB site // E-Scio, 2018. No. 3 (18). Р. 12-17.
8. Akimova O.B., Vetlugina N.O. Possibilities of using multimedia in the educational process // Discussion, 2014. No. 9. Р. 92-96.
9. Sadulaeva B.S. Methodological features of the use of multimedia in the lessons of computer science and ICT // Society: sociology, psychology, pedagogy, 2017. No. 1. Р. 125-127.
10. What is: Digital libraries [Electronic resource]. URL: https://chpt.edusite.ru/DswMedia/chtotakoeyelektronnyiebiblioteki.pdf (accessed: 10/15/2019).
11. Sharipov F.F., Marajabov S.I. Theoretical model of the formation of algorithmic thinking of university students in the process of teaching object-oriented programming // Baltic Humanitarian Journal, 2017. No. 3. Р. 313-316.
12. Marajabov S.I. Issues of teaching methods for object-oriented programming (OOP) in universities // Bulletin of the Tajik National University. Series of Natural Sciences, 2013. No. 1-1. Р. 19-23.
13. Moglan D.V. Didactic potential of using algorithms visualization systems in the process of teaching programming // Open Education, 2019. No. 2. P. 31-41.
14. Gimaletdinova K.R., Muleeva A.Yu. The use of mental maps in computer science lessons // Innovative trends in the development of the education system: materials of the VI International Scientific and Practical Conference, February 19, 2017, Cheboksary. Cheboksary: ??Interactive Plus, 2017. Р. 59-61.
15. Ivanov A.P., Fedoseyeva A.P. Development of a set of mental maps for the section “Algorithmization and Programming” of a computer science school course // Problems and prospects of physical, mathematical and technical education: a collection of materials of the All-Russian Scientific and Practical Conference. Tyumen: Tyumen State University, 2015. Р. 91-95.
16. Features, advantages and trends of e-learning [Electronic resource]. URL: https://www.crmm.ru/knowledge_base/Osnovnyje_ponjatija_elektronnogo_obuchenija/Osobennosti__preimushhestva_i_trendy_E_learning (Accessed: 10/15/2019).
17. Bazhenova I.Yu. Peculiarities of teaching a programming language in the remote form of education // Modern Information Technologies and IT Education, 2014. No. 10. P. 190-196.
18. Kasyanova E.V. Methods and teaching aids in programming at a university // Educational Resources and Technologies, 2016. No. 2. P. 23-30.
19. Mozharov M.S. The use of modern technologies in the field of interactive teaching programming: trends and prospects // Bulletin of Tomsk State Pedagogical University, 2017. No. 5. Р. 134-140.
20. Strijbos J.W. The effect of roles on computer-supported collaborative learning. Doctoral dissertation. Heerlen, The Netherlands: Open University of the Netherlands, 2014.
21. Nucleos [Electronic resource]. URL: https://nucleos.com/ (accessed: 10/18/2019).
22. Gafuanov Y.Yu. The problem-semiotic approach to teaching programming // World of Science, Culture, Education, 2018. No. 1. P. 215-217.

Currently, information technologies are developing very quickly, this situation is due to the process of globalization and the improvement of information communications.

From this, one of the most important problems arises when trying to train qualified specialists of IT specialties in higher educational institutions: almost every week new technologies are created that are worthy of placement in a previously planned semester-long course. The curriculum in higher education institutions often still adheres to the old format, unacceptable to constant changes due to the specifics of the subject.

Purpose of the study

Thus, it becomes obvious that the rapid development of IT requires the introduction of innovative approaches to the methods of teaching students information disciplines.

How can innovative methods increase the effectiveness of higher education institutions in training exemplary IT specialists?

Materials and research methods

The fundamental method for the ongoing research is a theoretical analysis and synthesis of scientific literature in order to identify the most effective implementation of innovative technologies in the process of teaching students programming.

Progress in the IT sphere directly affects the educational process of any specialty one way or another connected with IT. It becomes obvious that training IT specialists without taking into account modern developments will not satisfy a modern employer. Thus, first of all, the training program should focus on the needs of the market, as well as be adapted to the constant change in content, flexibly adapting to the situation on the labor market. Only when these factors are taken into account when training novice specialists, it is possible to ensure their relevance and competitiveness upon graduation from a higher institution, as well as guarantee their employment [1, 2].

The term programming defines the process and skill of writing programs on computers using a variety of programming languages. In other words, programming is like coding algorithms in a particular programming language. To summarize, programming is the process of writing programs, in other words, developing functioning software [3].

As a rule, first-year students who have just graduated from school or any other secondary specialized institution are almost completely familiar with rare exceptions with complicated models and techniques, which are often used in current programming. Therefore, many readings of theoretical material – lectures – are required. Despite the large amount of material, it still turns out to be insufficient for an in-depth understanding of the topics and successful independent work on home or laboratory tasks [4].

Particularly acute is the problem of insufficient basic training for most students who have just graduated from school. This is manifested in such signs as:

– not honed knowledge of mathematics in the school curriculum;

– poorly developed or not developed at all logical and abstract thinking;

– the inability to distinguish important aspects from the material proposed by the lecturer, to divide into main provisions and consequences;

– often the lack of writing skills, reading lecture materials presented by students is sometimes a difficult task for themselves: they are written in sloppy handwriting, fragmentary and logically unconnected [4].

Why does the problem of insufficient development of logical and abstract thinking skills arise during the period of schooling programming? One of the obvious problems of teaching programming as part of the school curriculum is the lack of a systematic approach. The essence of the problem lies in the fact that the school does not teach you how to solve problems using a certain programming language, but rather they only teach the syntax of this programming language. The task of an informatics teacher in secondary educational institutions is to instill in students the fundamental principles of the language without an applied solution to real problems through programming [5].

To correct the problem described above, during the period of higher education, teachers began to use multimedia when lecturing. Multimedia tools – a community of tools that allow you to use all kinds of forms of information – text, numbers, graphics, sounds, animations and videos [6].

At the moment there is a huge number of various kinds of multimedia manuals in which you can find assignments for students of all courses and levels of knowledge. In such publications, a variety of methodological techniques are used. With their help, you can complete training, monitor the level of knowledge received by students and prepare a list of teaching aids [7]. Using multimedia tools, students should work independently on assignments using the interactive resources of the multimedia complex and choose their sequence of study on their own.

Interactivity is one of the most important properties of multimedia tools because with its help students can sort information by relevance for them, as well as edit the pace of studying the material individually. In other words, students play an active role in the educational process itself. With the capabilities of multimedia tools, the opportunity opens up not only for independent work, but also for group training, forming such an important skill for a programmer as teamwork, which we will discuss in more detail later [8]. For a programmer, the skill of working in a team is critical, since a specialist alone is not able to ensure the creation of high-quality and complex software.

The introduction of multimedia tools into the curriculum makes it possible to greatly facilitate the students ‘perception of the taught material in higher educational institutions for several reasons: firstly, visualization increases students’ interest in the subject being studied, and secondly, visualization makes it possible to assimilate material much more easily, appeal to representations which are comfortable for visual observation and analysis, as well as generally improve the quality of education [9].

Now education in the field of information technology is faced with the problem of constantly changing training methods and requirements for a modern specialist. The development of more and more new software, the invention of new programming languages and the complexity of the old ones exacerbate this problem. Regular software complexity requires changing existing approaches to their development. Software development is subject to many regulations, international standards and corporate practices.

Another problem facing programming teachers is the impossibility of relying on time-tested methods, techniques and tools. As a rule, printed didactic materials on programming and information technology become irrelevant and become outdated in 2-3 years. That is why paper editions are less and less used for training in this area, and most prefer digital sources of information.

Electronic library (EB) is a digital platform that reliably preserves and fruitfully uses large collections of electronic documents (such as text, graphic, sound, etc.) placed in the system, as well as those that can be accessed through telecommunication networks [10].

The obvious advantages of digital libraries (we can cite the electronic library of the Moscow Polytechnic University – elib.mgup.ru as an example of a typical electronic library) are:

– Since almost any literature related to programming languages is edited every 2-3 years, you do not need to spend money on a new paper edition of the book – just delete the old version and download the new one.

– The literature of university electronic libraries is most often free and provided by the state, like all services provided by electronic libraries.

– An e-book, unlike its paper version, cannot be damaged.

– Most books on programming languages are heavy, which means you cannot carry them with you in large numbers. Digital editions can also be stored on removable media weighing several grams.

Therefore, EB at the moment should play an important role in the life of a student studying in IT specialties, by and large, already from the first course of study in a higher educational institution.

The basic concepts that are used in modern programming (popular algorithms, branches, and so on) should not cause difficulties for specialists in this field. During the educational process, it is students who focus on them, since they are used everywhere. When teaching such structures, students develop a special skill – algorithmic thinking. Algorithmic thinking is the ability to think in special patterns, which allows you to solve various problems with the help of compiling algorithms. Thinking of this type is one of the important components of the formation of a full intellectual education of a person [11].

An effective method for the development of algorithmic thinking of students in the study of one of the languages of object-oriented programming is teaching design skills and the practical application of algorithms for solving numerous and diverse classes of problems. It should be noted that with this approach, a number of difficulties also arise due to the huge number of teaching methods. It becomes obvious that the more modern and better pedagogical technologies are used, primarily during the teaching of programming, the stronger is the interest among students in solving the tasks set by the teacher with the help of algorithmic thinking and programming languages.

The main task of teaching any discipline is not so much the memorization of theoretical material, but rather the acquisition of the ability to successfully apply it in practice. This explains the need to focus students on examples of tasks to be solved. Typical tasks given by the teacher as an example will help students see practical benefits in them.

As S.I. Marajabov noted in his work, “the study of object-oriented programming languages requires the development of new methods of teaching and teaching. Therefore, it is necessary to use the latest teaching methods in the classroom (lectures, practical and laboratory work) on programming, to use more convenient, widespread and affordable programming systems” [12].

Algorithmization is an important stage in solving a problem using a computer. Thus, the formation of algorithmic thinking is the main task in the study of programming, since even simple algorithms are difficult for freshmen to understand, and therefore, difficult to learn [13]. In pedagogy, to facilitate the process during training, universally use the previously mentioned multimedia tools, for example, presentations, which provide visualization of the material told by the teacher; auxiliary videos and animations that illustrate the work of the studied algorithms [14, 15].

Recently, more and more attention has been focused on the need to develop self-education skills in the study of programming languages. The resources of electronic libraries, the Internet help in acquiring these skills, and distance learning plays an equally important role in this matter.

Distance learning, or e-learning, allows students to gain knowledge while away from a higher educational institution using the latest information technology and improve their ability to independently learn programming languages [16].

There are many forms of e-learning:

– Portals with video lessons (for example, interneturok.ru, ted.com and so on)

– Portals with lessons consisting of text-based thematic material, supplemented by videos

– Educational forums open for discussions of topics of interest

– Online tests and a variety of test tasks

– Portals of webinars, lecture broadcasts of teachers with interaction with students through a microphone, chat and so on.

– Interactive educational games.

However, it is worth noting that, unlike standard educational practice, when the teacher has the opportunity to change the content of his lectures, depending on the new requirements for a specialist in this field, accepted standards and the invention of new innovative techniques in programming languages, the lectures are recorded in video or audio at a time format change becomes more difficult. To solve this problem, it is necessary to break the audio and video lectures into logically connected fragments, which allow you to easily and simply edit the necessary parts from the many hours of recording, as well as add new fragments as necessary. Thus, this method allows students to provide relevant educational content during distance learning [17].

Nevertheless, it is necessary to take into account the difficulty of achieving intellectual and personal interaction between a teacher and a student or between a student and a fellow student, which can easily happen during classroom instruction. Adaptability, which allows using this software to various groups of students is no less important, that is, the coverage should be greater than that of the standard “single-user” educational application. The software that was developed for one type of student (with a certain body of knowledge) may turn out to be completely irrelevant for other students, which may have lagged behind their peers for any reason [18].

The principle of team work on creating software is based on the organizational principles of projects: the responsibilities of each team member (leader, designer, programmer, and so on), the stages of the project and its life cycle. Each of the roles performed by employees in a team has a basis that should be formed during training at the school and higher educational institutions. Therefore, at present, employers demand from specialists not only impeccable programming skills, but also the ability to take part in the team in the development of complex software systems, respectively, the teaching staff is faced with the task of creating the necessary skills for students in social and professional work together with technical skills sphere [19]. In this regard, it is necessary to add to the curriculum related to programming and information technology in general, subjects that develop students’ team skills, such as: leadership, social and business communication skills and team management.

Several attempts at collective teaching of programming in European universities have already been realized [20]. At the Complutense University of Madrid (Spain), a group of teachers conducts a programming course based on the NUCLEO distance learning system. This system was created with a focus on the socio-pedagogical approach to the formation of communication experience in Problem Based Learning. A feature of the problem teaching methodology is that the students’ activities are organized in such a way that information is absorbed by them by solving various problems in the emerging problem situations. Thus, NUCLEO can simulate active teamwork: interpersonal communication, disagreements and their solutions. The concept of this system is based on the theory of activity, which is practically implemented in a special virtual environment. NUCLEO allows you to control and study the stages of personality formation based on the collected data.

The teacher’s task for the successful operation of such a training system is to model the behavior of the subject in the social environment. Scientists advise using NUCLEO to develop teamwork skills in software development. The interaction itself in the social environment is carried out using two different schemes: competitiveness and cooperation. These two schemes should increase motivation and teach different group dynamics depending on the game context planned by teachers. The NUCLEO system has a system of awards and rewards that are awarded depending on the achievements during the educational process of students [21].

Research results and discussion

We can conclude that one of the most effective innovative methods for improving the educational process of students in the field of IT is to borrow foreign experience in developing students’ teamwork and introduce this experience into a modern educational program to provide the necessary skills for specialists to be in demand in the modern work market.

In lectures, obviously, students will perceive much more information when using visualization to explain the algorithms. Indeed, visualization is no longer an innovation in the educational process, since most teachers and teachers actively use visual multimedia materials in the process of explaining new material.

Visualization of algorithms is used to facilitate the educational process, clearly depicting the operation of the algorithms. Visualization is a universal methodological tool, since it is used both in high school and in higher education institutions in the initial stages of programming.

The electronic library, as it turned out, should play an equally important role in the life of a student of an information specialty from the first year of study at a higher educational institution. Since it makes it easy to update educational publications, it is compact, convenient to use, and in most cases free.

Conclusion

There are still many obstacles to the successful and effective teaching of programming in higher education. In a way, a programming teaching system is similar to what it was fifty years ago. One of the obstacles is the lack of a clearly defined unified approach, which is able to fulfill all the mental, social and business requirements of students, as well as provide high-quality technical training [22].

The solution to this problem may be the introduction of a problem-semiotic technique – a kind of successful synthesis of the above innovations in the article: the union of problem and semiotic approaches, including their positive aspects, but not having their individual flaws.