company_banner

Контроль знаний: роботы против студентов



    Привет, уважаемый %username%. Я снова решил поделиться с тобой своим небольшим опытом преподавания в IT. В частности, курса СУБД в совместном проекте Mail.Ru Group и МГТУ им. Баумана – Технопарке. Эту статью я хочу посвятить теме контроля знаний. Расскажу о том, как мы меняли и меняем подход к этой задаче, с какими проблемами столкнулись и как планируем их решать. Добро пожаловать под кат.

    Институт, экзамены, сессия

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

    1. Основной системой контроля знаний был экзамен. Это довольно избирательная система: можно вытащить «счастливый» билет, списать или попасть пальцем в небо. При этом остается некоторый человеческий фактор. Это расположенность к вам преподавателя, его настроение и так далее. По сути, очень сложно придумать независимую систему оценки знаний с человеческим лицом. Кроме того, экзамен в Технопарке выпадал на период сессии в Бауманке, и студенты, естественно, расставляли приоритеты не в пользу проекта.
    2. Рубежные контроли (РК). Для того, чтобы несколько улучшить ситуацию с единой точкой контроля, мы добавляли промежуточные. На них мы хотели проверить конкретные знания без оценочных суждений, предлагая студентам задачу, правильный ответ на которую давал бы N баллов. Но, как оказалось, проверить у 30 студентов по 18 задач (итого 540) на составление запросов занимает слишком много времени, а таких РК три.
    3. Семестровый проект. В ходе курса студентам в группах по 3 человека было предложено разработать проект на свой выбор с учетом того, что в нем должна быть высоконагруженная база данных. И снова беда: предъявить достаточно осмысленные и адекватные требования к сферическому проекту в вакууме оказалось очень сложно. В группах сложилось обыкновение делить предметы курса на людей, то есть ты делаешь Java, ты – СУБД, а я – фронт. Тем самым студенты не получали достаточных знаний, концентрируя внимание на 1 предмете.

    Оценив имеющуюся ситуацию, мы решили призвать на помощь роботов.

    Свой зоопарк с шахматами и поэтессами

    Мы решили автоматизировать все процессы приемки рубежных контролей и семестрового проекта. Для РК мы разработали автоматизированную систему проверки знаний. Студентам предлагалось ответить на 10 вопросов за час времени, в каждом РК было по 3 попытки, а всего их было 3:
    1. Написание сложных SQL-запросов
    2. Построение и понимание индексов
    3. NoSQL (MongoDB)

    Для проверки знаний по пунктам 1 и 3 довольно быстро было найдено простое и очевидное решение. Студентам предлагается задача, в которой необходимо написать запрос. Результат запроса сравнивается с эталонным результатом, предложенным преподавателем. Тут есть, конечно, некоторые трудности: задачи приходится составлять достаточно подробно с указанием всех атрибутов в конечной выборке, сортировки, лимиты.

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

    Семестровый проект тоже было решено изменить. Мы решили, что его разработка должна производиться в индивидуальном режиме, и это будет единый проект для всех. В качестве такого проекта мы выбрали API движка комментариев, взяв за пример Disqus. Проект можно разрабатывать на любом языке, не требуется никакого фронтенда и, в общем, ничего лишнего. По сути, прямой интерфейс в БД.

    Проект проверялся в два этапа. В середине семестра, когда прошли все лекции по основам SQL, проводилось функциональное тестирование проекта. Все элементы API должны были работать и отдавать правильные ответы. В конце семестра проводилось нагрузочное тестирование. Мы до последнего не говорили студентам, что и как будет тестироваться, предлагая им черный ящик, и идею в стиле «ссылку на ваш проект разместили на главной Mail.Ru». Мы будем имитировать такую нагрузку, но вы ее можете сами попытаться предсказать. Такое решение было нашей ошибкой, но об ошибках поговорим чуть ниже.

    Тут стоит упомянуть, как складывалась оценка:
    РК – 10 задач, правильный ответ на каждую дает 2 балла. Итого за один рубежный контроль можно получить максимум 20 баллов за все три – 60.
    Функциональное тестирование – 20 баллов, но просрочка сдачи снимала каждую неделю по 2 балла.
    Нагрузочное тестирование. По результатам тестирования всех проектов был получен график распределения, и согласно ему начислялось 0-10 баллов.
    И еще 10 баллов можно было добрать на очном общении с преподавателем. На нем мы пытались выяснить, кто сделал проект сам, а кто списал.

    Менее 75 баллов – не удовлетворительно.
    75-84 – удовлетворительно.
    85 – 94 – хорошо.
    95 и выше – отлично.

    Многие скажут, что шкала очень высокая, но читайте ниже, там будет новая шкала. ;)

    А поговорить? И другие проблемы образования


    Проблема списывания стала основной, с которой мы столкнулись. На РК нам пришлось сделать так, что в конце студенты видят только количество правильных ответов, но не видят, в каких задачах они имеют ошибки. Небольшая ремарка. В конце каждого семестра мы собираемся с руководителями проекта и обсуждаем результаты семестра. В этом году к ним добавились студенты. Да-да, мы обсуждаем качество курса со студентами (вы бы хотели, чтобы преподаватель в вузе выслушал ваше отношение к его курсу?), и это нам дало очень важную и интересную обратную связь.

    Я думаю, вы уже догадались, что не так в нашей борьбе со списыванием? В погоне за контролем знаний мы потеряли элемент обучения. Наша задача не классифицировать людей на группы по остаточным знаниям, наша задача – обучить. И РК, с возможностью попрактиковаться и увидеть свои ошибки, может дать несколько больше навыков, чем пара часов лекций.

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

    Проблема «черного ящика». О ней я уже немного упомянул выше. Нагрузочное тестирование проекта мы проводили в конце семестра. О результатах студенты узнавали уже по факту, не имея возможности все исправить (ну и опять: ничему это не учит по факту, и помочь/поговорить забыли).

    Что будет? Чем сердце успокоится?

    В новом семестре мы попытаемся добавить нашим роботам немного души. На рубежных контролях теперь не будет попыток, сдавать можно сколько угодно раз, система будет показывать ошибки и правильные варианты решения, помогая учиться. Но вместе с этим максимум, который можно получить за онлайн сдачу – 5 баллов. Еще 15 будут добираться при очном общении с преподавателем, на котором студентам придется решить одну из онлайн задач в аудитории. А задача преподавателя – выявить, насколько усвоены знания, и помочь студентам найти свои слабые места и зоны роста.

    В семестровом проекте не будет никаких штрафов за просрочку (слово плохое, да и не работают они). Функциональное тестирование дает 10 баллов. Система нагрузочного тестирования предоставляется заранее, и к проекту предъявляются конкретные требования N rps – 10 баллов, M rps — 8 и так далее. И еще 20 баллов на очной защите.


    Итого максимум снова 100, но:
    Менее 70 баллов – не удовлетворительно.
    70-84 – удовлетворительно.
    85-99 – хорошо.
    100 – отлично.

    Отличная оценка — это только 100.

    Я преподаю в Технопарке уже два года. На протяжении всего этого времени мы постоянно стараемся улучшить курс, сделать его интереснее и полезнее. Мы проводим встречи со студентами, между преподавателями потока и между преподавателями всех курсов вместе, делимся наблюдениями и опытом. Делаем выводы, меняем программу и подходы к обучению. Мне кажется, это здорово. И я уверен, что мы будем делать это и в будущем. ;)
    Mail.ru Group
    1,136.54
    Строим Интернет
    Share post

    Comments 25

      +1
      когда же такой подход придет в оффлайн ВУЗы…
        +1
        промахнулся с ответом. ответ ниже :)
        +3
        Технопарк работает в оффлайне в МГТУ им.Баумана
          +3
          хорошо, каюсь, нужно точнее выражать свою мысль:
          когда же такой подход распространится на региональные оффлайн ВУЗы за МКАДом…
            +1
            Понимаете, какая штука. Чтобы такой подход распространился на все ВУЗы, это должно быть кому-нибудь нужно. Во всех ВУЗах. Сейчас же наблюдается следующая картина — есть ВУЗы, где студенты проводят время и получают дипломы, не получая при этом знаний. Их устраивает, что нагрузка невелика — можно работать и зарабатывать. Преподавателей же устраивает — читаешь каждый семестр одно и тоже и проверяешь одно и тоже. Потому что наименьшее сопротивление.
            Но тут возникает проблема, что есть бизнес. Который амбициозен и который хочет расти.

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

            Соответственно, вывод. Чтобы такой подход распространился на региональные ВУЗы, нужен существенный рост требований у отрасли. Сейчас в ИТ наблюдается очень большой голод, поэтому появляется всё больше образовательных проектов в разных компаниях, направленных на обучение и переобучение студентов. В Москве это заметно. Когда начнут появляться сильные ИТ-компании в регионах, тогда и там это будет так же заметно. Насколько я знаю, кроме Москвы, ИТ-компании плотно взаимодействуют с ВУЗами в Питере, Нижнем Новгороде, Ульяновске, Казани и Екатеринбурге. Просто пока там масштаб как компаний, так и образовательных начинаний не такой большой, как в Москве.
              0
              Мы в ВолгГТУ например на 1-3 курсах достаточно активно используем тесты (на каждой лабораторной работе и экзамене, через Moodle, варианты генерируются индивидуальные, так что никакого списывания) и автоматизированное тестирование проектов (задачи опять же индивидуальные на каждой лабораторной работе).
              Сравнивая с тем, что было, когда учился я (никаких тестов кроме экзамена и пары контрольных работ, и лабораторные работы с мало отличающимися заданиями, которые большинством студентов копировались и модифицировались) — прогресс очень приличный.
            +5
            Образование — дело похвальное, но зачем же столько картинок из футурамы к месту и (совсем) не к месту?
              +5
              да, возможно, переборщил, для подстановки каждой картинки у меня, конечно, есть обоснование, но оно очевидно только мне. Просто, показалось, что читать сухой текст без картинок, было бы довольно скучно.
                +4
                По тематике Футурама в принципе к месту на Хабре
                  +1
                  Хабр, конечно, повлиял на тематику, но идея была взята скорее от того, что когда я общался с коллегами, они довольно быстро обозвали мои автоматизированные тесты роботами, отсюда и название статьи. Ну и более подходящего робота я не нашел.
                  0
                  Статья интересная, да и тематика Футурамы Хабру соответствует. Я только не понял про связь «головы в банке» и оценок.
                    0
                    Голова должна была быть ниже, но я не смог победить хабраредактор, Она была к фразе: «И я уверен, что мы будем делать это и в будущем. ;)»
                  –3
                  Автоматизированный подход и тотальный зафак уже давно внедряются на ФизТехе. А самое удивительное то в чём? Вместо того, чтобы внедрять его на тех курсах, которые очевидно всем нужны и востребованы (математика, физика, теорвер) он внедряется на самых левых курсах. Почему? Лично мне казалось ещё во время обучения, а уж тем более сейчас, что причина в том, что на этих левых курсах у преподавателей проблема с самооценкой. Действительно, неприятно преподавать курс, который не ставится ни в грош. Единственный способ поднять уважение — устроить тотальный зафак и таскать всех по пересдачам.

                  Матан, физику, диффуры — учат все. Так или иначе, народ понимает, что им это надо. Уважение к предмету высокое. А вот понять зачем кому-то может пригодится «теория информации» или криптографические курсы невозможно. Но можно заставить учить.

                  Лично мне такая позиция крайне неприятна. Для курсов, которые не представляют собой базовые знания надо показать студенту почему курс интересен. А если не понравился, то устроить сдачу формальной. Конечно, нужно вбивать в головы основы и базу. Ну а уж учить ли студенту технического вуза «экологию» или «Cisco» должен решать он сам. Слава богу даже на Физтехе это народ на 80% понимает. Но от 20% фриков таки не спасёшься…

                  Скажите, вы не пробовали привить интерес студентам к предмету? Обязательно нужны карательные санкции?
                    +3
                    Начнем с того, что если вы обратили внимание, я читаю курс по СУБД, и, наверное, его нельзя назвать не базовым для веб-разработчка.

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

                    И почему «карательные»? Да, у нас высокий бал за оценку отлично, потому что мы отвечаем за результат нашего обучения. Но в целом программа не настолько жесткая, как может показаться, получить тройку можно легко своевременно сдавая все работы. Да и отличная оценка у ответсвенных ребят не вызывала особых затруднений.

                    Надеюсь, я смог донести до вас свою мысль. И вы больше не будете агульно обвинять нас в «санкциях».
                      –1
                      «Отвечаем за результат обучения». Отлично. Неужели вы гарантируете, что если студент прорвался через созданный вам частокол в чисто техническом курсе, то через пол года не используя набор знаний он сможет хоть что-то сделать не открывая мануалы и вспоминая на память? Даже если он был отличником? Если да, то это нечто принципиально новое в образовании. Не был знаком не с одним таким человеком на Физтехе.

                      Технические курсы на то и есть технические курсы. Запоминаются они только если они интересны и человек этим занимается.

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

                        А у вас есть преподавательский опыт? Может вы расскажите как построить систему обучения с вашей точки зрения?
                          –1
                          Вот-вот. Я тоже за то, чтобы смотреть в мануал. А в то же время любая техническая дисциплина из набора MySQL, Java, С++ и.т.д. это зубрёжка мануалов и особенностей поведения. Для большинства физтехов и мгушников, которых я знаю использование нового языка/технологии это просто неделя гугления во время написания проекта.

                          Преподавательский опыт? Минимальный. Зато я неплохо знаю как устроены системы преподавания в физтехе, на многих его базовых кафедрах, в большинстве московских матшкол, в ШАДе, в конце концов.
                          Систему обучения? Ну, если вся цель вашего Технопарка — подготовить кандидата на вакансию прогера в Mail.Ru, знакомого с 2-3 технологиями, то я считаю, что она у вас идеальна. Если хотите чтобы студенты сумели понимать что, зачем и как, чтобы смогли создавать свои стартапы, делать что-то перспективное, создавать что-то новое, то смотрите в сторону того же ШАДа. Там всё очень круто сделано.
                            +4
                            Понимаете, какая штука.
                            Если я, например, нанимаю математика для разработки реактивного двигателя, я дам ему сокращенные для простоты уравнения Навье-Стокса и попрошу вот прям здесь, на листе бумаги переписать их из операторной формы в форму с частными производными в криволинейных координатах, которая уже собственно и применяется в рассчетах.
                            Аналогично, нанимая SQL-щика в веб-проект, я нарисую ему табличку юзеров, для простоты из двух полей — id и name, скажу, что хочу добавить социальщины (друзей), и мне нужно будет выводить юзеру список «возможно вы их знаете» — т.е. друзей друзей, отсортированных по количеству общих знакомых. И пусть он мне нарисует, какие таблицы и индексы мне нужно добавить в базу, чтобы это все быстро выбиралось.
                            Если человек с этим справится, пусть даже с описками/ошибками, но хотя бы продемонстрирует, что он понимает предметную область и знает, что нужно делать — вот уже тогда я буду с ним разговаривать на общефилосовские вопросы «что, зачем и как». Потому что если у него нет технических навыков на уровне подкорки в своей предметной области, то у меня для него нет денег платить его зарплату ту неделю, пока он будет гуглить в яндексе то, что должен был выучить в вузе. Хотя, вполне вероятно, не будь я его гипотетическим работодателем, я бы с огромным удовольствием пообщался бы ним «за жизнь».
                              –2
                              Вот и я говорю, что данный алгоритм годится для обучения людей, чтобы вдолбить им 2-3 действа и всё. Он их не развивает, а подготавливает к работе в определённой компании. Только вы трактуете это по-другому. Вы говорите что «не поговорить с ними за жизнь», а я говорю, что они не смогут разработать что-то новое и крутое. Они будут знать только свой кусок работы. И, дай-бог годам к 40 ещё несколько соседних. Они не будут видеть то, что их кусок кода не совместим с соседними, они не будут видеть, что задача решается другой технологией куда проще, чем их.
                              Математик, который запишет Навье-Стокса, скорее всего не только математик, а ещё и прогер. Не высокого уровня, но он будет знать достаточно основ, чтобы написать любую систему или софтину за большее время. 90% знакомых мне мехматян, действительно знающих математику смогут это сделать. А ещё он сможет создать алгоритм в совершенно другой плоскости, основанной уже не на гидродинамике, а на статистике, записав формулу байеса.
                              Вы видели много чистых прогеров, которые знают как работает тот же фильтр Калмана и не боялись к нему подступиться?

                              Подход, который вы показываете в статье это подход крупной фирмы, которая хочет набрать себе специалистов. Высший приз, который вы выставляете в этой игре — работа в крупной фирме. Всё нацелено на то, чтобы студенты набрали необходимый набор навыков для этого. Не справился? Гуляй! Наверное, это выгодно: учить несколько лет студента не в компании, а в вузе. Не надо платить зарплату и надеяться на результат.

                              Посмотрите на подход ШАДа. Каков процент успешно закончивших идёт в Яндыкс? Вроде с биоинформатики почти никто не пошёл. А всё потому, что там они дают именно тот набор знаний, которые интересны и поощряют развитие, которые зачастую почти невозможно получить из интернета в структурированной форме. При этом ШАД куда более либерален. Конечно, бывает, что выгоняют. Но в первую очередь они стараются, чтобы было интересно учиться. И самых любопытных и талантливых привлекают к себе. Без хитрой многоярусной системы отсева и экзаменов.
                                +2
                                Ну из моей бауманской группы «нечистых проггеров» (кафедра ИУ6, «эвм и сети», у нас вообще на железо основной упор был) знают, что такое фильтр Калмана, примерно четверть, и ещё как минимум треть без труда разберётся «с гуглом за неделю». И да, 90% из них, если припрёт, сможет «с гуглом за неделю» раскрыть операторы в Навье-Стокса. Ну это так, к слову. Просто в топовом вузе процент умных студентов значительно выше среднего по стране.
                                Как Калман или дифуры коррелируют с тем, сможет ли человек разработать что-то новое или крутое в области программирования? Ну там, новый google, siri или facebook? Да никак. А вот знание реляционной алгебры на уровне «уверенного владения», которое и даётся в курсе баз данных — именно что позволит реализовать. А вот если человек вообще ничего не слышал о релалгебре, структурах данных, теории алгоритмов — ничего нагуглить он не сможет ни за неделю, ни за месяц. И получится у него либо кривое глюкалово, падающее при двух калеках онлайна, либо, если он действительно талантлив, он за несколько месяцев изобретёт свой велосипед там, где можно было взять штатные либы и решить вопрос за пару минут.
                                Да, в крупные компании на позицию джуниора-сразу-после-вуза нужны люди, в первую очередь, с определённым набором конкретных навыков. Дальше они наберутся опыта и те, кто окажется толковыми — поднимутся и будут делать «новые крутые штуки» или в этой компании, или в своём стартапе.
                                  –2
                                  «Знают», или «Пользовались и прогали»?
                                  Вы видели хотя бы одного человека, который бы разбирался в фильтре Калмана и ему было бы это неинтересно? Или который бы сходу через 5 лет после института мог писать и решать диффуры не считая это увлекательным? Но, мне кажется, вы знаете много таких прогеров.

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

                                  Вы говорите «как Калман и диффуры коррелируют с новым?». А теперь простой вопрос: что интереснее, внутренности Java или математика в видеоаналитике и проганье железа? Да, есть люди, которым интереснее первое, но в большинстве случаев если человеку интересна наука он приходит к более сложным вещам. А понимание того, как работает очередной модуль Java остаётся в качестве развлечения на вечер.

                                  Система подготовки с кучей тестов и проверок, делающихся автоматом нацелена на людей, которые не могут учиться сами. Эти люди в любом случае не достигнут высот, так как высоты достижимы только при глубоком саморазвитии, их надо тащить на стабильно-средний уровень.
                                  Но опять же, повторюсь, как курсы под крупную компанию — это разумный ход. Как система, служащая для получения знаний умными ребятами, система полностью бесполезна.
                    +2
                    Система баллов + экзамен + проект? Я понимаю, вам хочется контроля, но я бы с такого курса свалил при первой возможности. Просто потому, что это нервотрёпка, в которой не учишься, а лишь гробишь своё здоровье.
                      +2
                      Да ладно, нормальная мотивация, особенно когда у большинства студентов не хватает собственной )
                      Позволяет прилично подтянуть общий уровень.
                        0
                        Нет же экзамена, только промежуточные контроли, в вузах, это кажется называется коллоквиум (в моем не было, могу ошибаться)
                          +1
                          Ну да, это разделённый на несколько частей экзамен :) У нас нечто такое было. В положительном ключе запомнился предмет, на котором были коллоквиумы + ещё экзамен: в течение семестра было 6 проверок знаний, по каждой выставлялись баллы. По сумме баллов можно было получить +1 и +2 балла на экзамене. То есть можно отлично выполнить коллоквиумы, а на экзамен прийти и сказать «поставьте мне 4» (если этой оценки достаточно), можно забить на коллоквиумы, ничего не делать до экзамена, а потом блеснуть отличными знаниями на 5 (если знания есть). Или, скажем, идти по пути хорошиста, получить 4 на экзамене +1 балл за работу в семестре и получить 5 по итогам.

                      Only users with full accounts can post comments. Log in, please.