Специфика обучения программированию в отечественных школах
Обучение программированию на уроках информатики в отечественных школах трудно назвать эффективным. Чаще всего дети заканчивают средние общеобразовательные учреждения с навыками, непригодными для практического применения. Причины этого следовало бы искать в образовательной реформе, проводившейся в середине 1980-х гг., когда в стране внедрялась программа преподавания информатики. Связаны они, как и многие изъяны отечественного образования, с чрезмерной зарегулированностью и инертностью составления учебных программ для обучения в школах: спущенные "сверху" концепции, пусть и прогрессивные для своего времени, надолго остаются руководством к действию, тогда как технологии, особенно информационные, меняются стремительно.
программирования в 1980-х гг. Автор24 — интернет-биржа студенческих работ" />
Рисунок 1. Урок программирования в 1980-х гг. Автор24 — интернет-биржа студенческих работ
Несмотря на то, что преподаватель информатики может "по своему вкусу" в широких пределах выбирать используемый на уроках материал (в том числе и для уроков программирования), на ЕГЭ перечень языков, по которым выпускники могут продемонстрировать свои знания, жестко регламентирован. В него входят:
- алгоритмический учебный язык;
- Паскаль (и его производные);
- Бейсик;
- Си.
Языки программирования применительно к учебному процессу
Паскаль
К достоинствам Паскаль можно отнести следующие:
- он действительно был создан Никлаусом Виртом для учебных целей (правда, было это в 1970 г. и с тех пор многое изменилось);
- существуют версии этого языка (TurboPascal, FreePascal), которые легко установить на персональный компьютер, причем эти программы находятся в свободном доступе, что немаловажно в условиях школы, где использование пиратского ПО недопустимо не только по юридическим, но и по этическим причинам.
Удобство оболочек TurboPascal, FreePascal заключается в также в том, что все действия по написанию, отладке, компиляции и запуску программы можно выполонять не выходя из единой программы. С другой стороны, следует учитывать, что консольный интерфейс (среда DOS), в котором работают эти версии Паскаля, устарел и мало похож на современные инструменты разработки. Альтернативой с полноценным графическим интерфейсом является пакет Lazarus, позволяющий программировать в среде, похожей на промышленную систему Delphi (правда, и ее трудно назвать соответствующей современным реалиям).
Язык Си
Си - универсальный язык, всегда востребованный на рынке. Однако преподаватели информатики чаще всего не владеют им. Они весьма консервативны и предпочитают давать материал, который, во-первых, сами изучили достаточно хорошо в педагогических вузах, где последствия засилья Паскаля также ощущаются, и который, во-вторых, не противоречит спускаемым сверху рекомендациям.
Программирование на Си в рамках школьного курса информатики сдерживает, помимо отсутствия специалистов, и то, что трудно подобрать подходящие для школьников инструменты. Несмотря на то, что существуют пригодные для написания программ на Си инструменты разработки (Eclipse, IntelliJ, Net Beans, Visual Studio), они сами по себе являются довольно сложными для освоения.
Следует учитывать, что редактор Sublime и среда разработки Visual Studio являются коммерческими продуктами, хотя и могут предоставляться бесплатно для персонального использования и в образовательных целях.
Выходом может стать сочетание простых редакторов кода (Notepad++, Sublime, Visual Code, Atom) и свободных компиляторов. Для Windows, например, существует свободно распространяемый пакет CygWin, включающий простые консольные инструменты для Си (компилятор, библиотеки и т.п.).
Рисунок 2. Редактор Notepad++. Автор24 — интернет-биржа студенческих работ
Бейсик
Несмотря на то, что время сверхпопулярности Бейсика давно прошло, он вполне может использоваться в качестве учебного языка программирования. Существует пакет FreeBasic, содержащий много примеров, и поддерживаемый в актуальном состоянии сообществом энтузиастов даже в наши дни (конец 2010-х гг.).
Язык КуМир
В некоторых школах на уроках программирования используется язык КуМир, ведущий свое происхождение от алгоритмического языка, разработанного еще в 1980-х гг. по методике основоположника отечественной школьной информатики академика А.П. Ершова. Этот язык переживает сейчас второе рождение. Пример программы:
алг Сумма квадратов (арг цел n, рез цел S)
дано | n > 0
надо | S = 1*1 + 2*2 + 3*3 + … + n*n
нач цел i
| ввод n; S:=0
| нц для i от 1 до n
| | S := S + i * i
| кц
| вывод "S = ", S
кон
Рисунок 3. Оболочка для разработки на языке КуМир. Автор24 — интернет-биржа студенческих работ
В 2019 г. НИИ системных исследований РАН запланировал развитие КуМир в качестве учебного языка.
Перспективы преподавания программирования в школе
Паскаль и Бейсик давно перестали быть языками, на которых пишут программы в сфере реального производства.
В будущем государственным органам для успешного воспитания передовых навыков программирования у школьников, следовало бы обратить внимание на следующие моменты:
- высокая динамика развития информационных технологий; пересматривать учебные программы по информатике следует, как минимум, ежегодно, в том числе особенно тщательно - в части, касающейся преподаваемых языков программирования;
- отказ от устаревших языков программирования;
- внедрение преподавания современных популярных языков (Python, JavaScript) для всех учащихся и более сложных (Swift, Go, C#, Java) для тех, кто планирует связать будущую профессиональную деятельность с информационными технологиями;
- обучение не только программированию, но и смежным технологиям: подключению необходимых библиотек, работе с системами управления версиями, устройству современных IDE и т.п.