Сегодня на тему обучения программированию на языке Python написано очень и очень много. Известный факт, что, например, в США большинство ВУЗов при изучении программирования первым языком выбирают Python. Однако и в школах он становится все популярнее и популярнее. И тем не менее, далеко не все согласны с тем, что это хороший выбор для того, чтобы начать знакомство с миром программирования. А некоторые учителя просто сомневаются: стоит ли? И насколько больших усилий потребует такая трансформация учебного процесса? Вот для таких людей и хочется немного поделится своим опытом.
Какими были наши аргументы, когда мы решили перевести преподавание программирования в курсе информатики в 7 классе на язык Python?
- Простой синтаксис и низкий порог входа. Эксперимент с введением Python начался с одной группы 11 класса, в котором начали вести курс по подготовке к ЕГЭ по информатике. Особенность группы учащихся состояла в том, что до 10 класса они обучались в разных школах, а в десятом у них фактически не было программирования. Поэтому и уровень погружения в тему и языки программирования с которыми были знакомы ученики были очень разными. Так что для подготовке к ЕГЭ пришлось как-то унифицировать знания у ребят в группе и тут нам пригодился Python. Как оказалось, переходить к решению задач разной сложности ученики смогли значительно раньше, чем при изучении другого языка, фактически уже на 2-3 уроке они могли решать задачи базового уровня из ЕГЭ, время и внимание не тратилось на освоение сложного синтаксиса.
- Мощный рабочий инструмент, который позволяет выполнять реальные практико ориентированные проекты. Python отлично подходит не только для решения школьных задачек из курса информатики, но и для выполнения проектов по самым разным тематикам: хотите заниматься обработкой данных и визуализацией, разобраться в машинном обучении, заниматься веб-разработкой, писать скрипты для автоматизации различных процессов или для 3D-моделей? Все это (и не только) отлично можно делать с помощью Python.
- Один из самых популярных языков в промышленном программировании на сегодняшний день. Например, один из крупнейших сайтов в мире, посвященных программированию, Stack Overflow, называет его «самым быстрорастущим языком программирования».
- Наличие языка Python в КИМах по информатике на ОГЭ и ЕГЭ :) Как бы ни был прекрасен язык программирования, мы живем в реальном мире, где выпускникам приходится сдавать единый стандартизированный экзамен. И если они изучают, например, такие языки программирования, как Java или JavaScript, это означает, что для сдачи ЕГЭ учащимся потребуется освоить синтаксис и правила написания программ на одном из “допущенных” до ЕГЭ языков программирования. С прошлого года Python среди них есть.
- Большое количество обучающих материалов высокого качества в сети. Еще несколько лет назад, Python вышел на первое место для обучения программированию в ВУЗах США. Это довольно наглядно иллюстрирует тенденцию в мировой практике обучения программированию. На сегодняшний день отличные материалы по обучению программированию на Python есть не только на английском, но и на русском языке: можно назвать и интерактивный тренажер Питонтьютор с исчерпывающей справкой об основах языка, и курсы Программирование на Python, Python: основы и применение на платформе Stepik, и материалы Фоксфорда, и многое другое.
Какие доводы приводятся против использования языка в школе?
Возникает, логичный вопрос, если все так замечательно, почему мы все до сих пор не перешли дружно на изучения Python с нашими учениками? Помимо простого противления всему новому и инертности самой образовательной системы, есть и разные доводы против этого языка.
В первую очередь питону ставят в вину чрезмерную высокоуровневость: нестрогую типизацию, списки вместо простых массивов, большое количество алгоритмов, реализованный в стандартных методах языка... “Ученики сейчас привыкнут, что все можно, а как мы им потом про все эти ограничения рассказывать будем?”, “Вырастим ленивых программистов, которые даже сортировку сами ни разу в жизни не написали”. Но это в большей мере проблема методики преподавания программирования, а не языка Python: задача учителя как раз и состоит в том, чтобы донести до учащихся мысль, что они должны понимать как работает какой-либо метод, прежде чем его использовать. А для “слабых” учащихся, которые не мотивированы на серьезное изучение программирования, такой язык дает шанс не превратить процесс обучения программирования в пытку, но наоборот, дать им в руки инструмент, с которым они смогут в будущем работать, а не пытаться забыть эти уроки как страшный сон.
Второй аргумент, который мне пришлось услышать, звучит так: программы, написанные на Python медленные по сравнению с другими языками (читай: с C++) и для участия в олимпиаде (ВОШ по информатике) не подходят. Не вдаваясь сейчас в подробности хочу только отметить, что решения жюри всероссийской олимпиады по информатике при разборе первого и второго этапов предлагаются именно на Python. Что позволяет предположить, что по крайней мере начать свой опыт в олимпиадном движении с языка Python - вполне приемлемо.
В заключении, мне бы хотелось призвать всех педагогов, которые уже преподают Python школьникам или только собираются это делать, обязательно делиться своим опытом.
Изображение в заголовке: pexels.com