Мой Опыт Преподавания Курса На Android

Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в КТС .

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

На создание курса у меня ушло полтора года.

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



Почему я занимаюсь мобильной разработкой

В какой-то момент, когда я учился в университете, у меня появился телефон на Android. Иногда в свободное время писал что-то для этой платформы, но из чистого интереса, для себя.

Я учился в МГТУ.

Баумана, где есть такой проект, как Технопарк.

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

Данное исследование является дополнительной нагрузкой поверх основных занятий.

Пройти такой курс сложно, но полезно.

Одним из направлений была «Разработка мобильных Android».

Я прошла этот курс и усовершенствовала свои предыдущие знания, полученные в университете.

После Технопарка встал выбор, в каком направлении развиваться.

Помимо Android-разработки, я пробовал фронтенд и бэкенд. Мне показалось интереснее всего разрабатывать приложения для смартфонов.

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

Поэтому я остановился на мобильной разработке, которая совмещает в себе все: можно продумать архитектуру, хранилище, взаимодействие с сервером, UI. После окончания учебы я пошёл на стажировку в Mail.ru в раздел Почта и проработал там полтора года.

В какой-то момент мы с моими бывшими одноклассниками решили создать свою компанию КТС.

Все основатели разделили зоны ответственности, я взял на себя мобильную разработку.

Это был конец 2016 года.



Мой опыт преподавания



Мой опыт преподавания курса на Android

Весной 2019 года компания решила провести курс по Android. У КТС уже был опыт преподавания фронтенда и веб-разработки: на кафедре МГТУ.

Бауман может читать лекции, там уже преподавали мои коллеги из КТС.

В нашей компании есть школа для студентов Метакласс, где мы проводим курсы по фронтенду и бэкенду.

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

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

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

Сейчас мы учли предыдущие ошибки и перевели школу в онлайн.

На последний курс по Android записались около 200 человек.



Как я решил сделать курс на Skillbox



Мой опыт преподавания курса на Android

Прошел месяц с момента окончания курса в КТС.

Однажды я зашёл в один из чатов мобильной разработки и случайно увидел, что Skillbox ищет преподавателя для создания курса по программированию на Android. Я решил, что сейчас самое время попробовать.

Я только закончила преподавать курс в КТС, у меня накоплен базовый материал, а знания в голове еще свежи.

Я также хотел улучшить свои разговорные навыки.

Я думал так: улучшу свои знания и педагогические навыки, проведу курс на популярной платформе, а также заработаю.

Для подачи заявки меня попросили прислать короткое видео, объясняющее простую тему.

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

Школа КТС закончилась в августе, а подготовку программы я начал в сентябре.



Подготовка программы курса



Мой опыт преподавания курса на Android

Первым этапом сотрудничества стало составление программы курса.

Курс должен был познакомить студентов с платформой Android и научить разрабатывать приложения с использованием современных технологий.

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

В оглавлении указана приблизительная оценка времени видео для каждого урока.

Я не мог предсказать время.

Поскольку курс был для новичков, все концепции нужно было подробно объяснять и демонстрировать.

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

Программа была нужна студентам, планирующим поступить на курс.

Но лично мне это тоже пригодилось при подготовке материалов.

Я открыл программу, посмотрел, что нужно перевести в уроки, и сел за работу.

Изначально Skillbox планировал сделать курс на основе языка Java, для которого уже был готовый курс.

Необходимо было разработать материал по Android и отдельно предоставить студентам курс по Java. Но в 2019 году многие проекты уже использовали Kotlin, и Google рекомендовал его для разработки под Android. Записывать новый курс на Java было непрактично, поэтому я предложил разработать курс на Kotlin. Для этого в начало курса Android-разработки пришлось добавить дополнительные модули по основам Kotlin. Позже Kotlin также был выделен в отдельный курс.



Мой опыт преподавания курса на Android

Курс Android был рассчитан на полтора года.

Люди приходят менять профессию, поэтому зачастую у них нет даже элементарных знаний.

Благодаря подробной подаче материала, его было очень много.

Мне даже пришлось объяснять вещи, которые обычно не требуют объяснения: что такое Kotlin, переменные, условия, циклы, классы.



Мой опыт преподавания курса на Android

В помощь студентам по каждому модулю составляется глоссарий.

