Теоретическая модель формирования алгоритмического мышления студентов вузов в процессе обучения объектно-ориентированному программированию

педагогические науки

УДК 371.3

ТЕОРЕТИЧЕСКАЯ МОДЕЛЬ ФОРМИРОВАНИЯ АЛГОРИТМИЧЕСКОГО МЫШЛЕНИЯ СТУДЕНТОВ ВУЗОВ В ПРОЦЕССЕ ОБУЧЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОМУ ПРОГРАММИРОВАНИЮ

© 2017

Шарипов Фаридун Файзуллаевич, доктор педагогических наук, заведующий общеуниверситетской кафедрой педагогики Таджикский национальный университет

Аннотация. В статье представлены некоторые результаты исследований автора по проблеме формирования алгоритмического мышления студентов вузов в процессе обучения объектно-ориентированному программированию. Представлена авторская трактовка понятия «алгоритмического мышления», основных его свойств и особенностей. Обучение программированию при решении задач разного уровня сложности представлено во взаимосвязи с формированием алгоритмического мышления студентов и развитием их способностей. Автором выделены содержательно-технологические особенности эффективного развития алгоритмического мышления студентов, в частности предложена теоретическая модель развития алгоритмического мышления студентов при обучении объектно-ориентированному языку программирования, которая включает в себя компоненты, способствующие развитию алгоритмического мышления. Данная модель состоит из целей и задач обучения, содержания и технологии обучения, способов повышения учебной мотивации студентов и отражает эффективность результатов обучения данной дисциплине, а также показывает взаимосвязь между компонентами предлагаемой модели.

Ключевые слова: алгоритмическое мышление, языки программирования, объектно-ориентированное программирование, содержание, технология обучения, теоретическая модель.

THEORETICAL MODEL OF ALGORITHMIC THINKING'S FORMATION OF UNIVERCITY'S STUDENTS WHILE TRAINING THE COURSE "THE OBJECT-ORIENTED PROGRAMMING"

© 2017

Sharipov Faridun Fayzullayevich, doctor of pedagogical sciences, The Head of Pedagogic Chair

Tajik National University

Abstract. Some results of researches of the author on a problem of formation of algorithmic thinking of univercity's students while training the course "object-oriented programming" are presented in article. The author's interpretation of a concept of "algorithmic thinking", its main properties and features is presented. Training in programming at problem solving of different level of complexity is presented to interrelations with formation of algorithmic thinking of students and development of their abilities. The author marked out substantial and technological features of efficient development of algorithmic thinking of students, in particular the theoretical model of development of algorithmic thinking of students when training in an object-oriented programming language which includes the components contributing to the development of algorithmic thinking is offered. This model consists of the purposes and problems of tutoring, contents and technology of tutoring, ways of increase in educational motivation of students and reflects effectiveness of results of training in this discipline and also shows interrelation between components of the offered model.

Keywords: algorithmic thinking, programming languages, object-oriented programming, contents, technology of tutoring, theoretical model.

Развитие алгоритмического мышления учащихся -одна из важных и актуальных проблем педагогической науки и практики образования. В информационном обществе, наполненном фундаментальными открытиями и новейшими технологиями, важнейшей социальной задачей стало формирование нового стиля мышления. Хотя в младшем школьном возрасте наиболее интенсивно происходит развитие интеллекта, и, тем не менее, как показывает практика, значительный рост интеллекта и развития мыслительной деятельности имеет место при обучении в вузах.

Понятие «алгоритмическое мышление» в научной и методической литературе, посвященной проблемам обучения информатике и программированию, используется достаточно широко. Алгоритмическое мышление - это специфический тип мышления, предполагающий умение создать алгоритм решения различных задач. Алгоритмическое мышление является важной составляющей интеллектуального развития человека.

Алгоритмическое мышление позволяет решать задачи, возникающие не только в программировании, но и в любой сфере человеческой деятельности. Оно не связано лишь с информационно-коммуникационными технологиями, «так как самое понятие алгоритма, хотя

