изучение программирования в школе
Тазетдинова Ю.А., к. ф.-м. н., доцент
Ценев М.Д., студент
Гиззатуллин Р.Р., студент
Шаймиев Т.Ю., студент
г. Бирск, ФГБОУ ВО Бирский филиал
УУНиТ
Аннотация. При преподавании курса программирования в школе существует
множество проблем, вопросов. Прежде всего, рассмотрим объективные условия
преподавания информатики в массовой школе, цели и задачи преподавания,
доступные средства.
Ключевые слова:
программирование, школьный курс информатики.
Актуальность и выбор темы состоит в том, что Информатика – особый предмет в школьной программе, достаточно «молодой», не
обремененный пока еще изобилием «официальных, стандартных» методов и методик преподавания[1,2].
Это объясняется многими причинами: разнообразием имеющейся в школах
вычислительной техники, разнообразием имеющегося программного обеспечения,
разным количеством часов, выделенных на преподавание и т.д.
Объём
учебной нагрузки. Официальная точка зрения такова: информатика должна
преподаваться по одному часу в неделю. Большинство руководителей от образования
не вникают в последующие фразы инструктивно-методического письма, о том, что:
"при наличии условий объём учебной нагрузки может быть увеличен"[3].
Это положение существенно ограничивает возможности школьных преподавателей.
Положение не
спасает и удвоение учебной нагрузки — её всё равно не будет хватать, уж слишком
сложен и объёмен учебный материал даже при изучении одного языка
программирования. А ведь школьный курс информатики - это не только программирование.
Многие
проблемы в преподавании информатики связаны с нечётким целеполаганием. Основной
целью изучения образовательной области "Информатика" считается
подготовка школьников к практической деятельности, а развитие мышления и
формирование основ научного мировоззрения как бы отступают на второй план.
Изучение
программирования позволяет внести свой вклад в достижение этих целей. В первую
очередь следует рассматривать программирование как средство развития мышления
школьника. Профессиональной подготовкой занимаются специализированные
учреждения. Поэтому лучше сразу отказаться от невыполнимой задачи: изучить язык
программирования, каким бы простым он не был. Знание языка как и владение любым
другим инструментом само по себе ничего не даёт, куда важнее умение им
пользоваться, а на это, как правило, времени и не остаётся (причём, это общая
проблема школьного образования). Только при самостоятельном решении задач можно
говорить о развитии у школьников способности принятия решения и ответственности
за его последствия.
На этапе
становления информатики казалась вполне логичной мысль о том, что, выучив язык,
учащиеся начнут применять его в своей повседневной учебной и исследовательской
деятельности. Сейчас эта ниша занята программными пакетами, относящимися к
категории новых информационных технологий. Таким образом, идея практического
применения полученных знаний по отношению к программированию стала
неактуальной. Это означает лишь одно: программирование напрямую не связано с
дальнейшей практической деятельностью будущего гражданина и в рамках этого
курса не имеет смысла говорить о третьей цели, провозглашённой проектом
стандарта — подготовке школьников к практической деятельности. Здесь она может
упоминаться разве что в контексте формирования элементарных навыков работы на
ПК.
Стремление
соответствовать требованиям времени приводит к мощному прессингу со стороны
родителей и широкой общественности в целом. Это, в свою очередь, инициирует
стремление школьных коллективов к профессиональной подготовке выпускников —
задаче, школе не свойственной. Но с упорством учителя "готовят к
поступлению в ВУЗы" старшеклассников, пытаясь поместить в ограниченный
учебный план школы институтские курсы программирования. Повсеместная
распространённость этого явления привела к тому, что ситуация уже не считается
ненормальной. К примеру, значительная часть выпускников не понимают смысла
операции присвоения, хотя с ними "проходили" три способа сортировки
массивов.
Отказ от
дублирования содержания вузовского обучения, перенос акцентов на выработку
понимания основ программирования позволит добиться преемственности среднего и
высшего образования. Разделить между ними этапы формирования понятий и
закономерностей труднее, чем поделить на "школьный" и
"институтский" списки тем и разделов, но это единственно возможный
путь для полноценного образования личности.
Выбор языка
программирования.
·
знать основные свойства алгоритмов, типы
алгоритмических конструкций: следование, ветвление, цикл, понятие
вспомогательного алгоритма;
·
уметь использовать алгоритмические конструкции,
выполнять и строить простые алгоритмы, выполнять базовые операции над
объектами: цепочками символов, числами, списками, деревьями;
·
использовать приобретенные знания и умения в
практической деятельности и повседневной жизни при выполнении индивидуальных и
коллективных проектов, в учебной деятельности, в дальнейшем освоении профессий.
Несмотря на
активную критику и формальное неприятие Бейсика, большинство задач по
программированию одинаково решаются — строка в строку — на трёх
"официальных" языках: Бейсике, Паскале, школьном алгоритмическом
языке. А это свидетельствует о механическом переносе задач, придуманных под
Бейсик, в более поздние разработки. Даже в новом обязательном минимуме наряду с
упоминанием об объектном программировании присутствует фраза: "Знакомство
с одним из языков программирования. Переменные величины: тип, имя, значение.
Массивы (таблицы) как способ представления информации".
Интересно,
что попытки реализовать курс программирования в одной-единственной, пусть даже
самой лучшей программной среде, приводят к значительным методическим
затруднениям. Изучение же нескольких учебных сред — роскошь, которую могут
позволить себе далеко не все преподаватели.
Одним из
путей решения проблемы может стать структурно-модульное разделение курса
программирования на три уровня: пооперационный, процедурный, объектный. Каждый
уровень может быть представлен собственным программно-методическим комплексом,
изучение его может быть формально независимым от изучения других модулей. В
зависимости от направленности всего курса информатики (уровень А и уровень Б в
терминологии Министерства образования) отдельные модули могут быть расширены
или, напротив, вообще исключены из курса.
Разделение
всего курса на уровни, с одной стороны, позволит использовать наиболее удобные
средства и приёмы для изучения понятий, характерных именно для этого уровня, с
другой же стороны, потребует дополнительных усилий для связывания в единый комплекс
отдельных модулей, реализующих каждый уровень.
Модульное
построение позволит изучать программирование в любом порядке следования модулей
и даже отказаться от изучения одного или двух из них в зависимости от
конкретных условий преподавания. Построение школьного предмета не обязано
повторять исторический путь изучаемой дисциплины, поэтому объектный или
процедурный уровень может быть освоен раньше пооперационного. В любом случае,
систематизация курса необходима.
В заключении хочется сказать, что там, где учитель
сам на хорошем уровне владеет основами программирования, вопросы об
эффективности использования учебного времени, об организации внеурочной работы,
о структуре дидактических заданий, как правило, не возникают. Но проблема
остается. Я думаю, что одним из путей ее разрешения является обобщение
существующего опыта преподавания программирования и создание адаптивной
методической системы, ориентированной на изучение программирования в
общеобразовательной школе.
Литература
1. Угринович, Н.Д.
Информатика и информационные технологии. Учебник для 10-11 классов / Н.Д.
Угринович. – М.: БИНОМ. Лаборатория знаний, 2007.
2. Угринович, Н.Д.
Информатика и ИКТ. Базовый курс. Учебник для 9 класса / Н.Д. Угринович. – М.:
БИНОМ. Лаборатория знаний, 2007.
3. Круглова О.Н. Проблемы
и вопросы преподавания программирования в
школе / Образовательная социальная сеть nsportal.ru URL: https://nsportal.ru/shkola/materialy-metodicheskikh-obedinenii/library/2012/11/07/moi-doklady
(дата обращения 20.03.2023)
|