Он содержит термины, которые рассматриваются в модуле, и самые основные понятия, которые не объяснены.

У меня была возможность сократить время, потраченное на курс, за счет сокращения материала.

Но в таком виде презентация получилась бы скомканной.

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

Чтобы курс был полезен студентам в дальнейшей практике.

Для сравнения, занятия в КТС очень разные.

Курс, который проходил осенью 2021 года, включал 7 лекций, по 1 в неделю, и студенты должны были успеть все выучить, выполнить домашнее задание и защитить проект. Курс Skillbox состоял из 34 модулей.

Новый модуль выходил каждые 2 недели и состоял из 4-5 уроков-лекций.

Изначально планировалось, что общая продолжительность уроков модуля составит час.

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

Но даже при этом некоторые студенты писали отзывы, что информации недостаточно.



Запись модулей курса



Мой опыт преподавания курса на Android

До пандемии коронавируса я готовил материал дома и приходил в студию записывать.

По материалам модуля я собрал презентации, глоссарий, сценарии лекций, примеры кода, домашние задания и тесты.

На начальном этапе курса все материалы проверялись методистом на корректность донесения информации до студентов.

На подготовку и запись модуля уходило в среднем 30 часов.

Т.

к.

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



Мой опыт преподавания курса на Android

Курс я разрабатывал в таком режиме почти полтора года.

За это время я полностью выбился из сил и не осилил работу на втором, углубленном курсе.

Это немного разочаровало: готовить подробные уроки по базовому материалу было не очень интересно; изначально я рассчитывал на углубленный курс.

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

Были и другие проблемы: поначалу было сложно что-либо сказать в записи.

Раньше у меня никогда не было такого опыта, и в студии было несколько камер с направленными на меня лампами.

За несколько модулей я привык, но потом начался карантин из-за пандемии.

Потом я начал записывать уроки из дома.

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

К тому же, так все работало быстрее.

В пятницу утром я шел в студию и терял там полдня.

Сама запись тоже заняла больше времени: на запись модуля я потратил 6 часов.

Дома запись заняла вдвое меньше времени.

В итоге я записал в студии только первые 7 модулей, а остальные удаленно.



Домашние задания и итоговые проекты

Модуль имеет теоретическую и практическую части.

Теоретический курс состоит из лекций и слайдов презентации.

В практической части студент видит скринкаст среды разработки, где я пишу код по теме урока.

По окончании модуля студент обязан дать домашнее задание.

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

А части проекта послужат домашним заданием.

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

Домашнее задание имеет:

  • цель
  • описание
  • критерии оценки
  • советы по реализации
Благодаря этому легче придумывать задания, и им удается охватить все темы урока в полном объеме.

Но была и финальная работа.

Для проекта я нашел список открытых API и выбрал самые интересные и актуальные.

В итоге мы с методистами выбрали 3 проекта: фотосток unsplash, соцсеть reddit и сервис обучения strava. Для каждого проекта необходимо было написать техническое задание, чтобы упростить проверки и стандартизировать необходимые функции.



Мой опыт преподавания курса на Android

Дополнительно согласно техническому заданию дизайнеры нарисовали дизайн приложений в Figma.

Мой опыт преподавания курса на Android

В конце курса студенты выбирали одну из тем проекта и реализовывали конкретный список возможностей по готовому описанию.

Я переделал часть домашнего задания.

Команда по аудиту продукта собирает отзывы студентов и подсчитывает баллы CSAT. Если какой-то ПД вызывает слишком много вопросов, количество итераций исправлений со стороны студентов увеличивается – он перерабатывается и упрощается.

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

Некоторые уроки нам также пришлось переписать: информация, записанная в курсе, постоянно устаревает: версии IDE, подходы, устаревшие методы.

Дополнительно возникли технические проблемы со звуком и видео.

Без переписывания все это усложняет работу учащихся.



Проверка домашнего задания

Все домашние задания во время курса проверяются преподавателями и даются отзывы студентам.

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

На курс пришло около 50 человек.

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

Через некоторое время к курсу добавились преподаватели-тестеры.

Сначала это были наставники на курсе Java с опытом работы в Android, а затем Android-разработчики.

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

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



Проблемы при создании курса