и интуитивное, возникло задолго до появления первого компьютера. Решая большинство задач, человек, в той или иной мере, применяет алгоритмический подход, хотя отдельные этапы этого процесса могут носить ассоциативный характер» [1, с. 45].

Алгоритмическое мышление включает в себя ряд особенностей, свойственных логическому мышлению, однако требует и некоторых дополнительных качеств. Основными из них считаются умение находить последовательность действий, необходимых для решения поставленной задачи, а также выделение в общей задаче ряда более простых подзадач, решение которых приведет к решению исходной задачи. Как раз, такой стиль решение задачи соответствует объектно-ориентированному подходу к программированию.

Изучение вопросов развития мышления в процессе проблемного обучения информатике, в частности обучения различным языкам программирования позволило сделать вывод о том, методика проведения занятий в данной области науки, используемые средства, специфика решаемых проблемных задач, цели и качество получаемого результата должны быть направлены, в основном, на развитие логического и алгоритмического стиля мышления.

pedagogical sciences

«Алгоритмический стиль мышления - это система мыслительных способов, действий, приёмов, которые направлены на решение как теоретических, так и практических задач, и результатом которых являются алгоритмы, как специфические продукты человеческой деятельности» [2, с. 61].

Алгоритмическое мышление помогает формировать следующие умения и навыки:

- планирование структуры действий, необходимых для достижения определенной цели, используя фиксированный набор ресурсов;

- создание информационной структуры для описания объектов и средств;

- организация поиска информации, необходимой для решения проблемы;

- правильная, четкая и недвусмысленная формулировка идеи в понятной форме и правильное принятие текстового сообщения;

- своевременное использование компьютера при решении задач из любой области;

- формирование навыков анализа и структурирования информации.

Создание алгоритмов требует наличия мыслительных схем, которые способствуют видению проблемы в целом, ее решение в блок-схемах с дополнительными подробностями и осознанной консолидации процесса получения конечного результата в языковых формах.

Эффективным способом развития алгоритмических способностей студентов в курсе обучения объектно-ориентированным языкам программирования является обучение проектированию и использованию алгоритмов при решении большого класса задач с применением основных конструкций алгоритма.

Обучение студентов алгоритмизации и языкам программирования требует немалых усилий преподавателей.

При этом также возникает ряд проблем, связанных с использованием различных методик обучения. Конечно, использование современных и лучших педагогических технологий при обучении языкам программирования, прежде всего языкам ООП, даёт большую эффективность и пробуждает у студентов интерес к изучению программирования и решению различных задач с помощью алгоритмизации и языков программирования.

Основной целью изучения любой дисциплины является не столько изучение самой теории, сколько ее практическое применение. Именно поэтому во время лекций необходимо остананавливаться на примерах решения задач. При рассмотрении типовых задач видна практическая значимость изучаемого материала.

«Изучение языков объектно-ориентированного программирования требует развития новых методов обучения и преподавания. Поэтому необходимо применение новейших методов обучения на занятиях (лекциях, практических и лабораторных работах) по программированию, использовать более удобные, широко распространенные и доступные системы программирования» [3, с. 19].

Процесс обучения языку объектно-ориентированного программирования (в нашем случае, язык С++) в вузах, нацеленный на развитие алгоритмического мышления, можно представить в виде теоретической модели обучения, изображенной на рис.1.

Содержание предлагаемой модели представляет собой определенную целостность, которая включает содержание обучения и способы его усвоения, а также те характеристики личности, которые формируются у студентов в ходе педагогического процесса. Модель объединяет цель обучения, задачи, содержание, технологии, способы повышения учебной мотивации студентов, эффективность обучения данной дисциплине, а также показывает взаимосвязь между компонентами данной модели.

Рисунок 1 - Теоретическая модель процесса обучения языку объектно-ориентированного программирования в вузах, нацеленного на развитие алгоритмического мышления

