• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
  • НИУ ВШЭ в Перми
  • Новости
  • Анна Сенина: «Python – это намного больше, чем просто язык программирования, гуманитариев он учит думать по-новому»

Анна Сенина: «Python – это намного больше, чем просто язык программирования, гуманитариев он учит думать по-новому»

Анна Сенина: «Python – это намного больше, чем просто язык программирования, гуманитариев он учит думать по-новому»

Матвей Ефименко/Высшая школа экономики в Перми

18 января Фонд образовательных инноваций НИУ ВШЭ совместно с проектом «Teach4HSE / Преподаем в Вышке» провел марафон победителей конкурса образовательных инноваций 2021 г. Преподаватель кафедры гуманитарных дисциплин НИУ ВШЭ – Пермь Анна Сенина, победитель в номинации «Практика ведения курсов в онлайн-формате»,  поделилась на марафоне опытом внедрения курса Python для гуманитариев. Мы поговорили с Анной Васильевной о преимуществах blended-формата,  о важности преподавания Python у гуманитариев и о победе в конкурсе образовательных инноваций.

О языках программирования у гуманитариев

Я думаю, мы можем говорить о нескольких параллельных процессах, которые у нас в Вышке пересекаются. О цифровизации образования говорят уже достаточно давно. Среди российских топовых вузов, вошедших в программу «Приоритет-2030», включая Вышку, уже совершенно точно никого не удивить акцентом на digital.

Еще на этапе работы с абитуриентами мы обязательно им рассказываем, что владение цифровыми технологиями сегодня – обязательное требование рынка труда.

 

Чтобы найти работу мечты после вуза, уже недостаточно освоить только знания в своей предметной области, поэтому все цифровое и междисциплинарное делает нас самыми сильными соискателями, а еще расширяет доступный нам перечень профессий. Помимо просто красивой строчки резюме, программирование становится инструментом, с помощью которого можно решать сложные научно-исследовательские задачи, а можно, наоборот, самые рутинные, чтобы экономить время.

На курсах повышения квалификации в Вышке я услышала фразу, которая мне очень нравится: мы используем программирование в том числе для задач, которые мы ненавидим, чтобы раз и навсегда заменить их программой, которая это сделает за нас. Как в знаменитой цитате о пути в тысячу ли, начинающегося с первого шага, или с первого «Hello, world!», наши студенты-гуманитарии смогут написать простую программу для формирования списка литературы по ГОСТу в курсовой работе или же, после окончания курса, погрузиться в мир библиотек для исследовательской работы с различными типами данных. Наверное, особенная магия Вышки в том, что здесь уже стало привычным видеть самые разнообразные цифровые дисциплины на всех образовательных программах. По проекту Data Culture, абсолютно все наши бакалавры осваивают цифровую грамотность, программирование и анализ данных, эти дисциплины между собой тесно связаны.

Программирование повсюду проникает в гуманитарное образование, это общемировая тенденция. Наверное, еще немного и программирование станет вторым английским, на котором заговорит весь мир.

О программировании на Python

 

Python сегодня можно совершенно уверенно назвать лучшим языком программирования. Создатель языка Python Гвидо Ван Россум поставил перед собой цель придумать «настоящий» язык программирования, которому будет легко обучиться. В какой-то степени Python стал таким популярным, потому что его создатель еще в 1980-е годы думал о студентах. Вообще на первой паре студенты обычно удивляются, когда слышат, что этим языком пользуются очень разные компании и организации, начиная с Яндекса и Сбербанка и заканчивая NASA, Meta, Pixar или CCP Games.

Это почти сочетание несочетаемого: язык Python подходит для веб-разработки, анализа больших данных и машинного обучения, но при этом он интуитивно понятный, легкий и дружелюбный для новичка.

И можно снова и снова говорить о том, что изучение Python – это отличный вклад в свое будущее. Python в последние годы теснит другие языки программирования и завоевывает рекордную популярность во всем мире. У языка Python есть обширное комьюнити, им владеет огромное количество людей по всему миру, и поэтому при возникновении сложностей или ошибок можно обратиться за помощью. Обычный поисковый запрос выведет вас на форумы, где обязательно подскажут и помогут решить проблему или, еще чаще, где готовое решение уже вас ждет.

