HOW OOP SOLVES MODERN PROBLEMS OF SCIENCE AND EDUCATION
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 с
- Андерс Хессель: Выбор и генерация тестовых случаев на основе моделей для систем реального времени
- Писаренко, Д. А. Оценка внеучебной деятельности студентов вуза с компетентностным подходом