Можно согласиться с мнением В.А. Романова о том, что «создание теоретической модели и ее использование в познании или преобразовании познаваемого объекта являются основными аспектами содержания дидактического процесса моделирования. Проектирование теоретической модели подготовки связано с осознанием педагогом содержания этих исходных факторов, с соотнесением их роли и содержания между собой, с опорой на современные образовательные технологии, ориентированные на активизацию познавательной деятельности студентов, со структурированием компетенций, знаний, умений и навыков по уровням: от общих до отдельных специальных гуманитарных дисциплин» [4].

Предполагаемая теоретическая модель представляет необходимое и достаточное описание процесса обучения языку объектно-ориентированному программированию, направленного на развитие алгоритмического мышления студентов вуза, исходя из современных условий и конкретных задач, решаемых на занятиях по данной учебной дисциплине. На основе этой модели можно провести анализ всех компонентов системы подготовки специалистов, ее цели и задачи, условия, характеризующие данный процесс, а также содержание и структуру общенаучных и профессионально-педагогических дисциплин.

Первая часть - цель обучения данной дисциплине, которая определена государственной образовательной программой специальности и находит отражение в рабочей программе курса и в силлабусе.

Вторая часть модели отражает содержание учебного предмета, методику обучения общим теоретическим основам и вопросы изучения отдельных разделов, темы курса и количество часов в неделю в течение одного или двух семестров.

Третья часть модели представляет собой совокупность методов повышения учебной мотивации студентов при обучении объектно-ориентированному программированию, так как, мотивация стимулирует студентов к изучению дисциплины.

Четвертая часть модели означает использование современных технологий образования при обучении языкам программирования.

В пятой части данной модели находят отражение результаты обучения, которые показывают эффективность обучения объектно-ориентированному программированию и развитие алгоритмического мышления студентов вузов в процессе обучения программированию.

Цель исследуемого нами курса заключается в повышении уровня знаний студентов по основным теоретическим и практическим аспектам технологии программирования (языка С++), умении решать задачи различных категорий сложности в системах консольного и визу-

педагогические науки

ального программирования, на уровне разработки программ, на основе развития алгоритмического мышления студентов посредством программирования на объектно-ориентированном языке программирования С++, что соответствует требованиям государственного стандарта высшего образования по специальности «1-40020100 -Вычислительные машины, комплексы, системы и сети» и других специальностей направления информационно-коммуникационных технологий.

Содержание обучения относится к совокупности знаний, которыми овладевают студенты на занятиях по конкретному предмету. Содержание обучения, в целом, относится к фактам, концепциям, теориям и принципам, которые преподаются и изучаются в конкретных академических курсах.

Как показано в работе Ж.К. Нурбековой, «содержание обучения программированию в вузах определяется методическими принципами отбора содержания обучения: принцип соответствия целям обучения, принцип учета предмета и содержания информатики как научной дисциплины, принцип единства содержания обучения, принцип перспективности, принцип минимизации, принцип учета отечественного и международного опыта формирования содержания обучения и принципами профессионально-педагогической направленности обучения информатике» [5, с. 71].

Отбор содержания курса по программированию и общая логика и последовательность его изучения может помочь студентам поэтапно решать различные задачи на компьютере, ставить задачу и самостоятельно разрабатывать алгоритм ее решения, использовать прикладные системы программирования, разрабатывать основные программные документы, работать с современными системами программирования, особенно объектно-ориентированными. Эти умения требуют получения знаний по теоретическим и практическим аспектам технологии программирования, современным технологиям разработки алгоритмов и программ, основным методам отладки программ в современных средах разработки программ, объектно-ориентированного программирования и проектирования.

Мотивация студентов является ключевым вопросом при обучении различным дисциплинам, особенно на практических дисциплинах, таких как алгоритмизация и программирование. Чтобы добиться успеха в решении любой учебной задачи, студент должен быть мотивирован. Студенты должны быть мотивированы, чтобы тратить значительное время на создание программы для решения задач различного уровня сложности и разработку программного обеспечения.