Простой, дружелюбный, динамичный, функциональный, но и это еще не все. У Python есть особый «дзен» - своя философия, и я обожаю ее цитировать, потому что она, конечно, не только о программировании.

Например, прекрасная и очень гуманитарная идея о том, что читаемость имеет значение: гуманитарии постоянно пишут тексты, а значит, должны думать о своих читателях, как и программисты, пишущие программы для своих коллег или инструкции для пользователей своих продуктов. Или великолепный тезис о том, что если реализацию идеи сложно объяснить – идея плоха. В этом любой студент убедится, когда попробует дойти от проектной идеи до ее реализации или даже раньше, на этапе заявки на любом грантовом конкурсе.

Python – это намного больше, чем просто язык программирования, гуманитариев он учит думать по-новому.

Как заинтересовать историков?

 

В 2016 году прочитала в блоге Динары Гагариной мысль о том, что студенты-историки, только поступившие в университет, – снобы по отношению к информационным технологиям в истории. Их нужно настойчиво убеждать, что ИТ в истории могут быть полезными. Страшный сон преподавателя программирования – увидеть в обратной связи после завершения курса вопрос «зачем это историкам!?». Это очень распространенная проблема, с ней сталкиваются все вузы. Осенью читала в одном образовательном телеграм-канале новость о том, что в МГУ стал обязательным для всех студентов межфакультетский курс по искусственному интеллекту, и в комментариях самый популярный вопрос: что, и у историков будет? Конечно, очень сложно преодолевать барьер между классической историей и информационными технологиями.

Чтобы курс программирования стал по-настоящему интересен историкам, его нужно специализировать, от универсальных задач переходить к узконаправленным историческим. Иначе мы получим усеченный курс обучения программистов, который историкам действительно покажется пустой тратой времени.

Например, мы на паре писали программу для проведения опроса: программа должна задавать вопросы, а затем сохранять ответы в табличном файле. В зависимости от интересов студента, такая программа может пригодиться в устно-историческом исследовании (анкета перед интервью), образовании (проведение олимпиады школьников) или публично-историческом проекте (разработка игры на историческую тему).

Наверное, из-за того, что я историк, начинавший использовать математические методы в Excel, затем в программах для статистического анализа (Statistica, SPSS), и сейчас перешедший на Python, я вижу тенденцию, четко обозначившуюся в анализе данных в последние годы. Современная наука требует от гуманитариев не полагаться на «черные ящики» программного обеспечения: например, статистический софт, подобный SPSS, все еще отличный инструмент для гуманитария, однако высок соблазн нажать все доступные кнопки, не разбираясь, как именно программа что-то считает. Гуманитариям необходимо отбросить этот шаблон «что-то считается»: простая программа для подсчета статистики часто заводит в тупик на этапе интерпретации результата, когда нужно проанализировать, а что «посчиталось».

Программирование заставляет думать о результате с самого начала, когда разрабатываешь алгоритм для решения задачи. Чтобы написать программу, историку нужно думать об историческом результате, к которому приходится идти таким непростым программистским путем.

Об исследовательских проектах историков

 

В курсе есть проектная составляющая: студентам нужно разработать проектное предложение для решения исторической задачи. Другими словами, ответить на вопрос, как программирование могло бы пригодиться в их профессиональной деятельности. Работы студентов были очень разными: от исследования звукового ландшафта Перми до разработки мобильного приложения на Python, помогающего выбрать одежду по погоде. Конечно, многие из этих проектных идей пришлось бы серьезно доработать, чтобы проект стал реализуем, но эти работы невозможно недооценивать в плане обучения программированию.

Студенты пытаются объединить свои интересы и навыки программирования, а их предложения по реализации проекта показывают, насколько глубоко они погрузились в курс.

