Если что-то сразу не получается… | Обучение онлайн индивидуально

Если что-то сразу не получается…

это не повод для огорчений

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

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

Отчасти поэтому многие профессиональные программисты не любят (а некоторые и не умеют) разбираться в чужом коде, который написал другой программист. Большинство предпочитает написать программу заново, отслеживая каждый свой шаг и понимая каждую запятую.

Мой свежий кейс с уроков творческого программирования

Мы с учеником, который недавно начал изучать программирование игр в Scratch, после создания нескольких простых мультфильмов приступили к разработке аналога его любимой игры Geometry Dush (сейчас эта игра весьма популярна у школьников). Мы нашли реплику этой игры на портале scratch.mit.edu, где миллионы начинающих разработчиков реализуют свои мечты.

Цель занятий

Наша задача — не использовать готовое, а научиться новому и создать свою собственную версию игры! Поэтому слегка изучив проект другого разработчика и увидев, как много в нем разных спрайтов (игровых объектов) и скриптов (программ), приступили к постепенному движению к цели, изучая то, что пока ученик не знает, и сразу же применяя полученные знания в своей упрощенной версии проекта. Это не только написание кода (создание скриптов) на визуальном языке программирования Scratch, но и инструменты самой среды программирования.

Так мы научились ещё лучше рисовать спрайты в векторном графическом редакторе, используя новые его возможности, узнали о рюкзаке Scratch и использовали его для переноса в свой проект некоторых деталей.

Ход работы и важные темы

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

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

Столкновение с проблемой и получение важных навыков

Код правильный, но работает не так! Я делаю то же самое, и у меня работает… В такие моменты приходится перебирать массу разных предположений о причине ошибки: от сбоев в Сети и на сайте Scratch до каких-то необъяснимых проблем с программным обеспечением компьютера ученика, в частности, версии браузера. Мы живем в разных странах, и я не могу подойти к ноутбуку ученика и посмотреть, что не так.

Технически мой метод работы онлайн на 90% заключается в том, что я вижу трансляцию экрана ученика и управляю его действиями вслух. Фактически ученик – пилот, управляющий своим компьютером, а я — его ассистент-навигатор, подсказывающий, куда двигаться дальше. Именно так все мои ученики получают максимум практических навыков даже в формате онлайн. Когда человек все делает сам и допускает ошибки, он автоматически обучается более эффективно.

Мы пробовали добавлять в скрипт небольшие дополнения, чтобы разобраться в причинах его ошибочной работы. В профессиональном программировании это называется тестированием и отладкой. Ученик при этом продолжал узнавать новое. Мы сделали новый проект и собрали скрипт заново на «чистой» локации без других элементов. Ничего не помогало. Я практически иссякла в своих предположениях, что пошло не так… Начали приходить мысли: «…ну вот, учитель не знает, что делать! Какой же я учитель!»…

Не стоит опускать руки

Я уже более 10 лет обучаю программированию школьников. Поэтому не привыкла опускать руки и продолжила экспериментировать руками моего ученика, попутно поясняя, что в процессе разработки программ часто что-то может не получаться сразу. И это, пожалуй, самый ценный опыт, который получает ученик. Это то, чему невозможно научить сразу. В традиционном обучении решают задачи, у которых есть ответы, и можно с ними свериться. В реальной жизни мы сталкиваемся с задачами, у которых готовых ответов нет. То же и при разработке своего продукта. Поэтому я стороник практико-ориентированного обучения по принципу learning by doing (учись, делая).

Награда: новые знания и опыт!

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

  • как можно решать одну задачу разными способами
  • как терпеливо и методично доводить дело до результата, добиваясь своего
  • как узнавать новое и расти над собой в проблемной ситуации, не бояться ошибок

Книга-игра «Творческое программирование для девочек и мальчиков» - результат моего практического опыта работы с сотнями учеников

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

Благодарю моих творческих, целеустремлённых и любознательных учеников!

Приглашаю в мир творческого программирования детей и взрослых!

Индивидуальные онлайн занятия ведёт Ольга Елисеева, кандидат технических наук, доцент.

Прокрутить вверх