The article is describes the basics of learning objectively oriented to program. Considered the basic concepts objectively oriented to program: abstraction, encapsulation, modularity, hierarchy. The analysis of structural and objectively oriented differences in the method programming.
Keyword: objectively oriented to program, abstraction, encapsulation, modularity, hierarchy.
Усложнение и увеличение программного обеспечения используемого в системе образования, всеобщее внедрение в школы систем дистанционных технологий и электронного обучения требуют изменения и развития системы подготовки будущего учителя информатики. Система подготовки будущего учителя информатики в современных условиях должна быть реализована с учетом постоянного развития аппаратного и программного обеспечения компьютера, а также средств связи [2, 5].
На сегодняшний день в системе подготовки будущего учителя одну из ключевых ролей принадлежит программированию. Это связано с тем, что одной из самых важных линий изучения информатики в школе является линия алгоритмизация и программирование. Так, соответствии со спецификацией единого государственного экзамена по информатике 2016 года три раздела — «Логика и алгоритмы», «Элементы теории алгоритмов» и «Программирование» занимают по объему 65 % от общего количества заданий. Таким образом, несмотря на то, что мы давно отказались от лозунга «Программирование — вторая грамотность» и выяснили для себя, что программирование — это не вторая грамотность, а достаточно специфический, творческий вид деятельности требующий высоких умственный качеств и усилий, программирование остается одним из ведущих линий изучения информатики в школе, а значит и в системе подготовки будущих учителей информатики.
Программирование — теоретическая и практическая деятельность по обеспечению программного управления обработкой данных, включающая в себя создание программ, а также выбор структур и кодирование данных [6]. Программирование изначально развивалась как прикладная отрасль деятельности человека. Программы писали для решения конкретной задачи или класса задач. Программирование как теоретическая и научная отрасль деятельности человека стала развиваться начиная с 60-х годов 20 столетия.
Теоретические и научные исследования затронули как алгоритмы и алгоритмические структуры, методы оптимизации алгоритмов и ресурсов компьютера, так и языки программирования. В начале 80-х годов вместе с внедрением информатики и программирования в систему образования, в частности с введением школьного курса «Основы информатики и вычислительной техники», появились первые работы, посвященные методике обучения информатики и в частности программированию.
В это же время существенно увеличились возможности компьютеров, возросла их эффективность в решении задач самого широкого профиля, стали появляться программы повышенной сложности, начали развиваться языки программирования высокого уровня. Наибольшую популярность получило структурное программирование, в котором программа составлялась из независимых модулей, объединенных в единое дерево.
В структурном программировании используется дерево алгоритмов для разбиения сложной задачи на простые подзадачи, в котором каждая ветка используется для получения решения очередного этапа решения основной задачи. К сегодняшнему дню разработано более двух тысяч языков программирования. Все эти языки создавались для решения конкретных задач из определенных предметных областей. При этом каждый язык программирования, как правило, создавался для решения более сложных задач, которые было трудно решить с использованием уже имеющихся. В последние годы наиболее бурное развитие проживают объектно-ориентированные языки программирования.
Объектно-ориентированное программирование — это метод программирования, который основан разработке программы в виде множества объектов. При этом каждый из этих объектов является экземпляром определенного класса объектов. Классы объектов образуют иерархию классов объектов.
Объектно-ориентированная парадигма программирования характеризуется четырьмя главными свойствами, присущими этой парадигме: абстрагирование, инкапсуляция, модульность, иерархия.
Абстрагирование позволяет моделировать объект, выделив значимые свойства объекта, отличающие его от всех других видов объектов и, таким образом, определяет его границы. Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить наиболее значимые характеристики объекта от его незначимых свойств.
Инкапсуляция — это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение. Абстракция и инкапсуляция взаимно дополняют друг друга: абстрагирование отвечает за внешнюю составляющую объекта, а инкапсуляция за внутреннюю.
Модульность — это свойство, которое подразумевает разделение программы на независимые составные части — модули.
Иерархия — это упорядочение абстракций, расположение их по уровням.
Главными понятиями объектно-ориентированного программирования являются объекты и классы объектов. Объект представляет собой идентифицируемый предмет или явление, имеющий определенное назначение. Между объектами устанавливается связи [3]. Если говорить о взаимоотношениях понятий объект и класс объектов, то класс объектов — это множество объектов объединенных общими свойствами, а объект — соответственно, один из экземпляров класса объектов.
Объектно-ориентированный подход отличается от тех подходов, которые связаны с более традиционными методами структурного программирования. Объектно-ориентированная парадигма программирования является более открытой и масштабируемой. Это не означает, что объектный подход требует отказаться от применения всех ранее найденных и испытанных методов и приемов. Напротив, новые элементы всегда основываются на предшествующем опыте. Объектный подход создает множество существенных удобств, которые при других условиях не могут быть обеспечены.
Этот подход позволяет научить учащихся разрабатывать программы, которые воплощают пять атрибутов хорошо структурированных сложных систем. Применение объектного подхода приводит к построению систем на основе стабильных промежуточных описаний, что упрощает процесс внесения изменений. Наконец, объектный подход ориентирован на человеческое восприятие мира, и многие обучаемые и специалисты, не имеющие понятия о том, как работает компьютер, находят вполне естественным объектно-ориентированный подход к программированию.
Практически все наиболее популярные современные языки программирования основаны на объектно-ориентированном подходе. Широкое распространение получили системы визуального программирования, основанные на основе объектно-ориентированной технологии. Возможности, предоставляемые программистам в современной среде разработки растут с каждым годом, с каждым выходом новых версий. Возрастает и сложность задач, которые решаются, а значит и сложность алгоритмов и программ. Использование объектно-ориентированной парадигмой программирования способствует повышению эффективности решаемых задач и является одной из перспективных направлений развития сред программирования. Однако, можно констатировать, что несмотря на все преимущества объектно-ориентированная парадигма программирования не находит должного отражения в системе подготовки будущего учителя информатики.
Объектно-ориентированное программирование нельзя рассматривать как абсолютно новый подход, не имеющий ничего общего со структурным программированием. Так А. Пантелеймонов [4] называет объектно-ориентированный подход новой философией программирования. Эта философия, по его мнению, является следующим шагом в развитии структурного подхода к программированию. Эта философия соответствует мышлению человека в большей степени чем философия структурного программирования, то есть предоставляет более дружественный интерфейс для программирования. Поэтому обучение объектно-ориентированному программированию является актуальным и важным направлением подготовки будущего учителя информатики.
Литература:
- Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. — М.: Бином, 1999.
- Кузнецов А. А., Сурхаев М. А. Совершенствование методической системы подготовки учителя информатики в условиях формирования новой образовательной среды. Учебное пособие. –М., 2012.
- Магомедов Р. М. Формирование системно-логического мышления будущего учителя информатики при изучении объектно-ориентированного программирования. Дисс…к.п.н. –М., 2002 г.
- Пантелеймонов А. Программируем для Widows. // Мир ПК. — 1995. — № 6. — С. 9.
- Сурхаев М. А. Подготовка будущих учителей информатики для работы в условиях информационно-коммуникационной образовательной среды. –М., 2009.
- Телло Э. Р. Объектно-ориентированное программирование в среде Windows: Пер. с англ. М.: Наука-Уайли, 1993.