О сложностях менторства новичков в программировании

Ещё до начала пандемии коронавируса в России мне пришла в голову мысль: "Могу ли я как-то ослабить экономические последствия эпидемии?". Идея возникла почти сразу: "Если многие люди могут потенциально потерять работу, значит, я должен им помочь с освоением новых навыков в области с большим спросом на рабочую силу". А так как я уже довольно долгое время программировал на C/C++, то решил в свободное время обучать людей программированию на...python.


Обучаю программированию на python


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


О методике преподавания


Для эффективного преподавания изначально я выбрал несколько стратегий.


Бесплатные онлайн-курсы


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


Пригласил пользователей пикабу в группу вк и объявил, что я сам в качестве ментора буду отвечать на простые вопросы из pythontutor. Сразу же всплыла одна из первых проблем: у пайтонтьютора не было мобильной версии. Люди хотели проходить курс по питону на смартфоне. К сожалению, единственное, чем я мог помочь в этом случае — посоветовать бесплатное мобильное приложение sololearn.


Чуть позже, я обнаружил ещё два прекрасных вводных курса по программированию на степике:
https://stepik.org/67
https://stepik.org/512


Как известно, у степика есть мобильное приложение.


Публикация чужих видео с youtube


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


Обучение через пример разработки простого приложения


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


О наивности

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


Составление треков обучения и сбор полезного материала.


Тут всё прошло более-менее гладко. Мы смогли составить треки обучения по двум направлениям: data science и автотестирование. До веб-разработки мы пока не дошли. Но тут выявился другой недостаток: мало желающих идти "правильным" путём.


В нашей группе я предложил начать вместе проходить трек data science с курса по теории вероятностей. Условие: наличие отличных сертификатов по двум указанным курсам питон со степика. Много людей выразили желание поучаствовать в этом, когда я только анонсировал задумку, но, к сожалению, никто пока не прислал сертификаты. Причиной мне видится нежелание людей тратить время на что-то непонятное.


Результаты обучения за два месяца (результаты опроса)


На момент проведения опроса в группе было около двух тысяч человек. В опросе приняло участие 58 человек. Дальше приведу несколько картинок. Гендерное распределение:


гендерное распределение


А так распределились возраста участников:


Возраста


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


Поиск инфы


У нас в группе есть несколько сильных программистов, просто они не решились портить статистику:


Опыт


Интересно, что "старички" все ещё активны, но при этом есть и прилив "молодой крови".


Дата вступления


Далее статистика по курсу пайтонтьютор. Кстати, функцию упорядочивания отображения ответов опроса написал один из участников группы:


pythontutor


Мы спросили также, почему люди вступили в группу изучения языка:


Причина вступления


Интересно увидеть, как люди проходят задачки в курсах:


Усердность


и насколько они довольны собой в изучении языка:


Счастливость.


Итоги и планы на будущее


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


  • многим людям на хватает доступности некоторых курсов (мобильного приложения для изучения в дороге)
  • сложно мотивировать людей идти правильным путём (сквозь изучение базовых понятий компьютерных наук)
  • обучение реальному программированию требует обучения и технологиям разработки (DVCS, CI/CD), что лишь добавляет сложности
  • подбор хороших качественных обучающих материалов крайне трудозатратен
  • сложно заинтересовывать и мотивировать людей на начальных этапах (люди хотят чего-то прикладного, но при этом только-только проходят условный оператор).

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


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

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 17

    0
    Оказалось, что обучение разработке нужно начинать не с самой разработки, а со всего, что вокруг: установки IDE, рассказа о системе контроля версий, о принятых процессах разработки.


    Могли бы Вы подробнее рассказть об этом моменте? Использовали ли Вы какие-то медиа материалы или книги, которые были бы понятны начинающим? Какого набора достаточно для, скажем, самостоятельного джуниора? Можете ли Вы посоветовать, на что именно здесь нужно обратить особое внимание? Спасибо.
    0

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

      0

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

        0
        Не у всех есть компьютеры же
          0

          Странная проблема для 2020 года. Для программирования на питоне подойдёт почти любой комп. На Авито наверняка можно найти б/у ноутбук по цене дешёвого смартфона.

          0

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

          –1
          Какие обычно ресурсы Вы рекомендуете по изучению ООП, паттернов?
            0
            А теперь представьте, что у вас есть группа из двух тысяч человек — кто-то уже прошёл курс по ООП, а кто-то только приступил к изучению циклов. Получается, что общей базы у группы нет, о чем конкретно рассказывать — непонятно.

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

              0
              В нашей группе я предложил начать вместе проходить трек data science с курса по теории вероятностей. Условие: наличие отличных сертификатов по двум указанным курсам питон со степика. Много людей выразили желание поучаствовать в этом, когда я только анонсировал задумку, но, к сожалению, никто пока не прислал сертификаты. Причиной мне видится нежелание людей тратить время на что-то непонятное.

              У меня другое объяснение. Люди начали проходить эти курсы и банально застряли на середине без позитивного подкрепления. Например на циклах или массивах. Посмотрите на характерный пик в статистике по pythontutor на четвертой теме.


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

                0

                Вы предлагали репетиторство в этом канале? Я имею в виду индивидуальные занятия с преподавателем и оплатой по времени.

                  0

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

                  0
                  Добрый день, подскажите как называется ваша группа ВК?
                  0

                  Каким образом кому-то это помогло найти работу?
                  Кроме тех кто уже работал программистом и просто доучил питон с вашей методикой..

                    0

                    Человек написал только, что замотивировался и пошёл искать работу. И нашёл. Сам он на третьем или четвертом курсе технического универа.

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

                  Самое читаемое