Быстро развивающиеся информационные технологии наложили свою печать на компетенции, которые необходимы сегодняшним выпускникам школ для получения образования и вхождения в профессиональный мир.
В последние несколько лет наблюдается обновление фундаментальных тенденций в программировании, переход от структурной парадигмы к объектно-ориентированной парадигме. Поэтому необходимо обновить содержательную и методическую часть области обучения программированию старшеклассников, в том числе и профильных.
При отборе содержания обучения программированию в старших классах учителям необходимо ориентироваться на те потребности, которые возникнут у учащихся при обучении в вузе по специальностям, связанным с информационными технологиями, или при выборе будущей профессии [1-3]. Анализ предложений работодателей на различных интернет-порталах показывает, что более 30% спроса на специалистов по программированию связано с объектно-ориентированным программированием для работы в визуальной среде. Поэтому актуальным становится вопрос подготовки будущих учителей информатики в области объектно-ориентированного программирования.
Приказ Министерства просвещения РФ от 31 мая 2021 г. № 287 предлагает утверждение федерального государственного образовательного стандарта основного общего образования нового поколения. Одна из главных инноваций ФГОС ООО – определение требований к предметным результатам освоения программ основного общего образования по математике, информатике, физике, химии и биологии на базовом и углубленном уровнях. Предметное содержание современной информатики (на углубленном уровне) достаточно глубокое: свободное оперирование понятиями переменная, тип данных, операция присваивания, арифметические и логические операции, включая операции целочисленного деления и остатка от деления; умение создавать программы на современном языке программирования общего назначения – Python, C++ (JAVA, С#), реализующие алгоритмы обработки числовых данных с использованием ветвлений, циклов со счетчиком, циклов с условиями, подпрограмм (алгоритмы проверки делимости одного целого числа на другое, проверки натурального числа на простоту, разложение на простые сомножители, выделение цифр из натурального числа, поиск максимумов, минимумов, суммы числовой последовательности и т.п.); владение техникой отладки и выполнения полученной программы в используемой среде разработки; умение составлять программы для решения типовых задач обработки массивов данных – числовых массивов, матриц, строк (других коллекций); умение записывать простые алгоритмы сортировки массивов на изучаемом языке программирования; умение использовать простые приемы динамического программирования, бинарного поиска, составлять и реализовывать несложные рекурсивные алгоритмы.
Проблема подготовки учителя информатики в сфере программирования является предметом исследования ряда методистов. Так, в статье «Особенности подготовки по программированию будущих учителей информатики» авторы указывают на необходимость наличия профессионально-педагогической подготовки будущего учителя в сфере программирования [4, c. 339]. В своем исследовании Д.В. Моглан отмечает, что бакалавр, будущий учитель информатики, должен владеть актуальным технологиями программирования с перспективой их развития [5].
М.А. Федотенко в своей работе обосновывает необходимость подготовки будущего учителя информатики к реализации объектно-ориентированной парадигмы актуальным социальным заказом, указанным в «Стратегии научно-технологического развития Российской Федерации». Автор подчеркивает, что именно эти цифровые технологии оказывают наибольшее влияние на формирование социального заказа в отношении содержания школьного курса информатики и вместе с тем содержания предметной подготовки будущих учителей информатики [6]. Роль ООП наиболее четко просматривается в таких сквозных цифровых технологиях, как нейротехнологии и искусственный интеллект, компоненты робототехники и сенсорика; технологии виртуальной и дополненной реальностей.
Также предлагается рассмотреть место данной парадигмы в школьном курсе информатики.
Как известно, официально в школьный курс информатика была введена с 1 сентября 1985 г. Но появление элементов ООП можно отметить только с началом 2000-х гг., когда в школьных учебниках таких авторов, как Семакин И.Г., Шестаков А.П., а также Угринович Н.Д., стали появляться разделы, связанные с изучением ООП в различных языках и средах.
В учебнике информатики для 11 класса (углубленный уровень) К.Ю. Полякова, Е.А. Еремина тема представлена достаточно широко. Авторы рассматривают основные понятия ООП. В качестве среды реализации предлагается свободно распространяемая среда программирования Lazarus.
В учебнике для 10-11 классов под редакцией Н.Д. Угриновича авторы также рассматривают элементы объектно-ориентированного программирования. В качестве среды программирования авторы предлагают использовать несколько вариантов: Microsoft Visual Studio, Lazarus. Также рассматривается создание приложения, основные компоненты, разработка графического интерфейса.
В учебнике информатики для 10-11 классов (углубленный уровень) И.Г. Семакина, Е.К. Хеннера тема также представлена. В ее состав авторы включили основные понятия ООП, этапы программирования на Delphi, разработку конкретных проектов.
Таким образом, при проведении анализа некоторых школьных учебников информатики можно сделать следующие выводы: ряд авторов предлагает рассматривать элементы ООП в школьном курсе информатики, в основных учебниках по информатике для старшего звена основной школы, что подчеркивает важность изучения данной темы старшеклассниками. Но объем и содержание материала отличается: ряд авторов рассматривает элементы ООП, ряд авторов ограничивается только структурным программированием. В качестве языка программирования предлагается использовать язык Pascal, среду программирования Lazarus.
На наш взгляд, необходима более глубокая и детальная проработка данной темы, возможно, в рамках дополнительного образования, что потребует соответствующего уровня подготовки учителя информатики. Поэтому целью исследования становится разработка методических решений в области обучения будущих учителей информатики основам объектно-ориентированного программирования.
Материалы и методы исследования
Материалами исследования выступают: анализ методической и педагогической литературы в сфере исследования, анализ опыта преподавания предметов, входящих в предметный блок подготовки будущих учителей информатики. Также используются статистические методы исследования результатов анкетирования.
Предложенные методические решения
Для подготовки бакалавров педагогического направления профиля «Информатика» Пензенского государственного университета разработана дисциплина по выбору «Программирование в современных средах». В ее основу положено изучение языка программирования С++ с использованием современной среды Microsoft Visual Studio 2022. Данная дисциплина планируется как расширение курса «Программирование». Обе дисциплины могут входить в предметно-методический модуль «Ядра высшего педагогического образования», если будет необходимость расширения опыта преподавания на педагогические вузы Российской Федерации.
Объектно-ориентированную парадигму поддерживают в настоящее время практически все современные языки. Поэтому при выборе языка для изучения необходимо ответить на следующие вопросы: насколько близка к классическим «канонам» реализация ООП, насколько язык отвечает современным запросам развитому информационному обществу, чтобы быть востребованным у учащихся.
На наш взгляд, концепция ООП представлена в языке C++ достаточно полно. Как известно, язык С++ ведет свою историю от начала 80-х гг. ХХ в., когда сотрудник фирмы Bell Labs Б. Страуструп занялся усовершенствованием С, перенеся в него идею создания классов из языка Simula 67. По словам самого Б. Страуструпа, «язык С является подмножеством С++».
В 1986 г. вышло первое издание «Языка программирования C++», обеспечивающее первое описание этого языка. В языке представлено понятие класса, объекта. Полноценно реализованы три классических принципа ООП: инкапсуляция, наследование и полиморфизм.
Если говорить о «популярности» языка, то можно взять за основу показатели нескольких популярных рейтингов. Рейтинг TIOBE Index [7] представляет собой анализ результатов поисковых запросов, содержащих название языка. По данным за сентябрь 2023 года, С++ обошёл Java и поднялся на второе место. На третьем месте – С#, а на первом – Python. Согласно рейтингу языков программирования PYPL (PopularitY of Programming Language), на основе данных Google Trends за январь 2023 года, С/С++ располагается на 5 месте.
Интегрированная среда разработки MS Visual Studio представляет собой стартовую площадку для написания, отладки и сборки кода, а также последующей публикации приложений на различных языках программирования. Официальный сайт https://visualstudio.microsoft.com/ru/. Visual Studio (VS) позволяет создавать множество типов приложений на различных языках программирования: Visual Basic, Visual C#, Visual C++, Visual F# и JavaScript. Интегрированная среда разработки (IDE) представляет собой многофункциональную программу, которую можно использовать для различных аспектов разработки программного обеспечения (рис.). В состав MS Visual Studio входит стандартный редактор и отладчик, также имеются компиляторы, средства автозавершения кода, графические конструкторы и многие другие функции для упрощения процесса разработки. Поэтому выбор данной программной среды является, на наш взгляд, обоснованным.
Ниже представлено календарно-тематическое планирование (табл. 1).
В курсе представлен набор тем, которые позволят будущим учителям информатики рассмотреть основы как объектно-ориентированной парадигмы в С++, так и получить компетенции в области визуального программирования. В результате повышается мотивация к изучению данной темы, так как концептуальные теоретические моменты получают непосредственную практическую реализацию.
Внешний вид IDE MS Visual Studio
Таблица 1
Тематическое планирование учебного материала
№ |
Название темы |
Кол-во часов |
|
Лекции |
Лабораторные работы |
||
1 |
Основы языка С++ |
2 |
2 |
2 |
Основные операторы С++ |
4 |
6 |
3 |
Основы визуального программирования в VS 2022 |
2 |
4 |
4 |
Операторы цикла в С++ |
4 |
6 |
5 |
Работа с массивами в С++ |
4 |
10 |
6 |
Работа с основными компонентами в VS 2022 |
2 |
6 |
7 |
Основные принципы ООП в С++ |
2 |
4 |
8 |
Описание класса в С++ |
4 |
6 |
9 |
Перегрузка операций. Наследование |
4 |
6 |
10 |
Работа с основными компонентами в VS 2022 |
5 |
8 |
11 |
Разработка проекта |
3 |
10 |
12 |
Защита проекта |
2 |
|
Итого |
36 |
72 |
Также данный набор тем позволит будущему учителю не только быть подготовленным к проведению основных занятий в рамках курса школьной информатики, но и планировать и осуществлять работу в рамках дополнительного информационно-технологического образования. Также в результате прохождения тем данного курса студенты получат базовые знания, которые могут быть развиты при их продвижении в рамках образовательной или профессиональной траектории, например при обучении в магистратурах на педагогических или информационных направлениях подготовки.
К каждой теме разработан комплект лекционных материалов и материалов для проведения лабораторных работ.
Таблица 2
Результаты анкетирования студентов
№ |
Вопрос |
Варианты ответов |
Процент респондентов, % |
1 |
Использовали ли Вы знания, полученные после прохождения курса «Программирование в современных средах», при подготовке и проведении уроков информатики? |
Да |
74 |
Нет |
5 |
||
Нет, но планирую в своей дальнейшей работе |
21 |
||
2 |
Использовали ли Вы знания, полученные после прохождения курса «Программирование в современных средах», при подготовке и проведении занятий в рамках дополнительного образования? |
Да |
63 |
Нет |
5 |
||
Нет, но планирую в своей дальнейшей работе |
32 |
||
3 |
На ваш взгляд, полученные после прохождения курса «Программирование в современных средах» знания могут быть вами использованы для продолжения образования? |
Да |
89 |
Нет |
0 |
||
Не планирую работать в сфере ИТ-технологий или образовании |
11 |
Также стоит обратить внимание, что по окончании курса предполагается разработка и защита проекта. Тематика проектов может быть разнообразной: либо нацеленной на реализацию визуального приложения на основе WindowsForms, либо на проектирование и описание иерархии классов. Примерная тематика проектов приведена ниже.
1. Разработка приложения в современной среде программирования MS Visual Studio на тему «Работа с простейшей базой данных «Телефонный справочник».
2. Разработка приложения в современной среде программирования MS Visual Studio на тему «Работа с простейшей базой данных «Классный журнал».
3. Разработать описание класса Employer – «Рабочий», с двумя полями – «Имя», «Зарплата». На его основе создать класс Manager – «Менеджер», имеющий поля «Бонус» и «Наличие служебной машины». Все классы должны иметь методы для установки и получения значений всех полей, а также изменения должности.
Результаты исследования и их обсуждение
Данный курс по выбору реализовывался на 4 курсе базовой подготовки будущих бакалавров. Таким образом, полученные компетенции могли быть уже использованы при прохождении производственной педагогической практики. После прохождения практик среди 19 студентов 4 курса направления подготовки «Педагогическое образование» профиль «Информатика» было проведено анкетирование, которое показало следующие результаты (табл. 2).
Как можно видеть из таблицы 2, большее число респондентов отмечает возможность использования полученных знаний как на уроках информатики (74%), так и при проведении занятий в рамках дополнительного образования (63%). Также 89% респондентов отмечают перспективность изученного материала.
Выводы
В результате проведенного исследования были сделаны следующие выводы.
1. В условиях современной тенденции развития общества учитель информатики должен тщательно проводить отбор содержания обучения, особенно в старших классах, так как необходимо ориентироваться на те потребности, которые возникнут у учащихся при обучении в вузе по специальностям, связанным с информационными технологиями, или при выборе будущей профессии. Исследования сферы IT-технологий показывают высокий спрос на специалистов с компетенциями в области объектно-ориентированного программирования.
2. При проведении анализа некоторых школьных учебников информатики можно сделать следующие выводы: ряд авторов предлагает рассматривать элементы ООП в школьном курсе информатики, в основных учебниках по информатике для старшего звена основной школы, что подчеркивает важность изучения данной темы старшеклассниками. Но объем и содержание материала отличается: ряд авторов рассматривает элементы ООП, ряд авторов ограничивается только структурным программированием. В качестве языка программирования предлагается использовать язык Pascal, среду программирования Lazarus.
3. Объектно-ориентированную парадигму поддерживают в настоящее время практически все современные языки. Поэтому при выборе языка для изучения необходимо ответить на следующие вопросы: насколько близка к классическим «канонам» реализация ООП, насколько язык отвечает современным запросам развитого информационного общества, чтобы быть востребованным у учащихся. На наш взгляд, концепция ООП представлена в языке C++ достаточно полно.
4. Для подготовки бакалавров педагогического направления профиля «Информатика» разработана дисциплина по выбору «Программирование в современных средах». В ее основу положено изучение языка программирования С++ с использованием современной среды Microsoft Visual Studio 2022.
5. По результатам педагогической практики студентов, будущих учителей информатики, были получены ответы, уверенно демонстрирующие актуальность полученных знаний.
6. Дальнейшей перспективой нашего исследования становится расширение данного курса, внедрение в тематическое планирование нескольких современных языков программирования.