ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
6
THE EFFECTIVENESS OF USING MODERN TECHNOLOGIES IN ORGANIZING
EDUCATIONAL ACTIVITIES IN SECONDARY SPECIALIZED VOCATIONAL
EDUCATIONAL INSTITUTIONS
Davronova Sayyora Abdullayevna
Teacher of informatics and information technologies,
Bulokbashi District Polytechnic No. 1
Ormonova Zarnigor Dilmurodovna
Teacher of special subjects, Bulokbashi District Polytechnic No. 1
https://doi.org/10.5281/zenodo.14874035
Abstract:
Teaching the Fundamentals of Algorithms and Programming course to non-
specialist students in vocational schools presents certain challenges and opportunities. This
thesis explores the methods of effectively teaching algorithmic thinking and programming
skills to non-specialist students. The research analyzes the main difficulties faced by non-
specialist students and proposes methodological approaches that serve to increase their level
of mastery of the subject.
The main teaching strategies are the use of visual programming environments (e.g.
Scratch and Blockly), project-based learning, gamification and interactive teaching methods.
Also, methods of increasing student interest through real-life programming examples are
considered. The research results are analyzed based on the experimental learning process and
the assessment of the level of student knowledge.
The results show that a well-designed methodological approach significantly increases
algorithmic thinking and problem-solving skills even among students with no prior
programming training. This thesis contributes to the development of innovative pedagogical
approaches to teaching the Fundamentals of Algorithms and Programming course to students
in non-specialized areas.
Keywords:
algorithmic thinking, programming fundamentals, non -specialized students,
vocational schools, teaching methodology, visual programming, gamification.
Introduction
: With the development of modern technologies, the need for
programming and algorithmic thinking skills is increasing. Today, not only information
technology specialists, but also specialists in various professional fields are required to know
the basics of programming. Therefore, teaching the course of Algorithms and Programming
Fundamentals for non-specialist students in vocational schools is of great importance.
There are a number of problems in teaching programming and algorithmic skills to non-
specialist students. In particular, it is observed that they have low interest in technical
subjects, have difficulty mastering programming concepts, and have problems in
understanding theoretical knowledge without practical exercises. Therefore, for effective
teaching of this course, it is necessary to use interactive approaches, visual programming
environments (Scratch, Blockly, App Inventor), project-based and practical teaching methods.
The main goal of this study is to develop a methodology for teaching the Fundamentals
of Algorithms and Programming course for non-specialized students in vocational schools and
to evaluate its effectiveness. The study analyzes various teaching methods and studies their
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
7
impact on student knowledge. Based on the results, the most effective methodologies are
proposed and recommendations are developed for their implementation in practice.
Therefore, the relevance of this work is that it contributes to the development of
innovative approaches to teaching programming for vocational schools and helps to develop
algorithmic thinking in non-specialist students.
Specific aspects of algorithmic and programming courses for undergraduate students
the Fundamentals of Algorithms and Programming course to non-specialist students differs
from traditional programming education. Since these students are not IT specialists, the depth
of knowledge provided to them and the teaching methods should be tailored to their
professional needs and interests.
1. Attitude and motivation towards programming
non-specialized students usually do not choose programming as their major, they may not
have sufficient interest and motivation in the subject. For this reason:
Using real-life examples – developing algorithmic thinking based on examples related to
students' professional fields;
Gamification ( learning through game elements) – increasing motivation by organizing
tasks in the form of a game;
Project-based learning - methods that help students develop programming skills by
creating real projects - are effective.
2. Adapted curriculum content
Teaching complex algorithmic concepts to non-specialist students is not easy. Therefore:
Avoiding complex mathematical formulas - not to tire students with excessive
mathematical load;
Simplify basic concepts – explain basic programming concepts, such as variables,
conditional operators, and loops, in a simplified way;
Using visual programming environments – By programming in environments such as
Scratch and Blockly, it is desirable to develop algorithmic thinking in students before writing
complex code.
3. Emphasis on practical training exercises, without overloading theoretical knowledge,
increases efficiency. For this reason:
Using flowcharts and algorithmic thinking exercises – explaining algorithms in a visual
form before programming;
Creating small programs – creating small projects that students can develop
independently;
Teamwork – It is beneficial to teach students how to solve problems by working as a
team.
4. Choice of programming languages
In a programming course for non-specialist students:
Easy- to-learn languages (Python, Scratch, Blockly) should be preferred;
Interactive programming tools that do not require strong syntactic order should be
preferred;
Capable of creating mobile and web applications It is advisable to choose platforms that
are (for example, App Inventor or Thunkable).
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
8
5. The uniqueness of science teaching methods
Step-by-step approach – starting with simple steps to understand complex concepts;
Adapting lessons based on student interests – using personalized learning methods;
Teaching in an interactive environment - using laboratory exercises, hands-on lessons,
and virtual simulations.
TEACHING METHODOLOGY
"Basics of Algorithms and Programming" for non-specialist students, it is necessary to use
special methods. These methods arise from the low prior knowledge of students in
programming and the need to increase their interest in technical subjects. The most effective
teaching methods are analyzed below.
1. Using visual programming tools
Teaching complex programming languages to non-specialist students can be difficult.
Therefore, it is useful to start lessons with visual programming tools:
To develop algorithmic thinking in students by working in environments such as
Scratch, Blockly, and App Inventor;
Reduce complexity by using blocks and visual objects instead of writing code;
playful way through an interactive environment .
Advantages:
✔
Simplifies the programming process.
✔
Develops students' visual thinking skills.
✔
Increases interest in programming.
Project approach and practical exercises
Instead of overloading students with theoretical knowledge , engaging students in working on
real projects is more effective.
Students can create small programs, mobile apps, or websites.
Develop projects based on the principle of gradual increase in complexity.
Teaching students to solve problems independently through teamwork.
Example:
✔
Students can create interactive games using Scratch.
✔
A simple chatbot or website creation project using Python.
Gamification and interactive learning
Gamification (teaching through game elements) is an effective way to engage students.
students through points, a rating system, and rewards.
quests, quizzes, and coding competitions to make programming fun.
Turning programming problems into interesting assignments.
Advantages:
✔
Increases students' interest in the lesson.
✔
Makes the learning process easy and fun.
4. Problem-Based Learning (PBL) are taught to independently find software solutions based
on given problems.
Real - life programming problems are given.
Students analyze the problem and develop an appropriate solution.
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
9
The teacher participates as a guide.
Example:
✔
“What problems can mobile apps solve?” – Students develop their own applications.
✔
“Automate orders for an online store” – create a simple Python program.
5. Formation of flowcharts and algorithmic thinking
Before explaining programming, it is important to introduce students to algorithmic thinking:
Creating an algorithm using block diagrams.
Algorithmic analysis of simple tasks (for example, creating an algorithm for the tea-
making process).
Develop algorithm design skills before writing code.
Advantages:
✔
Teaches students to think before they write code.
✔
Allows you to explain complex problems in simple steps.
6. Differentiated approach (Individualized learning)
Lessons should be organized taking into account the abilities of each student.
The first stage is visual programming and simplified code writing for beginners.
The second level is Python, Java, or other programming languages for advanced
students.
Providing additional resources – self-study materials for those interested.
Advantages:
✔
Allows for individual growth of each student.
✔
Provides a flexible approach for students of different levels.
Conclusion:
Effective teaching of the Fundamentals of Algorithms and Programming
course for non-specialist students requires the use of modern methodologies. These students
do not need to acquire in-depth knowledge in the field of programming, but rather need to
develop algorithmic thinking and practical application skills. Therefore, the course content
should be simplified and adapted to their professional field .
To increase interest in programming, it is effective to use methods such as visual
programming environments, gamification, project-based learning, and problem-based
learning. Teaching through practical exercises and real-life projects, without overloading
theoretical knowledge, is more beneficial for students.
Also, in order to facilitate the learning of programming, it is important to develop block
diagrams and algorithmic thinking , use flexible programming languages (e.g. Python, Scratch,
App Inventor), and take an individual approach to each student through a differentiated
approach.
In general, the methodology of teaching algorithms and programming to non-specialists
should be enriched with innovative and interactive methods. This will help students
effectively master the subject, develop their logical thinking skills, and apply programming in
their professional fields.
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
10
References:
1.
Abdullayeva D., Karimov Sh. Fundamentals of Algorithmization and Programming. –
Tashkent: Publishing House of the National University of Uzbekistan, 2021.
2.
Khojaev B., Joraev N. Fundamentals of Programming: Algorithms and their practical
application. – Tashkent: Science and Technology, 2020.
3.
Kuznetsov AA Methodology of training programming. - Moscow: Nauka, 2019.
4.
Shodmonov S., Mavlonov M. Computer technologies and programming. – Tashkent:
Yangi asr avlody, 2018.
5.
Wing JM Computational Thinking. Communications of the ACM, 2006.
6.
Resnick M. et al. Scratch: Programming for All. Communications of the ACM, 2009.
7.
Papert S. Mindstorms: Children, Computers, and Powerful Ideas. – New York: Basic
Books, 1980.
8.
Robins A., Rowntree J., Rowntree N. Learning and Teaching Programming: A Review and
Discussion. Computer Science Education, 2003.
9.
Bers MU Coding as a Playground: Programming and Computational Thinking in the Early
Childhood Classroom. – Routledge, 2018.
10.
Ministry of Higher Education, Science and Innovations of the Republic of Uzbekistan.
Curriculum for the science of algorithmization and programming basics. – Tashkent, 2022.