Как поймать программиста на списывании и стоит ли этим заниматься?



    Побывал я тут в славном городе Переславле-Залесском на 13-й конференции “Открытое программное обеспечение в высшей школе”, организованной Базальт СПО и ИПС РАН. И показалось мне, что на данной конференции поднимались вопросы, которые могут быть интересны читателям Хабра. Среди них:
    • Как построить более эффективную систему высшего образования?
    • Как, и стоит ли вообще, контролировать списывание при обучении программированию?
    • Можно ли внести вклад в открытый проект не изменяя его исходный код?


    Особенно хотелось бы выделить два доклада, а точнее, проблемы, которые в них поднимались.
    • “Oшибки в государственном надзоре за высшим образованием — главная проблема высшего образования в России” (автор С. М. Абрамов)
    • “Как я делал проверку копипасты для спецкурса по Python3, и что из этого вышло” (Г. В. Курячий)

    Буду рад обсудить эти темы в комментариях.

    Первый важный доклад: “Ошибки в государственном надзоре за высшим образованием — главная проблема высшего образования в России”


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

    Автор предложил подход, позволяющий, на его взгляд, улучшить качество образования. Подход заключается в оценивании ВУЗов по востребованности его выпускников. Ну а востребованность выпускников предложил оценивать по несколько спорному, на взгляд многих, критерию — белой зарплатой выпускников в РФ за три года после выпуска из университета, то есть по НДФЛ-2. Срок определялся исходя из того, что со временем влияние ВУЗа уменьшается. Белая заработная плата только по РФ выбрана исходя из того, что выпускники пополняют бюджет, часть из которого пойдет на обеспечение обучения следующим поколениям. Поправки он предлагал всего две: регионализация (нормирование зарплаты исходя из средней по региону) и коэффициент важности для государства (поскольку есть значимые отрасли с небольшими зарплатами).

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

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

    Второй важный доклад: “Как я делал проверку копипасты для спецкурса по Python3 и что из этого вышло”


    Автор вёл спецкурс по обучению языку Python. В процессе обучения студентам были предложены обучающие задачи с ограниченным количеством вариантов, и невозможно было дать каждому студенту индивидуальное задание. Автор пытался автоматизировать проверку заданий, задания принимались онлайн и, конечно, возникала проблема плагиата или, попросту, списывания. Автор разработал программу, в которой он привел программы к “каноническому” единообразному виду. Кроме форматирования PEP8 он также изменил названия переменных во внутреннем синтаксическом дереве разбора и получил скорее слепок алгоритма, а не слепок программы. По этому слепку можно было составить кластеры похожих решений, оригинальным автором этого кластера является первый сдавший.

    При проверке утилита показывала очень хорошие результаты, но и ложных срабатываний было много. Автору пришлось даже ввести правило, что кластер однотипных решений размерностью более 5 элементов являлся ложным. Число 5 было взято автором из тех соображений, что к нему на курс вряд ли могли записаться люди знакомые группой более 5 человек. И всё равно было много ложных срабатываний, и пришлось просматривать все решения на возможный плагиат “глазами”. В итоге автор задался вопросом, а правильно ли в условиях сильной “информационной связности” пытаться ее понизить. Например, суть opensource — это как раз коллаборация, да и вообще, современные IT-технологии во многом основаны на принципах коллаборации, и нет ничего плохого в заимствовании хорошие решения. Более того, он сказал, что не знает, где в России обучают быстро искать информацию для решения, и если такого места нет, то первым будет МГУ.

    В кулуарах я продолжил дискуссию с автором и выяснил, что хотя он и признал бесперспективность борьбы с коллаборацией в программировании (по крайней мере, таким образом), он все ещё задается первоначальным вопросом. А именно, как выявить оригинальных авторов как наиболее умных, талантливых и трудолюбивых представителей студенчества? Когда я предложил отказаться от контроля, а проверку знаний осуществлять путем проверки принятого PR в какой-нибудь адекватный репозиторий, мне справедливо ответили, что на курсе по основам языка, так не получится, а если получится, то это будет скорее проверка умения взаимодействовать с сообществом и проталкивать PR. Я в горячке высказал мнение, что с помощью контроля готовят средних специалистов. Даже прозвучало (уже не от меня), что программированию можно учить и в техникумах (колледжах, если хотите), с чем я категорически не согласен. Кодеров — да, можно учить и в техникумах, и им необязательно знать сложную математику и продвинутые алгоритмы. Ведь сейчас уже написана огромная база кода с множеством алгоритмов и нужно просто знать как их использовать в нужном месте. И да, кодеров, которые знают как использовать ту или иную библиотеку, технологию или набор технологий, нужно существенно больше, чем программистов. Они действительно быстрее решают подобные однотипные задачи и, следовательно, эффективнее с точки зрения бизнеса. Но именно те самые-самые, которых и пытается выявить автор (и одним из которых, я уверен, он и сам является), и двигают прогресс. Многие из них не могут ужиться и пройти через систему контроля и вылетают из ВУЗов, потому что, как известно, выживают не самые умные и сильные, а самые приспосабливаемые.

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

    Дошкольное образование


    Хотя конференция имеет словосочетание “высшая школа” прямо в своем названии, было довольно много докладов о разработках для дошкольников. Тезис звучал следующем образом: начинать обучать IT нужно раньше, чем в ВУЗе, а то страшные вещи случаются: например, одна выпускница наизусть выучила 31 программу на языке Python для сдачи экзамена.

    Один из таких докладов был посвящен проекту ПиктоМир. Продукт представляет из себя простейший графический язык и эмулятор для управления роботами. Данный продукт внедряется на данный момент в ХМАО и ещё в нескольких местах в Москве и проходит апробацию на детях начиная с шестилетнего возраста. Физических роботов, поддерживающих данный язык, насколько я понял, существует только два, а поскольку, как выразился автор, проект разрабатывается в НИИСИ РАН, оба робота в военном или полу-военном исполнении. Правда, автор доклада после демонстрации на кофе-брейке подарил организаторам три детских робота из мира ПиктоМир (вертуна, таскателя и толкателя, если я не ошибаюсь) :)

    → Исходный код на gitlab.

    Был представлен ещё один робототехнический проект для обучения детей программированию. Это проект УМКИ. Разрабатывается ещё одним институтом российской академии наук, хоть и гораздо меньшим по размеру ИПЛИТ РАН. Проект направлен на создание роботизированной платформы (машинки) на основе Arduino. Связь осуществляется по интерфейсу ZigBee, поэтому на основе нескольких машинок можно организовать mesh-сеть, то есть группа машинок представляет из себя мультиагентную систему. Автор принёс показать несколько машинок, но поиграться с ними мне не удалось, т.к. нужно было уезжать в этот же день.

    → Исходный код на github.

    Студенческие и университетские свободные проекты


    Алексей Новодворский (Председатель Оргкомитета Конференции) отметил, что, к сожалению, проектов, которые разрабатываются, поддерживаются, или изначально стартовали в университетской среде, у нас очень мало. Тут я согласен, и в своей статье “Где взять программиста”, я отметил, что хотя университет — это самое правильное место для работы над проектами с открытым исходным кодом, их у нас достаточно мало.

    На конференции было представлено два подобных проекта — это, как вы понимаете, Embox и проект простой IDE ”Kuzya”.

    В своем докладе, я попытался сравнить подходы к развитию разных ОС, применяемых в учебных целях. Я пришел к выводу что Minix, который в ходе своего развития (версия 3) пришел к полноценному открытому проекту, более интересен с точки зрения обучения студентов, чем, например, Nachos, который может применяться только в качестве обучающего средства. Также я позволил себе назвать наш проект успешным, поскольку он продолжает развиваться уже более восьми лет и является востребованным в промышленности. Эту успешность я связал прежде всего с изначальной ориентацией на создание полноценного программного продукта в рамках проекта с открытым кодом. Естественно, про открытость проекта я не говорю, она подразумевается как основа успеха :)

    → Исходный код на github.

    Проект Kuzya получил название в честь кота одного из разработчиков. Разрабатывается в Львовском национальном университете имени Ивана Франко и является простой (я бы даже сказал простейшей) IDE. Простейшей потому, что нацелен именно на обучение С/C++. Kuzya не имеет даже файла проекта, редактирование ведется в единственном файле компиляции. Имеется встроенный графический модуль.

    → Исходный код на github.
    Описание на русском есть на sourceforge.

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

    Проблема участия “непрограммистов” в свободных проектах


    Именно так звучало название одного из докладов на конференции. Автор на примере проблем написания документации в программных проектах рассказывал о проблемах вовлечения людей, не занятых написанием кода. По мнению автора, в отличие от программистов, “непрограммисты”, вовлекаясь в проект, не могут учиться и обмениваться опытом. Но я написанием данной статьи опровергаю тезис о трудностях “непрограммного” вклада в свободные проекты. В качестве ещё одного “непрограммного” вклада Стас Фомин belonesox предложил сделать страницу на википедии, посвященную данной конференции. Он же предложил студентам изучать и оставлять комментарии к видео с техническими докладами (видео с данной конференции также доступны) на 0x1.tv. Так что никаких проблем для участия нет, было бы желание! :)

    P. S.
    • +23
    • 6,9k
    • 8
    Embox
    100,44
    Открытая и свободная ОС для встроенных систем
    Поделиться публикацией

    Похожие публикации

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

      0

      Надо было неделю подождать, пока я видео не выложу… Народ и так не рвется обсуждать доклады с конференций… а тут еще и заочно, в режиме «Пастернака не читал, но осуждаю…». :(

        0
        Ну я предложил обсудить не доклады, а высказать мнение о двух важных, на мой взгляд, проблемах, которые описаны в тексте статьи :)
        Ну а обзор конференции (всех докладов) можно будет и через неделю другую выложить…
        0

        Сомневаюсь, что-то кто-то будет обсуждать пересказ, но попробую вбросить.


        «…нормирование зарплаты исходя из средней по региону и коэффициент важности для государства (поскольку есть значимые отрасли с небольшими зарплатами)»
        — вот даже тут, докладчик форсирует одну из основ политики в РФ «работающая бедность» (почитайте там, как в регионах трамбуют промышленников, пытающихся платить «большие чем в среднем» зарплаты).


        Хотя в целом, идея автора «win-win, больше денег людям» противоречит концепции «управляемая бедность везде», начиная с этих оговорок, опять все сваливается в мутные, подогнанные чиновниками KPI.


        Ну и, разумеется, если уходить в либертарианство, то следующая логичная мысль — а зачем вообще тут государство, дотации и KPI? Пусть будет классика — «образовательные кредиты, выплачивающие их выпускники», а государство пусть следит, что кредиты выплачиваются за разумный срок (иначе, наверное, ВУЗ не очень эффективен), и что в ВУЗе не калечат (здоровье-зрение-осанка-психика-вещества-форсирующие-обучение и т.п.).

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

          И да, во время доклада, так и подмывало спросить, а почему бы не развить промышленность, а то чиновники определяют что же нужно государству. Ведь фраза про миллион IT-специалистов, или 10^6 для привлечения внимания технических специалистов, звучала ну очень часто на конференции, что подозрительно.
          0
          del
            0
            Я как-то своему ВУЗу предлагал «быть ВУЗом студенты которого больше других ВУЗов участвуют в известных свободных проектах»
            такая метрика хороша следующим:
            — я пока не слышал чтобы кто-то использовал такую метрику, а значит можно быть первыми, иметь фору
            — участие студентов в свободных проектах не требует участия в них же преподавателей, всё менторство можно сваливать на существующих участников этих проектов (и студентов старших курсов), работа преподавателей даже может упроститься — проще проверять, если приняли патч, то велика вероятность что работа сделана хорошо
            — участие студентов в открытых проектах это хорошая реклама ВУЗу, о ВУЗе будут писать профильные СМИ, мол какие молодцы вместо искусственных лабораторных и курсовых улучшают свободный софт
            — для участия в свободных проектах не обязательны самые лучшие абитуриенты в мире, это не олимпиадные задачи, например в проекте Debian даже помечают баги специальным тегом если эти баги могут делать новички
            — работа с открытыми проектами это идеальный опыт реальной разработки, это командная работа над кодом с использованием самых современных технологий и практик, общение на английском. Выпускник участвовавший в открытых проектах это идеальный кандидат для трудоустройства в лучшие компании мира
            — компетенции в открытом софте будут всё более актуальны, он становится популярнее и распространяется, поэтому это задел на будущее, сама модель разработки с моей точки зрения выиграет, достаточно посмотреть на ядро Linux над которым работают огромные корпорации, которые по сути конкуренты, но в этом проекте сотрудничают и благодаря этому сильно экономят.
            — открытый софт также может стать значительно актуальнее при вступлении Беларуси в ВТО (а об этом регулярно идёт речь), там заправляет американский бизнес и поэтому выставляются строгие требования к защите интеллектуальной собственности, думаю все помнят публичные «казни» по этой теме в РФ когда они вступали в ВТО, например дело директора школы Поносова, потом проект школьный линукс и т.п. Не исключено, что нас ждёт то же самое, трудно прогнозировать будет ли нам хуже или лучше, но думаю РФ имела больше возможностей защищать себя, они всё-таки крупный и привлекательный рынок и не особо крупный производитель, нам может оказаться тяжелее, не исключено что придётся в авральном порядке всем госорганам переходить на свободный софт.

            Но видимо это оказалось слишком сложным для понимания, по сути они даже не нашли что ответить, но может кому-то идея пригодится.
              0
              Вы совершенно правы на счет того почему ВУЗ-у стоит участвовать в opensource. Но, как и в случае с чиновниками которые не хотят менять систему, для администрации непонятна личная выгода. Им нужно соответствовать KPI которые к ним предъявляются. Единственный вариант, это просто самостоятельно внедрять такую практику.
              0

              Жаль в общем, что обзор конференции прошел до публикации видео (неужели сложно было подождать неделю), но для тех, кто вдруг заглянет →


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

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