Методические указания к лабораторным работам - mipt-cs/course-site-python3 GitHub Wiki

№1. Практика: Черепашка

  1. Ничего рассказывать предварительно про язык не нужно. Лучше сразу открыть свой монитор на полный экран и показать как запускать интерпретатор ipython3. Помочь девушкам и тем, кто не справляется сам. Можно использовать взаимопомощь — выделить одного-двух студентов, которые шарят, чтобы они помогли запустить интерпретатор другим.
  2. Прямая цель лабы — быстро ввести студентов в практику использования управляющих конструкций Python 3. Скрытая цель лабы — показать, что программирование — это не занудно. Некоторые студенты со школы знакомы с исполнителем Черепашка в ЛОГО-мирах, КуМир и PascalABC.NET. Другим будет просто забавно.
  3. Можно вначале показать как управлять черепашкой интерактивно, из консоли питона, и только потом запускать скрипты.

№2. Практика: Робот

  1. Будьте в хорошем настроении. Спросите, понравилась ли им прошлая работа с Черепахой, и доделывали ли они её дома. Если кто-то захочет показать чему научился с Черепахой, то пусть вам покажет. Покажите, что вам интересны успехи каждого студента персонально0!
  2. В этой работе продолжаем нескучным образом изучать циклы и условное выполнение. Использовать интерактивный режим или Jupyter не следует! Запускаем из консоли.
  3. Обязательно пройдитесь по всем студентам и покажите как запускать задачи на проверку из консоли, а также как запустить их проверку разом (all_tasks.py), чтобы они видели свой прогресс.
  4. Сложными местами будет использование подпрограмм и переменных. Можно в некоторый момент призывать всех ко вниманию и каждого вида задач рассказывать у доски решение одной задачи.
  5. Следите, чтобы даже у самых отсталых студентов не было ступора. Если мы "потеряем" их сейчас, дальше они совсем просядут. Нужно помочь им увлечься программированием именно на этой лабе!
  6. В конце напомните, что дома стоит доделать работу про Робота.

№3. Контест: условия, циклы, однопроходные алгоритмы

Этот контест лёгкий, но у некоторых студентов вопросы возникнуть могут. Надо помогать им в меру, оставляя немного интрики (не доделывая им задачи до конца).

Будьте позитивны, поддержите у студентов ощущение, что программирование — это очень просто. Каждого, кто успешно закончит контест, поздравьте.

№4. Практика: графические примитивы

Знакомим студентов с тем, как разделять код на функции.

  1. Когда все выполнят задание 1, нужно заострить внимание на себе и сказать провернуть такую игру: Пусть каждый придумает как можно немного изменить свою картинку (на что у самого человека ушло бы не более 30 сек) и попросит соседа справа чтобы тот сделал это в коде, ни в коем случае не рассказывая ему каких либо пояснений. Это нужно чтобы каждый человек попробовал быстро разобраться в совершенно новом говенном некачественном коде и сознательно изменил в нем что то. На это дается пять минут. Цель — вызвать отвращение и дискомфорт от поддержки такого кода, как формирование причины отказа от него и перехода к чему то более удобному - функциям.
  2. Если остается время — стоит в конце всей лабы дать задание на укрепление материала по функциям с параметрам. Это может быть например написание проги с перемещением человечка или чего то другого по экрану (использование цикла + функции с параметром) или чего то подобного.