Реализовать планируем несколько проектов. Два из них предложены магистранткой Анастасией Михайловой, оба совершенно прекрасны с исторической точки зрения и технически продвинуты – с программистской. Анастасия в этом году будет заниматься переводом текстов с аккадского языка. Это невероятно интересная задача, как клинописную систему письма совместить с машинным переводом. Другой проект Анастасии еще более амбициозный: это тоже перевод, но с языка текстиля. В следующем году планируем получать информацию из орнаментов на вышивке, представленной в музеях Республики Беларусь: искать повторяющиеся схемы и мотивы в оцифрованных орнаментах, а затем, возможно, генерировать новый узор по запросу пользователя.

Другой проект разрабатывает команда магистрантов – Кирилл Тюмин и Ярослав Вдовин. Они будут работать с политическими текстами 1920-х годов. После падения Советского Союза эти тексты, в том числе те самые знаменитые 30 томов сочинений Ленина, остаются неактуализированным наследием. Перед нами стоит задача – сделать их снова актуальными. Для этого нужно объединить их в корпус, а затем Кирилл и Ярослав подготовят чат-бот, который будет «говорить» с пользователем на языке 100-летней давности. Для поколения, заставшего историю КПСС как отдельную дисциплину, а также для всех школьников и студентов, в планах у нас генератор «новых цитат» Ленина. Вот еще одна причина, почему программировать с историками – это чистое удовольствие.

О сложностях

 

Если отвлечься от междисциплинарных барьеров, которые мы штурмуем, в ходе обучения самой распространенной была проблема взаимодействия с онлайн-курсом. Это одна из наиболее типичных сложностей при онлайн-обучении, но за счет формата blended она становится решаемой. В онлайн-курсе требуется строгое соблюдение всех условий задачи, умение написать программу в точности так, как указано в инструкции. Как только студенты приступают к курсу, они бывают совершенно растеряны и даже шокированы. При просмотре лекций, написании первых программ на семинаре все было предельно понятно, но в онлайн-курсе что-то не засчиталось. Приходится рассказывать, что авторы курса скрывают от них проверочные тесты для их программ, чтобы противодействовать нечестным попыткам решения. Другими словами, чтобы студенты не смогли подобрать ответ.

Нужно смириться с мыслью, что программа должна правильно работать всегда, а не только в примере из открытого теста. И здесь студентов важно психологически поддержать, иначе они потеряют мотивацию к обучению. У нас сложился тот самый дзен «питона» на практике.

Мы часто работали в таком режиме: студенты присылали мне свое решение, а я подсказывала, почему их программа не проходит проверку. Это совершенно естественно: когда только приступаешь к обучению программированию, не хватает навыков тестировщика – такого человека из анекдота, который приходит и ломает вашу программу, пытается вызвать ошибку, которую автор кода совершенно не ожидал. Для студентов работа с онлайн-курсом, который пишет «программа не прошла скрытые тесты» – это большой стресс, но впоследствии и чувство азарта. Например, знаю, что некоторые студенты на решение особенно запутанной задачи тратили более 6 часов! Онлайн-курс можно пройти, пропуская некоторые задачи, но я до сих пор под впечатлением от того, что часть их них старалась решить все – это стало их личным вызовом.

Кстати, для тех, кто будет учиться в следующем году, есть новости: количество открытых тестов увеличат, чтобы студентам было легче проверять свои программы.

О blended-формате

Самая важная особенность смешанного обучения – это гибкость. В зависимости от образовательных задач, можно менять соотношение онлайна и офлайна. Несмотря на огромную популярность онлайн-курсов, у асинхронного обучения есть слабое место: студентам не хватает мотивации заниматься самостоятельно, из-за чего большую часть онлайн-курсов, как бесплатных, так и платных, слушатели не заканчивают.

Смешанное обучение позволяет эту мотивацию поддерживать, отклоняться, если необходимо, от заранее записанных лекций, чтобы поработать дополнительно с какой-то интересной темой, реагировать на запросы студентов, своевременно получать обратную связь, снизить напряжение от высоких темпов работы.

В формате blended помимо индивидуального обучения можно организовать совместное, в виде групповых заданий. Взаимодействие с одногруппниками, совместные обсуждения, обмен мнениями, соревновательные элементы – все это вовлекает, дает чувство причастности и тоже работает на успешное завершение обучения. 

