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

Отсутствие оценок

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

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

Однако в современном EdTech оценки ставить не принято. Считается, что студенты должны учиться не ради оценок, как в школе или вузе. Скорее всего, есть еще какие-то аргументы в пользу этой позиции. Понятно, что оценить клиента, который составляет основную ценность в образовательном бизнесе, задача крайне сложная,  деликатная и даже опасная. Ведь клиент может обидеться, написать негативный отзыв, перестать платить и т.п. Так что если можно не оценивать, то рисковать, конечно, никто не будет.

Отсутствие полноценного сообщества

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

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

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

Проблемы с обратной связью

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

Что делать? как и зачем оценивать прогресс?

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

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

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

Соревнования

Первый способ - сравнить себя с другими студентами - неприменим к обучению в EdTech, т.к. в нем нет ранжирования учеников. Если я знаю, что я где-то в конце списка (ранжирования студентов по академическим успехам), то для меня это мощная причина учиться усерднее, причина задуматься о причинах такого положения дел. Однако у представителей EdTech есть цифры, что лишь 2% людей мотивируются сравнением себя с другими. Способ сравнения себя с другими, конечно,  есть и находится он за пределами платформ обучения  - это, например, Kaggle и другие соревнования/хакатоны.

Эталонное время

Второй способ состоит в том, чтобы сравнить время решения задачи с эталонным. Пример - задачи  на Coursera в курсе программирования (в моем случае это курс М.Густокашина). В этом курсе для каждой задачи указывается эталонное время - например, 10 минут. Таким образом, можно рассчитать время собственного решения и сравнить свое время с эталоном. Можно также отслеживать, как меняется это время в динамике; от каких факторов оно зависит и таким образом приближаться к эталонному значению. Также можно выявить свои любимые задачи - это в точности те, которые решаются быстрее остальных (при прочих равных).

Ни дня без строчки

Третий способ - найти элементарное действие и добиваться его исполнения каждый день. Как говорили древние: “Ни дня без строчки”. Это сложная задача для начинающего. Как ни странно, на эту роль могут не годиться ни элементарные задачи, решение которых может быть слишком простым и не приносить удовлетворения,  ни сложные оригинальные или олимпиадные задачи (для решения которых может быть мало дня). Найти такое действие - уже большая удача. 

Писать любимый проект в “потоке”

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

Оценить число методов

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

Сравнить себя с профессиональным кумиром

Кумир в данном случае - профессионал, который прошел дальше по тому пути, по которому иду я. Данный термин не означает слепого поклонения. Здесь можно попытаться ответить себе на вопрос: а как бы эту задачу решил мой кумир? А сколько времени бы ему потребовалось? Есть метод одновременного решения задач с ментором, при котором и ученик и ментор одновременно решают задачу - ну не прекрасно ли это?

А как вы оцениваете свой прогресс в процессе обучения программированию?

Комментарии (1)


  1. panzerfaust
    16.06.2022 14:23
    +1

    Сходить на собес? Или хотя бы попросить знакомого действующего разработчика провести вам собес.

    У меня был случай. Написал мне один старый знакомый и попросил помощи в сложном деле вайтишничества. Ну я ему примерно набросал дорожную карту.

    Через какое-то время он написал мне, что прочитал какие-то там книги, прошел какие-то там курсы, теперь пишет "Морской бой" на джаве - и скоро будет готов к собесам. Я сказал, что он занимается ерундой и что мы на джаве игры не пишем.

    Через какое-то время он снова написал мне. Сказал, что познал дзен ООП. Переписал свою игру с процедурщины на ООП с паттернами. А потом еще прикрутил гуй на Java Swing. Я ему снова сказал, что он занимается ерундой.

    Он написал мне третий раз. Прошел уже год с первого разговора. Мол теперь он просто бог ООП и джавы. И кучу книг прочитал. И гуй переписал уже на JavaFX. И теперь готов к собесам. Ну я устроил ему собес у знакомого тимлида. А тимлид потом спросил, зачем я дурачка к ним прислал.

    То есть человек потратил год, варясь в своем соку, выдумывая собственные метрики собственной крутизны. На выходе пшик. Хотите оценки - хоть тушкой хоть чучелом просачивайтесь в профессиональное сообщество и просите собеседования на каких угодно условиях.