American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 38 | P a g e USING PROJECT TECHNOLOGIES IN TEACHING SUBJECT-ORIENTED PROGRAMMING LANGUAGES Otahanov Nurillo Abdumalikovich Professor of NamSU, PhD. Namangan State University Namangan region, Namangan city city Uychi st. 316, index: 160119 Phone: +998 (99) 101-08-40 E-mail: nurillo_otaxanov@list.ru ANNOTATION This article is devoted to the methodology of using design technologies in teaching modern programming languages in higher educational institutions. Based on reliable sources, it reveals the advantages of using design technologies in teaching students about domain-specific programming languages, their specific features and methods of application. Theoretical information is enriched with concrete examples. Appropriate recommendations have been developed on the problem under consideration. Keywords: technology, project, plan, algorithm, subject, program, programming languages, learning, Python, educational technologies, task, student. INTRODUCTION In order to organize and develop the educational system in the digital environment, it is necessary to summarize and systematize the results of scientific research in the field of pedagogy and psychology, pedagogical innovations, the rich experiences of skilled teachers, as well as to review the existing methods and methodologies from today’s point of view. One of the ways to solve this problem is an approach that involves the application of the concept of “technology” to the pedagogical process. The term technology is usually applied to a production (including software development) process or activity. This concept is interpreted as a scientifically (or practically) proven system of activities (actions) that can guarantee the creation of required products (expected outputs) from given raw materials (initial data). The analysis of open sources showed that there are definitions of the concept of pedagogical technologies from different points of view. For example, scientists such as De Kiffer, M. Meyer defined pedagogical technologies in the sense of practical application of equipment, devices, apparatus, educational tools or technical means intended for the educational process. G. K. Selevko, P. Mitchell and others describe this concept as follows: pedagogical technology is a system of all components used in American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 39 | P a g e the pedagogical process, programmed in time and space, which achieves the expected result. Within the framework of this thesis, we use the definition proposed by V.P. Bespalko, V.A. Slastenin, B. Skinner, S. Gibson and T. Sakamoto. Pedagogical technology is a process of solving interaction (communication) or educational issues that involves the use of behavioral and systematic analysis aimed at improving education [1]. To increase the effectiveness of the educational process, teachers should solve the following pedagogical problems related to students: - to form a creative approach to the studied subject or material, to direct creative thinking; - teaching to acquire independent learning skills and qualifications; - to stimulate motivation to acquire knowledge; - creating favorable conditions for learning; - systematic analysis of educational problems and formation of skills and abilities to search for own methods to solve them, etc. Today, project-based learning technologies are being reshaped as one of the effective ways to solve these problems. Although this method is considered one of the “old” methods, it has gained new importance in the modern educational environment. This technology, which is recommended to be put into practice by many pedagogues as one of the main educational technologies of the 21st century [2] and “methodology that every teacher should know” [3], is based on the method for developing projects. A project is a plan to solve a given problem. To design a software means to express a chain of logical connections between its constituents and them in a form convenient for program development in order to solve a problem of a practical nature. Projects for software tools can be developed in individual and standard ways. Individual projects are usually developed for issues that are unique and require a special approach. Template projects are built on the basis of editing ready-made projects. Template projects are replicable (reusable) and have the following classes: - elemental - it is built on the basis of the problem or its informational, software, technical, mathematical organizational support; - subsystem - developed on the basis of separate subsystems that provide functional completeness as template elements and have the least connections with information carriers; - object-oriented - it is created on the basis of the characteristics of its constituents and the methods that can be performed on them, as well as the instructions that connect them; American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 40 | P a g e - modular - created with the help of modules that provide full functionality of the problem organizers and their interconnection tools. Each template project should have detailed documentation with specific functional elements and tools for setting them up according to the requirements of the program. Approaches to the process of designing software tools according to the criteria for allocating the problem to the organizers are as follows: 1. functional-modular; 2. object-oriented. In the functional-modular approach, each module is divided into modules aimed at solving a specific problem of the overall process and connected to each other from the point of view of functionality. The advantage of this method is that the problems that may be encountered during the design process are solved in the current or next stages. In the object-oriented approach, the project involves ready-made objects and the connections between them. The use of the project method in education involves teaching students to develop a plan to achieve the expected solution by solving an educational or practical problem step by step and to teach it to be implemented. The most important feature of this method is determined by students' independent acquisition of knowledge. In such a situation, the teacher acts as a manager and consultant. Project technologies include all the tools and methods necessary for the practical application of the project method. The project method was proposed by the American philosopher-pedagogue John Dewey (1859-1952) and his student W. H. Killpatrick at the beginning of the 20th century, in which the idea of organizing education based on the student's interest in the knowledge gained from life and his active desire to acquire it is put forward. These scientists consider the knowledge gained by carrying out specially organized experiments to be real education [4]. According to Dj. Dewey, “Learning by doing is the organization of students’ activities aimed at solving problems independently. The project method should remain one of those methods.” These ideas are reflected in teaching object-oriented programming languages. In order for students to actively absorb the offered knowledge, they should feel that it will be useful for them in their future work. For this, it is necessary to put before the students problems of professional importance. In the process of solving such problems, they acquire competencies such as seeing, understanding, applying, and experimenting with results. Its main motto is as follows: “I know that I need all the knowledge I need to know, and where and how to use it” [5]. On the basis of modern design technologies, students’ skills to sort and use useful information from the existing information space, to work independently, to think American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 41 | P a g e critically, and to integrate knowledge in several areas in solving problems, i.e., to apply them in practice. The project method can be used individually, in pairs or in groups. Usually, the project method is used in training to solve multifaceted concrete problems taken from life. Such problems are of a practical nature and involve the joint application of knowledge in various fields of science and technology, technology and creative fields. The results obtained or the decisions made in connection with the developed project will be suitable for practical application. According to this aspect, the use of project technologies in teaching programming languages to students in higher educational institutions has a good effect. The analysis of open sources shows that the scientific research works of a number of scientists are devoted to the problems of using project technologies in the modern education system. It is possible to mention the scientific researches of Lipes-Pimental [6], B. Lenz [7], I. S. Islambekova [8] and others. In particular, I. B. Nevzorova from Russia, studied in her work the problems of preparing future programmers for project activities in colleges [9]. However, open sources do not yet have completed works on the methodology of using design technologies in teaching programming languages, especially object-oriented programming languages. METHODS In a digitalized society, minimizing the share of human participation, the main practice is entrusted to "smart" technologies. In order to solve this problem, algorithms are developed for problems encountered in personal, professional and other activities of people, and software tools are developed based on them. Since algorithms and projects are interpreted in the sense of “plan”, they can be considered essentially the same concept. So, both the algorithm and the project serve as a basis for program development. Algorithm commands can usually be expressed in various forms (formula, text, block diagram). Building an algorithm in this way gives good results when the number of commands is not too large (for example, 20-30). An increase in the number of actions causes the size of the algorithm to increase, as well as the loss of visibility. As a result, difficulties arise in reading, understanding, analyzing and editing the algorithm. For large software systems, it is recommended to solve such problems using the project method. Projects can also be expressed like algorithms, but building them in the form of graphs or UML-diagrams increases visibility, makes it easier to use, and simplifies the process of reading, understanding, editing and analysis. It is known that the development of new software tools consists of three stages: 1. pre-project study of the issue; 2. project construction; American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 42 | P a g e 3. program development; 4. implementation. During the pre-project study, all the requirements and ideas for their implementation are put forward within the framework of the problem. Then, the construction of the project will begin. Developed projects should have the following features: - it should be suitable and convenient for program development; - guarantees the expected correct solution of the problem posed for arbitrary initial data; - that it is the most acceptable among the possible options; - adaptability to new conditions; - absence of interruptions; - ease of use in practice. In the classes, students are required to develop a program for problems of a practical nature. In this case, the student works independently and initially builds a project (plan) for the given problem and develops a program based on this project. In Naija, he develops the skills and abilities to develop a project (plan) for issues of various forms and content. A student in the process of developing a project - relies on personal experiences; - integrates relevant field knowledge; - looks for the most optimal solutions and applies them in practice. The education and training system aimed at teaching subject-oriented programming languages on the basis of project technologies helps to continuously rebuild the student’s life and raise it to higher levels, and the educational institution prepares students for the dynamic changes taking place in modern society and prepares to solve unfamiliar problems based on digitized technologies. The use of project technologies in classes helps to achieve the following educational goals: 1. goals aimed at knowledge - researching phenomena and processes occurring in nature and society, studying the characteristics of objects, identifying problems that may be encountered in various activities and searching for and applying methods of solving them, working with resources, conducting experiments; 2. organizational goals - setting goals and planning ways to achieve them, as well as developing skills and competencies of organizing personal and collective activities, working in groups, mastering modern technologies; 3. creative goals - creative activity, building models and projects, identifying, using and developing new tools necessary to achieve the goal. American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 43 | P a g e RESULTS The following knowledge and skills of students are improved in the process of teaching subject-oriented programming languages based on project technologies: - systematic, algorithmic, logical and critical thinking; - choosing the best options for program development for issues; - appropriate use of programming language tools; - to build optimal plans for their behavior; - work with information; - understanding of laws and drawing conclusions based on them; - making independent decisions based on various factors; - working with a team. The American professor Collings, who greatly contributed to the development of project technologies, divided projects into game, travel, narrative and constructive types. Among them, descriptive and constructive types can be widely used in teaching programming languages. Narrative projects are projects aimed at describing the problem-solving process orally, in writing, or in other forms. Constructive projects are projects aimed at developing a specific useful product (software) that can be used in practice. At this point, it is worth noting that descriptive and constructive methods can be used together when describing projects. Issues presented from the point of view of program development must meet the following requirements: 1. the existence of a multi-step problem that has creative or research significance and requires the integration of knowledge from different fields; 2. theoretical or practical significance of the obtained results (decisions); 3. the possibility of showing the project in the form of a structure in which the results are achieved step by step; 4. use of research methods in solving the problem (identifying the problem, dividing it into problems, putting forward hypotheses for solving the problem); 5. solving the problem and formalizing the results. In teaching object-oriented programming languages, project-based technology works best for multi-step learning materials involving many modular [10] or complex structures, after students are taught the basic command system of the language. . From project development to geometric problems, lists, classes, databases, web pages, new modules, text handling, exception handling, and many other topics or related to students’ future careers. We recommend using it for personal issues. Work on any project begins with defining the main goal. Then the process of achieving this goal is divided into stages. In this case, each stage includes a sub-problem that American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 44 | P a g e requires a separate solution of the main problem. In this case, the project will consist of developing a logical sequence of steps aimed at solving the main problem. It is in this respect that the project method is suitable for object-oriented programming. It is known that the process of developing a program for issues fully meets the above requirements. It can be said that using the project method for problems is exactly suitable for object-oriented programming languages. Therefore, the use of the design method in teaching programming languages is effective. Project technology consists of the following stages: For this, it is necessary to form the skills and qualifications of students to work on the basis of the following algorithm: 1) in-depth analysis of the content of the main issue; 2) dividing the main issue into sub-issues (components); 3) Continue step 2 until sub-problems can be solved using one of the methods or basic commands of object-oriented programming modules; 4) development of a project to solve the main problem based on the created sub- problems; 5) implementation of the project using object-oriented programming tools. 6) formalization and analysis of project results; 7) draw conclusions. After providing students with theoretical information on the relevant module or topic, the trainee can move on to the application of the project technology. In this case, the projects offered to students can be short (for one pair) or long-term (for a specific module of the educational material, course work, graduate qualification work, master’s theses, etc.). Naturally, such projects are carried out independently by students and have full practical value. If necessary, the teacher provides examples of tasks, participates in the process of project development with guidance advice. Students can be offered the following problem as an example to build a simple project. Problem: Create a database for a store. Type of course: applied mathematics, economics, geography, etc. Project type: creative, practical, long-term. Expected result: a simple workable project and application. Educational goal: formation of knowledge, skills and competences related to the topics covered. Developmental goal: preparation for professional activity. Educational goal: formation of qualities such as systematic analysis, inquisitiveness, independent thinking, understanding of the essence of the problem. Educational-pedagogical issue: practical application of the knowledge learned in the previous topics, development of a model and program suitable for use, presentation of a report to the teacher based on the results, analysis and conclusions. Duration: 1 classroom training, 2 weeks independent. American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 45 | P a g e According to observations, students have problems with creating and using database tables when developing a program for database problems. The main reason for this can be the inability of students to imagine the general scope of the problem and the lack of personal experience in the field of working with databases. The problem may seem very complicated to students because it involves a large number of simple problems (the number of such problems can be several dozen or hundreds, depending on the condition of the problem). Therefore, conventional approaches to the application development process are not appropriate for database-related issues, and project-based technology is recommended for such cases. We believe that the presentation of the sample, even if it is simple by the teacher for the issues under consideration, serves as an important visual foundation for the students and makes the development process of the software tool easy and convenient. In general, a certain part of the work in database issues, that is, the structure of the database, is created "by hand" by a person. Then, a software tool is developed to automate data processing in this table. Accordingly, the solution of the issue we are considering will consist of two stages: 1) one table is created for the database; 2) a program is developed to work with the data in the table. Due to the large scale of the problem, it is recommended to first develop a software tool project in order to simplify the software development process. For clarity and simplicity, the required table structure fields can be defined as follows: field content field name product code code product name name unit of measure measure price per unit of product price amount amount overall rating total developed time time expiration date Term date date purchase purchase sale sale in charge in charge To work with this table, it is recommended to include the following menu buttons, which are most common in the practice of working with the software tool, in the main interface: file, work with the product, view and edit (to make changes to the fields), search, print, help These menus, in turn, may consist of the following sub-menus: American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 46 | P a g e main menu Buttons File Update, open, save, exit Work with the product acceptance, sale, disposal View and edit product code; developed time; cheapening Search product code; product name; developed time; expiration date; in charge Print Current information, current status, daily sales, periodic sales, withdrawal, expiring products. Help user guide Note: This menu and ost menu button layout is not perfect and can be expanded or reduced as needed. Representation of the same table in the form of diagrams makes the program development project simple and demonstrative. This scaled-up project shows students the minimum cases to consider when developing a software tool and serves as a good foundation for problem solving. Each of the proposed sub-menus is simple enough that an application for them can be easily developed using object-oriented programming tools. For example, the “Temporary sale” button is one of the most common issues in the practice of sales branches, and it can be useful in determining the total volume of sales made in a certain period and the needs for products. This problem is simple enough, it involves determining the period American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 47 | P a g e for which information is requested and printing the data corresponding to this period from the table. In other words, this problem can be solved using the following steps: 1. function declaration; 2. launch the necessary modules; 3. open the database table; 4. determine (enter) the beginning of the reporting period; 5. determining (entering) the end of the reporting period; 6. sort data from the table for this period; 7. Close the table; 8. go back. These actions can now be easily programmed using object-oriented programming tools. In particular, they can be written in Python in the following form (let the database table corresponding to the above structure be stored in the file named “D:\Baza\magazin.db”): def term_trade: import sqlite3 con = sqlite3.connect('magazin.db') cursor1 = con.cursor() a=input(“Enter the beginning of the period”) b=input(“Enter the end of period”) cursor1('SELECT code, name, date, sale FROM magazine WHERE a>=date and b<=date') rows = cursor1.fetchall() for rows in rows: print(row) Programs for the rest of the sub-questions can be developed just as easily. After that, in order to build a general program, it is done by logically connecting the programs written for the main problems, according to the developed project. As can be seen from the given example, the use of design technologies simplifies and demonstrates the complex and implex process aimed at developing a software tool for the main issue under consideration. The general program will consist of a set of programs developed for related disciplines under the project. Future programmer engineers may be required to develop software tools using design technologies for the following types of issues, depending on the topics covered as educational tasks. 1. server-client applications; 2. web applications on various topics; 3. computer games for small, middle and older children; 4. working with files with text, tables and other contents; 5. database processing issues; American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 48 | P a g e 6. useful software tools for practical use (for example, a multifunction calculator). For such issues, the teacher should not require students to develop a perfect program at once. Because developing a perfect software tool is a long process, it can discourage students from learning subject-oriented programming languages. To solve this problem based on project technologies, two types of approach are recommended: 1) offering students individual tasks while reducing the number of requirements for the condition of the problem. The level of applicability of the developed software in practice will not be high, but students will be able to form ideas about educational issues and create initial skills and qualifications; 2) divide the group into several student teams and offer them to solve the tasks as a team, increasing the requirements for the condition of the problem. It is possible to achieve the development of software tools that are useful in practice by teams. Applying this method in practice a) helps to make the program development process interesting for students; b) serves to increase students’ sense of responsibility; c) fills in ideas about the considered educational problem; d) deep skills and competencies are formed. DISCUSSION Based on the above considerations, the following recommendations and conclusions can be made in the field of using project technologies in teaching programming languages: 1) it is necessary to establish a wide use of design technologies in higher educational institutions, as they help to achieve all educational, spiritual and developmental goals; 2) it is necessary to take into account that the introduction of project technologies in the practice of teaching subject-oriented programming languages develops the skills and competencies of students’ planned and logical thinking and increases their passion for programming; 3) design technologies are recommended as the main technology, as their application to multi-level programming issues in the educational process has given good results. LIST OF USED LITERATURE 1. Г. К. Селевко. Педагогические технологии на основе активизации, интенстификации и эффективного управления УВП. -М.:НИИ ШТ, 2005. – 4 стр. (G. K. Selevko. Pedagogical technology and fundamentals of activation, intensification and effective management of UVP. - M.: NII ShT, 2005. – p. 4.) 2. Лапина О. А. Метод учебных проектов - образовательная технология XXI века. https://pedsovet.su/publ/164-1-0-2587. (Lapina O. A. Method of teaching American Journal of Interdisciplinary Research and Development ISSN Online: 2771-8948 Website: www.ajird.journalspark.org Volume 10, Nov., 2022 49 | P a g e projects - educational technology of the XXI century. https://pedsovet.su/publ/164-1-0-2587.) 3. 8 methodologies that every 21st century teacher should know. https://www.realinfluencers.es/en/2019/05/09/8-21st-century-methodologies/ 4. Томюк О. Н. Концепции опыта в инструментализме Джона Дьюи // Эпистемы: сборник научных статей. Екатеринбург: Издательский дом «Ажур», 2011. Вып. 6. С. 28-34. (Tomyuk O. N. John Dewey's Concept of Opyta and Instrumentalism // Epistemy: sbornik nauchnyx statey. Yekaterinburg: Izdatelsky dom "Ajur", 2011. Vyp. 6. p. 28-34) 5. Рожкова М. И., Байбородова Л. В. И др. Педагогика. 1-т. Общие основы педагогики. Теория обучения. -М.Юрайт, 2022. – 402 c. (Rozhkova M. I., Bayborodova L. V. I dr. Pedagogy. 1-t. Obshchie osnovy pedagogy. Theory obuchenia. - M. Yurayt, 2022. – p. 402.) 6. Lуpez-Pimentel J. C., Medina-Santiago A. Alcaraz-Rivera M., Del-Valle-Soto C. Sustainable Project-Based Learning Methodology Adaptable to Technological Advances for Web Programming. Sustainability 2021, 13, 8482. https://doi.org/10.3390/su13158482 7. Bob Lenz and Sally Kingston. 17 Teacher Tech Tools for High Quality Project- Based Learning. https://www.gettingsmart.com/Blog 8. Islambekova I. S. Технологический подход к формированию проектной культуры будущего педагога профессионального обучения. Автореф. дис. канд. пед. наук. 13.00.08. Махачкала, 2010. -24 стр. (Islambekova I. S. Technological approach to the formation of project culture of the future pedagogue of professional training. Autoref. dis. sugar ped. science 13.00.08. Makhachkala, 2010. – p. 24.) 9. Невзорова И. Б. Формированиг готовности будущих программистов к проектно-аналитическиой деятельности в колледже. Автореф. дис. канд. пед. наук. 13.00.08. Великий Новгород, 2017. -24 с. (Nevzorova I. B. Forming readiness for future programmers to project analytical activity at vocational school. Abstract. dissertation of the candidate of pedagogical sciences 13.00.08. Veliky Novgorod, 2017. – p. 24.) 10. Otahanov N. A. Classification of Python language modules. //Indonesian Journal of Innovation Studies. Vol. 19 (2022): July, 2022. - p. 11.