Наверное, самое неочевидное преимущество формата blended – небольшая рассинхронизация коммуникации. Есть практические занятия, где сразу получаешь отклик от преподавателя, а есть самостоятельное решение задач, и чтобы получить помощь, нужно дождаться ответа преподавателя.

Я старалась отвечать в пределах одного рабочего дня, но иногда ответ затягивался, особенно в период проверки работ перед сессией. Один из студентов сказал мне, что он успевает решить задачу раньше, чем я ему подсказываю решение. И это отлично! Даже если со стороны студенты это на первый взгляд не так. Потому что в этом случае студент может попробовать новые способы решения, посоветоваться с одногруппниками, поискать похожие задачи в интернете и прийти к ответу самостоятельно. Иногда небольшая пауза в коммуникации бывает полезной, конечно, при условии, что у студента есть возможность задать вопрос на паре или прийти на консультацию, чтобы один нерешенный вопрос не повлиял на успешное завершение курса.

О победе в конкурсе ФОИ

 

Я узнала о конкурсе от своих коллег – Динары Гагариной и Илианы Исмакаевой, которые несколько раз одерживали победу в прошлые годы. Придя работать в Вышку в прошлом году, я посмотрела примеры разработок и подала заявку на конкурс, но не вошла в число победителей. В этом году я готовилась серьезнее: потестировав первый вариант курса в прошлом учебном году, получив обратную связь от студентов и коллег, я переформатировала программу курса, так что в 1 модуле был реализован уже его новый вариант.

Вспоминая заявку прошлого года, я понимаю, что спустя год у меня оказалось больше опыта и знаний, я познакомилась с программами курсов по программированию ведущих вузов, прошла курсы повышения квалификации. Мне очень хотелось выйти за рамки вузовского опыта и внедрить в курс элементы хакатона, как это происходит в ИТ.

Ничего бы не получилось без студентов! Это большая работа каждого из нас, их усердие, все их идеи, предложения и проекты мотивируют придумывать что-то новое и становиться сильнее для них. Конечно, я очень нервничала по мере того, как приближалось подведение итогов. Мне сообщили, что моя заявка может войти в число победителей и прислали комментарии и вопросы от эксперта. Вопросы эксперта показали мне несколько лакун, которые в моей заявке не были рассмотрены. Это были важные замечания, поэтому я очень благодарна за возможность доработать описание методики обучения. Следующие несколько дней ожидания были для меня еще более тревожными, я сильно потрепала нервы мужу. После этого уже пришло письмо с радостными новостями. 

О выступлении на марафоне

Конкурс ФОИ, прежде всего, стал инструментом для обмена опытом между разными участниками образовательного процесса, тем более что среди победителей есть и другие преподаватели цифровых дисциплин. Особенно волнующим для меня стало выступление на преподавательском марафоне, организованном Фондом совместно с проектом «Teach4HSE / Преподаем в Вышке». Коллеги поделились очень интересными разработками по преподаванию программирования, особенно в области проверки работ на плагиат. Я возьму на вооружение и в ближайшем курсе попробую такую проверку кода своих студентов. Кроме того, поскольку мы с вами тесно взаимодействуем с проектом Data Culture, мы понимаем, насколько сложно одновременно адаптировать курс для студентов-гуманитариев и при этом разработать контрольные мероприятия, которые смогут проверить компетенции студентов вне зависимости от специфики образовательной программы.

Нужно найти баланс между исторической спецификой и универсальными требованиями. Если задача разработчиков проекта Data Culture – унифицировать требования к освоению курсов по программированию, то нам важно, чтобы наш голос был слышен среди других преподавателей цифровых дисциплин.

Я надеюсь, что победа в конкурсе поможет укрепить горизонтальные связи между всеми участниками образовательного процесса, чтобы студенты Вышки могли применять полученные знания и, конечно, подтверждать их на независимом экзамене. Я с нетерпением ожидаю нового конкурса ФОИ! Надеюсь, что среди материалов победителей будет много программирования для гуманитариев, потому что взаимодействие между этими областями знания будет только расширяться с каждым годом.