По итогам курса я выделил основные проблемы, возникшие при его создании и доработке:
  • Устаревание информации.

    Пока я записывал курс, материал в первых уроках уже устарел: версии IDE, методы и подходы.

    Иногда мне приходилось перезаписывать материал

  • Звук, видео и монтаж.

    Иногда при монтаже не вырезались лишние детали и оговорки.

    Это и понятно: специалисты по монтажу не обладают достаточным знанием материала.

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

    Видео и звук периодически были плохого качества из-за технических проблем.

    Поэтому после окончательного монтажа нужно детально проверить полученный материал.

  • Недовольство аудитории.

    Студенты жаловались на слишком затянутое или слишком сжатое повествование, а также на манеру изложения.

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

  • Длинные уроки.

    Некоторые уроки оказались слишком длинными, до часа по времени – а с увеличением продолжительности растет и сложность понимания.

  • Понимание проблем опозданий.

    Не хватало промежуточных проверок оценок от студентов для анализа и корректировки модулей.

    Этим занималась отдельная команда по аудиту продукта, когда запись курса уже подходила к концу.

    Поэтому на момент понимания проблем оказалось невозможно исправить некоторые без полной переписывания модулей.

    Также не удалось учесть прошлые проблемы при создании новых модулей.

  • Пустая трата времени на скрипты.

    В конце курса среднее количество листов сценариев в одном модуле составляет 42. Я убедился, что сценарий урока очень помогает, но только в теоретической части урока; в противном случае абстрактов достаточно.

    Поэтому не нужно делать скрипты слишком подробными.

  • Общая нагрузка на человека.

    В одиночку написать курс, особенно такой длинный, сложно.

    Лучше сотрудничать с несколькими преподавателями

  • Плотный график выпуска модулей.

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

    Это еще одна причина, почему такой курс следует проводить в команде.

  • Немного материала для другого уровня.

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

    Его можно было убрать, тем самым сократив некоторые уроки.

Примеры дополнительных материалов
  • Теория баз данных
  • Внутреннее устройство сопрограмм
  • Нюансы разных видов сборки
  • Редко используемые элементы пользовательского интерфейса
  • Ограниченное хранилище
  • Углубление в многопоточность, обработчик, лупер


Платежная система

2 года назад мы заключили договор с оплатой за часы: как работал, так и зарабатывал.

Но в среднем все модули заняли примерно одинаковое количество времени: 30 часов чистой работы.

Оплата осуществлялась после публикации каждого модуля на платформе.

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

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

При обсуждении оплаты важно правильно оценить ценность вашего времени, объем и продолжительность курса, график выхода материала.

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



выводы

Работа над курсом заняла полтора года.

За это время я обновил некоторые темы и изучил, как они работают «под капотом».

В Android всегда появляется что-то новое, и каждый год выходит как минимум одно крупное обновление с новой версией ОС.

Чего-то я не встречал в рабочих проектах.

Благодаря созданию курса я смог посмотреть и понять.

Донести материал до слушателей стало проще.

Хотя я все еще немного нервничаю перед лекциями, мне стало легче.

При написании статьи я собирал статистику развития курса:

  • Количество модулей - 34
  • Количество уроков - 162
  • Количество пультов дистанционного управления – 40
  • Количество тестов - 64
  • Продолжительность видеокурса (часов) - 46,5
  • Время, проведенное на курсе (часов) - 997
  • Среднее количество времени на модуль (часов) – 29
  • Количество презентационных листов - 1243
  • Среднее количество презентационных листов в одном модуле – 36.
  • Количество листов сценария - 1449.
  • Среднее количество листов сценария в одном модуле — 42.
Когда курс Skillbox закончился, у меня было относительно свободное время в несколько месяцев.

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

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

Гораздо интереснее создавать более короткие курсы самостоятельно.

Вы можете продвигать его самостоятельно и проверять гипотезы.

Цикл обратной связи короче.

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

Я хотел бы обратить внимание читателей на то, что если курс создаст несколько инструкторов, то это будет лучше для всех.

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

Если вы тоже проходили курсы, поделитесь, как это было? Вы очень устали? Какой у вас был опыт? И вообще, понравилось вам это занятие или нет? Теги: #Android #Разработка Android #онлайн-курсы #Образовательный процесс в IT #преподавание

Вместе с данным постом часто просматривают: