Category: образование

Category was added automatically. Read all entries about "образование".

Бритоголовый и С1-97

Причинно-следственные связи, уровень бог

Пишет некий чувак, в фейсбучном профиле которого написано “МГИМО финишед”, а на republic.ru он себя охарактеризовал, как “экономиста“:

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

(из комментариев отсюда: https://facebook.com/story.php?story_fbid=3039004469543912&id=100003031674720)

Господи, за что нам даны такие “экономисты из МГИМО”?

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Новости WorldSkills

При чтении новости офигеваю от звериной серьезности этого всего:

https://newizv.ru/news/society/05-09-2020/yunogo-chempiona-iz-moskvy-ne-puskayut-na-sorevnovaniya-iz-za-neprestizhnosti-shkoly

Что сука характерно – при некоторой фантазии организаторов обе версии легко совмещаются – вставить одним из критериев при дополнительном отборе “материально-техническое оснащение учебного заведения” – и готово. Оценивать, разумеется, должен директор ООО «ЦМИТ “Коптер”» (что за ООО, почему его директор – “главный региональный эксперт по компетенции” – догадайтесь сами). А вообще занятно, как из конкурса профессионального мастерства по рабочим специальностям (чем является WorldSkills в оригинале) наши инноваторы всех мастей вырастили источник фейспалмов.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

В продолжение темы про гомоморфизмы

Решил прикинуть на пальцах, сколько человек в России хотя бы раз слышали в своей жизни слово “гомоморфизм” – а то в одной дискуссии прозвучало утверждение, что все это очень сложно и на всю страну найдется хорошо если десяток человек, способных разобраться с современными системами дистанционного электронного голосования.

Методика довольно проста – возьмем “модельный регион” – например, Тверскую область. Высшее образование в Калинине в советские времена было представлено тремя, а потом – и четырьмя вариантами:

Ума нет – иди в пед,
Стыда нет – иди в мед,
А нет ни тех, ни тех –
Поступай в политех,
(и since 1971)
А всякий отброс
Идет в сельхоз

С переименованием Калинина в Тверь тамошние ВУЗы несколько прибавили в значимости – пединститут превратился в Тверской государственный университет, мед стал Тверским государственным медицинским университетом, а политех заделался Тверским государственным техническим университетом. На сайтах ТвГУ и ТвГТУ можно найти сведения о количестве студентов по каждой из специальностей:

https://www.tversu.ru/sveden/education/study/
http://www.tstu.tver.ru/sveden/education#pills-eduChislen

Пресловутый “гомоморфизм” наверняка услышат студенты-математики и физики из ТвГУ (специальности 01.03.01, 01.03.02, 03.03.02 и 03.03.03), и скорее всего – “информатики” (02.03.01 и 02.03.02). Их коллеги из ТвГТУ, обучающиеся на специальностях, связанных с информатикой (тут список более однородный: 09.03.01, 09.03.02, 09.03.03, 09.03.04) – наверное, тоже (во всяком случае, в учебных планах есть места, где было бы правильным впихнуть это). Чтобы никому не было обидно – предлагаю учитывать “информатиков” с коэффициентом 1/2. Складываем циферки, делим на 4 (это все бакалавриат, они учатся 4 года) – получаем, что ежегодно тверские вузы выпускают где-то около 150 человек, удовлетворяющих нашему критерию. В принципе, есть основания думать, что примерно такие же по порядку числа были и в советское время, только вместо “информатики” были какие-нибудь приматы, а набор в пед мог быть чуть больше.

Будем считать, что выпускник хорошего ВУЗа живет после этого долго и счастливо 50 лет – итого в Тверской области можно обнаружить 7500 человек, когда-то изучавших математику в нужном объеме. При населении в 1,26 миллиона человек – это целых полпроцента.

Примерно такой же расклад получится, наверное, и по другим субьектам федерации; сложности с подсчетом возникнут разве что в Москве, где вузов много, и если очевидные мехмат с физтехом учесть просто – то “приматов” из технических вузов посчитать, пожалуй, нереально (а программа у них может отличаться кардинально – скажем, вполне можно представить курс с упором в программирование и специфические численные методы, но с очень рудиментарной алгеброй). Пожалуй, можно сказать, что “слово “гомоморфизм” слышали в своей жизни от 0,5 до 1 процента населения России – разумеется, все уже давно всё забыли, но повод для сдержанного оптимизма найти тоже можно.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Кстати, опросик небольшой хочу замутить

Чуваки с высшим техническим и около того образованием – произносилось ли у вас где-то в вузовском курсе математики слово “гомоморфизм”? Или, может быть, был даже отдельный курс высшей алгебры, про всякие там группы, поля и прочие кольца? Если да – назовите вуз и специальность.

Лайк-шер-репост-ретвит, как обычно.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

А возьмут ли за такое в датасаенс?

Вот посмотрел я на такой график результатов сдачи тестов PISA в зависимости от трат на образование:

graph

И нарисовал свой, не менее высоконаучный:

hui-graph

Можно уже в датые сатанисты идти?

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Хотите еще крипоты про контекстную рекламу?

Ладно там ссылки на тайные телеграм-каналы! Вконтактик сегодня порадовал, аж шишка дымится.

Иногда вконтактик показывает мне в “вы можете их знать” одну из моих учительниц в 8 классе. Это логично – несколько общих “друзей”, почему бы не показать? Но сегодня умные алгоритмы зашли чуть дальше и подкинули мне ее фотосессию с легким ню – фотограф выложил, не указывая, разумеется, модель. Пацаны, если бы мне это показали в 8 классе… (хотя и сейчас очень даже ничего).

Впрочем, загадок тут гораздо меньше – современный facial recognition весьма и весьма продвинут, а совместить “вы можете их знать” и ню-фотосессию – вполне логичный шаг для вконтактика.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Второе поколение

Вот еще – хочу сознаться, что зря я гнобил TU D-stadt, и даже там на факультете информатики можно научиться чему-то полезному, если вам повезет, конечно. Дело в том, что вводный курс по информатике, с программированием на Java, читают два разных преподавателя – раньше в четные годы это был Prof. Dr. Johannes Furnkranz (ссылки на его курс можно найти у меня), сейчас курс на основе сделанного Furnkranz’ем читает более молодой преподаватель, Prof. Dr. Christian Reuter. А если повезет, и вы поступите на факультет информатики в нечетный год – то курс с формально тем же содержанием читает Prof. Dr. Karsten Weihe (в отличие от предыдущих, заслуживший страничку в немецкой википедии) – и это совершенно другое дело!

Нет, формально оба преподавателя читают примерно одно и то же – но возьмем тот же пример с определением, является ли строка палиндромом. Самостоятельная ценность у этой задачи близка к нулю – но она прекрасно демонстрирует, как писать нетривиальные циклы и обращаться к элементам массива по индексу (да еще и с возможностью “попасть” на off-by-one error). В лекциях и домашних заданиях курса господина Weihe прослеживается какое-то понимание того, зачем нужны все эти задания, и что за ними стоит на самом деле; если же посмотреть на “альтернативный” курс – то иногда возникает впечатление, что автор заданий, типа того же палиндрома, держал перед глазами список “типовых задач”, да так и не понял его.

Что же такое происходит, и чего нам ждать в будущем? У меня есть на этот счет довольно злобная теория – дело в том, что со сменой поколений в преподавании computer science исчезает и понимание сути материала. Вот возьмем какую-нибудь не менее “популярную” учебную задачку – не надоевшие всем палиндромы, а, скажем, структуры данных. Реализовывали ли вы стек на базе массива? А на базе списка? Пожалуй, если дочитали до этого места – для вас это не пустые слова. Предположим, реализацию стека на базе массива вы увидите и так (собственно, “стек вызовов” так и делается в большинстве более-менее адекватных систем) – но зачем делать это на базе списка? Да и вообще, откуда такая любовь к связным спискам, это же совершенно бестолковая и никому не нужная структура данных? Если вы засомневались – почему же списки никому не нужны? – постарайтесь вспомнить, когда они вам последний раз пригодились за исключением изучения информатики и программистских “технических” собеседований.

А ведь если подумать – то связные списки – это “естественный” для Lisp-подобных языков способ организации данных, да и аппаратная их поддержка – не так уж и сложна (примером чему служат всевозможные “Lisp-машины”). Ничто не мешает рассматривать их, как вполне равноправные с массивами (которые имитируют обычную память с линейной адресацией) “элементарные” структуры данных – и строить на их основе что-то более сложное. Но многие ли в “нашем поколении”, полностью захваченном обычными фон-неймановскими компьютерами, могут себе представить “альтернативные” варианты? Многие ли могут понять теоретическую важность других способов организации памяти, чем очевидный “массив из int8_t”? Да и рассуждать о способах построения алгоритмов – скажем, об “индуктивных функциях” или доказательстве правильности рекурсивных функций, имея под рукой такую структуру данных, как список, очень удобно (хотя никто не мешает делать это в “императивном” духе).

И возвращаясь к “смене поколений” – если “старики” еще понимают, чему соответствуют все эти нетривиальные штуки в курсе “информатики”, то новое поколение действует “по инерции”, понимая свою задачу скорее в “начетническом” ключе – если те же списки или палиндромы встречаются в курсе, то достаточно предъявить некоторое количество задач, где как-то фигурируют эти понятия (при этом совершенно теряя суть происходящего). Худший же вариант – рассказать о списках на примере встроенного в Java интерфейса List – встречается, на мой взгляд, пугающе часто.

PS Интересно, а бывают ли учебные курсы Java, где в качестве примеров разбираются реальные классы из JDK? Тот же java.lang.String – прекрасное наглядное пособие для изучения массивов, например :)

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Mathematics for Machine Learning

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

https://mml-book.github.io/

Где-то треть книги – изложение стандартного курса линейной алгебры, еще немного – многомерный анализ (всякие там якобианы и тому подобные штуки), основы теории вероятностей и методов оптимизации. Оставшаяся треть – описание “классических” подходов к машинному обучению, заканчивающееся описанием метода опорных векторов (SVM). Впечатление – довольно странное. Для начала, предполагается, что читатель владеет понятиями вроде “производная” и “интеграл”, а “вектор” для него – это пара чисел, а не отрезок со стрелочкой на конце. Как утверждается в предисловии, это примерно программа high school – но у нас ВУЗы школам в изучении этих вещей не доверяют (и правильно делают!), поэтому вузовский курс математики начинается с основ анализа.

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

Но говорить, что это книга для изучающих всякие там датасаенсы второкурсников – тоже не совсем правильно. По большому счету, это учебник по линейной алгебре – так как именно эта часть книги снабжена многочисленными заданиями для самостоятельного решения. Но там, где математика изучается на необходимом для чтения этой книги уровне, в первом и втором семестрах тоже читается курс линейной алгебры, при этом вполне полноценный! Единственное, что с моей точки зрения как-то объясняет существование книги – это желание переименовать скучную линейную алгебру в модную “математику для машинного обучения”.

