Обучение с использованием видеозаписей целесообразно осуществлять через реализацию такой модели смешанного обучения, как «перевернутый класс». Данная модель позволяет минимизировать объяснение материала непосредственно на аудиторном занятии. Студенты, используя персональные электронные устройства, получают доступ к учебным видеозаписям в любом месте и в удобное им время. Таким образом, на занятиях в компьютерных лабораториях появляется возможность для лучшей реализации интерактивных форм обучения, например для ведения проектной деятельности. профессиональный учитель информатика программирование
В настоящее время существуют специализированные сервисы для создания, хранения, обработки учебно-методических материалов, адаптированных к обучению по технологии «перевернутых классов», например Panopto Video Platform. Данный сервис позволяет не только создавать видео с помощью различных устройств (имеются приложения как для настольных ОС, так и для мобильных устройств), но и добавлять к нему интерактивные элементы, создавать опросы с разными типами ответов, совмещать видео с изображениями или графиками в режиме разделения экрана, генерировать отчеты для руководителей процесса обучения. Аналогичный функционал может быть достигнут с использованием бесплатного ПО для захвата экрана, а видео могут быть размещены на бесплатном видеохостинге (специализированные сервисы предоставляют решения «все-в-одном»). С помощью видеозаписей, применяемых в рамках курса «Разработка web-портала», наглядно демонстрируются:
1) приемы создания адаптивной верстки на основе Bootstrap 3 (фреймворка для разработки адаптивных и мобильных web-проектов);
2) использование менеджера пакетов (утилиты командной строки, позволяющей быстро сформировать структуру проекта со всеми необходимыми файлами);
3) настройка редактора кода для быстрой и комфортной разработки;
4) разработка компонентов на PHP для формирования содержимого web-страницы;
5) написание кода на JavaScript/jQuery для манипулирования элементами страницы и др.
Обучение программированию целесообразно осуществлять в соответствии с трендами современного технического образования. Одним из ведущих образовательных направлений в настоящее время является Science, Technology, Economics, Mathematics (STEM), которое основывается на идее обучения четырем специальным дисциплинам: науке, технологии, инженерному делу и математике (в междисциплинарном и прикладном подходе). Принципиальное отличие STEM от традиционных образовательных подходов заключается в наличии интегрированной среды обучения, которая демонстрирует студентам применение научных методов в повседневной жизни, развивает аналитическое мышление и фокусируется на решении задач, имеющих практическую значимость. На основе инновационных подходов парадигмы STEM возможно провести переосмысление традиционных подходов к обучению программированию: подготовка будущих специалистов по разработке программного обеспечения должна иметь акцент на активном (эмпирическом) обучении, развитии критического мышления и навыка работы в команде, а также на решении прикладных задач. Каждая категория STEM может быть задействована при обучении программированию [15]. Методика обучения программированию должна базироваться на научном подходе («Наука»), и таковым может являться описанный ранее проблемно-семиотический подход. Содержание обучения должно включать в себя освоение современных технологий, используемых при разработке программного обеспечения («Технология»). Таковыми могут являться: новые языки программирования, популярные библиотеки (фреймворки), новые подходы к проектированию программных продуктов и др. Для запоминания основных конструкций языка программирования хорошо подходит решение задач на реализацию, например, математических моделей неких физических процессов или же просто математических задач. Кроме того, применение знаний из математики происходит при оценке сложности алгоритмов и способов их оптимизации («Математика»). Разработка программного обеспечения сама по себе является инженерной деятельностью (профессия «инженер-программист», «инженерное дело»).
Исследование эффективности методики обучения программированию, построенной на основе проблемно-семиотического подхода с использованием технологии «перевернутых классов» и системы упражнений, согласованной с категориями STEM, проводилось при внедрении в курс «Разработка web-портала средствами PHP» на базе кафедры информатики информационных технологий и методики обучения информатике. Обучающиеся - студенты 4-го курса (будущие преподаватели информатики) физико-математического факультета Южно-Уральского государственного гуманитарно-педагогического университета (2017-2018 уч. г.). Для качественной оценки применялся подход, при котором основным критерием измерения служит характеристика продвижения на более высокие уровни развития профессиональной ИКТ-компетентности, включающей владение специальными компетенциями, которые, в свою очередь, декомпозированы на знания, умения и владение (табл. 1). Каждый следующий уровень включает в себя содержание всех предыдущих уровней.
Таблица 1
Декомпозиция уровней развития специальных компетенций
|
Компетенция |
Уровень I |
Уровень II |
Уровень III |
||
|
Профессиональная ИКТ-компетентность |
СК-5: способность использовать современные информационные и коммуникационные технологии для создания, формирования и администрирования электронных образовательных ресурсов |
Знать понятия проектирования ИС и проектирования ПО Уметь формулировать алгоритм решения поставленной задачи |
Знать основные подходы к разработке ПО (функциональный, объектно-ориентированный) |
Знать процессы жизненного цикла ПО Уметь составлять прототип web-сайта с использованием Axure RP |
|
|
Уметь составлять проект решения задачи и выбирать наиболее оптимальный подход, создавать макет web-сайта с использованием Adobe Photoshop |
|||||
|
Владеть основными технологиями проектирования ПО |
|||||
|
Владеть методами описания структуры программы с помощью блок-схемы |
|||||
|
Владеть методами сборки системы из готовых модулей |
|||||
|
СК-2: способность использовать математический аппарат, методологию программирования и современные компьютерные технологии для решения практических задач получения, хранения, обработки и передачи информации |
|||||
|
Знать базовые концепции и технологии программирования, основные конструкции одного-двух языков программирования, основы языка разметки HTML |
Знать основные веб-технологии, основные структуры / конструкции PHP / JS / jQuery |
Знать принципы работы с БД с помощью API |
|||
|
Уметь решать задачи продвинутого уровня, писать код в соответствии с заданными стандартами |
|||||
|
Уметь решать задачи базового уровня, корректировать существующий функционал в соответствии с требованиями |
|||||
|
Уметь решать задачи пониженного уровня, корректировать структуру программы |
Владеть основными приемами написания отказоустойчивого кода, приемами разработки программных модулей и шаблонов для CMF Wordpress |
||||
|
Владеть основными положительными практиками при написании кода, основными средствами отладки программ |
|||||
|
Владеть основными средствами IDE |
Выделение уровней позволит формализовать выбор критериев для оценки сформированности выбранных компетенций. Определение уровня знаний и умений конкретного студента целесообразно проводить с помощью качественного анализа результатов выполнения лабораторных работ и индивидуальных заданий, а также индивидуального опроса.
Уровень I. Студент в состоянии сформулировать, описать и реализовать алгоритм решения задачи пониженного уровня. Знание теории поверхностное, как и подход к выполнению практических заданий. Присутствуют в незначительной степени или отсутствуют вовсе следующие составляющие: соблюдение стандартов написания программного кода, тенденция к исправлению ошибок, применение положительных практик.
На первом уровне развития специальных компетенций зачастую находится большинство студентов, проходящих обучение по специальностям, подразумевающим изучение программирования, но не ориентированным на подготовку будущих разработчиков (выпускники-специалисты с навыками программирования). К таким профилям относятся «Информатика - экономика», «Информационные технологии в образовании» и др. Развить знания и умения для перехода с первого уровня на второй помогает реализация положений проблемно-семиотического подхода и использование системы упражнений в рамках 8ТБМ - образования. Выполнение специально подобранных практических заданий позволяет устранить пробелы в знании синтаксиса и понимании семантики изучаемого языка программирования, а также развить умение формулировать алгоритм решения задачи на естественном языке и переводить его на формальный язык, понятный вычислительной машине.
Уровень II. Студент в состоянии сформулировать, описать и реализовать алгоритм решения задачи базового уровня. Хорошее знание теории веб-разработки, в том числе основных особенностей используемых языков программирования. Обучающийся способен быстро внести изменения в программный код для новых условий функционирования программы. Решение практических задач обдуманно, рассмотрены различные подходы к реализации. Задания выполнены добротно, с применением основных положительных практик при написании кода.
Для перехода на третий уровень развития специальных компетенций целесообразно использовать в обучении видеозаписи работы профессиональных программистов в ходе решения некоторых задач. Данный вид обучающего материала помогает раскрыть студентам особенности реального процесса разработки, показать основные трудовые действия на рабочем месте, минимизируя тем самым разрыв между учебным и профессиональным программированием. Видеозаписи также служат средством мотивации обучающихся, так как на них показано, как профессионалы прибегают к «шпаргалкам» в виде онлайн-документации, допускают и исправляют ошибки, многократно пересматривают уже написанный код с целью оптимизации. Дополнительная реализация обучения по методике «перевернутых классов» позволяет студентам изучать видеозаписи в удобном темпе, пересматривая их столько раз, сколько необходимо для полного понимания, а на аудиторных занятиях больше времени посвящать практической работе под руководством преподавателя.
Уровень III. Студент в состоянии сформулировать, описать и реализовать алгоритм решения задачи продвинутого уровня. Досконально знает теорию веб-разработки, самостоятельно обращается к общедоступной документации для языков программирования. В состоянии использовать в разработке не только нативные средства, но и различные библиотеки. Программные решения являются отказоустойчивыми и эффективными с точки зрения использования ресурсов сервера, вводимые пользователем данные проходят проверку безопасности.
На наш взгляд, нахождение на третьем уровне развития специальных компетенций свидетельствует о достаточности имеющихся у обучающегося знаний и умений для того, чтобы считаться разработчиком начального уровня. В данном контексте это означает сформированность профессиональной ИКТ-компетентности и возможность для будущего преподавателя более качественно обучать программированию студентов, а также разрабатывать собственные проекты в рамках профессиональной самореализации.
Для апробации методики обучения программированию на основе описанных ранее условий были сформированы две группы студентов: контрольная (22 человека) и экспериментальная (18 человек). Контрольная группа студентов проходила традиционное обучение, а экспериментальная - на основе новой методики обучения программированию. Всего в эксперименте на этом этапе приняли участие 40 человек. Данные, полученные в ходе эксперимента, представлены в табл. 2.
Таблица 2
Результаты апробации новой методики обучения программированию
|
Уровень развития знаний и умений |
Количество студентов |
||
|
Экспериментальная группа |
Контрольная группа |
||
|
Уровень I |
3 (17%) |
8 (36,4%) |
|
|
Уровень II |
9 (50%) |
14 (63,6%) |
|
|
Уровень III |
6 (33%) |
0 |
|
|
Итого 18 студентов |
Итого 22 студента |
Для установления значимости различий развития профессиональной ИКТ-компетентности в экспериментальной и контрольной группах использо-вался критерий х2 (хи-квадрат), применяемый для сравнения распределений объектов двух совокупностей на основе измерений по шкале наименований в двух независимых выборках. При этом была введена шкала наименований, соответствующая трем ранее описанным уровням развития специальных компетенций (табл. 3).
Таблица 3
Данные для проверки выдвинутой гипотезы
|
Выборка |
Уровень I |
Уровень II |
Уровень III |
n |
|
|
Выборка (контрольная группа) |
8 |
14 |
0 |
П1 = 22 |
|
|
Выборка (экспериментальная группа) |
3 |
9 |
6 |
П2 = 18 |
Достижение студентами третьего уровня знаний и умений может свидетельствовать о повысившейся эффективности обучения. Такой уровень был полностью или частично достигнут 6 студентами (33%) экспериментальной группы. 9 студентов (50%) достигли второго уровня компетенций, а 3 (17%) остались на первом. Более того, у абсолютного большинства студентов экспериментальной группы осталось положительное впечатление от прохождения курса. Было отмечено улучшение успеваемости и увеличение уровня мотивации к дальнейшему изучению программирования. Большинство студентов контрольной группы, проходящих обучение по традиционной программе, при выполнении итоговых заданий показали второй уровень знаний и умений (14 человек / 63,6%), остальные (8 человек / 36,4%) выполняли задания в соответствии с критериями первого уровня.
Допустим, уровень значимости критерия равен 0,05 (а = 0.05), тогда для двух степеней свободы значение критической точки распределения будет равняться 5.99 Гкрит = 5.99). Для подтверждения выдвинутой гипотезы о том, что увеличению уровня развития специальных компетенций студентов способствует соблюдение выявленных условий (построение процесса обучения на основе положений проблемно-семиотического подхода, применение технологии «перевернутых классов», применение системы упражнений в рамках 8ТБМ-образования), необходимо, чтобы значение статистики, полученное на основе экспериментальных данных, было больше критического значения статистики (77набл > Ткрит). Найдем значение статистики Тнабл.:
Выполняется условие Ти&і >(9, 050186 > 5,99), следовательно, различие не является случайным. Отмечается более высокий уровень развития специальных компетенций у студентов контрольной группы. Полученные результаты свидетельствуют о верности выдвинутой гипотезы.
Таким образом, эффективному обучению программированию способствует соблюдение следующих условий: применение положений проблемно-семиотического подхода, современных ИT-технологий и использование системы упражнений, построенной в соответствии с категориями STEM. Учитель информатики, приобретший в свое время высокий уровень знаний и навыков для ведения практики в программировании, имеет наивысший уровень овладения ИКТ-компетентностями (профессиональный) и способен не только разрабатывать качественные авторские учебно-методические материалы и создать в рамках профессиональной самореализации, например, собственный сайт, но и более качественно обучать программированию. Значит, обучающиеся будут иметь высокую мотивацию для выбора в дальнейшем специальностей, связанных с информационными технологиями, что крайне необходимо для ИT-индустрии в рамках перехода к цифровой экономике и информационному обществу.