Analytical Projects As An Innovative Means In Training Of Programmers
The article discusses an innovative approach to the organization of future programmers training based on analytical projects at college level. The technician-programmer performs such actions as analysis, formalization, algorithmization of tasks, development, control, optimization, and thorough debugging of program code. All these functions are performed in conditions that correspond to those of project work. A programmer works within time and resource limitations, any software product has the property of uniqueness. The authors make a conclusion on the adequacy of analytical projects to the conditions of real professional activity of programmers. The article presents the authors’ definitions of project work and analytical activities, as well as readiness for project work and analytical activities of future technicians-programmers. The detailed component structure and the levels of readiness of students to design and analyze the project as future technicians and programmers have been developed, justified and tested. The essence of the analytical project, the specifics of its organization for the conditions of the college providing training in this area is substantiated. The authors propose a phased description of the implementation of innovative analytical projects in the future technicians-programmers training, as well as criteria for evaluating the results of project implementation. The organizational and pedagogical conditions for their successful implementation are substantiated. The most important condition is the training of teachers for the use of analytical projects in their own educational activity. Cases of interdisciplinary and intra-disciplinary projects using mathematical knowledge are given. The positive results of implemented analytical projects in college are presented.
Keywords: Analytical projectsprogrammersproject trainingtraining of techniciansreadiness for project and analytical activities
Interconnection between economic and educational development is evident in normative documents that determine the main directions of modernization of education, leading to the search for new ways to update the substantive and technological foundations of the educational process at college. This conclusion axiomatically concerns any profession, especially the profession of a programmer, an employee of an IT company - a profession that has traditionally been among the ten most popular and prestigious in recent years, that has been on a list of the 50 most promising professions (data from the “RunetGlas” survey). Today professionals in the field of information and computer technologies not only ensure the development of the country’s innovative economy, but also act as guarantors of maintaining its information security. Their special significance in the current sociocultural and technological situation ensures them, not only now but also in the long term, the labor market demand in its most diverse segments ( Davison & Ou, 2017; Khmeleva & Egorova, 2016).
The benchmark in the organization of the educational process in the college is the federal state educational standards. However, upon completion of training, novice programmers will work in the conditions of the requirements of the professional standard “Programmer”. An analysis of these requirements revealed a significant dependence of the possibility of these requirements fulfillment on how well prepared a college graduate is for design project and analytical activities. The training of programmers at college, aimed at receiving key and professional competencies, is based on the student’s possession of analytical skills, including those in the project work.
The need and specifics of project and analytical skills development for future programmers have been studied before. A number of researchers ( Dolnykova & Chudova, 1997; Orel, 2007) noted the importance of mental and intellectual abilities for programmers. Researchers also noted that thinking, being a deep internal personal potential, is one of the most important factors that allows a person to develop as a professional in the software industry and become a successful professional. The ability to analyze, classify and synthesize information is necessary for professional software development ( Uezerell, 1982); the ability to design is also assumed to be a basic skill ( Shnejderman, 1984).
The most promising modern pedagogical technologies include project training ( Bell, 2010; Zhu, Liu, Liu, Zheng, & Zhang, 2019), the idea of which can be successfully implemented in programmer straining.
Teaching future programmers at college is aimed at training them for activities in which universal competencies are required: systemic and critical thinking necessary for search, critical analysis and synthesis of information; the ability to apply a systematic approach to solving tasks; skills in the development and implementation of projects; team work; organization and maintenance of effective communication; ability to self-realization and self-development.
In our opinion, analytical projects, mathematical disciplines and modules, the potential of which are not used to a full extent, possess an essential resource for achieving the readiness of future technicians-programmers for professional activities.
This article presents the option of using mathematical training to train future computer programmers for project and analytical activities. We consider analytical projects as an innovative tool providing the integration of mathematical and professional knowledge, as well as development of cognitive and design skills.
What are the specifics of future technicians-programmers training and what is the role of the mathematical module in it?
What is an analytical project, what are its specifics, stages and possibilities of use?
How the launch of analytical projects carried out and what was their effectiveness in the training of computer programmers?
Purpose of the Study
To improve the training of future technicians-programmers for professional activities, analytical projects are appropriate that allow the college education conditions to bring closer to the real practical activities of programmers.
The purpose of this article is to present the experience of using analytical projects in the training of future technicians-programmers.
The results of the study could be used by colleges of a technical profile as well as by universities in the training of computer engineers in order to increase their readiness for design and analytical activities.
To identify the specifics of the professional activities of future programmers and its essence a theoretical analysis of the professional standard “Programmer” was carried out.
An analysis of job web-sites popular in Russia (HeadHunter, Job.ru, Rabota.ru, Super.Job.ru, Free-lance.ru, Zarplata.ru) was carried out to identify professional and personal qualities of programmers that employers prefer.
The set of techniques was used at the ascertaining and control stages of the experiment to identify the dynamics of students’ readiness for project and analytical activities (120 people).
A survey of senior students revealed the nature and level of their difficulties in studying professional modules (47 people).
An online survey among college alumni who have become mid-level specialists in the field of programming (56 people) was carried out in order to identify the importance of mathematical knowledge in the work of programmers.
The specifics of training future technician-programmers and the role of the mathematical module in it
As follows from the analysis of the requirements of the professional standard “Programmer”, the list of professional tasks is based on the skills of analytical activity. Writing computer programs, including those for automating operations of production processes (the basis of controlling any process is receiving and controlling input information, analyzing and preparing initial data for programming, writing algorithms and program codes, corresponding processing of information, including using serious mathematical apparatus, preparation of outgoing information, transferring it to the customer), their correction and optimization require analytical skills. All these actions are based on universal actions characteristic of analytical activity: analysis, classification, sorting out, generalization of information. Programmers perform such tasks as drawing up communication schemes, layouts, making work instructions and explanations for them, algorithms for the technological process of information processing, algorithms for solving problems, creating programs, debugging them, their experimental verification, holistic design of data processing systems and mathematical systems of computer - these tasks are mostly carried out in the mode of project activity ( Professional’nyjstandart “Programmist”…, 2013).
We made the conclusion that the integration of project and analytical activities creates a framework in the form of a generalized characteristic of the professional activity of a programmer, reflecting its substantive and organizational specifics. Formation of readiness for project and analytical activities is an important task in organizing the training process for future programmers.
This conclusion was confirmed by the Top 10 most valuable, according to employers, qualities of programmers, compiled by us on the basis of analysis of popular job sites in Russia: tendency to analysis and logical reasoning, quick mind (46%); ability to work in a project team (73%); design propensity (45%); ability to solve standard and non-standard problems based on analysis (54%); the ability to read, understand, analyze and maintain software created by other developers (78%).
In the course of our research, an analysis of studies on the problem of readiness for professional activity was carried out ( D’yachenko & Kandybovich, 1976; Platonov, 1970; Uznadze, 2004). As a result:
the authors’ definition of the project-analytical activity of programmers is given: it is a motivated process that includes a set of analytical actions in the context of the project on development, debugging and verification of the program code: drawing up a plan and following it to achieve the goal, a description of the solutions to the tasks in accordance with the requirements of the technical task, development of algorithms for solving these problems and actions for obtaining a specific, pre-designed result in the form of program code using programming languages;
the following components were identified: motivation-mobilization (interest in future professional activities, understanding of the social meaning and general content of the chosen profession; motivation for training in programming; ability to mobilize personal forces while carrying out a project), intellectual-reflective (possessing mathematical knowledge, analytical and design skills, ability to self-improvement on the basis of reflexion), active (practical skills to apply mathematical knowledge in the course of independent solving of interdisciplinary tasks, to use analytical skills for a specific project performance) and communicative (communication, team skills, focus on the overall result, and cooperation through the establishment of interpersonal relations);
the group of diagnostic indicators for the formation of the component structure and levels of readiness for design and analytical activities (informational, functional, reflective) is substantiated.
An important stage in the development of a software product is the construction of a mathematical model that requires analysis and research of various algorithms, mathematical methods, and the solution of standard and non-standard problems. However, studies show that there is a problem with mathematical education ( Abylkassymova, Sedova, & Kalimullin, 2018; Owusu-Mensah, 2016), student surveys confirm low motivation to study mathematics. Meanwhile, senior college students noted that the lack of mathematical knowledge makes it difficult to master professional modules. Accordingly, it requires the integration of mathematical knowledge (disciplines “Mathematics”, “Elements of mathematical logic”, “Elements of higher mathematics”) and professional knowledge (general professional disciplines “Fundamentals of programming”, “Theory of algorithms”, “Information technology”, “Probability theory and mathematical statistics”, etc.). Thus, the concept of readiness for the future analytical work of project programmers in the context of mathematical training was clarified - it is an integrative set of personal and professional qualities of a specialist formed in the process of professional training, which includes mathematical knowledge, analytical skills, design ability and a steady need for fulfillment of professional functions.
The concept of an analytical project, its specifics, stages and possibilities
We define the analytical project as such an innovative way of organizing students’ activities that complements the instrumental sphere of contextual learning, which involves performing analytical actions in solving an educational and / or professional task in the project mode, while requiring the use of mathematical knowledge. The results of the implementation of an analytical project form an integral totality, including meta-subject (analytical, design, reflective, communicative skills), subject (mathematical or professionally oriented), personal results (in the form of motivation for future professional activity). In the course of the study, analytical projects were classified according to the project organization, skills formed and the presence of electronic support.
The readiness of students for project and analytical activities is cumulatively “grown” in the process of project implementation and is evaluated using the developed evaluation sheet for the integrity of the structure formed, while combining options for self-assessment, mutual evaluation and teacher evaluation.
The implementation of analytical projects was carried out sequentially in all training courses for future technicians-programmers. At first, an interdisciplinary project, “A meaningful approach to measuring information. Hartley Formula”(based on the integration of the academic disciplines “Mathematics” and “Computer Science”) was carried out. Next came an intra-disciplinary project “Matrix Algebra and Buhl Algebra. Logical connections”(based on the integration of the elements of the mathematical module “Elements of higher mathematics” and “Elements of mathematical logic”), as well as the interdisciplinary projects “Construction of a Turing machine for the intellectual game Bache”(integration of educational disciplines “Elements of mathematical logic”and“Theory of algorithms”) and “Plotting a graph on a fixed interval, plotting graphical functions” (integration of academic disciplines “Elements of higher mathematics” and “Fundamentals of programming”). Then the interdisciplinary “Binomial distribution - the law of distribution of random variable” (the integration of the elements of the mathematical module “Probability Theory and Mathematical Statistics” and the professional module “Mathematical Methods”) was implemented.
Training activities were organized in accordance with the stages of the analytical project.
The first stage (meaning-building) is to ensure that students and teachers of mathematics and special disciplines understand the similarity of the stages of the study of a function and the stages of the algorithm for constructing a software product. Stage results: awareness of the importance of analytical work; the guideline for obtaining a high-quality software product, initiative, cognitive and research activity, responsibility and punctuality, ability to work in a group; the formation of the motivation-mobilization component of readiness for project and analytical activities.
The second stage (conceptual design) is the planning of project work by groups of students, identification of the need for specific mathematical knowledge and methods for obtaining it. The teacher, who knows the situation, helps to create conditions for understanding the educational tasks included in the project. Stage results: the formation of motivation-mobilization and intellectual-reflective components of readiness.
Operational and activity stage: students work in pairs, completing the task of the teacher of special disciplines to create a software product. The teacher provides counseling assistance, stimulates educational and cognitive activities and the organization of communications, interaction within and between groups. Stage results: the formation of the activity and communication components of readiness for project and analytical activities; identification of students’ difficulties (inability to organize their time, plan actions and activities in general, the distribution of responsibilities in a group, the extraction of significant information from the general array of information).
Reflective-meaning stage is the presentation of the created software product by mini-groups. Reflexion-discussion of the project implementation process and the results obtained, analysis and evaluation of personal achievements and concrete results of activity, quality of work in groups, the group as a whole, identification and analysis of difficulties in the implementation of the project, explanation of their reasons, suggestions for improving the effectiveness of the analytical project. Stage results: development of the intellectual-reflective and communicative components of readiness; students’ interest in other projects and opinions about their project; enthusiasm for work; motivation for success; self-confidence and desire to work independently, without teacher’s help; mastering the material in their academic disciplines.
The correction stage that accompanies all other stages of the analytical project implementation ensures the systematic activity of students and their control. The task of the teacher was to note the difficulties of students, help in removing them, in planning actions, formulating conclusions.
Organizing the launch of analytical projects and the analysis of their effectiveness in the training of programmers
To launch analytical projects in the college, creative groups of teachers are formed. Their tasks are to analyze the possibility of integrating mathematical and professional modules in order to simulate situations of professional activity and to introduce analytical projects into the educational process of the college.
The organizational conditions for the analytical project use included:
preliminary preparatory work, including a collective discussion of topics and requirements for projects, as well as criteria for their evaluation;
training teachers of modern approaches to managing student learning activities, focusing on success, ensuring their inclusion in cognitive activity, providing a positive attitude towards learning, promoting them on the path of self-development and self-realization;
living through all stages of the analytical project by the teachers themselves.
The teacher training was organized in stages:
informing teachers through the local network of the college about analytical projects, their stages; collecting teachers’ ideas on the possibilities of using an analytical project;
a training seminar-discussion on the role of the teacher in organizing the implementation of the analytical project, teacher’s activities and the activities of students at each stage; discussion of possible difficulties, difficulties of teachers and methods for resolving them; choice of academic discipline (disciplines), setting educational and personal goals, selection of content;
providing advisory assistance in the implementation of the project (personal, through a local network); removing difficulties, creating a positive attitude of the participants;
master classes of participating teachers at meetings of committees for the dissemination of experience (presenting difficulties during the implementation of the analytical project and successes of their projects), involving other teachers to try analytical projects.
The effectiveness of analytical projects in the training of future technicians-programmers was evaluated by the level of formation of the components of their readiness for design and analytical activities. At the control and evaluation stage of testing analytical projects in practice, an increase of 18% in the experimental group of the number of students with a reflective level of readiness and a decrease in the number of students with an information level (by 42%) was revealed. There was also an increase in the number of students who reached functional and reflective levels of readiness for design and analytical activities (77%).
The study showed that analytical projects are an innovative means of creating readiness for future analytical and design activities of future technicians-programmers. By perfecting analytical skills, including the use of mathematical knowledge and the ability to work in the format of project activities, analytical projects not only provide the necessary level of subject preparation, but also contribute to the development of professionally important personal qualities of students and meta-subject skills. In addition, an additional effect of the implementation of analytical projects was the increase of students’ motivation to study higher mathematics.
The positive results of testing analytical projects at college prove their effectiveness and create the prerequisites for introducing them into the practice of training computer programmers, as well as using them at the university at the undergraduate level, thereby diversifying the palette of tools in various areas of engineering training.
- Abylkassymova, A. E., Sedova, E. A., & Kalimullin, A. N. (2018). Fact, belief, truth and cognition in school mathematics education. The European Proceedings of Social &Behavioural Sciences, 46, 653-660. https://doi.org/10.15405/epsbs.2018.09.02.40
- Bell, S. (2010).Project-based learning for the 21st century: Skills for the future. The Clearing House, 83(2), 39-43.
- Davison, R., & Ou, C. (2017). Digital work in a digitally challenged organization. Information & Management, 54(1), 129-137.
- Dolnykova, A. A., & Chudova, N. V. (1997). Psychological features of super programmers. Psihologicheskij zhurnal, 18(1), 113-121. [in Russ.].
- D'yachenko, M. I., & Kandybovich, L. А. (1976). Psychological Problems of Readiness for Activity. Minsk: BGU. [in Russ.].
- Khmeleva, G., & Egorova, K. (2016). Structural shift in a city labor market: globalization and local effects. Proceedings of the 16th International Scientific Conference Globalization and Its Socio-Economic Consequences University of Zilina, 21, 855-863.
- Orel, E. A. (2007). Features of professional programmers’intelligence. Vestnik Moskovskogo universiteta. Ser.14. Psihologiya, 2, 70-79. [in Russ.].
- Owusu-Mensah, J. (2016). Improving the Pedagogical Content Knowledge (PCK) of Mathematics Teachers to Enhance Student Learning and Understanding. IOSR Journal of Mathematics (IOSRJM), 12, 66-70.
- Platonov, K. K. (1970). Labor Psychology Issues. Moscow: Nauka. [in Russ.].
- Professional’nyj standart «Programmist»: utv. Prikazom Ministerstva truda i social’noj zashchity RF ot 18 noyabrya 2013 g. № 679n (2013). Retrieved from: http://demo.rosmintrud.ru [in Russ.].
- Shnejderman, B. (1984). Programming Psychology: Human Factors in Computing and Information Systems. M., Radio isvyaz’. [In Russ.].
- Uezerell, Ch. (1982). Etudes for Programmers. Moscow: Mir. [in Russ.].
- Uznadze, D. N. (2004). General psychology. Moscow: Smysl; SPb.: Piter. [in Russ.].
- Zhu, J. B., Liu, R. R., Liu, Q. Q., Zheng, T. Y., & Zhang, Z. N. (2019). Engineering Students’ Epistemological Thinking in the Context of Project-Based Learning. Ieee transactions on education, 62(3), 188-198. https://doi.org/10.1109/TE.2019.2909491
This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this paper as:
Click here to view the available options for cite this article.