Вердикт – под видом датасаенса нам подсовывают замшелую линейную алгебру, протухший товар второго сорта! Заклеймить авторов позором за полное непонимание “практик будущего”! (Это я тут прочитал фейсбучную запись проректора ДВФУ Земцова и пытаюсь несмешно шутить)

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Про учебники по C++

Прочитал недавно рецензию на учебник Столярова, где тот обозвали “плохой методичкой“. Ну да, я и сам согласен с тем, что оставлять студентов наедине с книгами Столярова нельзя – но при всех недостатках книжка по C++ (полностью вошедшая в четвертый том многотомника) более-менее подходит для того, чтобы понять основные принципы языка (всякие там rule of three, RAII и так далее). И кстати, не могу согласиться с тезисом о том, что автор не “сделал хоть что-нибудь положительно отличающее текст от бесконечного числа вузовских методичек, призванных помочь студенту сдать экзамен автору методички” – особенно когда перед этим в трех пунктах утверждается, что автор – ебанутый фанатик (в хорошем смысле). В конце концов, большая часть софта, которым мы все пользуемся, была сделана как раз ебанутыми.

А если говорить о dark side образования – ознакомился на днях с конспектом курса “С++ для математиков”, который в TU D-stadt читают Dr. Alf Gerisch и Dr. Adrien Semin. Курс представляет собой какую-то смесь из странным образом подобранных элементов C++ и взятых из численных методов примеров.