«Мотивация - это общее название для процессов, методов, средств побуждения учащихся к познавательной деятельности, активному освоению содержания образования. Мотивация основывается на мотивах, под которыми имеются ввиду конкретные побуждения, стимулы, заставляющие личность действовать и совершать поступки. В качестве мотивов могут выступать в связке эмоции и стремления, интересы и потребности, идеалы и установки. Поэтому мотивы - это сложные динамические системы, в которых осуществляются выбор и принятие решений, анализ и оценка выбора. Мотивация для студентов является наиболее эффективным способом улучшить процесс обучения. Мотивы являются движущими силами процесса обучения и усвоения материала» [6, с. 160].

«Мотивы оказывают максимальное влияние на деятельность и поведение человека. Мотив (от лат. movere -двигаю, толкаю) - объект, цель, на которую, в конечном счёте, направлено поведение человека» [7, с. 282].

Сегодня, в организации обучения различным дисциплинам, в том числе обучения языку объектно-ориентированного программирования, важную роль играет учебная мотивация студентов. Учебная мотивация - это процесс, который начинает, направляет и поддержива-

ет усилия, направленные на осуществление учебной деятельности. Учебная мотивация студентов является одной из самых сложных педагогических проблем современности. Это сложная, интегрированная система, образованная от мотивов, целей, настойчивости и отношений студентов. Мотивационные процессы в обучении студентов могут и должны контролироваться, но для этого необходимо: создать условия для развития внутренней мотивации, стимулировать студентов. Чтобы мотивировать студентов к изучению объектно-ориентированного языка программирования, необходимо предпринять конкретные шаги, которые способствуют повышению учебной мотивации студентов и ведут к росту эффективности обучения:

- поставить точную цель изучения каждой темы перед студентами;

- помогать при выборе задач и их решении;

- организовывать выполнение разных увлекательных проектов.

Технология обучения в учебных заведениях включает в себя совокупность методов, приемов и способов по проектированию, организации и проведению учебного процесса с обеспечением комфортных условий и для студентов, и для преподавателей, с целью раскрытия их личностного потенциала в процессе совместной деятельности.

Следует отметить, что технология обучения - это выполнение запланированных операций и процедур действия, приводящих к планируемому результату, это средство, с помощью которого можно достичь желаемого результата. Поэтому, преподаватели должны иметь хорошее представление о технологии обучения конкретному предмету, ее преимуществах и недостатках, они должны стремиться на занятиях к эффективной интеграции современных и традиционных технологий обучения.

Технологическое оснащение обучения объектно-ориентированным языкам программирования, основанное на алгоритмизации, считается важным аспектом обучения, поскольку оно связано с поиском и сочетанием в педагогическом процессе технологий, которые обеспечат эффективный результат и развитие алгоритмического мышления студентов при обучении объектно-ориентированному программированию.

Для получения желаемого результата обучения объектно-ориентированному языку программирования, направленного на развитие алгоритмического мышления студентов вузов с использованием предлагаемой нами модели, нужно выполнить следующие компоненты в подготовке и процессе обучения данной дисциплине:

1. Определить необходимые и ясные общие цели и конкретные задачи обучения данному курсу, часть которых приведены в государственном стандарте высшего образования по данной дисциплине.

2. Подготовить содержание курса (оптимальный подбор тем и распределение материала в рамках выделенного на обучение времени) в зависимости от общих принципов и критериев отбора.

3. Определить методы мотивации и повышения интереса к получению знаний, умений и навыков студентов в области алгоритмизации и программирования.

4. Выбрать современные программные и технические средства, отвечающие целям и задачам данного курса.

5. Иметь в наличии методические разработки и раздаточный материал с заданиями, соответствующими специальности студентов.

6. Разработать систему общих и индивидуальных заданий, позволяющую развивать алгоритмическое мышление студентов;

7. Разработать систему тестирования знаний студентов на промежуточных рейтинговых тестах и в конце семестра по данному курсу обучения. Это необходимо для того, чтобы дать объективные оценки и, в конечном итоге, определить оценку качества результатов об-

