HOW OOP SOLVES MODERN PROBLEMS OF SCIENCE AND EDUCATION
![](https://www.internauka.org/media/cache/resize_crop/rc/NBEUhMeN/edition/cover/worldConf/netherlands-6%2820%29.png)
HOW OOP SOLVES MODERN PROBLEMS OF SCIENCE AND EDUCATION
Maksim Zhuk
Senior software engineer, Reksoft,
Russia, Armavir
КАК ООП РЕШАЕТ СОВРЕМЕННЫЕ ПРОБЛЕМЫ НАУКИ И ОБРАЗОВАНИЯ
Жук Максим Михайлович
старший инженер-разработчик, ООО «Рексофт»,
РФ, г. Армавир
Введение
В этой статье описаны наиболее актуальные проблемы в науке и образовании и их решение с помощью объектно-ориентированного программирования (ООП).
Среди наиболее актуальных проблем были обнаружены:
1) трудности в понимании, обучении и реализации объектной ориентации,
2) сложности, связанные с пониманием классов,
3) проблемы с пониманием объектно-ориентированных отношений.
Также было обнаружено, что наиболее важными решениями проблем, возникающих при обучении ООП, являются:
1) использование методов активного обучения и внутренних вознаграждений,
2) акцент на основных концепциях программирования и внедрение объектно-ориентированного подхода.
Цель исследования — рассмотреть ООП в контексте решения проблем науки и образования.
Предмет исследования — объектно-ориентированное программирование как академическая дисциплина.
Методы исследования: анализ проблем в науке и образовании.
1. Как ООП решает современные проблемы науки и образования
Во многих случаях в науке о данных используются парадигмы процедурного программирования. Это структурирует программу практически как рецепт или руководство по эксплуатации, а каждая строка кода выполняется по порядку. Поэтому для изучения объектно-ориентированного программирования есть две основные причины.
- Объекты повсюду. На самом деле все является объектами.
- Организация кода. По мере увеличения кода программ растет и их сложность. Объектно-ориентированное программирование позволяет организовать код, упрощая его тестирование, отладку и расширение.
На ранних этапах работы с тем или иным языком программирования в научных или образовательных целях может показаться, что концепции в основе ООП не имеют смысла или неприменимы. На самом деле, научившись мыслить в парадигме объектно-ориентированного программирования, появляется понимание того, как работают многие приложения и насколько они полезны для научной, образовательной и научно-образовательной сферы. На рисунке 1 представлены основные области знаний и осваиваемые профессии в научной и образовательной сфере.
Рисунок 1. Основные области знаний и осваиваемые профессии [1]
Среди перечисленных областей знаний на рисунке 1 есть и те, которые требуют изучения ООП. Все дело в том, что объектно-ориентированный подход к решению проблем очень похож на то, как человек решает повседневные проблемы. Он состоит из идентификации объектов и того, как их использовать в правильной последовательности для решения проблемы.
Другими словами, объектно-ориентированное решение проблем может состоять из проектирования объектов, поведение которых решает конкретную проблему. Сообщение, которое поступает объекту, запускает выполнение операций [1].
Объектно-ориентированный подход к решению проблем в целом можно разделить на четыре этапа:
- идентификация проблемы,
- идентификация объектов, необходимых для решения,
- идентификация сообщений, которые должны быть отправлены объектам,
- создание последовательности сообщений для объектов, которые решают проблему.
Ниже приведен пример решения простой задачи с использованием этого подхода.
Шаг 1 — определение проблемы. Вычислите сумму двух чисел и выведите на экран результат.
Шаг 2 — идентификация объекта. Определите объекты, необходимые для решения проблемы.
Num1 — первое число (объект).
Num2 — второе число (объект).
Sum — результат сложения двух чисел (объект).
Шаг 3 — идентификация сообщения. Сообщения, необходимые для отправки объектам.
+ aNum — это сообщение, отправленное объекту с параметром aNum. Результат этого сообщения является значением (числовым объектом), а именно — общая сумма объекта aNum.
print — сообщение, отображающее значение объекта.
Шаг 4 — последовательности объектных сообщений. Ниже приведена последовательность объектных сообщений для решения проблемы.
(Num1 + Num2)print
Сообщение + с параметром Num2 (объект) отправляется объекту Num1. Результатом этого является объект (Num1 + Num2), которому отправляется сообщение print.
Круглые скобки включены, чтобы избежать двусмысленности в отношении того, какое сообщение должно быть активировано первым.
Таким образом, в объектно-ориентированном программировании объекты взаимодействуют друг с другом посредством сообщений [2].
2. Основные проблемы в научном и образовательном IT и способы их решения
Современная наука характеризуется междисциплинарным взаимодействием, обусловленным переносом представлений специальной научной картины мира и методологического инструментария исследования из одной научной области в другую.
Парадигмальные трансплантации меняют исследовательские задачи современной науки. Естествознание активно вторгается в область гуманитарного знания. Гуманитарные науки участвуют в создании новой парадигмы научного мировоззрения, а компьютерные науки становятся частью исследований в разных областях.
Цель использования ООП в современной науке и образовании — формирование нового понимания общего объекта исследования. Однако, несмотря на развитие ИТ, существует ряд проблем в научном и образовательном ИТ. Рассмотрим их более подробно.
1. Отсутствие четкого понимания области ООП.
На сегодняшний день научные деятели старой школы не имеют четкого понимания области ООП и того, что наука и ИТ могут быть связаны. Однако объединение этих двух дисциплин позволит намного быстрее находить решения для сложных задач.
Преимущества объединения науки и ИТ
- Объектно-ориентированный код можно повторно использовать и расширять. Функции и классы допускается использовать в повторяющихся анализах или создавать новые проекты, в которых используется часть существующего кода, что сокращает время получения результатов.
- Выявлять ошибки в исследованиях может быть намного проще, если использовать чистый объектно-ориентированный код.
- Это упрощает тестирование и отладку кода, когда его части более модульны и разбиты.
- Объектно-ориентированное программирование позволяет вести параллельную разработку между несколькими специалистами, которые хотят работать с одной и той же кодовой базой в своих проектах.
2. Отсутствие достаточного распространения ООП как академической дисциплины.
Ускоренное распространение компьютерных технологий и искусственного интеллекта на всю нашу жизнь означает, что учащиеся должны понимать принципы информатики, в частности, ООП, сейчас больше, чем когда-либо. Всем учащимся необходимо понимать этическую и социальную роль компьютеров в обществе.
Синергия образования и объектно-ориентированного программирования предполагает более эффективное развитие государства в области информационных технологий при согласованных действиях педагогов и специалистов ИТ-индустрии, чем при тех же усилиях каждого в отдельности.
Цели и задачи обучения объектно-ориентированного программирования.
- Дать учащимся фундаментальные знания.
- Развивать умение мыслить и анализировать.
- Воспитывать умение рассуждать и синтезировать.
- Вызывать интерес к обучению.
- Развивать коммуникативные навыки и soft skills.
3. Неудачная интеграция ООП в другие предметы.
В современных условиях развития общества остро стоит вопрос реорганизации образования, внедрения в процесс обучения новейших методик, основанных на использовании компьютерных технологий [3, 4].
Основной целью информатизации образования является подготовка учащихся к использованию компьютеризированных систем в разных областях деятельности. Этот процесс можно разделить на следующие задачи.
- Разработка и систематическое обновление программного обеспечения.
- Комплексное исследование специализированных дисциплин.
- Систематизация данных.
- Использование методов проектирования баз данных для построения профессионально-ориентированных систем обучения.
- Реорганизация учебных планов. Их ориентация на использование компьютерных технологий.
- Внедрение новейших программных средств в сферу образования.
При реорганизации учебных планов необходимо знать какой объем времени нужно выделить в процессе обучения информационным технологиям, в частности ООП. Очевидно, что, например, при достаточной технической оснастке (наличии компьютеров, средств коммуникации и т.п.), но недостаточном количестве специалистов внедрение компьютерных технологий окажется невозможным. Таким образом, выделим факторы, влияющие на успешное внедрение изучения ООП в процесс обучения:
- техническая оснащенность. Под этим будем понимать наличие технических средств, таких как компьютеры, локальная сеть и доступность глобальной сети Интернет, демонстрационные средства (электронные доски, мультимедиа проекторы, акустические системы и т.п.), а также программного обеспечения, необходимого для корректной работы с техническими средствами (наличие операционной системы, необходимые драйверы, настроенные сетевые протоколы и т.д.);
- программная оснащенность. Под этим будем понимать наличие лицензионного программного обеспечения, используемого в процессе обучения ООП. К нему относится как прикладное программное обеспечение, так и программы, непосредственно используемые как средства обучения;
- наличие профессионалов, способных использовать технические и программные средства [3, 4].
3. Внедрение объектно-ориентированного программирования в науку и образование
3.1 ООП как современное решение для науки
ООП может быть одним из направлений научного программирования и охватывать огромное количество направлений деятельности и отраслей.
Технически научное объектно-ориентированное программирование подразумевает использование компьютерных программ для научных исследований и образования. Такие программы способны увеличить скорость и воспроизводимость своей работы в геометрической прогрессии. Особенно это поможет в выполнении массивных вычислений, хранении данных и анализе результатов. Ученые могут использовать ООП для создания автоматизированных программ, чтобы ускорить выполнение трудоемких утомительных процессов, которые подвержены ошибкам.
Важно отметить, что компьютеры не совершают математических ошибок, а программы, которые написаны с использованием объектно-ориентированных языков, могут за несколько минут выполнить ряд вычислений, на которые у исследователя ушли бы месяцы или даже годы.
Поэтому сейчас стоит вопрос изучения естественных наук в совокупности с инженерией и рассматривается возможность внедрения ООП в научную сферу. Этот подход представляет собой STEM-образование. По сути, это учебный план, который спроектирован на основе идеи обучения учащихся с применением междисциплинарного и прикладного подходов. На рисунке 2 представлена концепция STEM-образования.
Рисунок 2. Концепция STEM-образования [5]
STEM-образование является своеобразным мостом, который соединяет учебный процесс, карьеру и дальнейший профессиональный рост. Инновационная образовательная концепция позволяет на профессиональном уровне подготовить учащихся к технически развитому миру [5]. Неотъемлемой частью STEM-образования является, в том числе, и изучение ООП.
3.2. ООП и образование
Внедрение объектно-ориентированного программирования в образование, как и в случае с наукой, решит множество проблем и гарантирует следующие преимущества.
- Повысит мотивацию. Развитие науки и техники повышает мотивацию учащихся за счет обучения с помощью визуальных презентаций.
- Вызовет интерес к исследованиям. Цифровой поиск и интернет-инструменты положительно влияют на исследовательские привычки учащихся, в том числе на письменные и исследовательские привычки студентов на различных академических уровнях.
- Сделает образование доступным. Студенты колледжей и университетов используют технологии для вдохновения и мотивации.
- Повысит гибкость. Гибкость и доступность информации в результате технического прогресса взаимосвязаны. Учащиеся могут получить доступ к материалам курса в Интернете и наслаждаться гибкостью изучения и выполнения своих заданий в свободное время.
- Обеспечит большую доступность и профессиональную занятость. В прошлом преподавателям и учащимся нужно было физически ходить на занятия. Благодаря современным технологиям, которые обеспечивают удобную и мгновенную связь через удаленные места одним щелчком мыши, этого можно избежать [6].
Таким образом, ООП решит проблемы с мотивацией учащихся, сделает образование более доступным и обеспечит гибкость. Ниже представлена схема того, какой подход следует использовать при переосмыслении образования в области компьютерных наук и ООП.
Рисунок 3. Схема внедрения ИТ в образование [создано автором]
Ключевым элементом стратегии является всесторонняя автоматизированная оценка работы учащихся с точки зрения правильности, тщательности и достоверности тестов.
Вывод
Развитие технологий и науки привело к серьезным изменениям в секторе образования, и учащиеся получили возможность находить быстрые решения проблем.
Студенты могут выполнять домашние задания, быстро и удобно получать доступ к учебным материалам и проводить исследования независимо от своего географического местоположения.
Внедрение ООП поможет использовать мощь компьютеров для увеличения эффективности и скорости вычислений, автоматизации учебного процесса.
Переосмысление в пользу использования ООП полностью изменит большинство областей современной науки.
Список литературы:
- Гутьеррес, Л.Э., Герреро, К.А. и Лопес-Оспина, Х.А. Ранжирование проблем и решений в преподавании и изучении объектно-ориентированного программирования.
- Электронный ресурс: http://esug.org/data/Old/ibm/tutorial/OOP.HTML
- Концепция программы информатизации общеобразовательных учебных заведений, компьютеризации сельских школ // Компьютер в школе и семье. – 2000. – №3. – С3-10.
- Государственная национальная программа "Образование". Украина ХХІ век». – К.: Радуга, 1994. – 61 с
- Андерс Хессель: Выбор и генерация тестовых случаев на основе моделей для систем реального времени
- Писаренко, Д. А. Оценка внеучебной деятельности студентов вуза с компетентностным подходом