Из положительного хочется отметить разве что довольно подробную лекцию о IEEE 754 с некоторыми примерами правильных вычислений с плавающей запятой (например, с решением “плохих” квадратных уравнений). А вот отрицательного, к сожалению, гораздо больше. Во-первых – разбираемое в лекциях подмножество C++, как бы это сказать… совершенно недостаточно для нормальной продуктивной работы. Это такой поверхностный обзор в стиле введения в “Язык программирования C++” Страуструпа – вот у нас есть классы, вот как выглядит наследование и полиморфизм (множественное наследование не разбирается), вот есть шаблоны (делаем класс Polynom), вот библиотека STL (в ней есть класс vector).

Во-вторых – вот за такое можно поймать лектора в темной подворотне и отпиздить, желательно ногами по голове (классы все здесь по размеру маленькие, максимум два числа и ссылка на функцию):

int main(void)
{
    // list of two base class pointers
    numInt1D** integrator = new numInt1D*[2];
    // fill with two pointers to derived class objects
    integrator[0] = new numInt1D_rectangleLeft(0.0, 1.0, &f);
    integrator[1] = new numInt1D_trapezoidal(0.0, 1.0, &f);
    // output numerical integral approximations
    std::cout << "Integral approximation using rectangle rule = "
        << integrator[0]->integrate() << std::endl;
    std::cout << "Integral approximation using trapezoidal rule = "
        << integrator[1]->integrate() << std::endl;
    // clean up
    delete integrator[0]; delete integrator[1];
    delete [] integrator;
    return 0;
}

Вообще, не раз наблюдал вот такую ничем не объяснимую любовь к new в C++ у быстро переученных на него джавистов.

Есть, конечно, одно обоснованное возражение - а зачем студентам-математикам учить C++ в каком-то приближенном к реальной жизни объеме, тем более, что для численных методов этого достаточно? Вот возьмем для примера мехмат МГУ - который, в отличие от факультета математики провинциального немецкого ВУЗа, все-таки пытается готовить профессиональных математиков (а пошедшие в программисты выпускники для факультета - третий сорт, после преподавателей этой самой математики). Что входит в "Практикум на ЭВМ" на втором курсе? Отнюдь не только численные методы, но еще и "тонкости" вроде "Десять способов неправильного описания прототипов методов сложения (operator+) и "увеличить на" (operator+=) и единственный правильный способ", да и совершенно "практические" вещи типа библиотеки Qt стороной не обошли. В курсе есть достаточно мест, где можно наступить на стандартные C++-ные грабли и навсегда их запомнить (а нормальное обучение C++ и должно строиться на том, что все эти многочисленные "грабли" надо собрать в процессе обучения самостоятельно и больше их не забывать).

У немецких же товарищей - все наоборот, грабли старательно обходятся, и успешно сдавший экзамен студент знает C++ в том объеме, который позволит ему разве что наделать кучу опасных ошибок.

PS PDFку с лекциями очень просили не распространять, если будут какие-то вопросы - пишите.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).