pedagogical sciences

учения и оценивания успеваемости студентов, так как в некоторых тестовых системах не имеется возможности объективно оценивать знания студентов по точным наукам, в частности алгоритмизации и программирования.

Учебно-познавательная деятельность на занятиях по программированию в большей степени, чем на занятиях по любому другому предмету, должна приучить студента к настойчивости, упорству, аккуратности, точности, контролю над своими выводами и суждениями, требовательности и четкости в суждениях, развивая при этом алгоритмическое мышление.

Обучение языкам объектно-ориентированного программирования должно воспитывать самостоятельность, инициативу и творческие способности студентов. При этом особо отметим, что программирование способно развиваться неограниченно, о чем красноречиво говорит история его развития.

Изучение курса объектно-ориентированного программирования в вузах должно помогать студентам в их дальнейшей деятельности при разработке программного обеспечения, проектировании информационных систем и решении отраслевых задач, чтобы они могли быстро и по соответствующей схеме решать задачи разного уровня сложности.

Эффективность результатов обучения объектно-ориентированному программированию в вузах с применением разработанной нами теоретической модели, нацеленной на развитие алгоритмического мышления, доказана в процессе обучения технологии программирования на языке С++ в течение трех лет среди студентов 3-го курса, обучающихся по специальности «40020100

- Вычислительные машины, комплексы, системы и сети» физического факультета Таджикского национального университета [8]. Особо следует отметить, что согласно результатам экспериментального обучения успеваемость студентов по данному предмету заметно повысилась. Например, если на первом этапе процент соотношения успеваемости студентов контрольных и экспериментальных групп составляли соответственно - 46% и 44%, то на втором этапе данные показатели составляли - 55% и 100%. Таким образом, все студенты экспериментальной группы успешно прошли курс обучения объектно-ориентированному программированию, что ещё раз доказывает эффективность разработанной нами модели.

СПИСОК ЛИТЕРАТУРЫ:

1. Купчинаус С.Ю. Дидактические условия развития конструктивно-логического мышления студентов - будущих педагогов-математиков: дис. ... канд. пед. наук. -Ижевск, 2006. - 197 с.

2. Гастева С.А., Крельшиейн Б.И., Ляпин С.Е., Шидловская М.М. Методика преподавания математики в восьмилетней школе. - М., 1965. - 745 с.

3. Мараджабов С.И. Вопросы методики обучения объектно-ориентированному программированию (ООП) в вузах // Вестник Таджикского национального университета. Серия естественных наук. - Душанбе: Сино, 2013.

- № 1/1 (102). - С. 19-23.

4. Романов В.А. Теоретические модели как способ познания изучаемых дисциплин в вузе // Современные проблемы науки и образования. - Тула: ТГПУ им. Л.Н. Толстого, 2015. - № 1-1; tspu@tula.net. URL: https:// science-education.ru/ru/article/view?id=18387 (дата обращения: 06.08.2017).

5. Нурбекова Ж.К. Теоретико-методологические основы обучения программированию: монография. -Павлодар, 2004. - 225 с.

6. Мормужева Н.В. Мотивация обучения студентов профессиональных учреждений // Материалы IV Международной научной конференции «Педагогика: традиции и инновации», г. Челябинск, декабрь 2013 г. -Челябинск: Два комсомольца, 2013. - С. 160-163.

7. Психология. Словарь / Под общ. ред. А.В. Петровского, М.Г. Ярошевского. - 2-е изд., испр. и доп. -М.: Политиздат, 1990. - 494 с.

8. Муминов Х.Х., Мараджабов С.И. О результатах педагогического эксперимента по обучению технологии объектно-ориентированного программирования в вузах // Вестник Таджикского национального университета. Серия естественных наук. 2015. - №1/6(191). - С. 50-57.

Статья поступила в редакцию 19.07.2017. Статья принята к публикации 23.09.2017.