Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Moscow Python Meetup №92. Никита Ваулин (Инсти...

Moscow Python Meetup №92. Никита Ваулин (Институт биоинформатики, преподаватель). Как преподавать Python без вреда для всех участников процесса

Как сделать преподавание программированию приятнее и проще в освоении (но не в материале) для студентов? Как сделать курс безболезненным для преподавателей, ассистентов и кураторов? Много вопросов и несколько ответов на основе личного опыта преподавания Python для ученых-биологов.

Видео: https://moscowpython.ru/meetup/92/teach-python/

Moscow Python: http://moscowpython.ru
Курсы Learn Python: http://learn.python.ru
Moscow Python Podcast: http://podcast.python.ru
Заявки на доклады: https://bit.ly/mp-speaker

Moscow Python Meetup

August 30, 2024
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. Обо мне: Никита Ваулин [email protected], tg: @nvaulin X: @vaulin2 I:

    @nvaulin Создаю биоинформатическое ПО Веду курс “Программирование на Python” Изучаю клетки мозга человека с помощью различных типов омиксных данных (Hi-C, scRNA-seq, ChIP-seq) Khrameeva lab 2
  2. Что такое Институт биоинформатики? bioinf.me Короткие интенсивы и лекции Программы

    повышения квалификации (4 - 10 месяцев) Для биологов Для программистов Программирование на Python ООП, ФП, ∥П, БД StdLib, Numpy, Pandas, Git, venv ЦА курса по Python: студенты-биологи и к.б.н. Курсы на Stepik 3
  3. Дисклеймер Лекция Повод к обсуждению Я хочу объяснить вам что

    вам надо переделать свои курсы Я хочу поделиться мыслями о чем можно подумать особенно если вы только что-то планируете/начинаете 4
  4. Список крутых вещей Задания: • Начинаются с чего-то тривиального •

    Задачи связаны между собой и постепенно усложняются • Здорово если разные домашние задания / проекты также связаны в прогрессию Задача = “О, это я знаю” + “Как это сделать??” 7
  5. Напишите декоратор deprecated Пример Задача 1 Напишите декоратор deprecated_once Задача

    2 Напишите декоратор cached (для функции с одним числовым аргументом) Задача 3 Напишите декоратор cached Задача 4 * сложность и размеры шагов в вашем случае могут отличаться 8
  6. Открытия Людям нравится делать открытия Напишите функцию fib (без аргументов),

    которая позволяет получить все числа Фибоначчи Задача 9
  7. Список крутых вещей Задания: • Начинаются с чего-то тривиального •

    Задачи связаны между собой и постепенно усложняются • Здорово если разные домашние задания / проекты также связаны в прогрессию • Студенты сами делают открытия 10
  8. Лекции Нужны ли лекции? • У людей есть запрос чтобы

    им объяснили • Лекционный материал - зона безопасности • Сделайте лекционный материал частью практики Лекция ДЗ 12
  9. Список крутых вещей Задания: • Начинаются с чего-то тривиального •

    Задачи связаны между собой и постепенно усложняются • Здорово если разные домашние задания / проекты также связаны в прогрессию • Студенты сами делают открытия Лекции: • Часть практики • Живое общение 13
  10. Метаобучение метанавыкам Условия заданий • Перевод с языка заказчика на

    язык исполнителя • Декомпозиция Формат выполнения и сдачи ДЗ • Git, GitHub • Командная работа • Работа в IDE • Связанность ДЗ, “agile” Peer review • Умение читать чужой код • Закрепление знаний, до-гуглёж • GitHub, Markdown 15
  11. Список крутых вещей Задания: • Начинаются с чего-то тривиального •

    Задачи связаны между собой и постепенно усложняются • Здорово если разные домашние задания / проекты также связаны в прогрессию • Студенты сами делают открытия • Peer Review Лекции: • Часть практики • Живое общение Miscellaneous: • Не пытаемся впихнуть вообще всё • Метаобучаем метанавыкам 16
  12. Команда курса Много студентов Много кода на проверку Нужно много

    людей Ассистенты • Код-ревью • Лекции / доп. семинары 17
  13. Вероятные трудности Человеческий фактор • Студент и ассистент могут не

    сойтись характером • У ассистента может случиться перегруз Код-ревью субъективен Перемешиваем не случайно Случайно перемешиваем работы между проверяющими (сложнее следить за списыванием если вам это важно) 18
  14. Упрощаем работу команде Кол-во студентов >> кол-во проверяющих Код ревью

    как часть обучения (а не просто проставление оценок) Большая нагрузка по ревью • Четкие инструкции ◦ Удобная таблица распределения ◦ Все ссылки ◦ Пошаговые чеклисты ◦ Референсное решение (не обязательно писать самому, можно взять работу студента) • Шаблонные ответы ◦ Подробные, со ссылочками ◦ Обезличенные ◦ “Обезроденные” ◦ Удобно копипастить 19
  15. Не забываем думать о себе Преподаватель может не отвечать в

    нерабочее время Удивительные факты, которые я бы сообщил сам себе в начале пути Преподаватель может делать меньше ревью (т.к. у него есть лекционная и организационная нагрузка) 20
  16. GitHub Classroom Стартовый репо Student #1 Student #2 PR PR

    Ревью Автопроверки fork (GitHub Actions) • Работа идет через GitHub • Индивидуальные и групповые ДЗ • Интеграция с Google Classroom 21
  17. “А в реальной жизни тоже так бывает” Не надо делать

    плохо чтобы было плохо Надо делать хорошо чтобы было хорошо * можно делать нормально 22
  18. Список крутых вещей Задания: • Начинаются с чего-то тривиального •

    Задачи связаны между собой и постепенно усложняются • Здорово если разные домашние задания / проекты также связаны в прогрессию • Студенты сами делают открытия • Peer Review Лекции: • Часть практики • Живое общение Miscellaneous: • Не пытаемся впихнуть вообще всё • Метаобучаем метанавыкам • GitHub Classroom • Не делаем плохо, делаем хорошо Проверки: • Инструкции и шаблоны • Дедлайны 23