=Paper=
{{Paper
|id=Vol-1991/paper-05
|storemode=property
|title=Accordance with Professional Requirements and Didactic Units in the IT Sphere
|pdfUrl=https://ceur-ws.org/Vol-1991/paper-05.pdf
|volume=Vol-1991
|authors=Vlada Zhernova,Igor Kaftannikov,Maria Lykova
}}
==Accordance with Professional Requirements and Didactic Units in the IT Sphere==
Accordance with Professional Requirements and Didactic Units in the IT Sphere? Igor Kaftannikov, Vlada Zhernova, and Maria Lykova South Ural State University, Chelyabinsk, Russia kaftannikovil@susu.ru Abstract. Currently, the requirements for professional knowledge and programmer skills in the IT sphere are determined by a variety of fac- tors. There is a sufficiently significant differentiation of the companies requirements of different directions and majors for projects of the same subject and level. Consideration of many requirements by educational institutions of various types (academic, applied and additional) is al- most impossible. There are international and Russian documents that define the levelled structuring of requirements heuristically. At the same time, the cumulative sets of components of professional knowledge and basis of requirements skills are not defined clearly. The above, as well as the lack of level structuring of the components, makes it difficult to compare the sets of knowledge components, skills requirements and the sets of didactic units of knowledge and skills provided in the dis- ciplines and courses of educational establishments. The paper discusses the grounds and model for accordance between the components of pro- fessional requirements with educational didactic units, and also examines the possible procedure for implementing such an agreement on the exam- ple of the Russian professional standard “Programmer” and European- e-Competence-Framework-3.0 CEN CWA 16234-1 2014. Keywords: Russian professional standard “Programmer” · European- e-Competence-Framework-3.0 · educational standards · competences · education in the IT-field 1 Basis: Sets of Knowledge and Skill Components in Russian IT Standard and E-ICT Framework Consider the competence B.1. Application Development (European e- Competency Framework (e-CF) version 3.0 [1] and the Russian professional standard “Programmer” [2] as examples and sources of the requirements under consideration for knowledge and skills components. The competence B.1.includes 14 knowledge components and 8 skill components (Fig. 1), which are not struc- tured by levels, although the competence presupposes the presence of 3 levels, ? The work was supported by Act 211 Government of the Russian Federation, contract 02.A03.21.0011. Accordance in the IT Sphere 51 but, as indicated above, the structuring of the components by levels is not pro- vided here. “Programmer” is the professional standard of the Russian Federation and lists 15 labor functions and 67 components of knowledge for them, as well as 52 components of very general skills (programming languages, formalization and algorithmization of tasks, databases, information security, etc.), as well without any structuring of the components themselves. Fig. 1. Structure and components of competence B.1. Application Development It makes sense to consider the cumulative set of requirements for both docu- ments, with the capacity of 81 knowledge components and 60 skill components given the trends and requirements of global staff and academic mobility. Also, there is the change in the power of sets with the addition of requirements for other documents or their localization. So the procedures for forming groups of 52 Igor Kaftannikov et al. sets and mapping their requirements to educational programs must be suffi- ciently universal. Besides as the relations of order are not defined on the sets under consideration (this does not make sense), the level structuring of compe- tencies and requirements of the standard should be provided by the level struc- ture of their components. There is the correspondence in the level structure of educational programs presented which are in the sequence of didactic units. Define the objects under consideration, their grouping, properties and rela- tions for them to formalize the above procedures. We assume that EAC is the set of knowledge components from the “European e-Competence Framework (e-CF) version 3.0”. Set: EAC = {eACij } with AC is an aggregated component, e is localization prefix (document reference), j is component index in competence or standard, i is index of competence or standard. We assume RAC is set of aggregated components of knowledge from the Russian standard “Programmer”. Set: RAC = {rACji }. Similarly, we assume the set of aggregated skills components EAS and RAS. Set: EAS = {eASji }, RAS = {rASji } We assume IAC is sets of components from all considered documents will be called integrated. Set: IAC = EAC ∪ RAC = {eACji , rACji } or IAC = n {ACm } = {eACji } ∪ {rACji }; IAS = EAS ∪ RAS = {ASm n } = {eASji , rASji } = {eASji } ∪ {rASji }. n n Individual analysis of each of ACm , ASm is not constructive, due to the fact that the subject areas that are indistinctly defined by the names of components have many intersections due to their inclusion in the more global subject area “Application Development, Programmer”. (e.g.: programming languages, lan- guages, utilities and programming environments, software development method- ologies, etc.). Therefore, in our opinion, it is preferable to pre-decompose IAC, IAS into subsets including aggregated components closest to the semantics of functional purpose (subject domains), allowing to determine common metrics n n for all ACm , ASm , included in them. We assume such sets as grouping: GAC, GAS. Wherein: GACt ∈ IAC, GASt ∈ IAS. For example, GAC1 is a set including AC5 , AC6 : AC5 Typical software metrics AC6 The main methods for measuring and evaluating the characteristics of software and defines the subject area “Characteristics and metrics of software”. GAC3 includes: AC6 Methods and methods of formalizing tasks AC7 Methods and techniques for algorithmizing tasks AC8 Algorithms for solving typical problems, areas and meth- ods of their application And defines the subject area “Methods and techniques of algorithmizing and formalizing tasks”. Level structuring of directly grouping components (GAC, GAS) can be per- formed only through the complex expert formation of the relations of order due Accordance in the IT Sphere 53 to the fuzzy definition of the domain. At the same time a simpler method of implementing the level structuring of each group can be the decomposition of the group as a whole into components (call them CC, CS). Each of such defines is a much more specific domain. For example, programming languages, software metrics for which metrics can be formed according to certain procedures, which can be either formal or pseudo formal, as required. 2 METHODS AND PROCEDURES OF LEVEL STRUCTURIZATION Proposed methods and procedures are considered in the example of the CC “Pro- gramming Languages”. A component of this type is called composite, firstly, due to the fact that set of the programming languages numbers several hundred, (maximum - more than 700). At the same time, several new ones appear each year. Naturally, there is also a degradation in the use (dying out) of languages and the current group of leaders, which can be determined using ratings gen- erated by certain resources that are significant for the IT community and, at the same time, using these ratings to form the metrics applicable to building the level structure of components. For the programming languages component, there are several most significant resources. In this case we used the following three: 1. GitHub: https://github.com/, ranking by the number of lines of code; 2. TIOBE Programming Community Index: https://tiobe.com, the ranking on the popularity of the language, expressed in the number of search queries; 3. The RedMonk Programming Language Rankings: http://redmonk.com, a comprehensive rating. According to these sources (at the beginning of 2017) the following rating table was compiled (Table 1) for the 15 most popular programming languages for each resource: In all three ratings, the following fifteen programming languages are present: C, C++, C#, Java, JavaScript, PHP, Python, Ruby, Go. These languages are used today in virtually all software technologies and platforms, while program- ming most components of software systems. In our opinion this means that the verification of knowledge of programming languages can be done on the basis of knowledge of the languages listed above, since other (close) languages can be quite quickly mastered, with a good knowl- edge of the above. Naturally, it is possible to specialize in languages as well as dynamic changes in ratings and entries in the tops of popularity. This means that the tiered system of knowledge components must also be easily modern- ized, migratory and expandable. Secondly, the components of knowledge consist not only of the current set of the most popular languages, but must take into ac- count their structure, properties, application features, and so on. in our opinion the second component of knowledge components is quite fully reflected in good 54 Igor Kaftannikov et al. Table 1. Popular program languages Github TIOBE Redmonk JavaScript Java JavaScript Java C Java Python C++ PHP Ruby C# Python PHP Python C# C++ Visual Basic .NET C++ CSS Javascript Ruby C# Perl CSS C ASM C Go PHP Objective-C Shell Delphi/Object Pascal Shell Objective-C Ruby R Scala Go Perl Swift Swift Scala Typescript Visual Basic Go (most popular) textbooks and monographs on languages. Similarly, the selection of the textbooks themselves is simple enough to provide for popularity, taking into account the opinion of experts. Assuming the use of 5 levels of structuring according to [1], we, used junior / middle level textbooks or reference type books. In our opinion these books usually include knowledge and skills in programming languages corresponding to the first three levels of structuring, as they are designed to master the basic capabilities of the language or present a review of it. Further, the reconciliation procedure included the selection of books by an- alyzing the subjective estimates of users obtained using professional resources and forums (habrahabr, tproger, geektimes, toster, github, stackover- flow, etc.). In order to simplify the analysis and publication so far we used only one language (C ++) and four most popular Russian-language and translated publications: 1. Podbelsky V.V. C ++ language; 2. Straustrup B. The programming language C ++; 3. Prata S. C ++ Programming Language; 4. Eckel B. Philosophy of C ++. Obviously, similar procedures can be performed with respect to other pro- gramming languages. Naturally, the number and list of publications can be changed. For each book an enlarged table of contents (chapters) was taken for consideration, which can be defined as the didactic units of the corresponding work program. The follow table of contents is a kind of information about a language structured according to the complexity of mastering (“from simple to complex”). Accordance in the IT Sphere 55 Expert structuring on 1-3 levels (and also, in some cases, for 4 levels) is presented in Figure 2 for each source separately. Fig. 2. Structure of the tutorial The structuring of levels 4 and 5 seems more complicated because it involves expanding the objects of the subject areas of languages, comparing their rela- tionships and relationships, as well as existing practical experience. The above books do not include didactic units related to these levels. Therefore, to structure the knowledge and skills of 4-5 levels, it is necessary to consider the literature on specialized extensions / libraries / programming languages frameworks, since 56 Igor Kaftannikov et al. the standard tools of any language are not sufficient for writing projects other than educational ones. It should also be taken into account that the structuring of knowledge of levels 4 and 5 will be specific for each language separately. If for the first three levels it is possible, in some approximation, to allocate opportunities and features inherent in the whole group of languages, and thus abstract from the choice of language, then for the 4th and 5th level, it is necessary to choose a specific technology (a set of libraries, a framework) evaluation. The choice of technology, in our opinion, should be based on the specifics of the project or subject area (web, mobile, desktop, etc.). This will allow more fully assess to the knowledge of a specialist for a specific application task. Also one should note one more difference between 4 and 5 level. If level 4 assumes knowledge of both language and applied technology (libraries, frame- work), then level 5 can be defined as the level of development of the full-stack project. Full-stack is development from scratch, a fully operational project. That is, a specialist with level 5, apart from having knowledge of the language and the chosen technology, is competent and capable of creating a workable project from scratch using these technologies, and is also competent in managing the team / developer department to create a project from scratch in this area using the language and the chosen technology. Competence and the “Programmer” standard were taken by us as an exam- ple of one of the broadest subject areas with a wide range of requirements, both in terms of knowledge and skills. In this example, we hope to demonstrate the principle possibility (using the proposed methodology and procedures) to create a system of structured level components of GAC, GAS consisting of a struc- tured level system of knowledge and skills of the “lower” level that are part of CK, CS and are the fundamental basis For a certain formalization (pseudo for- malization) of the requirements of the subject area of professional qualification (competence). Also, at the same time, the methodology of professional require- ments transformation into didactic units of the training, retraining, advanced training programs and, accordingly, a certain, logically justified harmonization of professional requirements and educational programs was proposed. It should also be noted that expert opinions and approvals at all levels are supposed to be conducted with the involvement of representatives of the business community, for which the necessary procedures are determined at the computer department of the SUSU and a corresponding portal is being developed. References 1. Europeane-CompetenceFramework (e-CF) version 3.0; http://www.ecompetences.eu/. 2. Professional Standard of the Russian Federation “Programmer”; http://www.rosmintrud.ru/docs/mintrud/orders/138/.